-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
REPL shell mode for Windows #31490
base: master
Are you sure you want to change the base?
REPL shell mode for Windows #31490
Conversation
REPL shell mode for Windows Documentation JULIA_SHELL environment variable Interacting with Julia docs - xref JULIA_SHELL Fix whitespace JULIA_SHELL doc Fix JULIA_SHELL cross-reference Address code review comments rebase fix
|
@musm, yes, but that depends on the program to interpret it correctly. Does Also, I thought that libuv already executes this escaping algorithm (unless you set |
Ah, it looks like the escaping you linked was specifically for |
Thanks for taking this over. (I'm somewhat out of my depth here). To clarify a few things from the previous PR, if I remember correctly: The (probably flawed) approach was to pass the raw input line as a The reason for the With this PR manipulating a
See comments here regarding If you remove the special code for (Also, in the previous PR, there was a change for when there are 2 or more arguments to |
The special handling of Calling |
We should also add |
Would be good if someone who actually uses Windows could work on this… |
At some point I did try to revive this PR, but I wasn't able to determine the exact shell-escaping rules et al. for powershell and cmd and which shell-escaping rules julia implements which halted progress. |
If you use |
For CMD why can't we then just do :
i.e. just join the It looks like it works locally. The only issue is interpolation clashing with environment variables. |
So general question: How do you handle string interpolation and the fact that powershell and cmd allow |
The user needs to escape such characters: shell> echo \$
$ |
Bump, is this done and/or forgotten? It's seemingly good simple code ready to merge. Or outdated then just close? I'm not on Windows to test... |
Updated and simplified version of #23703 and #21294.
On Windows, the
JULIA_SHELL
environment variable can becmd
,powershell
,busybux
, or""
, defaulting tocmd
, and REPL shell-mode commands are now passed through this shell.(Compared to the previous PR, I removed the changes to line parsing and the
cd
command.)I haven't tested this myself yet — just wanted to bring it back to a testable state. One thing I'm not sure of is the correct quoting of commands to pass to the shell — Windows escaping is a huge annoyance because of the lack of a proper
fork
.cc @GregPlowman