Subject: bug#53133: 28.0.90; tabulated-list-sort doesn't work as expected

From: Eli Zaretskii <[email-masked]>
Date: Sun, 09 Jan 2022 13:30:28 +0200

> Date: Sun, 09 Jan 2022 12:44:15 +0200
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> > --- tabulated-list.el.org	2022-01-06 22:32:13.936852142 +0900
> > +++ tabulated-list.el	2022-01-07 15:15:42.000000000 +0900
> > @@ -574,7 +581,8 @@
> >        (when not-last-col
> >          (when (> pad-right 0) (insert (make-string pad-right ?\s)))
> >          (insert (propertize
> > -                 (make-string (- width (min width label-width)) ?\s)
> > +                 ;; We need at least one space to align correctly.
> > +                 (make-string (- width (min 1 width label-width)) ?\s)
> >                   'display `(space :align-to ,next-x))))
> >        (put-text-property opoint (point) 'tabulated-list-column-name name)
> >        next-x)))
> 
> You are right.
> 
> Stefan, I reverted that change and I'm reopening bug#48639.  This
> problem is a much more serious regression than what happens sometimes
> when text-size is scaled.  We will need to find another fix for that
> bug, most probably in one of the hooks used by tabulated-list.el, by
> adding the display property only when actually needed.

To help debugging the original problem: the 'display' property that
was always present caused move-to-column in tabulated-list-print to
stop at the wrong position, where the tabulated-list-column-name
property had the wrong value.  So either the 'display' property should
be used only when actually needed, or the tabulated-list-column-name
property should be also put on the text covered by the 'display'
property.