all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Proposal to improve the nomenclature of scrolling directions
@ 2012-11-04 14:10 Dani Moncayo
  2012-11-04 14:37 ` Stefan Monnier
                   ` (2 more replies)
  0 siblings, 3 replies; 97+ messages in thread
From: Dani Moncayo @ 2012-11-04 14:10 UTC (permalink / raw)
  To: Emacs development discussions

Hello,

After reading (info "(emacs) Scrolling"), I think the Emacs
terminology for specifying scrolling directions is pretty confusing:

1.  The terms "up" and "down" have the opposite meanings of the ones
commonly used in the (non-emacs) world.  The info node explains that
this is for historical reasons; OK, but then, why don't we try to find
a solution?  (see below)

2.  The terms "forward" and "backward" are used as synonyms for "up"
and "down" respectively.  I guess this was an attempt to mitigate the
previous problem [*], but IMO it worsens it, because:
(a) They are ambiguous: here we are talking about _vertical_
scrolling, and "forward"/"backward" could refer to horizontal
scrolling too.
(b) They take the opposite criterion: while "up"/"down" refer to the
movement of the text (relative to the window), "forward"/"backward"
refer to the movement of the window (relative to the text).  So we end
up with a confusing mix of criteria.


So here is my proposal for solving these problems:
1.  Rename the command `scroll-up' to `scroll-window-down' (an
unambiguous name, which uses the standard approach of describing the
window movement), and define `scroll-up' as an obsolete alias for
`scroll-window-down'.  Likewise for the rest of scroll commands with
"up"/"down" in their names.
2.  Remove the use of "forward" and "backward" to refer to scrolling directions.

WDYT

--- Footnotes ---

[*] http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg01063.html

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 14:10 Dani Moncayo
@ 2012-11-04 14:37 ` Stefan Monnier
  2012-11-04 15:00   ` Dani Moncayo
  2012-11-05 11:06 ` Richard Stallman
  2012-11-05 18:05 ` Daniel Hackney
  2 siblings, 1 reply; 97+ messages in thread
From: Stefan Monnier @ 2012-11-04 14:37 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: Emacs development discussions

> (a) They are ambiguous: here we are talking about _vertical_
> scrolling, and "forward"/"backward" could refer to horizontal
> scrolling too.

We could fix that by explicitly mentioning it's vertical scrolling.

> (b) They take the opposite criterion: while "up"/"down" refer to the
> movement of the text (relative to the window), "forward"/"backward"
> refer to the movement of the window (relative to the text).  So we end
> up with a confusing mix of criteria.

That's also a problem in your proposal.

> 1.  Rename the command `scroll-up' to `scroll-window-down' (an

While you can argue it's less ambiguous, you have to think about it
to remove the various ambiguities (e.g. you have think about it before
determining that it probably doesn't mean "scroll-window- as opposed to
scroll-frame-").
The up/down terminology is just to be avoided, I think.  Much clearer is
terminology that refers to the beginning/end of the text.


        Stefan



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 14:37 ` Stefan Monnier
@ 2012-11-04 15:00   ` Dani Moncayo
  2012-11-04 17:07     ` Juanma Barranquero
  2012-11-05  2:44     ` Stefan Monnier
  0 siblings, 2 replies; 97+ messages in thread
From: Dani Moncayo @ 2012-11-04 15:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs development discussions

On Sun, Nov 4, 2012 at 3:37 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>> (a) They are ambiguous: here we are talking about _vertical_
>> scrolling, and "forward"/"backward" could refer to horizontal
>> scrolling too.
>
> We could fix that by explicitly mentioning it's vertical scrolling.

Yes, but I guess we all agree that "up" is a cleaner, shorter and thus
better name than "vertical backward".

>> (b) They take the opposite criterion: while "up"/"down" refer to the
>> movement of the text (relative to the window), "forward"/"backward"
>> refer to the movement of the window (relative to the text).  So we end
>> up with a confusing mix of criteria.
>
> That's also a problem in your proposal.

I don't think so: my proposal implies to use a single criterion: the
standard one that describes the movement of the window (view port),
relative to the text.

>> 1.  Rename the command `scroll-up' to `scroll-window-down' (an
>
> While you can argue it's less ambiguous, you have to think about it
> to remove the various ambiguities (e.g. you have think about it before
> determining that it probably doesn't mean "scroll-window- as opposed to
> scroll-frame-").

Mmmm, well, then maybe "scroll-view-" would be even better than
"scroll-window-".

> The up/down terminology is just to be avoided, I think.  Much clearer is
> terminology that refers to the beginning/end of the text.

I disagree: IMHO, the words that best describe the direction of a
_vertical_ movement are precisely "up" and "down", and are they are
used elsewhere for this very purpose.

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 15:00   ` Dani Moncayo
@ 2012-11-04 17:07     ` Juanma Barranquero
  2012-11-04 17:30       ` Dani Moncayo
  2012-11-04 17:31       ` Eli Zaretskii
  2012-11-05  2:44     ` Stefan Monnier
  1 sibling, 2 replies; 97+ messages in thread
From: Juanma Barranquero @ 2012-11-04 17:07 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: Stefan Monnier, Emacs development discussions

On Sun, Nov 4, 2012 at 4:00 PM, Dani Moncayo <dmoncayo@gmail.com> wrote:

> I disagree: IMHO, the words that best describe the direction of a
> _vertical_ movement are precisely "up" and "down", and are they are
> used elsewhere for this very purpose.

Yes, up and down describe vertical movement, but as the whole thread
shows, they do not clearly say what is moving, so both readings are
possible.

move-point-towards-end-of-buffer* and
move-point-towards-beginning-of-buffer* are unambiguos.

    Juanma


* I've chosen long names so no one thinks that I'm proposing them,
which I'm not.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 17:07     ` Juanma Barranquero
@ 2012-11-04 17:30       ` Dani Moncayo
  2012-11-04 17:31       ` Eli Zaretskii
  1 sibling, 0 replies; 97+ messages in thread
From: Dani Moncayo @ 2012-11-04 17:30 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: Stefan Monnier, Emacs development discussions

>> I disagree: IMHO, the words that best describe the direction of a
>> _vertical_ movement are precisely "up" and "down", and are they are
>> used elsewhere for this very purpose.
>
> Yes, up and down describe vertical movement, but as the whole thread
> shows, they do not clearly say what is moving, so both readings are
> possible.

As I said, with my proposal it is clear what part regarded as the
"moving one": the view.  The documentation would be updated to state
this clearly, and also the command names, which explicitly mention the
moving part (e.g. "scroll-view-down").  So the ambiguity would removed
and a single (standard) criterion would be adopted.

> move-point-towards-end-of-buffer* and
> move-point-towards-beginning-of-buffer* are unambiguos.

Vertical (or horizontal) scrolling doesn't necessarily imply moving
the point.  What is moving is the view relative to the text (or
vice-versa), and as I said, IMO the cleaner way to express that should
include the "moving" part (i.e. the view) and the direction
(up/down/left/right).

Hence my proposal: scroll-view-up, scroll-view-down etc.

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 17:07     ` Juanma Barranquero
  2012-11-04 17:30       ` Dani Moncayo
@ 2012-11-04 17:31       ` Eli Zaretskii
  2012-11-04 17:35         ` Dani Moncayo
  1 sibling, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-04 17:31 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: emacs-devel, monnier, dmoncayo

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Sun, 4 Nov 2012 18:07:40 +0100
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>,
> 	Emacs development discussions <emacs-devel@gnu.org>
> 
> move-point-towards-end-of-buffer* and
> move-point-towards-beginning-of-buffer* are unambiguos.

How about page-up and page-down?  Since they are the same as the key
names, it's possible that users will not be confused by the "who moves
up" dilemma.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 17:31       ` Eli Zaretskii
@ 2012-11-04 17:35         ` Dani Moncayo
  2012-11-04 18:23           ` Eli Zaretskii
  2012-11-05  3:29           ` Stephen J. Turnbull
  0 siblings, 2 replies; 97+ messages in thread
From: Dani Moncayo @ 2012-11-04 17:35 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Juanma Barranquero, monnier, emacs-devel

> How about page-up and page-down?  Since they are the same as the key
> names, it's possible that users will not be confused by the "who moves
> up" dilemma.

But as you know, there is a lot of scrolling commands beyond those
two, like for example "scroll-up-line".

Therefore, we should find a general solution for this.

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 17:35         ` Dani Moncayo
@ 2012-11-04 18:23           ` Eli Zaretskii
  2012-11-04 19:10             ` Dani Moncayo
  2012-11-05  3:29           ` Stephen J. Turnbull
  1 sibling, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-04 18:23 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: lekktu, monnier, emacs-devel

> Date: Sun, 4 Nov 2012 18:35:02 +0100
> From: Dani Moncayo <dmoncayo@gmail.com>
> Cc: Juanma Barranquero <lekktu@gmail.com>, monnier@iro.umontreal.ca,
> 	emacs-devel@gnu.org
> 
> > How about page-up and page-down?  Since they are the same as the key
> > names, it's possible that users will not be confused by the "who moves
> > up" dilemma.
> 
> But as you know, there is a lot of scrolling commands beyond those
> two, like for example "scroll-up-line".

page-down-line will do.

> Therefore, we should find a general solution for this.

I don't see why.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 18:23           ` Eli Zaretskii
@ 2012-11-04 19:10             ` Dani Moncayo
  2012-11-04 19:39               ` Eli Zaretskii
  0 siblings, 1 reply; 97+ messages in thread
From: Dani Moncayo @ 2012-11-04 19:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: lekktu, monnier, emacs-devel

>> > How about page-up and page-down?  Since they are the same as the key
>> > names, it's possible that users will not be confused by the "who moves
>> > up" dilemma.
>>
>> But as you know, there is a lot of scrolling commands beyond those
>> two, like for example "scroll-up-line".
>
> page-down-line will do.
>
>> Therefore, we should find a general solution for this.
>
> I don't see why.

:(

If we agree that it would be better to adopt the widely accepted
approach of a moving view port (over an static text), then why not
being consistent with that principle in all scrolling commands?

Consistency and uniformity are good programming principles that make
things simpler to learn and remember.  So these principles should be
followed unless there is a good reason not to.

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 19:10             ` Dani Moncayo
@ 2012-11-04 19:39               ` Eli Zaretskii
  2012-11-04 20:01                 ` Dani Moncayo
  2012-11-05 11:07                 ` Richard Stallman
  0 siblings, 2 replies; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-04 19:39 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: lekktu, monnier, emacs-devel

> Date: Sun, 4 Nov 2012 20:10:39 +0100
> From: Dani Moncayo <dmoncayo@gmail.com>
> Cc: lekktu@gmail.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org
> 
> If we agree that it would be better to adopt the widely accepted
> approach of a moving view port (over an static text)

What "widely accepted approach"?  Most applications don't have names
for the commands invoked by keys, they just use "PageDown" the key
name.

There isn't much prior art here, we are on our own.

> Consistency and uniformity are good programming principles that make
> things simpler to learn and remember.  So these principles should be
> followed unless there is a good reason not to.

And there are good reasons in this case, as others in this thread
pointed out.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 19:39               ` Eli Zaretskii
@ 2012-11-04 20:01                 ` Dani Moncayo
  2012-11-05 11:07                 ` Richard Stallman
  1 sibling, 0 replies; 97+ messages in thread
From: Dani Moncayo @ 2012-11-04 20:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: lekktu, monnier, emacs-devel

>> If we agree that it would be better to adopt the widely accepted
>> approach of a moving view port (over an static text)
>
> What "widely accepted approach"?  Most applications don't have names
> for the commands invoked by keys

but people use these terms in normal conversations.

>, they just use "PageDown" the key
> name.

and the way that key is interpreted in all applications I'm aware of
reflects the "widely accepted approach" I was talking about: the
"Down" in "PageDown" refers to the _viewport_ movement (it shows you
the next page).

> There isn't much prior art here, we are on our own.

I disagree.  See above.

>> Consistency and uniformity are good programming principles that make
>> things simpler to learn and remember.  So these principles should be
>> followed unless there is a good reason not to.
>
> And there are good reasons in this case, as others in this thread
> pointed out.

Honestly, I've not seen a single good reason so far.  Stefan made a
valid point when he said that the "window" part in "scroll-window-"
could be confusing, and I agreed.  But as I said, changing "window" to
"view" would remove the confusion.



-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 15:00   ` Dani Moncayo
  2012-11-04 17:07     ` Juanma Barranquero
@ 2012-11-05  2:44     ` Stefan Monnier
  2012-11-05  7:24       ` Dani Moncayo
  1 sibling, 1 reply; 97+ messages in thread
From: Stefan Monnier @ 2012-11-05  2:44 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: Emacs development discussions

>> We could fix that by explicitly mentioning it's vertical scrolling.
> Yes, but I guess we all agree that "up" is a cleaner, shorter and thus
> better name than "vertical backward".

Except that up/down bring with them the ambiguity.

> Mmmm, well, then maybe "scroll-view-" would be even better than
> "scroll-window-".

The problem is that most users don't even know about this "viewport vs
content" issue.  So using "up/down" forces them to learn about this
ambiguity and how it's resolved.

That's the reason why I prefer a terminology that is not loaded with
ambiguity that we then have to explain away.  BTW, next/prev is probably
easier to use than beginning/end.


        Stefan



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 17:35         ` Dani Moncayo
  2012-11-04 18:23           ` Eli Zaretskii
@ 2012-11-05  3:29           ` Stephen J. Turnbull
  2012-11-05  7:27             ` Dani Moncayo
  2012-11-05 12:44             ` Jambunathan K
  1 sibling, 2 replies; 97+ messages in thread
From: Stephen J. Turnbull @ 2012-11-05  3:29 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: Juanma Barranquero, Eli Zaretskii, monnier, emacs-devel

Dani Moncayo writes:

 > Therefore, we should find a general solution for this.

There's only one "general solution": prohibit from using Emacs all
those people who disagree with your intuition of what's moving.  I've
seen this discussion several times on both the XEmacs and Emacs lists,
and the end is always inconclusive.  The best you can do is simply
choose a consistent terminology, accepting that a large number of
people will never agree.  AFAIK that's already been achieved, by
choosing more or less arbitrarily[1] what makes sense to RMS.

FWIW, for me personally "view" has no useful semantics here.  It
simply indicates a visible region of the buffer.  "Scroll" means the
buffer content moves "in the view".  The idea that the view moves
makes no sense to me because of the ergonomics: moving view means your
eyes have to move, while moving content brings the content to your
focal point.  Also, in "scroll-view" the word "view" is redundant,
because scrolling implies that the view is restricted.  Net results is
that "scroll-up" should mean content "below" the view should "move up"
into it.  So my intuition agrees with current Emacs practice.

Since I agree with current practice, it's a weak test but I believe
this doesn't actually matter.  My fingers know what to do regardless
of the name.



Footnotes: 
[1]  At best a poll was taken, but surely no proper ergonomic study
was done!




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05  2:44     ` Stefan Monnier
@ 2012-11-05  7:24       ` Dani Moncayo
  2012-11-05 23:32         ` Stefan Monnier
  0 siblings, 1 reply; 97+ messages in thread
From: Dani Moncayo @ 2012-11-05  7:24 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs development discussions

>>> We could fix that by explicitly mentioning it's vertical scrolling.
>> Yes, but I guess we all agree that "up" is a cleaner, shorter and thus
>> better name than "vertical backward".
>
> Except that up/down bring with them the ambiguity.

"up"/"down" alone are ambiguous, of course.  But I wasn't proposing
them alone.  I was including also the part that is moving ("view" or
whatever name describes the view port).

Anyway, I think I've repeated my POV several times already, so I'll
give up on this.

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05  3:29           ` Stephen J. Turnbull
@ 2012-11-05  7:27             ` Dani Moncayo
  2012-11-05 12:44             ` Jambunathan K
  1 sibling, 0 replies; 97+ messages in thread
From: Dani Moncayo @ 2012-11-05  7:27 UTC (permalink / raw)
  To: Stephen J. Turnbull
  Cc: Juanma Barranquero, Eli Zaretskii, monnier, emacs-devel

>  > Therefore, we should find a general solution for this.
>
> There's only one "general solution": prohibit from using Emacs all
> those people who disagree with your intuition of what's moving.

No need for intuition, nor prohibition of using emacs: I was proposing
a general and unambiguous way of naming the scroll commands, which
explicitly state both the part that is moving ("view" or whatever name
you like) and the direction of movement ("up"/"down"/"left"/"right").


-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 14:10 Dani Moncayo
  2012-11-04 14:37 ` Stefan Monnier
@ 2012-11-05 11:06 ` Richard Stallman
  2012-11-05 15:00   ` Nix
  2012-11-05 18:05 ` Daniel Hackney
  2 siblings, 1 reply; 97+ messages in thread
From: Richard Stallman @ 2012-11-05 11:06 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: emacs-devel

    1.  The terms "up" and "down" have the opposite meanings of the ones
    commonly used in the (non-emacs) world.  The info node explains that
    this is for historical reasons; OK, but then, why don't we try to find
    a solution?  (see below)

It is not "historical reasons".  This meaning is just as good
as the other meaning.

If the world has indeed converged on the other meaning then I agree
it would be good to be compatible.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 19:39               ` Eli Zaretskii
  2012-11-04 20:01                 ` Dani Moncayo
@ 2012-11-05 11:07                 ` Richard Stallman
  2012-11-05 12:25                   ` Dani Moncayo
  1 sibling, 1 reply; 97+ messages in thread
From: Richard Stallman @ 2012-11-05 11:07 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: lekktu, emacs-devel, monnier, dmoncayo

    What "widely accepted approach"?  Most applications don't have names
    for the commands invoked by keys, they just use "PageDown" the key
    name.

Do they generally agree on which direction "PageDown" should scroll?
If so, that would seem to be a general convention for the meaning
of "down" for scrolling.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05 11:07                 ` Richard Stallman
@ 2012-11-05 12:25                   ` Dani Moncayo
  2012-11-05 14:56                     ` Nix
  0 siblings, 1 reply; 97+ messages in thread
From: Dani Moncayo @ 2012-11-05 12:25 UTC (permalink / raw)
  To: rms; +Cc: lekktu, Eli Zaretskii, monnier, emacs-devel

>     What "widely accepted approach"?  Most applications don't have names
>     for the commands invoked by keys, they just use "PageDown" the key
>     name.
>
> Do they generally agree on which direction "PageDown" should scroll?

Yes.  Popular web browsers and text processors interpret "PageDown" as
"show the next page".

Therefore, "up" and "down" refer to the view port (not the text).
That convention is the opposite of the one currently used in Emacs.

> If so, that would seem to be a general convention for the meaning
> of "down" for scrolling.

Yes, and my proposal tried to be both unambiguous (including "view" as
part of the new commands' names, e.g. `scroll-view-down') and
consistent with that convention (all scroll commands would follow the
same pattern).

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05  3:29           ` Stephen J. Turnbull
  2012-11-05  7:27             ` Dani Moncayo
@ 2012-11-05 12:44             ` Jambunathan K
  1 sibling, 0 replies; 97+ messages in thread
From: Jambunathan K @ 2012-11-05 12:44 UTC (permalink / raw)
  To: emacs-devel


> what's moving

I am reminded of this:

    http://users.rider.edu/~suler/zenstory/movingmind.html
-- 



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05 12:25                   ` Dani Moncayo
@ 2012-11-05 14:56                     ` Nix
  2012-11-05 15:39                       ` Teemu Likonen
  2012-11-07  8:12                       ` Harald Hanche-Olsen
  0 siblings, 2 replies; 97+ messages in thread
From: Nix @ 2012-11-05 14:56 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: lekktu, Eli Zaretskii, emacs-devel, rms, monnier

On 5 Nov 2012, Dani Moncayo uttered the following:

>>     What "widely accepted approach"?  Most applications don't have names
>>     for the commands invoked by keys, they just use "PageDown" the key
>>     name.
>>
>> Do they generally agree on which direction "PageDown" should scroll?
>
> Yes.  Popular web browsers and text processors interpret "PageDown" as
> "show the next page".

And people universally refer to it as 'scrolling down'. Of every
application I have used, only Emacs calls the action carried out when
you hit the page down key scrolling *up*. It still confuses me every
time I need to deal with it, and I've been using Emacsen for twenty
years now.

-- 
NULL && (void)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05 11:06 ` Richard Stallman
@ 2012-11-05 15:00   ` Nix
  2012-11-06  1:25     ` Stephen J. Turnbull
  0 siblings, 1 reply; 97+ messages in thread
From: Nix @ 2012-11-05 15:00 UTC (permalink / raw)
  To: rms; +Cc: emacs-devel, Dani Moncayo

On 5 Nov 2012, Richard Stallman verbalised:
> If the world has indeed converged on the other meaning then I agree
> it would be good to be compatible.

The world had converged on the other meaning by the late 1980s at the
very latest. By now, as far as I can tell, Emacs is unique among modern
editors in its naming scheme for scroll directions. (Even on mobile
devices with touchscreens, where you swipe the text to move the text up,
that operation is *still* called 'scrolling down'.)

-- 
NULL && (void)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05 14:56                     ` Nix
@ 2012-11-05 15:39                       ` Teemu Likonen
  2012-11-07  8:12                       ` Harald Hanche-Olsen
  1 sibling, 0 replies; 97+ messages in thread
From: Teemu Likonen @ 2012-11-05 15:39 UTC (permalink / raw)
  To: nix; +Cc: rms, lekktu, emacs-devel, monnier, Dani Moncayo, Eli Zaretskii

<nix@esperi.org.uk> [2012-11-05 14:56:29 +0000] wrote:

> And people universally refer to it as 'scrolling down'.

That's right. Let's ask people in the net too:

    "scroll down"
    https://www.google.com/search?q=%22scroll+down%22

    "scroll up"
    https://www.google.com/search?q=%22scroll+up%22

> Of every application I have used, only Emacs calls the action carried
> out when you hit the page down key scrolling *up*. It still confuses
> me every time I need to deal with it, and I've been using Emacsen for
> twenty years now.

I, too, think that Emacs is the only one which calls it this way.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-04 14:10 Dani Moncayo
  2012-11-04 14:37 ` Stefan Monnier
  2012-11-05 11:06 ` Richard Stallman
@ 2012-11-05 18:05 ` Daniel Hackney
  2012-11-06  1:53   ` Stephen J. Turnbull
  2 siblings, 1 reply; 97+ messages in thread
From: Daniel Hackney @ 2012-11-05 18:05 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: Emacs development discussions

Dani Moncayo <dmoncayo@gmail.com> wrote:
> Hello,
>
> After reading (info "(emacs) Scrolling"), I think the Emacs
> terminology for specifying scrolling directions is pretty confusing:
>
> 1.  The terms "up" and "down" have the opposite meanings of the ones
> commonly used in the (non-emacs) world.  The info node explains that
> this is for historical reasons; OK, but then, why don't we try to find
> a solution?  (see below)

Wow. I've been using Emacs hardcore for 6 years and never noticed this!
I can understand the window/frame naming, but I never imagined that
Emacs would do things backwards for scrolling. The idea that "down"
would mean "up" is baffling.

I suppose a transition would be difficult, but I can't imagine why it
should stick with the opposite definition from everything else. Emacs
uses "down" to mean "move downwards" in its documentation already:

  - =next-line= :: Move cursor vertically down ARG lines.
  - =outline-move-subtree-up= :: Move the current subtree up past ARG
       headlines of the same level.
  - bindings.el :: (define-key global-map [up] 'previous-line)
  - =end-of-defun= :: Move forward to next end of defun.
  - =eobp= :: Return t if point is at the end of the buffer.
  - =erc-scroll-to-bottom= :: Recenter WINDOW so that `point' is on
the last line.

Plus, it's what every other program uses:

* Firefox
  - scroll on mobile ::
http://support.mozilla.org/en-US/kb/how-do-i-turn-do-not-track-feature-mobile
  - page down ::
http://support.mozilla.org/en-US/kb/settings-network-updates-and-encryption
* LibreOffice
  - Writer navigation :: http://help.libreoffice.org/Writer/Navigation
* Gnome terminal
  - Scroll through commands ::
http://library.gnome.org/users/gnome-terminal/stable/gnome-terminal-usage.html.en
* Microsoft Office
  - Through a worksheet ::
http://office.microsoft.com/en-us/excel-help/scroll-through-a-worksheet-HP005201425.aspx
* Gnumeric
  - Scrollbars ::
http://projects.gnome.org/gnumeric/doc/sect-graphics-widgets-scrollbar.shtml
* Gtk
  - =GtkScrolledWindow= :: http://www.gtk.org/api/2.6/gtk/GtkScrolledWindow.html
  - left moves towards the top ::
http://www.gtk.org/api/2.6/gtk/GtkTextView.html#gtk-text-view-scroll-to-mark

Et Cetera.

All of the documentation refers to "movement towards =(point-max)=" as
going towards the end or bottom of the buffer/window. It wouldn't make
sense to say "scroll up to the end of the window" or "scroll all the way
down until you reach the beginning."

--
Daniel Hackney



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05  7:24       ` Dani Moncayo
@ 2012-11-05 23:32         ` Stefan Monnier
  2012-11-06 21:29           ` Daniel Hackney
  0 siblings, 1 reply; 97+ messages in thread
From: Stefan Monnier @ 2012-11-05 23:32 UTC (permalink / raw)
  To: Dani Moncayo; +Cc: Emacs development discussions

> "up"/"down" alone are ambiguous, of course.  But I wasn't proposing
> them alone.  I was including also the part that is moving ("view" or
> whatever name describes the view port).

The real source of the problem is that most users are not aware that
there's an ambiguity, and so adding "viewport" (which they might even
not know) or "window" or "buffer content" won't help them much.

> Anyway, I think I've repeated my POV several times already, so I'll
> give up on this.

Yes, I think we need to agree to disagree here.

OTOH I agree with the part of your proposal to rename those scroll
functions to move away from the ambiguous names.
I.e. rename the functions to something like scroll-next* and
scroll-prev* (while keep compatibility aliases, of course).

If you could submit a patch that does that, that would be nice,


        Stefan



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05 15:00   ` Nix
@ 2012-11-06  1:25     ` Stephen J. Turnbull
  2012-11-06 17:24       ` Adrian Robert
  0 siblings, 1 reply; 97+ messages in thread
From: Stephen J. Turnbull @ 2012-11-06  1:25 UTC (permalink / raw)
  To: Nix; +Cc: Dani Moncayo, rms, emacs-devel

Nix writes:

 > (Even on mobile devices with touchscreens, where you swipe the text
 > to move the text up, that operation is *still* called 'scrolling
 > down'.)

Which drives me nuts, because it's the text that moves (and that's
true in editors, as well).  For me it's "page down" but "scroll the
text up".  "Scroll [nothing in particular but Do What I Mean dammit]
<direction>" is just uninterpretable to me. ;-)

I don't really care if you invert the names in Emacs, but I would
prefer using a verb other than "scroll" that strongly implies moving
the viewport (eg, "page") over a given buffer.  I have less problems
with paging fractionally (eg, measured in lines) than with scrolling
viewports (reminds me of the door in Howell's Moving Castle, or if you
want a less fantastical illustration, the new paging look in Mac
Finder or Safari on an iPhone where the content changes as the
viewport scrolls).

From-the-Rick-Moen-Dept:but-maybe-that's-just-me-ly y'rs,



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05 18:05 ` Daniel Hackney
@ 2012-11-06  1:53   ` Stephen J. Turnbull
  2012-11-07 16:31     ` Nix
  0 siblings, 1 reply; 97+ messages in thread
From: Stephen J. Turnbull @ 2012-11-06  1:53 UTC (permalink / raw)
  To: Daniel Hackney; +Cc: Emacs development discussions, Dani Moncayo

Daniel Hackney writes:

 > All of the documentation refers to "movement towards =(point-max)=" as
 > going towards the end or bottom of the buffer/window. It wouldn't make
 > sense to say "scroll up to the end of the window" or "scroll all the way
 > down until you reach the beginning."

The term was earlier used with movie credits (and marquees, in the
horizontal orientation), and I guess it was borrowed from that usage.
There the text clearly scrolls *up* the screen until it reaches the
bottom.  When you read text from a paper scroll, you also are clearly
scrolling *up* in order to read *down* the text.

The reason the phrases you give don't make sense[1] is that the implicit
object of the verb "scroll" has changed from the text (or the scroll
the text is printed on) to something else -- but I wish you luck
coming up with a coherent definition of that object for the phrases
you quote.  Common usage of this term, by any sane measure, is
completely confused.

Nevertheless, common usage is quite consistent, and everybody seems to
know what you mean when "scroll <direction>" is used intransitively.
Language evolution sucks when you're old enough to realize it's
happening! :-)

Footnotes: 
[1]  N.B. In the context of a physical scroll of paper, "scroll all
the way down until you reach the beginning" *does* make sense.




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-06  1:25     ` Stephen J. Turnbull
@ 2012-11-06 17:24       ` Adrian Robert
  2012-11-06 17:36         ` Eli Zaretskii
  2012-11-06 17:50         ` Drew Adams
  0 siblings, 2 replies; 97+ messages in thread
From: Adrian Robert @ 2012-11-06 17:24 UTC (permalink / raw)
  To: emacs-devel

Stephen J. Turnbull <stephen <at> xemacs.org> writes:

> 
> Nix writes:
> 
>  > (Even on mobile devices with touchscreens, where you swipe the text
>  > to move the text up, that operation is *still* called 'scrolling
>  > down'.)
> 
> Which drives me nuts, because it's the text that moves (and that's
> true in editors, as well).  For me it's "page down" but "scroll the
> text up".  "Scroll [nothing in particular but Do What I Mean dammit]
> <direction>" is just uninterpretable to me. 

Sure, the text moves, but we don't care about it.  "Scroll down" refers to
what happens with the *viewer's* perspective into the content that we are
focusing on.  We COULD say, "move the text up so I can see the last section,",
but it doesn't come across very smoothly, precisely because we have this
focus.  Like we could also say, "the lion is moving forwards," instead of "the
lion is coming towards us," but I'll be happy to bet with you which version
gets used in real life. :)  (And why "up" / "down" instead of "forward" /
"back", there are many reasons but the biggest is of course how we arrange
text on a printed page.  "Scrolling" is more amusing, especially since by the
time computers were developed it's doubtful many people had so much as SEEN a
scroll in real life.)





^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-06 17:24       ` Adrian Robert
@ 2012-11-06 17:36         ` Eli Zaretskii
  2012-11-06 17:50         ` Drew Adams
  1 sibling, 0 replies; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-06 17:36 UTC (permalink / raw)
  To: Adrian Robert; +Cc: emacs-devel

> From: Adrian Robert <Adrian.B.Robert@gmail.com>
> Date: Tue, 6 Nov 2012 17:24:08 +0000 (UTC)
> 
> Stephen J. Turnbull <stephen <at> xemacs.org> writes:
> 
> > 
> > Nix writes:
> > 
> >  > (Even on mobile devices with touchscreens, where you swipe the text
> >  > to move the text up, that operation is *still* called 'scrolling
> >  > down'.)
> > 
> > Which drives me nuts, because it's the text that moves (and that's
> > true in editors, as well).  For me it's "page down" but "scroll the
> > text up".  "Scroll [nothing in particular but Do What I Mean dammit]
> > <direction>" is just uninterpretable to me. 
> 
> Sure, the text moves, but we don't care about it.

Alas, people _do_ care about what they do vs what they say or see.
Try calling something white "black" and see if it sticks.

> "Scroll down" refers to what happens with the *viewer's* perspective
> into the content that we are focusing on.

This reasoning would work if you'd need to swipe the window's frame
down, and text would then move up.  But that's not what's happening:
the user must explicitly swipe the text UP.

This is different from desktops, where you press a key labeled "Page
Down", and don't make any gestures in the upward direction.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* RE: Proposal to improve the nomenclature of scrolling directions
  2012-11-06 17:24       ` Adrian Robert
  2012-11-06 17:36         ` Eli Zaretskii
@ 2012-11-06 17:50         ` Drew Adams
  2012-11-06 19:14           ` John Yates
  1 sibling, 1 reply; 97+ messages in thread
From: Drew Adams @ 2012-11-06 17:50 UTC (permalink / raw)
  To: 'Adrian Robert', emacs-devel

> by the time computers were developed it's doubtful many people
> had so much as SEEN a scroll in real life.

FWIW -

1. Long after the advent and even the widespread use of digital computers, many
of us came into frequent contact (e.g., in school) with so-called "overhead
projectors", which projected light through transparencies onto a screen or wall.

It was not uncommon for the projector to be outfitted with a transparency roll,
on which the presentor wrote with a grease pencil or a marker during projection,
and which the presenter scrolled using a hand crank.

Scrolling was typically right-to-left; that is, the projected images moved
toward the left, with fresh, unmarked transparency moving in from the right.

The viewport thus moved to the right through the images/text, though no one
would have spoken, in that context, of a viewport.

2. Others of us have used film in movie projectors or film splicers.  Likewise
tape recorders and players, on down to cassette tapes of various sorts.  All
scrolls by another name, though no one would have spoken of them using that
term.




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
@ 2012-11-06 17:55 Dmitry Gutov
  2012-11-07  0:53 ` Richard Stallman
  0 siblings, 1 reply; 97+ messages in thread
From: Dmitry Gutov @ 2012-11-06 17:55 UTC (permalink / raw)
  To: eliz; +Cc: Adrian.B.Robert, emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

 >> From: Adrian Robert <Adrian.B.Robert@gmail.com>
 >> Date: Tue, 6 Nov 2012 17:24:08 +0000 (UTC)
 >>
 >> Stephen J. Turnbull <stephen <at> xemacs.org> writes:
 >>
 >> >
 >> > Nix writes:
 >> >
 >> >  > (Even on mobile devices with touchscreens, where you swipe the text
 >> >  > to move the text up, that operation is *still* called 'scrolling
 >> >  > down'.)
 >> >
 >> > Which drives me nuts, because it's the text that moves (and that's
 >> > true in editors, as well).  For me it's "page down" but "scroll the
 >> > text up".  "Scroll [nothing in particular but Do What I Mean dammit]
 >> > <direction>" is just uninterpretable to me.
 >>
 >> Sure, the text moves, but we don't care about it.
 >
 > Alas, people _do_ care about what they do vs what they say or see.
 > Try calling something white "black" and see if it sticks.

Sure, people do care. The main difference is what's to be considered the
point of reference. If we consider the text as more "important", then it
feels "glued in place", and the window scolls down. If, on the other 
hand, the editor is the center of the universe, then yes, the window 
doesn't move anywhere, it's the text that scrolls up.

 >> "Scroll down" refers to what happens with the *viewer's* perspective
 >> into the content that we are focusing on.
 >
 > This reasoning would work if you'd need to swipe the window's frame
 > down, and text would then move up.  But that's not what's happening:
 > the user must explicitly swipe the text UP.
 >
 > This is different from desktops, where you press a key labeled "Page
 > Down", and don't make any gestures in the upward direction.

A good physical analogy might be climbing a tree. You're climbing down,
but when each of yours hands is touching the tree, it's going up
relative to you. When climbing up, vice versa.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-06 17:50         ` Drew Adams
@ 2012-11-06 19:14           ` John Yates
  0 siblings, 0 replies; 97+ messages in thread
From: John Yates @ 2012-11-06 19:14 UTC (permalink / raw)
  To: Drew Adams; +Cc: Adrian Robert, emacs-devel

On Tue, Nov 6, 2012 at 11:50 AM, Drew Adams <drew.adams@oracle.com>
introduced a description of various ways to experience "scrolling" in
the physical world via

> 1. Long after the advent and even the widespread use of digital computers, ...

Many on this list probably are old enough to remember fan folded paper
continuously fed into line printers and dot matrix terminals.  True
old timers will have worked on Teletype machines fed from fat rolls of
pulpy yellow paper.

When programmers describe a shell session captured in a file or a
buffer as a "typescript" I have always assumed that terminology to
hearken back to such physical experiences.

/john



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05 23:32         ` Stefan Monnier
@ 2012-11-06 21:29           ` Daniel Hackney
  0 siblings, 0 replies; 97+ messages in thread
From: Daniel Hackney @ 2012-11-06 21:29 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs development discussions, Dani Moncayo

[-- Attachment #1: Type: text/plain, Size: 1230 bytes --]

"Stefan Monnier" <monnier@iro.umontreal.ca> wrote:
>
> > "up"/"down" alone are ambiguous, of course.  But I wasn't proposing
> > them alone.  I was including also the part that is moving ("view" or
> > whatever name describes the view port).
>
> The real source of the problem is that most users are not aware that
> there's an ambiguity, and so adding "viewport" (which they might even
> not know) or "window" or "buffer content" won't help them much.

Given the universal use of down/up in every other program, I don't see how
it's ambiguous. Emacs even has "Top" or "Bot" in the mode line when you are
at the beginning or end of the buffer. Moving towards the top is "up",
moving towards the bottom is "down".

In the context of elisp code, I think it might make some sense to talk
about next/previous lines for the purpose of disambiguation in the face of
overlays, longlines and visual-line-mode, but for anything user-facing,
"up" and "down" are the standards. I might be too young (25), but I've
never come across or considered the possibility that the directions might
be reversed. If you press the down arrow on they keyboard, point moves
downward and if it reaches the bottom of the window, the buffer is scrolled
down.

[-- Attachment #2: Type: text/html, Size: 1568 bytes --]

^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-06 17:55 Proposal to improve the nomenclature of scrolling directions Dmitry Gutov
@ 2012-11-07  0:53 ` Richard Stallman
  2012-11-07 15:17   ` Drew Adams
  2012-11-07 21:12   ` Mathias Dahl
  0 siblings, 2 replies; 97+ messages in thread
From: Richard Stallman @ 2012-11-07  0:53 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: eliz, Adrian.B.Robert, emacs-devel

If PageDown is generally understood as the name for what C-v does, it
seems to me we could give that command the new alias `page-down' and
bind C-v to that.  Users would find it clear by reference to what
PageDown does in other programs.  The Emacs Manual use that name to document
the command, but the existing name could remain valid.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-05 14:56                     ` Nix
  2012-11-05 15:39                       ` Teemu Likonen
@ 2012-11-07  8:12                       ` Harald Hanche-Olsen
  2012-11-13  9:05                         ` Bastien
  1 sibling, 1 reply; 97+ messages in thread
From: Harald Hanche-Olsen @ 2012-11-07  8:12 UTC (permalink / raw)
  To: emacs-devel

[Nix <nix@esperi.org.uk> (2012-11-05 14:56:29 UTC)]

> Of every
> application I have used, only Emacs calls the action carried out when
> you hit the page down key scrolling *up*. It still confuses me every
> time I need to deal with it, and I've been using Emacsen for twenty
> years now.

I don't use C-x < and C-x > very often, but when I do, I *always* get
the direction wrong. Surely, the same issue is at play here.

But I'll stop whining right now and just insert code in .emacs to swap
the two key bindings. I just couldn't resist this opportunity to
participate in some good bike shedding.

- Harald



^ permalink raw reply	[flat|nested] 97+ messages in thread

* RE: Proposal to improve the nomenclature of scrolling directions
  2012-11-07  0:53 ` Richard Stallman
@ 2012-11-07 15:17   ` Drew Adams
  2012-11-07 16:23     ` Eli Zaretskii
  2012-11-07 21:12   ` Mathias Dahl
  1 sibling, 1 reply; 97+ messages in thread
From: Drew Adams @ 2012-11-07 15:17 UTC (permalink / raw)
  To: rms, 'Dmitry Gutov'; +Cc: eliz, Adrian.B.Robert, emacs-devel

> If PageDown is generally understood as the name for what C-v does, it
> seems to me we could give that command the new alias `page-down' and
> bind C-v to that.  Users would find it clear by reference to what
> PageDown does in other programs.  The Emacs Manual use that 
> name to document the command, but the existing name could remain
> valid.

Bad idea.  "page" in Emacs function and variable names has a meaning that
revolves around the use of form-feed (^L) as a page delimiter.  That makes it
easy to use `apropos' or completion (e.g. with substring matching) to show you
such names.

Co-opting "page" for this very different meaning (scrolling one screenful or
some other amount) creates false positives, weakening this feature.  And it can
otherwise confuse users.




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 15:17   ` Drew Adams
@ 2012-11-07 16:23     ` Eli Zaretskii
  2012-11-07 18:03       ` Drew Adams
  0 siblings, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-07 16:23 UTC (permalink / raw)
  To: Drew Adams; +Cc: Adrian.B.Robert, emacs-devel, rms, dgutov

> From: "Drew Adams" <drew.adams@oracle.com>
> Date: Wed, 7 Nov 2012 07:17:52 -0800
> Cc: eliz@gnu.org, Adrian.B.Robert@gmail.com, emacs-devel@gnu.org
> 
> > If PageDown is generally understood as the name for what C-v does, it
> > seems to me we could give that command the new alias `page-down' and
> > bind C-v to that.  Users would find it clear by reference to what
> > PageDown does in other programs.  The Emacs Manual use that 
> > name to document the command, but the existing name could remain
> > valid.
> 
> Bad idea.  "page" in Emacs function and variable names has a meaning that
> revolves around the use of form-feed (^L) as a page delimiter.

Only veteran Emacs users know about that meaning of "page", and those
should have no problems with the current command names.  And anyway,
bringing up arguments from Emacs traditions flies in the face of this
thread's main premise, which is that it's bad to have Emacs traditions
contradict widespread conventions.

> That makes it easy to use `apropos' or completion (e.g. with
> substring matching) to show you such names.
> 
> Co-opting "page" for this very different meaning (scrolling one screenful or
> some other amount) creates false positives, weakening this feature.

Then you must object to commands and variables that match "code-page"
and "codepage", which already show in significant numbers in
'apropos'.  But since we already have this other meaning of "page",
having yet a 3rd one should not be such a grave problem, IMO.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-06  1:53   ` Stephen J. Turnbull
@ 2012-11-07 16:31     ` Nix
  2012-11-08  1:49       ` Stefan Monnier
  2012-11-08  7:18       ` Stephen J. Turnbull
  0 siblings, 2 replies; 97+ messages in thread
From: Nix @ 2012-11-07 16:31 UTC (permalink / raw)
  To: Stephen J. Turnbull
  Cc: Dani Moncayo, Daniel Hackney, Emacs development discussions

On 6 Nov 2012, Stephen J. Turnbull verbalised:
> The reason the phrases you give don't make sense[1] is that the implicit
> object of the verb "scroll" has changed from the text (or the scroll
> the text is printed on) to something else -- but I wish you luck
> coming up with a coherent definition of that object for the phrases
> you quote.

FWIW the object I have always imagined is scrolling down is 'the user's
viewport'. So 'scroll down' and 'scroll the text up' are synonymous, but
the latter is almost never used, since everyone's mental model these
days is of unchanging text and a freely moving viewport over the top of
it.

(This model is also why I use Eli Barzilay's wonderfully simple
scroll-in-place implementation, which I really should contribute to
upstream Emacs one of these years: I had Eli's go-ahead nearly two years
ago, IIRC, and it does need a couple of lines of changes to Gnus to work
properly so upstream Emacs is the right place for it. If what you are
scrolling is a moving viewport, it is *seriously* confusing to have a
sequence of PgDns followed by the same number of PgUps not be an inverse
at all times, and vice versa for the other way around. If you think of
the text as moving, it is somewhat less confusing, though perhaps not
less annoying.)

-- 
NULL && (void)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* RE: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 16:23     ` Eli Zaretskii
@ 2012-11-07 18:03       ` Drew Adams
  2012-11-07 18:34         ` Eli Zaretskii
  2012-11-08 22:18         ` Daniel Hackney
  0 siblings, 2 replies; 97+ messages in thread
From: Drew Adams @ 2012-11-07 18:03 UTC (permalink / raw)
  To: 'Eli Zaretskii'; +Cc: Adrian.B.Robert, emacs-devel, rms, dgutov

> > Bad idea.  "page" in Emacs function and variable names has 
> > a meaning that revolves around the use of form-feed (^L)
> > as a page delimiter.
> 
> Only veteran Emacs users know about that meaning of "page",

Evidence for that claim?

And what constitutes a "veteran"?  Anyone who has ever used a command such as
`count-lines-page', `backward-page', `sort-pages', `narrow-to-page',
`what-page', or `ps-nb-pages-region'?  Anyone who has ever customized an option
such as `page-delimiter', `ps-even-or-odd-pages', or `ps-selected-pages'?

> and those should have no problems with the current command names.

Irrelevant whether they do or do not.

The point is that adding things whose names include `page' but that have nothing
to do with Emacs pages adds confusion and works against name-matching (e.g.
apropos).  That's all.

> And anyway, bringing up arguments from Emacs traditions

Who said anything about tradition?  I'm talking about the current Emacs
behavior, not just its behavior since Day One.

In general, "page" has a specific operational meaning in Emacs, and scrolling
(unless it is scrolling up to the next/previous page delimiter) has nothing to
do with that meaning.

This is Emacs as it is, not just as it was or according to some quaint
"tradition".

> flies in the face of this thread's main premise, which is that
> it's bad to have Emacs traditions contradict widespread conventions.

Nothing about Emacs's use of page-related functions and variables, where "page"
refers to pages delimited by ^L, "contradicts" that widespread convention about
scrolling.

It is simply that scrolling up/down a windowful of text should be called such.
It should not be called scrolling up/down a "page", unless you deliberately want
to add confusion and muddy the waters.

And yes, I realize that we already have similar misnamed commands, such as
`View-scroll-page-forward', whose doc nevertheless correctly explains that
"page" here just refers to a windowful of text.

> > That makes it easy to use `apropos' or completion (e.g. with
> > substring matching) to show you such names.
> > 
> > Co-opting "page" for this very different meaning (scrolling 
> > one screenful or some other amount) creates false positives,
> > weakening this feature.
> 
> Then you must object to commands and variables that match "code-page"
> and "codepage", which already show in significant numbers in
> 'apropos'.  But since we already have this other meaning of "page",
> having yet a 3rd one should not be such a grave problem, IMO.

"Code page" is not the same as "page", anymore than "White House" is the same as
"house".  So no, I do not object to the use of the standard name "code page" -
it cannot and should not be avoided.

But yes, that can lead to additional "page" matches.  Such is life.  Some things
are unavoidable, even if not ideal.  Referring to scrolling that moves
forward/backward a windowful as "page" scrolling is not one of them.  Just call
it what it is.

And yes, it is true that "page" does have multiple meanings both within and
outside Emacs - from electronic pagers to command-line pagers such as `more' &
`less'.  Such is life.  I don't see the current proposal as a case where Emacs
needs to add "page" scrolling to its vocabulary.  Just one opinion.




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 18:03       ` Drew Adams
@ 2012-11-07 18:34         ` Eli Zaretskii
  2012-11-07 21:00           ` Drew Adams
  2012-11-08 22:18         ` Daniel Hackney
  1 sibling, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-07 18:34 UTC (permalink / raw)
  To: Drew Adams; +Cc: Adrian.B.Robert, emacs-devel, rms, dgutov

> From: "Drew Adams" <drew.adams@oracle.com>
> Cc: <rms@gnu.org>, <dgutov@yandex.ru>, <Adrian.B.Robert@gmail.com>,
>         <emacs-devel@gnu.org>
> Date: Wed, 7 Nov 2012 10:03:39 -0800
> 
> > > Bad idea.  "page" in Emacs function and variable names has 
> > > a meaning that revolves around the use of form-feed (^L)
> > > as a page delimiter.
> > 
> > Only veteran Emacs users know about that meaning of "page",
> 
> Evidence for that claim?

Frequent postings on help-gnu-emacs.

> And what constitutes a "veteran"?  Anyone who has ever used a command such as
> `count-lines-page', `backward-page', `sort-pages', `narrow-to-page',
> `what-page', or `ps-nb-pages-region'?  Anyone who has ever customized an option
> such as `page-delimiter', `ps-even-or-odd-pages', or `ps-selected-pages'?

All of the above, and then some.

> > and those should have no problems with the current command names.
> 
> Irrelevant whether they do or do not.

It is relevant.  The old names will stay.

> The point is that adding things whose names include `page' but that have nothing
> to do with Emacs pages adds confusion and works against name-matching (e.g.
> apropos).  That's all.

There's no confusion here, because PageDown is a key present on any
widely used keyboard today.  The notion of "paging down" is familiar
to everyone.

> > And anyway, bringing up arguments from Emacs traditions
> 
> Who said anything about tradition?  I'm talking about the current Emacs
> behavior, not just its behavior since Day One.

"Pages" in Emacs, i.e. chunks of text delimited by ^L characters, are
a feature not shared by most other GUI applications.  It is
traditional Emacs behavior to support such pages.  When you talk about
that behavior, you necessarily talk about traditional Emacs behavior,
from day one till today.

> In general, "page" has a specific operational meaning in Emacs, and scrolling
> (unless it is scrolling up to the next/previous page delimiter) has nothing to
> do with that meaning.

Indeed, it does not.  Nevertheless, Emacs users freely use the
PageDown key, and I don't think I ever heard a complaint that it is
confusing why that key does not scroll by Emacs pages.

So I submit that there's no problem here, as a matter of fact.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* RE: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 18:34         ` Eli Zaretskii
@ 2012-11-07 21:00           ` Drew Adams
  2012-11-07 21:17             ` Eli Zaretskii
  0 siblings, 1 reply; 97+ messages in thread
From: Drew Adams @ 2012-11-07 21:00 UTC (permalink / raw)
  To: 'Eli Zaretskii'; +Cc: Adrian.B.Robert, emacs-devel, rms, dgutov

> > > and those should have no problems with the current command names.
> > Irrelevant whether they do or do not.
> It is relevant.  The old names will stay.

The new names, which include "page" for non page-related stuff, will cause
false-positive matches against "page".  That's the point.  No one said there
would be a problem finding the page-related commands if you name other commands
to also include "page".  Sure, it adds noise, but that's not the problem I
pointed out.

> > The point is that adding things whose names include `page' 
> > but that have nothing to do with Emacs pages adds confusion
> > and works against name-matching (e.g. apropos).  That's all.
> 
> There's no confusion here, because PageDown is a key present on any
> widely used keyboard today.  The notion of "paging down" is familiar
> to everyone.

Sure, but it has nothing to do with Emacs pages (a la page delimiter).  That's
the confusion that this would introduce.

> "Pages" in Emacs, i.e. chunks of text delimited by ^L characters, are
> a feature not shared by most other GUI applications.

Like so many Emacs features.

> It is traditional Emacs behavior to support such pages.

It is Emacs behavior.  That's all.

> When you talk about that behavior, you necessarily talk about
> traditional Emacs behavior, from day one till today.

When you talk about that behavior you talk necessarily about Emacs behavior.
Nothing more.

> So I submit that there's no problem here, as a matter of fact.

The outside world calls "window" what Emacs calls "frame".  Maybe we should
rename all functions and variables that use "frame" to use "window" instead, to
avoid this traditional-Emacs-generated confusion.

You wouldn't mind that, would you, even if it introduced false positives for
people looking for symbols having to do with Emacs windows?

Especially since only Emacs "veterans" are familiar with the terminology of
Emacs windows, and they would anyway still have the original "-window-" symbols
available (at least for a while).




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-07  0:53 ` Richard Stallman
  2012-11-07 15:17   ` Drew Adams
@ 2012-11-07 21:12   ` Mathias Dahl
  2012-11-07 21:41     ` Dmitry Gutov
  1 sibling, 1 reply; 97+ messages in thread
From: Mathias Dahl @ 2012-11-07 21:12 UTC (permalink / raw)
  To: Richard Stallman
  Cc: Eli Zaretskii, Adrian.B.Robert, emacs-devel, Dmitry Gutov

[-- Attachment #1: Type: text/plain, Size: 897 bytes --]

Finally a good proposal, thanks!

And about Drew's argument against it, based on the current "page" term
in Emacs, I'd say that very few would have a problem with it. The change
proposed by Richard would do much more good than harm.



On Wed, Nov 7, 2012 at 1:53 AM, Richard Stallman <rms@gnu.org> wrote:

> If PageDown is generally understood as the name for what C-v does, it
> seems to me we could give that command the new alias `page-down' and
> bind C-v to that.  Users would find it clear by reference to what
> PageDown does in other programs.  The Emacs Manual use that name to
> document
> the command, but the existing name could remain valid.
>
> --
> Dr Richard Stallman
> President, Free Software Foundation
> 51 Franklin St
> Boston MA 02110
> USA
> www.fsf.org  www.gnu.org
> Skype: No way! That's nonfree (freedom-denying) software.
>   Use Ekiga or an ordinary phone call
>
>
>

[-- Attachment #2: Type: text/html, Size: 1452 bytes --]

^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 21:00           ` Drew Adams
@ 2012-11-07 21:17             ` Eli Zaretskii
  0 siblings, 0 replies; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-07 21:17 UTC (permalink / raw)
  To: Drew Adams; +Cc: Adrian.B.Robert, emacs-devel, rms, dgutov

> From: "Drew Adams" <drew.adams@oracle.com>
> Cc: <rms@gnu.org>, <dgutov@yandex.ru>, <Adrian.B.Robert@gmail.com>,
>         <emacs-devel@gnu.org>
> Date: Wed, 7 Nov 2012 13:00:35 -0800
> 
> The outside world calls "window" what Emacs calls "frame".  Maybe we should
> rename all functions and variables that use "frame" to use "window" instead, to
> avoid this traditional-Emacs-generated confusion.

Yes, maybe we should.

> You wouldn't mind that, would you, even if it introduced false positives for
> people looking for symbols having to do with Emacs windows?

Looking for symbols without knowing well enough what you are looking
for always brings a lot of false positives.  So no, I won't mind.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 21:12   ` Mathias Dahl
@ 2012-11-07 21:41     ` Dmitry Gutov
  2012-11-08 19:26       ` Bruce Korb
  2012-11-13  9:07       ` Bastien
  0 siblings, 2 replies; 97+ messages in thread
From: Dmitry Gutov @ 2012-11-07 21:41 UTC (permalink / raw)
  To: Mathias Dahl
  Cc: Eli Zaretskii, Adrian.B.Robert, Richard Stallman, emacs-devel

Mathias Dahl <mathias.dahl@gmail.com> writes:

> Finally a good proposal, thanks!
>
> And about Drew's argument against it, based on the current "page" term 
> in Emacs, I'd say that very few would have a problem with it. The change 
> proposed by Richard would do much more good than harm.

Put me down for one "yes, please!"

And yeah, switching frames and windows would also serve to improve the
initial period of disorientation for new users, but I don't really see
that happening anytime soon.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 16:31     ` Nix
@ 2012-11-08  1:49       ` Stefan Monnier
  2012-11-08 17:33         ` Nix
  2012-11-08  7:18       ` Stephen J. Turnbull
  1 sibling, 1 reply; 97+ messages in thread
From: Stefan Monnier @ 2012-11-08  1:49 UTC (permalink / raw)
  To: Nix
  Cc: Stephen J. Turnbull, Emacs development discussions,
	Daniel Hackney, Dani Moncayo

> (This model is also why I use Eli Barzilay's wonderfully simple
> scroll-in-place implementation, which I really should contribute to
> upstream Emacs one of these years: I had Eli's go-ahead nearly two years

Hadn't heard about it.  I just looked at
https://github.com/elibarzilay/eliemacs/blob/master/include/scroll-in-place.el
and IIUC all it does is to remember the previous positions during
a sequence of scroll commands, and to use them when scrolling back.

This sounds OK indeed.

It could also be used to let the user go back to where she was before
scrolling (to simulate those other editors where point is not moved to
stay visible while scrolling, so that non-scrolling commands teleport
you right back to where you were).


        Stefan



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 16:31     ` Nix
  2012-11-08  1:49       ` Stefan Monnier
@ 2012-11-08  7:18       ` Stephen J. Turnbull
  2012-11-08 11:12         ` Stephen Leake
  1 sibling, 1 reply; 97+ messages in thread
From: Stephen J. Turnbull @ 2012-11-08  7:18 UTC (permalink / raw)
  To: Nix; +Cc: Emacs development discussions, Daniel Hackney, Dani Moncayo

Nix writes:

 > FWIW the object I have always imagined is scrolling down is 'the user's
 > viewport'.

You have imagination in places I don't even have places! :-)  (In my
mental model there's nothing in a hole that you can scroll.)

 > So 'scroll down' and 'scroll the text up' are synonymous, but the
 > latter is almost never used, since everyone's mental model these
 > days is of unchanging text and a freely moving viewport over the
 > top of it.

And that's why it's so intuitive that Google Maps gives you a hand to
grab the map with, and the map moves in the direction the hand goes?
That's why I get vertigo when I drag the scrollbar thumb down and the
text scrolls up?

While I don't dispute that your model is what describe, and don't
really have any ground to claim it's a minority view, I believe that
"everybody's mental model" is rather more nuanced.  Not to mention
"plural". :-)





^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08  7:18       ` Stephen J. Turnbull
@ 2012-11-08 11:12         ` Stephen Leake
  2012-11-08 15:43           ` Drew Adams
  0 siblings, 1 reply; 97+ messages in thread
From: Stephen Leake @ 2012-11-08 11:12 UTC (permalink / raw)
  To: emacs-devel

"Stephen J. Turnbull" <stephen@xemacs.org> writes:

> And that's why it's so intuitive that Google Maps gives you a hand to
> grab the map with, and the map moves in the direction the hand goes?

Yes; you grabbed the map, not the viewport.

> That's why I get vertigo when I drag the scrollbar thumb down and the
> text scrolls up?

The scrollbar thumb controls the viewport, not the contents (the map, in
this case).

Once you get used to thinking about things in terms of _either_ viewport
or content, scrolling makes sense.

Apple recently changed the direction;
http://www.pcworld.com/article/236182/osx_lion_scrolling.html

I'm not clear whether Emacs matched Apple before or after the change;
the article talks about "finger motion", not "mouse motion".

> While I don't dispute that your model is what describe, and don't
> really have any ground to claim it's a minority view, I believe that
> "everybody's mental model" is rather more nuanced.  Not to mention
> "plural". :-)

+1

Which means there's not much point in changing Emacs functionality,
although adding the concept of "viewport" to the documentation would be
a good idea.

-- 
-- Stephe



^ permalink raw reply	[flat|nested] 97+ messages in thread

* RE: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 11:12         ` Stephen Leake
@ 2012-11-08 15:43           ` Drew Adams
  2012-11-08 17:35             ` Nix
  0 siblings, 1 reply; 97+ messages in thread
From: Drew Adams @ 2012-11-08 15:43 UTC (permalink / raw)
  To: 'Stephen Leake', emacs-devel

> Once you get used to thinking about things in terms of 
> _either_ viewport or content, scrolling makes sense.
> 
> Apple recently changed the direction;
> http://www.pcworld.com/article/236182/osx_lion_scrolling.html
> 
> I'm not clear whether Emacs matched Apple before or after the change;
> the article talks about "finger motion", not "mouse motion".
> 
> > While I don't dispute that your model is what describe, and don't
> > really have any ground to claim it's a minority view, I believe that
> > "everybody's mental model" is rather more nuanced.  Not to mention
> > "plural". :-)
> 
> +1
> 
> Which means there's not much point in changing Emacs functionality,
> although adding the concept of "viewport" to the documentation
> would be a good idea.

The direction of scrolling and its Emacs jargon gets nominated here periodically
as some people's favorite way in which Emacs is old-fashioned & naughty and
needs to be sent back for regrooving, to be put in step with The One Exo-Emacs
Way (TOEEW).

That such a non-issue rises to the top here occasionally suggests how little
Emacs must really need to be regrooved.  This is one of the silliest ways we
could possibly want to spin our wheels looking for improvements.

As Stephen L. suggests, it just doesn't matter, in terms of use, as long as the
behavior is consistent.

Sure, it can matter a teeny tiny bit for someone who is coding Emacs Lisp and
needs to call scrolling functions.  But it's trivial to check which direction is
which.  Users are rarely even aware of the scrolling-command names.  And if made
aware I doubt they would really care what you call them.

There have been lots of approaches to scrolling in the history of UIs, and there
still are multiple approaches in specialized UI areas (e.g. CAD/CAM).  There has
never been a real problem for users to understand or adapt, even when they have
had to switch among multiple kinds of scroll bars etc.

The Emacs-needs-to-fit-The-One-Way-now crowd is the fruit of a period when, yes,
there is less variety and experimentation when it comes to such basic UI
constructs.  It does not follow that Emacs needs to TOEEW the line.  This is a
non-issue.

Trying to cram the splendid sculpture that is Emacs into a perceived TOEEW
pinhole is about as misguided as it gets.  Just let it be.  Circulez ; il n'y a
rien a voir.




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
       [not found] ` <20635.16010.769769.433949@winooski.ccs.neu.edu>
@ 2012-11-08 16:48   ` Stefan Monnier
  2012-11-09  9:50     ` martin rudalics
  0 siblings, 1 reply; 97+ messages in thread
From: Stefan Monnier @ 2012-11-08 16:48 UTC (permalink / raw)
  To: Eli Barzilay; +Cc: emacs-devel

[...scroll-in-place...]
> I'll be happy if it does happen, of course.  One thing that would be
> much simpler is if the functionality is folded into the scrolling
> functions (as a customizable thing, of course), then a large part of

Yes, that's the way I'd like to see it, indeed.


        Stefan



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08  1:49       ` Stefan Monnier
@ 2012-11-08 17:33         ` Nix
  2012-11-08 18:14           ` Eli Barzilay
  2012-11-09  9:51           ` martin rudalics
  0 siblings, 2 replies; 97+ messages in thread
From: Nix @ 2012-11-08 17:33 UTC (permalink / raw)
  To: Stefan Monnier
  Cc: Stephen J. Turnbull, Emacs development discussions,
	Daniel Hackney, Eli Barzilay, Dani Moncayo

On 8 Nov 2012, Stefan Monnier spake thusly:

>> (This model is also why I use Eli Barzilay's wonderfully simple
>> scroll-in-place implementation, which I really should contribute to
>> upstream Emacs one of these years: I had Eli's go-ahead nearly two years
>
> Hadn't heard about it.  I just looked at
> https://github.com/elibarzilay/eliemacs/blob/master/include/scroll-in-place.el
> and IIUC all it does is to remember the previous positions during
> a sequence of scroll commands, and to use them when scrolling back.

Yeah. That version's improved a bit over what I'm using -- it's
respecting the old scroll-in-place variable now, so Gnus shouldn't need
changing at all.

Compared to what XEmacs's scroll-in-place has to do (basically a rewrite
of the entire scrolling code, in Lisp, and it still doesn't entirely
work) it is enormously better. 99% of the work is delegated to the
original scrolling code.

I'm honestly not sure how anyone can tolerate Emacs's default scrolling
behaviour -- I've used something like scroll-in-place for my entire life
with Emacs, the default was so hard to handle. I can't imagine that
anyone actually *wants* page-up/page-down sequences to leave you in a
different place from where you were before, but Emacs users are
conservative old sods so it is likely that a lot of users prefer it. So
the default should surely not change.

> It could also be used to let the user go back to where she was before
> scrolling (to simulate those other editors where point is not moved to
> stay visible while scrolling, so that non-scrolling commands teleport
> you right back to where you were).

Ah. That's an interesting variation. Controlled by (setq scroll-in-place
'unmoving) perhaps? (It should probably hide the cursor while it's
conceptually offscreen as well, on terminals where that's possible, by
flipping cursor-type to nil. Alas this would make it vanish from
non-selected windows too, if cursor-in-non-selected-windows is t...)


I'll look into adding 'unmoving support and post the result this
weekend.

I can remove the rebinding hacks and fold it into the core directly, if
you prefer, removing the SIP-orig-scroll-up / SIP-orig-scroll-down hack
and migrating most of the rest into simple.el or scrolling.el or
something like that, so that all that is needed to turn it on is (setq
scroll-preserve-screen-position 'in-place). Or I can just leave it as an
add-on. (That seems less elegant, but is probably best to start with.)


I have a copyright assignment on file, and my employer (Oracle) signed a
disclaimer long ago. I'm not sure about Eli. (Cc:ed.)

-- 
NULL && (void)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 15:43           ` Drew Adams
@ 2012-11-08 17:35             ` Nix
  0 siblings, 0 replies; 97+ messages in thread
From: Nix @ 2012-11-08 17:35 UTC (permalink / raw)
  To: Drew Adams; +Cc: 'Stephen Leake', emacs-devel

On 8 Nov 2012, Drew Adams said:
> That such a non-issue rises to the top here occasionally suggests how little
> Emacs must really need to be regrooved.  This is one of the silliest ways we
> could possibly want to spin our wheels looking for improvements.

Quite. It's really not important. It confuses me once every three or
four years: how terrible!

(The last time was last year, when I was doing a little souping up of
scroll-in-place. Hence my mention of it, which might with luck be a good
thing to come out of this latest mostly useless nomenclature-pedantry
thread. :) )

-- 
NULL && (void)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 17:33         ` Nix
@ 2012-11-08 18:14           ` Eli Barzilay
  2012-11-08 18:18             ` Nix
  2012-11-09  9:51           ` martin rudalics
  1 sibling, 1 reply; 97+ messages in thread
From: Eli Barzilay @ 2012-11-08 18:14 UTC (permalink / raw)
  To: Nix
  Cc: Stephen J. Turnbull, Emacs development discussions,
	Daniel Hackney, Stefan Monnier, Dani Moncayo

40 minutes ago, Nix wrote:
> 
> Compared to what XEmacs's scroll-in-place has to do (basically a
> rewrite of the entire scrolling code, in Lisp, and it still doesn't
> entirely work) it is enormously better. 99% of the work is delegated
> to the original scrolling code.

Yeah, that was the main thing I liked about this.

I already emailed Stefan and said that not only is it small since it
leaves the real work where it belongs, having it in the core is going
to make it even smaller since large parts of the code are dealing with
the usual work that is needed when a very basic command changes.  If
it becomes a customization option of the scrolling commands, then none
of that is needed.


> I'm honestly not sure how anyone can tolerate Emacs's default
> scrolling behaviour -- I've used something like scroll-in-place for
> my entire life with Emacs, the default was so hard to handle.

I actually started without it, and I can say that a few short minutes
of using the in-place thing made me wonder how I could ever tolerate
the default...


> I can't imagine that anyone actually *wants* page-up/page-down
> sequences to leave you in a different place from where you were
> before, but Emacs users are conservative old sods so it is likely
> that a lot of users prefer it. So the default should surely not
> change.

:)


> > It could also be used to let the user go back to where she was
> > before scrolling (to simulate those other editors where point is
> > not moved to stay visible while scrolling, so that non-scrolling
> > commands teleport you right back to where you were).
> 
> Ah. That's an interesting variation. Controlled by (setq
> scroll-in-place 'unmoving) perhaps? (It should probably hide the
> cursor while it's conceptually offscreen as well, on terminals where
> that's possible, by flipping cursor-type to nil. Alas this would
> make it vanish from non-selected windows too, if
> cursor-in-non-selected-windows is t...)

(This sounds like something that would be harder to do, since there
are lots of things that relate to the point position which would
break.  Maybe a better way to do that is some specific event loop
while scrolling that aborts before any other key is processed, but
that would make the code different.  But what do I know...)


> I have a copyright assignment on file, and my employer (Oracle)
> signed a disclaimer long ago. I'm not sure about Eli. (Cc:ed.)

I've done it when I was a student in Cornell, I'm not sure that it
still holds.  I obviously don't mind if it's used in any way.

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 18:14           ` Eli Barzilay
@ 2012-11-08 18:18             ` Nix
  2012-11-08 18:39               ` Eli Barzilay
                                 ` (2 more replies)
  0 siblings, 3 replies; 97+ messages in thread
From: Nix @ 2012-11-08 18:18 UTC (permalink / raw)
  To: Eli Barzilay
  Cc: Stephen J. Turnbull, Emacs development discussions,
	Daniel Hackney, Stefan Monnier, Dani Moncayo

On 8 Nov 2012, Eli Barzilay verbalised:

>> Ah. That's an interesting variation. Controlled by (setq
>> scroll-in-place 'unmoving) perhaps? (It should probably hide the
>> cursor while it's conceptually offscreen as well, on terminals where
>> that's possible, by flipping cursor-type to nil. Alas this would
>> make it vanish from non-selected windows too, if
>> cursor-in-non-selected-windows is t...)
>
> (This sounds like something that would be harder to do, since there
> are lots of things that relate to the point position which would
> break.  Maybe a better way to do that is some specific event loop
> while scrolling that aborts before any other key is processed, but
> that would make the code different.  But what do I know...)

Yes, you have to do it like that. Point is always on-screen: this
assumption is wired into all sorts of places and can never change. But
what we *can* do is make point invisible after a motion command (pure
motion only, not e.g. isearch, which means scroll-*-command only) that
should leave point offscreen, then detect any *other* command (in the
same way that e.g. `repeat' does) and jump back to where we were at the
start of this chain of scroll commands, emptying the SIP-last-scroll
lists and making point visible again.

-- 
NULL && (void)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 18:18             ` Nix
@ 2012-11-08 18:39               ` Eli Barzilay
  2012-11-08 18:39               ` Stefan Monnier
  2012-11-08 18:40               ` Eli Zaretskii
  2 siblings, 0 replies; 97+ messages in thread
From: Eli Barzilay @ 2012-11-08 18:39 UTC (permalink / raw)
  To: Nix
  Cc: Stephen J. Turnbull, Emacs development discussions,
	Daniel Hackney, Stefan Monnier, Dani Moncayo

20 minutes ago, Nix wrote:
> 
> Yes, you have to do it like that. Point is always on-screen: this
> assumption is wired into all sorts of places and can never
> change. But what we *can* do is make point invisible after a motion
> command (pure motion only, not e.g. isearch, which means
> scroll-*-command only) that should leave point offscreen, then
> detect any *other* command (in the same way that e.g. `repeat' does)
> and jump back to where we were at the start of this chain of scroll
> commands, emptying the SIP-last-scroll lists and making point
> visible again.

It's just that my experience with installing a pre-command hook to do
something like this turned out to be so much work that having a
specialized event loop was saner.  In any case, I think that this is
not easy, and frankly, with a proper in-place scrolling, I don't see
any need for it beyond some rare occasional use of some command to
remember a place to go back to.

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 18:18             ` Nix
  2012-11-08 18:39               ` Eli Barzilay
@ 2012-11-08 18:39               ` Stefan Monnier
  2012-11-09  9:50                 ` martin rudalics
  2012-11-08 18:40               ` Eli Zaretskii
  2 siblings, 1 reply; 97+ messages in thread
From: Stefan Monnier @ 2012-11-08 18:39 UTC (permalink / raw)
  To: Nix
  Cc: Eli Barzilay, Emacs development discussions, Daniel Hackney,
	Stephen J. Turnbull, Dani Moncayo

> I'm honestly not sure how anyone can tolerate Emacs's default scrolling
> behaviour -- I've used something like scroll-in-place for my entire life

AFAIK scroll-preserve-screen-position already provides most of
that behavior.  I have it set to `always' here, mostly as an experiment
(started years ago and that I had forgotten about).  During this
experiment I've noticed one case where it's annoying:
when you have everything folded and use reveal-mode, it causes scroll
commands to much too often hide the text I'm looking at (because while
it'd still be onscreen, point was moved to some other line that's
outside of the function which as a consequence gets refolded).
So I think a value of t would fit my usage pattern better.

> should leave point offscreen, then detect any *other* command (in the
> same way that e.g. `repeat' does) and jump back to where we were at the

Right, e.g. using something like set-temporary-overlay-map.  Note that
I wouldn't do it for just "any other" command (that's what many other
editors do, but I find it insufferable).  Better provide just one
particular "jump back" binding (C-g sounds like a natural choice for
it).


        Stefan



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 18:18             ` Nix
  2012-11-08 18:39               ` Eli Barzilay
  2012-11-08 18:39               ` Stefan Monnier
@ 2012-11-08 18:40               ` Eli Zaretskii
  2012-11-08 18:48                 ` Juanma Barranquero
  2012-11-09  2:52                 ` Richard Stallman
  2 siblings, 2 replies; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-08 18:40 UTC (permalink / raw)
  To: Nix; +Cc: dan, eli, emacs-devel, monnier, dmoncayo, stephen

> From: Nix <nix@esperi.org.uk>
> Emacs: it's all fun and games, until somebody tries to edit a file.
> Date: Thu, 08 Nov 2012 18:18:04 +0000
> Cc: "Stephen J. Turnbull" <stephen@xemacs.org>,
> 	Emacs development discussions <emacs-devel@gnu.org>,
> 	Daniel Hackney <dan@haxney.org>, Stefan Monnier <monnier@iro.umontreal.ca>,
> 	Dani Moncayo <dmoncayo@gmail.com>
> 
> Yes, you have to do it like that. Point is always on-screen: this
> assumption is wired into all sorts of places and can never change.

This is false.  An easy demonstration is this:

  emacs -Q
  C-x 3
  M-<
  M-x set-variable RET auto-hscroll RET nil RET
  C-e



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 18:40               ` Eli Zaretskii
@ 2012-11-08 18:48                 ` Juanma Barranquero
  2012-11-08 19:29                   ` Eli Zaretskii
  2012-11-09  2:52                 ` Richard Stallman
  1 sibling, 1 reply; 97+ messages in thread
From: Juanma Barranquero @ 2012-11-08 18:48 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, eli, emacs-devel, Nix, monnier, dmoncayo, stephen

On Thu, Nov 8, 2012 at 7:40 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> This is false.  An easy demonstration is this:
>
>   emacs -Q
>   C-x 3

Surely this isn't what you expected :-)

alloc.c:2864: Emacs fatal error: assertion failed: (tmp) <
VECTOR_MAX_FREE_LIST_INDEX

Breakpoint 1, terminate_due_to_signal (sig=22,
backtrace_limit=2147483647) at emacs.c:318
318       signal (sig, SIG_DFL);
(gdb) bt
#0  terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at emacs.c:318
#1  0x01021b31 in die (msg=0x152b648 "assertion failed: (tmp) <
VECTOR_MAX_FREE_LIST_INDEX", file=0x152ae49 "alloc.c", line=2864) at
alloc.c:6483
#2  0x0101af8e in sweep_vectors () at alloc.c:2864
#3  0x010217db in gc_sweep () at alloc.c:6376
#4  0x0101f176 in Fgarbage_collect () at alloc.c:5321
#5  0x010181b1 in maybe_gc () at lisp.h:3676
#6  0x010e123f in exec_byte_code (bytestr=21053329, vector=21053405,
maxdepth=20, args_template=57415706, nargs=0, args=0x0) at
bytecode.c:934
#7  0x01015e62 in funcall_lambda (fun=21053285, nargs=2,
arg_vector=0x36c181a <__register_frame_info+57415706>) at eval.c:3006
#8  0x010152fb in Ffuncall (nargs=3, args=0x88e374) at eval.c:2823
#9  0x010e1133 in exec_byte_code (bytestr=21053329, vector=21053405,
maxdepth=20, args_template=57415706, nargs=0, args=0x0) at
bytecode.c:899
#10 0x01015e62 in funcall_lambda (fun=21053285, nargs=1,
arg_vector=0x36c181a <__register_frame_info+57415706>) at eval.c:3006
#11 0x010152fb in Ffuncall (nargs=2, args=0x88e674) at eval.c:2823
#12 0x010e1133 in exec_byte_code (bytestr=21053513, vector=21053605,
maxdepth=20, args_template=57415706, nargs=0, args=0x0) at
bytecode.c:899
#13 0x01015e62 in funcall_lambda (fun=21053485, nargs=1,
arg_vector=0x36c181a <__register_frame_info+57415706>) at eval.c:3006
#14 0x0101563c in apply_lambda (fun=21053485, args=61287486) at eval.c:2883
#15 0x01013611 in eval_sub (form=61287494) at eval.c:2184
#16 0x010128e5 in Feval (form=61287494, lexical=57415706) at eval.c:2004
#17 0x010494b6 in eval_dyn (form=61287494) at keyboard.c:7571
#18 0x01010faa in internal_condition_case_1 (bfun=0x104949c
<eval_dyn>, arg=61287494, handlers=57466266, hfun=0x1049429
<menu_item_eval_property_1>)
    at eval.c:1326
#19 0x01049511 in menu_item_eval_property (sexpr=61287494) at keyboard.c:7582
#20 0x0104c021 in parse_tool_bar_item (key=59860114, item=57415706) at
keyboard.c:8135
#21 0x0104bbcf in process_tool_bar_item (key=59860114, def=20128774,
data=57415706, args=0x0) at keyboard.c:8011
#22 0x010c4113 in map_keymap_item (fun=0x104baee
<process_tool_bar_item>, args=57415706, key=59860114, val=20128774,
data=0x0) at keymap.c:559
#23 0x010c46d2 in map_keymap_internal (map=61305510, fun=0x104baee
<process_tool_bar_item>, args=57415706, data=0x0) at keymap.c:599
#24 0x010c4a85 in map_keymap (map=61305510, fun=0x104baee
<process_tool_bar_item>, args=57415706, data=0x0, autoload=true) at
keymap.c:647
#25 0x0104bab2 in tool_bar_items (reuse=61588605, nitems=0x88edb0) at
keyboard.c:7971
#26 0x01200663 in update_tool_bar (f=0x39906d8
<__register_frame_info+60360408>, save_match_data=0) at xdisp.c:11555
#27 0x011ff84b in prepare_menu_bars () at xdisp.c:11245
#28 0x0120530c in redisplay_internal () at xdisp.c:13114
#29 0x012031b3 in redisplay () at xdisp.c:12686
#30 0x0103b682 in read_char (commandflag=1, nmaps=2, maps=0x88f980,
prev_event=57415706, used_mouse_menu=0x88fa53, end_time=0x0) at
keyboard.c:2428
#31 0x0104f295 in read_key_sequence (keybuf=0x88fbd0, bufsize=30,
prompt=57415706, dont_downcase_last=false,
can_return_switch_frame=true,
    fix_current_buffer=true) at keyboard.c:9230
#32 0x010389a4 in command_loop_1 () at keyboard.c:1458
#33 0x01010ec2 in internal_condition_case (bfun=0x10384be
<command_loop_1>, handlers=57466266, hfun=0x1037cdd <cmd_error>) at
eval.c:1288
#34 0x01038137 in command_loop_2 (ignore=57415706) at keyboard.c:1167
#35 0x0101091f in internal_catch (tag=57456122, func=0x1038113
<command_loop_2>, arg=57415706) at eval.c:1059
#36 0x010380f1 in command_loop () at keyboard.c:1146
#37 0x010376ab in recursive_edit_1 () at keyboard.c:778
#38 0x010379d8 in Frecursive_edit () at keyboard.c:842
#39 0x0100298b in main (argc=2, argv=0xa12f30) at emacs.c:1564

Lisp Backtrace:
"Automatic GC" (0x167135c)
"image-search-load-path" (0x88e378)
"image-search-load-path" (0x88e678)
"find-image" (0x88e8d0)
"redisplay_internal (C function)" (0x167135c)
(gdb)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 21:41     ` Dmitry Gutov
@ 2012-11-08 19:26       ` Bruce Korb
  2012-11-13  9:07       ` Bastien
  1 sibling, 0 replies; 97+ messages in thread
From: Bruce Korb @ 2012-11-08 19:26 UTC (permalink / raw)
  To: emacs-devel

On 11/07/12 13:41, Dmitry Gutov wrote:
> Mathias Dahl <mathias.dahl@gmail.com> writes:
> 
>> Finally a good proposal, thanks!
>>
>> And about Drew's argument against it, based on the current "page" term 
>> in Emacs, I'd say that very few would have a problem with it. The change 
>> proposed by Richard would do much more good than harm.
> 
> Put me down for one "yes, please!"

Another from the peanut gallery:  "Amen!!!" :)

> And yeah, switching frames and windows would also serve to improve the
> initial period of disorientation for new users, but I don't really see
> that happening anytime soon.

Anything that helps clarity is good, but it doesn't trump continuity of behavior.
Changing continuity requires compelling reasons.  "Uniformity of nomenclature"
falls short of compelling. :)

Cheers - Bruce



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 18:48                 ` Juanma Barranquero
@ 2012-11-08 19:29                   ` Eli Zaretskii
  0 siblings, 0 replies; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-08 19:29 UTC (permalink / raw)
  To: Juanma Barranquero; +Cc: dan, eli, emacs-devel, nix, monnier, dmoncayo, stephen

> From: Juanma Barranquero <lekktu@gmail.com>
> Date: Thu, 8 Nov 2012 19:48:09 +0100
> Cc: Nix <nix@esperi.org.uk>, dan@haxney.org, eli@barzilay.org, 
> 	emacs-devel@gnu.org, monnier@iro.umontreal.ca, dmoncayo@gmail.com, 
> 	stephen@xemacs.org
> 
> On Thu, Nov 8, 2012 at 7:40 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> > This is false.  An easy demonstration is this:
> >
> >   emacs -Q
> >   C-x 3
> 
> Surely this isn't what you expected :-)
> 
> alloc.c:2864: Emacs fatal error: assertion failed: (tmp) <
> VECTOR_MAX_FREE_LIST_INDEX

Actually, I did (see bug #12839), so I did this in an older version,
that is still usable.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* RE: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 18:03       ` Drew Adams
  2012-11-07 18:34         ` Eli Zaretskii
@ 2012-11-08 22:18         ` Daniel Hackney
  1 sibling, 0 replies; 97+ messages in thread
From: Daniel Hackney @ 2012-11-08 22:18 UTC (permalink / raw)
  To: Drew Adams; +Cc: Eli Zaretskii, Adrian.B.Robert, emacs-devel, rms, dgutov

[-- Attachment #1: Type: text/plain, Size: 1070 bytes --]

"Drew Adams" <drew.adams@oracle.com> wrote:
> > Only veteran Emacs users know about that meaning of "page",
>
> Evidence for that claim?
>
> And what constitutes a "veteran"?  Anyone who has ever used a command
such as
> `count-lines-page', `backward-page', `sort-pages', `narrow-to-page',
> `what-page', or `ps-nb-pages-region'?  Anyone who has ever customized an
option
> such as `page-delimiter', `ps-even-or-odd-pages', or `ps-selected-pages'?

As a single data point: I've been using Emacs for 6 years and have written
"a bunch" of elisp, and I've never noticed the backwards definition of
up/down and have never used any of the aforementioned commands, nor any
command or function which operates on ^L.

I've seen ^L characters in elisp code before (though never in any other
kind of file) and I know it is some kind of "section delimiter" but I never
really saw the point of it.

tl;dr: I wouldn't notice the absence of the ^L commands, and I think that
bringing the scrolling motion commands into agreement with every other
program would be great for newcomers.

[-- Attachment #2: Type: text/html, Size: 1361 bytes --]

^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 18:40               ` Eli Zaretskii
  2012-11-08 18:48                 ` Juanma Barranquero
@ 2012-11-09  2:52                 ` Richard Stallman
  2012-11-09  7:35                   ` Eli Zaretskii
  1 sibling, 1 reply; 97+ messages in thread
From: Richard Stallman @ 2012-11-09  2:52 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, eli, emacs-devel, nix, monnier, dmoncayo, stephen

Point is always within the range of text that is displayed in the window.
With hscroll, parts of the lines in the window don't actually appear;
that's why point can be hscrolled off the side.  Nonetheless, it is still
within the range of text that is displayed in the window.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09  2:52                 ` Richard Stallman
@ 2012-11-09  7:35                   ` Eli Zaretskii
  2012-11-09 14:20                     ` Nix
  2012-11-10  0:13                     ` Richard Stallman
  0 siblings, 2 replies; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-09  7:35 UTC (permalink / raw)
  To: rms; +Cc: dan, eli, emacs-devel, nix, monnier, dmoncayo, stephen

> Date: Thu, 08 Nov 2012 21:52:27 -0500
> From: Richard Stallman <rms@gnu.org>
> CC: nix@esperi.org.uk, dan@haxney.org, eli@barzilay.org,
> 	emacs-devel@gnu.org, monnier@iro.umontreal.ca,
> 	dmoncayo@gmail.com, stephen@xemacs.org
> 
> Point is always within the range of text that is displayed in the window.
> With hscroll, parts of the lines in the window don't actually appear;
> that's why point can be hscrolled off the side.  Nonetheless, it is still
> within the range of text that is displayed in the window.

Yes, that is true.  But the point I wanted to make is that nothing in
Emacs really assumes that point must be on the displayed portion of
the buffer.  Rather, the display engine deliberately scrolls text to
make sure point is visible.  So I don't think Emacs will go down in
flames if some feature inhibits this automatic scrolling.  The
auto-hscroll example was a demonstration of how Emacs command still
work in a sensible way when point is not visible.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 16:48   ` Stefan Monnier
@ 2012-11-09  9:50     ` martin rudalics
  2012-11-09 14:17       ` Stefan Monnier
  0 siblings, 1 reply; 97+ messages in thread
From: martin rudalics @ 2012-11-09  9:50 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Barzilay, emacs-devel

 >> I'll be happy if it does happen, of course.  One thing that would be
 >> much simpler is if the functionality is folded into the scrolling
 >> functions (as a customizable thing, of course), then a large part of
 >
 > Yes, that's the way I'd like to see it, indeed.

Without a post-display hook?  Then the display-engine may override it.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 18:39               ` Stefan Monnier
@ 2012-11-09  9:50                 ` martin rudalics
  2012-11-09 14:18                   ` Stefan Monnier
  0 siblings, 1 reply; 97+ messages in thread
From: martin rudalics @ 2012-11-09  9:50 UTC (permalink / raw)
  To: Stefan Monnier
  Cc: Daniel Hackney, Eli Barzilay, Emacs development discussions, Nix,
	Dani Moncayo, Stephen J. Turnbull

 > AFAIK scroll-preserve-screen-position already provides most of
 > that behavior.

Just that it doesn't work with different-height faces

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12401

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-08 17:33         ` Nix
  2012-11-08 18:14           ` Eli Barzilay
@ 2012-11-09  9:51           ` martin rudalics
  2012-11-09 14:19             ` Stefan Monnier
  1 sibling, 1 reply; 97+ messages in thread
From: martin rudalics @ 2012-11-09  9:51 UTC (permalink / raw)
  To: Nix
  Cc: Daniel Hackney, Eli Barzilay, Emacs development discussions,
	Stefan Monnier, Dani Moncayo, Stephen J. Turnbull

 >> It could also be used to let the user go back to where she was before
 >> scrolling (to simulate those other editors where point is not moved to
 >> stay visible while scrolling, so that non-scrolling commands teleport
 >> you right back to where you were).
 >
 > Ah. That's an interesting variation. Controlled by (setq scroll-in-place
 > 'unmoving) perhaps? (It should probably hide the cursor while it's
 > conceptually offscreen as well, on terminals where that's possible, by
 > flipping cursor-type to nil. Alas this would make it vanish from
 > non-selected windows too, if cursor-in-non-selected-windows is t...)

`scroll-restore-mode' addresses most of these

http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg01892.html

and also tries to handle the region during scrolling.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09  9:50     ` martin rudalics
@ 2012-11-09 14:17       ` Stefan Monnier
  2012-11-09 15:27         ` Eli Barzilay
  2012-11-10 11:05         ` martin rudalics
  0 siblings, 2 replies; 97+ messages in thread
From: Stefan Monnier @ 2012-11-09 14:17 UTC (permalink / raw)
  To: martin rudalics; +Cc: Eli Barzilay, emacs-devel

>>> I'll be happy if it does happen, of course.  One thing that would be
>>> much simpler is if the functionality is folded into the scrolling
>>> functions (as a customizable thing, of course), then a large part of
>> Yes, that's the way I'd like to see it, indeed.
> Without a post-display hook?  Then the display-engine may override it.

I'm not sure we're talking about the same thing.  I'm just talking about
the fact that the code he has right now does something similar to
advising/redefining some functions (which is the only way to do it for
an external package), and I'd rather just change those functions in the
source code instead.


        Stefan



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09  9:50                 ` martin rudalics
@ 2012-11-09 14:18                   ` Stefan Monnier
  0 siblings, 0 replies; 97+ messages in thread
From: Stefan Monnier @ 2012-11-09 14:18 UTC (permalink / raw)
  To: martin rudalics
  Cc: Daniel Hackney, Eli Barzilay, Emacs development discussions, Nix,
	Dani Moncayo, Stephen J. Turnbull

>> AFAIK scroll-preserve-screen-position already provides most of
>> that behavior.
> Just that it doesn't work with different-height faces
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12401

I know.  That's what the "most" was referring to.


        Stefan



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09  9:51           ` martin rudalics
@ 2012-11-09 14:19             ` Stefan Monnier
  2012-11-10 11:05               ` martin rudalics
  0 siblings, 1 reply; 97+ messages in thread
From: Stefan Monnier @ 2012-11-09 14:19 UTC (permalink / raw)
  To: martin rudalics
  Cc: Daniel Hackney, Eli Barzilay, Emacs development discussions, Nix,
	Dani Moncayo, Stephen J. Turnbull

> `scroll-restore-mode' addresses most of these
> http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg01892.html
> and also tries to handle the region during scrolling.

I didn't remember this one.  What are you waiting for to put it on
GNU ELPA?


        Stefan



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09  7:35                   ` Eli Zaretskii
@ 2012-11-09 14:20                     ` Nix
  2012-11-09 14:56                       ` Eli Zaretskii
  2012-11-10  0:13                     ` Richard Stallman
  1 sibling, 1 reply; 97+ messages in thread
From: Nix @ 2012-11-09 14:20 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, rms, eli, emacs-devel, monnier, dmoncayo, stephen

On 9 Nov 2012, Eli Zaretskii spake thusly:
> Yes, that is true.  But the point I wanted to make is that nothing in
> Emacs really assumes that point must be on the displayed portion of
> the buffer.  Rather, the display engine deliberately scrolls text to
> make sure point is visible.  So I don't think Emacs will go down in
> flames if some feature inhibits this automatic scrolling.  The
> auto-hscroll example was a demonstration of how Emacs command still
> work in a sensible way when point is not visible.

... which is a good sign that a small core change might make it possible
to implement this feature on its own in a few lines, without requiring
all the scroll-in-place machinery. Something else for me to look at :)

-- 
NULL && (void)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09 14:20                     ` Nix
@ 2012-11-09 14:56                       ` Eli Zaretskii
  2012-11-09 20:24                         ` Nix
  2012-11-10 11:09                         ` martin rudalics
  0 siblings, 2 replies; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-09 14:56 UTC (permalink / raw)
  To: Nix; +Cc: dan, eli, emacs-devel, monnier, dmoncayo, stephen

> From: Nix <nix@esperi.org.uk>
> Cc: rms@gnu.org, dan@haxney.org, eli@barzilay.org, emacs-devel@gnu.org,
>         monnier@iro.umontreal.ca, dmoncayo@gmail.com, stephen@xemacs.org
> Date: Fri, 09 Nov 2012 14:20:42 +0000
> 
> On 9 Nov 2012, Eli Zaretskii spake thusly:
> > Yes, that is true.  But the point I wanted to make is that nothing in
> > Emacs really assumes that point must be on the displayed portion of
> > the buffer.  Rather, the display engine deliberately scrolls text to
> > make sure point is visible.  So I don't think Emacs will go down in
> > flames if some feature inhibits this automatic scrolling.  The
> > auto-hscroll example was a demonstration of how Emacs command still
> > work in a sensible way when point is not visible.
> 
> ... which is a good sign that a small core change might make it possible
> to implement this feature on its own in a few lines, without requiring
> all the scroll-in-place machinery. Something else for me to look at :)

If you could describe what change are you looking for, and how not
displaying point might help with scroll-in-place like behavior, I
might be able to help.  (Sorry, couldn't read all this longish
thread.)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09 14:17       ` Stefan Monnier
@ 2012-11-09 15:27         ` Eli Barzilay
  2012-11-10 11:05         ` martin rudalics
  1 sibling, 0 replies; 97+ messages in thread
From: Eli Barzilay @ 2012-11-09 15:27 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: martin rudalics, emacs-devel

An hour ago, Stefan Monnier wrote:
> >>> I'll be happy if it does happen, of course.  One thing that
> >>> would be much simpler is if the functionality is folded into the
> >>> scrolling functions (as a customizable thing, of course), then a
> >>> large part of
> >> Yes, that's the way I'd like to see it, indeed.
> > Without a post-display hook?  Then the display-engine may override
> > it.
> 
> I'm not sure we're talking about the same thing.  I'm just talking
> about the fact that the code he has right now does something similar
> to advising/redefining some functions (which is the only way to do
> it for an external package), and I'd rather just change those
> functions in the source code instead.

Yes -- to be clear, the only thing that I'm interested in is what Nix
described: having a sequence of scrolling up/down end up with exactly
the same window configuration in the end (provided the same number of
scrolling in both directions).  There's no need for any hooks for
that.

(BTW, I'm not sure if a use case was argued for, so this is ignorable
if it was.  The place where this is most obvious is if I'm working on
a piece of code that is all on the screen and I want to have a quick
peek up the file.  In this case it is very distracting if the screen
ends up at a different position so I don't see the same part of the
code, and/or if the point is not in the same place.  Either of these
require me to manually restore things, which is losing hacking focus.)

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09 14:56                       ` Eli Zaretskii
@ 2012-11-09 20:24                         ` Nix
  2012-11-10 11:09                         ` martin rudalics
  1 sibling, 0 replies; 97+ messages in thread
From: Nix @ 2012-11-09 20:24 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, eli, emacs-devel, monnier, dmoncayo, stephen

On 9 Nov 2012, Eli Zaretskii told this:

>> From: Nix <nix@esperi.org.uk>
>> ... which is a good sign that a small core change might make it possible
>> to implement this feature on its own in a few lines, without requiring
>> all the scroll-in-place machinery. Something else for me to look at :)
>
> If you could describe what change are you looking for, and how not
> displaying point might help with scroll-in-place like behavior, I
> might be able to help.  (Sorry, couldn't read all this longish
> thread.)

It's the other way round: the way scroll-in-place.el is currently
implemented, Eli noted that it would be quite easy to make it implement
a 'stationary cursor' like users of other editors might be used to.

-- 
NULL && (void)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09  7:35                   ` Eli Zaretskii
  2012-11-09 14:20                     ` Nix
@ 2012-11-10  0:13                     ` Richard Stallman
  2012-11-10  7:42                       ` Eli Zaretskii
  2012-11-10 11:10                       ` martin rudalics
  1 sibling, 2 replies; 97+ messages in thread
From: Richard Stallman @ 2012-11-10  0:13 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, eli, emacs-devel, nix, monnier, dmoncayo, stephen

      So I don't think Emacs will go down in
    flames if some feature inhibits this automatic scrolling.

There might well be some bugs that are triggered if point
is not inside the displayed window.  However, I don't think
fixing them would be very hard.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use Ekiga or an ordinary phone call




^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10  0:13                     ` Richard Stallman
@ 2012-11-10  7:42                       ` Eli Zaretskii
  2012-11-10 11:09                         ` martin rudalics
  2012-11-10 11:10                       ` martin rudalics
  1 sibling, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-10  7:42 UTC (permalink / raw)
  To: rms; +Cc: dan, eli, emacs-devel, nix, monnier, dmoncayo, stephen

> Date: Fri, 09 Nov 2012 19:13:54 -0500
> From: Richard Stallman <rms@gnu.org>
> CC: dan@haxney.org, eli@barzilay.org, emacs-devel@gnu.org,
> 	nix@esperi.org.uk, monnier@iro.umontreal.ca,
> 	dmoncayo@gmail.com, stephen@xemacs.org
> 
>       So I don't think Emacs will go down in
>     flames if some feature inhibits this automatic scrolling.
> 
> There might well be some bugs that are triggered if point
> is not inside the displayed window.  However, I don't think
> fixing them would be very hard.

Meanwhile, it turned out that what's requested is something else: when
the user or a Lisp program deliberately scrolls the text, leave point
where it was, instead of moving it to be visible in the new contents
of the window.  This would need changes to window-scrolling code in
window.c, to avoid moving point.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09 14:17       ` Stefan Monnier
  2012-11-09 15:27         ` Eli Barzilay
@ 2012-11-10 11:05         ` martin rudalics
  2012-11-10 11:38           ` Eli Zaretskii
  1 sibling, 1 reply; 97+ messages in thread
From: martin rudalics @ 2012-11-10 11:05 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Barzilay, emacs-devel

 > I'm not sure we're talking about the same thing.  I'm just talking about
 > the fact that the code he has right now does something similar to
 > advising/redefining some functions (which is the only way to do it for
 > an external package),

Scrolling usually happens via commands.  So external packages can always
use pre- and post-command hooks (which I obviously not recommend).

 > and I'd rather just change those functions in the
 > source code instead.

AFAICT scrolling is partially implemented in the scroll functions and
partially in the display engine.  For me, implementing a thing like
`scroll-in-place' means to leave the scroll functions mainly untouched -
we'd just record the original window-point and window-start positions
there.  Then we need a `scroll-point' overlay for the "line is too
short" case (Kim Storm has implemented a similar feature in his
rectangle code) and adjust it in a `post-display' hook - the one you've
been asking for in the past decade.  Also, that `post-display' hook
would have to optionally handle the case where scrolling gets back to
the original point and the user wants the window-start position to match
the position it had before the scrolling sequence started.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09 14:19             ` Stefan Monnier
@ 2012-11-10 11:05               ` martin rudalics
  0 siblings, 0 replies; 97+ messages in thread
From: martin rudalics @ 2012-11-10 11:05 UTC (permalink / raw)
  To: Stefan Monnier
  Cc: Daniel Hackney, Eli Barzilay, Emacs development discussions, Nix,
	Dani Moncayo, Stephen J. Turnbull

 >> `scroll-restore-mode' addresses most of these
 >> http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg01892.html
 >> and also tries to handle the region during scrolling.
 >
 > I didn't remember this one.  What are you waiting for to put it on
 > GNU ELPA?

Pre- and post-display hooks.  I dislike using pre- and post-command
hooks for this.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-09 14:56                       ` Eli Zaretskii
  2012-11-09 20:24                         ` Nix
@ 2012-11-10 11:09                         ` martin rudalics
  2012-11-10 11:40                           ` Eli Zaretskii
  1 sibling, 1 reply; 97+ messages in thread
From: martin rudalics @ 2012-11-10 11:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, eli, emacs-devel, Nix, monnier, dmoncayo, stephen

 > If you could describe what change are you looking for, and how not
 > displaying point might help with scroll-in-place like behavior, I
 > might be able to help.  (Sorry, couldn't read all this longish
 > thread.)

`scroll-in-place' means for them to keep the cursor at the same position
of the screen regardless of whether there's any text at that position.
In practice, this can be currently implemented only with the help of an
overlay as with Kim's cua-rect.el.  Obviously, if we are able to not
show the cursor (Emacs on Windows currently lacks this capability IIUC)
no overlay is needed.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10  7:42                       ` Eli Zaretskii
@ 2012-11-10 11:09                         ` martin rudalics
  2012-11-10 11:45                           ` Eli Zaretskii
  0 siblings, 1 reply; 97+ messages in thread
From: martin rudalics @ 2012-11-10 11:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, rms, eli, emacs-devel, nix, monnier, dmoncayo, stephen

 > Meanwhile, it turned out that what's requested is something else: when
 > the user or a Lisp program deliberately scrolls the text, leave point
 > where it was, instead of moving it to be visible in the new contents
 > of the window.  This would need changes to window-scrolling code in
 > window.c, to avoid moving point.

Not necessarily.  We can always move point lazily, that is, whenever it
is requested.  As long as scrolling proceeds, we can pretend (visually)
that it's somewhere else.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10  0:13                     ` Richard Stallman
  2012-11-10  7:42                       ` Eli Zaretskii
@ 2012-11-10 11:10                       ` martin rudalics
  2012-11-10 11:46                         ` Eli Zaretskii
  1 sibling, 1 reply; 97+ messages in thread
From: martin rudalics @ 2012-11-10 11:10 UTC (permalink / raw)
  To: rms; +Cc: dan, eli, emacs-devel, nix, monnier, dmoncayo, Eli Zaretskii,
	stephen

 > There might well be some bugs that are triggered if point
 > is not inside the displayed window.

The _selected_ window.  When a window is not selected, its buffer's
`point' not necessarily appears in it.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 11:05         ` martin rudalics
@ 2012-11-10 11:38           ` Eli Zaretskii
  2012-11-10 14:09             ` martin rudalics
  0 siblings, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-10 11:38 UTC (permalink / raw)
  To: martin rudalics; +Cc: eli, monnier, emacs-devel

> Date: Sat, 10 Nov 2012 12:05:40 +0100
> From: martin rudalics <rudalics@gmx.at>
> Cc: Eli Barzilay <eli@barzilay.org>, emacs-devel@gnu.org
> 
> AFAICT scrolling is partially implemented in the scroll functions and
> partially in the display engine.

True.

> For me, implementing a thing like
> `scroll-in-place' means to leave the scroll functions mainly untouched -
> we'd just record the original window-point and window-start positions
> there.  Then we need a `scroll-point' overlay for the "line is too
> short" case (Kim Storm has implemented a similar feature in his
> rectangle code) and adjust it in a `post-display' hook - the one you've
> been asking for in the past decade.  Also, that `post-display' hook
> would have to optionally handle the case where scrolling gets back to
> the original point and the user wants the window-start position to match
> the position it had before the scrolling sequence started.

You are talking about a solution that would work around the current
code in creative ways.  I would suggest changing the code instead.
Changing the code will necessarily involve touching the scroll
functions, because currently they move point to fit in the window.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 11:09                         ` martin rudalics
@ 2012-11-10 11:40                           ` Eli Zaretskii
  2012-11-10 14:11                             ` martin rudalics
  0 siblings, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-10 11:40 UTC (permalink / raw)
  To: martin rudalics; +Cc: dan, eli, emacs-devel, nix, monnier, dmoncayo, stephen

> Date: Sat, 10 Nov 2012 12:09:35 +0100
> From: martin rudalics <rudalics@gmx.at>
> CC: Nix <nix@esperi.org.uk>, dan@haxney.org, eli@barzilay.org, 
>  emacs-devel@gnu.org, monnier@iro.umontreal.ca, dmoncayo@gmail.com, 
>  stephen@xemacs.org
> 
> `scroll-in-place' means for them to keep the cursor at the same position
> of the screen regardless of whether there's any text at that position.
> In practice, this can be currently implemented only with the help of an
> overlay as with Kim's cua-rect.el.

"Currently" meaning with no changes on the C level, I presume?

> Obviously, if we are able to not show the cursor (Emacs on Windows
> currently lacks this capability IIUC) no overlay is needed.

??? Of course, we can hide the cursor on Windows.  Otherwise, how do
we manage not displaying when auto-hscroll-mode is off and point is
outside of the shown text?



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 11:09                         ` martin rudalics
@ 2012-11-10 11:45                           ` Eli Zaretskii
  2012-11-10 11:48                             ` Nix
  2012-11-10 14:10                             ` martin rudalics
  0 siblings, 2 replies; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-10 11:45 UTC (permalink / raw)
  To: martin rudalics
  Cc: dan, rms, eli, emacs-devel, nix, monnier, dmoncayo, stephen

> Date: Sat, 10 Nov 2012 12:09:59 +0100
> From: martin rudalics <rudalics@gmx.at>
> CC: rms@gnu.org, dan@haxney.org, eli@barzilay.org, emacs-devel@gnu.org, 
>  nix@esperi.org.uk, monnier@iro.umontreal.ca, dmoncayo@gmail.com, 
>  stephen@xemacs.org
> 
>  > Meanwhile, it turned out that what's requested is something else: when
>  > the user or a Lisp program deliberately scrolls the text, leave point
>  > where it was, instead of moving it to be visible in the new contents
>  > of the window.  This would need changes to window-scrolling code in
>  > window.c, to avoid moving point.
> 
> Not necessarily.  We can always move point lazily, that is, whenever it
> is requested.

That requires changes to window-scrolling functions, since currently
they do move point, and they do it non-lazily.  See
window_scroll_pixel_based, where it calls SET_PT_BOTH etc.

And what does "whenever it is requested" means, anyway, in practical
terms?  Those "other editors" that allow point to stay out of the
window will scroll the display back to show point when some command is
invoked that modifies the buffer text.  Given that the modification
commands don't require moving point, and C-v/M-v won't either (as this
is the main justification for the feature we are discussing), what
will?

> As long as scrolling proceeds, we can pretend (visually) that it's
> somewhere else.

You are describing the kludgey solution (IIUC), whereas I'm suggesting
a non-kludgey one.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 11:10                       ` martin rudalics
@ 2012-11-10 11:46                         ` Eli Zaretskii
  2012-11-10 14:12                           ` martin rudalics
  0 siblings, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-10 11:46 UTC (permalink / raw)
  To: martin rudalics
  Cc: dan, rms, eli, emacs-devel, nix, monnier, dmoncayo, stephen

> Date: Sat, 10 Nov 2012 12:10:50 +0100
> From: martin rudalics <rudalics@gmx.at>
> CC: Eli Zaretskii <eliz@gnu.org>, dan@haxney.org, eli@barzilay.org, 
>  emacs-devel@gnu.org, nix@esperi.org.uk, monnier@iro.umontreal.ca, 
>  dmoncayo@gmail.com, stephen@xemacs.org
> 
>  > There might well be some bugs that are triggered if point
>  > is not inside the displayed window.
> 
> The _selected_ window.  When a window is not selected, its buffer's
> `point' not necessarily appears in it.

Could easily be false, if redisplay decides to redisplay more than a
single window.  E.g., when the window's dimensions are changed.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 11:45                           ` Eli Zaretskii
@ 2012-11-10 11:48                             ` Nix
  2012-11-10 14:38                               ` Eli Zaretskii
  2012-11-10 14:10                             ` martin rudalics
  1 sibling, 1 reply; 97+ messages in thread
From: Nix @ 2012-11-10 11:48 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: dan, rms, eli, emacs-devel, martin rudalics, monnier, dmoncayo,
	stephen

On 10 Nov 2012, Eli Zaretskii verbalised:

>> Date: Sat, 10 Nov 2012 12:09:59 +0100
>> From: martin rudalics <rudalics@gmx.at>
>> CC: rms@gnu.org, dan@haxney.org, eli@barzilay.org, emacs-devel@gnu.org, 
>>  nix@esperi.org.uk, monnier@iro.umontreal.ca, dmoncayo@gmail.com, 
>>  stephen@xemacs.org
>> 
>>  > Meanwhile, it turned out that what's requested is something else: when
>>  > the user or a Lisp program deliberately scrolls the text, leave point
>>  > where it was, instead of moving it to be visible in the new contents
>>  > of the window.  This would need changes to window-scrolling code in
>>  > window.c, to avoid moving point.
>> 
>> Not necessarily.  We can always move point lazily, that is, whenever it
>> is requested.
>
> That requires changes to window-scrolling functions, since currently
> they do move point, and they do it non-lazily.  See
> window_scroll_pixel_based, where it calls SET_PT_BOTH etc.

Well, yes. That's the whole reason we started talking about it when we
were talking about scroll-in-place, which wraps the window-scrolling
functions :)

> And what does "whenever it is requested" means, anyway, in practical
> terms?  Those "other editors" that allow point to stay out of the
> window will scroll the display back to show point when some command is
> invoked that modifies the buffer text.

Exactly that.

>                                         Given that the modification
> commands don't require moving point, and C-v/M-v won't either (as this
> is the main justification for the feature we are discussing), what
> will?

Normally, in the Other Editors, PgUp/PgDn do move point: it's things
like scrolling using the scroll bars that does not. I'm not sure this is
so useful in Emacs -- when was the last time you used the scroll bars?
When was the last time you noticed they existed? I could have had this
feature on for the last six months and never triggered it once. :)

-- 
NULL && (void)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 11:38           ` Eli Zaretskii
@ 2012-11-10 14:09             ` martin rudalics
  2012-11-10 14:40               ` Eli Zaretskii
  0 siblings, 1 reply; 97+ messages in thread
From: martin rudalics @ 2012-11-10 14:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: eli, monnier, emacs-devel

 > You are talking about a solution that would work around the current
 > code in creative ways.  I would suggest changing the code instead.

In order to fake the position of the cursor at an arbitrary position
within a window you have to change the display code.  This would also
allow to represent rectangle coloring in a more ingenious way.  So I
obviously favor such a change.

 > Changing the code will necessarily involve touching the scroll
 > functions, because currently they move point to fit in the window.

The `point' (and region) handling part is a different issue.  I'd
strongly suggest to separate this from the display part.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 11:45                           ` Eli Zaretskii
  2012-11-10 11:48                             ` Nix
@ 2012-11-10 14:10                             ` martin rudalics
  2012-11-10 14:49                               ` Eli Zaretskii
  1 sibling, 1 reply; 97+ messages in thread
From: martin rudalics @ 2012-11-10 14:10 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, rms, eli, emacs-devel, nix, monnier, dmoncayo, stephen

 >> Not necessarily.  We can always move point lazily, that is, whenever it
 >> is requested.
 >
 > That requires changes to window-scrolling functions, since currently
 > they do move point, and they do it non-lazily.  See
 > window_scroll_pixel_based, where it calls SET_PT_BOTH etc.

I meant to move `point' lazily _after_ we're done with scrolling.  If
the emulation is on and the command is not a scrolling command
recognized by the emulation, move `point' to where it was before
scrolling.  That's what I do in `scroll-restore-mode' (if wanted).

 > And what does "whenever it is requested" means, anyway, in practical
 > terms?

Whenever the current command is not a scroll command.  In
`scroll-restore-mode' I do that in a pre-command hook.

 > Those "other editors" that allow point to stay out of the
 > window will scroll the display back to show point when some command is
 > invoked that modifies the buffer text.

Where would we have `forward-char' start moving when emulating such
"other editors"?

 > Given that the modification
 > commands don't require moving point, and C-v/M-v won't either (as this
 > is the main justification for the feature we are discussing), what
 > will?

The modification commands can require moving point, if desired.  But
while it might be useful to emulate other editors in this regard, the
main deficiencies we should concentrate on are:

- When scrolling for-/backward, a window's point should appear where it
   was before we started scrolling.  Currently, it doesn't when using
   different faces and maybe in some other cases as well.

- Avoid the silly way the region is disfigured when it was scrolled
   off-screen.

 >> As long as scrolling proceeds, we can pretend (visually) that it's
 >> somewhere else.
 >
 > You are describing the kludgey solution (IIUC), whereas I'm suggesting
 > a non-kludgey one.

Every solution here will be kludgey.  Suppose you scroll a non-selected
window and subsequently insert text into its buffer.  Would you insert
it at its old `window-point' even if its `point' is somewhere else?

A basic invariant of Emacs is that at top-level any buffer's `point'
coincides with `window-point' of the selected window, provided the
buffer appears there.  Violating this invariant means we have to rethink
lots of code, including things as fragile as the window configuration
code.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 11:40                           ` Eli Zaretskii
@ 2012-11-10 14:11                             ` martin rudalics
  0 siblings, 0 replies; 97+ messages in thread
From: martin rudalics @ 2012-11-10 14:11 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, eli, emacs-devel, nix, monnier, dmoncayo, stephen

 >> `scroll-in-place' means for them to keep the cursor at the same position
 >> of the screen regardless of whether there's any text at that position.
 >> In practice, this can be currently implemented only with the help of an
 >> overlay as with Kim's cua-rect.el.
 >
 > "Currently" meaning with no changes on the C level, I presume?

Exactly.

 >> Obviously, if we are able to not show the cursor (Emacs on Windows
 >> currently lacks this capability IIUC) no overlay is needed.
 >
 > ??? Of course, we can hide the cursor on Windows.  Otherwise, how do
 > we manage not displaying when auto-hscroll-mode is off and point is
 > outside of the shown text?

Fine.  So let's make this available at the Lisp level.

martin, wondering why he still can't hide the mouse cursor on Windows



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 11:46                         ` Eli Zaretskii
@ 2012-11-10 14:12                           ` martin rudalics
  0 siblings, 0 replies; 97+ messages in thread
From: martin rudalics @ 2012-11-10 14:12 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, rms, eli, emacs-devel, nix, monnier, dmoncayo, stephen

 >>  > There might well be some bugs that are triggered if point
 >>  > is not inside the displayed window.
 >>
 >> The _selected_ window.  When a window is not selected, its buffer's
 >> `point' not necessarily appears in it.
 >
 > Could easily be false,

How can a phrase like that be false?

 > if redisplay decides to redisplay more than a
 > single window.  E.g., when the window's dimensions are changed.

In this case the old `window-point' should be preserved.  Everything
else would constitute a bug.  Anyway, what I wanted to say is that we
already know how to deal with the case when a buffer's `point' is not
displayed in a window showing that buffer.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 11:48                             ` Nix
@ 2012-11-10 14:38                               ` Eli Zaretskii
  2012-11-10 14:47                                 ` Nix
  0 siblings, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-10 14:38 UTC (permalink / raw)
  To: Nix; +Cc: dan, rms, eli, emacs-devel, rudalics, monnier, dmoncayo, stephen

> From: Nix <nix@esperi.org.uk>
> Cc: martin rudalics <rudalics@gmx.at>, rms@gnu.org, dan@haxney.org,
>         eli@barzilay.org, emacs-devel@gnu.org, monnier@iro.umontreal.ca,
>         dmoncayo@gmail.com, stephen@xemacs.org
> Emacs: the only text editor known to get indigestion.
> Date: Sat, 10 Nov 2012 11:48:55 +0000
> 
> >                                         Given that the modification
> > commands don't require moving point, and C-v/M-v won't either (as this
> > is the main justification for the feature we are discussing), what
> > will?
> 
> Normally, in the Other Editors, PgUp/PgDn do move point: it's things
> like scrolling using the scroll bars that does not. I'm not sure this is
> so useful in Emacs -- when was the last time you used the scroll bars?
> When was the last time you noticed they existed? I could have had this
> feature on for the last six months and never triggered it once. :)

So my question above still stands.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 14:09             ` martin rudalics
@ 2012-11-10 14:40               ` Eli Zaretskii
  2012-11-10 18:49                 ` martin rudalics
  0 siblings, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-10 14:40 UTC (permalink / raw)
  To: martin rudalics; +Cc: eli, monnier, emacs-devel

> Date: Sat, 10 Nov 2012 15:09:27 +0100
> From: martin rudalics <rudalics@gmx.at>
> CC: eli@barzilay.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org
> 
>  > You are talking about a solution that would work around the current
>  > code in creative ways.  I would suggest changing the code instead.
> 
> In order to fake the position of the cursor at an arbitrary position
> within a window you have to change the display code.

I didn't realize there's a requirement to display a cursor when point
is scrolled out of view.  Why is that needed?

>  > Changing the code will necessarily involve touching the scroll
>  > functions, because currently they move point to fit in the window.
> 
> The `point' (and region) handling part is a different issue.  I'd
> strongly suggest to separate this from the display part.

Sorry, I'm confused: what does region handling have to do with this?

And how can you separate the point handling from this issue, when
window_scroll_pixel_based explicitly moves point?



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 14:38                               ` Eli Zaretskii
@ 2012-11-10 14:47                                 ` Nix
  0 siblings, 0 replies; 97+ messages in thread
From: Nix @ 2012-11-10 14:47 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: dan, rms, eli, emacs-devel, rudalics, monnier, dmoncayo, stephen

On 10 Nov 2012, Eli Zaretskii told this:

>> From: Nix <nix@esperi.org.uk>
>> Cc: martin rudalics <rudalics@gmx.at>, rms@gnu.org, dan@haxney.org,
>>         eli@barzilay.org, emacs-devel@gnu.org, monnier@iro.umontreal.ca,
>>         dmoncayo@gmail.com, stephen@xemacs.org
>> Emacs: the only text editor known to get indigestion.
>> Date: Sat, 10 Nov 2012 11:48:55 +0000
>> 
>> >                                         Given that the modification
>> > commands don't require moving point, and C-v/M-v won't either (as this
>> > is the main justification for the feature we are discussing), what
>> > will?
>> 
>> Normally, in the Other Editors, PgUp/PgDn do move point: it's things
>> like scrolling using the scroll bars that does not. I'm not sure this is
>> so useful in Emacs -- when was the last time you used the scroll bars?
>> When was the last time you noticed they existed? I could have had this
>> feature on for the last six months and never triggered it once. :)
>
> So my question above still stands.

Well, yes, I was agreeing with you. I'm not quite sure what the point of
doing this is anymore.

-- 
NULL && (void)



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 14:10                             ` martin rudalics
@ 2012-11-10 14:49                               ` Eli Zaretskii
  2012-11-10 18:50                                 ` martin rudalics
  0 siblings, 1 reply; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-10 14:49 UTC (permalink / raw)
  To: martin rudalics
  Cc: dan, rms, eli, emacs-devel, nix, monnier, dmoncayo, stephen

> Date: Sat, 10 Nov 2012 15:10:57 +0100
> From: martin rudalics <rudalics@gmx.at>
> CC: dan@haxney.org, rms@gnu.org, eli@barzilay.org, emacs-devel@gnu.org, 
>  nix@esperi.org.uk, monnier@iro.umontreal.ca, dmoncayo@gmail.com, 
>  stephen@xemacs.org
> 
>  >> Not necessarily.  We can always move point lazily, that is, whenever it
>  >> is requested.
>  >
>  > That requires changes to window-scrolling functions, since currently
>  > they do move point, and they do it non-lazily.  See
>  > window_scroll_pixel_based, where it calls SET_PT_BOTH etc.
> 
> I meant to move `point' lazily _after_ we're done with scrolling.

Do you mean moving the real point or its emulation?  If the former, it
is currently done as part of window_scroll_pixel_based, and that part
will need to be changed if you want point to stay put disregarding the
scrolling commands.

> If the emulation is on and the command is not a scrolling command
> recognized by the emulation, move `point' to where it was before
> scrolling.  That's what I do in `scroll-restore-mode' (if wanted).

You do that in scroll-restore-mode because the C code moves point.
But if C code won't move point in these situations, then there will be
no reason to move point back, because it will stay put.

>  > And what does "whenever it is requested" means, anyway, in practical
>  > terms?
> 
> Whenever the current command is not a scroll command.  In
> `scroll-restore-mode' I do that in a pre-command hook.
> 
>  > Those "other editors" that allow point to stay out of the
>  > window will scroll the display back to show point when some command is
>  > invoked that modifies the buffer text.
> 
> Where would we have `forward-char' start moving when emulating such
> "other editors"?

At the original point position, i.e. forward-char will return there
and cause point be displayed after the move.

>  > Given that the modification
>  > commands don't require moving point, and C-v/M-v won't either (as this
>  > is the main justification for the feature we are discussing), what
>  > will?
> 
> The modification commands can require moving point, if desired.

Doesn't make sense, IMO: it defeats the reason for not moving point on
scroll in the first place.

I think the only commands that should move point in this mode are
those which, well, move point.  That is, goto-char, C-f/C-b, mouse-1
click, etc.  And these should cause display to scroll so that point
comes into view.

>  > You are describing the kludgey solution (IIUC), whereas I'm suggesting
>  > a non-kludgey one.
> 
> Every solution here will be kludgey.  Suppose you scroll a non-selected
> window and subsequently insert text into its buffer.  Would you insert
> it at its old `window-point' even if its `point' is somewhere else?

Why at window-point?  At point, of course.  Isn't this how things work
now?

> A basic invariant of Emacs is that at top-level any buffer's `point'
> coincides with `window-point' of the selected window, provided the
> buffer appears there.  Violating this invariant means we have to rethink
> lots of code, including things as fragile as the window configuration
> code.

I don't think anything I said violates this.  What am I missing?



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 14:40               ` Eli Zaretskii
@ 2012-11-10 18:49                 ` martin rudalics
  0 siblings, 0 replies; 97+ messages in thread
From: martin rudalics @ 2012-11-10 18:49 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: eli, monnier, emacs-devel

 > I didn't realize there's a requirement to display a cursor when point
 > is scrolled out of view.  Why is that needed?

It isn't when you make the "don't show the cursor feature" available from
Elisp.

 >> The `point' (and region) handling part is a different issue.  I'd
 >> strongly suggest to separate this from the display part.
 >
 > Sorry, I'm confused: what does region handling have to do with this?

Currently, when I highlight the region and scroll the original position
of `point' off-screen (using `scroll-bar-toolkit-scroll'), the region
changes.  When I scroll the original position back on-screen, the region
is hardly where it was before.

 > And how can you separate the point handling from this issue, when
 > window_scroll_pixel_based explicitly moves point?

The display engine would not show the cursor in that case.

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 14:49                               ` Eli Zaretskii
@ 2012-11-10 18:50                                 ` martin rudalics
  2012-11-10 19:09                                   ` Eli Zaretskii
  0 siblings, 1 reply; 97+ messages in thread
From: martin rudalics @ 2012-11-10 18:50 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dan, rms, eli, emacs-devel, nix, monnier, dmoncayo, stephen

 >> I meant to move `point' lazily _after_ we're done with scrolling.
 >
 > Do you mean moving the real point or its emulation?

When I start scrolling, I save the original position of `window-point'.
`window-point' and move `point' as usual.  When I now want to
interactively insert text into the buffer, I move `point' to the saved
original position before.

 > If the former, it
 > is currently done as part of window_scroll_pixel_based, and that part
 > will need to be changed if you want point to stay put disregarding the
 > scrolling commands.

`point' moves as before.  But we don't show it any more when it's moved.

 >> If the emulation is on and the command is not a scrolling command
 >> recognized by the emulation, move `point' to where it was before
 >> scrolling.  That's what I do in `scroll-restore-mode' (if wanted).
 >
 > You do that in scroll-restore-mode because the C code moves point.
 > But if C code won't move point in these situations, then there will be
 > no reason to move point back, because it will stay put.

Yes.  And the region would be handled automatically as well.

 >> Where would we have `forward-char' start moving when emulating such
 >> "other editors"?
 >
 > At the original point position, i.e. forward-char will return there
 > and cause point be displayed after the move.

My question was addressing your earlier statement:

 > Those "other editors" that allow point to stay out of the
 > window will scroll the display back to show point when some command is
 > invoked that modifies the buffer text.

So we do not only "scroll back" when we modify text but also when we use
commands like `forward-char' and probably in many more cases.

 >>  > Given that the modification
 >>  > commands don't require moving point, and C-v/M-v won't either (as this
 >>  > is the main justification for the feature we are discussing), what
 >>  > will?
 >>
 >> The modification commands can require moving point, if desired.
 >
 > Doesn't make sense, IMO: it defeats the reason for not moving point on
 > scroll in the first place.

The primary concerns of `scroll-restore-mode' are to preseve `point'
when scrolling back to where it was and to restore the region when
scrolling back to where `point' was.  Jumping back on anything but a
scroll command is just an option.  So I principally allow to move
`point' on scroll.

 > I think the only commands that should move point in this mode are
 > those which, well, move point.  That is, goto-char, C-f/C-b, mouse-1
 > click, etc.  And these should cause display to scroll so that point
 > comes into view.

How would commands calling `set-window-start' or `recenter' be
classified in this regard?

 >> A basic invariant of Emacs is that at top-level any buffer's `point'
 >> coincides with `window-point' of the selected window, provided the
 >> buffer appears there.  Violating this invariant means we have to rethink
 >> lots of code, including things as fragile as the window configuration
 >> code.
 >
 > I don't think anything I said violates this.  What am I missing?

Ok.  Then `window-start' <= `window-point' <= `window-end' is no more an
invariant?

martin



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-10 18:50                                 ` martin rudalics
@ 2012-11-10 19:09                                   ` Eli Zaretskii
  0 siblings, 0 replies; 97+ messages in thread
From: Eli Zaretskii @ 2012-11-10 19:09 UTC (permalink / raw)
  To: martin rudalics
  Cc: dan, rms, eli, emacs-devel, nix, monnier, dmoncayo, stephen

> Date: Sat, 10 Nov 2012 19:50:06 +0100
> From: martin rudalics <rudalics@gmx.at>
> CC: dan@haxney.org, rms@gnu.org, eli@barzilay.org, emacs-devel@gnu.org, 
>  nix@esperi.org.uk, monnier@iro.umontreal.ca, dmoncayo@gmail.com, 
>  stephen@xemacs.org
> 
>  > I think the only commands that should move point in this mode are
>  > those which, well, move point.  That is, goto-char, C-f/C-b, mouse-1
>  > click, etc.  And these should cause display to scroll so that point
>  > comes into view.
> 
> How would commands calling `set-window-start' or `recenter' be
> classified in this regard?

The former won't move point, I guess.  The latter will.

>  >> A basic invariant of Emacs is that at top-level any buffer's `point'
>  >> coincides with `window-point' of the selected window, provided the
>  >> buffer appears there.  Violating this invariant means we have to rethink
>  >> lots of code, including things as fragile as the window configuration
>  >> code.
>  >
>  > I don't think anything I said violates this.  What am I missing?
> 
> Ok.  Then `window-start' <= `window-point' <= `window-end' is no more an
> invariant?

I think so.



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-07  8:12                       ` Harald Hanche-Olsen
@ 2012-11-13  9:05                         ` Bastien
  2012-11-13 17:05                           ` Stefan Monnier
  0 siblings, 1 reply; 97+ messages in thread
From: Bastien @ 2012-11-13  9:05 UTC (permalink / raw)
  To: Harald Hanche-Olsen; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 765 bytes --]

Hi Harald,

Harald Hanche-Olsen <hanche@math.ntnu.no> writes:

> I don't use C-x < and C-x > very often, but when I do, I *always* get
> the direction wrong. Surely, the same issue is at play here.

Me too.  

But here, the issue is not only about the names of these commands but
also about the choice of '<' and '>' wrt the consistency with M-< and
M->.  With M-< going at the beginning of the buffer, C-x < suggests
scrolling toward the beginning of the left margin (at least to me), 
which is... the opposite of the current behavior.

> But I'll stop whining right now and just insert code in .emacs to swap
> the two key bindings. I just couldn't resist this opportunity to
> participate in some good bike shedding.

:)

I'm attaching a trivial patch in case.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: window.c.patch --]
[-- Type: text/x-patch, Size: 550 bytes --]

=== modified file 'src/window.c'
--- src/window.c	2012-11-12 04:00:55 +0000
+++ src/window.c	2012-11-13 09:00:54 +0000
@@ -6912,8 +6912,8 @@
 void
 keys_of_window (void)
 {
-  initial_define_key (control_x_map, '<', "scroll-left");
-  initial_define_key (control_x_map, '>', "scroll-right");
+  initial_define_key (control_x_map, '>', "scroll-left");
+  initial_define_key (control_x_map, '<', "scroll-right");
 
   initial_define_key (global_map, Ctl ('V'), "scroll-up-command");
   initial_define_key (meta_map, Ctl ('V'), "scroll-other-window");


[-- Attachment #3: Type: text/plain, Size: 14 bytes --]


-- 
 Bastien

^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-07 21:41     ` Dmitry Gutov
  2012-11-08 19:26       ` Bruce Korb
@ 2012-11-13  9:07       ` Bastien
  1 sibling, 0 replies; 97+ messages in thread
From: Bastien @ 2012-11-13  9:07 UTC (permalink / raw)
  To: Dmitry Gutov
  Cc: Eli Zaretskii, Adrian.B.Robert, emacs-devel, Richard Stallman,
	Mathias Dahl

Dmitry Gutov <dgutov@yandex.ru> writes:

> Mathias Dahl <mathias.dahl@gmail.com> writes:
>
>> Finally a good proposal, thanks!
>>
>> And about Drew's argument against it, based on the current "page" term 
>> in Emacs, I'd say that very few would have a problem with it. The change 
>> proposed by Richard would do much more good than harm.
>
> Put me down for one "yes, please!"

FWIW me too!

-- 
 Bastien



^ permalink raw reply	[flat|nested] 97+ messages in thread

* Re: Proposal to improve the nomenclature of scrolling directions
  2012-11-13  9:05                         ` Bastien
@ 2012-11-13 17:05                           ` Stefan Monnier
  0 siblings, 0 replies; 97+ messages in thread
From: Stefan Monnier @ 2012-11-13 17:05 UTC (permalink / raw)
  To: Bastien; +Cc: Harald Hanche-Olsen, emacs-devel

> But here, the issue is not only about the names of these commands but
> also about the choice of '<' and '>' wrt the consistency with M-< and
> M->.  With M-< going at the beginning of the buffer, C-x < suggests
> scrolling toward the beginning of the left margin (at least to me),
> which is... the opposite of the current behavior.

I tend to agree.  And the consistency with C-v agrees as well.


        Stefan



^ permalink raw reply	[flat|nested] 97+ messages in thread

end of thread, other threads:[~2012-11-13 17:05 UTC | newest]

Thread overview: 97+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-06 17:55 Proposal to improve the nomenclature of scrolling directions Dmitry Gutov
2012-11-07  0:53 ` Richard Stallman
2012-11-07 15:17   ` Drew Adams
2012-11-07 16:23     ` Eli Zaretskii
2012-11-07 18:03       ` Drew Adams
2012-11-07 18:34         ` Eli Zaretskii
2012-11-07 21:00           ` Drew Adams
2012-11-07 21:17             ` Eli Zaretskii
2012-11-08 22:18         ` Daniel Hackney
2012-11-07 21:12   ` Mathias Dahl
2012-11-07 21:41     ` Dmitry Gutov
2012-11-08 19:26       ` Bruce Korb
2012-11-13  9:07       ` Bastien
     [not found] <201211080338.qA83c7NY006393@winooski.ccs.neu.edu>
     [not found] ` <20635.16010.769769.433949@winooski.ccs.neu.edu>
2012-11-08 16:48   ` Stefan Monnier
2012-11-09  9:50     ` martin rudalics
2012-11-09 14:17       ` Stefan Monnier
2012-11-09 15:27         ` Eli Barzilay
2012-11-10 11:05         ` martin rudalics
2012-11-10 11:38           ` Eli Zaretskii
2012-11-10 14:09             ` martin rudalics
2012-11-10 14:40               ` Eli Zaretskii
2012-11-10 18:49                 ` martin rudalics
  -- strict thread matches above, loose matches on Subject: below --
2012-11-04 14:10 Dani Moncayo
2012-11-04 14:37 ` Stefan Monnier
2012-11-04 15:00   ` Dani Moncayo
2012-11-04 17:07     ` Juanma Barranquero
2012-11-04 17:30       ` Dani Moncayo
2012-11-04 17:31       ` Eli Zaretskii
2012-11-04 17:35         ` Dani Moncayo
2012-11-04 18:23           ` Eli Zaretskii
2012-11-04 19:10             ` Dani Moncayo
2012-11-04 19:39               ` Eli Zaretskii
2012-11-04 20:01                 ` Dani Moncayo
2012-11-05 11:07                 ` Richard Stallman
2012-11-05 12:25                   ` Dani Moncayo
2012-11-05 14:56                     ` Nix
2012-11-05 15:39                       ` Teemu Likonen
2012-11-07  8:12                       ` Harald Hanche-Olsen
2012-11-13  9:05                         ` Bastien
2012-11-13 17:05                           ` Stefan Monnier
2012-11-05  3:29           ` Stephen J. Turnbull
2012-11-05  7:27             ` Dani Moncayo
2012-11-05 12:44             ` Jambunathan K
2012-11-05  2:44     ` Stefan Monnier
2012-11-05  7:24       ` Dani Moncayo
2012-11-05 23:32         ` Stefan Monnier
2012-11-06 21:29           ` Daniel Hackney
2012-11-05 11:06 ` Richard Stallman
2012-11-05 15:00   ` Nix
2012-11-06  1:25     ` Stephen J. Turnbull
2012-11-06 17:24       ` Adrian Robert
2012-11-06 17:36         ` Eli Zaretskii
2012-11-06 17:50         ` Drew Adams
2012-11-06 19:14           ` John Yates
2012-11-05 18:05 ` Daniel Hackney
2012-11-06  1:53   ` Stephen J. Turnbull
2012-11-07 16:31     ` Nix
2012-11-08  1:49       ` Stefan Monnier
2012-11-08 17:33         ` Nix
2012-11-08 18:14           ` Eli Barzilay
2012-11-08 18:18             ` Nix
2012-11-08 18:39               ` Eli Barzilay
2012-11-08 18:39               ` Stefan Monnier
2012-11-09  9:50                 ` martin rudalics
2012-11-09 14:18                   ` Stefan Monnier
2012-11-08 18:40               ` Eli Zaretskii
2012-11-08 18:48                 ` Juanma Barranquero
2012-11-08 19:29                   ` Eli Zaretskii
2012-11-09  2:52                 ` Richard Stallman
2012-11-09  7:35                   ` Eli Zaretskii
2012-11-09 14:20                     ` Nix
2012-11-09 14:56                       ` Eli Zaretskii
2012-11-09 20:24                         ` Nix
2012-11-10 11:09                         ` martin rudalics
2012-11-10 11:40                           ` Eli Zaretskii
2012-11-10 14:11                             ` martin rudalics
2012-11-10  0:13                     ` Richard Stallman
2012-11-10  7:42                       ` Eli Zaretskii
2012-11-10 11:09                         ` martin rudalics
2012-11-10 11:45                           ` Eli Zaretskii
2012-11-10 11:48                             ` Nix
2012-11-10 14:38                               ` Eli Zaretskii
2012-11-10 14:47                                 ` Nix
2012-11-10 14:10                             ` martin rudalics
2012-11-10 14:49                               ` Eli Zaretskii
2012-11-10 18:50                                 ` martin rudalics
2012-11-10 19:09                                   ` Eli Zaretskii
2012-11-10 11:10                       ` martin rudalics
2012-11-10 11:46                         ` Eli Zaretskii
2012-11-10 14:12                           ` martin rudalics
2012-11-09  9:51           ` martin rudalics
2012-11-09 14:19             ` Stefan Monnier
2012-11-10 11:05               ` martin rudalics
2012-11-08  7:18       ` Stephen J. Turnbull
2012-11-08 11:12         ` Stephen Leake
2012-11-08 15:43           ` Drew Adams
2012-11-08 17:35             ` Nix

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.