bug#27895: 26.0.50; display-line-numbers and header-line-format alignment

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27895: 26.0.50; display-line-numbers and header-line-format alignment

Mark Oteiza

Hi,

Enabling display-line-numbers should affect how header-line-format is
shown.

From -Q:

1. M-x global-display-line-numbers-mode RET
2. M-x ruler-mode RET

Ruler mode uses the header line to show a word-processor-like ruler.
With line numbers shown, the header line is no longer aligned to the
buffer contents.  This is also apparent in C-x C-b or tabulated-list
derived modes where the titles aren't lined up to the corresponding
columns.


In GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, Xaw scroll bars)
 of 2017-07-30 built on logos
Repository revision: d7825cb09eae438a83ed2f5b3e0715523d4ed5b7
Recent messages:
File blow-logan.2017.720p.bluray.x264.sub is large (16.6M), really open? (y or n) n
user-error: Aborted
scroll-up-command: End of buffer [2 times]
When done with this frame, type C-x 5 0
Finding changes in /home/mvo/bin/transmission/transmission.el...done
Mark set
Finding changes in /home/mvo/bin/transmission/transmission.el...done
user-error: No previous hunk
When done with this frame, type C-x 5 0
Mark set
Quit
Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --without-gconf --with-modules
 --with-x-toolkit=lucid 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe
 -fstack-protector-strong' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
LUCID X11 MODULES LIBSYSTEMD

Important settings:
  value of $LC_COLLATE: C
  value of $LC_CTYPE:
  value of $LC_MESSAGES:
  value of $LC_MONETARY:
  value of $LC_NUMERIC:
  value of $LC_TIME:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  global-git-commit-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  paredit-mode: t
  flycheck-mode: t
  rainbow-delimiters-mode: t
  company-statistics-mode: t
  company-mode: t
  cl-old-struct-compat-mode: t
  save-place-mode: t
  show-paren-mode: t
  savehist-mode: t
  display-time-mode: t
  winner-mode: t
  minibuffer-depth-indicate-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/mvo/.emacs.d/elpa/paredit-25beta/paredit hides /home/mvo/.emacs.d/site-lisp/paredit/paredit
/home/mvo/.emacs.d/elpa/tuareg-2.0.10/tuareg hides /home/mvo/.emacs.d/site-lisp/tuareg/tuareg
/usr/share/emacs/26.0.50/lisp/env hides /home/mvo/.emacs.d/site-lisp/google-translate/features/support/env

Features:
(shadow sort mail-extr emacsbug sh-script smie executable cl-print pp cl
mode-local play-media eww mm-url gnus nnheader wid-edit url-queue shr
svg dom browse-url eieio-opt speedbar sb-image ezimage dframe ibuf-ext
ibuffer ibuffer-loaddefs loadhist help-fns radix-tree jka-compr misearch
multi-isearch mm-archive debbugs-gnu debbugs soap-client warnings
rng-xsd rng-dt rng-util xsd-regexp xml network-stream starttls url-http
tls gnutls url-gw nsm url-cache url-auth twitch url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
thingatpt reftex-dcr reftex reftex-loaddefs reftex-vars tex-mode compile
latexenc tmm noutline outline magit-version magit-obsolete magit-blame
magit-stash magit-bisect magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-branch magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
magit-diff magit-core magit-autorevert autorevert filenotify
magit-process magit-margin magit-mode magit-git crm magit-section
magit-popup git-commit magit-utils log-edit message sendmail puny rfc822
mml mml-sec epa epg epg-config gnus-util rmail rmail-loaddefs mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader
pcvs-util add-log with-editor tramp-sh tramp tramp-compat tramp-loaddefs
trampver ucs-normalize shell pcomplete comint ansi-color parse-time
format-spec advice smerge-mode vc-git diff-mode easy-mmode vc-bzr vc-src
vc-sccs vc-svn vc-cvs vc-rcs vc-dir ewoc vc vc-dispatcher dired
dired-loaddefs transmission derived let-alist url-util mailcap diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs color calc-bin calc-ext
calc calc-loaddefs calc-macs descr-text term/tmux term/xterm xterm
server paredit company-oddmuse company-keywords company-etags etags xref
project company-gtags company-dabbrev-code company-dabbrev company-files
company-capf company-cmake company-xcode company-clang company-semantic
company-eclim company-template company-css company-nxml company-bbdb
flycheck cl-extra json map find-func help-mode subr-x dash
rainbow-delimiters company-statistics company finder-inf info package
easymenu url-handlers url-parse auth-source cl-seq eieio eieio-core
eieio-loaddefs password-cache url-vars seq byte-opt bytecomp
byte-compile cconv fontconfig pcase cl-macs gv rx geiser-install geiser
cc-styles cc-align cc-engine cc-vars cc-defs windmove edmacro kmacro
cl-loaddefs cl-lib saveplace time-date paren savehist time winner ring
mb-depth zenburn-theme 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 dbusbind inotify dynamic-setting system-font-setting
font-render-setting x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 643274 69977)
 (symbols 48 54538 5)
 (miscs 40 4717 2517)
 (strings 32 150281 18576)
 (string-bytes 1 4329556)
 (vectors 16 70871)
 (vector-slots 8 1521050 13124)
 (floats 8 641 5370)
 (intervals 56 28630 2563)
 (buffers 992 65))



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27895: 26.0.50; display-line-numbers and header-line-format alignment

Eli Zaretskii
> From: Mark Oteiza <[hidden email]>
> Date: Mon, 31 Jul 2017 21:35:48 -0400
>
> Enabling display-line-numbers should affect how header-line-format is
> shown.

I'm not sure I agree with this, not in this general form.  Modes use
header-line in different ways, and I don't think we can decide for all
of them up front how they should react to line numbers.

While I agree that tabulated-list modes and ruler-mode should indeed
be sensitive to line numbers, because the header-line in those modes
should align with the rest of buffer text, a counter-example is Info
mode, where indenting the header-line will IMO make the display look
uglier, almost buggy.

If people agree that the effect on header-line should be dependent on
the mode, then it follows that the fix should be in the modes, not in
the display engine.  Fixing tabulated-list-mode will fix all of its
descendants; ruler-mode will need a separate fix.  And likewise for
any other mode which reports a similar issue.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27895: 26.0.50; display-line-numbers and header-line-format alignment

Eli Zaretskii
> Date: Tue, 01 Aug 2017 06:35:00 +0300
> From: Eli Zaretskii <[hidden email]>
> Cc: [hidden email]
>
> > From: Mark Oteiza <[hidden email]>
> > Date: Mon, 31 Jul 2017 21:35:48 -0400
> >
> > Enabling display-line-numbers should affect how header-line-format is
> > shown.
>
> I'm not sure I agree with this, not in this general form.  Modes use
> header-line in different ways, and I don't think we can decide for all
> of them up front how they should react to line numbers.
>
> While I agree that tabulated-list modes and ruler-mode should indeed
> be sensitive to line numbers, because the header-line in those modes
> should align with the rest of buffer text, a counter-example is Info
> mode, where indenting the header-line will IMO make the display look
> uglier, almost buggy.
>
> If people agree that the effect on header-line should be dependent on
> the mode, then it follows that the fix should be in the modes, not in
> the display engine.  Fixing tabulated-list-mode will fix all of its
> descendants; ruler-mode will need a separate fix.  And likewise for
> any other mode which reports a similar issue.

No further comments, so I've fixed tabulated-list-mode and ruler-mode
to be sensitive to display-line-numbers, and I'm boldly marking this
bug done.

Thanks.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27895: 26.0.50; display-line-numbers and header-line-format alignment

Mark Oteiza
On 05/08/17 at 02:24pm, Eli Zaretskii wrote:

>> > From: Mark Oteiza <[hidden email]>
>> > Date: Mon, 31 Jul 2017 21:35:48 -0400
>> >
>> > Enabling display-line-numbers should affect how header-line-format is
>> > shown.
>>
>> I'm not sure I agree with this, not in this general form.  Modes use
>> header-line in different ways, and I don't think we can decide for all
>> of them up front how they should react to line numbers.
>>
>> While I agree that tabulated-list modes and ruler-mode should indeed
>> be sensitive to line numbers, because the header-line in those modes
>> should align with the rest of buffer text, a counter-example is Info
>> mode, where indenting the header-line will IMO make the display look
>> uglier, almost buggy.
>>
>> If people agree that the effect on header-line should be dependent on
>> the mode, then it follows that the fix should be in the modes, not in
>> the display engine.  Fixing tabulated-list-mode will fix all of its
>> descendants; ruler-mode will need a separate fix.  And likewise for
>> any other mode which reports a similar issue.
>
>No further comments, so I've fixed tabulated-list-mode and ruler-mode
>to be sensitive to display-line-numbers, and I'm boldly marking this
>bug done.

Thanks.  Info mode being an exception is fine I suppose, though I don't
agree that it would look buggy.

However, from -Q:

1. C-x C-b
2. M-x global-display-line-numbers-mode

The header line does not change until one does a revert-buffer in the
buffer list.  This doesn't look good to me.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27895: 26.0.50; display-line-numbers and header-line-format alignment

Eli Zaretskii
> Date: Sun, 6 Aug 2017 16:25:43 -0400
> From: Mark Oteiza <[hidden email]>
> Cc: [hidden email]
>
> 1. C-x C-b
> 2. M-x global-display-line-numbers-mode
>
> The header line does not change until one does a revert-buffer in the
> buffer list.  This doesn't look good to me.

Thanks, fixed.



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27895: 26.0.50; display-line-numbers and header-line-format alignment

Mark Oteiza
On 12/08/17 at 12:47pm, Eli Zaretskii wrote:

>> Date: Sun, 6 Aug 2017 16:25:43 -0400
>> From: Mark Oteiza <[hidden email]>
>> Cc: [hidden email]
>>
>> 1. C-x C-b
>> 2. M-x global-display-line-numbers-mode
>>
>> The header line does not change until one does a revert-buffer in the
>> buffer list.  This doesn't look good to me.
>
>Thanks, fixed.

Thanks--found more breakage, however:

1. M-x global-display-line-numbers-mode
2. M-x list-packages



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bug#27895: 26.0.50; display-line-numbers and header-line-format alignment

Eli Zaretskii
> Date: Sat, 12 Aug 2017 12:10:52 -0400
> From: Mark Oteiza <[hidden email]>
> Cc: [hidden email]
>
> Thanks--found more breakage, however:
>
> 1. M-x global-display-line-numbers-mode
> 2. M-x list-packages

How about fixing that?  It cannot be too hard, I think.



Loading...