[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

isearch scrolling

From: Eli Barzilay
Subject: isearch scrolling
Date: Tue, 07 Aug 2007 02:38:16 -0400

The `isearch-allow-scroll' feature changes modifiers of keys that are
used to exit isearch.  In particular, this gets in the way of using
CUA-mode -- for example, isearch for something and use C-S-left -- no
selection is done.

The problem is in "isearch.el":

          ;; Handle a scrolling function.
          ((and isearch-allow-scroll
                (progn (setq key (isearch-reread-key-sequence-naturally 
  HERE --->            (setq keylist (listify-key-sequence key))
                       (setq main-event (aref key 0))
                       (setq scroll-command (isearch-lookup-scroll-key key))))

You can put messages before and after that line that show the current
key, and you'll see that a shift modifier is removed.  Commenting this
line out makes things work fine again.  I believe that this is a
correct fix: I don't see any use of keylist in the code, except for:

           (let (window)
             (isearch-unread-key-sequence keylist)

and that's clearly the source of the problem (grab the previous value
of keylist, and use it in the above fragement, and things work again).

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]