Your message dated Sun, 26 Mar 2023 21:28:40 +0200
with message-id <b370ef3f-fdbf-d199-bd0e-79674553b...@debian.org>
and subject line Re: Bug#1033464: unblock: fish/3.6.0-3
has caused the Debian Bug report #1033464,
regarding unblock: fish/3.6.0-3
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
1033464: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033464
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock
Please unblock package fish
Not yet uploaded. This package does not have a proper
autopkgtest, manual unblock needed.
[ Reason ]
I cherry picked two upstream fixes. One of them fixes
crash, while the other fixes undesired behavior.
https://github.com/fish-shell/fish-shell/commit/e84f588d11a86d38ff708d4c16aab1316ac09b6c
https://github.com/fish-shell/fish-shell/commit/37575c5f7983cb5338a1ba23541bbd86a4fd2a4e
And I also added the missing dependency on procps.
It absence leads to unwanted and unnecessary errors:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1029940
[ Impact ]
Fish is an interactive shell. These changes would fix unwanted
behavior of the shell.
[ Tests ]
The patches are cherry-picked from the upstream 3.6.1 release
and has been coverted by their CI. My default shell is fish and
it has been locally tested on both sid and the current stable.
[ Risks ]
The two patches are simple. Adding dependency on procps induces
zero risk.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
unblock fish/3.6.0-3
Thank you for using reportbug
diff -Nru fish-3.6.0/debian/changelog fish-3.6.0/debian/changelog
--- fish-3.6.0/debian/changelog 2023-02-17 20:05:29.000000000 -0500
+++ fish-3.6.0/debian/changelog 2023-03-25 10:20:50.000000000 -0400
@@ -1,3 +1,10 @@
+fish (3.6.0-3) unstable; urgency=medium
+
+ * Cherry-pick upstream fixes from the v3.6.1 branch.
+ * Add the missing Depends on procps (Closes: #1029940).
+
+ -- Mo Zhou <lu...@debian.org> Sat, 25 Mar 2023 10:20:50 -0400
+
fish (3.6.0-2) unstable; urgency=medium
* Ignore several flaky tests for armel.
diff -Nru fish-3.6.0/debian/control fish-3.6.0/debian/control
--- fish-3.6.0/debian/control 2023-01-07 11:28:46.000000000 -0500
+++ fish-3.6.0/debian/control 2023-03-25 10:19:55.000000000 -0400
@@ -26,6 +26,7 @@
bsdextrautils,
groff-base,
man-db,
+ procps,
python3,
${misc:Depends},
${shlibs:Depends}
diff -Nru fish-3.6.0/debian/patches/0001-reader-make-Escape-during-history-search-restore-com.patch fish-3.6.0/debian/patches/0001-reader-make-Escape-during-history-search-restore-com.patch
--- fish-3.6.0/debian/patches/0001-reader-make-Escape-during-history-search-restore-com.patch 1969-12-31 19:00:00.000000000 -0500
+++ fish-3.6.0/debian/patches/0001-reader-make-Escape-during-history-search-restore-com.patch 2023-03-25 10:18:29.000000000 -0400
@@ -0,0 +1,58 @@
+From: Johannes Altmanninger <aclo...@gmail.com>
+Date: Tue, 17 Jan 2023 09:14:54 +0100
+Subject: reader: make Escape during history search restore commandline again
+
+Commit 3b30d92b6 (Commit transient edit when closing pager, 2022-08-31)
+inadvertently introduced two regressions to history search:
+
+1. It made Escape keeps the selected history entry,
+ instead of restoring the commandline before history search.
+2. It made history search commands add undo entries.
+
+Fix both of this issues.
+---
+ src/reader.cpp | 3 ++-
+ tests/checks/tmux-history-search.fish | 12 ++++++++++++
+ 2 files changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/src/reader.cpp b/src/reader.cpp
+index c50426f..9fe2d7e 100644
+--- a/src/reader.cpp
++++ b/src/reader.cpp
+@@ -4477,7 +4477,8 @@ maybe_t<wcstring> reader_data_t::readline(int nchars_or_0) {
+
+ // Clear the pager if necessary.
+ bool focused_on_search_field = (active_edit_line() == &pager.search_field_line);
+- if (command_ends_paging(readline_cmd, focused_on_search_field)) {
++ if (!history_search.active() &&
++ command_ends_paging(readline_cmd, focused_on_search_field)) {
+ clear_pager();
+ }
+
+diff --git a/tests/checks/tmux-history-search.fish b/tests/checks/tmux-history-search.fish
+index 9dc1b4f..92bab0b 100644
+--- a/tests/checks/tmux-history-search.fish
++++ b/tests/checks/tmux-history-search.fish
+@@ -3,6 +3,9 @@
+ # disable on github actions because it's flakey
+ #REQUIRES: test -z "$CI"
+
++set -g isolated_tmux_fish_extra_args -C '
++ set -g fish_autosuggestion_enabled 0
++'
+ isolated-tmux-start
+
+ isolated-tmux send-keys 'true needle' Enter
+@@ -15,3 +18,12 @@ isolated-tmux send-keys C-p C-a M-f M-f M-f M-.
+ # CHECK: prompt 2> true hay needle hay
+ tmux-sleep
+ isolated-tmux capture-pane -p
++
++isolated-tmux send-keys C-e C-u true Up Up Escape
++tmux-sleep
++isolated-tmux capture-pane -p | grep 'prompt 2'
++# CHECK: prompt 2> true
++isolated-tmux send-keys C-z _
++tmux-sleep
++isolated-tmux capture-pane -p | grep 'prompt 2'
++# CHECK: prompt 2> _
diff -Nru fish-3.6.0/debian/patches/0002-reader-Remove-assert-in-history-search.patch fish-3.6.0/debian/patches/0002-reader-Remove-assert-in-history-search.patch
--- fish-3.6.0/debian/patches/0002-reader-Remove-assert-in-history-search.patch 1969-12-31 19:00:00.000000000 -0500
+++ fish-3.6.0/debian/patches/0002-reader-Remove-assert-in-history-search.patch 2023-03-25 10:18:29.000000000 -0400
@@ -0,0 +1,36 @@
+From: Fabian Boehm <fhomb...@gmail.com>
+Date: Thu, 2 Mar 2023 16:29:49 +0100
+Subject: reader: Remove assert in history search
+
+This isn't a great use of `assert` because it turns a benign "oh I
+need to search again" bug into a crash.
+
+Fixes #9628
+
+(cherry picked from commit 7c91d009c112ff8c68cb459b2807231bedf1fbaa)
+---
+ src/reader.cpp | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/src/reader.cpp b/src/reader.cpp
+index 9fe2d7e..2d04423 100644
+--- a/src/reader.cpp
++++ b/src/reader.cpp
+@@ -428,8 +428,15 @@ class reader_history_search_t {
+ const wcstring &needle = search_string();
+ if (mode_ == line || mode_ == prefix) {
+ size_t offset = find(text, needle);
+- assert(offset != wcstring::npos && "Should have found a match in the search result");
+- add_if_new({std::move(text), offset});
++ // FIXME: Previous versions asserted out if this wasn't true.
++ // This could be hit with a needle of "ö" and haystack of "echo Ö"
++ // I'm not sure why - this points to a bug in ifind (probably wrong locale?)
++ // However, because the user experience of having it crash is horrible,
++ // and the worst thing that can otherwise happen here is that a search is unsuccessful,
++ // we just check it instead.
++ if (offset != wcstring::npos) {
++ add_if_new({std::move(text), offset});
++ }
+ } else if (mode_ == token) {
+ tokenizer_t tok(text.c_str(), TOK_ACCEPT_UNFINISHED);
+
diff -Nru fish-3.6.0/debian/patches/series fish-3.6.0/debian/patches/series
--- fish-3.6.0/debian/patches/series 1969-12-31 19:00:00.000000000 -0500
+++ fish-3.6.0/debian/patches/series 2023-03-25 10:18:29.000000000 -0400
@@ -0,0 +1,2 @@
+0001-reader-make-Escape-during-history-search-restore-com.patch
+0002-reader-Remove-assert-in-history-search.patch
--- End Message ---
--- Begin Message ---
On 25-03-2023 15:39, M. Zhou wrote:
Please unblock package fish
Unblocked.
Thanks
OpenPGP_signature
Description: OpenPGP digital signature
--- End Message ---