* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input @ 2024-07-03 21:25 Charles Choi 2024-07-04 6:58 ` Juri Linkov 0 siblings, 1 reply; 20+ messages in thread From: Charles Choi @ 2024-07-03 21:25 UTC (permalink / raw) To: 71927 # Description The commands ibuffer-do-isearch and ibuffer-do-isearch-regexp do not prompt for an input search string. # Environment Emacs 29.4 # Steps to Reproduce 1. Open several text files. 2. M-x ibuffer 3. Mark opened files in IBuffer window. 4. M-x ibuffer-do-isearch - (optionally) ibuffer-do-isearch-regexp # Expected Result A prompt for a search string is expected. # Actual Result No prompt is attempted. In GNU Emacs 29.4 (build 1, aarch64-apple-darwin23.2.0, Carbon Version 170 AppKit 2487.3) of 2024-06-23 built on sonomaa.local Repository revision: 7cc5e67629363d9e98f65e4e652f83bb4e0ee674 Repository branch: HEAD Windowing system distributor 'Apple Inc.', version 14.5.0 System Description: macOS 14.5 Configured using: 'configure --prefix=/opt/local --disable-silent-rules --with-mac --enable-mac-app=/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_aqua_emacs-mac-app/emacs-mac-app-devel/work/emacs-29.1-mac-10.0 --enable-mac-self-contained --without-dbus --without-gconf --without-libotf --without-m17n-flt --without-harfbuzz --without-imagemagick --without-rsvg --without-xaw3d --with-libgmp --with-gnutls --with-xml2 --with-json --with-lcms2 --with-modules --with-sqlite3 --with-webp --with-native-compilation=aot --with-tree-sitter 'CFLAGS=-pipe -Os -fobjc-arc -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64' 'CPPFLAGS=-I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk' 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath /opt/local/lib/gcc13 -Wl,-rpath /opt/local/lib -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64'' Configured features: ACL GMP GNUTLS JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE PDUMPER SQLITE3 THREADS TOOLKIT_SCROLL_BARS TREE_SITTER WEBP ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: dired-async-mode: t org-indent-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t global-diff-hl-mode: t diff-hl-mode: t repeat-mode: t async-bytecomp-package-mode: t buffer-face-mode: t org-superstar-mode: t global-git-commit-mode: t magit-auto-revert-mode: t shell-dirtrack-mode: t server-mode: t flyspell-mode: t company-mode: t electric-pair-mode: t recentf-mode: t yas-global-mode: t yas-minor-mode: t override-global-mode: t savehist-mode: t save-place-mode: t global-auto-revert-mode: t display-time-mode: t delete-selection-mode: t auto-insert-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mac-mouse-wheel-mode: t tool-bar-mode: t prettify-symbols-mode: t menu-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t column-number-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /opt/local/share/emacs/site-lisp/password-store hides /Users/cchoi/.config/emacs/elpa/password-store-20231201.954/password-store /Users/cchoi/emacs/cclisp/custom hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/custom /Users/cchoi/.config/emacs/elpa/transient-20240629.1508/transient hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/transient /Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-jump hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/use-package/use-package-jump /Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-ensure hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/use-package/use-package-ensure /Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-core hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/use-package/use-package-core /Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-delight hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/use-package/use-package-delight /Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-diminish hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/use-package/use-package-diminish /Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/use-package/use-package /Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-bind-key hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/use-package/use-package-bind-key /Users/cchoi/.config/emacs/elpa/bind-key-20230203.2004/bind-key hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/use-package/bind-key /Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-lint hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/use-package/use-package-lint /Users/cchoi/.config/emacs/elpa/eglot-20221020.1010/eglot hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/progmodes/eglot /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-exp hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-exp /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-emacs-lisp hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-emacs-lisp /Users/cchoi/.config/emacs/elpa/org-9.7.6/oc hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/oc /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-css hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-css /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-lob hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-lob /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-irc hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-irc /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-forth hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-forth /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-macs hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-macs /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-version hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-version /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-scheme hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-scheme /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-C hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-C /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-capture hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-capture /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-ref hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-ref /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-clojure hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-clojure /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-mouse hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-mouse /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-persist hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-persist /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-ctags hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-ctags /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-entities hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-entities /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-archive hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-archive /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-screen hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-screen /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-bibtex hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-bibtex /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-haskell hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-haskell /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-loaddefs hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-loaddefs /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-table hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-table /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-eww hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-eww /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-man hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-man /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-org hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-org /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-num hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-num /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-plot hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-plot /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-rmail hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-rmail /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-awk hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-awk /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-groovy hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-groovy /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-octave hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-octave /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-faces hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-faces /Users/cchoi/.config/emacs/elpa/org-9.7.6/oc-biblatex hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/oc-biblatex /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-colview hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-colview /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-R hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-R /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-refile hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-refile /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-timer hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-timer /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-mobile hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-mobile /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-fortran hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-fortran /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-shell hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-shell /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-perl hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-perl /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-sqlite hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-sqlite /Users/cchoi/.config/emacs/elpa/org-9.7.6/oc-basic hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/oc-basic /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-sed hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-sed /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-list hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-list /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-ruby hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-ruby /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-eval hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-eval /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-habit hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-habit /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-clock hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-clock /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-goto hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-goto /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-html hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-html /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-src hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-src /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-lisp hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-lisp /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-eshell hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-eshell /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-ditaa hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-ditaa /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-pcomplete hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-pcomplete /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-lint hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-lint /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-latex hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-latex /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-sass hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-sass /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-tangle hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-tangle /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-calc hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-calc /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-java hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-java /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-icalendar hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-icalendar /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-mhe hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-mhe /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-attach-git hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-attach-git /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-md hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-md /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-beamer hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-beamer /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-element hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-element /Users/cchoi/.config/emacs/elpa/org-9.7.6/oc-natbib hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/oc-natbib /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-protocol hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-protocol /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-gnuplot hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-gnuplot /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-tempo hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-tempo /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-latex hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-latex /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-w3m hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-w3m /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-id hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-id /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-man hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-man /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-doi hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-doi /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-feed hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-feed /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-fold-core hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-fold-core /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-julia hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-julia /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-lua hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-lua /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-table hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-table /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-ocaml hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-ocaml /Users/cchoi/.config/emacs/elpa/org-9.7.6/oc-csl hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/oc-csl /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-gnus hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-gnus /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-indent hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-indent /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-lilypond hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-lilypond /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-matlab hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-matlab /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-datetree hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-datetree /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-docview hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-docview /Users/cchoi/.config/emacs/elpa/org-9.7.6/oc-bibtex hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/oc-bibtex /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-python hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-python /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-makefile hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-makefile /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-duration hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-duration /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-agenda hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-agenda /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-dot hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-dot /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-js hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-js /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-publish hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-publish /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-inlinetask hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-inlinetask /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-org hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-org /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-keys hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-keys /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-core hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-core /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-compat hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-compat /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-odt hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-odt /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-info hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-info /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-plantuml hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-plantuml /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-eshell hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-eshell /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-ascii hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-ascii /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-koma-letter hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-koma-letter /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-maxima hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-maxima /Users/cchoi/.config/emacs/elpa/org-9.7.6/org hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org /Users/cchoi/.config/emacs/elpa/org-9.7.6/ol-bbdb hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ol-bbdb /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-macro hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-macro /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-fold hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-fold /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-sql hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-sql /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-attach hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-attach /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-cycle hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-cycle /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-processing hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-processing /Users/cchoi/.config/emacs/elpa/org-9.7.6/ox-texinfo hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ox-texinfo /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-crypt hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-crypt /Users/cchoi/.config/emacs/elpa/org-9.7.6/org-footnote hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/org-footnote /Users/cchoi/.config/emacs/elpa/org-9.7.6/ob-comint hides /Applications/MacPorts/EmacsMac.app/Contents/Resources/lisp/org/ob-comint Features: (shadow sort mail-extr emacsbug hippie-exp misearch multi-isearch let-alist ffap loaddefs-gen tar-mode arc-mode archive-mode mm-archive network-stream url-cache url-http url-auth url-gw nsm dired-async dired-aux org-goto company-org-block tabify elfeed-link scroll-lock help-fns radix-tree cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew cal-iso mule-util vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc-git org-indent org-clock image-file image-converter oc-basic ol-eww eww mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader range ol-docview doc-view ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi jka-compr company-oddmuse company-keywords company-etags etags fileloop company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb casual-isearch cc-symbol-overlay cc-re-builder re-builder cc-calc-mode casual-calc casual-calc-symbolic casual-calc-variables casual-calc-algebra calcalg3 casual-calc-financial casual-calc-stack calc-undo calc-yank casual-calc-trail casual-calc-graphics casual-calc-fileio calc-vec casual-calc-vector casual-calc-predicates casual-calc-units casual-calc-trigonometric casual-calc-time casual-calc-settings casual-calc-angle-measure casual-calc-rounding casual-calc-random calc-comb casual-calc-logarithmic casual-calc-conversion casual-calc-complex casual-calc-binary casual-calc-radix casual-calc-labels casual-calc-version casual-calc--calc casual-calc-utils calc-math calc-mode calc-ext cc-package-menu-mode cc-digital-logic cc-agenda-timeline holidays holiday-loaddefs kill-with-intelligence cc-grep-mode cc-menu-reconfig cc-truth-table transpose-frame cc-magit-mode cc-global-keybindings casual-avy casual-avy-version treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator pulse treemacs-faces treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils pfuture treemacs-logging treemacs-customization treemacs-macros osx-dictionary neotree cc-view-mode cc-cmds cc-engine cc-vars cc-defs view cc-swift-mode cc-python-mode cc-diff-hl-mode diff-hl log-view vc-dir ewoc vc vc-dispatcher cc-context-menu cc-wgrep-mode cc-edit-text-menu cc-find-menu cc-insert-org-plot cc-region-operations-menu cc-style-text-menu cc-transform-text-menu cc-context-menu-macros cc-occur-mode cc-ediff-mode cc-info-mode cc-doc-mode-ux casual-info casual-info-settings casual-info-utils casual-info-variables casual-info-version man shortdoc cc-repeat-mode repeat cc-google-translate google-translate-smooth-ui google-translate google-translate-default-ui google-translate-core-ui popup ido google-translate-core google-translate-backend cc-elfeed-mode elfeed-show elfeed-search shr pixel-fill kinsoku svg elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib url-queue url-file xml-query xml cc-eshell-mode helm-eshell helm-elisp helm-files tramp tramp-loaddefs trampver tramp-integration tramp-compat parse-time iso8601 helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-eval helm-info helm-utils helm-types helm-help helm helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source helm-multi-match helm-lib async eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util files-x cc-tetris-mode tetris gamegrid cc-js-mode cc-dired-mode casual-dired casual-dired-settings casual-dired-version casual-dired-sort-by casual-dired-utils casual-dired-variables elint checkdoc lisp-mnt image-dired image-dired-tags image-dired-external image-dired-util image-mode exif wdired dired-x cc-bookmarks-bmenu-mode cc-sgml-mode cc-nxml-mode nxml-mode-expansions rng-nxml rng-valid nxml-mode nxml-outln nxml-rap html-mode-expansions sgml-mode facemenu dom cc-objc-mode cc-markdown-mode markdown-mode edit-indirect cc-org-mode ob-swift ob-plantuml ob-restclient restclient advice ob-sqlite ob-sql ob-shell ob-python python-el-fgallina-expansions python ob-dot ob-swiftui swift-mode swift-mode-imenu swift-mode-repl swift-mode-font-lock swift-mode-standard-types swift-mode-fill swift-mode-beginning-of-defun swift-mode-indent swift-mode-lexer cc-org-smart-quotes ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-md ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox face-remap org-superstar doct cc-text-mode cc-emacs-lisp-mode edebug debug backtrace flycheck paredit cc-prog-mode cc-main-tmenu symbol-overlay google-this magit-bookmark magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode diff diff-mode git-commit log-edit message sendmail yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor shell server magit-mode benchmark magit-git magit-base magit-section cursor-sensor org-ql-search f flyspell ispell gud display-fill-column-indicator display-line-numbers rainbow-mode cc-save-hooks company elec-pair make-mode cc-diary-mode diary-lib diary-loaddefs cc-ibuffer-mode casual-ibuffer casual-ibuffer-settings casual-ibuffer-version casual-ibuffer-filter ibuf-ext casual-ibuffer-utils casual-lib casual-lib-version hl-line ibuffer ibuffer-loaddefs cclisp comp comp-cstr warnings which-func imenu ace-window avy calc calc-loaddefs rect calc-macs org-ql-view ov org-super-agenda ht org-ql peg ts s dash org-habit org-duration crm org-agenda org-capture the-org-mode-expansions org-element org-persist org-id org-refile org-element-ast inline avl-tree generator org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie treesit executable ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities time-date noutline outline icons ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-compat org-version org-macs spotlight counsel xdg xref project dired dired-loaddefs swiper ivy ivy-faces ivy-overlay colir color bookmark pp transient format-spec edmacro kmacro compat ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util recentf tree-widget wid-edit yasnippet-snippets cl-extra yasnippet help-mode wgrep grep compile text-property-search comint ansi-osc ansi-color ring expand-region text-mode-expansions er-basic-expansions thingatpt expand-region-core expand-region-custom use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core savehist saveplace autorevert filenotify time delsel autoinsert cus-load finder-inf auto-complete-autoloads citar-autoloads company-autoloads csv-mode-autoloads diff-hl-autoloads doct-autoloads ebib-autoloads edit-indirect-autoloads elfeed-autoloads expand-region-autoloads flycheck-package-autoloads flycheck-autoloads go-mode-autoloads helm-bibtex-autoloads helm-swoop-autoloads helm-autoloads helm-core-autoloads async-autoloads iedit-autoloads js2-mode-autoloads json-mode-autoloads rx keycast-autoloads ledger-mode-autoloads magit-autoloads pcase git-commit-autoloads magit-section-autoloads markdown-mode-autoloads ob-restclient-autoloads ob-swiftui-autoloads org-ql-autoloads org-re-reveal-autoloads org-ref-autoloads citeproc-autoloads bibtex-completion-autoloads org-super-agenda-autoloads orgtbl-aggregate-autoloads osx-dictionary-autoloads ox-pandoc-autoloads ox-gfm-autoloads org-autoloads package-lint-autoloads paredit-autoloads password-store-autoloads peg-autoloads popup-autoloads python-mode-autoloads restclient-autoloads reveal-in-folder-autoloads f-autoloads scpaste-autoloads htmlize-autoloads snow-autoloads solarized-theme-autoloads counsel-autoloads sr-speedbar-autoloads swift-mode-autoloads swiper-autoloads ivy-autoloads symbol-overlay-autoloads transient-autoloads treemacs-autoloads posframe-autoloads ts-autoloads dash-autoloads wfnames-autoloads which-key-autoloads with-editor-autoloads info compat-autoloads yaml-mode-autoloads yasnippet-snippets-autoloads yasnippet-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/mac-win mac-win term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads kqueue mac lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 4023469 439500) (symbols 48 79861 11) (strings 32 549702 63540) (string-bytes 1 21085143) (vectors 16 194003) (vector-slots 8 3917214 212634) (floats 8 1654 1283) (intervals 56 244907 8468) (buffers 984 248)) ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-03 21:25 bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input Charles Choi @ 2024-07-04 6:58 ` Juri Linkov 2024-07-04 7:55 ` Eli Zaretskii 0 siblings, 1 reply; 20+ messages in thread From: Juri Linkov @ 2024-07-04 6:58 UTC (permalink / raw) To: Charles Choi; +Cc: 71927 > The commands ibuffer-do-isearch and ibuffer-do-isearch-regexp > do not prompt for an input search string. They should not prompt because Isearch is interactive. But the problem is that they exit Isearch immediately. I tried to Edebug ibuffer-do-isearch, but this is not possible. So we need someone who knows ibuffer internals. ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 6:58 ` Juri Linkov @ 2024-07-04 7:55 ` Eli Zaretskii 2024-07-04 7:12 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 20+ messages in thread From: Eli Zaretskii @ 2024-07-04 7:55 UTC (permalink / raw) To: Juri Linkov, John Paul Wallington, Basil L. Contovounesios Cc: kickingvegas, 71927 > Cc: 71927@debbugs.gnu.org > From: Juri Linkov <juri@linkov.net> > Date: Thu, 04 Jul 2024 09:58:18 +0300 > > > The commands ibuffer-do-isearch and ibuffer-do-isearch-regexp > > do not prompt for an input search string. > > They should not prompt because Isearch is interactive. > But the problem is that they exit Isearch immediately. > I tried to Edebug ibuffer-do-isearch, but this is > not possible. So did I, with the same results. I also see that this didn't work at least as far back as Emacs 25, maybe never. The function ibuffer-do-isearch was added by you, and was never changed before. I guess it somehow violates the protocol of define-ibuffer-op or something? Admittedly, that protocol is not described too well in the doc string. I have a question: ibuffer-do-isearch just calls multi-isearch-buffers. Does multi-isearch-buffers exit immediately, or does it exit only when the multi-isearch is done? If the former, I guess this is why the problem happens. > So we need someone who knows ibuffer internals. I've added two people who might be able to help. ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 7:55 ` Eli Zaretskii @ 2024-07-04 7:12 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 9:59 ` Eli Zaretskii 0 siblings, 1 reply; 20+ messages in thread From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 7:12 UTC (permalink / raw) To: Eli Zaretskii Cc: kickingvegas, 71927, Basil L. Contovounesios, John Paul Wallington, Juri Linkov Eli Zaretskii <eliz@gnu.org> writes: >> Cc: 71927@debbugs.gnu.org >> From: Juri Linkov <juri@linkov.net> >> Date: Thu, 04 Jul 2024 09:58:18 +0300 >> >> > The commands ibuffer-do-isearch and ibuffer-do-isearch-regexp >> > do not prompt for an input search string. >> >> They should not prompt because Isearch is interactive. >> But the problem is that they exit Isearch immediately. >> I tried to Edebug ibuffer-do-isearch, but this is >> not possible. > > So did I, with the same results. > > I also see that this didn't work at least as far back as Emacs 25, > maybe never. > > The function ibuffer-do-isearch was added by you, and was never > changed before. I guess it somehow violates the protocol of > define-ibuffer-op or something? Admittedly, that protocol is not > described too well in the doc string. > > I have a question: ibuffer-do-isearch just calls > multi-isearch-buffers. Does multi-isearch-buffers exit immediately, > or does it exit only when the multi-isearch is done? If the former, I > guess this is why the problem happens. > >> So we need someone who knows ibuffer internals. > > I've added two people who might be able to help. FWIW, AFAICT everything is working correctly, it's just that the "Operation finished" message hides the prompt. ibuffer-do-isearch should tell define-ibuffer-op not to display that message, somehow. Best, Eshel ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 7:12 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 9:59 ` Eli Zaretskii 2024-07-04 10:06 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 20+ messages in thread From: Eli Zaretskii @ 2024-07-04 9:59 UTC (permalink / raw) To: Eshel Yaron; +Cc: kickingvegas, 71927, basil, jpw, juri > From: Eshel Yaron <me@eshelyaron.com> > Cc: Juri Linkov <juri@linkov.net>, John Paul Wallington <jpw@gnu.org>, > Basil L. Contovounesios <basil@contovou.net>, kickingvegas@gmail.com, > 71927@debbugs.gnu.org > Date: Thu, 04 Jul 2024 09:12:10 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > > I have a question: ibuffer-do-isearch just calls > > multi-isearch-buffers. Does multi-isearch-buffers exit immediately, > > or does it exit only when the multi-isearch is done? If the former, I > > guess this is why the problem happens. > > > >> So we need someone who knows ibuffer internals. > > > > I've added two people who might be able to help. > > FWIW, AFAICT everything is working correctly, it's just that the > "Operation finished" message hides the prompt. ibuffer-do-isearch > should tell define-ibuffer-op not to display that message, somehow. I don't see how this could be considered "correct": the "Operation finished" message is supposed to be shown only after the Isearch is finished in all the marked buffer, not before. It looks like we need a function that will not return until all the buffers where searched, because that's what define-ibuffer-op expects. Don't you agree? ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 9:59 ` Eli Zaretskii @ 2024-07-04 10:06 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 12:50 ` Eli Zaretskii 2024-07-04 16:04 ` Juri Linkov 0 siblings, 2 replies; 20+ messages in thread From: Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 10:06 UTC (permalink / raw) To: Eli Zaretskii; +Cc: jpw, juri, Eshel Yaron, basil, 71927, kickingvegas [-- Attachment #1: Type: text/plain, Size: 1421 bytes --] On Thu, 04 Jul 2024 12:59:24 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Eshel Yaron <me@eshelyaron.com> >> Cc: Juri Linkov <juri@linkov.net>, John Paul Wallington <jpw@gnu.org>, >> Basil L. Contovounesios <basil@contovou.net>, kickingvegas@gmail.com, >> 71927@debbugs.gnu.org >> Date: Thu, 04 Jul 2024 09:12:10 +0200 >> >> Eli Zaretskii <eliz@gnu.org> writes: >> >> > I have a question: ibuffer-do-isearch just calls >> > multi-isearch-buffers. Does multi-isearch-buffers exit immediately, >> > or does it exit only when the multi-isearch is done? If the former, I >> > guess this is why the problem happens. >> > >> >> So we need someone who knows ibuffer internals. >> > >> > I've added two people who might be able to help. >> >> FWIW, AFAICT everything is working correctly, it's just that the >> "Operation finished" message hides the prompt. ibuffer-do-isearch >> should tell define-ibuffer-op not to display that message, somehow. > > I don't see how this could be considered "correct": the "Operation > finished" message is supposed to be shown only after the Isearch is > finished in all the marked buffer, not before. It looks like we need > a function that will not return until all the buffers where searched, > because that's what define-ibuffer-op expects. Don't you agree? The attached patch appears to DTRT, but I only tested it briefly. Steve Berman [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: ibuffer patch for bug#71927 --] [-- Type: text/x-patch, Size: 2146 bytes --] diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 95ff014aa5b..9ad033b5fdb 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -598,7 +598,7 @@ revert (define-ibuffer-op ibuffer-do-isearch () "Perform a `isearch-forward' in marked buffers." (:interactive () - :opstring "searched in" + :no-opstring t :complex t :modifier-p :maybe) (multi-isearch-buffers (ibuffer-get-marked-buffers))) @@ -607,7 +607,7 @@ ibuffer-do-isearch (define-ibuffer-op ibuffer-do-isearch-regexp () "Perform a `isearch-forward-regexp' in marked buffers." (:interactive () - :opstring "searched regexp in" + :no-opstring t :complex t :modifier-p :maybe) (multi-isearch-buffers-regexp (ibuffer-get-marked-buffers))) diff --git a/lisp/ibuf-macs.el b/lisp/ibuf-macs.el index 1fd94967836..ace1972054f 100644 --- a/lisp/ibuf-macs.el +++ b/lisp/ibuf-macs.el @@ -166,6 +166,7 @@ define-ibuffer-op mark modifier-p dangerous + no-opstring (opstring "operated on") (active-opstring "Operate on") before @@ -196,6 +197,8 @@ define-ibuffer-op OPSTRING is a string which will be displayed to the user after the operation is complete, in the form: \"Operation complete; OPSTRING x buffers\" +NO-OPSTRING is a boolean which should be set to suppress the message +after the operation is complete. ACTIVE-OPSTRING is a string which will be displayed to the user in a confirmation message, in the form: \"Really ACTIVE-OPSTRING x buffers?\" @@ -246,9 +249,10 @@ define-ibuffer-op ()) (and after `(,after)) ; post-operation form. `((ibuffer-redisplay t) - (message ,(concat "Operation finished; " opstring - " %s %s") - count (ngettext "buffer" "buffers" count))))) + (unless ,no-opstring + (message ,(concat "Operation finished; " opstring + " %s %s") + count (ngettext "buffer" "buffers" count)))))) (inner-body (if complex `(progn ,@body) `(progn ^ permalink raw reply related [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 10:06 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 12:50 ` Eli Zaretskii 2024-07-04 13:32 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 16:04 ` Juri Linkov 1 sibling, 1 reply; 20+ messages in thread From: Eli Zaretskii @ 2024-07-04 12:50 UTC (permalink / raw) To: Stephen Berman; +Cc: jpw, juri, me, basil, 71927, kickingvegas > From: Stephen Berman <stephen.berman@gmx.net> > Cc: Eshel Yaron <me@eshelyaron.com>, kickingvegas@gmail.com, > 71927@debbugs.gnu.org, basil@contovou.net, jpw@gnu.org, > juri@linkov.net > Date: Thu, 04 Jul 2024 12:06:40 +0200 > > >> FWIW, AFAICT everything is working correctly, it's just that the > >> "Operation finished" message hides the prompt. ibuffer-do-isearch > >> should tell define-ibuffer-op not to display that message, somehow. > > > > I don't see how this could be considered "correct": the "Operation > > finished" message is supposed to be shown only after the Isearch is > > finished in all the marked buffer, not before. It looks like we need > > a function that will not return until all the buffers where searched, > > because that's what define-ibuffer-op expects. Don't you agree? > > The attached patch appears to DTRT, but I only tested it briefly. Thanks, but does it really make sense to change define-ibuffer-op to fix the functions which (evidently) use it incorrectly? I think the fix needs to be in the same place where the bug is. ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 12:50 ` Eli Zaretskii @ 2024-07-04 13:32 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 14:12 ` Eli Zaretskii 0 siblings, 1 reply; 20+ messages in thread From: Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 13:32 UTC (permalink / raw) To: Eli Zaretskii; +Cc: jpw, juri, me, basil, 71927, kickingvegas On Thu, 04 Jul 2024 15:50:56 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Stephen Berman <stephen.berman@gmx.net> >> Cc: Eshel Yaron <me@eshelyaron.com>, kickingvegas@gmail.com, >> 71927@debbugs.gnu.org, basil@contovou.net, jpw@gnu.org, >> juri@linkov.net >> Date: Thu, 04 Jul 2024 12:06:40 +0200 >> >> >> FWIW, AFAICT everything is working correctly, it's just that the >> >> "Operation finished" message hides the prompt. ibuffer-do-isearch >> >> should tell define-ibuffer-op not to display that message, somehow. >> > >> > I don't see how this could be considered "correct": the "Operation >> > finished" message is supposed to be shown only after the Isearch is >> > finished in all the marked buffer, not before. It looks like we need >> > a function that will not return until all the buffers where searched, >> > because that's what define-ibuffer-op expects. Don't you agree? >> >> The attached patch appears to DTRT, but I only tested it briefly. > > Thanks, but does it really make sense to change define-ibuffer-op to > fix the functions which (evidently) use it incorrectly? I think the > fix needs to be in the same place where the bug is. That's what I thought, too, but I don't see a way to do that, because define-ibuffer-op hard-codes displaying a message at the end of the body. But in this case that message seems superfluous, in addition to hiding the isearch prompt, because when isearch goes through the marked buffers, it then displays its own message that the operation is complete. So this looks like a case when define-ibuffer-op is currently too rigid. However, I acknowledge that I don't really grok the interaction with isearch, i.e., why the "Operation finished" message is shown although isearch hasn't even begun. But AFAICS suppressing the message as in the patch does allow isearch to proceed and complete as usual. Steve Berman ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 13:32 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 14:12 ` Eli Zaretskii 2024-07-04 15:09 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 20+ messages in thread From: Eli Zaretskii @ 2024-07-04 14:12 UTC (permalink / raw) To: Stephen Berman; +Cc: jpw, juri, me, basil, 71927, kickingvegas > From: Stephen Berman <stephen.berman@gmx.net> > Cc: me@eshelyaron.com, kickingvegas@gmail.com, 71927@debbugs.gnu.org, > basil@contovou.net, jpw@gnu.org, juri@linkov.net > Date: Thu, 04 Jul 2024 15:32:05 +0200 > > On Thu, 04 Jul 2024 15:50:56 +0300 Eli Zaretskii <eliz@gnu.org> wrote: > > >> From: Stephen Berman <stephen.berman@gmx.net> > >> Cc: Eshel Yaron <me@eshelyaron.com>, kickingvegas@gmail.com, > >> 71927@debbugs.gnu.org, basil@contovou.net, jpw@gnu.org, > >> juri@linkov.net > >> Date: Thu, 04 Jul 2024 12:06:40 +0200 > >> > >> >> FWIW, AFAICT everything is working correctly, it's just that the > >> >> "Operation finished" message hides the prompt. ibuffer-do-isearch > >> >> should tell define-ibuffer-op not to display that message, somehow. > >> > > >> > I don't see how this could be considered "correct": the "Operation > >> > finished" message is supposed to be shown only after the Isearch is > >> > finished in all the marked buffer, not before. It looks like we need > >> > a function that will not return until all the buffers where searched, > >> > because that's what define-ibuffer-op expects. Don't you agree? > >> > >> The attached patch appears to DTRT, but I only tested it briefly. > > > > Thanks, but does it really make sense to change define-ibuffer-op to > > fix the functions which (evidently) use it incorrectly? I think the > > fix needs to be in the same place where the bug is. > > That's what I thought, too, but I don't see a way to do that, because > define-ibuffer-op hard-codes displaying a message at the end of the > body. But in this case that message seems superfluous, in addition to > hiding the isearch prompt, because when isearch goes through the marked > buffers, it then displays its own message that the operation is > complete. So this looks like a case when define-ibuffer-op is currently > too rigid. Then maybe these two commands should be defined using defun, not define-ibuffer-op? There's nothing forcing us to define each ibuffer command via define-ibuffer-op, is it? > However, I acknowledge that I don't really grok the interaction with > isearch, i.e., why the "Operation finished" message is shown > although isearch hasn't even begun. Juri will know for sure, but AFAIU all the commands that invoke Isearch just enter a special mode (including the conditions/commands to exit Isearch). IOW, when isearch-forward returns, the search did not yet begin; instead, Emacs is in a special mode where typing characters adds them to search string and triggers another round of search. ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 14:12 ` Eli Zaretskii @ 2024-07-04 15:09 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 0 replies; 20+ messages in thread From: Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 15:09 UTC (permalink / raw) To: Eli Zaretskii; +Cc: jpw, juri, me, basil, 71927, kickingvegas On Thu, 04 Jul 2024 17:12:43 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Stephen Berman <stephen.berman@gmx.net> >> Cc: me@eshelyaron.com, kickingvegas@gmail.com, 71927@debbugs.gnu.org, >> basil@contovou.net, jpw@gnu.org, juri@linkov.net >> Date: Thu, 04 Jul 2024 15:32:05 +0200 >> >> On Thu, 04 Jul 2024 15:50:56 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> >> >> From: Stephen Berman <stephen.berman@gmx.net> >> >> Cc: Eshel Yaron <me@eshelyaron.com>, kickingvegas@gmail.com, >> >> 71927@debbugs.gnu.org, basil@contovou.net, jpw@gnu.org, >> >> juri@linkov.net >> >> Date: Thu, 04 Jul 2024 12:06:40 +0200 >> >> >> >> >> FWIW, AFAICT everything is working correctly, it's just that the >> >> >> "Operation finished" message hides the prompt. ibuffer-do-isearch >> >> >> should tell define-ibuffer-op not to display that message, somehow. >> >> > >> >> > I don't see how this could be considered "correct": the "Operation >> >> > finished" message is supposed to be shown only after the Isearch is >> >> > finished in all the marked buffer, not before. It looks like we need >> >> > a function that will not return until all the buffers where searched, >> >> > because that's what define-ibuffer-op expects. Don't you agree? >> >> >> >> The attached patch appears to DTRT, but I only tested it briefly. >> > >> > Thanks, but does it really make sense to change define-ibuffer-op to >> > fix the functions which (evidently) use it incorrectly? I think the >> > fix needs to be in the same place where the bug is. >> >> That's what I thought, too, but I don't see a way to do that, because >> define-ibuffer-op hard-codes displaying a message at the end of the >> body. But in this case that message seems superfluous, in addition to >> hiding the isearch prompt, because when isearch goes through the marked >> buffers, it then displays its own message that the operation is >> complete. So this looks like a case when define-ibuffer-op is currently >> too rigid. > > Then maybe these two commands should be defined using defun, not > define-ibuffer-op? There's nothing forcing us to define each ibuffer > command via define-ibuffer-op, is it? No, but doing that does seem rather like admitting that define-ibuffer-op in its current form isn't up to the job in this case, which is basically what my patch addressed. But of course that doesn't mean it's the best fix. >> However, I acknowledge that I don't really grok the interaction with >> isearch, i.e., why the "Operation finished" message is shown >> although isearch hasn't even begun. > > Juri will know for sure, but AFAIU all the commands that invoke > Isearch just enter a special mode (including the conditions/commands > to exit Isearch). IOW, when isearch-forward returns, the search did > not yet begin; instead, Emacs is in a special mode where typing > characters adds them to search string and triggers another round of > search. But if isearch-forward returning is what makes ibuffer-do-isearch (via define-ibuffer-op) emit the "Operation finished" message, then it seems like the only alternatives to suppressing that message are either to somehow postpone isearch-forward's returning or to use some other mechanism to initiate the actual search. Maybe one of those is possible for someone to implement who understands isearch better than I do. Steve Berman ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 10:06 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 12:50 ` Eli Zaretskii @ 2024-07-04 16:04 ` Juri Linkov 2024-07-04 17:36 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 1 sibling, 1 reply; 20+ messages in thread From: Juri Linkov @ 2024-07-04 16:04 UTC (permalink / raw) To: Stephen Berman Cc: jpw, Eshel Yaron, basil, 71927, Eli Zaretskii, kickingvegas >>> FWIW, AFAICT everything is working correctly, it's just that the >>> "Operation finished" message hides the prompt. ibuffer-do-isearch >>> should tell define-ibuffer-op not to display that message, somehow. >> >> I don't see how this could be considered "correct": the "Operation >> finished" message is supposed to be shown only after the Isearch is >> finished in all the marked buffer, not before. It looks like we need >> a function that will not return until all the buffers where searched, >> because that's what define-ibuffer-op expects. Don't you agree? It intentionally uses 'no-recursive-edit' set to t, so ibuffer-do-isearch correctly exits immediately while leaving isearch-mode enabled. > The attached patch appears to DTRT, but I only tested it briefly. > ... > (define-ibuffer-op ibuffer-do-isearch () > "Perform a `isearch-forward' in marked buffers." > (:interactive () > - :opstring "searched in" > + :no-opstring t Thanks for the patch. I confirm this is the right thing to do. Maybe instead of :no-opstring would be better to use some special value like :opstring 'no? But I'm not sure if this is better than :no-opstring. ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 16:04 ` Juri Linkov @ 2024-07-04 17:36 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 18:07 ` Eli Zaretskii 0 siblings, 1 reply; 20+ messages in thread From: Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 17:36 UTC (permalink / raw) To: Juri Linkov; +Cc: jpw, Eshel Yaron, basil, 71927, Eli Zaretskii, kickingvegas On Thu, 04 Jul 2024 19:04:42 +0300 Juri Linkov <juri@linkov.net> wrote: >>>> FWIW, AFAICT everything is working correctly, it's just that the >>>> "Operation finished" message hides the prompt. ibuffer-do-isearch >>>> should tell define-ibuffer-op not to display that message, somehow. >>> >>> I don't see how this could be considered "correct": the "Operation >>> finished" message is supposed to be shown only after the Isearch is >>> finished in all the marked buffer, not before. It looks like we need >>> a function that will not return until all the buffers where searched, >>> because that's what define-ibuffer-op expects. Don't you agree? > > It intentionally uses 'no-recursive-edit' set to t, so ibuffer-do-isearch > correctly exits immediately while leaving isearch-mode enabled. > >> The attached patch appears to DTRT, but I only tested it briefly. >> ... >> (define-ibuffer-op ibuffer-do-isearch () >> "Perform a `isearch-forward' in marked buffers." >> (:interactive () >> - :opstring "searched in" >> + :no-opstring t > > Thanks for the patch. I confirm this is the right thing to do. > Maybe instead of :no-opstring would be better to use some special value > like :opstring 'no? But I'm not sure if this is better than :no-opstring. Suppressing the message when :opstring has the value 'no is fine with me. If Eli is willing to accept this approach, I can go ahead and commit it (to master, presumably, since this is a longstanding issue). Steve Berman ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 17:36 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 18:07 ` Eli Zaretskii 2024-07-04 18:29 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 20+ messages in thread From: Eli Zaretskii @ 2024-07-04 18:07 UTC (permalink / raw) To: Stephen Berman; +Cc: jpw, juri, me, basil, 71927, kickingvegas > From: Stephen Berman <stephen.berman@gmx.net> > Cc: Eli Zaretskii <eliz@gnu.org>, Eshel Yaron <me@eshelyaron.com>, > kickingvegas@gmail.com, 71927@debbugs.gnu.org, basil@contovou.net, > jpw@gnu.org > Date: Thu, 04 Jul 2024 19:36:34 +0200 > > On Thu, 04 Jul 2024 19:04:42 +0300 Juri Linkov <juri@linkov.net> wrote: > > >>>> FWIW, AFAICT everything is working correctly, it's just that the > >>>> "Operation finished" message hides the prompt. ibuffer-do-isearch > >>>> should tell define-ibuffer-op not to display that message, somehow. > >>> > >>> I don't see how this could be considered "correct": the "Operation > >>> finished" message is supposed to be shown only after the Isearch is > >>> finished in all the marked buffer, not before. It looks like we need > >>> a function that will not return until all the buffers where searched, > >>> because that's what define-ibuffer-op expects. Don't you agree? > > > > It intentionally uses 'no-recursive-edit' set to t, so ibuffer-do-isearch > > correctly exits immediately while leaving isearch-mode enabled. > > > >> The attached patch appears to DTRT, but I only tested it briefly. > >> ... > >> (define-ibuffer-op ibuffer-do-isearch () > >> "Perform a `isearch-forward' in marked buffers." > >> (:interactive () > >> - :opstring "searched in" > >> + :no-opstring t > > > > Thanks for the patch. I confirm this is the right thing to do. > > Maybe instead of :no-opstring would be better to use some special value > > like :opstring 'no? But I'm not sure if this is better than :no-opstring. > > Suppressing the message when :opstring has the value 'no is fine with > me. If Eli is willing to accept this approach, I can go ahead and > commit it (to master, presumably, since this is a longstanding issue). I already said this didn't sound the right solution here, and I explained why. I'd be interested in hearing counter-arguments, if there are any. ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 18:07 ` Eli Zaretskii @ 2024-07-04 18:29 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 18:46 ` Eli Zaretskii 0 siblings, 1 reply; 20+ messages in thread From: Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 18:29 UTC (permalink / raw) To: Eli Zaretskii; +Cc: jpw, juri, me, basil, 71927, kickingvegas On Thu, 04 Jul 2024 21:07:36 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> From: Stephen Berman <stephen.berman@gmx.net> >> Cc: Eli Zaretskii <eliz@gnu.org>, Eshel Yaron <me@eshelyaron.com>, >> kickingvegas@gmail.com, 71927@debbugs.gnu.org, basil@contovou.net, >> jpw@gnu.org >> Date: Thu, 04 Jul 2024 19:36:34 +0200 >> >> On Thu, 04 Jul 2024 19:04:42 +0300 Juri Linkov <juri@linkov.net> wrote: >> >> >>>> FWIW, AFAICT everything is working correctly, it's just that the >> >>>> "Operation finished" message hides the prompt. ibuffer-do-isearch >> >>>> should tell define-ibuffer-op not to display that message, somehow. >> >>> >> >>> I don't see how this could be considered "correct": the "Operation >> >>> finished" message is supposed to be shown only after the Isearch is >> >>> finished in all the marked buffer, not before. It looks like we need >> >>> a function that will not return until all the buffers where searched, >> >>> because that's what define-ibuffer-op expects. Don't you agree? >> > >> > It intentionally uses 'no-recursive-edit' set to t, so ibuffer-do-isearch >> > correctly exits immediately while leaving isearch-mode enabled. >> > >> >> The attached patch appears to DTRT, but I only tested it briefly. >> >> ... >> >> (define-ibuffer-op ibuffer-do-isearch () >> >> "Perform a `isearch-forward' in marked buffers." >> >> (:interactive () >> >> - :opstring "searched in" >> >> + :no-opstring t >> > >> > Thanks for the patch. I confirm this is the right thing to do. >> > Maybe instead of :no-opstring would be better to use some special value >> > like :opstring 'no? But I'm not sure if this is better than :no-opstring. >> >> Suppressing the message when :opstring has the value 'no is fine with >> me. If Eli is willing to accept this approach, I can go ahead and >> commit it (to master, presumably, since this is a longstanding issue). > > I already said this didn't sound the right solution here, and I > explained why. I'd be interested in hearing counter-arguments, if > there are any. I gave a mild counterargument upthread, that making ibuffer-do-isearch{-regexp} defuns independent of define-ibuffer-op seems like accepting the inadequacy of the latter instead of trying to improve it. Also, I am not familiar enough with the ibuffer code to be confident that I could implement I could implement the functionality without using this macro, but someone else might be in a better position to do that. Steve Berman ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 18:29 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-04 18:46 ` Eli Zaretskii 2024-07-06 21:13 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 20+ messages in thread From: Eli Zaretskii @ 2024-07-04 18:46 UTC (permalink / raw) To: Stephen Berman; +Cc: basil, 71927, me, kickingvegas, juri > From: Stephen Berman <stephen.berman@gmx.net> > Cc: juri@linkov.net, me@eshelyaron.com, kickingvegas@gmail.com, > 71927@debbugs.gnu.org, basil@contovou.net, jpw@gnu.org > Date: Thu, 04 Jul 2024 20:29:05 +0200 > > On Thu, 04 Jul 2024 21:07:36 +0300 Eli Zaretskii <eliz@gnu.org> wrote: > > >> From: Stephen Berman <stephen.berman@gmx.net> > >> Cc: Eli Zaretskii <eliz@gnu.org>, Eshel Yaron <me@eshelyaron.com>, > >> kickingvegas@gmail.com, 71927@debbugs.gnu.org, basil@contovou.net, > >> jpw@gnu.org > >> Date: Thu, 04 Jul 2024 19:36:34 +0200 > >> > >> On Thu, 04 Jul 2024 19:04:42 +0300 Juri Linkov <juri@linkov.net> wrote: > >> > >> >>>> FWIW, AFAICT everything is working correctly, it's just that the > >> >>>> "Operation finished" message hides the prompt. ibuffer-do-isearch > >> >>>> should tell define-ibuffer-op not to display that message, somehow. > >> >>> > >> >>> I don't see how this could be considered "correct": the "Operation > >> >>> finished" message is supposed to be shown only after the Isearch is > >> >>> finished in all the marked buffer, not before. It looks like we need > >> >>> a function that will not return until all the buffers where searched, > >> >>> because that's what define-ibuffer-op expects. Don't you agree? > >> > > >> > It intentionally uses 'no-recursive-edit' set to t, so ibuffer-do-isearch > >> > correctly exits immediately while leaving isearch-mode enabled. > >> > > >> >> The attached patch appears to DTRT, but I only tested it briefly. > >> >> ... > >> >> (define-ibuffer-op ibuffer-do-isearch () > >> >> "Perform a `isearch-forward' in marked buffers." > >> >> (:interactive () > >> >> - :opstring "searched in" > >> >> + :no-opstring t > >> > > >> > Thanks for the patch. I confirm this is the right thing to do. > >> > Maybe instead of :no-opstring would be better to use some special value > >> > like :opstring 'no? But I'm not sure if this is better than :no-opstring. > >> > >> Suppressing the message when :opstring has the value 'no is fine with > >> me. If Eli is willing to accept this approach, I can go ahead and > >> commit it (to master, presumably, since this is a longstanding issue). > > > > I already said this didn't sound the right solution here, and I > > explained why. I'd be interested in hearing counter-arguments, if > > there are any. > > I gave a mild counterargument upthread, that making > ibuffer-do-isearch{-regexp} defuns independent of define-ibuffer-op > seems like accepting the inadequacy of the latter instead of trying to > improve it. It is indeed inadequate for commands that just put Emacs in a special state and return, as opposed to commands that don't return before they did the complete job of operating on the marked buffers. > Also, I am not familiar enough with the ibuffer code to be > confident that I could implement I could implement the functionality > without using this macro, but someone else might be in a better position > to do that. Fair enough. ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-04 18:46 ` Eli Zaretskii @ 2024-07-06 21:13 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-07 16:59 ` Juri Linkov 2024-07-12 7:03 ` Eli Zaretskii 0 siblings, 2 replies; 20+ messages in thread From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-06 21:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: basil, Stephen Berman, 71927, kickingvegas, juri Eli Zaretskii <eliz@gnu.org> writes: >> From: Stephen Berman <stephen.berman@gmx.net> >> >> On Thu, 04 Jul 2024 21:07:36 +0300 Eli Zaretskii <eliz@gnu.org> wrote: >> >> >> From: Stephen Berman <stephen.berman@gmx.net> >> >> Cc: Eli Zaretskii <eliz@gnu.org>, Eshel Yaron <me@eshelyaron.com>, >> >> kickingvegas@gmail.com, 71927@debbugs.gnu.org, basil@contovou.net, >> >> jpw@gnu.org >> >> Date: Thu, 04 Jul 2024 19:36:34 +0200 >> >> >> >> On Thu, 04 Jul 2024 19:04:42 +0300 Juri Linkov <juri@linkov.net> wrote: >> >> >> >> >>>> FWIW, AFAICT everything is working correctly, it's just that the >> >> >>>> "Operation finished" message hides the prompt. ibuffer-do-isearch >> >> >>>> should tell define-ibuffer-op not to display that message, somehow. >> >> >>> >> >> >>> I don't see how this could be considered "correct": the "Operation >> >> >>> finished" message is supposed to be shown only after the Isearch is >> >> >>> finished in all the marked buffer, not before. It looks like we need >> >> >>> a function that will not return until all the buffers where searched, >> >> >>> because that's what define-ibuffer-op expects. Don't you agree? >> >> > >> >> > It intentionally uses 'no-recursive-edit' set to t, so ibuffer-do-isearch >> >> > correctly exits immediately while leaving isearch-mode enabled. >> >> > >> >> >> The attached patch appears to DTRT, but I only tested it briefly. >> >> >> ... >> >> >> (define-ibuffer-op ibuffer-do-isearch () >> >> >> "Perform a `isearch-forward' in marked buffers." >> >> >> (:interactive () >> >> >> - :opstring "searched in" >> >> >> + :no-opstring t >> >> > >> >> > Thanks for the patch. I confirm this is the right thing to do. >> >> > Maybe instead of :no-opstring would be better to use some special value >> >> > like :opstring 'no? But I'm not sure if this is better than :no-opstring. >> >> >> >> Suppressing the message when :opstring has the value 'no is fine with >> >> me. If Eli is willing to accept this approach, I can go ahead and >> >> commit it (to master, presumably, since this is a longstanding issue). >> > >> > I already said this didn't sound the right solution here, and I >> > explained why. I'd be interested in hearing counter-arguments, if >> > there are any. >> >> I gave a mild counterargument upthread, that making >> ibuffer-do-isearch{-regexp} defuns independent of define-ibuffer-op >> seems like accepting the inadequacy of the latter instead of trying to >> improve it. > > It is indeed inadequate for commands that just put Emacs in a special > state and return, as opposed to commands that don't return before they > did the complete job of operating on the marked buffers. Actually, there's another problem with the way ibuffer-do-isearch is currently defined via define-ibuffer-op: the BODY of the definition is a call to multi-isearch-buffers, but the BODY is called for each marked buffer, not once for all of them, so this command currently calls multi-isearch-buffers repeatedly when there are multiple marked buffers. This causes multi-isearch-setup to be called while multi-buffer Isearch is already in progress, which unfortunately breaks regular Isearch for the rest of the session. To see this effect, invoke ibuffer-do-isearch with two or more marked buffers, quit or finish the search (e.g. type C-g), and then try regular Isearch with C-s and repeat C-s until wrapping around. But instead of wrapping around as expected, Emacs displays an error: Symbol’s function definition is void: nil A simple solution is to use plain defun for these commands, as follows: diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 95ff014aa5b..33b68b96ff2 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -594,22 +594,16 @@ revert :modifier-p :maybe) (revert-buffer t t)) -;;;###autoload (autoload 'ibuffer-do-isearch "ibuf-ext") -(define-ibuffer-op ibuffer-do-isearch () +;;;###autoload +(defun ibuffer-do-isearch () "Perform a `isearch-forward' in marked buffers." - (:interactive () - :opstring "searched in" - :complex t - :modifier-p :maybe) + (interactive "" ibuffer-mode) (multi-isearch-buffers (ibuffer-get-marked-buffers))) -;;;###autoload (autoload 'ibuffer-do-isearch-regexp "ibuf-ext") -(define-ibuffer-op ibuffer-do-isearch-regexp () +;;;###autoload +(defun ibuffer-do-isearch-regexp () "Perform a `isearch-forward-regexp' in marked buffers." - (:interactive () - :opstring "searched regexp in" - :complex t - :modifier-p :maybe) + (interactive "" ibuffer-mode) (multi-isearch-buffers-regexp (ibuffer-get-marked-buffers))) ;;;###autoload (autoload 'ibuffer-do-replace-regexp "ibuf-ext") ^ permalink raw reply related [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-06 21:13 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-07 16:59 ` Juri Linkov 2024-07-12 7:03 ` Eli Zaretskii 1 sibling, 0 replies; 20+ messages in thread From: Juri Linkov @ 2024-07-07 16:59 UTC (permalink / raw) To: Eshel Yaron; +Cc: basil, Eli Zaretskii, Stephen Berman, kickingvegas, 71927 > Actually, there's another problem with the way ibuffer-do-isearch is > currently defined via define-ibuffer-op: the BODY of the definition is a > call to multi-isearch-buffers, but the BODY is called for each marked > buffer, not once for all of them, so this command currently calls > multi-isearch-buffers repeatedly when there are multiple marked buffers. > This causes multi-isearch-setup to be called while multi-buffer Isearch > is already in progress, which unfortunately breaks regular Isearch for > the rest of the session. > > To see this effect, invoke ibuffer-do-isearch with two or more marked > buffers, quit or finish the search (e.g. type C-g), and then try regular > Isearch with C-s and repeat C-s until wrapping around. But instead of > wrapping around as expected, Emacs displays an error: > > Symbol’s function definition is void: nil > > A simple solution is to use plain defun for these commands, as follows: I agree that plain defun would be better. ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-06 21:13 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-07 16:59 ` Juri Linkov @ 2024-07-12 7:03 ` Eli Zaretskii 2024-07-12 10:20 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 1 sibling, 1 reply; 20+ messages in thread From: Eli Zaretskii @ 2024-07-12 7:03 UTC (permalink / raw) To: Eshel Yaron; +Cc: basil, stephen.berman, 71927, kickingvegas, juri > From: Eshel Yaron <me@eshelyaron.com> > Cc: Stephen Berman <stephen.berman@gmx.net>, juri@linkov.net, > kickingvegas@gmail.com, 71927@debbugs.gnu.org, basil@contovou.net > Date: Sat, 06 Jul 2024 23:13:27 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> I gave a mild counterargument upthread, that making > >> ibuffer-do-isearch{-regexp} defuns independent of define-ibuffer-op > >> seems like accepting the inadequacy of the latter instead of trying to > >> improve it. > > > > It is indeed inadequate for commands that just put Emacs in a special > > state and return, as opposed to commands that don't return before they > > did the complete job of operating on the marked buffers. > > Actually, there's another problem with the way ibuffer-do-isearch is > currently defined via define-ibuffer-op: the BODY of the definition is a > call to multi-isearch-buffers, but the BODY is called for each marked > buffer, not once for all of them, so this command currently calls > multi-isearch-buffers repeatedly when there are multiple marked buffers. > This causes multi-isearch-setup to be called while multi-buffer Isearch > is already in progress, which unfortunately breaks regular Isearch for > the rest of the session. > > To see this effect, invoke ibuffer-do-isearch with two or more marked > buffers, quit or finish the search (e.g. type C-g), and then try regular > Isearch with C-s and repeat C-s until wrapping around. But instead of > wrapping around as expected, Emacs displays an error: > > Symbol’s function definition is void: nil > > A simple solution is to use plain defun for these commands, as follows: Thanks. Since there were no objections in a week, and Juri also agreed with this solution, please install this on the emacs-30 branch. ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-12 7:03 ` Eli Zaretskii @ 2024-07-12 10:20 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-12 17:05 ` Charles Choi 0 siblings, 1 reply; 20+ messages in thread From: Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-12 10:20 UTC (permalink / raw) To: Eli Zaretskii; +Cc: basil, stephen.berman, 71927, kickingvegas, juri close 71927 30.1 quit Eli Zaretskii <eliz@gnu.org> writes: >> From: Eshel Yaron <me@eshelyaron.com> >> >> Actually, there's another problem with the way ibuffer-do-isearch is >> currently defined via define-ibuffer-op: the BODY of the definition is a >> call to multi-isearch-buffers, but the BODY is called for each marked >> buffer, not once for all of them, so this command currently calls >> multi-isearch-buffers repeatedly when there are multiple marked buffers. >> This causes multi-isearch-setup to be called while multi-buffer Isearch >> is already in progress, which unfortunately breaks regular Isearch for >> the rest of the session. >> >> To see this effect, invoke ibuffer-do-isearch with two or more marked >> buffers, quit or finish the search (e.g. type C-g), and then try regular >> Isearch with C-s and repeat C-s until wrapping around. But instead of >> wrapping around as expected, Emacs displays an error: >> >> Symbol’s function definition is void: nil >> >> A simple solution is to use plain defun for these commands, as follows: > > Thanks. Since there were no objections in a week, and Juri also > agreed with this solution, please install this on the emacs-30 branch. Done, in commit d68a4ea3ec6. I'm therefore closing this bug report. Best, Eshel ^ permalink raw reply [flat|nested] 20+ messages in thread
* bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input 2024-07-12 10:20 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-07-12 17:05 ` Charles Choi 0 siblings, 0 replies; 20+ messages in thread From: Charles Choi @ 2024-07-12 17:05 UTC (permalink / raw) To: Eshel Yaron; +Cc: Eli Zaretskii, stephen.berman, 71927, basil, juri Thanks all for fixing this! Looking forward to using these commands in the next release! Charles > On Jul 12, 2024, at 3:20 AM, Eshel Yaron <me@eshelyaron.com> wrote: > > Done, in commit d68a4ea3ec6. I'm therefore closing this bug report. ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2024-07-12 17:05 UTC | newest] Thread overview: 20+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-07-03 21:25 bug#71927: 29.4; ibuffer-do-isearch and ibuffer-do-isearch-regexp not prompting for input Charles Choi 2024-07-04 6:58 ` Juri Linkov 2024-07-04 7:55 ` Eli Zaretskii 2024-07-04 7:12 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 9:59 ` Eli Zaretskii 2024-07-04 10:06 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 12:50 ` Eli Zaretskii 2024-07-04 13:32 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 14:12 ` Eli Zaretskii 2024-07-04 15:09 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 16:04 ` Juri Linkov 2024-07-04 17:36 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 18:07 ` Eli Zaretskii 2024-07-04 18:29 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-04 18:46 ` Eli Zaretskii 2024-07-06 21:13 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-07 16:59 ` Juri Linkov 2024-07-12 7:03 ` Eli Zaretskii 2024-07-12 10:20 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-07-12 17:05 ` Charles Choi
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).