Subject: bug#25308: Shorten long "ui-lines" in Custom buffers

From: Eli Zaretskii <[email-masked]>
Date: Sat, 31 Dec 2016 15:57:28 +0200

> From: Jonas Bernoulli <[email-masked]>
> Date: Sat, 31 Dec 2016 14:26:06 +0100
> 
> Custom buffers contain two long lines, the first separating the initial
> buttons from the options shown below, and the second is for symmetry, I
> suppose.  This is implemented in `custom-group-value-create'.
> 
> These lines are 999 characters long.  When point ends up on the "line
> line", then it ends up at the *end* of that line, scrolling all content
> except for the line itself off-window.  This happens both with C-n/C-p,
> as well as when using the mouse scroll wheel.

The scrolling only happens for me if I set truncate-lines to a non-nil
value.  Is that what you see?  Or perhaps you invoke Customize in a
partial-width window, in which case truncate-partial-width-windows is
non-nil by default?

If lines are not truncated, there's no horizontal scrolling.

> If that is considered to be too ugly, then I would suggest setting the
> `:align-to' to be just long enough to reach the edge of the window (but
> never longer) at the time `custom-group-value-create' is called, using
> something like:
> 
> (list 'space :align-to
>       `(+ (0 . right)
>           ,(min (window-hscroll)
>                 (- (line-end-position)
>                    (line-beginning-position)))))

Does this really work when a window has its lines truncated?