unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Binding M-n and M-p to forward-paragraph and backward-paragraph respectively
@ 2011-04-07 13:57 Deniz Dogan
  2011-04-07 16:33 ` Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively Drew Adams
  2011-04-09  1:40 ` Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Stefan Monnier
  0 siblings, 2 replies; 28+ messages in thread
From: Deniz Dogan @ 2011-04-07 13:57 UTC (permalink / raw)
  To: Emacs-Devel devel

I globally bind M-n and M-p to forward-paragraph and
backward-paragraph respectively.

Would it be okay to make these global bindings default?

-- 
Deniz Dogan



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

* RE: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-07 13:57 Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Deniz Dogan
@ 2011-04-07 16:33 ` Drew Adams
  2011-04-07 17:57   ` Sean Sieger
  2011-04-09  1:40 ` Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Stefan Monnier
  1 sibling, 1 reply; 28+ messages in thread
From: Drew Adams @ 2011-04-07 16:33 UTC (permalink / raw)
  To: 'Deniz Dogan', 'Emacs-Devel devel'

> I globally bind M-n and M-p to forward-paragraph and
> backward-paragraph respectively.
> Would it be okay to make these global bindings default?

Not IMHO. ;-)

This kind of request comes up periodically.  The last time, AFAICT, Andreas
proposed M-n/M-p for "the line-move-visual behaviour".  Before that (bug #2887),
`pull-line-(up|down)' was proposed for M-n/M-p.  Before that, Adrian proposed
having M-n/M-p move forwards/backwards among marks.  And so on.

Please leave Emacs alone in this regard and just bind the keys you want for your
own use.  There are so many possible commands to bind to such keys, and no real
reason to impose any of them by default.

One opinion.




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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-07 16:33 ` Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively Drew Adams
@ 2011-04-07 17:57   ` Sean Sieger
  2011-04-07 18:15     ` Binding M-n and M-p to forward-paragraph andbackward-paragraphrespectively Drew Adams
  0 siblings, 1 reply; 28+ messages in thread
From: Sean Sieger @ 2011-04-07 17:57 UTC (permalink / raw)
  To: emacs-devel


    > I globally bind M-n and M-p to forward-paragraph and
    > backward-paragraph respectively.
    > Would it be okay to make these global bindings default?

    Not IMHO. ;-)

I use M-n and M-p with M-x all day, maybe I'm describing my limitations,
but it sure serves my purposes ... my efficiency.




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

* RE: Binding M-n and M-p to forward-paragraph andbackward-paragraphrespectively
  2011-04-07 17:57   ` Sean Sieger
@ 2011-04-07 18:15     ` Drew Adams
  2011-04-07 18:24       ` Sean Sieger
  0 siblings, 1 reply; 28+ messages in thread
From: Drew Adams @ 2011-04-07 18:15 UTC (permalink / raw)
  To: 'Sean Sieger', emacs-devel

>     > I globally bind M-n and M-p to forward-paragraph and
>     > backward-paragraph respectively.
>     > Would it be okay to make these global bindings default?
> 
>     Not IMHO. ;-)
> 
> I use M-n and M-p with M-x all day, maybe I'm describing my 
> limitations, but it sure serves my purposes ... my efficiency.

When you use M-n with M-x you are not using a _global_ M-n binding.  You are
using the default binding for M-n in a minibuffer keymap.




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

* Re: Binding M-n and M-p to forward-paragraph andbackward-paragraphrespectively
  2011-04-07 18:15     ` Binding M-n and M-p to forward-paragraph andbackward-paragraphrespectively Drew Adams
@ 2011-04-07 18:24       ` Sean Sieger
  2011-04-07 18:28         ` Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively Drew Adams
  0 siblings, 1 reply; 28+ messages in thread
From: Sean Sieger @ 2011-04-07 18:24 UTC (permalink / raw)
  To: emacs-devel; +Cc: Drew Adams

"Drew Adams" <drew.adams@oracle.com> writes:

    >     > I globally bind M-n and M-p to forward-paragraph and
    >     > backward-paragraph respectively.
    >     > Would it be okay to make these global bindings default?
    > 
    >     Not IMHO. ;-)
    > 
    > I use M-n and M-p with M-x all day, maybe I'm describing my 
    > limitations, but it sure serves my purposes ... my efficiency.

    When you use M-n with M-x you are not using a _global_ M-n binding.  You are
    using the default binding for M-n in a minibuffer keymap.

If the default global binding you and Deniz are discussing were changed,
would it affect the default binding in the minibuffer keymap?




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

* RE: Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively
  2011-04-07 18:24       ` Sean Sieger
@ 2011-04-07 18:28         ` Drew Adams
  2011-04-07 18:29           ` Sean Sieger
  0 siblings, 1 reply; 28+ messages in thread
From: Drew Adams @ 2011-04-07 18:28 UTC (permalink / raw)
  To: 'Sean Sieger', emacs-devel

>     > I use M-n and M-p with M-x all day, maybe I'm describing my 
>     > limitations, but it sure serves my purposes ... my efficiency.
> 
>     When you use M-n with M-x you are not using a _global_ 
>     M-n binding.  You are using the default binding for M-n in
>     a minibuffer keymap.
> 
> If the default global binding you and Deniz are discussing 
> were changed, would it affect the default binding in the
> minibuffer keymap?

No.  These keys are explicitly bound in the minibuffer maps.




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

* Re: Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively
  2011-04-07 18:28         ` Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively Drew Adams
@ 2011-04-07 18:29           ` Sean Sieger
  2011-04-07 20:31             ` Antoine Levitt
  0 siblings, 1 reply; 28+ messages in thread
From: Sean Sieger @ 2011-04-07 18:29 UTC (permalink / raw)
  To: emacs-devel

"Drew Adams" <drew.adams@oracle.com> writes:

    No.  These keys are explicitly bound in the minibuffer maps.

Thannk you.




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

* Re: Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively
  2011-04-07 18:29           ` Sean Sieger
@ 2011-04-07 20:31             ` Antoine Levitt
  2011-04-07 20:53               ` Binding M-n and M-p toforward-paragraphandbackward-paragraphrespectively Drew Adams
  2011-04-07 22:30               ` Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively David De La Harpe Golden
  0 siblings, 2 replies; 28+ messages in thread
From: Antoine Levitt @ 2011-04-07 20:31 UTC (permalink / raw)
  To: emacs-devel

07/04/11 20:29, Sean Sieger
> "Drew Adams" <drew.adams@oracle.com> writes:
>
>     No.  These keys are explicitly bound in the minibuffer maps.
>
> Thannk you.

I've got this bound globally as well. It just makes sense with the
global idea that C- is for atomic movements, and M- for group
movement. When I first learnt about movement in emacs, I was quite
surprised to see that those two weren't bound. Setting them as default
would not inconvenience anyone (it'd only add bindings when none are
present), and make emacs more coherent.

An issue though is that some modes bind these. For instance message-mode
uses M-n as message-display-abbrev. But in the global keymap, and in
many modes, M-n and M-p are free. And more keybindings is always a good
thing, isn't it? ;)




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

* RE: Binding M-n and M-p toforward-paragraphandbackward-paragraphrespectively
  2011-04-07 20:31             ` Antoine Levitt
@ 2011-04-07 20:53               ` Drew Adams
  2011-04-08  3:13                 ` Davis Herring
  2011-04-07 22:30               ` Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively David De La Harpe Golden
  1 sibling, 1 reply; 28+ messages in thread
From: Drew Adams @ 2011-04-07 20:53 UTC (permalink / raw)
  To: 'Antoine Levitt', emacs-devel

> I've got this bound globally as well.

Good for you.  Everyone is free to bind it globally.  And it's likely that you
bind it to different commands than the ones proposed.

> It just makes sense with the global idea that C- is for
> atomic movements, and M- for group movement.

That might be an argument for users to bind it, but that in itself is not an
argument for Emacs to bind it by default.  And it is certainly not an argument
to bind it to some specific key (which one?).

The fact is that when Emacs binds a key by default it sooner or later becomes
(mis)considered sacrosanct by at least some users, even though the docs try to
help users understand that they are free to change the default key bindings.

In the last discussion we had about binding some more keys by default (a
function key comes to mind), even by the middle of the discussion some users
were concluding that they shouldn't themselves bind the keys involved.  No
default binding had yet been decided on, but they were already thinking that the
key was reserved somehow for Emacs.

> When I first learnt about movement in emacs, I was quite
> surprised to see that those two weren't bound. Setting them as default
> would not inconvenience anyone (it'd only add bindings when none are
> present), and make emacs more coherent.

See above.  Making M-n be forward-paragraph by default doesn't make Emacs become
more coherent.  Making it be any of the other proposed commands doesn't either.
There is no particular command that is crying out to be bound by default to M-n.

And it is just as well to leave it unbound and thus obvious for users.  Users
such as yourself, who did just that: bound it to a command that you found useful
in your context.

> An issue though is that some modes bind these.

No, that's not an issue.  Mode bindings override global bindings all over the
place.  It's normal.

> And more keybindings is always a good thing, isn't it? ;)

More _default_ keybindings is not always a good thing.  It could even be argued
that reserving more keybindings for users (not just allowing them but reserving
them) might be a good thing.




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

* Re: Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively
  2011-04-07 20:31             ` Antoine Levitt
  2011-04-07 20:53               ` Binding M-n and M-p toforward-paragraphandbackward-paragraphrespectively Drew Adams
@ 2011-04-07 22:30               ` David De La Harpe Golden
  2011-04-08 10:19                 ` Antoine Levitt
  1 sibling, 1 reply; 28+ messages in thread
From: David De La Harpe Golden @ 2011-04-07 22:30 UTC (permalink / raw)
  To: emacs-devel

On 07/04/11 21:31, Antoine Levitt wrote:

> I've got this bound globally as well. It just makes sense with the
> global idea that C- is for atomic movements, and M- for group
> movement.

Er. In this particular case, M-{ and M-} are already conveniently bound 
to the movement by paragraph functions (and C-up/C-down...), anyway, 
aren't they?  Certain non-us keyboard layouts make '{' and '}' harder to 
type I suppose, but do we really need a third pair of bindings for the 
same damn actions?  Hell, I tend to think of the C-up/C-down one as less 
than useful, but I expect I edit bulk natural language text in emacs a 
lot less than some users.

> But in the global keymap, and in  many modes, M-n and M-p are free.

They're seldom free in modes I use. They're usually some 
mode-appropriate next/previous action, like the history in various 
common repls and M-x, next/prev note in slime-compiler-output annotated 
lisp buffers...

It might make a little sense for them to be a[nother] next/previous 
paragraph in text-mode specifically under that vague "mode appropriate 
next/previous" theory, but global?  It just seems unnecessary, and might 
even discourage any present informal "mode-appropriate next/previous" 
binding tendency.



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

* RE: Binding M-n and M-p  toforward-paragraphandbackward-paragraphrespectively
  2011-04-07 20:53               ` Binding M-n and M-p toforward-paragraphandbackward-paragraphrespectively Drew Adams
@ 2011-04-08  3:13                 ` Davis Herring
  2011-04-08  8:09                   ` Andreas Röhler
  0 siblings, 1 reply; 28+ messages in thread
From: Davis Herring @ 2011-04-08  3:13 UTC (permalink / raw)
  To: Drew Adams; +Cc: emacs-devel, 'Antoine Levitt'

>> It just makes sense with the global idea that C- is for
>> atomic movements, and M- for group movement.
>
> That might be an argument for users to bind it, but that in itself is not
> an argument for Emacs to bind it by default.  And it is certainly not an
> argument to bind it to some specific key (which one?).

FWIW, it is an argument for that last point: C-b is backward a character,
and M-b a word; C-a is beginning of line, and M-a of sentence; it makes
perfect sense for C-n to be next line and M-n to be next paragraph.  That
doesn't mean we should do it, but that's why M-n makes sense for it.

Davis

-- 
This product is sold by volume, not by mass.  If it appears too dense or
too sparse, it is because mass-energy conversion has occurred during
shipping.



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

* Re: Binding M-n and M-p toforward-paragraphandbackward-paragraphrespectively
  2011-04-08  3:13                 ` Davis Herring
@ 2011-04-08  8:09                   ` Andreas Röhler
  0 siblings, 0 replies; 28+ messages in thread
From: Andreas Röhler @ 2011-04-08  8:09 UTC (permalink / raw)
  To: emacs-devel

Am 08.04.2011 05:13, schrieb Davis Herring:
>>> It just makes sense with the global idea that C- is for
>>> atomic movements, and M- for group movement.
>>
>> That might be an argument for users to bind it, but that in itself is not
>> an argument for Emacs to bind it by default.  And it is certainly not an
>> argument to bind it to some specific key (which one?).
>
> FWIW, it is an argument for that last point: C-b is backward a character,
> and M-b a word; C-a is beginning of line, and M-a of sentence; it makes
> perfect sense for C-n to be next line and M-n to be next paragraph.  That
> doesn't mean we should do it, but that's why M-n makes sense for it.
>
> Davis
>

yes, it makes sense. What doesn't mean it must be bound by default.

It's a very convenient, ie precious key.

In python-mode I bind it to forward-statement, backward-statement.

Cheers

Andreas



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

* Re: Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively
  2011-04-07 22:30               ` Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively David De La Harpe Golden
@ 2011-04-08 10:19                 ` Antoine Levitt
  2011-04-08 21:48                   ` Lennart Borgman
  0 siblings, 1 reply; 28+ messages in thread
From: Antoine Levitt @ 2011-04-08 10:19 UTC (permalink / raw)
  To: emacs-devel

08/04/11 00:30, David De La Harpe Golden
> On 07/04/11 21:31, Antoine Levitt wrote:
>
>> I've got this bound globally as well. It just makes sense with the
>> global idea that C- is for atomic movements, and M- for group
>> movement.
>
> Er. In this particular case, M-{ and M-} are already conveniently
> bound to the movement by paragraph functions (and C-up/C-down...),
> anyway, aren't they?  Certain non-us keyboard layouts make '{' and '}'
> harder to type I suppose, but do we really need a third pair of
> bindings for the same damn actions?  Hell, I tend to think of the
> C-up/C-down one as less than useful, but I expect I edit bulk natural
> language text in emacs a lot less than some users.

Ah, yes, that's a good point. I use a french keyboard layout where M-{}
is a pain to type, so I missed that. But since emacs pretty much assumes
a US layout and paragraph functions are already bound to those, there's
no sense in binding them to M-n and M-p additionally.




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

* Re: Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively
  2011-04-08 10:19                 ` Antoine Levitt
@ 2011-04-08 21:48                   ` Lennart Borgman
  0 siblings, 0 replies; 28+ messages in thread
From: Lennart Borgman @ 2011-04-08 21:48 UTC (permalink / raw)
  To: Antoine Levitt; +Cc: emacs-devel

On Fri, Apr 8, 2011 at 12:19 PM, Antoine Levitt
<antoine.levitt@gmail.com> wrote:
>
> Ah, yes, that's a good point. I use a french keyboard layout where M-{}
> is a pain to type, so I missed that. But since emacs pretty much assumes
> a US layout and paragraph functions are already bound to those, there's
> no sense in binding them to M-n and M-p additionally.

Wouldn't it be better if "US layout" only binding also always had an
alternative default binding too?



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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraph respectively
  2011-04-07 13:57 Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Deniz Dogan
  2011-04-07 16:33 ` Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively Drew Adams
@ 2011-04-09  1:40 ` Stefan Monnier
  2011-04-09  4:10   ` chad
  2011-04-09 19:30   ` Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Chong Yidong
  1 sibling, 2 replies; 28+ messages in thread
From: Stefan Monnier @ 2011-04-09  1:40 UTC (permalink / raw)
  To: Deniz Dogan; +Cc: Emacs-Devel devel

> I globally bind M-n and M-p to forward-paragraph and
> backward-paragraph respectively.

> Would it be okay to make these global bindings default?

I don't thi"nk so.  It's one of the few short keys left for major modes
to bind to "next/prev" commands.


        Stefan



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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraph respectively
  2011-04-09  1:40 ` Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Stefan Monnier
@ 2011-04-09  4:10   ` chad
  2011-04-09 15:24     ` Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively Drew Adams
  2011-04-09 19:30   ` Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Chong Yidong
  1 sibling, 1 reply; 28+ messages in thread
From: chad @ 2011-04-09  4:10 UTC (permalink / raw)
  To: Emacs-Devel devel

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

On Apr 8, 2011, at 6:40 PM, Stefan Monnier wrote:

>> I globally bind M-n and M-p to forward-paragraph and
>> backward-paragraph respectively.
> 
>> Would it be okay to make these global bindings default?
> 
> I don't thi"nk so.  It's one of the few short keys left for major modes
> to bind to "next/prev" commands.

I think the idea that major modes should be encouraged to bind 
M-n/M-p to mode-specific next/prev commands is a fine one, and 
that it is encouraged rather than hampered by a default binding 
that accomplishes something similar -- teach the users to expect 
M-n/M-p to do those sorts of things in general, and they'll be more 
likely to expect, find, and use mode-specific bindings in major 
modes.

I also think the idea that we shouldn't add new bindings because 
then someone in the future might think that those bindings are
somehow `special' - and that we might want them to think 
otherwise - is a rather extreme combination of straw-man and 
absurdity.

On the gripping hand, if we want to reconsider Emacs' default 
bindings in toto, I don't think we'll have a better opportunity than
the upcoming Emacs 24 release for several years.

Hope that helps,
*Chad


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

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

* RE: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-09  4:10   ` chad
@ 2011-04-09 15:24     ` Drew Adams
  2011-04-09 19:09       ` chad
  2011-04-09 21:29       ` Davis Herring
  0 siblings, 2 replies; 28+ messages in thread
From: Drew Adams @ 2011-04-09 15:24 UTC (permalink / raw)
  To: 'chad', 'Emacs-Devel devel'

> the idea that we shouldn't add new bindings because then
> someone in the future might think that those bindings are
> somehow `special' - and that we might want them to think 
> otherwise - is a rather extreme combination of straw-man and 
> absurdity.

It is neither straw man nor absurdity.  And it is not just an idea.  The last
go-round about binding some (function) key by default clearly demonstrated this:
The discussion had not even finished, and no decision had yet been reached,
before some were sending in posts that indicated that they understood that the
key was _reserved_ and should not be changed by users or 3rd-party libraries.

IOW, it's just a _fact_.  Some people respect authority with such a strong
knee-jerk reflex that they just don't get that they and others are free to bind
keys as they like (with a few exceptions, per a documented convention).

And then there is the force of habit that becomes de facto convention: A default
binding becomes respected as something that should probably not be changed (e.g.
by a library) just because so many people are already used to it.

It's understandable that people begin to feel that way, even if the doc makes it
clear that the keys in question are not reserved.  And 3rd-party library authors
thus tend to avoid any such keys that are heavily used.

Binding a key by default is not a no-cost operation in terms of changing habits
and expectations.  To get a new default binding accepted here, some argue that a
default binding is just a _default_ and has no force beyond that - which is true
in theory.  They (should) know full well, however, that in practice things are
not so simple.




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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-09 15:24     ` Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively Drew Adams
@ 2011-04-09 19:09       ` chad
  2011-04-09 19:26         ` Drew Adams
  2011-04-09 21:29       ` Davis Herring
  1 sibling, 1 reply; 28+ messages in thread
From: chad @ 2011-04-09 19:09 UTC (permalink / raw)
  To: Drew Adams; +Cc: 'Emacs-Devel devel'


On Apr 9, 2011, at 8:24 AM, Drew Adams wrote:

>> the idea that we shouldn't add new bindings because then
>> someone in the future might think that those bindings are
>> somehow `special' - and that we might want them to think 
>> otherwise - is a rather extreme combination of straw-man and 
>> absurdity.
> 
> It is neither straw man nor absurdity.  And it is not just an idea.  The last
> go-round about binding some (function) key by default clearly demonstrated this:
> The discussion had not even finished, and no decision had yet been reached,
> before some were sending in posts that indicated that they understood that the
> key was _reserved_ and should not be changed by users or 3rd-party libraries.

Yes, where as this is a binding that is clearly intended to be changed by users and 3rd-party libraries.

I didn't say that your idea was *always* wrong; just in this case.

*Chad




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

* RE: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-09 19:09       ` chad
@ 2011-04-09 19:26         ` Drew Adams
  2011-04-10  2:49           ` Leo
  0 siblings, 1 reply; 28+ messages in thread
From: Drew Adams @ 2011-04-09 19:26 UTC (permalink / raw)
  To: 'chad'; +Cc: 'Emacs-Devel devel'

> >> the idea that we shouldn't add new bindings because then
> >> someone in the future might think that those bindings are
> >> somehow `special' - and that we might want them to think 
> >> otherwise - is a rather extreme combination of straw-man and 
> >> absurdity.
> > 
> > It is neither straw man nor absurdity.  And it is not just 
> > an idea.  The last go-round about binding some (function)
> > key by default clearly demonstrated this: The discussion
> > had not even finished, and no decision had yet been reached,
> > before some were sending in posts that indicated that they 
> > understood that the key was _reserved_ and should not be
> > changed by users or 3rd-party libraries.
> 
> Yes, where as this is a binding that is clearly intended to 
> be changed by users and 3rd-party libraries.

No, that was true also in the other case, as it is in most cases where a binding
is explicitly only for _default_ behavior.

That's the point: Some people _mis_understand, thinking that the existence of a
default binding means that the binding is in some way reserved.  And as I
mentioned, the more a default key gets used commonly, the more people shy away
from rebinding it.  Creating a default binding is not without behavioral
consequences.




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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraph respectively
  2011-04-09  1:40 ` Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Stefan Monnier
  2011-04-09  4:10   ` chad
@ 2011-04-09 19:30   ` Chong Yidong
  2011-04-10  3:33     ` Stefan Monnier
  1 sibling, 1 reply; 28+ messages in thread
From: Chong Yidong @ 2011-04-09 19:30 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Emacs-Devel devel, Deniz Dogan

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> I globally bind M-n and M-p to forward-paragraph and
>> backward-paragraph respectively.
>
>> Would it be okay to make these global bindings default?
>
> I don't thi"nk so.  It's one of the few short keys left for major modes
> to bind to "next/prev" commands.

How bout introducing M-n and M-p to those major modes where they don't
already have a binding?  OTOH, it seems harmless to bind them to, say,
forward/backward-paragraph in text-mode.



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

* RE: Binding M-n and M-p to forward-paragraph and  backward-paragraphrespectively
  2011-04-09 15:24     ` Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively Drew Adams
  2011-04-09 19:09       ` chad
@ 2011-04-09 21:29       ` Davis Herring
  2011-04-09 22:50         ` PJ Weisberg
  1 sibling, 1 reply; 28+ messages in thread
From: Davis Herring @ 2011-04-09 21:29 UTC (permalink / raw)
  To: Drew Adams; +Cc: 'chad', 'Emacs-Devel devel'

> The last go-round about binding some (function) key by default clearly
> demonstrated this: The discussion had not even finished, and no
> decision had yet been reached, before some were sending in posts
> that indicated that they understood that the key was _reserved_ and
> should not be changed by users or 3rd-party libraries.

Are you talking about the Alt-F4 (or M-f4) discussion?  If so, that was
heavily influenced by issues of whether Emacs should respect window system
conventions (and if so, which systems), and whether Emacs should attempt
to be just like every other program (for newbies' sake) but still somehow
better, and whether there was a difference between unbound and
specifically turned off, and how many layers of indirection to provide in
keymap customization, etc.  It's a very poor example for the issue of
adding non-famous keys to the default global map.  (It is, however, a very
good example of how contentious any tampering with that global map is.)

Of course, if that's not the one you meant, never mind.

Davis

-- 
This product is sold by volume, not by mass.  If it appears too dense or
too sparse, it is because mass-energy conversion has occurred during
shipping.



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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-09 21:29       ` Davis Herring
@ 2011-04-09 22:50         ` PJ Weisberg
  0 siblings, 0 replies; 28+ messages in thread
From: PJ Weisberg @ 2011-04-09 22:50 UTC (permalink / raw)
  To: herring; +Cc: chad, Drew Adams, Emacs-Devel devel

On 4/9/11, Davis Herring <herring@lanl.gov> wrote:
>> The last go-round about binding some (function) key by default clearly
>> demonstrated this: The discussion had not even finished, and no
>> decision had yet been reached, before some were sending in posts
>> that indicated that they understood that the key was _reserved_ and
>> should not be changed by users or 3rd-party libraries.
>
> Are you talking about the Alt-F4 (or M-f4) discussion?  If so, that was
> heavily influenced by issues of whether Emacs should respect window system
> conventions (and if so, which systems), and whether Emacs should attempt
> to be just like every other program (for newbies' sake) but still somehow
> better, and whether there was a difference between unbound and
> specifically turned off, and how many layers of indirection to provide in
> keymap customization, etc.  It's a very poor example for the issue of
> adding non-famous keys to the default global map.  (It is, however, a very
> good example of how contentious any tampering with that global map is.)

It was also somewhat of a special case in that on some systems (e.g.
Gnome, KDE) Emacs actually doesn't have the power to override the
system-wide binding, but on other systems (Windows) it overrides the
system-wide binding by default, just by not passing the keys through
to Windows.

-PJ



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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-09 19:26         ` Drew Adams
@ 2011-04-10  2:49           ` Leo
  2011-04-10  3:10             ` chad
  0 siblings, 1 reply; 28+ messages in thread
From: Leo @ 2011-04-10  2:49 UTC (permalink / raw)
  To: emacs-devel

On 2011-04-10 03:26 +0800, Drew Adams wrote:
> No, that was true also in the other case, as it is in most cases where a binding
> is explicitly only for _default_ behavior.
>
> That's the point: Some people _mis_understand, thinking that the existence of a
> default binding means that the binding is in some way reserved.  And as I
> mentioned, the more a default key gets used commonly, the more people shy away
> from rebinding it.  Creating a default binding is not without behavioral
> consequences.

M-n/p always mean something for history navigation for me. I prefer
Emacs leave those (global) keys alone too.

Leo




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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-10  2:49           ` Leo
@ 2011-04-10  3:10             ` chad
  2011-04-10  5:37               ` Leo
  0 siblings, 1 reply; 28+ messages in thread
From: chad @ 2011-04-10  3:10 UTC (permalink / raw)
  To: Leo; +Cc: emacs-devel

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


On Apr 9, 2011, at 7:49 PM, Leo wrote:
> 
> M-n/p always mean something for history navigation for me. I prefer
> Emacs leave those (global) keys alone too.

As has been mentioned at least once, the minibuffer history bindings are in minibuffer-local-map, not global keys, and would not work as global keys.

Chong Yidong's suggestion for binding in text-mode seems like a decent compromise, to which I would personally suggest adding outline-mode and all programming modes.  That said, I don't see any reason for the compromise, as the objections seem to be your confusion and the fear that it might become some sort of defacto standard -- whereas I am suggesting that the goal is exactly to make it a defacto standard, ala M-a, M-e, TAB, etc.

It would definitely be a change, although one most people are unlikely to notice (they either already have a personal binding that trumps it or they don't  have an expectation about the key being bound at all).  That's why I suggested it for Emacs 24.

I hope that helps,
*Chad


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

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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraph respectively
  2011-04-09 19:30   ` Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Chong Yidong
@ 2011-04-10  3:33     ` Stefan Monnier
  0 siblings, 0 replies; 28+ messages in thread
From: Stefan Monnier @ 2011-04-10  3:33 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Emacs-Devel devel, Deniz Dogan

> How bout introducing M-n and M-p to those major modes where they don't
> already have a binding?  OTOH, it seems harmless to bind them to, say,
> forward/backward-paragraph in text-mode.

Might be OK.  Then again, since they're already available via M-{ and
M-} it's not clear why forward/backward-pararaphs should get such
special treatment.  Maybe instead text-mode should set
beginning-of-defun-function and end-of-defun-function so that C-M-a and
C-M-e treats defuns as paragraphs.


        Stefan



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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-10  3:10             ` chad
@ 2011-04-10  5:37               ` Leo
  2011-04-10  9:15                 ` Stephen J. Turnbull
  0 siblings, 1 reply; 28+ messages in thread
From: Leo @ 2011-04-10  5:37 UTC (permalink / raw)
  To: emacs-devel

On 2011-04-10 11:10 +0800, chad wrote:
> As has been mentioned at least once, the minibuffer history bindings
> are in minibuffer-local-map, not global keys, and would not work as
> global keys.

They are also in many other places. I like keys to have similar meanings
in different modes or places. forward/backward-paragraph is a bit too
different from history navigation. Anyway, I don't have strong opinion
on this. Emacs already has too many trivial/intrusive key bindings.

On the other hand, advertising M-n/p as global keys for users to
customise might be better than provide default bindings.

Leo




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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-10  5:37               ` Leo
@ 2011-04-10  9:15                 ` Stephen J. Turnbull
  2011-04-10 13:17                   ` Lennart Borgman
  0 siblings, 1 reply; 28+ messages in thread
From: Stephen J. Turnbull @ 2011-04-10  9:15 UTC (permalink / raw)
  To: Leo; +Cc: emacs-devel

Leo writes:

 > On the other hand, advertising M-n/p as global keys for users to
 > customise might be better than provide default bindings.

A big -1 on that.  C-c <letter> is reserved to users.  That's not very
many, but OTOH it's a very clear, and by now fairly well-known, and
very simple, rule.  Advertising random keys as available just because
they're not currently bound would be confusing and constraining.

I'm a small :-) -1 on the present proposal to bind M-n/M-p to
paragraph movement because they already have bindings in the default
global keymap.  I am aware that M-} is not easy to type on many
keyboards, and binding M-n to forward-paragraph would be a great
customization for people who prefer those layouts.  OTOH, there may be
other reasonable bindings (eg, I bind a command that rotates the tabs,
as I often have 2-3 times as many related buffers as can reasonably
fit on the tabs).



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

* Re: Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively
  2011-04-10  9:15                 ` Stephen J. Turnbull
@ 2011-04-10 13:17                   ` Lennart Borgman
  0 siblings, 0 replies; 28+ messages in thread
From: Lennart Borgman @ 2011-04-10 13:17 UTC (permalink / raw)
  To: Stephen J. Turnbull; +Cc: Leo, emacs-devel

On Sun, Apr 10, 2011 at 11:15 AM, Stephen J. Turnbull
<stephen@xemacs.org> wrote:
> Leo writes:
>
>  > On the other hand, advertising M-n/p as global keys for users to
>  > customise might be better than provide default bindings.
>
> A big -1 on that.  C-c <letter> is reserved to users.  That's not very
> many, but OTOH it's a very clear, and by now fairly well-known, and
> very simple, rule.  Advertising random keys as available just because
> they're not currently bound would be confusing and constraining.
>
> I'm a small :-) -1 on the present proposal to bind M-n/M-p to
> paragraph movement because they already have bindings in the default
> global keymap.  I am aware that M-} is not easy to type on many
> keyboards, and binding M-n to forward-paragraph would be a great
> customization for people who prefer those layouts.  OTOH, there may be
> other reasonable bindings (eg, I bind a command that rotates the tabs,
> as I often have 2-3 times as many related buffers as can reasonably
> fit on the tabs).

+1



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

end of thread, other threads:[~2011-04-10 13:17 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-07 13:57 Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Deniz Dogan
2011-04-07 16:33 ` Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively Drew Adams
2011-04-07 17:57   ` Sean Sieger
2011-04-07 18:15     ` Binding M-n and M-p to forward-paragraph andbackward-paragraphrespectively Drew Adams
2011-04-07 18:24       ` Sean Sieger
2011-04-07 18:28         ` Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively Drew Adams
2011-04-07 18:29           ` Sean Sieger
2011-04-07 20:31             ` Antoine Levitt
2011-04-07 20:53               ` Binding M-n and M-p toforward-paragraphandbackward-paragraphrespectively Drew Adams
2011-04-08  3:13                 ` Davis Herring
2011-04-08  8:09                   ` Andreas Röhler
2011-04-07 22:30               ` Binding M-n and M-p to forward-paragraphandbackward-paragraphrespectively David De La Harpe Golden
2011-04-08 10:19                 ` Antoine Levitt
2011-04-08 21:48                   ` Lennart Borgman
2011-04-09  1:40 ` Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Stefan Monnier
2011-04-09  4:10   ` chad
2011-04-09 15:24     ` Binding M-n and M-p to forward-paragraph and backward-paragraphrespectively Drew Adams
2011-04-09 19:09       ` chad
2011-04-09 19:26         ` Drew Adams
2011-04-10  2:49           ` Leo
2011-04-10  3:10             ` chad
2011-04-10  5:37               ` Leo
2011-04-10  9:15                 ` Stephen J. Turnbull
2011-04-10 13:17                   ` Lennart Borgman
2011-04-09 21:29       ` Davis Herring
2011-04-09 22:50         ` PJ Weisberg
2011-04-09 19:30   ` Binding M-n and M-p to forward-paragraph and backward-paragraph respectively Chong Yidong
2011-04-10  3:33     ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).