Package: emacs;
Reported by: Trevor Arjeski <tmarjeski <at> gmail.com>
Date: Tue, 18 Feb 2025 20:29:02 UTC
Severity: normal
Found in version 31.0.50
To reply to this bug, email your comments to 76404 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
:bug#76404
; Package emacs
.
(Tue, 18 Feb 2025 20:29:02 GMT) Full text and rfc822 format available.Trevor Arjeski <tmarjeski <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Tue, 18 Feb 2025 20:29:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Trevor Arjeski <tmarjeski <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 31.0.50; ERC 5.6.1-git: new erc query buffer becomes sole window on RET Date: Tue, 18 Feb 2025 23:27:58 +0300
Using a few new emacs 31 window configurations, upon creating a new erc query buffer with `/query yournick`, hitting RET or sending a message makes the window the sole window in the frame as if C-x 1 was entered. Minimal reproduction: (use-package window :custom (kill-buffer-quit-windows t) (quit-restore-window-no-switch 'skip-first)) 1. Start erc 2. Open a query from the server buffer with `/query trev` 3. Hit enter 4. Notice that the query buffer that was created as a split becomes the only window in the frame. This seems to trigger in `erc--split-line` in erc-backend.el, where a temp buffer is created and then subsequently killed. In GNU Emacs 31.0.50 (build 10, x86_64-pc-linux-gnu, GTK+ Version 3.24.48, cairo version 1.18.2) of 2025-02-14 built on trevarch Repository revision: 4d6f40dfc9075d64275da97dc35a2becc9eca4a2 Repository branch: makepkg 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 --without-m17n-flt --without-gconf --with-native-compilation=yes --with-xinput2 --with-pgtk --without-xaw3d --with-sound=no --with-tree-sitter --without-gpm --without-compress-install '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wno-implicit-function-declaration -g -ffile-prefix-map=/home/trev/Workspace/emacs-git/src=/usr/src/debug/emacs-git -flto=auto' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 value of $LC_CTYPE: en_US.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: erc-track-mode: t erc-track-minor-mode: t erc-spelling-mode: t erc-ring-mode: t erc-netsplit-mode: t erc-menu-mode: t erc-match-mode: t erc-list-mode: t erc-irccontrols-mode: t erc-move-to-prompt-mode: t erc-readonly-mode: t erc-scrolltobottom-mode: t erc-imenu-mode: t erc-pcomplete-mode: t erc-button-mode: t erc-fill-mode: t erc-stamp-mode: t erc-autojoin-mode: t erc-networks-mode: t diff-hl-flydiff-mode: t global-diff-hl-mode: t diff-hl-mode: t paredit-mode: t display-line-numbers-mode: t ligature-mode: t rainbow-delimiters-mode: t format-all-mode: t global-auto-revert-mode: t repeat-mode: t ws-butler-global-mode: t ws-butler-mode: t global-treesit-auto-mode: t corfu-popupinfo-mode: t global-corfu-mode: t corfu-mode: t marginalia-mode: t savehist-mode: t vertico-mode: t auto-insert-mode: t undo-fu-session-global-mode: t undo-fu-session-mode: t which-key-mode: t electric-pair-mode: t desktop-save-mode: t recentf-mode: t save-place-mode: t override-global-mode: t global-eldoc-mode: t 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 window-divider-mode: t minibuffer-regexp-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t Load-path shadows: ~/.emacs.d//lisp/aoc hides /home/trev/.emacs.d/elpa/aoc-1.0.0/aoc ~/.emacs.d//lisp/launch-program hides /home/trev/.emacs.d/elpa/launch-program-1.0.0/launch-program ~/.emacs.d//lisp/my-secrets hides /home/trev/.emacs.d/elpa/my-secrets-1.0.0/my-secrets Features: (shadow sort mail-extr emacsbug pulse bug-reference eglot external-completion jsonrpc flymake ert pcase c++-ts-mode c-ts-mode c-ts-common xref project cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine comp comp-cstr warnings thingatpt helpful cc-langs cc-vars cc-defs trace cl-print edebug debug backtrace info-look find-func f help-fns radix-tree elisp-refs s comp-run comp-common novice misearch multi-isearch mule-util orderless cape-char cape network-stream nsm erc-track erc-spelling flyspell ispell erc-ring erc-nicks erc-netsplit erc-menu erc-match erc-list erc-goodies erc-imenu imenu erc-pcomplete pcomplete erc-button erc-fill erc-stamp erc-join my-secrets cus-start epa-file erc format-spec erc-backend erc-networks erc-common erc-compat erc-loaddefs diff-hl-flydiff diff diff-hl log-view log-edit message sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader add-log pcvs-util vc-dir ewoc vc vc-git diff-mode track-changes files-x vc-dispatcher jka-compr paredit display-line-numbers rx ligature rainbow-delimiters format-all language-id inheritenv autorevert filenotify repeat init gnus nnheader gnus-util time-date mail-utils range mm-util mail-prsvr cus-edit pp ws-butler treesit-auto treesit corfu-popupinfo corfu marginalia savehist vertico compat autoinsert grep compile text-property-search comint ansi-osc ansi-color ring cus-load undo-fu-session which-key diminish finder-inf edmacro kmacro elec-pair desktop frameset recentf tree-widget wid-edit saveplace nord-theme autothemer color lisp-mnt dash use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode 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 eieio eieio-core icons password-cache json subr-x map byte-opt url-vars cl-macs gv cl-extra help-mode cl-seq use-package-core cl-loaddefs cl-lib bytecomp byte-compile info 2048-game-autoloads ace-window-autoloads aio-autoloads aoc-autoloads autothemer-autoloads avy-autoloads benchmark-init-autoloads cape-autoloads corfu-autoloads debbugs-autoloads diff-hl-autoloads diminish-autoloads elfeed-autoloads emacsql-autoloads envrc-autoloads format-all-autoloads geiser-guile-autoloads geiser-autoloads git-modes-autoloads heap-autoloads helpful-autoloads elisp-refs-autoloads f-autoloads ht-autoloads inheritenv-autoloads language-id-autoloads launch-program-autoloads ligature-autoloads log4e-autoloads magit-autoloads magit-section-autoloads dash-autoloads marginalia-autoloads markdown-mode-autoloads my-secrets-autoloads orderless-autoloads paredit-autoloads rainbow-delimiters-autoloads rainbow-mode-autoloads request-autoloads rust-mode-autoloads s-autoloads sly-autoloads treesit-auto-autoloads undo-fu-autoloads undo-fu-session-autoloads vertico-autoloads vterm-autoloads with-editor-autoloads ws-butler-autoloads early-init 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 touch-screen 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 move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 753787 456549) (symbols 48 29546 38) (strings 32 122308 34583) (string-bytes 1 4464676) (vectors 16 60371) (vector-slots 8 1478094 442007) (floats 8 389 931) (intervals 56 35024 2770) (buffers 992 38))
bug-gnu-emacs <at> gnu.org
:bug#76404
; Package emacs
.
(Wed, 19 Feb 2025 03:39:02 GMT) Full text and rfc822 format available.Message #8 received at 76404 <at> debbugs.gnu.org (full text, mbox):
From: "J.P." <jp <at> neverwas.me> To: Trevor Arjeski <tmarjeski <at> gmail.com> Cc: emacs-erc <at> gnu.org, 76404 <at> debbugs.gnu.org Subject: Re: bug#76404: 31.0.50; ERC 5.6.1-git: new erc query buffer becomes sole window on RET Date: Tue, 18 Feb 2025 19:38:23 -0800
[Message part 1 (text/plain, inline)]
Trevor Arjeski <tmarjeski <at> gmail.com> writes: > Using a few new emacs 31 window configurations, upon creating a new erc > query buffer with `/query yournick`, hitting RET or sending a message > makes the window the sole window in the frame as if C-x 1 was entered. > > Minimal reproduction: > > (use-package window > :custom > (kill-buffer-quit-windows t) > (quit-restore-window-no-switch 'skip-first)) > > 1. Start erc > 2. Open a query from the server buffer with `/query trev` > 3. Hit enter > 4. Notice that the query buffer that was created as a split becomes the > only window in the frame. > > This seems to trigger in `erc--split-line` in erc-backend.el, where a > temp buffer is created and then subsequently killed. Thanks for investigating. Does the attached patch improve the situation?
[0001-5.6.1-Don-t-kill-window-buffer-in-erc-split-line.patch (text/x-patch, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#76404
; Package emacs
.
(Wed, 19 Feb 2025 04:40:02 GMT) Full text and rfc822 format available.Message #11 received at 76404 <at> debbugs.gnu.org (full text, mbox):
From: Trevor Arjeski <tmarjeski <at> gmail.com> To: "J.P." <jp <at> neverwas.me> Cc: emacs-erc <at> gnu.org, 76404 <at> debbugs.gnu.org Subject: Re: bug#76404: 31.0.50; ERC 5.6.1-git: new erc query buffer becomes sole window on RET Date: Wed, 19 Feb 2025 07:38:53 +0300
"J.P." <jp <at> neverwas.me> writes: > Trevor Arjeski <tmarjeski <at> gmail.com> writes: > >> Using a few new emacs 31 window configurations, upon creating a new erc >> query buffer with `/query yournick`, hitting RET or sending a message >> makes the window the sole window in the frame as if C-x 1 was entered. >> >> Minimal reproduction: >> >> (use-package window >> :custom >> (kill-buffer-quit-windows t) >> (quit-restore-window-no-switch 'skip-first)) >> >> 1. Start erc >> 2. Open a query from the server buffer with `/query trev` >> 3. Hit enter >> 4. Notice that the query buffer that was created as a split becomes the >> only window in the frame. >> >> This seems to trigger in `erc--split-line` in erc-backend.el, where a >> temp buffer is created and then subsequently killed. > > Thanks for investigating. Does the attached patch improve the situation? Thanks, this works! Trevor
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.