GNU bug report logs - #4117
23.1; isearch + isearch-allow-scroll loses shift

Previous Next

Package: emacs;

Reported by: Eli Barzilay <eli <at> barzilay.org>

Date: Tue, 11 Aug 2009 10:55:05 UTC

Severity: normal

Tags: notabug

Done: Andrew Hyatt <ahyatt <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> jurta.org>
To: Eli Barzilay <eli <at> barzilay.org>
Cc: 4117 <at> debbugs.gnu.org
Subject: bug#4117: 23.1; isearch + isearch-allow-scroll loses shift
Date: Mon, 17 Aug 2009 03:47:57 +0300
>> It's interesting that after loading s-region.el, your reported case
>> works correctly without fixes.
>>
>> So it seems the current core shift-selection is not the exact
>> re-implementation of s-region.el.
>
> I still believe that the problem is somewhere in how
> `isearch-other-meta-char' restores the key.  FWIW, here is my hack; I
> can't even explain how it works since I was basically guessing my way
> trying to get the stupid thing to work.
>
> At least in v22, this would cause the key that is used to exit isearch
> to be replayed twice -- for example, using `C-x 2' would happen twice.
> It just happens that I'm personally much more likely to shift-arrow my
> way out of isearch than I am to splitting the window.

Could you try the following hack:

Index: lisp/isearch.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/isearch.el,v
retrieving revision 1.345
diff -u -r1.345 isearch.el
--- lisp/isearch.el	14 Feb 2009 09:04:46 -0000	1.345
+++ lisp/isearch.el	17 Aug 2009 00:47:38 -0000
@@ -1900,6 +1905,12 @@
           ((and isearch-allow-scroll
                 (progn (setq key (isearch-reread-key-sequence-naturally keylist))
                        (setq keylist (listify-key-sequence key))
+                       (when this-command-keys-shift-translated
+                         (setq keylist (list
+                                        (event-convert-list
+                                         (append (cons 'shift (event-modifiers keylist))
+                                                 (list (event-basic-type keylist))))))
+                         (setq this-command-keys-shift-translated nil))
                        (setq main-event (aref key 0))
                        (setq scroll-command (isearch-lookup-scroll-key key))))
            ;; From this point onwards, KEY, KEYLIST and MAIN-EVENT hold a

-- 
Juri Linkov
http://www.jurta.org/emacs/



This bug report was last modified 9 years and 14 days ago.

Previous Next


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