From 08950b10770da8fc4c2d4b1c9316d0cbf95bada0 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Tue, 18 May 2021 12:35:58 -0700 Subject: [PATCH] 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 325599979479ae04ebac1d0556519f973058993e --- CHANGELOG.rst | 1 - src/fish.cpp | 3 --- tests/checks/jobs.fish | 5 ----- 3 files changed, 9 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index ac2d35e10..319f1d590 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -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`). diff --git a/src/fish.cpp b/src/fish.cpp index 57d7a42c9..4811f99b5 100644 --- a/src/fish.cpp +++ b/src/fish.cpp @@ -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) { diff --git a/tests/checks/jobs.fish b/tests/checks/jobs.fish index 7c97f3b94..2f2f7c017 100644 --- a/tests/checks/jobs.fish +++ b/tests/checks/jobs.fish @@ -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.