Reported by: Björn Bidar <bjorn.bidar <at> thaodan.de>
Date: Wed, 14 Dec 2022 22:57:02 UTC
Severity: normal
Found in version 30.0.50
To reply to this bug, email your comments to 60078 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Wed, 14 Dec 2022 22:57:02 GMT) Full text and rfc822 format available.Björn Bidar <bjorn.bidar <at> thaodan.de>
:bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
.
(Wed, 14 Dec 2022 22:57:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Björn Bidar <bjorn.bidar <at> thaodan.de> To: bug-gnu-emacs <at> gnu.org Subject: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Thu, 15 Dec 2022 00:55:56 +0200
Steps to reproduce: 1. Add select method 2. Have a group either created before or in Gnus 3. Launch Gnus 4. Quit Gnus 5. Remove select method 6. Relaunch Gnus 7. execute gnus-group-check-bogus-groups or try to delete a group in Gnus Result: gnus-group-expunge-group: nil does not support expunging gnus-get-function: Trying to require a method that doesn’t exist [2 times] Expected result: Groups gone, diagnostic message if needed. Either Gnus doesn't find bogus groups for no longer existing select methods or can't delete them. In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.35, cairo version 1.17.6) of 2022-12-05 built on 875212 Repository revision: 3114158a384d4c1fdc3e1845bf8a55fca7787916 Repository branch: master System Description: Arch Linux Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-modules --with-libotf --without-gconf --with-libsystemd --enable-link-time-optimization --with-native-compilation=yes --with-native-compilation=aot --with-xinput2 --with-pgtk --without-xaw3d --with-sound=alsa --without-gpm --with-tree-sitter '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=x86-64 -mtune=native -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto' 'LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -flto=auto'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB Important settings: value of $LC_MONETARY: fi_FI.UTF-8 value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix Major mode: Group Minor modes in effect: 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 gnus-topic-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 doom-modeline-mode: t global-auto-revert-mode: t org-super-agenda-mode: t gnus-undo-mode: t projectile-mode: t global-company-mode: t company-mode: t electric-pair-mode: t editorconfig-mode: t frames-only-mode: t marginalia-mode: t which-key-mode: t dired-async-mode: t hl-line-mode: t helm-mode: t helm-minibuffer-history-mode: t global-so-long-mode: t change-cursor-mode: t mode-icons-mode: t global-emojify-mode: t emojify-mode: t shell-dirtrack-mode: t server-mode: t helm-autoresize-mode: t desktop-save-mode: t save-place-mode: t delete-selection-mode: t override-global-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-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/private/etc/emacs/lib/w3m/w3m-autoloads hides /home/bidar/.local/private/etc/emacs/lib/w3m/shimbun/w3m-autoloads /home/bidar/.local/private/etc/emacs/lib/vim-modeline/vim-modeline hides /home/bidar/.local/private/etc/emacs/lib/lisp/vim-modeline /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-koma-letter hides /home/bidar/.local/private/etc/emacs/lib/lisp/ox-koma-letter /home/bidar/.local/private/etc/emacs/lib/org-contrib/lisp/ox-groff hides /home/bidar/.local/private/etc/emacs/lib/lisp/ox-groff /home/bidar/.local/private/etc/emacs/lib/lisp/htmlize hides /home/bidar/.local/private/etc/emacs/lib/htmlize/htmlize /home/bidar/.local/private/etc/emacs/lib/lisp/cursor-chg hides /home/bidar/.local/private/etc/emacs/lib/cursor-chg/cursor-chg /home/bidar/.local/private/etc/emacs/lib/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /home/bidar/.local/private/etc/emacs/lib/transient/lisp/transient hides /usr/share/emacs/30.0.50/lisp/transient /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox hides /usr/share/emacs/30.0.50/lisp/org/ox /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-texinfo hides /usr/share/emacs/30.0.50/lisp/org/ox-texinfo /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-publish hides /usr/share/emacs/30.0.50/lisp/org/ox-publish /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-org hides /usr/share/emacs/30.0.50/lisp/org/ox-org /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-odt hides /usr/share/emacs/30.0.50/lisp/org/ox-odt /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-md hides /usr/share/emacs/30.0.50/lisp/org/ox-md /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-man hides /usr/share/emacs/30.0.50/lisp/org/ox-man /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-latex hides /usr/share/emacs/30.0.50/lisp/org/ox-latex /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-koma-letter hides /usr/share/emacs/30.0.50/lisp/org/ox-koma-letter /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-icalendar hides /usr/share/emacs/30.0.50/lisp/org/ox-icalendar /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-html hides /usr/share/emacs/30.0.50/lisp/org/ox-html /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-beamer hides /usr/share/emacs/30.0.50/lisp/org/ox-beamer /home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-ascii hides /usr/share/emacs/30.0.50/lisp/org/ox-ascii /home/bidar/.local/private/etc/emacs/lib/org/lisp/org hides /usr/share/emacs/30.0.50/lisp/org/org /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-version hides /usr/share/emacs/30.0.50/lisp/org/org-version /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-timer hides /usr/share/emacs/30.0.50/lisp/org/org-timer /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-tempo hides /usr/share/emacs/30.0.50/lisp/org/org-tempo /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-table hides /usr/share/emacs/30.0.50/lisp/org/org-table /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-src hides /usr/share/emacs/30.0.50/lisp/org/org-src /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-refile hides /usr/share/emacs/30.0.50/lisp/org/org-refile /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-protocol hides /usr/share/emacs/30.0.50/lisp/org/org-protocol /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-plot hides /usr/share/emacs/30.0.50/lisp/org/org-plot /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-persist hides /usr/share/emacs/30.0.50/lisp/org/org-persist /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-pcomplete hides /usr/share/emacs/30.0.50/lisp/org/org-pcomplete /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-num hides /usr/share/emacs/30.0.50/lisp/org/org-num /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-mouse hides /usr/share/emacs/30.0.50/lisp/org/org-mouse /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-mobile hides /usr/share/emacs/30.0.50/lisp/org/org-mobile /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-macs hides /usr/share/emacs/30.0.50/lisp/org/org-macs /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-macro hides /usr/share/emacs/30.0.50/lisp/org/org-macro /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-loaddefs hides /usr/share/emacs/30.0.50/lisp/org/org-loaddefs /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-list hides /usr/share/emacs/30.0.50/lisp/org/org-list /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-lint hides /usr/share/emacs/30.0.50/lisp/org/org-lint /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-keys hides /usr/share/emacs/30.0.50/lisp/org/org-keys /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-inlinetask hides /usr/share/emacs/30.0.50/lisp/org/org-inlinetask /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-indent hides /usr/share/emacs/30.0.50/lisp/org/org-indent /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-id hides /usr/share/emacs/30.0.50/lisp/org/org-id /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-habit hides /usr/share/emacs/30.0.50/lisp/org/org-habit /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-goto hides /usr/share/emacs/30.0.50/lisp/org/org-goto /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-footnote hides /usr/share/emacs/30.0.50/lisp/org/org-footnote /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-fold hides /usr/share/emacs/30.0.50/lisp/org/org-fold /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-fold-core hides /usr/share/emacs/30.0.50/lisp/org/org-fold-core /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-feed hides /usr/share/emacs/30.0.50/lisp/org/org-feed /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-faces hides /usr/share/emacs/30.0.50/lisp/org/org-faces /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-entities hides /usr/share/emacs/30.0.50/lisp/org/org-entities /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-element hides /usr/share/emacs/30.0.50/lisp/org/org-element /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-duration hides /usr/share/emacs/30.0.50/lisp/org/org-duration /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-datetree hides /usr/share/emacs/30.0.50/lisp/org/org-datetree /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-cycle hides /usr/share/emacs/30.0.50/lisp/org/org-cycle /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-ctags hides /usr/share/emacs/30.0.50/lisp/org/org-ctags /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-crypt hides /usr/share/emacs/30.0.50/lisp/org/org-crypt /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-compat hides /usr/share/emacs/30.0.50/lisp/org/org-compat /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-colview hides /usr/share/emacs/30.0.50/lisp/org/org-colview /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-clock hides /usr/share/emacs/30.0.50/lisp/org/org-clock /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-capture hides /usr/share/emacs/30.0.50/lisp/org/org-capture /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-attach hides /usr/share/emacs/30.0.50/lisp/org/org-attach /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-attach-git hides /usr/share/emacs/30.0.50/lisp/org/org-attach-git /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-archive hides /usr/share/emacs/30.0.50/lisp/org/org-archive /home/bidar/.local/private/etc/emacs/lib/org/lisp/org-agenda hides /usr/share/emacs/30.0.50/lisp/org/org-agenda /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol hides /usr/share/emacs/30.0.50/lisp/org/ol /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-w3m hides /usr/share/emacs/30.0.50/lisp/org/ol-w3m /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-rmail hides /usr/share/emacs/30.0.50/lisp/org/ol-rmail /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-mhe hides /usr/share/emacs/30.0.50/lisp/org/ol-mhe /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-man hides /usr/share/emacs/30.0.50/lisp/org/ol-man /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-irc hides /usr/share/emacs/30.0.50/lisp/org/ol-irc /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-info hides /usr/share/emacs/30.0.50/lisp/org/ol-info /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-gnus hides /usr/share/emacs/30.0.50/lisp/org/ol-gnus /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-eww hides /usr/share/emacs/30.0.50/lisp/org/ol-eww /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-eshell hides /usr/share/emacs/30.0.50/lisp/org/ol-eshell /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-doi hides /usr/share/emacs/30.0.50/lisp/org/ol-doi /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-docview hides /usr/share/emacs/30.0.50/lisp/org/ol-docview /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-bibtex hides /usr/share/emacs/30.0.50/lisp/org/ol-bibtex /home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-bbdb hides /usr/share/emacs/30.0.50/lisp/org/ol-bbdb /home/bidar/.local/private/etc/emacs/lib/org/lisp/oc hides /usr/share/emacs/30.0.50/lisp/org/oc /home/bidar/.local/private/etc/emacs/lib/org/lisp/oc-natbib hides /usr/share/emacs/30.0.50/lisp/org/oc-natbib /home/bidar/.local/private/etc/emacs/lib/org/lisp/oc-csl hides /usr/share/emacs/30.0.50/lisp/org/oc-csl /home/bidar/.local/private/etc/emacs/lib/org/lisp/oc-bibtex hides /usr/share/emacs/30.0.50/lisp/org/oc-bibtex /home/bidar/.local/private/etc/emacs/lib/org/lisp/oc-biblatex hides /usr/share/emacs/30.0.50/lisp/org/oc-biblatex /home/bidar/.local/private/etc/emacs/lib/org/lisp/oc-basic hides /usr/share/emacs/30.0.50/lisp/org/oc-basic /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob hides /usr/share/emacs/30.0.50/lisp/org/ob /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-tangle hides /usr/share/emacs/30.0.50/lisp/org/ob-tangle /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-table hides /usr/share/emacs/30.0.50/lisp/org/ob-table /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-sqlite hides /usr/share/emacs/30.0.50/lisp/org/ob-sqlite /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-sql hides /usr/share/emacs/30.0.50/lisp/org/ob-sql /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-shell hides /usr/share/emacs/30.0.50/lisp/org/ob-shell /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-sed hides /usr/share/emacs/30.0.50/lisp/org/ob-sed /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-screen hides /usr/share/emacs/30.0.50/lisp/org/ob-screen /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-scheme hides /usr/share/emacs/30.0.50/lisp/org/ob-scheme /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-sass hides /usr/share/emacs/30.0.50/lisp/org/ob-sass /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-ruby hides /usr/share/emacs/30.0.50/lisp/org/ob-ruby /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-ref hides /usr/share/emacs/30.0.50/lisp/org/ob-ref /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-python hides /usr/share/emacs/30.0.50/lisp/org/ob-python /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-processing hides /usr/share/emacs/30.0.50/lisp/org/ob-processing /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-plantuml hides /usr/share/emacs/30.0.50/lisp/org/ob-plantuml /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-perl hides /usr/share/emacs/30.0.50/lisp/org/ob-perl /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-org hides /usr/share/emacs/30.0.50/lisp/org/ob-org /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-octave hides /usr/share/emacs/30.0.50/lisp/org/ob-octave /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-ocaml hides /usr/share/emacs/30.0.50/lisp/org/ob-ocaml /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-maxima hides /usr/share/emacs/30.0.50/lisp/org/ob-maxima /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-matlab hides /usr/share/emacs/30.0.50/lisp/org/ob-matlab /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-makefile hides /usr/share/emacs/30.0.50/lisp/org/ob-makefile /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-lua hides /usr/share/emacs/30.0.50/lisp/org/ob-lua /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-lob hides /usr/share/emacs/30.0.50/lisp/org/ob-lob /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-lisp hides /usr/share/emacs/30.0.50/lisp/org/ob-lisp /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-lilypond hides /usr/share/emacs/30.0.50/lisp/org/ob-lilypond /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-latex hides /usr/share/emacs/30.0.50/lisp/org/ob-latex /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-julia hides /usr/share/emacs/30.0.50/lisp/org/ob-julia /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-js hides /usr/share/emacs/30.0.50/lisp/org/ob-js /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-java hides /usr/share/emacs/30.0.50/lisp/org/ob-java /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-haskell hides /usr/share/emacs/30.0.50/lisp/org/ob-haskell /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-groovy hides /usr/share/emacs/30.0.50/lisp/org/ob-groovy /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-gnuplot hides /usr/share/emacs/30.0.50/lisp/org/ob-gnuplot /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-fortran hides /usr/share/emacs/30.0.50/lisp/org/ob-fortran /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-forth hides /usr/share/emacs/30.0.50/lisp/org/ob-forth /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-exp hides /usr/share/emacs/30.0.50/lisp/org/ob-exp /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-eval hides /usr/share/emacs/30.0.50/lisp/org/ob-eval /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-eshell hides /usr/share/emacs/30.0.50/lisp/org/ob-eshell /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-emacs-lisp hides /usr/share/emacs/30.0.50/lisp/org/ob-emacs-lisp /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-dot hides /usr/share/emacs/30.0.50/lisp/org/ob-dot /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-ditaa hides /usr/share/emacs/30.0.50/lisp/org/ob-ditaa /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-css hides /usr/share/emacs/30.0.50/lisp/org/ob-css /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-core hides /usr/share/emacs/30.0.50/lisp/org/ob-core /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-comint hides /usr/share/emacs/30.0.50/lisp/org/ob-comint /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-clojure hides /usr/share/emacs/30.0.50/lisp/org/ob-clojure /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-calc hides /usr/share/emacs/30.0.50/lisp/org/ob-calc /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-awk hides /usr/share/emacs/30.0.50/lisp/org/ob-awk /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-R hides /usr/share/emacs/30.0.50/lisp/org/ob-R /home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-C hides /usr/share/emacs/30.0.50/lisp/org/ob-C /home/bidar/.local/private/etc/emacs/lib/flim/sasl hides /usr/share/emacs/30.0.50/lisp/net/sasl Features: (shadow bbdb-message gnus-alias autocrypt-message emacsbug ietf-drums-date gnus-gravatar gravatar dns url-cache smiley gnus-cite mail-extr textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check gnus-async gnus-bcklg bbdb-gnus-aux char-fold misearch multi-isearch image-file image-converter helm-x-files helm-for-files helm-external forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml forge-post markdown-mode forge-repo forge forge-core forge-db emacsql-sqlite-builtin sqlite magit-bookmark magit-submodule magit-obsolete magit-popup 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 git-commit log-edit add-log magit-core magit-autorevert magit-margin magit-transient magit-process magit-mode transient time-stamp gnus-ml gnus-topic autocrypt-gnus nndraft nnmh utf-7 epa-file network-stream nnfolder bbdb-gnus bbdb-mua nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-cache winner tramp-archive tramp-gvfs helm-command generic-x atomic-chrome websocket minions back-button smartrep recentf tree-widget savehist org-edit-indirect edit-indirect org-bug bug-search 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 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 goto-addr ligature symbol-overlay hideshow vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view pcvs-util vc bug-reference elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib xml-query emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played emms-player-mpd tq 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-mark emms-mode-line emms-cache emms-playlist-mode emms-info-native bindat emms-info-libtag emms-info emms-later-do emms-source-playlist emms-source-file locate emms emms-compat autocrypt gnus-icalendar org-capture smtpmail-async smtpmail gnus-msg gnus-desktop-notify doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path gnus-demon nntp khardel yaml-mode mastodon-async mastodon mastodon-toot mastodon-iso persist mastodon-http request autorevert lui-track company-emoji company-emoji-list helm-circe circe-notifications alert notifications circe-display-images circe-color-nicks circe lui-irc-colors irc lcs lui-logging lui-format lui tracking shorten circe-compat bbdb-vcard bbdb-com bbdb-vcard-vcard21 bbdb bbdb-site timezone org-caldav icalendar ox-extra 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-koma-letter ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox url-dav url-http url-auth url-gw nsm org-expiry ol-man org-super-agenda ts org-habit org-eldoc cdlatex reftex reftex-loaddefs reftex-vars org-appear org-modern guess-language ws-butler selected flyspell org-element org-persist org-id avl-tree oc-basic ol-eww eww 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 gnutls dig ol-docview doc-view ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays holiday-loaddefs vim-modeline company-yasnippet appt org-agenda org-refile org-clock org-protocol ob-sqlite ob-sql ob-shell ob-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 org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util mail-prsvr org-version org-compat org-macs noutline outline perl-completion woman man dabbrev cperl-mode facemenu helm-elisp helm-eval 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 let-alist meson-mode bitbake-modes bitbake generic autoinsert conf-bitbake-mode conf-mode bitbake-ff find-file bitbake-mmm sh-script smie executable mmm-mode mmm-univ mmm-class mmm-region mmm-auto mmm-vars mmm-utils mmm-compat bitbake-functions bitbake-compat python treesit xterm-color magit-libgit libgit libegit2 magit-git magit-base which-func imenu edebug debug backtrace vc-git vc-dispatcher ido magit-section benchmark crm compat-27 diff-mode diary-lib diary-loaddefs cal-menu calendar cal-loaddefs midnight vlf-setup multi-vterm vterm face-remap term disp-table ehelp vterm-module term/xterm xterm projectile skeleton ibuf-macs ibuf-ext ibuffer ibuffer-loaddefs ispell company-oddmuse company-keywords make-mode 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 package url-handlers frames-only-mode marginalia which-key dired-ranger dired-avfs dired-rainbow dired-hacks-utils dired-async dired-du find-dired wdired helm-icons all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons treemacs-icons treemacs-themes treemacs-core-utils treemacs-macros treemacs-logging treemacs-customization pfuture hl-line f f-shortdoc shortdoc s helm-bookmark helm-net browse-url xml url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap helm-adaptive helm-info bookmark helm-mode helm-misc helm-files image-dired image-dired-tags image-dired-external image-dired-util xdg image-mode exif filenotify dired-x dired-aux dired dired-loaddefs ffap tramp tramp-loaddefs trampver tramp-integration cus-edit pp cus-load files-x tramp-compat parse-time iso8601 time-date ls-lisp helm-buffers helm-occur helm-tags helm-locate helm-grep wgrep-helm wgrep grep compile text-property-search helm-regexp format-spec helm-utils helm-help helm-types so-long cursor-chg mode-icons emojify apropos tar-mode arc-mode archive-mode ht inline dash color modus-vivendi-theme modus-themes helm-pass thingatpt password-store with-editor shell pcomplete comint ansi-osc ansi-color ring server helm helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source helm-multi-match helm-lib async auth-source-pass url-parse url-vars auth-source password-cache printing ps-print ps-print-loaddefs lpr desktop frameset edmacro kmacro saveplace delsel no-littering epkg-elpa json map epkg-utils epkg-list epkg-desc wid-edit find-func epkg closql emacsql-sqlite advice emacsql emacsql-compiler llama compat-26 compat compat-macs comp comp-cstr warnings icons use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core w3m-load rx request-autoloads persist-autoloads mastodon-autoloads llama-autoloads bbdb-loaddefs autocrypt-autoloads cl-extra help-mode cl-seq borg derived eieio byte-opt eieio-core cl-macs gv loaddefs-gen generate-lisp-file lisp-mnt radix-tree subr-x pcase info cl-loaddefs cl-lib bytecomp byte-compile rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win pgtk-dnd 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 dynamic-setting system-font-setting font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 2997787 2980828) (symbols 48 106515 938) (strings 32 536445 226961) (string-bytes 1 16480282) (vectors 16 162970) (vector-slots 8 5707751 257372) (floats 8 3526 2327) (intervals 56 50477 2088) (buffers 992 49))
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Thu, 22 Feb 2024 23:03:02 GMT) Full text and rfc822 format available.Message #8 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Jakub Ječmínek <kuba <at> kubajecminek.cz> To: Björn Bidar <bjorn.bidar <at> thaodan.de> Cc: 60078 <at> debbugs.gnu.org Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Thu, 22 Feb 2024 23:01:18 +0000
Björn Bidar <bjorn.bidar <at> thaodan.de> writes: > Steps to reproduce: > 1. Add select method > 2. Have a group either created before or in Gnus > 3. Launch Gnus > 4. Quit Gnus > 5. Remove select method > 6. Relaunch Gnus > 7. execute gnus-group-check-bogus-groups or try to delete a group in > Gnus > > Result: > gnus-group-expunge-group: nil does not support expunging > gnus-get-function: Trying to require a method that doesn’t exist [2 > times] > > Expected result: > Groups gone, diagnostic message if needed. > > Either Gnus doesn't find bogus groups for no longer existing select > methods or can't delete them. Hello Björn, thanks for the bug report. I believe that the "correct" way to deal with such groups is simply to kill them (C-k in *Group* buffer). The documenatation says the following about the bogus group: A group that exists in the ‘.newsrc’ file, but isn’t known to the server (i.e., it isn’t in the active file), is a _bogus group_. This means that the group probably doesn’t exist (any more). So basically if you remove the select method corresponding to a particular group then Gnus is not able to check for bogus groups. -- Kuba Ječmínek (http://kubajecminek.cz)
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Fri, 23 Feb 2024 03:27:02 GMT) Full text and rfc822 format available.Message #11 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Eric Abrahamsen <eric <at> ericabrahamsen.net> To: Jakub Ječmínek via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de>, Jakub Ječmínek <kuba <at> kubajecminek.cz> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Thu, 22 Feb 2024 19:26:08 -0800
Jakub Ječmínek via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> writes: > Björn Bidar <bjorn.bidar <at> thaodan.de> writes: > >> Steps to reproduce: >> 1. Add select method >> 2. Have a group either created before or in Gnus >> 3. Launch Gnus >> 4. Quit Gnus >> 5. Remove select method >> 6. Relaunch Gnus >> 7. execute gnus-group-check-bogus-groups or try to delete a group in >> Gnus >> >> Result: >> gnus-group-expunge-group: nil does not support expunging >> gnus-get-function: Trying to require a method that doesn’t exist [2 >> times] >> >> Expected result: >> Groups gone, diagnostic message if needed. >> >> Either Gnus doesn't find bogus groups for no longer existing select >> methods or can't delete them. > > Hello Björn, thanks for the bug report. I believe that the "correct" way > to deal with such groups is simply to kill them (C-k in *Group* buffer). > > The documenatation says the following about the bogus group: > > A group that exists in the ‘.newsrc’ file, but isn’t known to the server > (i.e., it isn’t in the active file), is a _bogus group_. This means > that the group probably doesn’t exist (any more). > > So basically if you remove the select method corresponding to a > particular group then Gnus is not able to check for bogus groups. My understanding of checking for bogus group is that it should handle precisely these circumstances: removing groups that no longer have a corresponding select method. I tried Björn's recipe in the gnus-mock package, which is the closest thing I've got to a uncustomized Gnus. Replacing the principle select method (previously nnmaildir) with nnnil, restarting Gnus, and running "b", correctly prompted me to remove the three groups that had previously belonged to the nnmaildir server. I'm guessing that Björn has some expunging-related customization that attempts to expunge messages early on, maybe during the active-file reading that happens as the first step of checking for bogus groups? Gnus is trying to get the nonexistent select method to expunge its articles before it has a chance to remove the groups. Just a guess...
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Fri, 23 Feb 2024 04:16:01 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Fri, 23 Feb 2024 09:26:02 GMT) Full text and rfc822 format available.Message #17 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Jakub Ječmínek <kuba <at> kubajecminek.cz> To: Eric Abrahamsen <eric <at> ericabrahamsen.net> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Fri, 23 Feb 2024 09:22:58 +0000
"Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: > I tried Björn's recipe in the gnus-mock package, which is the closest > thing I've got to a uncustomized Gnus. Replacing the principle select > method (previously nnmaildir) with nnnil, restarting Gnus, and running > "b", correctly prompted me to remove the three groups that had > previously belonged to the nnmaildir server. Can you try that with `gnus-secondary-select-methods'? -- Kuba Ječmínek (http://kubajecminek.cz)
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Fri, 23 Feb 2024 16:14:01 GMT) Full text and rfc822 format available.Message #20 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Eric Abrahamsen <eric <at> ericabrahamsen.net> To: Jakub Ječmínek <kuba <at> kubajecminek.cz> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Fri, 23 Feb 2024 08:12:41 -0800
On 02/23/24 09:22 AM, Jakub Ječmínek wrote: > "Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: > >> I tried Björn's recipe in the gnus-mock package, which is the closest >> thing I've got to a uncustomized Gnus. Replacing the principle select >> method (previously nnmaildir) with nnnil, restarting Gnus, and running >> "b", correctly prompted me to remove the three groups that had >> previously belonged to the nnmaildir server. > > Can you try that with `gnus-secondary-select-methods'? Oh weird, in that case I don't get an error, but it also doesn't offer to remove the groups -- nothing happens at all. I'll look into this a little more closely.
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Mon, 01 Apr 2024 21:11:02 GMT) Full text and rfc822 format available.Message #23 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Jakub Ječmínek <kuba <at> kubajecminek.cz> To: Eric Abrahamsen <eric <at> ericabrahamsen.net> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Mon, 01 Apr 2024 21:10:31 +0000
Eric Abrahamsen <eric <at> ericabrahamsen.net> writes: > On 02/23/24 09:22 AM, Jakub Ječmínek wrote: >> "Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: >> >>> I tried Björn's recipe in the gnus-mock package, which is the closest >>> thing I've got to a uncustomized Gnus. Replacing the principle select >>> method (previously nnmaildir) with nnnil, restarting Gnus, and running >>> "b", correctly prompted me to remove the three groups that had >>> previously belonged to the nnmaildir server. >> >> Can you try that with `gnus-secondary-select-methods'? > > Oh weird, in that case I don't get an error, but it also doesn't offer > to remove the groups -- nothing happens at all. I'll look into this a > little more closely. Have you managed to make any progress, Eric? Best -- Kuba Ječmínek (http://kubajecminek.cz)
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Sat, 11 May 2024 03:39:02 GMT) Full text and rfc822 format available.Message #26 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Eric Abrahamsen <eric <at> ericabrahamsen.net> To: 60078 <at> debbugs.gnu.org Cc: Jakub Ječmínek <kuba <at> kubajecminek.cz>, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Fri, 10 May 2024 20:38:14 -0700
Jakub Ječmínek <kuba <at> kubajecminek.cz> writes: > Eric Abrahamsen <eric <at> ericabrahamsen.net> writes: > >> On 02/23/24 09:22 AM, Jakub Ječmínek wrote: >>> "Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: >>> >>>> I tried Björn's recipe in the gnus-mock package, which is the closest >>>> thing I've got to a uncustomized Gnus. Replacing the principle select >>>> method (previously nnmaildir) with nnnil, restarting Gnus, and running >>>> "b", correctly prompted me to remove the three groups that had >>>> previously belonged to the nnmaildir server. >>> >>> Can you try that with `gnus-secondary-select-methods'? >> >> Oh weird, in that case I don't get an error, but it also doesn't offer >> to remove the groups -- nothing happens at all. I'll look into this a >> little more closely. > > Have you managed to make any progress, Eric? Ahem... So it looks like there's multiple things going on here. First of all, the check for bogus groups explicitly excludes secondary select methods. Why I do not know, but it's been that way since 2004. Second, expunging isn't really related to this question. Expunging means asking a server to delete all deletable articles, and if a group has no server, then there's no way to do that. That leaves plain old deleting, and so far as I can tell there's no problem with deleting groups that have no server present. So I want to make sure this isn't a misunderstanding about expunging, and if it isn't, if there's something else I'm missing. Thanks! Eric
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Sun, 12 May 2024 22:09:02 GMT) Full text and rfc822 format available.Message #29 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Jakub Ječmínek <kuba <at> kubajecminek.cz> To: Eric Abrahamsen <eric <at> ericabrahamsen.net> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Sun, 12 May 2024 22:08:40 +0000
Hello Eric, thanks for looking into it once again. "Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: > So it looks like there's multiple things going on here. First of all, > the check for bogus groups explicitly excludes secondary select methods. > Why I do not know, but it's been that way since 2004. I believe that this is a bug. The documentation says that the `bogus' group is such that exists in the `.newsrc' file, but isn’t known to the server (i.e., it isn’t in the active file). So it must not be active and must not be foreign. But the definition of foreign group in `gnus-check-bogus-newsgroups' is different from what was defined by Lars in 1997: (defun gnus-group-foreign-p (group) "Say whether a group is foreign or not." (and (not (gnus-group-native-p group)) (not (gnus-group-secondary-p group)))) We should use this predicate in `gnus-check-bogus-newsgroups' which fixes the bug we hit along the way (different behaviour between primary (native) and secondary select methods). What do you think? From a7141acb5361be1c34775bd73434889018f0e9ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Je=C4=8Dm=C3=ADnek?= <kuba <at> kubajecminek.cz> Date: Sun, 12 May 2024 23:58:22 +0200 Subject: [PATCH] Fix foreign group predicate in gnus-check-bogus-newsgroups * lisp/gnus/gnus-start.el (gnus-check-bogus-newsgroups): Use correct predicate for foreign groups. --- lisp/gnus/gnus-start.el | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index 05ad4303b5c..b01551d8e22 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -1368,9 +1368,7 @@ gnus-check-bogus-newsgroups (setq info (pop newsrc) group (gnus-info-group info)) (unless (or (gnus-active group) ; Active - (and (gnus-info-method info) - (not (gnus-secondary-method-p - (gnus-info-method info))))) ; Foreign + (gnus-group-foreign-p group)) ; Foreign ;; Found a bogus newsgroup. (push group bogus))) (if confirm -- 2.34.1 Best -- Kuba Ječmínek (http://kubajecminek.cz)
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Tue, 14 May 2024 00:57:02 GMT) Full text and rfc822 format available.Message #32 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Eric Abrahamsen <eric <at> ericabrahamsen.net> To: Jakub Ječmínek <kuba <at> kubajecminek.cz> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Mon, 13 May 2024 17:55:38 -0700
Jakub Ječmínek via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> writes: > Hello Eric, thanks for looking into it once again. > > "Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: > >> So it looks like there's multiple things going on here. First of all, >> the check for bogus groups explicitly excludes secondary select methods. >> Why I do not know, but it's been that way since 2004. > > I believe that this is a bug. The documentation says that the `bogus' > group is such that exists in the `.newsrc' file, but isn’t known to the > server (i.e., it isn’t in the active file). > > So it must not be active and must not be foreign. But the definition of > foreign group in `gnus-check-bogus-newsgroups' is different from what > was defined by Lars in 1997: > > (defun gnus-group-foreign-p (group) > "Say whether a group is foreign or not." > (and (not (gnus-group-native-p group)) > (not (gnus-group-secondary-p group)))) > > We should use this predicate in `gnus-check-bogus-newsgroups' which > fixes the bug we hit along the way (different behaviour between primary > (native) and secondary select methods). > > What do you think? I think you're right about the definition of "foreign", and that there's a bug/misunderstanding in code like this, but this check isn't a complete fix because `gnus-group-secondary-p' looks up the group's method, and the whole reason we're running this code is that the group's method no longer exists. (The original/current code also has this issue.) If the method is actually gone, groups that used to belong to it will also be passed over. So I guess there's two scenarios to support: in the first, the server is still there but one or more groups are gone (someone's deleted an IMAP folder from the server), and in the second the server itself has been removed from the user's config files, and we're clearing out the old groups. Your patch (or at least the understanding behind it) should be part of the fix, but there will have to be more. Thanks, Eric
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Tue, 14 May 2024 20:43:01 GMT) Full text and rfc822 format available.Message #35 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Jakub Ječmínek <kuba <at> kubajecminek.cz> To: Eric Abrahamsen <eric <at> ericabrahamsen.net> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Tue, 14 May 2024 20:42:05 +0000
This whole issue sent me really deep, so thank you for sticking by. "Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: > I think you're right about the definition of "foreign", and that there's > a bug/misunderstanding in code like this, but this check isn't a > complete fix because `gnus-group-secondary-p' looks up the group's > method, and the whole reason we're running this code is that the group's > method no longer exists. (The original/current code also has this > issue.) If the method is actually gone, groups that used to belong to it > will also be passed over. Then it comes down to you as package maintainer to decide what bogus group actually is, because current definition makes little sense to me. For example, if the server is down and Gnus is not able to get active info, all groups belonging to that server become bogus, which is a little unfortunate. > So I guess there's two scenarios to support: in the first, the server is > still there but one or more groups are gone (someone's deleted an IMAP > folder from the server) and in the second the server itself has been > removed from the user's config files, and we're clearing out the old > groups. Both of these cases can be handled with simple (group-active group) predicate. Do you have a clue why Lars wanted to handle foreign groups separately? I've searched (ding) mailing list, old bug reports, changelogs, commit messages, and everything else I could find but I found nothing. Thanks! -- Kuba Ječmínek (http://kubajecminek.cz)
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Thu, 16 May 2024 17:04:02 GMT) Full text and rfc822 format available.Message #38 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Eric Abrahamsen <eric <at> ericabrahamsen.net> To: Jakub Ječmínek <kuba <at> kubajecminek.cz> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Thu, 16 May 2024 10:02:51 -0700
Jakub Ječmínek via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> writes: > This whole issue sent me really deep, so thank you for sticking by. It's pretty confusing. > "Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: > >> I think you're right about the definition of "foreign", and that there's >> a bug/misunderstanding in code like this, but this check isn't a >> complete fix because `gnus-group-secondary-p' looks up the group's >> method, and the whole reason we're running this code is that the group's >> method no longer exists. (The original/current code also has this >> issue.) If the method is actually gone, groups that used to belong to it >> will also be passed over. > > Then it comes down to you as package maintainer to decide what bogus > group actually is, because current definition makes little sense to > me. For example, if the server is down and Gnus is not able to get > active info, all groups belonging to that server become bogus, which is > a little unfortunate. > >> So I guess there's two scenarios to support: in the first, the server is >> still there but one or more groups are gone (someone's deleted an IMAP >> folder from the server) and in the second the server itself has been >> removed from the user's config files, and we're clearing out the old >> groups. > > Both of these cases can be handled with simple (group-active group) > predicate. Do you have a clue why Lars wanted to handle foreign groups > separately? I've searched (ding) mailing list, old bug reports, > changelogs, commit messages, and everything else I could find but I > found nothing. This code is ancient, so I think we're dealing with both terminology and functionality that has evolved over time. A bit of searching indicates that "bogus" was something of a technical term (in the 90s) in the usenet world, and meant a group that was being deprecated or deleted, where server administrators were encouraged to drop it or at least stop advertising its existence. I think in the Gnus context "bogus" very specifically refers to this. The 90s was also when Gnus was fundamentally a newsreader, with "extras". The primary select method was always going to be a nntp server. So this check may have grown extra functionality over the years, but basically it was just meant to see if any NNTP groups had disappeared from the server. Now we have more types of server where this might be applicable: disappearing IMAP folders, deleted maildir directories, etc. This "foreign" thing is annoying. I guess it just means groups that are created via the Gnus interface (ie "G m" etc) rather than in your config files. But it's more subtle than that, because you don't create groups via your config files, either, you only define select methods. And for groups created via "G m", it's possible to create a group and specify an existing (in-your-config-files) select method as its select method. And if you specify a non-existent select method for the group, that select method will be "created", in that now it will be treated as real, and multiple groups that have the same sexp as their select methods will be treated as having the "same" select method. Where does that leave us? I think there's no safe way to say "this group's select method no longer exists", because in many cases the presence of a sexp like (nnml "<directory>") is enough to count as "exists". So I think "bogus" can only mean: "this group belongs to a server that provides a `gnus-request-list' method, but when we request the list, this group isn't in it". I think you're right that simply checking if a group is active shouldn't mean anything, as there are plenty of reasons a group might not be activated. WDYT?
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Thu, 16 May 2024 19:54:01 GMT) Full text and rfc822 format available.Message #41 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Jakub Ječmínek <kuba <at> kubajecminek.cz> To: Eric Abrahamsen <eric <at> ericabrahamsen.net> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Thu, 16 May 2024 19:53:43 +0000
"Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: > [...] > Where does that leave us? I think there's no safe way to say "this > group's select method no longer exists", because in many cases the > presence of a sexp like (nnml "<directory>") is enough to count as > "exists". > > So I think "bogus" can only mean: "this group belongs to a server that > provides a `gnus-request-list' method, but when we request the list, > this group isn't in it". > > I think you're right that simply checking if a group is active shouldn't > mean anything, as there are plenty of reasons a group might not be > activated. > > WDYT? Your analysis is brilliant, thank you. So to summarize what bogus group actually should be: 1. The server of the newsgroup provides `gnus-request-list' method 2. The server has been sucessfully opened 3. The group is not listed in the active file 4. We do not distinguish between native and secondary select methods and foreign groups. Is it correct? If we go back to Björn's bug report though, I still think that the "correct" way to remove groups without corresponding select method is to kill them (C-k) and then kill them again from the list of killed newsgroups. This is actually what `gnus-check-bogus-newsgroups' function does. -- Kuba Ječmínek (http://kubajecminek.cz)
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Fri, 17 May 2024 02:56:02 GMT) Full text and rfc822 format available.Message #44 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Eric Abrahamsen <eric <at> ericabrahamsen.net> To: Jakub Ječmínek <kuba <at> kubajecminek.cz> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Thu, 16 May 2024 19:55:32 -0700
Jakub Ječmínek via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> writes: > "Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: >> [...] >> Where does that leave us? I think there's no safe way to say "this >> group's select method no longer exists", because in many cases the >> presence of a sexp like (nnml "<directory>") is enough to count as >> "exists". >> >> So I think "bogus" can only mean: "this group belongs to a server that >> provides a `gnus-request-list' method, but when we request the list, >> this group isn't in it". >> >> I think you're right that simply checking if a group is active shouldn't >> mean anything, as there are plenty of reasons a group might not be >> activated. >> >> WDYT? > > Your analysis is brilliant, thank you. So to summarize what bogus group > actually should be: > > 1. The server of the newsgroup provides `gnus-request-list' method > 2. The server has been sucessfully opened > 3. The group is not listed in the active file > 4. We do not distinguish between native and secondary select methods > and foreign groups. > > Is it correct? That's what I think, yes, though it would probably be a good idea to float this on gnus.general and see if anyone has any opinions, I'll do that in a bit. > If we go back to Björn's bug report though, I still think that the > "correct" way to remove groups without corresponding select method is to > kill them (C-k) and then kill them again from the list of killed > newsgroups. This is actually what `gnus-check-bogus-newsgroups' function > does. Yes, poor Björn didn't really get anything resolved -- I think in his case the thing to do is just delete the groups. Eric
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Fri, 17 May 2024 20:49:01 GMT) Full text and rfc822 format available.Message #47 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Jakub Ječmínek <kuba <at> kubajecminek.cz> To: Eric Abrahamsen <eric <at> ericabrahamsen.net> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Fri, 17 May 2024 20:48:37 +0000
"Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: > That's what I think, yes, though it would probably be a good idea to > float this on gnus.general and see if anyone has any opinions, I'll do > that in a bit. Great. > Yes, poor Björn didn't really get anything resolved -- I think in his > case the thing to do is just delete the groups. Should we close this one or is there anything else to discuss/fix? Thanks! Best -- Kuba Ječmínek (http://kubajecminek.cz)
bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org
:bug#60078
; Package emacs,gnus
.
(Tue, 21 May 2024 22:49:02 GMT) Full text and rfc822 format available.Message #50 received at 60078 <at> debbugs.gnu.org (full text, mbox):
From: Eric Abrahamsen <eric <at> ericabrahamsen.net> To: Jakub Ječmínek <kuba <at> kubajecminek.cz> Cc: 60078 <at> debbugs.gnu.org, Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: Re: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore Date: Tue, 21 May 2024 15:48:07 -0700
Jakub Ječmínek <kuba <at> kubajecminek.cz> writes: > "Eric Abrahamsen" <eric <at> ericabrahamsen.net> writes: > >> That's what I think, yes, though it would probably be a good idea to >> float this on gnus.general and see if anyone has any opinions, I'll do >> that in a bit. > > Great. > >> Yes, poor Björn didn't really get anything resolved -- I think in his >> case the thing to do is just delete the groups. > > Should we close this one or is there anything else to discuss/fix? I only just posted to gnus.general, maybe let's see what responses are like, if any, and then decided what to do with this report.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.