unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
@ 2013-02-13 14:34 Jambunathan K
  2013-02-13 16:52 ` Dmitry Gutov
  2013-02-14 13:50 ` Stefan Monnier
  0 siblings, 2 replies; 10+ messages in thread
From: Jambunathan K @ 2013-02-13 14:34 UTC (permalink / raw)
  To: 13708

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


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.


[-- Attachment #2: candidates-cycling.patch --]
[-- Type: text/plain, Size: 1835 bytes --]

=== 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)


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



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@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)


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

* bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
  2013-02-13 14:34 bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-, Jambunathan K
@ 2013-02-13 16:52 ` Dmitry Gutov
  2013-02-14  4:54   ` Jambunathan K
  2013-02-14 13:50 ` Stefan Monnier
  1 sibling, 1 reply; 10+ messages in thread
From: Dmitry Gutov @ 2013-02-13 16:52 UTC (permalink / raw)
  To: Jambunathan K; +Cc: 13708

Jambunathan K <kjambunathan@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.





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

* bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
  2013-02-13 16:52 ` Dmitry Gutov
@ 2013-02-14  4:54   ` Jambunathan K
  2013-02-14  5:12     ` Dmitry Gutov
  0 siblings, 1 reply; 10+ messages in thread
From: Jambunathan K @ 2013-02-14  4:54 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 13708

Dmitry Gutov <dgutov@yandex.ru> writes:

> Jambunathan K <kjambunathan@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.





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

* bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
  2013-02-14  4:54   ` Jambunathan K
@ 2013-02-14  5:12     ` Dmitry Gutov
  2013-02-14  5:56       ` Leo Liu
  2013-02-14  9:19       ` Juri Linkov
  0 siblings, 2 replies; 10+ messages in thread
From: Dmitry Gutov @ 2013-02-14  5:12 UTC (permalink / raw)
  To: Jambunathan K; +Cc: 13708

On 14.02.2013 8:54, Jambunathan K wrote:
> Dmitry Gutov <dgutov@yandex.ru> writes:
>
>> Jambunathan K <kjambunathan@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.
>






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

* bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
  2013-02-14  5:12     ` Dmitry Gutov
@ 2013-02-14  5:56       ` Leo Liu
  2013-02-14  9:19       ` Juri Linkov
  1 sibling, 0 replies; 10+ messages in thread
From: Leo Liu @ 2013-02-14  5:56 UTC (permalink / raw)
  To: 13708

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






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

* bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
  2013-02-14  5:12     ` Dmitry Gutov
  2013-02-14  5:56       ` Leo Liu
@ 2013-02-14  9:19       ` Juri Linkov
  2013-02-14 13:52         ` Stefan Monnier
  1 sibling, 1 reply; 10+ messages in thread
From: Juri Linkov @ 2013-02-14  9:19 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: 13708, Jambunathan K

>>> 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.





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

* bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
  2013-02-13 14:34 bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-, Jambunathan K
  2013-02-13 16:52 ` Dmitry Gutov
@ 2013-02-14 13:50 ` Stefan Monnier
  2013-02-15 20:09   ` Jambunathan K
  1 sibling, 1 reply; 10+ messages in thread
From: Stefan Monnier @ 2013-02-14 13:50 UTC (permalink / raw)
  To: Jambunathan K; +Cc: 13708

> 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





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

* bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
  2013-02-14  9:19       ` Juri Linkov
@ 2013-02-14 13:52         ` Stefan Monnier
  0 siblings, 0 replies; 10+ messages in thread
From: Stefan Monnier @ 2013-02-14 13:52 UTC (permalink / raw)
  To: Juri Linkov; +Cc: 13708, Jambunathan K, Dmitry Gutov

> 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





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

* bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
  2013-02-14 13:50 ` Stefan Monnier
@ 2013-02-15 20:09   ` Jambunathan K
  2013-02-15 23:40     ` Stefan Monnier
  0 siblings, 1 reply; 10+ messages in thread
From: Jambunathan K @ 2013-02-15 20:09 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 13708

Stefan Monnier <monnier@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





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

* bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-,
  2013-02-15 20:09   ` Jambunathan K
@ 2013-02-15 23:40     ` Stefan Monnier
  0 siblings, 0 replies; 10+ messages in thread
From: Stefan Monnier @ 2013-02-15 23:40 UTC (permalink / raw)
  To: Jambunathan K; +Cc: 13708

>>> 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





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

end of thread, other threads:[~2013-02-15 23:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-13 14:34 bug#13708: 24.3.50; icomplete, ido, iswitchb: Replace C-s, C-r with C-. and C-, Jambunathan K
2013-02-13 16:52 ` Dmitry Gutov
2013-02-14  4:54   ` Jambunathan K
2013-02-14  5:12     ` Dmitry Gutov
2013-02-14  5:56       ` Leo Liu
2013-02-14  9:19       ` Juri Linkov
2013-02-14 13:52         ` Stefan Monnier
2013-02-14 13:50 ` Stefan Monnier
2013-02-15 20:09   ` Jambunathan K
2013-02-15 23:40     ` 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).