GNU bug report logs - #76279
31.0.50; ERC 5.6.1-git: scrolltobottom-mode broken on certain global text scaling

Previous Next

Package: emacs;

Reported by: Trevor Arjeski <tmarjeski <at> gmail.com>

Date: Fri, 14 Feb 2025 07:25:02 UTC

Severity: normal

Found in version 31.0.50

Done: "J.P." <jp <at> neverwas.me>

To reply to this bug, email your comments to 76279 AT debbugs.gnu.org.
There is no need to reopen the bug first.

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#76279; Package emacs. (Fri, 14 Feb 2025 07:25:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Trevor Arjeski <tmarjeski <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 14 Feb 2025 07:25:03 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: scrolltobottom-mode broken on certain
 global text scaling
Date: Fri, 14 Feb 2025 10:24:12 +0300
[Message part 1 (text/plain, inline)]
Minimal configuration:
(use-package erc
  :config
  (setopt erc-modules '(scrolltobottom))
  (erc-scrolltobottom-mode))

1. Use above config to ensure scrolltobottom module is loaded
2. Start erc with a connection to libera (M-x erc-tls)
3. C-x 1 on the erc buffer window to make it the sole window
4. Once the Libera buffer is loaded, this should be a sufficient number
of lines to trigger scroll to bottom.
5. On some resolutions or window size this may be enough to see that the
input line (ERC>) is not at the bottom of the window, but in the
middle. If not, proceed to step 6.
6. Invoke (global-text-scale-adjust) using C-x C-M-= and continue to
press the "=" key until you can notice that the input line jumps to the
center of the window.

Attached, find a video of the issue.

[erc-scrolltobottom-bug.mp4 (video/mp4, attachment)]
[Message part 3 (text/plain, inline)]


In GNU Emacs 31.0.50 (build 6, x86_64-pc-linux-gnu, GTK+ Version
 3.24.48, cairo version 1.18.2) of 2025-02-07 built on trevarch
Repository revision: 0c0f5f5df24947f0658c274f9fa62829ef5401dd
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'
 'CXXFLAGS=-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
 -Wp,-D_GLIBCXX_ASSERTIONS -g
 -ffile-prefix-map=/home/trev/Workspace/emacs-git/src=/usr/src/debug/emacs-git
 -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
  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 comp-run comp-common mail-extr emacsbug message yank-media
dired dired-loaddefs rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums cape-char cape face-remap mule-util orderless
network-stream puny 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 epa derived epg rfc6068 epg-config erc
format-spec erc-backend erc-networks erc-common erc-compat erc-loaddefs
paredit display-line-numbers rx ligature rainbow-delimiters format-all
language-id inheritenv vc-git diff-mode track-changes files-x
vc-dispatcher jka-compr toml-ts-mode 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 456584 378656) (symbols 48 21667 25) (strings 32 81263 23083)
 (string-bytes 1 2810236) (vectors 16 41956) (vector-slots 8 1274059 373114)
 (floats 8 354 1179) (intervals 56 13798 12216) (buffers 992 25))


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76279; Package emacs. (Fri, 14 Feb 2025 08:44:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Trevor Arjeski <tmarjeski <at> gmail.com>, "J.P." <jp <at> neverwas.me>
Cc: 76279 <at> debbugs.gnu.org
Subject: Re: bug#76279: 31.0.50;
 ERC 5.6.1-git: scrolltobottom-mode broken on certain global text
 scaling
Date: Fri, 14 Feb 2025 10:43:21 +0200
> From: Trevor Arjeski <tmarjeski <at> gmail.com>
> Date: Fri, 14 Feb 2025 10:24:12 +0300
> 
> Minimal configuration:
> (use-package erc
>   :config
>   (setopt erc-modules '(scrolltobottom))
>   (erc-scrolltobottom-mode))
> 
> 1. Use above config to ensure scrolltobottom module is loaded
> 2. Start erc with a connection to libera (M-x erc-tls)
> 3. C-x 1 on the erc buffer window to make it the sole window
> 4. Once the Libera buffer is loaded, this should be a sufficient number
> of lines to trigger scroll to bottom.
> 5. On some resolutions or window size this may be enough to see that the
> input line (ERC>) is not at the bottom of the window, but in the
> middle. If not, proceed to step 6.
> 6. Invoke (global-text-scale-adjust) using C-x C-M-= and continue to
> press the "=" key until you can notice that the input line jumps to the
> center of the window.

Aren't you supposed to set erc-input-line-position to -1 if you want
the prompt to always be at the last line?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76279; Package emacs. (Fri, 14 Feb 2025 09:40:02 GMT) Full text and rfc822 format available.

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

From: Trevor Arjeski <tmarjeski <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 76279 <at> debbugs.gnu.org, "J.P." <jp <at> neverwas.me>
Subject: Re: bug#76279: 31.0.50; ERC 5.6.1-git: scrolltobottom-mode broken
 on certain global text scaling
Date: Fri, 14 Feb 2025 12:39:18 +0300
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Trevor Arjeski <tmarjeski <at> gmail.com>
>> Date: Fri, 14 Feb 2025 10:24:12 +0300
>> 
>> Minimal configuration:
>> (use-package erc
>>   :config
>>   (setopt erc-modules '(scrolltobottom))
>>   (erc-scrolltobottom-mode))
>> 
>> 1. Use above config to ensure scrolltobottom module is loaded
>> 2. Start erc with a connection to libera (M-x erc-tls)
>> 3. C-x 1 on the erc buffer window to make it the sole window
>> 4. Once the Libera buffer is loaded, this should be a sufficient number
>> of lines to trigger scroll to bottom.
>> 5. On some resolutions or window size this may be enough to see that the
>> input line (ERC>) is not at the bottom of the window, but in the
>> middle. If not, proceed to step 6.
>> 6. Invoke (global-text-scale-adjust) using C-x C-M-= and continue to
>> press the "=" key until you can notice that the input line jumps to the
>> center of the window.
>
> Aren't you supposed to set erc-input-line-position to -1 if you want
> the prompt to always be at the last line?

Does not seem to make a difference for me and also in the
`erc-scroll-to-bottom' procedure of erc-goodies.el it seems to already
do that by default with `(or erc-input-line-position -1)', right?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76279; Package emacs. (Sat, 15 Feb 2025 03:49:02 GMT) Full text and rfc822 format available.

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

From: "J.P." <jp <at> neverwas.me>
To: Trevor Arjeski <tmarjeski <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, emacs-erc <at> gnu.org, 76279 <at> debbugs.gnu.org
Subject: Re: bug#76279: 31.0.50; ERC 5.6.1-git: scrolltobottom-mode broken
 on certain global text scaling
Date: Fri, 14 Feb 2025 19:48:22 -0800
Trevor Arjeski <tmarjeski <at> gmail.com> writes:

> Eli Zaretskii <eliz <at> gnu.org> writes:
>
>>> From: Trevor Arjeski <tmarjeski <at> gmail.com>
>>> Date: Fri, 14 Feb 2025 10:24:12 +0300
>>> 
>>> Minimal configuration:
>>> (use-package erc
>>>   :config
>>>   (setopt erc-modules '(scrolltobottom))
>>>   (erc-scrolltobottom-mode))
>>> 
>>> 1. Use above config to ensure scrolltobottom module is loaded
>>> 2. Start erc with a connection to libera (M-x erc-tls)
>>> 3. C-x 1 on the erc buffer window to make it the sole window
>>> 4. Once the Libera buffer is loaded, this should be a sufficient number
>>> of lines to trigger scroll to bottom.
>>> 5. On some resolutions or window size this may be enough to see that the
>>> input line (ERC>) is not at the bottom of the window, but in the
>>> middle. If not, proceed to step 6.
>>> 6. Invoke (global-text-scale-adjust) using C-x C-M-= and continue to
>>> press the "=" key until you can notice that the input line jumps to the
>>> center of the window.
>>
>> Aren't you supposed to set erc-input-line-position to -1 if you want
>> the prompt to always be at the last line?
>
> Does not seem to make a difference for me and also in the
> `erc-scroll-to-bottom' procedure of erc-goodies.el it seems to already
> do that by default with `(or erc-input-line-position -1)', right?

Does configuring `erc-scrolltobottom-all' to t help any? (Note that you
must do so before connecting or else cycle the module's minor mode.)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#76279; Package emacs. (Sat, 15 Feb 2025 05:12:03 GMT) Full text and rfc822 format available.

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

From: Trevor Arjeski <tmarjeski <at> gmail.com>
To: "J.P." <jp <at> neverwas.me>
Cc: Eli Zaretskii <eliz <at> gnu.org>, emacs-erc <at> gnu.org, 76279 <at> debbugs.gnu.org
Subject: Re: bug#76279: 31.0.50; ERC 5.6.1-git: scrolltobottom-mode broken
 on certain global text scaling
Date: Sat, 15 Feb 2025 08:11:26 +0300
"J.P." <jp <at> neverwas.me> writes:

> Trevor Arjeski <tmarjeski <at> gmail.com> writes:
>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>>>> From: Trevor Arjeski <tmarjeski <at> gmail.com>
>>>> Date: Fri, 14 Feb 2025 10:24:12 +0300
>>>> 
>>>> Minimal configuration:
>>>> (use-package erc
>>>>   :config
>>>>   (setopt erc-modules '(scrolltobottom))
>>>>   (erc-scrolltobottom-mode))
>>>> 
>>>> 1. Use above config to ensure scrolltobottom module is loaded
>>>> 2. Start erc with a connection to libera (M-x erc-tls)
>>>> 3. C-x 1 on the erc buffer window to make it the sole window
>>>> 4. Once the Libera buffer is loaded, this should be a sufficient number
>>>> of lines to trigger scroll to bottom.
>>>> 5. On some resolutions or window size this may be enough to see that the
>>>> input line (ERC>) is not at the bottom of the window, but in the
>>>> middle. If not, proceed to step 6.
>>>> 6. Invoke (global-text-scale-adjust) using C-x C-M-= and continue to
>>>> press the "=" key until you can notice that the input line jumps to the
>>>> center of the window.
>>>
>>> Aren't you supposed to set erc-input-line-position to -1 if you want
>>> the prompt to always be at the last line?
>>
>> Does not seem to make a difference for me and also in the
>> `erc-scroll-to-bottom' procedure of erc-goodies.el it seems to already
>> do that by default with `(or erc-input-line-position -1)', right?
>
> Does configuring `erc-scrolltobottom-all' to t help any? (Note that you
> must do so before connecting or else cycle the module's minor mode.)

That DOES work! Uncovering the mysteries of erc...

We can close this now. Thanks, J.P!

Trevor




Reply sent to "J.P." <jp <at> neverwas.me>:
You have taken responsibility. (Sun, 16 Feb 2025 19:45:02 GMT) Full text and rfc822 format available.

Notification sent to Trevor Arjeski <tmarjeski <at> gmail.com>:
bug acknowledged by developer. (Sun, 16 Feb 2025 19:45:03 GMT) Full text and rfc822 format available.

Message #22 received at 76279-done <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: Trevor Arjeski <tmarjeski <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, emacs-erc <at> gnu.org, 76279-done <at> debbugs.gnu.org
Subject: Re: bug#76279: 31.0.50; ERC 5.6.1-git: scrolltobottom-mode broken
 on certain global text scaling
Date: Sun, 16 Feb 2025 11:44:05 -0800
Trevor Arjeski <tmarjeski <at> gmail.com> writes:

> "J.P." <jp <at> neverwas.me> writes:
>
>> Trevor Arjeski <tmarjeski <at> gmail.com> writes:
>>
>>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>>
>>>>> From: Trevor Arjeski <tmarjeski <at> gmail.com>
>>>>> Date: Fri, 14 Feb 2025 10:24:12 +0300
>>>>> 
>>>>> Minimal configuration:
>>>>> (use-package erc
>>>>>   :config
>>>>>   (setopt erc-modules '(scrolltobottom))
>>>>>   (erc-scrolltobottom-mode))
>>>>> 
>>>>> 1. Use above config to ensure scrolltobottom module is loaded
>>>>> 2. Start erc with a connection to libera (M-x erc-tls)
>>>>> 3. C-x 1 on the erc buffer window to make it the sole window
>>>>> 4. Once the Libera buffer is loaded, this should be a sufficient number
>>>>> of lines to trigger scroll to bottom.
>>>>> 5. On some resolutions or window size this may be enough to see that the
>>>>> input line (ERC>) is not at the bottom of the window, but in the
>>>>> middle. If not, proceed to step 6.
>>>>> 6. Invoke (global-text-scale-adjust) using C-x C-M-= and continue to
>>>>> press the "=" key until you can notice that the input line jumps to the
>>>>> center of the window.
>>>>
>>>> Aren't you supposed to set erc-input-line-position to -1 if you want
>>>> the prompt to always be at the last line?
>>>
>>> Does not seem to make a difference for me and also in the
>>> `erc-scroll-to-bottom' procedure of erc-goodies.el it seems to already
>>> do that by default with `(or erc-input-line-position -1)', right?
>>
>> Does configuring `erc-scrolltobottom-all' to t help any? (Note that you
>> must do so before connecting or else cycle the module's minor mode.)
>
> That DOES work! Uncovering the mysteries of erc...
>
> We can close this now. Thanks, J.P!

Done, thanks.

>
> Trevor




This bug report was last modified 4 days ago.

Previous Next


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