-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Implement new Erlang shell #6144
Commits on Aug 29, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 3e4baae - Browse repository at this point
Copy the full SHA 3e4baaeView commit details -
erts: Fix writing to std handler when detached
When writing using erlang:display* when detached the write operation would return an error on windows. So we make sure that the handles are valid so that they can always be written to.
Configuration menu - View commit details
-
Copy full SHA for 0fc5475 - Browse repository at this point
Copy the full SHA 0fc5475View commit details -
Configuration menu - View commit details
-
Copy full SHA for e53f0ea - Browse repository at this point
Copy the full SHA e53f0eaView commit details -
kernel: Remove shell:whereis_evaluator
shell:whereis_evaluator was only used by the pman application but was not removed when that application was removed.
Configuration menu - View commit details
-
Copy full SHA for d289ca2 - Browse repository at this point
Copy the full SHA d289ca2View commit details -
stdlib: Fix ancestors for group and shell
This makes observer better at drawing the application tree
Configuration menu - View commit details
-
Copy full SHA for 516b3bf - Browse repository at this point
Copy the full SHA 516b3bfView commit details -
stdlib: Allow any Key/Value in io:setopts
The protocol replies enotsup for any unkown, so we can send unknown terms. This is useful when we want to be able to extend the options allowed to be sent.
Configuration menu - View commit details
-
Copy full SHA for 707c8aa - Browse repository at this point
Copy the full SHA 707c8aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for f586260 - Browse repository at this point
Copy the full SHA f586260View commit details -
Configuration menu - View commit details
-
Copy full SHA for e8849e6 - Browse repository at this point
Copy the full SHA e8849e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9fff925 - Browse repository at this point
Copy the full SHA 9fff925View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6209f14 - Browse repository at this point
Copy the full SHA 6209f14View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4042a96 - Browse repository at this point
Copy the full SHA 4042a96View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1da39b4 - Browse repository at this point
Copy the full SHA 1da39b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for bf4d035 - Browse repository at this point
Copy the full SHA bf4d035View commit details -
kernel: Make sure
user
is registered when start returnsIn order to avoid spinning in `user_sup` we start user during the synchronous phase of `user_drv` startup. See erlang#4895 for more details
Configuration menu - View commit details
-
Copy full SHA for c259e39 - Browse repository at this point
Copy the full SHA c259e39View commit details -
Configuration menu - View commit details
-
Copy full SHA for bcb7b0c - Browse repository at this point
Copy the full SHA bcb7b0cView commit details -
erts: Re-Implement shell using nif
This commit re-implements the entire tty driver for both Unix and Windows to use a common nif instead of two seperate drivers. The Unix implementation works pretty much as it did before only that a lot more of the terminal logic has been moved from Erlang to C. The windows implementation now uses Windows Terminal Sequences, i.e. the same sequences as most Unixes to control the terminal. This means that werl.exe is no longer needed and erl.exe will have the "newshell" with all the features normally only found on Unix. The new implementation also uses dirty I/O threads for all I/O which means that it can leave the FDs in blocking mode. This fixes problems when the Erlang tty is interacting with other systems such as bash. Closes erlang#3150 Closes erlang#3390 Closes erlang#4343
Configuration menu - View commit details
-
Copy full SHA for bd0865f - Browse repository at this point
Copy the full SHA bd0865fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7159bb8 - Browse repository at this point
Copy the full SHA 7159bb8View commit details -
kernel: Change -noshell and -noinput to use user_drv
We want as much of the I/O work as possible to go through the user_drv as it will use dirty I/O schedulers to schedule the work. Also this makes the unicode detection work even for -noshell/-noinput type systems. This commit also adds user_drv:start_shell/0 to allow the user to start the shell after the fact. For instance when rebar3 starts as en escript it may want to start a shell depending on what arguments are given to it.
Configuration menu - View commit details
-
Copy full SHA for 669ad5e - Browse repository at this point
Copy the full SHA 669ad5eView commit details -
kernel: Introduce terminal io:getopts option
This is useful to have when checking if the target of output is a terminal.
Configuration menu - View commit details
-
Copy full SHA for d342869 - Browse repository at this point
Copy the full SHA d342869View commit details -
Configuration menu - View commit details
-
Copy full SHA for d4d5eff - Browse repository at this point
Copy the full SHA d4d5effView commit details -
erts: Reset tty when child_setup exits
If the cleanup code in sys_tty_reset is never run it can leave the terminal in a broken state. The cleanup code is not executed if erts receives a SIGKILL or if Ctrl-C is pressed when +B is started. Closes erlang#3150
Configuration menu - View commit details
-
Copy full SHA for 5bb3884 - Browse repository at this point
Copy the full SHA 5bb3884View commit details -
Configuration menu - View commit details
-
Copy full SHA for e276c69 - Browse repository at this point
Copy the full SHA e276c69View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb47b4d - Browse repository at this point
Copy the full SHA cb47b4dView commit details
Commits on Aug 31, 2022
-
Configuration menu - View commit details
-
Copy full SHA for e8e632c - Browse repository at this point
Copy the full SHA e8e632cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 590aea1 - Browse repository at this point
Copy the full SHA 590aea1View commit details -
erts: Clear fallback flag when stopping select
Not clearing it triggered the assert below when stdin was deselected.
Configuration menu - View commit details
-
Copy full SHA for e413dc2 - Browse repository at this point
Copy the full SHA e413dc2View commit details -
Configuration menu - View commit details
-
Copy full SHA for e30cc88 - Browse repository at this point
Copy the full SHA e30cc88View commit details -
Configuration menu - View commit details
-
Copy full SHA for f306c48 - Browse repository at this point
Copy the full SHA f306c48View commit details -
Configuration menu - View commit details
-
Copy full SHA for 36ec67b - Browse repository at this point
Copy the full SHA 36ec67bView commit details -
Argument parsing by init is a bit naive. In the escript testcase "-noshell xxxx...." was interpreted as the "-noshell" flag being given the value "xxxx....". So to fix this, we push the "-boot file" argument last and thus "xxxxx" will be seen as a separate argument as it should.
Configuration menu - View commit details
-
Copy full SHA for 77835e0 - Browse repository at this point
Copy the full SHA 77835e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8895c48 - Browse repository at this point
Copy the full SHA 8895c48View commit details -
Configuration menu - View commit details
-
Copy full SHA for fbc7ff3 - Browse repository at this point
Copy the full SHA fbc7ff3View commit details -
erts: Fix so that prim_tty can be reloaded
This is needed for when prim_tty is cover compiled.
Configuration menu - View commit details
-
Copy full SHA for 75bfdc4 - Browse repository at this point
Copy the full SHA 75bfdc4View commit details -
kernel: Fix loading of prim_tty nif in embedded mode
When running in embedded mode the on_load function is called by the init process after the user processes are started. So we add a way for user to call the on_load function earlier in the boot sequence so that the shell can be started when it should. We cannot move the on_load calls for all modules to an earlier place in the kernel boot sequence as the code in on_load may depend on kernel services being started.
Configuration menu - View commit details
-
Copy full SHA for 945b37f - Browse repository at this point
Copy the full SHA 945b37fView commit details