GNU bug report logs - #41537
26.3; window-body-width wrong return value when display-line-numbers-mode is on

Previous Next

Package: emacs;

Reported by: "Matsievskiy S.V." <seregaxvm.main <at> gmail.com>

Date: Tue, 26 May 2020 13:02:01 UTC

Severity: normal

Tags: notabug

Found in version 26.3

Done: Stefan Kangas <stefan <at> marxist.se>

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 41537 in the body.
You can then email your comments to 41537 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#41537; Package emacs. (Tue, 26 May 2020 13:02:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Matsievskiy S.V." <seregaxvm.main <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 26 May 2020 13:02:02 GMT) Full text and rfc822 format available.

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

From: "Matsievskiy S.V." <seregaxvm.main <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.3; window-body-width wrong return value when
 display-line-numbers-mode is on
Date: Tue, 26 May 2020 13:50:38 +0300
`window-body-width` and `window-width` return wrong numbers when
`display-line-numbers-mode` is on.

For example:
```emacs-lisp
(message (format "Width without line numbers: %d" (window-body-width)))
(display-line-numbers-mode 1)
(message (format "Width with line numbers: %d" (window-body-width)))
```

return these lines:
```
Width without line numbers: 209
Width with line numbers: 209
```

This is obviously wrong since line numbers take some window space.
This breaks some packages that rely on `window-body-width` and
`window-width` to align strings. 


In GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20)
 of 2020-05-17, modified by Debian built on x86-csail-01
Windowing system distributor 'The X.Org Foundation', version
11.0.12008000
System Description:     Debian GNU/Linux bullseye/sid

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
Width without line numbers: 209
Width with line numbers: 209

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --enable-libsystemd --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-
lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-
lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --build
 x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
 --libexecdir=/usr/lib --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
 --with-pop=yes
 --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-
lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-
lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --with-x=yes
 --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
 -fdebug-prefix-map=/build/emacs-mHAik2/emacs-26.3+1=. -fstack-
protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS LIBSYSTEMD LCMS2

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

Major mode: Lisp Interaction

Minor modes in effect:
  display-line-numbers-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-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
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv dired dired-loaddefs format-spec rfc822 mml
mml-sec password-cache epa derived epg epg-config gnus-util rmail
rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils thingatpt help-fns radix-tree help-mode
easymenu cl-loaddefs cl-lib misearch multi-isearch display-line-numbers
cus-start cus-load elec-pair time-date mule-util 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 menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame 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 minibuffer 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 lcms2 dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 109750 7626)
 (symbols 48 21505 1)
 (miscs 40 68 215)
 (strings 32 32568 1315)
 (string-bytes 1 804681)
 (vectors 16 14249)
 (vector-slots 8 504282 12068)
 (floats 8 53 281)
 (intervals 56 492 14)
 (buffers 992 13))





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41537; Package emacs. (Tue, 26 May 2020 15:26:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: "Matsievskiy S.V." <seregaxvm.main <at> gmail.com>
Cc: 41537 <at> debbugs.gnu.org
Subject: Re: bug#41537: 26.3;
 window-body-width wrong return value when display-line-numbers-mode
 is on
Date: Tue, 26 May 2020 18:25:33 +0300
tags 41537 notabug
thanks

> From: "Matsievskiy S.V." <seregaxvm.main <at> gmail.com>
> Date: Tue, 26 May 2020 13:50:38 +0300
> 
> `window-body-width` and `window-width` return wrong numbers when
> `display-line-numbers-mode` is on.
> 
> For example:
> ```emacs-lisp
> (message (format "Width without line numbers: %d" (window-body-width)))
> (display-line-numbers-mode 1)
> (message (format "Width with line numbers: %d" (window-body-width)))
> ```
> 
> return these lines:
> ```
> Width without line numbers: 209
> Width with line numbers: 209
> ```
> 
> This is obviously wrong since line numbers take some window space.

This is not wrong, since these functions measure the body without the
line numbers.  This is not a bug, but the intended behavior.

> This breaks some packages that rely on `window-body-width` and
> `window-width` to align strings. 

Those packages should adapt to display-line-numbers-mode by taking
into account the value returned by line-number-display-width.




Added tag(s) notabug. Request was from Eli Zaretskii <eliz <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 26 May 2020 15:26:02 GMT) Full text and rfc822 format available.

Reply sent to Stefan Kangas <stefan <at> marxist.se>:
You have taken responsibility. (Thu, 13 Aug 2020 01:13:04 GMT) Full text and rfc822 format available.

Notification sent to "Matsievskiy S.V." <seregaxvm.main <at> gmail.com>:
bug acknowledged by developer. (Thu, 13 Aug 2020 01:13:04 GMT) Full text and rfc822 format available.

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

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 41537-done <at> debbugs.gnu.org, "Matsievskiy S.V." <seregaxvm.main <at> gmail.com>
Subject: Re: bug#41537: 26.3; window-body-width wrong return value when
 display-line-numbers-mode is on
Date: Wed, 12 Aug 2020 18:12:40 -0700
Eli Zaretskii <eliz <at> gnu.org> writes:

> This is not wrong, since these functions measure the body without the
> line numbers.  This is not a bug, but the intended behavior.
>
>> This breaks some packages that rely on `window-body-width` and
>> `window-width` to align strings.
>
> Those packages should adapt to display-line-numbers-mode by taking
> into account the value returned by line-number-display-width.

I'm therefore closing this bug report.

Best regards,
Stefan Kangas




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

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

Previous Next


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