Subject: bug#17346: 24.4.50; Why is the goal column limited to C-n and C-p ?

From: Stefan Monnier <[email-masked]>
Date: Thu, 09 Oct 2014 12:57:38 -0400

>> We could change that hardcoded list by replacing it with a symbol
>> property `preserve-temporary-goal-column' and then add that property to
>> recenter-top-bottom.
> Sounds right to me.

Patch welcome.

> Note also that, as I said before in this thread, any command intended
> for _vertical_ motion of the cursor (scroll-up-command,
> scroll-down-command, scroll-bar-toolkit-scroll, mwheel-scroll, ...)
> should try to preserve the goal column (whether semi-permanet or
> temporary).

If you want that, just set scroll-preserve-screen-position accordingly.
Maybe we should change this default value.  I'd suggest you bring it up
on emacs-devel to see what other people think about it.

I think there's a remaining bug in that the scroll commands will
use their own "temporary goal-column".  So, for example, if you're on
column 70, then do C-n to an empty line and then do page-down you'll end
up in column 0 because page-down did not pay attention to
temporary-goal-column (and vice-versa when switching from scrolling to
C-n/C-p).
Patch welcome to fix this as well.

        Stefan