Subject: bug#41537: closed (Re: bug#41537: 26.3; window-body-width wrong return value when display-line-numbers-mode is on)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 13 Aug 2020 01:13:04 +0000

Your bug report

#41537: 26.3; window-body-width wrong return value when display-line-numbers-mode is on

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
41537: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41537
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#41537: 26.3; window-body-width wrong return value when display-line-numbers-mode is on
From: Stefan Kangas <[email-masked]>
To: Eli Zaretskii <[email-masked]>
Cc: [email-masked], "Matsievskiy S.V." <[email-masked]>
Date: Wed, 12 Aug 2020 18:12:40 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Eli Zaretskii <[email-masked]> 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

Subject: 26.3; window-body-width wrong return value when display-line-numbers-mode is on
From: "Matsievskiy S.V." <[email-masked]>
To: [email-masked]
Date: Tue, 26 May 2020 13:50:38 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

`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))