unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* set-temporary-overlay-map seems poorly named
@ 2013-12-21  5:45 Chong Yidong
  2013-12-21  5:58 ` Jambunathan K
  2013-12-21  8:26 ` Eli Zaretskii
  0 siblings, 2 replies; 10+ messages in thread
From: Chong Yidong @ 2013-12-21  5:45 UTC (permalink / raw)
  To: emacs-devel

This function, new in Emacs 24.4, seems to have nothing to do with
overlays in the usual Emacs sense.  So it's a bad name.

How about renaming it to `set-transient-keymap'?



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

* Re: set-temporary-overlay-map seems poorly named
  2013-12-21  5:45 set-temporary-overlay-map seems poorly named Chong Yidong
@ 2013-12-21  5:58 ` Jambunathan K
  2013-12-22 14:19   ` Jambunathan K
  2013-12-21  8:26 ` Eli Zaretskii
  1 sibling, 1 reply; 10+ messages in thread
From: Jambunathan K @ 2013-12-21  5:58 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

Chong Yidong <cyd@gnu.org> writes:

> This function, new in Emacs 24.4, seems to have nothing to do with
> overlays in the usual Emacs sense.  So it's a bad name.
>
> How about renaming it to `set-transient-keymap'?

How about `set-temporary-keymap'?

Emacs users/programmers have differing level of proficiency in English.
The word "temporary" will be more easy on international users.






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

* Re: set-temporary-overlay-map seems poorly named
  2013-12-21  5:45 set-temporary-overlay-map seems poorly named Chong Yidong
  2013-12-21  5:58 ` Jambunathan K
@ 2013-12-21  8:26 ` Eli Zaretskii
  2013-12-22  0:36   ` Chong Yidong
  1 sibling, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2013-12-21  8:26 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

> From: Chong Yidong <cyd@gnu.org>
> Date: Sat, 21 Dec 2013 13:45:53 +0800
> 
> This function, new in Emacs 24.4, seems to have nothing to do with
> overlays in the usual Emacs sense.  So it's a bad name.
> 
> How about renaming it to `set-transient-keymap'?

'set-temporary-overriding-map', perhaps?



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

* Re: set-temporary-overlay-map seems poorly named
  2013-12-21  8:26 ` Eli Zaretskii
@ 2013-12-22  0:36   ` Chong Yidong
  2013-12-22  8:38     ` Bozhidar Batsov
  2013-12-22 10:48     ` Stefan Monnier
  0 siblings, 2 replies; 10+ messages in thread
From: Chong Yidong @ 2013-12-22  0:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> This function, new in Emacs 24.4, seems to have nothing to do with
>> overlays in the usual Emacs sense.  So it's a bad name.
>> 
>> How about renaming it to `set-transient-keymap'?
>
> 'set-temporary-overriding-map', perhaps?

This might be confusing, since overriding-local-map takes precedence
over the temporary map.

The reason I think "transient" is a good term to use is that we already
use that word in Emacs in `transient-mode-map' to mean the same sort of
behavior: a mode of operation which features disappears after doing
something, returning you to the previous behavior.  (We also use the
word "electric" similarly, but that is a lot more cryptic.)



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

* Re: set-temporary-overlay-map seems poorly named
  2013-12-22  0:36   ` Chong Yidong
@ 2013-12-22  8:38     ` Bozhidar Batsov
  2013-12-22 10:48     ` Stefan Monnier
  1 sibling, 0 replies; 10+ messages in thread
From: Bozhidar Batsov @ 2013-12-22  8:38 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Eli Zaretskii, emacs-devel

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

+1 for "transient".


On 22 December 2013 02:36, Chong Yidong <cyd@gnu.org> wrote:

> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> This function, new in Emacs 24.4, seems to have nothing to do with
> >> overlays in the usual Emacs sense.  So it's a bad name.
> >>
> >> How about renaming it to `set-transient-keymap'?
> >
> > 'set-temporary-overriding-map', perhaps?
>
> This might be confusing, since overriding-local-map takes precedence
> over the temporary map.
>
> The reason I think "transient" is a good term to use is that we already
> use that word in Emacs in `transient-mode-map' to mean the same sort of
> behavior: a mode of operation which features disappears after doing
> something, returning you to the previous behavior.  (We also use the
> word "electric" similarly, but that is a lot more cryptic.)
>
>

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

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

* Re: set-temporary-overlay-map seems poorly named
  2013-12-22  0:36   ` Chong Yidong
  2013-12-22  8:38     ` Bozhidar Batsov
@ 2013-12-22 10:48     ` Stefan Monnier
  2013-12-22 13:43       ` Chong Yidong
  1 sibling, 1 reply; 10+ messages in thread
From: Stefan Monnier @ 2013-12-22 10:48 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Eli Zaretskii, emacs-devel

>>> This function, new in Emacs 24.4, seems to have nothing to do with
>>> overlays in the usual Emacs sense.  So it's a bad name.
>>> How about renaming it to `set-transient-keymap'?
>> 'set-temporary-overriding-map', perhaps?

FWIW, I don't have any preference in this respect, so feel free to
change it after you agree on it.

> This might be confusing, since overriding-local-map takes precedence
> over the temporary map.

AFAIK it doesn't.


        Stefan



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

* Re: set-temporary-overlay-map seems poorly named
  2013-12-22 10:48     ` Stefan Monnier
@ 2013-12-22 13:43       ` Chong Yidong
  2013-12-23  1:27         ` Stefan Monnier
  0 siblings, 1 reply; 10+ messages in thread
From: Chong Yidong @ 2013-12-22 13:43 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, emacs-devel

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> This might be confusing, since overriding-local-map takes precedence
>> over the temporary map.
>
> AFAIK it doesn't.

The docstring says:

Note that this does NOT take precedence over the "overriding" maps
`overriding-terminal-local-map' and `overriding-local-map' (or the
`keymap' text property).  Unlike those maps, if no match for a key is
found in MAP, the normal key lookup sequence then continues.



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

* Re: set-temporary-overlay-map seems poorly named
  2013-12-21  5:58 ` Jambunathan K
@ 2013-12-22 14:19   ` Jambunathan K
  2013-12-22 16:50     ` Jambunathan K
  0 siblings, 1 reply; 10+ messages in thread
From: Jambunathan K @ 2013-12-22 14:19 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel


Jambunathan K <kjambunathan@gmail.com> writes:

> Chong Yidong <cyd@gnu.org> writes:
>
>> This function, new in Emacs 24.4, seems to have nothing to do with
>> overlays in the usual Emacs sense.  So it's a bad name.
>>
>> How about renaming it to `set-transient-keymap'?
>
> How about `set-temporary-keymap'?

The following node already uses TEMP-MAP to designate this.

,---- (info "(elisp) Searching Keymaps")
|
| TEMP-MAP is a pseudo variable that represents the effect of a
| `set-temporary-overlay-map' call.
|
`----

----------------------------------------------------------------


,----  C-h f set-temporary-overlay-map
|
| Normally, MAP is used only once.  If the optional argument
| KEEP-PRED is t, MAP stays active if a key from MAP is used.
| KEEP-PRED can also be a function of no arguments: if it returns
| non-nil then MAP stays active.
|
`----

In essence the map is "self-destructive".  The installer ALSO tells when
the transient map goes belly up.

I believe the notion of "self-destructive" is semantically more richer
than "transient" or "temporary".

----------------------------------------------------------------

Looking at instances where `set-temporary-keymap' is used, it seems it
helps to "extend" a command to an arbitrary length.

   C-x {z}+
   C-x TAB {left or right}+
   C-x C-+ {+ or - or 0}+

It is looks as if a "common prefix" is factored out of a key sequence.
So a key sequence like

   AB AC AD

becomes "reduced" to

  A B C D

i.e., A is "factored out".

So overlay-map in effects helps to create "command local" maps or to
create "sub-commands".

----------------------------------------------------------------




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

* Re: set-temporary-overlay-map seems poorly named
  2013-12-22 14:19   ` Jambunathan K
@ 2013-12-22 16:50     ` Jambunathan K
  0 siblings, 0 replies; 10+ messages in thread
From: Jambunathan K @ 2013-12-22 16:50 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

Jambunathan K <kjambunathan@gmail.com> writes:

> Looking at instances where `set-temporary-keymap' is used

As an additional qualifier to my earlier comment what I am saying is
this:

The name of the API, INSTEAD of trying to capture where in the keymap
heirarchy it fits in, can try to capture how a user will RELATE to it
(or put it into a practice).  May be user-specific-approach will give a
more sensible name for the function.





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

* Re: set-temporary-overlay-map seems poorly named
  2013-12-22 13:43       ` Chong Yidong
@ 2013-12-23  1:27         ` Stefan Monnier
  0 siblings, 0 replies; 10+ messages in thread
From: Stefan Monnier @ 2013-12-23  1:27 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Eli Zaretskii, emacs-devel

>>> This might be confusing, since overriding-local-map takes precedence
>>> over the temporary map.
>> AFAIK it doesn't.
> The docstring says:
> Note that this does NOT take precedence over the "overriding" maps
> `overriding-terminal-local-map' and `overriding-local-map' (or the
> `keymap' text property).  Unlike those maps, if no match for a key is
> found in MAP, the normal key lookup sequence then continues.

Thanks, I forgot to update the docstring when I fixed this problem.


        Stefan



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

end of thread, other threads:[~2013-12-23  1:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-21  5:45 set-temporary-overlay-map seems poorly named Chong Yidong
2013-12-21  5:58 ` Jambunathan K
2013-12-22 14:19   ` Jambunathan K
2013-12-22 16:50     ` Jambunathan K
2013-12-21  8:26 ` Eli Zaretskii
2013-12-22  0:36   ` Chong Yidong
2013-12-22  8:38     ` Bozhidar Batsov
2013-12-22 10:48     ` Stefan Monnier
2013-12-22 13:43       ` Chong Yidong
2013-12-23  1:27         ` 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).