* 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 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 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: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).