GNU bug report logs - #43582
27.1; Avoid topic changes to topicless group

Previous Next

Package: emacs;

Reported by: dick <dick.r.chiang <at> gmail.com>

Date: Wed, 23 Sep 2020 21:25:02 UTC

Severity: normal

Tags: fixed

Found in version 27.1

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 43582 in the body.
You can then email your comments to 43582 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#43582; Package emacs. (Wed, 23 Sep 2020 21:25:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to dick <dick.r.chiang <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 23 Sep 2020 21:25:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: dick <dick.r.chiang <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.1; Avoid topic changes to topicless group
Date: Wed, 23 Sep 2020 17:24:26 -0400
[Message part 1 (text/plain, inline)]
Note gnus.general appears *twice* because `gnus-topic-change-level' on a
topicless group will blithely add it to gnus-topic-alist without updating the
group buffer to reflect its new position in the "topology."

emacs-27.1 -Q --batch \
--eval "(custom-set-variables \
 '(network-security-level (quote low)) \
 '(gnus-interactive-exit (quote quiet)) \
 '(gnus-large-newsgroup 4000) \
 '(gnus-select-method (quote (nntp \"news.gmane.io\"))) \
 '(gnus-add-timestamp-to-message (quote log)) \
 '(gnus-before-startup-hook (quote (toggle-debug-on-error))) \
 '(gnus-always-read-dribble-file t) \
 '(gnus-use-dribble-file nil) \
 '(gnus-read-newsrc-file nil) \
 '(gnus-parameters (quote ((\"^nntp\" (display . 1000))))) \
 '(gnus-summary-prepared-hook (quote (gnus-summary-hide-all-threads))) \
 '(gnus-startup-file \"/var/tmp/foo\") \
 )" \
-l gnus-topic \
--eval "(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)" \
-f gnus \
--eval "(gnus-server-open-all-servers)" \
--eval "(gnus-fetch-group \"nntp+news.gmane.io:gmane.emacs.gnus.general\")" \
--eval "(with-current-buffer (gnus-summary-buffer-name \"nntp+news.gmane.io:gmane.emacs.gnus.general\") (gnus-summary-exit))" \
--eval "(goto-char (point-min))" \
--eval "(save-excursion (gnus-group-subscribe nil))" \
--eval "(gnus-topic-move-group nil \"misc\")" \
--eval "(princ (buffer-string) #'external-debugging-output)"

[0001-Bad-things-happen-when-applying-topic-changes-to-top.patch (text/x-diff, inline)]
From 88fe5b506efc230cbf172389844502dcc33d98c6 Mon Sep 17 00:00:00 2001
From: dickmao <none>
Date: Wed, 23 Sep 2020 17:15:09 -0400
Subject: [PATCH] Bad things happen when applying topic changes to topicless
 groups

* lisp/gnus/gnus-topic.el (gnus-topic-change-level):
Do not change gnus-topic-alist when group is outside "toplogy."
---
 lisp/gnus/gnus-topic.el | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/lisp/gnus/gnus-topic.el b/lisp/gnus/gnus-topic.el
index ffd26bb30f..c913002f70 100644
--- a/lisp/gnus/gnus-topic.el
+++ b/lisp/gnus/gnus-topic.el
@@ -897,9 +897,7 @@ gnus-topic-change-level
     (let ((inhibit-read-only t))
       (unless gnus-topic-inhibit-change-level
 	(gnus-group-goto-group (or (car (nth 1 previous)) group))
-	(when (and gnus-topic-mode
-		   gnus-topic-alist
-		   (not gnus-topic-inhibit-change-level))
+	(when (and gnus-topic-mode gnus-topic-alist (gnus-current-topic))
 	  ;; Remove the group from the topics.
 	  (if (and (< oldlevel gnus-level-zombie)
 		   (>= level gnus-level-zombie))
-- 
2.26.2

[Message part 3 (text/plain, inline)]


In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
 of 2020-08-25 built on dick
Repository revision: ddd82c2b1261b2c5d5425c0738112f47e2bb18bf
Repository branch: gnus-dev-27
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description: Ubuntu 18.04.4 LTS

Recent messages:
#	todo.org
#

Quit [4 times]
Mark set
Auto-saving...done
Saving file /home/dick/emacs/.git/COMMIT_EDITMSG...
Wrote /home/dick/emacs/.git/COMMIT_EDITMSG
Git finished
Mark saved where search started [2 times]

Configured using:
 'configure --prefix=/home/dick/.local --with-rsvg=yes --with-xml2=yes'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY LIBSELINUX
GNUTLS LIBXML2 FREETYPE HARFBUZZ XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE
XIM MODULES THREADS JSON PDUMPER GMP

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Outline

Minor modes in effect:
  semantic-minor-modes-format: ((:eval (if (or semantic-highlight-edits-mode semantic-show-unmatched-syntax-mode)  S)))
  pdf-occur-global-minor-mode: t
  bug-reference-mode: t
  pyvenv-mode: t
  show-paren-mode: t
  global-magit-file-mode: t
  magit-file-mode: t
  magit-auto-revert-mode: t
  auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  flx-ido-mode: t
  projectile-mode: t
  ido-everywhere: t
  override-global-mode: t
  shell-dirtrack-mode: t
  global-hl-line-mode: t
  winner-mode: t
  cl-old-struct-compat-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/dick/ESS/lisp/obsolete/ess-swv hides /home/dick/ESS/lisp/ess-swv
/home/dick/ESS/lisp/obsolete/ess-rutils hides /home/dick/ESS/lisp/ess-rutils
/home/dick/ESS/lisp/obsolete/ess-noweb hides /home/dick/ESS/lisp/ess-noweb
/home/dick/ESS/lisp/obsolete/mouseme hides /home/dick/ESS/lisp/mouseme
/home/dick/ESS/lisp/obsolete/ess-mouse hides /home/dick/ESS/lisp/ess-mouse
/home/dick/ESS/lisp/obsolete/ess-noweb-mode hides /home/dick/ESS/lisp/ess-noweb-mode
/home/dick/ESS/lisp/obsolete/make-regexp hides /home/dick/ESS/lisp/make-regexp
/home/dick/ESS/lisp/obsolete/ess-r-a hides /home/dick/ESS/lisp/ess-r-a
/home/dick/ESS/lisp/obsolete/ess-noweb-font-lock-mode hides /home/dick/ESS/lisp/ess-noweb-font-lock-mode
/home/dick/gomacro-mode/gomacro-mode hides /home/dick/.emacs.d/elpa/gomacro-mode-20200326.1103/gomacro-mode
/home/dick/ESS/lisp/julia-mode-latexsubs hides /home/dick/.emacs.d/elpa/julia-mode-20200717.1915/julia-mode-latexsubs
/home/dick/ESS/lisp/julia-mode hides /home/dick/.emacs.d/elpa/julia-mode-20200717.1915/julia-mode
/home/dick/.emacs.d/elpa/hydra-20170924.2259/lv hides /home/dick/.emacs.d/elpa/lv-20191106.1238/lv
/home/dick/melpa-stats/melpa-stats hides /home/dick/.emacs.d/elpa/melpa-stats-20190720.1833/melpa-stats
/home/dick/.emacs.d/elpa/async-20200113.1745/async-autoloads hides /home/dick/.local/share/emacs/site-lisp/emacs-async/async-autoloads
/home/dick/.emacs.d/elpa/async-20200113.1745/async-bytecomp hides /home/dick/.local/share/emacs/site-lisp/emacs-async/async-bytecomp
/home/dick/.emacs.d/elpa/async-20200113.1745/smtpmail-async hides /home/dick/.local/share/emacs/site-lisp/emacs-async/smtpmail-async
/home/dick/.emacs.d/elpa/async-20200113.1745/dired-async hides /home/dick/.local/share/emacs/site-lisp/emacs-async/dired-async
/home/dick/.emacs.d/elpa/async-20200113.1745/async hides /home/dick/.local/share/emacs/site-lisp/emacs-async/async
/home/dick/.emacs.d/elpa/async-20200113.1745/async-pkg hides /home/dick/.local/share/emacs/site-lisp/emacs-async/async-pkg
/home/dick/.emacs.d/lisp/json hides /home/dick/.local/share/emacs/27.1/lisp/json
/home/dick/.emacs.d/elpa/map-2.1/map hides /home/dick/.local/share/emacs/27.1/lisp/emacs-lisp/map

Features:
(edebug deuglify gnus-async gnus-cite gnus-cus gnus-demon gnus-diary nndiary
gnus-draft gnus-agent nnvirtual nntp gnus-cache nndraft nnmh gnus-dup gnus-fun
gnus-html url-queue mm-url gnus-kill gnus-logic gnus-mh mh-comp mh-scan
mh-gnus mh-e mh-compat mh-buffers mh-loaddefs gnus-registry registry gnus-salt
gnus-score score-mode gnus-srvr gnus-topic gnus-uu yenc gnus-vm debbugs-gnu
debbugs soap-client rng-xsd rng-dt rng-util xsd-regexp shadow sort flyspell
ispell footnote mail-extr gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime
smime dig emacsbug sendmail dired-aux rect git-rebase sx-interaction
sx-compose sx-question-list sx-favorites sx-networks sx-site sx-tag sx-time
sx-question-mode sx-question-print sx-user sx-babel sx-button markdown-mode
edit-indirect sx-switchto sx-question sx-method sx-auth sx-filter sx-request
sx-encoding sx-cache pdf-sync pdf-annot pdf-outline pdf-history pdf-occur
pdf-links pdf-tools pdf-isearch tablist pdf-misc pdf-view magit-bookmark
bookmark pdf-cache pdf-info tq pdf-util tablist-filter semantic/wisent/comp
semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local cedet tar-mode
arc-mode archive-mode make-mode tabify linum term disp-table ehelp fzf
autoload lisp-mnt mm-archive timezone ein-markdown-mode ein-ipynb-mode
ein-process ein-jupyter exec-path-from-shell ein-dev ein-notebook ein-gat
ein-python-send ein-traceback ein-shared-output ein-pytools ein-pager view
ein-completer ein-notification ein-scratchsheet ein-worksheet poly-ein
display-line-numbers polymode poly-lock polymode-base polymode-weave
polymode-export polymode-compat polymode-methods polymode-core
polymode-classes eieio-custom ein-kill-ring ein-kernelinfo ein-file
ein-notebooklist eieio-opt speedbar sb-image ezimage dframe ein-contents-api
bug-reference magit-extras mule-util face-remap vc vc-dispatcher cl-print
debug backtrace pulse ivy delsel colir color ivy-overlay dumb-jump f
company-oddmuse company-keywords company-etags company-gtags
company-dabbrev-code company-dabbrev company-files company-cmake company-xcode
company-eclim company-css company-nxml company-bbdb company-go
company-template company-c-headers es-mode js yasnippet-snippets yasnippet
company-capf help-fns radix-tree elpy elpy-rpc pyvenv eshell esh-cmd esh-ext
esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util elpy-shell
elpy-profile elpy-django elpy-refactor python tramp-sh jsonnet-mode ag vc-svn
find-dired s sh-script executable org-element avl-tree ol-eww ol-rmail ol-mhe
ol-irc ol-info ol-gnus nnir gnus-sum gnus-group gnus-undo gnus-start
gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int
gnus-range gnus-win ol-docview doc-view image-mode exif ol-bibtex bibtex
ol-bbdb ol-w3m org-tempo tempo org org-macro org-footnote org-pcomplete
org-list org-faces org-entities org-version ob-jupyter jupyter-org-extensions
jupyter-org-client jupyter-repl jupyter-kernel-manager jupyter-channel
jupyter-widget-client simple-httpd jupyter-client jupyter-comm-layer
jupyter-messages hmac-def jupyter-mime shr svg dom jupyter-kernelspec
jupyter-env jupyter-base tramp tramp-loaddefs trampver tramp-integration
files-x tramp-compat parse-time iso8601 ls-lisp eieio-base ob-emacs-lisp
ob-ein ein-cell ein-output-area ein-kernel ein-ipdb ein-query ein-events
ein-websocket websocket bindat ein-node ewoc ein-log ein-classes ein-core
request ein ein-utils deferred cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs ob ob-tangle org-src ob-ref
ob-lob ob-table ob-exp ob-comint ob-core ob-eval org-table ol org-keys
org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs conf-mode
network-stream url-http url-gw nsm url-cache url-auth misearch multi-isearch
flycheck find-func jka-compr let-alist go-eldoc gomacro-mode go-mode find-file
ffap paredit-ext paredit dired-x inf-ruby ruby-mode smie melpa-stats ht
dash-functional anaphora a pp sx key-combo company haskell-interactive-mode
haskell-presentation-mode haskell-process haskell-session haskell-compile
haskell-mode haskell-cabal haskell-utils haskell-font-lock haskell-indentation
haskell-string haskell-sort-imports haskell-lexeme rx haskell-align-imports
haskell-complete-module haskell-ghc-support etags fileloop generator dabbrev
haskell-customize hydra lv use-package-ensure paren magit-patch-changelog
magit-patch 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 which-func imenu magit-diff
smerge-mode diff diff-mode magit-core magit-autorevert autorevert filenotify
magit-margin magit-transient magit-process magit-mode git-commit transient
magit-git magit-section magit-utils crm log-edit message rmc dired
dired-loaddefs rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader pcvs-util add-log with-editor
async-bytecomp async pcase server dash flx-ido flx solarized-theme
solarized-definitions projectile ibuf-ext ibuffer ibuffer-loaddefs grep gnus
nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
text-property-search time-date mail-utils mm-util mail-prsvr
google-translate-default-ui google-translate-core-ui ido google-translate-core
google-translate-tk google-translate-backend use-package-bind-key bind-key
auto-complete popup cus-edit cus-start cus-load wid-edit ess-r-mode
ess-r-flymake flymake-proc flymake warnings thingatpt ess-r-xref xref ess-trns
ess-r-package shell pcomplete ess-r-completion ess-roxy ess-r-syntax ess-rd
noutline outline easy-mmode hideshow ess-s-lang ess-help ess-mode ess-inf
project format-spec ess-tracebug ess ess-utils ess-custom compile comint
ansi-color ace-window avy emms-player-mplayer emms-player-simple emms
emms-compat twittering-mode epa derived epg epg-config tls gnutls puny url
url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap advice xml cl cl-extra help-mode use-package-core hl-line
winner ring finder-inf howdoyou-autoloads json-reformat-autoloads
json-snatcher-autoloads edmacro kmacro sml-mode-autoloads
tornado-template-mode-autoloads info package easymenu browse-url url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile
cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment text-mode
elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer cl-generic 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 charscript charprop case-table epa-hook jka-cmpr-hook help
simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face
macroexp files text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 3031264 413991)
 (symbols 48 73036 0)
 (strings 32 328820 55332)
 (string-bytes 1 13170408)
 (vectors 16 302683)
 (vector-slots 8 8429273 461014)
 (floats 8 4346 4887)
 (intervals 56 109714 4679)
 (buffers 1000 275))

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#43582; Package emacs. (Thu, 24 Sep 2020 14:50:02 GMT) Full text and rfc822 format available.

Message #8 received at 43582 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: dick <dick.r.chiang <at> gmail.com>
Cc: 43582 <at> debbugs.gnu.org
Subject: Re: bug#43582: 27.1; Avoid topic changes to topicless group
Date: Thu, 24 Sep 2020 16:48:54 +0200
dick <dick.r.chiang <at> gmail.com> writes:

> Note gnus.general appears *twice* because `gnus-topic-change-level' on a
> topicless group will blithely add it to gnus-topic-alist without updating the
> group buffer to reflect its new position in the "topology."

Thanks; applied to Emacs 28.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 24 Sep 2020 14:50:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 28.1, send any further explanations to 43582 <at> debbugs.gnu.org and dick <dick.r.chiang <at> gmail.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 24 Sep 2020 14:50:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 23 Oct 2020 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 186 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.