Code Monkey home page Code Monkey logo

Comments (13)

kovisoft avatar kovisoft commented on August 21, 2024

Hi,

I don't think the extension is wrong. According to this site, .scm files
are compiled to .com files (at least in mit-scheme):

http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-user/Compilation-Procedures.html

("... takes foo.scm' and generatesbar.com'...")

You can check it if you manually run scheme and execute (cf "herp.scm") in
your project directory. There should be a herp.com file generated.

I suggest that you enable swank logging in slimv by setting this variable
in your .vimrc:

let g:swank_log=1

And please repeat ,L.
There should be a logfile called swank.log generated in your working
directory. This file logs the communication between slimv and the swank
server. Please send me that logfile.

Thank you and best regards
/Tamas

On Mon, Mar 28, 2016 at 8:16 PM, Ursa americanus kermodei <
[email protected]> wrote:

Hey there -

I'm working through SICP and while I can happily eval forms, drop into
interactive eval, etc., if I try to load the entire file slimv seems to
tell my swank server to look for the wrong file extension. Right now I'm
working in a file helpfully named herp.scm, but when I do ,L I get the
following error:

because: File does not exist.
[file-operation-error]

Cheers!

This is an awesome project.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/kovisoft/slimv/issues/42

from slimv.

venantius avatar venantius commented on August 21, 2024

Tamas -

Thanks for the helpful links. I poked around the compiler options a bit and for whatever reason loading a file or compiling it does not generate a .com file; instead, it generates .bin, .o, .so, .bci, and .c files.

Attempting to do (cf "herp") at the REPL gets me the following output:

1 ]=> (cf "herp")

;Generating SCode for file: "herp.scm" => "herp.bin"... done
;Compiling file: "herp.bin" => "herp.c"...
;  clang -DHAVE_CONFIG_H -DMIT_SCHEME -I/usr/local/include -Wold-style-definition -Wextra -Wno-sign-compare -Wno-unused-parameter -Wstrict-prototypes -Wnested-externs -Wredundant-decls -Wall -Wundef -Wpointer-arith -Winline -O3   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -fconstant-cfstrings -DSIGNAL_HANDLERS_CAN_USE_SCHEME_STACK -frounding-math  -DENABLE_LIARC_FILE_INIT -I/usr/local/Cellar/mit-scheme/9.2_1/lib/mit-scheme-c/include -o /Users/ursa/Code/school/sicp/chapter-1/herp.o -c /Users/ursa/Code/school/sicp/chapter-1/herp.c
;  clang: warning: optimization flag '-frounding-math' is not supported
;  clang: warning: argument unused during compilation: '-frounding-math'
;  clang   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -fconstant-cfstrings -DSIGNAL_HANDLERS_CAN_USE_SCHEME_STACK -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -framework CoreFoundation  -bundle -bundle_loader /usr/local/Cellar/mit-scheme/9.2_1/bin/mit-scheme-c -o /Users/ursa/Code/school/sicp/chapter-1/herp.so /Users/ursa/Code/school/sicp/chapter-1/herp.o
;... done
;Unspecified return value

I turned on swank logging, and the log looks like the following:

[---Sent---] 0.177223
(:emacs-rex (swank:connection-info) nil t 1)

[-Received-] 0.17949
(:return (:ok (:pid 37391 :package (:name "(user)" :prompt "(user)") :lisp-implementation (:type "MIT Scheme" :version "9.2") :encoding (:coding-systems ("iso-8859-1")))) 1)
[Actionlist] 0.179724
1: finished :connection-info 
params: [':pid', '37391', ':package', [':name', '"(user)"', ':prompt', '"(user)"'], ':lisp-implementation', [':type', '"MIT Scheme"', ':version', '"9.2"'], ':encoding', [':coding-systems', ['"iso-8859-1"']]]
 Package:(user) Prompt:(user)
[---Sent---] 0.236871
(:emacs-rex (swank:swank-require '(swank-presentations swank-fancy-inspector swank-c-p-c swank-arglists)) nil t 2)

[-Received-] 0.237186
(:return (:ok ()) 2)
[Actionlist] 0.237388
2: finished :swank-require 
params: []
[---Sent---] 0.249379
(:emacs-rex (swank:swank-require 'swank-repl) nil t 3)

[-Received-] 0.249696
(:return (:ok ()) 3)
[Actionlist] 0.249845
3: finished :swank-require 
params: []
[---Sent---] 0.263298
(:emacs-rex (swank-repl:create-repl nil) "(user)" t 4)

[-Received-] 0.263704
(:return (:ok ("(user)" "(user)")) 4)
[Actionlist] 0.263912
4: finished :create-repl 
params: ['"(user)"', '"(user)"']
[---Sent---] 0.287443
(:emacs-rex (swank-repl:listener-eval "(define (square x)
 (* x x))
") "(user)" :repl-thread 5)

[-Received-] 0.288189
(:return (:ok (:values "square")) 5)
[Actionlist] 0.288342
5: finished :listener-eval 
params: [':values', '"square"']
[---Sent---] 0.365344
(:emacs-rex (swank:compile-file-for-emacs "/Users/ursa/Code/school/sicp/chapter-1/1.1.scm" t) nil t 6)

[-Received-] 0.366121
(:return (:ok (:compilation-result nil t 0. t "/Users/ursa/Code/school/sicp/chapter-1/1.1.com")) 6)
[Actionlist] 0.366448
6: finished :compile-file-for-emacs 
params: [':compilation-result', 'nil', 't', '0.', 't', '"/Users/ursa/Code/school/sicp/chapter-1/1.1.com"']
[---Sent---] 0.381035
(:emacs-rex (swank:load-file "/Users/ursa/Code/school/sicp/chapter-1/1.1.com") nil t 7)

[-Received-] 0.38168
(:debug 0 1 ("Unable to find file \"/Users/ursa/Code/school/sicp/chapter-1/1.1.com\" because: File does not exist." "  [file-operation-error]" ()) (("retry" "Try to find the same file again.") ("use-value" "Try to find a different file.") ("abort" "Return to SLIME top-level.") ("disconnect" "Close connection.") ("abort" "Return to read-eval-print level 1.")) ((0 ";undefined expression") (1 "(error:file-operation pathname \"find\" \"file\" \"file does not exist\" procedure (cons pathname arguments))") (2 "(thunk)") (3 "(let ((.load/loading?.4-0 #t) (.load/after-load-hooks.4-0 (quote ()))) (define (swap!) (set! load/loading? (set! .load/loading?.4-0 (set! load/loading?))) (set! load/after-load-hooks (set! .load/after-load-hooks.4-0 (set! load/after-load-hooks))) #!unspecific) (shallow-fluid-bind swap! (lambda () (let ((result (thunk))) (let ((#[uninterned-symbol 6 value-0] result) (#[uninterned-symbol 7 value-1] (reverse load/after-load-hooks))) (lambda (receiver) (receiver #[uninterned-symbol 6 value-0] #[uninterned-symbol 7 value-1]))))) swap!))") (4 "(load file (user-env *buffer-package*))") (5 "(eval (cons* (car sexp) socket (hack-quotes (cdr sexp))) swank-env)") (6 "(set! result (eval (cons* (car sexp) socket (hack-quotes (cdr sexp))) swank-env))") (7 "(with-simple-restart (quote abort) \"Return to SLIME top-level.\" (lambda () (let ((.*top-level-restart*.1-0 (find-restart (quote abort)))) (define (swap!) (set! *top-level-restart* (set! .*top-level-restart*.1-0 (set! *top-level-restart*))) unspecific) (shallow-fluid-bind swap! (lambda () (dispatch (read-packet socket) socket 0)) swap!))))") (8 "(swank 4005)") (9 ";Unknown (methodless) #[stack-frame 19]") (10 "(hook/repl-eval s-expression environment repl)") (11 "(repl-eval sexp environment)") (12 "(receiver port)") (13 "(let ((.*notification-depth*.1-0 (1+ *notification-depth*))) (define (swap!) (set! *notification-depth* (set! .*notification-depth*.1-0 (set! *notification-depth*))) #!unspecific) (shallow-fluid-bind swap! (lambda () (thunk)) swap!))") (14 "(thunk)") (15 "(let ((.load/loading?.4-0 #t) (.load/after-load-hooks.4-0 (quote ()))) (define (swap!) (set! load/loading? (set! .load/loading?.4-0 (set! load/loading?))) (set! load/after-load-hooks (set! .load/after-load-hooks.4-0 (set! load/after-load-hooks))) #!unspecific) (shallow-fluid-bind swap! (lambda () (let ((result (thunk))) (let ((#[uninterned-symbol 6 value-0] result) (#[uninterned-symbol 7 value-1] (reverse load/after-load-hooks))) (lambda (receiver) (receiver #[uninterned-symbol 6 value-0] #[uninterned-symbol 7 value-1]))))) swap!))") (16 "(if (queue-empty? queue) (let ((environment (%record-ref (cmdl/state repl) 2))) (%repl-eval/write (hook/repl-read environment repl) environment repl)) ((dequeue! queue) repl))") (17 "(bind-abort-restart cmdl (lambda () (deregister-all-events) (with-interrupt-mask interrupt-mask/all (lambda (interrupt-mask) (unblock-thread-events) (ignore-errors (lambda () ((->cmdl-message message) cmdl))) (call-with-current-continuation (lambda (continuation) (with-create-thread-continuation continuation (lambda () ((cmdl/driver cmdl) cmdl)))))))))")) ())
[-Received-] 0.40042
(:debug-activate 0 1)

from slimv.

kovisoft avatar kovisoft commented on August 21, 2024

Hi,

To be honest, I'm a little clueless. It seems that your scheme version
compiles .scm files into .c (I guess these are regular C files, they are
then further compiled into .o and I suppose finally into an executable).
But I cannot find anything about that behaviour in the MIT Scheme user's
manual. Is this a MacOS version of MIT Scheme? Do you have any user guide
specific to that version?

I think the swank server also assumes that the compiled file will be a .com
file, that's why it returns this in the compilation result:

(:return (:ok (:compilation-result nil t 0. t
"/Users/ursa/Code/school/sicp/chapter-1/1.1.com")) 6)

The swank server is not written by me, it's just embedded into slimv.
So one solution may be to find a more recent version of the swank server
(especially slime/contrib/swank-mit-scheme.scm) that correctly handles
scheme compilation options.

Another solution may be to do modify your swank server, so that it sends
the correct extension in the response.
Below is the related code in the MIT scheme swank server
(slime/contrib/swank-mit-scheme.scm).
Here you can see that it explicitly sets the file type to "com":

(define (swank:compile-file-for-emacs socket file load?)
(apply
(lambda (errors seconds)
(list ':compilation-result errors 't seconds load?
(->namestring (pathname-new-type file "com"))))
(call-compiler
(lambda () (with-output-to-repl socket (lambda () (compile-file file)))))))

So an easy hotfix may be that you replace "com" here with something else
extension that your scheme produces upon compilation.
The question is: what's this extension? Do you know that?

I suggest that you try this:

  • start your MIT scheme interpreter (outside of vim/slimv, just run MIT
    scheme from your OS)
  • compile a file, e.g. (cf "herp.scm")
  • check what other files are created in your working directory
  • check that you can load any of them, e.g. (load "herp.xxx")

On Wed, Mar 30, 2016 at 12:15 AM, Ursa americanus kermodei <
[email protected]> wrote:

Tamas -

Thanks for the helpful links. I poked around the compiler options a bit
and for whatever reason loading a file or compiling it does not generate a
.com file; instead, it generates .bin, .o, .so, .bci, and .c files.

Attempting to do (cf "herp") at the REPL gets me the following output:

1 ]=> (cf "herp")
;Generating SCode for file: "herp.scm" => "herp.bin"... done;Compiling file: "herp.bin" => "herp.c"...; clang -DHAVE_CONFIG_H -DMIT_SCHEME -I/usr/local/include -Wold-style-definition -Wextra -Wno-sign-compare -Wno-unused-parameter -Wstrict-prototypes -Wnested-externs -Wredundant-decls -Wall -Wundef -Wpointer-arith -Winline -O3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -fconstant-cfstrings -DSIGNAL_HANDLERS_CAN_USE_SCHEME_STACK -frounding-math -DENABLE_LIARC_FILE_INIT -I/usr/local/Cellar/mit-scheme/9.2_1/lib/mit-scheme-c/include -o /Users/ursa/Code/school/sicp/chapter-1/herp.o -c /Users/ursa/Code/school/sicp/chapter-1/herp.c; clang: warning: optimization flag '-frounding-math' is not supported; clang: warning: argument unused during compilation: '-frounding-math'; clang -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -fconstant-cfstrings -DSIGNAL_HANDLERS_CAN_USE_SCHEME_STACK -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -framework CoreFoundation -bundle -bundle_loader /usr/local/Cellar/mit-scheme/9.2_1/bin/mit-scheme-c -o /Users/ursa/Code/school/sicp/chapter-1/herp.so /Users/ursa/Code/school/sicp/chapter-1/herp.o;... done;Unspecified return value

I turned on swank logging, and the log looks like the following:

[---Sent---] 0.177223
(:emacs-rex (swank:connection-info) nil t 1)

[-Received-] 0.17949
(:return (:ok (:pid 37391 :package (:name "(user)" :prompt "(user)") :lisp-implementation (:type "MIT Scheme" :version "9.2") :encoding (:coding-systems ("iso-8859-1")))) 1)
[Actionlist] 0.1797241: finished :connection-info
params: [':pid', '37391', ':package', [':name', '"(user)"', ':prompt', '"(user)"'], ':lisp-implementation', [':type', '"MIT Scheme"', ':version', '"9.2"'], ':encoding', [':coding-systems', ['"iso-8859-1"']]]
Package:(user) Prompt:(user)
[---Sent---] 0.236871
(:emacs-rex (swank:swank-require '(swank-presentations swank-fancy-inspector swank-c-p-c swank-arglists)) nil t 2)

[-Received-] 0.237186
(:return (:ok ()) 2)
[Actionlist] 0.2373882: finished :swank-require
params: []
[---Sent---] 0.249379
(:emacs-rex (swank:swank-require 'swank-repl) nil t 3)

[-Received-] 0.249696
(:return (:ok ()) 3)
[Actionlist] 0.2498453: finished :swank-require
params: []
[---Sent---] 0.263298
(:emacs-rex (swank-repl:create-repl nil) "(user)" t 4)

[-Received-] 0.263704
(:return (:ok ("(user)" "(user)")) 4)
[Actionlist] 0.2639124: finished :create-repl
params: ['"(user)"', '"(user)"']
[---Sent---] 0.287443
(:emacs-rex (swank-repl:listener-eval "(define (square x) (* x x))") "(user)" :repl-thread 5)

[-Received-] 0.288189
(:return (:ok (:values "square")) 5)
[Actionlist] 0.2883425: finished :listener-eval
params: [':values', '"square"']
[---Sent---] 0.365344
(:emacs-rex (swank:compile-file-for-emacs "/Users/ursa/Code/school/sicp/chapter-1/1.1.scm" t) nil t 6)

[-Received-] 0.366121
(:return (:ok (:compilation-result nil t 0. t "/Users/ursa/Code/school/sicp/chapter-1/1.1.com")) 6)
[Actionlist] 0.3664486: finished :compile-file-for-emacs
params: [':compilation-result', 'nil', 't', '0.', 't', '"/Users/ursa/Code/school/sicp/chapter-1/1.1.com"']
[---Sent---] 0.381035
(:emacs-rex (swank:load-file "/Users/ursa/Code/school/sicp/chapter-1/1.1.com") nil t 7)

[-Received-] 0.38168
(:debug 0 1 ("Unable to find file "/Users/ursa/Code/school/sicp/chapter-1/1.1.com" because: File does not exist." " [file-operation-error]" ()) (("retry" "Try to find the same file again.") ("use-value" "Try to find a different file.") ("abort" "Return to SLIME top-level.") ("disconnect" "Close connection.") ("abort" "Return to read-eval-print level 1.")) ((0 ";undefined expression") (1 "(error:file-operation pathname "find" "file" "file does not exist" procedure (cons pathname arguments))") (2 "(thunk)") (3 "(let ((.load/loading?.4-0 #t) (.load/after-load-hooks.4-0 (quote ()))) (define (swap!) (set! load/loading? (set! .load/loading?.4-0 (set! load/loading?))) (set! load/after-load-hooks (set! .load/after-load-hooks.4-0 (set! load/after-load-hooks))) #!unspecific) (shallow-fluid-bind swap! (lambda () (let ((result (thunk))) (let ((#[uninterned-symbol 6 value-0] result) (#[uninterned-symbol 7 value-1](reverse load/after-load-hooks))) (lambda (receiver) (receiver #[uninterne
d-symbol 6 value-0] #[uninterned-symbol 7 value-1]))))) swap!))") (4 "(load file (user-env buffer-package))") (5 "(eval (cons* (car sexp) socket (hack-quotes (cdr sexp))) swank-env)") (6 "(set! result (eval (cons* (car sexp) socket (hack-quotes (cdr sexp))) swank-env))") (7 "(with-simple-restart (quote abort) "Return to SLIME top-level." (lambda () (let ((.top-level-restart.1-0 (find-restart (quote abort)))) (define (swap!) (set! top-level-restart (set! .top-level-restart.1-0 (set! top-level-restart))) unspecific) (shallow-fluid-bind swap! (lambda () (dispatch (read-packet socket) socket 0)) swap!))))") (8 "(swank 4005)") (9 ";Unknown (methodless) #[stack-frame 19]") (10 "(hook/repl-eval s-expression environment repl)") (11 "(repl-eval sexp environment)") (12 "(receiver port)") (13 "(let ((.notification-depth.1-0 (1+ notification-depth))) (define (swap!) (set! notification-depth (set! .notification-depth.1-0 (set! notification-depth))) #!unspecific) (shallow-fl
uid-bind swap! (lambda () (thunk)) swap!))") (14 "(thunk)") (15 "(let ((.load/loading?.4-0 #t) (.load/after-load-hooks.4-0 (quote ()))) (define (swap!) (set! load/loading? (set! .load/loading?.4-0 (set! load/loading?))) (set! load/after-load-hooks (set! .load/after-load-hooks.4-0 (set! load/after-load-hooks))) #!unspecific) (shallow-fluid-bind swap! (lambda () (let ((result (thunk))) (let ((#[uninterned-symbol 6 value-0] result) (#[uninterned-symbol 7 value-1](reverse load/after-load-hooks))) (lambda (receiver) (receiver #[uninterned-symbol 6 value-0] #[uninterned-symbol 7 value-1]))))) swap!))") (16 "(if (queue-empty? queue) (let ((environment (%record-ref (cmdl/state repl) 2))) (%repl-eval/write (hook/repl-read environment repl) environment repl)) ((dequeue! queue) repl))") (17 "(bind-abort-restart cmdl (lambda () (deregister-all-events) (with-interrupt-mask interrupt-mask/all (lambda (interrupt-mask) (unblock-thread-events) (ignore-errors (lambda () ((->cmdl-message message)
cmdl))) (call-with-current-continuation (lambda (continuation) (with-create-thread-continuation continuation (lambda () ((cmdl/driver cmdl) cmdl)))))))))")) ())
[-Received-] 0.40042
(:debug-activate 0 1)


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#42 (comment)

from slimv.

venantius avatar venantius commented on August 21, 2024

Both the .bin and the .so files can be loaded. I've tried this both at the MIT Scheme REPL and using slimv.

I suppose the next question is: what to do about it? The version of mit scheme I have installed is one that was built from source off of what's currently sitting in Homebrew.

I think one reasonable approach might be to change the com suffix with bin, which the compilation doc suggests is also created in the process of compiling com files (as well as .so files in my case). Thoughts?

from slimv.

venantius avatar venantius commented on August 21, 2024

There are other options like copying the swank-mit-scheme.scm file into typical linux/unix v. osx architectures, which I suspect may be at the root of this, but if using bin is platform agnostic then that would seem to be a harmless change in the meantime.

from slimv.

kovisoft avatar kovisoft commented on August 21, 2024

Okay, so if e.g. .bin files can be loaded then you could try to modify your
swank server, so that it loads .bin files instead of .com files.
(1) According to my previous mail, please try to change the below part of
slime/contrib/swank-mit-scheme.scm:
Replace "com" with "bin" (highlighted):

(define (swank:compile-file-for-emacs socket file load?)
(apply
(lambda (errors seconds)
(list ':compilation-result errors 't seconds load?
(->namestring (pathname-new-type file "bin"))))
(call-compiler
(lambda () (with-output-to-repl socket (lambda () (compile-file file)))))))

(2) Another approach may be to totally eliminate the extension, because as
far as I know the scheme load function automatically identifies the correct
extension. So if you just execute (load "herp"), then in theory it should
load the compiled file (if exists).
So you can try to replace (pathname-new-type ...) with (pathname-name ...)
in slime/contrib/swank-mit-scheme.scm:

(define (swank:compile-file-for-emacs socket file load?)
(apply
(lambda (errors seconds)
(list ':compilation-result errors 't seconds load?
(->namestring (pathname-name file))))
(call-compiler
(lambda () (with-output-to-repl socket (lambda () (compile-file file)))))))

On Sun, Apr 10, 2016 at 2:50 AM, Ursa americanus kermodei <
[email protected]> wrote:

Both the .bin and the .so files can be loaded. I've tried this both at
the MIT Scheme REPL and using slimv.

I suppose the next question is: what to do about it? The version of mit
scheme I have installed is one that was built from source off of what's
currently sitting in Homebrew.

I think one reasonable approach might be to change the com suffix with bin,
which the compilation doc suggests is also created in the process of
compiling com files (as well as .so files in my case). Thoughts?


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#42 (comment)

from slimv.

venantius avatar venantius commented on August 21, 2024

I've tried both of these and they both work (you actually don't even need pathname-name in swank-mit-scheme.scm, but we can leave it in for now). I think the latter is the better approach because, as you note, the scheme load function automatically identifies the correct extension anyways. Would you like me to open a PR for this?

from slimv.

kovisoft avatar kovisoft commented on August 21, 2024

Thank you for the tests. You don't need to open a PR, I can do the changes
in the swank server that is embedded in slimv.
But I think it would be nice if you could report this problem for the
maintainers of SLIME (this is where I took the swank server from).
I think the actual SLIME project can be found here:
https://github.com/slime/slime/

On Sun, Apr 10, 2016 at 8:37 PM, Ursa americanus kermodei <
[email protected]> wrote:

I've tried both of these and they both work (you actually don't even need
pathname-name in swank-mit-scheme.scm, but we can leave it in for now). I
think the latter is the better approach because, as you note, the scheme
load function automatically identifies the correct extension anyways. Would
you like me to open a PR for this?


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#42 (comment)

from slimv.

kovisoft avatar kovisoft commented on August 21, 2024

FYI: I modified swank-mit-scheme.scm according to our discussion.
Of course this affects only the swank server embedded in slimv and does not
affect the original SLIME project. I'm not even sure that this is the most
proper way of fixing the problem.

Cheers
/Tamas

On Sun, Apr 10, 2016 at 9:54 PM, Tamás Kovács [email protected] wrote:

Thank you for the tests. You don't need to open a PR, I can do the changes
in the swank server that is embedded in slimv.
But I think it would be nice if you could report this problem for the
maintainers of SLIME (this is where I took the swank server from).
I think the actual SLIME project can be found here:
https://github.com/slime/slime/

On Sun, Apr 10, 2016 at 8:37 PM, Ursa americanus kermodei <
[email protected]> wrote:

I've tried both of these and they both work (you actually don't even need
pathname-name in swank-mit-scheme.scm, but we can leave it in for now). I
think the latter is the better approach because, as you note, the scheme
load function automatically identifies the correct extension anyways. Would
you like me to open a PR for this?


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#42 (comment)

from slimv.

venantius avatar venantius commented on August 21, 2024

Awesome. I've opened a PR with SLIME to mirror these changes upstream and we'll see if they accept it: slime/slime#311

from slimv.

kovisoft avatar kovisoft commented on August 21, 2024

Great! But I think your PR with SLIME is not okay. You removed the "com" extension but did not change the function from pathname-new-type to pathname-name. Does it still work? I think pathname-new-type keeps the . at the end of the filename even if there is no extension.

from slimv.

venantius avatar venantius commented on August 21, 2024

Shoot, you're right. I'll have to fix that.

from slimv.

venantius avatar venantius commented on August 21, 2024

New PR opened to fix my mistakes D: slime/slime#312

from slimv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.