-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
edit() fails on Windows if the editor path contains slashes #9331
Comments
what's your |
@wdobbie does it work if your path is escaped like: "c:\windows\system32\notepad.exe" ? My changes should not affect this behavior and I have not used this, but I could probably fix it, but I do not have time in the next week. |
Line 43 in 8d57d4c
|
@dhoegh I updated your escaped path to have quadruple forward slashes, because markdown uses \ to escape characters and with double \ you need to type four slashes in the source. |
@tkelman my versioninfo() is
@dhoegh It fails with both forward and back slashes. I would suggest a fix but I couldn't understand the intent behind shell_parse splitting on backslash characters. It seems the function is intended to split a command line string into tokens while taking into account quoted strings, but I don't understand why it treats backslash as a token separator. Example:
I'm new to Julia and haven't figured out how to modify files in Base and have Julia see the changes, but it seems this could be fixed by removing the following part of shell_parse (this would break whatever depends on backslash separating tokens):
Is there a way I can force Julia to reload the cached Base files? |
@wdobbie I'm guessing you're working from a nightly binary download, not a source build? The way to update files in base and have Julia see them is by deleting or renaming the file |
Should be fixed by #13032, but please reopen if it isn't. |
The problem seems to be that edit() calls shell_parse() in string.jl which splits the string at backslash characters. Using forward slashes as above doesn't work because realpath() is called on it first, which converts them to backslashes. Example:
The text was updated successfully, but these errors were encountered: