GNU bug report logs - #13708
24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,

Previous Next

Package: emacs;

Reported by: Jambunathan K <kjambunathan <at> gmail.com>

Date: Wed, 13 Feb 2013 14:37:01 UTC

Severity: wishlist

Found in version 24.3.50

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 13708 in the body.
You can then email your comments to 13708 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#13708; Package emacs. (Wed, 13 Feb 2013 14:37:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jambunathan K <kjambunathan <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 13 Feb 2013 14:37:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jambunathan K <kjambunathan <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
Date: Wed, 13 Feb 2013 20:04:58 +0530
[Message part 1 (text/plain, inline)]
This bug superseds 
        http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13602

There seems to be a general agreement that C-s and C-r are too useful to
be superseded by icomplete, ido and iswitchb(?).

I am proposing C-, and C-. as useful defaults.

For fear of resentment, I am leaving C-s and C-r bindings intact.
Reviewer may delete them at his own discretion.

[Message part 2 (text/plain, inline)]
=== modified file 'lisp/icomplete.el'
--- lisp/icomplete.el	2013-02-08 07:53:55 +0000
+++ lisp/icomplete.el	2013-02-13 14:24:14 +0000
@@ -156,8 +156,8 @@ except those on this list.")
   (let ((map (make-sparse-keymap)))
     (define-key map [?\M-\t] 'minibuffer-force-complete)
     (define-key map [?\C-j]  'minibuffer-force-complete-and-exit)
-    (define-key map [?\C-s]  'icomplete-forward-completions)
-    (define-key map [?\C-r]  'icomplete-backward-completions)
+    (define-key map [?\C-.]  'icomplete-forward-completions)
+    (define-key map [?\C-,]  'icomplete-backward-completions)
     map))
 
 (defun icomplete-forward-completions ()

=== modified file 'lisp/ido.el'
--- lisp/ido.el	2013-01-02 16:13:04 +0000
+++ lisp/ido.el	2013-02-13 14:07:22 +0000
@@ -1585,6 +1585,8 @@ This function also adds a hook to the mi
     (define-key map "\C-p" 'ido-toggle-prefix)
     (define-key map "\C-r" 'ido-prev-match)
     (define-key map "\C-s" 'ido-next-match)
+    (define-key map [?\C-.] 'ido-next-match)
+    (define-key map [?\C-,] 'ido-prev-match)
     (define-key map "\C-t" 'ido-toggle-regexp)
     (define-key map "\C-z" 'ido-undo-merge-work-directory)
     (define-key map [(control ?\s)] 'ido-restrict-to-matches)

=== modified file 'lisp/iswitchb.el'
--- lisp/iswitchb.el	2013-01-01 09:11:05 +0000
+++ lisp/iswitchb.el	2013-02-13 14:07:06 +0000
@@ -471,6 +471,8 @@ interfere with other minibuffer usage.")
     (define-key map "?" 'iswitchb-completion-help)
     (define-key map "\C-s" 'iswitchb-next-match)
     (define-key map "\C-r" 'iswitchb-prev-match)
+    (define-key map [?\C-.] 'iswitchb-next-match)
+    (define-key map [?\C-,] 'iswitchb-prev-match)
     (define-key map "\t" 'iswitchb-complete)
     (define-key map "\C-j" 'iswitchb-select-buffer-text)
     (define-key map "\C-t" 'iswitchb-toggle-regexp)

[Message part 3 (text/plain, inline)]

In GNU Emacs 24.3.50.17 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2013-02-13 on debian-6.05
Bzr revision: 111769 monnier <at> iro.umontreal.ca-20130213134000-ic1ever0864xkzoo
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
System Description:	Debian GNU/Linux 6.0.5 (squeeze)


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13708; Package emacs. (Wed, 13 Feb 2013 16:54:01 GMT) Full text and rfc822 format available.

Message #8 received at 13708 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Jambunathan K <kjambunathan <at> gmail.com>
Cc: 13708 <at> debbugs.gnu.org
Subject: Re: bug#13708: 24.3.50;
	icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
Date: Wed, 13 Feb 2013 20:52:45 +0400
Jambunathan K <kjambunathan <at> gmail.com> writes:

> This bug superseds 
>         http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13602
>
> There seems to be a general agreement that C-s and C-r are too useful to
> be superseded by icomplete, ido and iswitchb(?).

How exactly the default bindings for C-s and C-r are supposed to be used
in ido-mode?

> I am proposing C-, and C-. as useful defaults.
>
> For fear of resentment, I am leaving C-s and C-r bindings intact.
> Reviewer may delete them at his own discretion.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13708; Package emacs. (Thu, 14 Feb 2013 04:56:02 GMT) Full text and rfc822 format available.

Message #11 received at 13708 <at> debbugs.gnu.org (full text, mbox):

From: Jambunathan K <kjambunathan <at> gmail.com>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: 13708 <at> debbugs.gnu.org
Subject: Re: bug#13708: 24.3.50;
	icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
Date: Thu, 14 Feb 2013 10:24:19 +0530
Dmitry Gutov <dgutov <at> yandex.ru> writes:

> Jambunathan K <kjambunathan <at> gmail.com> writes:
>
>> This bug superseds 
>>         http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13602
>>
>> There seems to be a general agreement that C-s and C-r are too useful to
>> be superseded by icomplete, ido and iswitchb(?).
>
> How exactly the default bindings for C-s and C-r are supposed to be used
> in ido-mode?

I don't know.  Just not use C-s and C-r at all.

Or

Introduce two defcustoms of type :key-sequence *shared* across the three
libraries (ido, iswithcb and icomplete).

and set them to C-. and C-,

I don't know what solution would be best here.  Nothing wrong to
discuss, I suppose.

>> I am proposing C-, and C-. as useful defaults.

I think you are not objecting to this.

>> For fear of resentment, I am leaving C-s and C-r bindings intact.
>> Reviewer may delete them at his own discretion.

I am in favor of deletion.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13708; Package emacs. (Thu, 14 Feb 2013 05:14:02 GMT) Full text and rfc822 format available.

Message #14 received at 13708 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Jambunathan K <kjambunathan <at> gmail.com>
Cc: 13708 <at> debbugs.gnu.org
Subject: Re: bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r
	with C-. and C-,
Date: Thu, 14 Feb 2013 09:12:26 +0400
On 14.02.2013 8:54, Jambunathan K wrote:
> Dmitry Gutov <dgutov <at> yandex.ru> writes:
>
>> Jambunathan K <kjambunathan <at> gmail.com> writes:
>>
>>> This bug superseds
>>>          http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13602
>>>
>>> There seems to be a general agreement that C-s and C-r are too useful to
>>> be superseded by icomplete, ido and iswitchb(?).
>>
>> How exactly the default bindings for C-s and C-r are supposed to be used
>> in ido-mode?
>
> I don't know.  Just not use C-s and C-r at all.

What if the user tries to use them? By reflex, or out of exploratory 
interest.

I tried removing the overridded keybindings like you suggested, but C-s 
still doesn't really work after that, the interface is half-ido, 
half-isearch. That's bad.

So, I'm against removing them.

> Or
>
> Introduce two defcustoms of type :key-sequence *shared* across the three
> libraries (ido, iswithcb and icomplete).
>
> and set them to C-. and C-,
>
> I don't know what solution would be best here.  Nothing wrong to
> discuss, I suppose.
>
>>> I am proposing C-, and C-. as useful defaults.
>
> I think you are not objecting to this.

I don't have anything against these specific keybindings, except if C-s 
and C-r are not removed, they will be extraneous.

Not much of a problem, I guess.

>>> For fear of resentment, I am leaving C-s and C-r bindings intact.
>>> Reviewer may delete them at his own discretion.
>
> I am in favor of deletion.
>





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13708; Package emacs. (Thu, 14 Feb 2013 05:58:02 GMT) Full text and rfc822 format available.

Message #17 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Leo Liu <sdl.web <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#13708: 24.3.50;
	icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
Date: Thu, 14 Feb 2013 13:56:24 +0800
On 2013-02-14 13:12 +0800, Dmitry Gutov wrote:
>>>> I am proposing C-, and C-. as useful defaults.
>>
>> I think you are not objecting to this.
>
> I don't have anything against these specific keybindings, except if
> C-s and C-r are not removed, they will be extraneous.

I think it is better leave C-, or C-. to personal customisation instead
of putting them in emacs. These keys by no means are standard.

Leo





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13708; Package emacs. (Thu, 14 Feb 2013 09:25:02 GMT) Full text and rfc822 format available.

Message #20 received at 13708 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> jurta.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: 13708 <at> debbugs.gnu.org, Jambunathan K <kjambunathan <at> gmail.com>
Subject: Re: bug#13708: 24.3.50;
	icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
Date: Thu, 14 Feb 2013 11:19:17 +0200
>>> How exactly the default bindings for C-s and C-r are supposed to be used
>>> in ido-mode?
>>
>> I don't know.  Just not use C-s and C-r at all.
>
> What if the user tries to use them? By reflex, or out of
> exploratory interest.
>
> I tried removing the overridded keybindings like you suggested, but C-s
> still doesn't really work after that, the interface is half-ido,
> half-isearch. That's bad.

When I tried removing the overridden keybindings from ido-mode
to use the standard isearch keybindings C-s and C-r,
I see that they are working fine in ido-mode.

But they are less useful in ido-mode, because to start isearch
from a certain place, you can't move point to that place,
because point movement keys are overridden too: C-a, C-e,
left and right arrows all use non-standard keybindings.

> So, I'm against removing them.

I agree.  It's impossible to bring icomplete and ido
closer to each other in keybindings because their keybindings
are already incompatibly different.  For instance, in ido-mode:

C-j - selects a partial input
C-m - selects a complete candidate

But in icomplete they have the opposite meaning:

C-j - selects a complete candidate
C-m - selects a partial input

So it would be better to leave ido/iswitchb keybindings intact.

Regarding `C-.' and `C-,' for icomplete-mode, I think that
even though they are non-standard, unavailable on ttys and
have unintuitive layouts on some keyboards, at least they have
one advantage to override none of standard default keybindings.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13708; Package emacs. (Thu, 14 Feb 2013 13:52:02 GMT) Full text and rfc822 format available.

Message #23 received at 13708 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Jambunathan K <kjambunathan <at> gmail.com>
Cc: 13708 <at> debbugs.gnu.org
Subject: Re: bug#13708: 24.3.50;
	icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
Date: Thu, 14 Feb 2013 08:50:17 -0500
> I am proposing C-, and C-. as useful defaults.
> For fear of resentment, I am leaving C-s and C-r bindings intact.
> Reviewer may delete them at his own discretion.

Looks good, please install when you get your commit access,


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13708; Package emacs. (Thu, 14 Feb 2013 13:54:01 GMT) Full text and rfc822 format available.

Message #26 received at 13708 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: Juri Linkov <juri <at> jurta.org>
Cc: 13708 <at> debbugs.gnu.org, Jambunathan K <kjambunathan <at> gmail.com>,
	Dmitry Gutov <dgutov <at> yandex.ru>
Subject: Re: bug#13708: 24.3.50;
	icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
Date: Thu, 14 Feb 2013 08:52:46 -0500
> Regarding `C-.' and `C-,' for icomplete-mode, I think that
> even though they are non-standard, unavailable on ttys and

Actually (to my surprise), they work in my (i.e. Debian testing's) xterms.


        Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13708; Package emacs. (Fri, 15 Feb 2013 20:11:02 GMT) Full text and rfc822 format available.

Message #29 received at 13708 <at> debbugs.gnu.org (full text, mbox):

From: Jambunathan K <kjambunathan <at> gmail.com>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 13708 <at> debbugs.gnu.org
Subject: Re: bug#13708: 24.3.50;
	icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
Date: Sat, 16 Feb 2013 01:39:37 +0530
Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:

>> I am proposing C-, and C-. as useful defaults.
>> For fear of resentment, I am leaving C-s and C-r bindings intact.
>> Reviewer may delete them at his own discretion.
>
> Looks good, please install when you get your commit access,

Committed as revno: 111793 and 111789.1.1.  

Is it normal for the later version to be publicly seen? I have a
feeling that it could have been avoided. 

IIRC, Sequence went something like:

1. unbind
2. commit
3. couple of more checkins from others
4. commit of pending merge from my side.

>         Stefan




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#13708; Package emacs. (Fri, 15 Feb 2013 23:42:02 GMT) Full text and rfc822 format available.

Message #32 received at 13708 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Jambunathan K <kjambunathan <at> gmail.com>
Cc: 13708 <at> debbugs.gnu.org
Subject: Re: bug#13708: 24.3.50;
	icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
Date: Fri, 15 Feb 2013 18:40:14 -0500
>>> I am proposing C-, and C-. as useful defaults.
>>> For fear of resentment, I am leaving C-s and C-r bindings intact.
>>> Reviewer may delete them at his own discretion.
>> Looks good, please install when you get your commit access,
> Committed as revno: 111793 and 111789.1.1.  
> Is it normal for the later version to be publicly seen?

I think so.

> I have a feeling that it could have been avoided. 

Probably.

> IIRC, Sequence went something like:

> 1. unbind
> 2. commit
> 3. couple of more checkins from others
> 4. commit of pending merge from my side.

I'm pretty sure there are steps missing.  Between 3 and 4, there must
have been something like "bzr pull" or "bzr merge" and either the 4 was
really a "bzr push" or there was a "bzr bind" some time before.

The way I do it: my `trunk' branch is bound.  When I have a patch to
install, I apply it to trunk somehow, then I "bzr commit" and if it
fails, I first "bzr update" then try again.


        Stefan




bug closed, send any further explanations to 13708 <at> debbugs.gnu.org and Jambunathan K <kjambunathan <at> gmail.com> Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Sat, 16 Feb 2013 02:00:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 16 Mar 2013 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 97 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.