* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched
@ 2025-01-02 23:36 Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 8+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2025-01-02 23:36 UTC (permalink / raw)
To: 75305
I noticed that as intended without adding the current group to the
variable in addition to the current group.
The manual states what happens what the variable does when set however I
think the description is not exact enough.
It is very easy to overlook that to add the current group in addition
other groups it has to be added too.
Further similarly to gnus-refer-article-methods the symbol current
should also be supported to refer to the current groups method.
In GNU Emacs 31.0.50 (build 1, x86_64-suse-linux-gnu, GTK+ Version
3.24.43, cairo version 1.18.2)
Repository revision: eaf5bf736e1dd5eb977a16a3f1b3dfd3da3c4612
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101014
System Description: openSUSE Tumbleweed
Configured using:
'configure --disable-build-details --without-pop --with-mailutils
--without-hesiod --with-gameuser=:games --with-kerberos
--with-kerberos5 --with-file-notification=inotify --with-modules
--enable-autodepend --enable-link-time-optimization --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
--localstatedir=/var --sharedstatedir=/var/lib
--libexecdir=/usr/libexec --with-file-notification=yes
--libdir=/usr/lib64 --with-native-compilation=aot
--enable-locallisppath=/usr/share/emacs/31.0.50/site-lisp:/usr/share/emacs/site-lisp
--with-x --with-xim --with-sound --with-xpm --with-jpeg --with-tiff
--with-gif --with-png --with-rsvg --with-dbus --with-xft --without-gpm
--with-tree-sitter --with-x-toolkit=gtk --without-pgtk
--with-toolkit-scroll-bars --x-includes=/usr/include
--x-libraries=/usr/lib64 --with-libotf --with-m17n-flt --with-cairo
--build=x86_64-suse-linux --with-dumping=pdumper
build_alias=x86_64-suse-linux 'CC=sccache cc' 'CFLAGS=-O2 -Wall
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection
-Werror=return-type -flto=auto -march=znver3 -mmmx -mpopcnt -msse
-msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -msse4a -mno-fma4
-mno-xop -mfma -mbmi -mbmi2 -maes -mpclmul -mno-gfni -mvpclmulqdq
-mno-3dnow -madx -mabm -mno-cldemote -mclflushopt -mclwb -mclzero
-mcx16 -mno-enqcmd -mf16c -mfsgsbase -mfxsr -mno-hle -msahf -mno-lwp
-mlzcnt -mmovbe -mno-movdir64b -mno-movdiri -mmwaitx -mno-pconfig -mpku
-mprfchw -mno-ptwrite -mrdpid -mrdrnd -mrdseed -mno-rtm -mno-serialize
-mno-sgx -msha -mshstk -mno-tbm -mno-tsxldtrk -mvaes -mno-waitpkg
-mwbnoinvd -mxsave -mxsavec -mxsaveopt -mxsaves -mno-amx-tile
-mno-amx-int8 -mno-amx-bf16 -mno-uintr -mno-hreset -mno-kl -mno-widekl
-mno-avxvnni -mno-avxifma -mno-avxvnniint8 -mno-avxneconvert
-mno-cmpccxadd -mno-amx-fp16 -mno-prefetchi -mno-raoint
-mno-amx-complex --param l1-cache-size=32 --param l1-cache-line-size=64
--param l2-cache-size=512 -mtune=znver3 -fno-optimize-sibling-calls -O2
-Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection
-Werror=return-type -flto=auto -g -D_GNU_SOURCE
-DGDK_DISABLE_DEPRECATION_WARNINGS -DGLIB_DISABLE_DEPRECATION_WARNINGS
-pipe -Wno-pointer-sign -Wno-unused-variable -Wno-unused-label
-DPDMP_BASE='\''"emacs-gtk"'\''' LDFLAGS=-Wl,-O2 'CXX=sccache c++'
PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB
Important settings:
value of $LC_MONETARY: fi_FI.UTF-8
value of $LC_NUMERIC: POSIX
value of $LANG: en_GB.UTF-8
value of $XMODIFIERS: @im=local
locale-coding-system: utf-8-unix
Major mode: Summary
Minor modes in effect:
default-text-scale-mode: t
eshell-vterm-mode: t
xterm-mouse-mode: t
circe-lagmon-mode: t
gnus-mailing-list-mode: t
dap-tooltip-mode: t
dap-ui-many-windows-mode: t
dap-ui-controls-mode: t
dap-ui-mode: t
dap-auto-configure-mode: t
dap-mode: t
lsp-treemacs-sync-mode: t
treemacs-filewatch-mode: t
treemacs-git-mode: t
treemacs-fringe-indicator-mode: t
global-atomic-chrome-edit-mode: t
minions-mode: t
back-button-mode: t
recentf-mode: t
savehist-mode: t
emms-playing-time-display-mode: t
emms-playing-time-mode: t
autocrypt-mode: t
gnus-desktop-notify-mode: t
tracking-mode: t
org-super-agenda-mode: t
projectile-mode: t
global-company-mode: t
company-mode: t
electric-pair-mode: t
editorconfig-mode: t
frames-only-mode: t
windmove-mode: t
marginalia-mode: t
which-key-mode: t
dirvish-override-dired-mode: t
dired-async-mode: t
hl-line-mode: t
helm-mode: t
helm-minibuffer-history-mode: t
global-so-long-mode: t
global-emojify-mode: t
emojify-mode: t
change-cursor-mode: t
doom-modeline-mode: t
helm-autoresize-mode: t
desktop-save-mode: t
Info-persist-history-mode: t
save-place-mode: t
delete-selection-mode: t
override-global-mode: t
magit-wip-initial-backup-mode: t
magit-wip-before-change-mode: t
magit-wip-after-apply-mode: t
magit-wip-after-save-mode: t
magit-wip-mode: t
global-git-commit-mode: t
magit-auto-revert-mode: t
global-auto-revert-mode: t
server-mode: t
tooltip-mode: t
global-eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
undelete-frame-mode: t
minibuffer-regexp-mode: t
buffer-read-only: t
line-number-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-koma-letter hides /home/bidar/.local/etc/emacs/lib/lisp/ox-koma-letter
/home/bidar/.local/etc/emacs/lib/org-contrib/lisp/ox-groff hides /home/bidar/.local/etc/emacs/lib/lisp/ox-groff
/home/bidar/.local/etc/emacs/lib/use-package-transient/use-package-transient hides /home/bidar/.local/etc/emacs/lib/lisp/use-package-transient
/home/bidar/.local/etc/emacs/lib/vim-modeline/vim-modeline hides /home/bidar/.local/etc/emacs/lib/lisp/vim-modeline
/home/bidar/.local/etc/emacs/lib/lisp/cursor-chg hides /home/bidar/.local/etc/emacs/lib/cursor-chg/cursor-chg
/home/bidar/.local/etc/emacs/lib/eshell-up/eshell-up hides /home/bidar/.local/etc/emacs/lib/aweshell/eshell-up
/home/bidar/.local/etc/emacs/lib/eshell-prompt-extras/eshell-prompt-extras hides /home/bidar/.local/etc/emacs/lib/aweshell/eshell-prompt-extras
/home/bidar/.local/etc/emacs/lib/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/bidar/.local/etc/emacs/lib/async/dired-async hides /usr/share/emacs/site-lisp/dired-async
/home/bidar/.local/etc/emacs/lib/async/async-bytecomp hides /usr/share/emacs/site-lisp/async-bytecomp
/home/bidar/.local/etc/emacs/lib/async/async-autoloads hides /usr/share/emacs/site-lisp/async-autoloads
/home/bidar/.local/etc/emacs/lib/compat/compat hides /usr/share/emacs/site-lisp/compat
/home/bidar/.local/etc/emacs/lib/compat/compat-30 hides /usr/share/emacs/site-lisp/compat-30
/home/bidar/.local/etc/emacs/lib/compat/compat-28 hides /usr/share/emacs/site-lisp/compat-28
/home/bidar/.local/etc/emacs/lib/compat/compat-25 hides /usr/share/emacs/site-lisp/compat-25
/home/bidar/.local/etc/emacs/lib/async/smtpmail-async hides /usr/share/emacs/site-lisp/smtpmail-async
/home/bidar/.local/etc/emacs/lib/async/async hides /usr/share/emacs/site-lisp/async
/home/bidar/.local/etc/emacs/lib/compat/compat-29 hides /usr/share/emacs/site-lisp/compat-29
/home/bidar/.local/etc/emacs/lib/compat/compat-27 hides /usr/share/emacs/site-lisp/compat-27
/home/bidar/.local/etc/emacs/lib/compat/compat-26 hides /usr/share/emacs/site-lisp/compat-26
/home/bidar/.local/etc/emacs/lib/which-key/which-key hides /usr/share/emacs/31.0.50/lisp/which-key
/home/bidar/.local/etc/emacs/lib/transient/lisp/transient hides /usr/share/emacs/31.0.50/lisp/transient
/home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig hides /usr/share/emacs/31.0.50/lisp/editorconfig
/home/bidar/.local/etc/emacs/lib/use-package/bind-key hides /usr/share/emacs/31.0.50/lisp/bind-key
/home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig-core-handle hides /usr/share/emacs/31.0.50/lisp/editorconfig-core-handle
/home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig-tools hides /usr/share/emacs/31.0.50/lisp/editorconfig-tools
/home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig-fnmatch hides /usr/share/emacs/31.0.50/lisp/editorconfig-fnmatch
/home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig-core hides /usr/share/emacs/31.0.50/lisp/editorconfig-core
/home/bidar/.local/etc/emacs/lib/editorconfig/editorconfig-conf-mode hides /usr/share/emacs/31.0.50/lisp/editorconfig-conf-mode
/home/bidar/.local/etc/emacs/lib/modus-themes/theme-loaddefs hides /usr/share/emacs/31.0.50/lisp/theme-loaddefs
/home/bidar/.local/etc/emacs/lib/use-package/use-package hides /usr/share/emacs/31.0.50/lisp/use-package/use-package
/home/bidar/.local/etc/emacs/lib/use-package/use-package-ensure hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-ensure
/home/bidar/.local/etc/emacs/lib/use-package/use-package-diminish hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-diminish
/home/bidar/.local/etc/emacs/lib/use-package/use-package-delight hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-delight
/home/bidar/.local/etc/emacs/lib/use-package/use-package-core hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-core
/home/bidar/.local/etc/emacs/lib/use-package/use-package-lint hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-lint
/home/bidar/.local/etc/emacs/lib/use-package/use-package-jump hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-jump
/home/bidar/.local/etc/emacs/lib/use-package/use-package-ensure-system-package hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-ensure-system-package
/home/bidar/.local/etc/emacs/lib/use-package/use-package-bind-key hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-bind-key
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-texinfo hides /usr/share/emacs/31.0.50/lisp/org/ox-texinfo
/home/bidar/.local/etc/emacs/lib/org/lisp/org-indent hides /usr/share/emacs/31.0.50/lisp/org/org-indent
/home/bidar/.local/etc/emacs/lib/org/lisp/org-agenda hides /usr/share/emacs/31.0.50/lisp/org/org-agenda
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-eshell hides /usr/share/emacs/31.0.50/lisp/org/ol-eshell
/home/bidar/.local/etc/emacs/lib/org/lisp/org-list hides /usr/share/emacs/31.0.50/lisp/org/org-list
/home/bidar/.local/etc/emacs/lib/org/lisp/ox hides /usr/share/emacs/31.0.50/lisp/org/ox
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-latex hides /usr/share/emacs/31.0.50/lisp/org/ox-latex
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-html hides /usr/share/emacs/31.0.50/lisp/org/ox-html
/home/bidar/.local/etc/emacs/lib/org/lisp/org hides /usr/share/emacs/31.0.50/lisp/org/org
/home/bidar/.local/etc/emacs/lib/org/lisp/org-table hides /usr/share/emacs/31.0.50/lisp/org/org-table
/home/bidar/.local/etc/emacs/lib/org/lisp/org-persist hides /usr/share/emacs/31.0.50/lisp/org/org-persist
/home/bidar/.local/etc/emacs/lib/org/lisp/org-macs hides /usr/share/emacs/31.0.50/lisp/org/org-macs
/home/bidar/.local/etc/emacs/lib/org/lisp/org-lint hides /usr/share/emacs/31.0.50/lisp/org/org-lint
/home/bidar/.local/etc/emacs/lib/org/lisp/org-goto hides /usr/share/emacs/31.0.50/lisp/org/org-goto
/home/bidar/.local/etc/emacs/lib/org/lisp/org-element hides /usr/share/emacs/31.0.50/lisp/org/org-element
/home/bidar/.local/etc/emacs/lib/org/lisp/org-element-ast hides /usr/share/emacs/31.0.50/lisp/org/org-element-ast
/home/bidar/.local/etc/emacs/lib/org/lisp/org-compat hides /usr/share/emacs/31.0.50/lisp/org/org-compat
/home/bidar/.local/etc/emacs/lib/org/lisp/org-clock hides /usr/share/emacs/31.0.50/lisp/org/org-clock
/home/bidar/.local/etc/emacs/lib/org/lisp/org-attach hides /usr/share/emacs/31.0.50/lisp/org/org-attach
/home/bidar/.local/etc/emacs/lib/org/lisp/ol hides /usr/share/emacs/31.0.50/lisp/org/ol
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-python hides /usr/share/emacs/31.0.50/lisp/org/ob-python
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-julia hides /usr/share/emacs/31.0.50/lisp/org/ob-julia
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-exp hides /usr/share/emacs/31.0.50/lisp/org/ob-exp
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-core hides /usr/share/emacs/31.0.50/lisp/org/ob-core
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-clojure hides /usr/share/emacs/31.0.50/lisp/org/ob-clojure
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-R hides /usr/share/emacs/31.0.50/lisp/org/ob-R
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-beamer hides /usr/share/emacs/31.0.50/lisp/org/ox-beamer
/home/bidar/.local/etc/emacs/lib/org/lisp/org-habit hides /usr/share/emacs/31.0.50/lisp/org/org-habit
/home/bidar/.local/etc/emacs/lib/org/lisp/org-faces hides /usr/share/emacs/31.0.50/lisp/org/org-faces
/home/bidar/.local/etc/emacs/lib/org/lisp/org-loaddefs hides /usr/share/emacs/31.0.50/lisp/org/org-loaddefs
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-gnuplot hides /usr/share/emacs/31.0.50/lisp/org/ob-gnuplot
/home/bidar/.local/etc/emacs/lib/org/lisp/org-version hides /usr/share/emacs/31.0.50/lisp/org/org-version
/home/bidar/.local/etc/emacs/lib/org/lisp/org-src hides /usr/share/emacs/31.0.50/lisp/org/org-src
/home/bidar/.local/etc/emacs/lib/org/lisp/org-num hides /usr/share/emacs/31.0.50/lisp/org/org-num
/home/bidar/.local/etc/emacs/lib/org/lisp/org-capture hides /usr/share/emacs/31.0.50/lisp/org/org-capture
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-publish hides /usr/share/emacs/31.0.50/lisp/org/ox-publish
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-icalendar hides /usr/share/emacs/31.0.50/lisp/org/ox-icalendar
/home/bidar/.local/etc/emacs/lib/org/lisp/org-refile hides /usr/share/emacs/31.0.50/lisp/org/org-refile
/home/bidar/.local/etc/emacs/lib/org/lisp/org-mouse hides /usr/share/emacs/31.0.50/lisp/org/org-mouse
/home/bidar/.local/etc/emacs/lib/org/lisp/org-mobile hides /usr/share/emacs/31.0.50/lisp/org/org-mobile
/home/bidar/.local/etc/emacs/lib/org/lisp/org-inlinetask hides /usr/share/emacs/31.0.50/lisp/org/org-inlinetask
/home/bidar/.local/etc/emacs/lib/org/lisp/org-fold hides /usr/share/emacs/31.0.50/lisp/org/org-fold
/home/bidar/.local/etc/emacs/lib/org/lisp/org-fold-core hides /usr/share/emacs/31.0.50/lisp/org/org-fold-core
/home/bidar/.local/etc/emacs/lib/org/lisp/org-feed hides /usr/share/emacs/31.0.50/lisp/org/org-feed
/home/bidar/.local/etc/emacs/lib/org/lisp/ob hides /usr/share/emacs/31.0.50/lisp/org/ob
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-tangle hides /usr/share/emacs/31.0.50/lisp/org/ob-tangle
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-sql hides /usr/share/emacs/31.0.50/lisp/org/ob-sql
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-scheme hides /usr/share/emacs/31.0.50/lisp/org/ob-scheme
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-processing hides /usr/share/emacs/31.0.50/lisp/org/ob-processing
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-plantuml hides /usr/share/emacs/31.0.50/lisp/org/ob-plantuml
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-lob hides /usr/share/emacs/31.0.50/lisp/org/ob-lob
/home/bidar/.local/etc/emacs/lib/org/lisp/org-colview hides /usr/share/emacs/31.0.50/lisp/org/org-colview
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-lilypond hides /usr/share/emacs/31.0.50/lisp/org/ob-lilypond
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-shell hides /usr/share/emacs/31.0.50/lisp/org/ob-shell
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-org hides /usr/share/emacs/31.0.50/lisp/org/ox-org
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-odt hides /usr/share/emacs/31.0.50/lisp/org/ox-odt
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-md hides /usr/share/emacs/31.0.50/lisp/org/ox-md
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-man hides /usr/share/emacs/31.0.50/lisp/org/ox-man
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-koma-letter hides /usr/share/emacs/31.0.50/lisp/org/ox-koma-letter
/home/bidar/.local/etc/emacs/lib/org/lisp/ox-ascii hides /usr/share/emacs/31.0.50/lisp/org/ox-ascii
/home/bidar/.local/etc/emacs/lib/org/lisp/org-timer hides /usr/share/emacs/31.0.50/lisp/org/org-timer
/home/bidar/.local/etc/emacs/lib/org/lisp/org-tempo hides /usr/share/emacs/31.0.50/lisp/org/org-tempo
/home/bidar/.local/etc/emacs/lib/org/lisp/org-protocol hides /usr/share/emacs/31.0.50/lisp/org/org-protocol
/home/bidar/.local/etc/emacs/lib/org/lisp/org-plot hides /usr/share/emacs/31.0.50/lisp/org/org-plot
/home/bidar/.local/etc/emacs/lib/org/lisp/org-pcomplete hides /usr/share/emacs/31.0.50/lisp/org/org-pcomplete
/home/bidar/.local/etc/emacs/lib/org/lisp/org-macro hides /usr/share/emacs/31.0.50/lisp/org/org-macro
/home/bidar/.local/etc/emacs/lib/org/lisp/org-keys hides /usr/share/emacs/31.0.50/lisp/org/org-keys
/home/bidar/.local/etc/emacs/lib/org/lisp/org-id hides /usr/share/emacs/31.0.50/lisp/org/org-id
/home/bidar/.local/etc/emacs/lib/org/lisp/org-footnote hides /usr/share/emacs/31.0.50/lisp/org/org-footnote
/home/bidar/.local/etc/emacs/lib/org/lisp/org-entities hides /usr/share/emacs/31.0.50/lisp/org/org-entities
/home/bidar/.local/etc/emacs/lib/org/lisp/org-duration hides /usr/share/emacs/31.0.50/lisp/org/org-duration
/home/bidar/.local/etc/emacs/lib/org/lisp/org-datetree hides /usr/share/emacs/31.0.50/lisp/org/org-datetree
/home/bidar/.local/etc/emacs/lib/org/lisp/org-cycle hides /usr/share/emacs/31.0.50/lisp/org/org-cycle
/home/bidar/.local/etc/emacs/lib/org/lisp/org-ctags hides /usr/share/emacs/31.0.50/lisp/org/org-ctags
/home/bidar/.local/etc/emacs/lib/org/lisp/org-crypt hides /usr/share/emacs/31.0.50/lisp/org/org-crypt
/home/bidar/.local/etc/emacs/lib/org/lisp/org-attach-git hides /usr/share/emacs/31.0.50/lisp/org/org-attach-git
/home/bidar/.local/etc/emacs/lib/org/lisp/org-archive hides /usr/share/emacs/31.0.50/lisp/org/org-archive
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-w3m hides /usr/share/emacs/31.0.50/lisp/org/ol-w3m
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-rmail hides /usr/share/emacs/31.0.50/lisp/org/ol-rmail
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-mhe hides /usr/share/emacs/31.0.50/lisp/org/ol-mhe
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-man hides /usr/share/emacs/31.0.50/lisp/org/ol-man
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-irc hides /usr/share/emacs/31.0.50/lisp/org/ol-irc
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-info hides /usr/share/emacs/31.0.50/lisp/org/ol-info
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-gnus hides /usr/share/emacs/31.0.50/lisp/org/ol-gnus
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-eww hides /usr/share/emacs/31.0.50/lisp/org/ol-eww
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-doi hides /usr/share/emacs/31.0.50/lisp/org/ol-doi
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-docview hides /usr/share/emacs/31.0.50/lisp/org/ol-docview
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-bibtex hides /usr/share/emacs/31.0.50/lisp/org/ol-bibtex
/home/bidar/.local/etc/emacs/lib/org/lisp/ol-bbdb hides /usr/share/emacs/31.0.50/lisp/org/ol-bbdb
/home/bidar/.local/etc/emacs/lib/org/lisp/oc hides /usr/share/emacs/31.0.50/lisp/org/oc
/home/bidar/.local/etc/emacs/lib/org/lisp/oc-natbib hides /usr/share/emacs/31.0.50/lisp/org/oc-natbib
/home/bidar/.local/etc/emacs/lib/org/lisp/oc-csl hides /usr/share/emacs/31.0.50/lisp/org/oc-csl
/home/bidar/.local/etc/emacs/lib/org/lisp/oc-bibtex hides /usr/share/emacs/31.0.50/lisp/org/oc-bibtex
/home/bidar/.local/etc/emacs/lib/org/lisp/oc-biblatex hides /usr/share/emacs/31.0.50/lisp/org/oc-biblatex
/home/bidar/.local/etc/emacs/lib/org/lisp/oc-basic hides /usr/share/emacs/31.0.50/lisp/org/oc-basic
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-table hides /usr/share/emacs/31.0.50/lisp/org/ob-table
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-sqlite hides /usr/share/emacs/31.0.50/lisp/org/ob-sqlite
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-sed hides /usr/share/emacs/31.0.50/lisp/org/ob-sed
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-screen hides /usr/share/emacs/31.0.50/lisp/org/ob-screen
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-sass hides /usr/share/emacs/31.0.50/lisp/org/ob-sass
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-ruby hides /usr/share/emacs/31.0.50/lisp/org/ob-ruby
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-ref hides /usr/share/emacs/31.0.50/lisp/org/ob-ref
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-perl hides /usr/share/emacs/31.0.50/lisp/org/ob-perl
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-org hides /usr/share/emacs/31.0.50/lisp/org/ob-org
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-octave hides /usr/share/emacs/31.0.50/lisp/org/ob-octave
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-ocaml hides /usr/share/emacs/31.0.50/lisp/org/ob-ocaml
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-maxima hides /usr/share/emacs/31.0.50/lisp/org/ob-maxima
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-matlab hides /usr/share/emacs/31.0.50/lisp/org/ob-matlab
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-makefile hides /usr/share/emacs/31.0.50/lisp/org/ob-makefile
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-lua hides /usr/share/emacs/31.0.50/lisp/org/ob-lua
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-lisp hides /usr/share/emacs/31.0.50/lisp/org/ob-lisp
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-latex hides /usr/share/emacs/31.0.50/lisp/org/ob-latex
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-js hides /usr/share/emacs/31.0.50/lisp/org/ob-js
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-java hides /usr/share/emacs/31.0.50/lisp/org/ob-java
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-haskell hides /usr/share/emacs/31.0.50/lisp/org/ob-haskell
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-groovy hides /usr/share/emacs/31.0.50/lisp/org/ob-groovy
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-fortran hides /usr/share/emacs/31.0.50/lisp/org/ob-fortran
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-forth hides /usr/share/emacs/31.0.50/lisp/org/ob-forth
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-eval hides /usr/share/emacs/31.0.50/lisp/org/ob-eval
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-eshell hides /usr/share/emacs/31.0.50/lisp/org/ob-eshell
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-emacs-lisp hides /usr/share/emacs/31.0.50/lisp/org/ob-emacs-lisp
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-dot hides /usr/share/emacs/31.0.50/lisp/org/ob-dot
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-ditaa hides /usr/share/emacs/31.0.50/lisp/org/ob-ditaa
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-css hides /usr/share/emacs/31.0.50/lisp/org/ob-css
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-comint hides /usr/share/emacs/31.0.50/lisp/org/ob-comint
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-calc hides /usr/share/emacs/31.0.50/lisp/org/ob-calc
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-awk hides /usr/share/emacs/31.0.50/lisp/org/ob-awk
/home/bidar/.local/etc/emacs/lib/org/lisp/ob-C hides /usr/share/emacs/31.0.50/lisp/org/ob-C
/home/bidar/.local/etc/emacs/lib/compat/compat hides /usr/share/emacs/31.0.50/lisp/emacs-lisp/compat
Features:
(shadow emacsbug js-mode-expansions js c-ts-common vc-filewise
china-util gnus-html magit-patch magit-subtree magit-gitignore
magit-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help
ediff-init ediff-util default-text-scale emacs-news-mode info-look
spam-stat nnrss nnmairix nnml nnfeed gnus-uu yenc gnus-sieve
gnus-notifications gnus-fun gnus-eform gnus-delay gnus-draft
gnus-bookmark deuglify cus-theme xwidget wid-browse icon ace-window
checkdoc gnus-dup debbugs-gnu zop-to-char nnregistry gnus-salt
gnus-diary nndiary emms-browser dirvish-extras tramp-cmds gnus-notes-org
gnus-notes disass texinfo texinfo-loaddefs eshell-did-you-mean
eshell-bookmark em-unix em-script em-pred em-glob em-cmpl em-basic
em-alias eshell-vterm em-term eshell-z aweshell eshell-up em-prompt
em-hist em-smart em-tramp eshell finder finder-inf xt-mouse devhelp
vlf-search vlf vlf-base vlf-tune octave-expansions octave dired-narrow
company-lua lua-mode piem-gnus git-email-gnus tramp-androidsu tramp-adb
rmail tex-mode cmake-font-lock cmake-mode elfeed-tube-mpv lao-util
enriched org-colview org-clock-helpers org-duration logview datetime
extmap nndoc w3m-form w3m-symbol w3m-bookmark w3m w3m-hist bookmark-w3m
w3m-ems w3m-favicon w3m-image w3m-fb tab-line w3m-proc w3m-util
pcmpl-unix circe-lagmon mastodon-views flow-fill thai-util thai-word
logms-autoloads display-line-numbers treemacs-file-management hydra
gnus-recent mailalias bbdb-pgp message-attachment-reminder bbdb-message
gnus-alias autocrypt-message dired-open helm-ring
treemacs-mouse-interface git-rebase shr-color ibuffer-projectile
nerd-icons-ibuffer mastodon-notifications mastodon-media
mastodon-profile mastodon-auth mastodon-client crux move-text tabify
dumb-jump popup elfeed-link gnus-search eieio-opt speedbar ezimage
dframe qp ietf-drums-date gnus-gravatar sort gnus-cite
message-view-patch mm-archive gnus-bcklg bbdb-gnus-aux gnus-ml
gnus-demon autocrypt-gnus nndraft nnmh gnus-topic utf-7 nnfolder
bbdb-gnus bbdb-mua nnnil helm-org-rifle ace-link avy orgit-forge orgit
helm-ls-git descr-text smart-region multiple-cursors
mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines
mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors
multiple-cursors-core expand-region yaml-mode-expansions
subword-mode-expansions cperl-mode-expansions text-mode-expansions
cc-mode-expansions the-org-mode-expansions python-el-fgallina-expansions
nxml-mode-expansions html-mode-expansions er-basic-expansions
expand-region-core expand-region-custom shortdoc help-macro epa-file
journalctl time calc calc-loaddefs rect calc-macs proced mastodon
mastodon-search mastodon-toot persist mastodon-http request
elfeed-summary semantic/symref/grep semantic/symref semantic/util-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local
cedet whitespace rng-cmpct rng-nxml rng-valid nxml-mode nxml-outln
nxml-rap sgml-mode centered-window centered-window-mode magit-extras
cal-move cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew
holidays holiday-loaddefs cal-iso helm-imenu two-column helm-descbinds
emacsql-sqlite-builtin sqlite textsec uni-scripts idna-mapping
ucs-normalize uni-confusable textsec-check cl-print helm-x-files
helm-for-files helm-external help-fns char-fold misearch multi-isearch
winner tramp-archive tramp-gvfs zeroconf helm-command goto-chg
gitconfig-mode plstore vc-dir company-shell rpm-spec-mode make-mode
dap-mouse lsp-ui lsp-ui-flycheck lsp-ui-doc lsp-ui-imenu lsp-ui-peek
lsp-ui-sideline lsp-ui-util lsp-modeline lsp-icons lsp-diagnostics
lsp-completion dap-lldb dap-ui gdb-mi gud bui bui-list bui-info
bui-entry bui-core bui-history bui-button bui-utils lsp-lens dap-mode
dap-tasks dap-launch lsp-docker posframe dap-overlays ccls
ccls-member-hierarchy ccls-inheritance-hierarchy ccls-call-hierarchy
ccls-tree ccls-code-lens ccls-semantic-highlight ccls-common
lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib
treemacs-nerd-icons treemacs-magit 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-macros yasnippet lsp-mode
generic-x skeleton lsp-protocol spinner network-stream lv cap-words
superword subword systemd dired-collapse dirvish-yank dirvish-subtree
dirvish-collapse dirvish-icons dirvish-vc dirvish-widgets image-file
image-converter view atomic-chrome websocket minions back-button
smartrep helm-projectile recentf tree-widget savehist org-edit-indirect
cus-start yeetube yeetube-mpv socks elfeed-autotag elfeed-score
elfeed-score-maint elfeed-score-scoring elfeed-score-serde
elfeed-score-rule-stats elfeed-score-rules elfeed-score-log elfeed-tube
elfeed-tube-utils aio elfeed-protocol-owncloud elfeed-protocol
elfeed-protocol-common elfeed-show elfeed-search rainbow-delimiters
ligature symbol-overlay vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
log-view vc-git elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db
elfeed-lib xml-query emms-player-mpd emms-history emms-volume
emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse
emms-volume-amixer emms-i18n emms-score emms-stream-info
emms-metaplaylist-mode emms-bookmarks emms-cue emms-playlist-sort
emms-last-played emms-playing-time emms-lyrics emms-url
emms-player-simple emms-streams emms-show-all emms-tag-editor
emms-tag-tracktag emms-info-mp3info emms-playlist-mode emms-mark
emms-cache emms-info-native emms-info-native-spc emms-info-native-mp3
emms-info-native-ogg emms-info-native-opus emms-info-native-flac
emms-info-native-vorbis emms-info-libtag emms-info emms-later-do
emms-source-playlist emms-source-file locate emms emms-compat khardel
piem piem-maildir mail-extr gravatar dns smiley autocrypt gnus-icalendar
gnus-async smtpmail-async smtpmail gnus-registry registry gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache
gnus-desktop-notify bbdb-vcard bbdb-com bbdb-vcard-vcard21 bbdb
bbdb-site timezone mastodon-async mastodon-tl url-cache mpv tq
mastodon-iso lui-track company-emoji company-emoji-list helm-circe
circe-notifications circe-display-images circe-color-nicks circe
lui-irc-colors irc lcs lui-logging lui-format lui tracking shorten
flyspell circe-compat ical2org org-caldav icalendar ox-extra ox-odt
rng-loc rng-uri rng-parse rng-match rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util ox-koma-letter ox-latex ox-icalendar ox-html
table ox-ascii ox-publish ox org-attach url-dav org-pomodoro alert
notifications org-timer org-expiry ol-man org-super-agenda ts org-habit
vim-modeline org-contacts org-capture cdlatex reftex reftex-loaddefs
reftex-vars texmathp org-appear org-modern ws-butler selected jinx
oc-basic ol-eww eww vtable mule-util url-queue mm-url ol-rmail ol-mhe
ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime
smime dig ol-docview doc-view ol-bibtex bibtex ol-bbdb ol-w3m ol-doi
org-link-doi appt diary-lib diary-loaddefs org-agenda org-element
org-persist org-id avl-tree org-refile org-clock org-protocol ob-sqlite
ob-sql ob-shell ob-python python ob-plantuml ob-org ob-octave ob-lua
ob-js ob-gnuplot ob-dot ob-ditaa ob-clojure ob-C outshine
outshine-org-cmds outorg smartparens-org smartparens-text smartparens
loadhist org-archive-subtree-hierarchy org-archive salt-mode rst
mmm-jinja2 yaml-mode perl-completion woman man dabbrev cperl-mode
facemenu helm-elisp helm-eval edebug debug backtrace cl cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
ggtags ewoc flycheck-color-mode-line flycheck jka-compr bitbake-modes
bitbake generic autoinsert conf-bitbake-mode conf-mode bitbake-ff
find-file bitbake-mmm mmm-mode mmm-univ mmm-class mmm-region mmm-auto
mmm-vars mmm-utils mmm-compat bitbake-functions bitbake-compat
xterm-color vc-osc vc vc-dispatcher forge-repos forge-tablist
forge-topics forge-commands forge-semi forge-bitbucket buck forge-gogs
gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy
gsexp ghub gnutls forge-notify forge-revnote forge-pullreq forge-issue
forge-topic yaml eieio-custom bug-reference forge-post markdown-mode
edit-indirect forge-repo forge forge-core forge-db magit-libgit libgit
libegit2 magit-popup git-email midnight vlf-setup multi-vterm vterm
face-remap color term disp-table ehelp vterm-module term/xterm xterm
tramp-cache time-stamp tramp-sh eshell-prompt-extras em-dirs esh-mode
esh-var em-ls esh-cmd esh-ext esh-proc esh-io esh-arg esh-module
esh-module-loaddefs esh-opt esh-util debbugs soap-client url-http
url-auth url-gw nsm rng-xsd rng-dt rng-util xsd-regexp debbugs-compat
org-bug bug-search 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 org-list org-footnote org-faces org-entities backline
outline-minor-faces noutline outline ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
cal-menu calendar cal-loaddefs gnus-sum shr pixel-fill kinsoku url-file
svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus company-yasnippet
goto-addr gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec
gnus-int gnus-range gnus-win gnus nnheader range org-version org-compat
org-element-ast org-macs bug-comment-mode bug-backend-bz-rpc
bug-list-mode bug-mode bug-format bug-rpc bug-debug bug-search-common
bug-common-functions bug-persistent-data bug-custom projectile ibuf-ext
ibuffer ibuffer-loaddefs company-oddmuse company-keywords company-etags
etags fileloop generator xref project company-gtags company-dabbrev-code
company-dabbrev company-files company-clang company-capf company-cmake
company-semantic company-template company-bbdb company elec-pair
editorconfig editorconfig-core editorconfig-core-handle
editorconfig-fnmatch wgrep-ag use-package-transient frames-only-mode
windmove i3-integration i3 bindat marginalia which-key dirvish
helm-dired-history dired-ranger dired-avfs dired-rainbow dired-filter
dired-hacks-utils dired-async async-bytecomp dired-du find-dired wdired
helm-icons treemacs-icons treemacs-scope treemacs-themes
treemacs-core-utils treemacs-logging treemacs-customization pfuture
inline hl-line treemacs-faces helm-bookmark helm-net xml helm-adaptive
helm-info magit-bookmark bookmark helm-mode helm-misc helm-files
image-dired image-dired-tags image-dired-external image-dired-util
image-mode exif dired-x dired-aux ffap tramp trampver tramp-integration
files-x tramp-message tramp-compat parse-time iso8601 tramp-loaddefs
helm-buffers all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons helm-occur helm-tags helm-locate helm-grep wgrep-helm
wgrep grep compile helm-regexp helm-utils helm-help helm-types so-long
emojify apropos tar-mode arc-mode archive-mode ht cursor-chg
doom-modeline doom-modeline-segments let-alist doom-modeline-env
doom-modeline-core shrink-path f s nerd-icons nerd-icons-faces
nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon
nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon
nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline
nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon
modus-vivendi-theme modus-themes helm-pass password-store helm
helm-global-bindings helm-easymenu helm-core helm-source
helm-multi-match helm-lib async auth-source-pass printing ps-print
ps-print-loaddefs lpr desktop frameset info+ thingatpt saveplace advice
delsel no-littering epkg-elpa epkg-utils epkg-list epkg-desc find-func
epkg closql emacsql-sqlite emacsql emacsql-compiler eieio-base llama
auto-compile use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key use-package-core
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 which-func imenu magit-diff
smerge-mode diff diff-mode track-changes git-commit log-edit message
sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa epg
rfc6068 epg-config gnus-util text-property-search time-date 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 autorevert filenotify
magit-margin magit-transient magit-process with-editor shell pcomplete
comint ansi-osc ring server ansi-color magit-mode transient comp-run
easy-mmode edmacro kmacro benchmark magit-git magit-base magit-section
format-spec cursor-sensor crm dash compat zop-to-char-autoloads
yeetube-autoloads yasnippet-autoloads yaml-mode-autoloads yaml-autoloads
xterm-color-autoloads ws-butler-autoloads with-editor-autoloads
whole-line-or-region-autoloads which-key-autoloads wgrep-autoloads
websocket-autoloads web-mode-autoloads w3m-autoloads vlf-autoloads
visual-regexp-autoloads vim-modeline-autoloads vc-osc-autoloads
uuidgen-autoloads use-package-transient-autoloads use-package-autoloads
ts-autoloads treepy-autoloads treemacs-nerd-icons-autoloads
treemacs-autoloads transient-autoloads toml-mode-autoloads
systemd-autoloads symbol-overlay-autoloads swiper-helm-autoloads
ssh-config-mode-autoloads spinner-autoloads smartrep-autoloads
smartparens-autoloads smart-region-autoloads skewer-mode-autoloads
simple-httpd-autoloads shrink-path-autoloads selected-autoloads
salt-mode-autoloads s-autoloads rpm-spec-mode-autoloads
rich-minority-autoloads request-autoloads rainbow-delimiters-autoloads
rainbow-csv-autoloads qt-pro-mode-autoloads qml-mode-autoloads
pythonic-autoloads projectile-autoloads posframe-autoloads
pos-tip-autoloads popup-autoloads plantuml-mode-autoloads
pkgbuild-mode-autoloads piper-autoloads piem-autoloads pfuture-autoloads
perspective-autoloads persp-mode-autoloads persist-autoloads
password-store-autoloads pass-autoloads ox-bb-autoloads
outshine-autoloads outorg-autoloads outline-minor-faces-autoloads
orgit-forge-autoloads orgit-autoloads org-vcard-autoloads
org-tree-slide-autoloads org-super-agenda-autoloads
org-remoteimg-autoloads org-pomodoro-autoloads org-modern-autoloads
org-edit-indirect-autoloads org-contrib-autoloads org-contacts-autoloads
org-clock-helpers-autoloads org-caldav-autoloads org-appear-autoloads
org-autoloads nov-autoloads no-littering-autoloads nnreddit-autoloads
nnhackernews-autoloads nginx-mode-autoloads nerd-icons-ibuffer-autoloads
nerd-icons-autoloads navi-mode-autoloads multiple-cursors-autoloads
multi-vterm-autoloads mpv-autoloads move-text-autoloads
modus-themes-autoloads mode-icons-autoloads mmm-mode-autoloads
mmm-jinja2-autoloads minions-autoloads message-x-autoloads
message-view-patch-autoloads message-attachment-reminder-autoloads
meson-mode-autoloads mastodon-autoloads markdown-mode-autoloads
marginalia-autoloads magit-popup-autoloads magit-autoloads
lua-mode-autoloads lsp-ui-autoloads lsp-treemacs-autoloads
lsp-mode-autoloads lsp-docker-autoloads logview-autoloads
llama-autoloads lisp-autoloads link-hint-autoloads ligature-autoloads
levenshtein-autoloads khardel-autoloads js2-mode-autoloads
journalctl-autoloads jira-markup-mode-autoloads ivy-autoloads
irony-autoloads ir-black-theme-autoloads info+-autoloads
imenu-list-autoloads iedit-autoloads ical2org-autoloads
ibuffer-projectile-autoloads i3wm-config-mode-autoloads i3-autoloads
hydra-autoloads htmlize-autoloads ht-autoloads
highlight-indent-guides-autoloads helm-projectile-autoloads
helm-pass-autoloads helm-org-rifle-autoloads helm-make-autoloads
helm-ls-git-autoloads helm-icons-autoloads helm-ext-autoloads
helm-emms-autoloads helm-dired-history-autoloads
helm-descbinds-autoloads helm-circe-autoloads helm-autoloads
guess-language-autoloads grep-context-autoloads goto-chg-autoloads
gnus-recent-autoloads gnus-notes-autoloads gnus-desktop-notify-autoloads
gnus-alias-autoloads gitconfig-autoloads git-modes-autoloads
git-email-autoloads ghub-autoloads ggtags-autoloads
frames-only-mode-autoloads forge-autoloads
flycheck-color-mode-line-autoloads flycheck-autoloads flimenu-autoloads
fedi-autoloads f-autoloads extmap-autoloads expand-region-autoloads
evil-multiedit-autoloads evil-autoloads esxml-autoloads
eshell-z-autoloads eshell-vterm-autoloads eshell-up-autoloads
eshell-prompt-extras-autoloads eshell-bookmark-autoloads epkg-autoloads
emojify-autoloads emacsql-autoloads elixir-mode-autoloads
elfeed-tube-autoloads elfeed-summary-autoloads elfeed-score-autoloads
elfeed-protocol-autoloads elfeed-autotag-autoloads elfeed-autoloads
el-mock-autoloads eimp-autoloads editorconfig-autoloads
edit-indirect-autoloads dumb-jump-autoloads doom-modeline-autoloads
docbook-autoloads dirvish-autoloads dired-rsync-autoloads
dired-hacks-autoloads dired-du-autoloads devhelp-autoloads
deferred-autoloads default-text-scale-autoloads debbugs-autoloads
datetime-autoloads dash-autoloads dap-mode-autoloads
cursor-chg-autoloads csv-mode-autoloads crux-autoloads
copy-as-format-autoloads compat-autoloads company-shell-autoloads
company-quickhelp-autoloads company-nginx-autoloads
company-lua-autoloads company-irony-autoloads company-emoji-autoloads
company-anaconda-autoloads company-autoloads code-review-autoloads
cmake-mode-autoloads cmake-font-lock-autoloads closql-autoloads
circe-notifications-autoloads circe-autoloads centered-window-autoloads
cdlatex-autoloads ccls-autoloads buttercup-autoloads bui-autoloads
bug-mode-autoloads borg-autoloads bitbake-modes-autoloads
bbdb-vcard-autoloads bbdb-loaddefs backline-autoloads
back-button-autoloads aweshell-autoloads avy-autoloads
autocrypt-autoloads auto-compile-autoloads atomic-chrome-autoloads
async-autoloads anaconda-mode-autoloads all-the-icons-autoloads
alert-autoloads aio-autoloads ag-autoloads ace-window-autoloads
ace-link-autoloads a-autoloads 2048-game-autoloads borg derived
loaddefs-gen lisp-mnt radix-tree info comp comp-cstr cl-extra help-mode
comp-common warnings rx ispell package browse-url xdg 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 cus-edit pp pcase
cus-load icons wid-edit cl-loaddefs cl-lib rmc iso-transl tooltip cconv
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen
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 dbusbind
inotify lcms2 dynamic-setting system-font-setting font-render-setting
cairo gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process native-compile emacs)
Memory information:
((conses 16 19230691 5322735) (symbols 48 158891 302)
(strings 32 3356266 431996) (string-bytes 1 296622778)
(vectors 16 1184023) (vector-slots 8 21822591 3690097)
(floats 8 17047 62820) (intervals 56 1212407 111514)
(buffers 992 875))
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched
[not found] <87wmfclrf0.fsf@>
@ 2025-01-03 8:16 ` Eli Zaretskii
2025-01-03 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <87o70nd4dd.fsf@>
0 siblings, 2 replies; 8+ messages in thread
From: Eli Zaretskii @ 2025-01-03 8:16 UTC (permalink / raw)
To: Björn Bidar; +Cc: 75305
> Date: Fri, 03 Jan 2025 01:36:19 +0200
> From: Björn Bidar via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>
>
> I noticed that as intended without adding the current group to the
> variable in addition to the current group.
> The manual states what happens what the variable does when set however I
> think the description is not exact enough.
>
> It is very easy to overlook that to add the current group in addition
> other groups it has to be added too.
Can you suggest the additions to the manual?
Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched
2025-01-03 8:16 ` bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched Eli Zaretskii
@ 2025-01-03 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <87o70nd4dd.fsf@>
1 sibling, 0 replies; 8+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2025-01-03 20:33 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 75305
[-- Attachment #1: Type: text/plain, Size: 1035 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Fri, 03 Jan 2025 01:36:19 +0200
>> From: Björn Bidar via "Bug reports for GNU Emacs,
>> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>>
>>
>> I noticed that as intended without adding the current group to the
>> variable in addition to the current group.
>> The manual states what happens what the variable does when set however I
>> think the description is not exact enough.
>>
>> It is very easy to overlook that to add the current group in addition
>> other groups it has to be added too.
>
> Can you suggest the additions to the manual?
I can. I compared the option to another gnus-refer-article-method one
which has the option to include the symbol current to include the curren
t method.
I added the same symbol to gnus-refer-thread-use-search to add the
current group including the other groups to the list of possible groups
to search through. I adjusted the manual to include the current symbol and
explain the option better.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Refactor-gnus-refer-thread-use-search.patch --]
[-- Type: text/x-patch, Size: 7766 bytes --]
From 8b7dc8441294a42eb4132f7a978cf28580791278 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= <bjorn.bidar@thaodan.de>
Date: Fri, 3 Jan 2025 04:09:55 +0200
Subject: [PATCH] Refactor gnus-refer-thread-use-search
* lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search):
Make it easier to customize the variable by adding predefine choices
as well as descriptions to each choice. Add option to add the value
`current' to the list of servers and groups to add the current group.
E.g. to add another group and the current group.
* lisp/gnus/gnus-search.el (gnus-refer-thread-maybe-add-current-group,
gnus-search-thread): Add helper function to determine if the option
contains the value current. Use helper function.
* lisp/gnus/nnselect.el (nnselect-request-thread): Use helper function
to check if the value current is in gnus-refer-thread-use-search.
* doc/misc/gnus.texi (gnus-refer-thread-use-search):
Include the current value in the section. Format the section a little
better to have a paragraph for each possible value that the option
may contain. Explain the option to have a list of servers more detailed
, i.e. similarly to the custom description. Highlight that the current
group is not searched unless specified. Explain that unless the articles
of that thread are contained in the searched groups not adding the
current group might not be the desired effect.
---
doc/misc/gnus.texi | 23 +++++++++++++++++------
lisp/gnus/gnus-search.el | 24 +++++++++++++++++++++---
lisp/gnus/gnus-sum.el | 17 +++++++++++++----
lisp/gnus/nnselect.el | 4 ++--
4 files changed, 53 insertions(+), 15 deletions(-)
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 200b68d2059..5b2d5a8ea04 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -10557,12 +10557,23 @@ Finding the Parent
course, it'll make group entry somewhat slow.
@vindex gnus-refer-thread-use-search
-If @code{gnus-refer-thread-use-search} is @code{nil} (the default)
-then thread-referral only looks for articles in the current group. If
-this variable is @code{t} the server to which the current group
-belongs is searched (provided that searching is available for the
-server's backend). If this variable is a list of servers, each server
-in the list is searched.
+If @code{gnus-refer-thread-use-search} is @code{current} or @code{nil}
+(the default) then thread-referral only looks for articles in the current group.
+
+If this variable is @code{t} the server to which the current group
+belongs is searched. Note this is only possible provided that searching
+is available for the server's backend.
+
+The variable can also be a list of server each server
+in the list is searched. The servers have to specified in a list
+where the first element of this has to be the server and any remaining elements
+can be the groups belonging to that server.
+
+To search in the current group in addition to other groups the list of servers
+may contain the symbol @code{current}.
+If @code{current} is not in the list the current group is not searched,
+note this may be not the desired effect if any of articles referred in
+the thread are not contained in any of the searched groups.
@vindex gnus-refer-thread-limit
The @code{gnus-refer-thread-limit} variable says how many old (i.e.,
diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el
index 12af8dcdfa7..e61df436c80 100644
--- a/lisp/gnus/gnus-search.el
+++ b/lisp/gnus/gnus-search.el
@@ -2206,6 +2206,23 @@ gnus-search-server-to-engine
(declare-function gnus-registry-get-id-key "gnus-registry" (id key))
+(defun gnus-refer-thread-maybe-add-current-group (group)
+ "Find if GROUP should be added to `gnus-refer-thread-use-search'."
+ (cond ((eq 'current gnus-refer-thread-use-search)
+ (list (gnus-info-method (gnus-get-info group))
+ group))
+ ((listp gnus-refer-thread-use-search)
+ (let (out)
+ (dolist (search gnus-refer-thread-use-search)
+ (push (if (and (not (listp search)) (eq 'current search))
+ (list (gnus-info-method (gnus-get-info group))
+ group)
+ search)
+ out))
+ out))
+ (t
+ nil)))
+
(defun gnus-search-thread (header &optional group server)
"Find articles in the thread containing HEADER from GROUP on SERVER.
If `gnus-refer-thread-use-search' is nil only the current group is
@@ -2227,7 +2244,8 @@ gnus-search-thread
" or "))
(cons 'thread t)))
(gnus-search-use-parsed-queries t))
- (if (not gnus-refer-thread-use-search)
+ (if (or (not gnus-refer-thread-use-search)
+ (eq 'current gnus-refer-thread-use-search))
;; Search only the current group and send the headers back to
;; the caller to add to the summary buffer.
(gnus-fetch-headers
@@ -2247,8 +2265,8 @@ gnus-search-thread
(thread (gnus-search-run-query
(list (cons 'search-query-spec query)
(cons 'search-group-spec
- (if (listp gnus-refer-thread-use-search)
- gnus-refer-thread-use-search
+ (or (gnus-refer-thread-maybe-add-current-group
+ group)
(list (list server))))))))
(if (< (nnselect-artlist-length thread) 2)
(message "No other articles in thread")
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index a9caa83b15c..2119235bc2e 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -149,11 +149,20 @@ gnus-refer-thread-use-search
list of servers and groups (where each element is a list whose
car is the server and whose cdr is a list of groups on this
server or nil to search the entire server) searches these
-server/groups. This may usefully be set as a group parameter."
- :version "28.1"
+server/groups.
+
+The list of of server and groups may contain
+the symbol `current' to refer to the current group.
+For example to search in the current group in addition to other groups.
+
+This may usefully be set as a group parameter."
+ :version "31.1"
:group 'gnus-thread
- :type '(restricted-sexp :match-alternatives
- (listp 't 'nil)))
+ :type '(choice (const :tag "Current group" nil)
+ (const :tag "All groups" t)
+ (repeat :tag "Server and groups"
+ (choice (const :tag "Current Group" current)
+ (repeat :tag "Server and groups" string)))))
(defcustom gnus-refer-thread-limit-to-thread nil
"If non-nil referring a thread will limit the summary buffer to
diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el
index c6a1c0a9342..9d55ac27b98 100644
--- a/lisp/gnus/nnselect.el
+++ b/lisp/gnus/nnselect.el
@@ -49,6 +49,7 @@
(require 'gnus-art)
(autoload 'gnus-search-run-query "gnus-search")
(autoload 'gnus-search-server-to-engine "gnus-search")
+(autoload 'gnus-refer-thread-maybe-add-current-group "gnus-search")
(eval-when-compile (require 'cl-lib))
@@ -707,8 +708,7 @@ nnselect-request-thread
(group-spec
(if (not gnus-refer-thread-use-search)
(list (list server artgroup))
- (if (listp gnus-refer-thread-use-search)
- gnus-refer-thread-use-search
+ (or (gnus-refer-thread-maybe-add-current-group group)
(list (list server)))))
(ids (cons (mail-header-id header)
(split-string
--
2.45.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched
[not found] ` <87o70nd4dd.fsf@>
@ 2025-01-04 13:26 ` Eli Zaretskii
2025-01-04 21:34 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <87bjwmw9f1.fsf@>
0 siblings, 2 replies; 8+ messages in thread
From: Eli Zaretskii @ 2025-01-04 13:26 UTC (permalink / raw)
To: Björn Bidar; +Cc: 75305
> From: Björn Bidar <bjorn.bidar@thaodan.de>
> Cc: 75305@debbugs.gnu.org
> Date: Fri, 03 Jan 2025 22:33:34 +0200
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Date: Fri, 03 Jan 2025 01:36:19 +0200
> >> From: Björn Bidar via "Bug reports for GNU Emacs,
> >> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> >>
> >>
> >> I noticed that as intended without adding the current group to the
> >> variable in addition to the current group.
> >> The manual states what happens what the variable does when set however I
> >> think the description is not exact enough.
> >>
> >> It is very easy to overlook that to add the current group in addition
> >> other groups it has to be added too.
> >
> > Can you suggest the additions to the manual?
>
> I can. I compared the option to another gnus-refer-article-method one
> which has the option to include the symbol current to include the curren
> t method.
>
> I added the same symbol to gnus-refer-thread-use-search to add the
> current group including the other groups to the list of possible groups
> to search through. I adjusted the manual to include the current symbol and
> explain the option better.
Thanks, but the patch seems to include unrelated changes in the code?
I thought we were talking only about fixing the manual? Or what did I
miss?
Also, please be sure to leave two spaces between sentences, per our
conventions.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched
2025-01-04 13:26 ` Eli Zaretskii
@ 2025-01-04 21:34 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <87bjwmw9f1.fsf@>
1 sibling, 0 replies; 8+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2025-01-04 21:34 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 75305
[-- Attachment #1: Type: text/plain, Size: 2222 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Björn Bidar <bjorn.bidar@thaodan.de>
>> Cc: 75305@debbugs.gnu.org
>> Date: Fri, 03 Jan 2025 22:33:34 +0200
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> Date: Fri, 03 Jan 2025 01:36:19 +0200
>> >> From: Björn Bidar via "Bug reports for GNU Emacs,
>> >> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>> >>
>> >>
>> >> I noticed that as intended without adding the current group to the
>> >> variable in addition to the current group.
>> >> The manual states what happens what the variable does when set however I
>> >> think the description is not exact enough.
>> >>
>> >> It is very easy to overlook that to add the current group in addition
>> >> other groups it has to be added too.
>> >
>> > Can you suggest the additions to the manual?
>>
>> I can. I compared the option to another gnus-refer-article-method one
>> which has the option to include the symbol current to include the curren
>> t method.
>>
>> I added the same symbol to gnus-refer-thread-use-search to add the
>> current group including the other groups to the list of possible groups
>> to search through. I adjusted the manual to include the current symbol and
>> explain the option better.
>
> Thanks, but the patch seems to include unrelated changes in the code?
> I thought we were talking only about fixing the manual? Or what did I
> miss?
>
I look at the situation further and noticed that adding the current
group does not work without the user writing a custom hook to add it.
I already wrote a hook to change gnus-refer-thread-use-search for
another reason, to add the current gnus-message-archive-group to
gnus-refer-thread-use-search.
To just add the current group writing a hook would be to clumsy.
Using the current symbol similar as in gnus-refer-article-method is much
simpler, makes the setting easier to understand and customize for new
users.
The customization changes are there to use better custom types which
makes it easier to customize and harder to put false values into the
option when using custom.
> Also, please be sure to leave two spaces between sentences, per our
> conventions.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Refactor-gnus-refer-thread-use-search.patch --]
[-- Type: text/x-patch, Size: 7768 bytes --]
From 56c0543bb10d7523ca14d5456a1ade37c9c1f6dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= <bjorn.bidar@thaodan.de>
Date: Fri, 3 Jan 2025 04:09:55 +0200
Subject: [PATCH] Refactor gnus-refer-thread-use-search
* lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search):
Make it easier to customize the variable by adding predefine choices
as well as descriptions to each choice. Add option to add the value
`current' to the list of servers and groups to add the current group.
E.g. to add another group and the current group.
* lisp/gnus/gnus-search.el (gnus-refer-thread-maybe-add-current-group,
gnus-search-thread): Add helper function to determine if the option
contains the value current. Use helper function.
* lisp/gnus/nnselect.el (nnselect-request-thread): Use helper function
to check if the value current is in gnus-refer-thread-use-search.
* doc/misc/gnus.texi (gnus-refer-thread-use-search):
Include the current value in the section. Format the section a little
better to have a paragraph for each possible value that the option
may contain. Explain the option to have a list of servers more detailed
, i.e. similarly to the custom description. Highlight that the current
group is not searched unless specified. Explain that unless the articles
of that thread are contained in the searched groups not adding the
current group might not be the desired effect.
---
doc/misc/gnus.texi | 23 +++++++++++++++++------
lisp/gnus/gnus-search.el | 24 +++++++++++++++++++++---
lisp/gnus/gnus-sum.el | 17 +++++++++++++----
lisp/gnus/nnselect.el | 4 ++--
4 files changed, 53 insertions(+), 15 deletions(-)
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 200b68d2059..6ac57a8c463 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -10557,12 +10557,23 @@ Finding the Parent
course, it'll make group entry somewhat slow.
@vindex gnus-refer-thread-use-search
-If @code{gnus-refer-thread-use-search} is @code{nil} (the default)
-then thread-referral only looks for articles in the current group. If
-this variable is @code{t} the server to which the current group
-belongs is searched (provided that searching is available for the
-server's backend). If this variable is a list of servers, each server
-in the list is searched.
+If @code{gnus-refer-thread-use-search} is @code{current} or @code{nil}
+(the default) then thread-referral only looks for articles in the current group.
+
+If this variable is @code{t} the server to which the current group
+belongs is searched. Note this is only possible provided that searching
+is available for the server's backend.
+
+The variable can also be a list of server each server
+in the list is searched. The servers have to specified in a list
+where the first element of this has to be the server and any remaining elements
+can be the groups belonging to that server.
+
+To search in the current group in addition to other groups the list of servers
+may contain the symbol @code{current}.
+If @code{current} is not in the list the current group is not searched,
+note this may be not the desired effect if any of articles referred in
+the thread are not contained in any of the searched groups.
@vindex gnus-refer-thread-limit
The @code{gnus-refer-thread-limit} variable says how many old (i.e.,
diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el
index 12af8dcdfa7..e61df436c80 100644
--- a/lisp/gnus/gnus-search.el
+++ b/lisp/gnus/gnus-search.el
@@ -2206,6 +2206,23 @@ gnus-search-server-to-engine
(declare-function gnus-registry-get-id-key "gnus-registry" (id key))
+(defun gnus-refer-thread-maybe-add-current-group (group)
+ "Find if GROUP should be added to `gnus-refer-thread-use-search'."
+ (cond ((eq 'current gnus-refer-thread-use-search)
+ (list (gnus-info-method (gnus-get-info group))
+ group))
+ ((listp gnus-refer-thread-use-search)
+ (let (out)
+ (dolist (search gnus-refer-thread-use-search)
+ (push (if (and (not (listp search)) (eq 'current search))
+ (list (gnus-info-method (gnus-get-info group))
+ group)
+ search)
+ out))
+ out))
+ (t
+ nil)))
+
(defun gnus-search-thread (header &optional group server)
"Find articles in the thread containing HEADER from GROUP on SERVER.
If `gnus-refer-thread-use-search' is nil only the current group is
@@ -2227,7 +2244,8 @@ gnus-search-thread
" or "))
(cons 'thread t)))
(gnus-search-use-parsed-queries t))
- (if (not gnus-refer-thread-use-search)
+ (if (or (not gnus-refer-thread-use-search)
+ (eq 'current gnus-refer-thread-use-search))
;; Search only the current group and send the headers back to
;; the caller to add to the summary buffer.
(gnus-fetch-headers
@@ -2247,8 +2265,8 @@ gnus-search-thread
(thread (gnus-search-run-query
(list (cons 'search-query-spec query)
(cons 'search-group-spec
- (if (listp gnus-refer-thread-use-search)
- gnus-refer-thread-use-search
+ (or (gnus-refer-thread-maybe-add-current-group
+ group)
(list (list server))))))))
(if (< (nnselect-artlist-length thread) 2)
(message "No other articles in thread")
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index a9caa83b15c..2119235bc2e 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -149,11 +149,20 @@ gnus-refer-thread-use-search
list of servers and groups (where each element is a list whose
car is the server and whose cdr is a list of groups on this
server or nil to search the entire server) searches these
-server/groups. This may usefully be set as a group parameter."
- :version "28.1"
+server/groups.
+
+The list of of server and groups may contain
+the symbol `current' to refer to the current group.
+For example to search in the current group in addition to other groups.
+
+This may usefully be set as a group parameter."
+ :version "31.1"
:group 'gnus-thread
- :type '(restricted-sexp :match-alternatives
- (listp 't 'nil)))
+ :type '(choice (const :tag "Current group" nil)
+ (const :tag "All groups" t)
+ (repeat :tag "Server and groups"
+ (choice (const :tag "Current Group" current)
+ (repeat :tag "Server and groups" string)))))
(defcustom gnus-refer-thread-limit-to-thread nil
"If non-nil referring a thread will limit the summary buffer to
diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el
index c6a1c0a9342..9d55ac27b98 100644
--- a/lisp/gnus/nnselect.el
+++ b/lisp/gnus/nnselect.el
@@ -49,6 +49,7 @@
(require 'gnus-art)
(autoload 'gnus-search-run-query "gnus-search")
(autoload 'gnus-search-server-to-engine "gnus-search")
+(autoload 'gnus-refer-thread-maybe-add-current-group "gnus-search")
(eval-when-compile (require 'cl-lib))
@@ -707,8 +708,7 @@ nnselect-request-thread
(group-spec
(if (not gnus-refer-thread-use-search)
(list (list server artgroup))
- (if (listp gnus-refer-thread-use-search)
- gnus-refer-thread-use-search
+ (or (gnus-refer-thread-maybe-add-current-group group)
(list (list server)))))
(ids (cons (mail-header-id header)
(split-string
--
2.45.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched
[not found] ` <87bjwmw9f1.fsf@>
@ 2025-01-05 6:29 ` Eli Zaretskii
2025-01-05 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <87o70lt2yw.fsf@>
0 siblings, 2 replies; 8+ messages in thread
From: Eli Zaretskii @ 2025-01-05 6:29 UTC (permalink / raw)
To: Björn Bidar, Andrew G Cohen, Eric Abrahamsen; +Cc: 75305
> From: Björn Bidar <bjorn.bidar@thaodan.de>
> Cc: 75305@debbugs.gnu.org
> Date: Sat, 04 Jan 2025 23:34:10 +0200
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Thanks, but the patch seems to include unrelated changes in the code?
> > I thought we were talking only about fixing the manual? Or what did I
> > miss?
> >
>
> I look at the situation further and noticed that adding the current
> group does not work without the user writing a custom hook to add it.
> I already wrote a hook to change gnus-refer-thread-use-search for
> another reason, to add the current gnus-message-archive-group to
> gnus-refer-thread-use-search.
> To just add the current group writing a hook would be to clumsy.
> Using the current symbol similar as in gnus-refer-article-method is much
> simpler, makes the setting easier to understand and customize for new
> users.
>
> The customization changes are there to use better custom types which
> makes it easier to customize and harder to put false values into the
> option when using custom.
Then we'll need to wait for our Gnus expert (CC'ed) to review your
code changes. I have some comments to the documentation part below:
> * lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search):
> Make it easier to customize the variable by adding predefine choices
> as well as descriptions to each choice. Add option to add the value
> `current' to the list of servers and groups to add the current group.
> E.g. to add another group and the current group.
> * lisp/gnus/gnus-search.el (gnus-refer-thread-maybe-add-current-group,
> gnus-search-thread): Add helper function to determine if the option
> contains the value current. Use helper function.
> * lisp/gnus/nnselect.el (nnselect-request-thread): Use helper function
> to check if the value current is in gnus-refer-thread-use-search.
> * doc/misc/gnus.texi (gnus-refer-thread-use-search):
> Include the current value in the section. Format the section a little
> better to have a paragraph for each possible value that the option
> may contain. Explain the option to have a list of servers more detailed
> , i.e. similarly to the custom description. Highlight that the current
> group is not searched unless specified. Explain that unless the articles
> of that thread are contained in the searched groups not adding the
> current group might not be the desired effect.
Some of the lines in the log message are too long. Please be sure to
wrap lines at column 64 if possible, and in any case before column 70.
> +If @code{gnus-refer-thread-use-search} is @code{current} or @code{nil}
> +(the default) then thread-referral only looks for articles in the current group.
^
Comma missing there (yes, it was also missing in the original text).
> +If this variable is @code{t} the server to which the current group
^
Same here.
> +The variable can also be a list of server each server
> +in the list is searched. The servers have to specified in a list
^^^^^^^^^^^^^^^^^
"have to be specified", right?
> +where the first element of this has to be the server and any remaining elements
> +can be the groups belonging to that server.
This is better rephrased in our usual style:
The value can also be a list of the form
@code{(@var{server} @var{group}@dots{})}, where @var{server} is the
server and @var{group}s are the groups belonging to the server.
> +To search in the current group in addition to other groups the list of servers
^
Again missing comma.
> +If @code{current} is not in the list the current group is not searched,
^
Same here.
> +note this may be not the desired effect if any of articles referred in
> +the thread are not contained in any of the searched groups.
I would divide this sentence into two:
If @code{current} is not in the list, ... is not searched. This
may not be the desired effect if ...
> +(defun gnus-refer-thread-maybe-add-current-group (group)
> + "Find if GROUP should be added to `gnus-refer-thread-use-search'."
"Find" is to abstract and withholds information. Suggest to rephrase:
Return t if GROUP should be added to `gnus-refer-thread-use-search'.
Return nil otherwise.
> +The list of of server and groups may contain
> +the symbol `current' to refer to the current group.
> +For example to search in the current group in addition to other groups.
^
Comma missing there.
Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched
2025-01-05 6:29 ` Eli Zaretskii
@ 2025-01-05 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <87o70lt2yw.fsf@>
1 sibling, 0 replies; 8+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2025-01-05 20:33 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Eric Abrahamsen, 75305, Andrew G Cohen
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Björn Bidar <bjorn.bidar@thaodan.de>
>> Cc: 75305@debbugs.gnu.org
>> Date: Sat, 04 Jan 2025 23:34:10 +0200
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> > Thanks, but the patch seems to include unrelated changes in the code?
>> > I thought we were talking only about fixing the manual? Or what did I
>> > miss?
>> >
>>
>> I look at the situation further and noticed that adding the current
>> group does not work without the user writing a custom hook to add it.
>> I already wrote a hook to change gnus-refer-thread-use-search for
>> another reason, to add the current gnus-message-archive-group to
>> gnus-refer-thread-use-search.
>> To just add the current group writing a hook would be to clumsy.
>> Using the current symbol similar as in gnus-refer-article-method is much
>> simpler, makes the setting easier to understand and customize for new
>> users.
>>
>> The customization changes are there to use better custom types which
>> makes it easier to customize and harder to put false values into the
>> option when using custom.
>
> Then we'll need to wait for our Gnus expert (CC'ed) to review your
> code changes. I have some comments to the documentation part below:
OK great.
>> * lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search):
>> Make it easier to customize the variable by adding predefine choices
>> as well as descriptions to each choice. Add option to add the value
>> `current' to the list of servers and groups to add the current group.
>> E.g. to add another group and the current group.
>> * lisp/gnus/gnus-search.el (gnus-refer-thread-maybe-add-current-group,
>> gnus-search-thread): Add helper function to determine if the option
>> contains the value current. Use helper function.
>> * lisp/gnus/nnselect.el (nnselect-request-thread): Use helper function
>> to check if the value current is in gnus-refer-thread-use-search.
>> * doc/misc/gnus.texi (gnus-refer-thread-use-search):
>> Include the current value in the section. Format the section a little
>> better to have a paragraph for each possible value that the option
>> may contain. Explain the option to have a list of servers more detailed
>> , i.e. similarly to the custom description. Highlight that the current
>> group is not searched unless specified. Explain that unless the articles
>> of that thread are contained in the searched groups not adding the
>> current group might not be the desired effect.
>
> Some of the lines in the log message are too long. Please be sure to
> wrap lines at column 64 if possible, and in any case before column 70.
>
I did so but it does make the message harder to read when long function
or variable names come into play.
The grammar errors you noticed are fixed. I also applied the suggested
changes to the docstring of the new function.
^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched
[not found] ` <87o70lt2yw.fsf@>
@ 2025-01-05 20:36 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 8+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2025-01-05 20:36 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Eric Abrahamsen, 75305, Andrew G Cohen
[-- Attachment #1: Type: text/plain, Size: 49 bytes --]
I forgot to attach the update patch, see below:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Refactor-gnus-refer-thread-use-search.patch --]
[-- Type: text/x-patch, Size: 7771 bytes --]
From 8cd116f25411575fb8ad59e08ba1cde8f7d7ae12 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= <bjorn.bidar@thaodan.de>
Date: Fri, 3 Jan 2025 04:09:55 +0200
Subject: [PATCH] Refactor gnus-refer-thread-use-search
* lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search):
Make it easier to customize the variable by adding predefine choices
as well as descriptions to each choice. Add option to add the value
`current' to the list of servers and groups to add the current group.
E.g. to add another group and the current group.
* lisp/gnus/gnus-search.el
(gnus-refer-thread-maybe-add-current-group, gnus-search-thread):
Add helper function to determine if the option contains
the value current. Use helper function.
* lisp/gnus/nnselect.el (nnselect-request-thread): Use helper
function to check if the value current is in
gnus-refer-thread-use-search.
* doc/misc/gnus.texi (gnus-refer-thread-use-search):
Include the current value in the section. Format the section
a little better to have a paragraph for each possible value that
the option may contain. Explain the option to have
a list of servers more detailed , i.e. similarly to the custom
description. Highlight that the current group is not searched
unless specified. Explain that unless the articles of that
thread are contained in the searched groups not adding
the current group might not be the desired effect.
---
doc/misc/gnus.texi | 23 +++++++++++++++++------
lisp/gnus/gnus-search.el | 25 ++++++++++++++++++++++---
lisp/gnus/gnus-sum.el | 17 +++++++++++++----
lisp/gnus/nnselect.el | 4 ++--
4 files changed, 54 insertions(+), 15 deletions(-)
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 200b68d2059..2e9959aeaf0 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -10557,12 +10557,23 @@ Finding the Parent
course, it'll make group entry somewhat slow.
@vindex gnus-refer-thread-use-search
-If @code{gnus-refer-thread-use-search} is @code{nil} (the default)
-then thread-referral only looks for articles in the current group. If
-this variable is @code{t} the server to which the current group
-belongs is searched (provided that searching is available for the
-server's backend). If this variable is a list of servers, each server
-in the list is searched.
+If @code{gnus-refer-thread-use-search} is @code{current} or @code{nil}
+(the default), then thread-referral only looks for articles
+in the current group.
+
+If this variable is @code{t}, the server to which the current group
+belongs is searched. Note this is only possible provided that
+searching is available for the server's backend.
+
+The value can also be a list of the form
+@code{(@var{server} @var{group}@dots{})}, where @var{server} is the
+server and @var{group}s are the groups belonging to the server.
+
+To search in the current group in addition to other groups,
+the list of servers may contain the symbol @code{current}.
+If @code{current} is not in the list, the current group is not searched.
+Note this may be not the desired effect if any of articles referred in
+the thread are not contained in any of the searched groups.
@vindex gnus-refer-thread-limit
The @code{gnus-refer-thread-limit} variable says how many old (i.e.,
diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el
index 12af8dcdfa7..959984c2ca4 100644
--- a/lisp/gnus/gnus-search.el
+++ b/lisp/gnus/gnus-search.el
@@ -2206,6 +2206,24 @@ gnus-search-server-to-engine
(declare-function gnus-registry-get-id-key "gnus-registry" (id key))
+(defun gnus-refer-thread-maybe-add-current-group (group)
+ "Return `gnus-refer-thread-use-search' with `current' replaced by GROUP.
+Return nil if `current' was not found or if was not a list."
+ (cond ((eq 'current gnus-refer-thread-use-search)
+ (list (gnus-info-method (gnus-get-info group))
+ group))
+ ((listp gnus-refer-thread-use-search)
+ (let (out)
+ (dolist (search gnus-refer-thread-use-search)
+ (push (if (and (not (listp search)) (eq 'current search))
+ (list (gnus-info-method (gnus-get-info group))
+ group)
+ search)
+ out))
+ out))
+ (t
+ nil)))
+
(defun gnus-search-thread (header &optional group server)
"Find articles in the thread containing HEADER from GROUP on SERVER.
If `gnus-refer-thread-use-search' is nil only the current group is
@@ -2227,7 +2245,8 @@ gnus-search-thread
" or "))
(cons 'thread t)))
(gnus-search-use-parsed-queries t))
- (if (not gnus-refer-thread-use-search)
+ (if (or (not gnus-refer-thread-use-search)
+ (eq 'current gnus-refer-thread-use-search))
;; Search only the current group and send the headers back to
;; the caller to add to the summary buffer.
(gnus-fetch-headers
@@ -2247,8 +2266,8 @@ gnus-search-thread
(thread (gnus-search-run-query
(list (cons 'search-query-spec query)
(cons 'search-group-spec
- (if (listp gnus-refer-thread-use-search)
- gnus-refer-thread-use-search
+ (or (gnus-refer-thread-maybe-add-current-group
+ group)
(list (list server))))))))
(if (< (nnselect-artlist-length thread) 2)
(message "No other articles in thread")
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index a9caa83b15c..107e52ab8ef 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -149,11 +149,20 @@ gnus-refer-thread-use-search
list of servers and groups (where each element is a list whose
car is the server and whose cdr is a list of groups on this
server or nil to search the entire server) searches these
-server/groups. This may usefully be set as a group parameter."
- :version "28.1"
+server/groups.
+
+The list of of server and groups may contain
+the symbol `current' to refer to the current group.
+For example, to search in the current group in addition to other groups.
+
+This may usefully be set as a group parameter."
+ :version "31.1"
:group 'gnus-thread
- :type '(restricted-sexp :match-alternatives
- (listp 't 'nil)))
+ :type '(choice (const :tag "Current group" nil)
+ (const :tag "All groups" t)
+ (repeat :tag "Server and groups"
+ (choice (const :tag "Current Group" current)
+ (repeat :tag "Server and groups" string)))))
(defcustom gnus-refer-thread-limit-to-thread nil
"If non-nil referring a thread will limit the summary buffer to
diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el
index c6a1c0a9342..9d55ac27b98 100644
--- a/lisp/gnus/nnselect.el
+++ b/lisp/gnus/nnselect.el
@@ -49,6 +49,7 @@
(require 'gnus-art)
(autoload 'gnus-search-run-query "gnus-search")
(autoload 'gnus-search-server-to-engine "gnus-search")
+(autoload 'gnus-refer-thread-maybe-add-current-group "gnus-search")
(eval-when-compile (require 'cl-lib))
@@ -707,8 +708,7 @@ nnselect-request-thread
(group-spec
(if (not gnus-refer-thread-use-search)
(list (list server artgroup))
- (if (listp gnus-refer-thread-use-search)
- gnus-refer-thread-use-search
+ (or (gnus-refer-thread-maybe-add-current-group group)
(list (list server)))))
(ids (cons (mail-header-id header)
(split-string
--
2.45.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-01-05 20:36 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <87wmfclrf0.fsf@>
2025-01-03 8:16 ` bug#75305: 31.0.50; gnus-refer-thread-use-search isn't exact enough about how the current group is searched Eli Zaretskii
2025-01-03 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <87o70nd4dd.fsf@>
2025-01-04 13:26 ` Eli Zaretskii
2025-01-04 21:34 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <87bjwmw9f1.fsf@>
2025-01-05 6:29 ` Eli Zaretskii
2025-01-05 20:33 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <87o70lt2yw.fsf@>
2025-01-05 20:36 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2025-01-02 23:36 Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
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).