From ba0bfb9df77e338cde3fe6ebee1f6e3ddf2f429b Mon Sep 17 00:00:00 2001 From: Xiretza Date: Sat, 11 Feb 2023 12:44:31 +0100 Subject: [PATCH] functions: list caller-exit handlers correctly `functions --handlers-type caller-exit` did not list any functions, while `functions --handlers-type process-exit` listed both process-exit and caller-exit handlers: $ echo (function foo --on-job-exit caller; end; functions --handlers-type caller-exit | grep foo) $ echo (function foo --on-job-exit caller; end; functions --handlers-type process-exit | grep foo) caller-exit foo --- CHANGELOG.rst | 1 + src/event.cpp | 2 +- tests/checks/caller-exit.fish | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 tests/checks/caller-exit.fish diff --git a/CHANGELOG.rst b/CHANGELOG.rst index cd7cb514d..77ceb80a7 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -10,6 +10,7 @@ Notable improvements and fixes can now be used to clean out all old abbreviations (:issue:`9468`). - ``abbr --add --universal`` now warns about --universal being non-functional, to make it easier to detect old-style ``abbr`` calls (:issue:`9475`). +- ``functions --handlers-type caller-exit`` once again lists functions defined as ``function --on-job-exit caller``, rather than them being listed by ``functions --handlers-type process-exit``. Deprecations and removed features --------------------------------- diff --git a/src/event.cpp b/src/event.cpp index fe2669230..f0465a104 100644 --- a/src/event.cpp +++ b/src/event.cpp @@ -418,7 +418,7 @@ static bool filter_matches_event(const wcstring &filter, event_type_t type) { case event_type_t::job_exit: return filter == L"job-exit" || filter == L"exit"; case event_type_t::caller_exit: - return filter == L"process-exit" || filter == L"exit"; + return filter == L"caller-exit" || filter == L"exit"; case event_type_t::generic: return filter == L"generic"; } diff --git a/tests/checks/caller-exit.fish b/tests/checks/caller-exit.fish new file mode 100644 index 000000000..d145589bc --- /dev/null +++ b/tests/checks/caller-exit.fish @@ -0,0 +1,4 @@ +#RUN: %fish %s +echo (function foo1 --on-job-exit caller; end; functions --handlers-type caller-exit | grep foo) +# CHECK: caller-exit foo1 +echo (function foo2 --on-job-exit caller; end; functions --handlers-type process-exit | grep foo)