Revert "Bravely set job control to full at startup"

Now that `$last_pid` is never fish's pid, we no longer need to force
jobs to run in their own pgroup. Restore the job control behavior to
what it was prior, so that signals may be delivered properly in
non-interactive mode.

This reverts commit 3255999794
This commit is contained in:
ridiculousfish 2021-05-18 12:35:58 -07:00
parent 33f3c03dae
commit 08950b1077
3 changed files with 0 additions and 9 deletions

View file

@ -38,7 +38,6 @@ Interactive improvements
- Commands entered before the previous command finishes will now be properly syntax highlighted.
- fish now automatically creates ``config.fish`` and the configuration directories in ``$XDG_CONFIG_HOME/fish`` (by default ``~/.config/fish``) if they do not already exist (:issue:`7402`).
- ``__fish_prepend_sudo`` now toggles sudo even when it took the commandline from history instead of only adding it.
- fish now defaults job-control to "full" meaning it more sensibly handles assigning the terminal and process groups (:issue:`5036`, :issue:`5832`, :issue:`7721`)
- ``backward-kill-path-component`` :kbd:`Control-W`) no longer erases parts of two tokens when the cursor is positioned immediately after ``/``. (:issue:`6258`).
- ``$SHLVL`` is no longer incremented in non-interactive shells. This means it won't be set to values larger than 1 just because your environment happens to run some scripts in $SHELL in its startup path (:issue:`7864`).
- fish no longer rings the bell when flashing the command line. The flashing should already be enough notification and the bell can be annoying (:issue:`7875`).

View file

@ -497,9 +497,6 @@ int main(int argc, char **argv) {
misc_init();
reader_init();
// And now enable "job control" for everything.
set_job_control_mode(job_control_t::all);
parser_t &parser = parser_t::principal_parser();
if (!opts.no_exec && !opts.no_config) {

View file

@ -121,11 +121,6 @@ end
emit bar
#CHECK: foo
#CHECK: caller
# Since we are in a script context, this would not trigger "job control"
# if it was set to "interactive"
status is-full-job-control
and echo is full job control
#CHECK: is full job control
# We can't rely on a *specific* pgid being assigned,
# but we can rely on it not being fish's.