GNU bug report logs -
#4117
23.1; isearch + isearch-allow-scroll loses shift
Previous Next
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
On Aug 16, Juri Linkov wrote:
> >> This is just an analysis. I currently don't know what is the
> >> right way to fix this. Maybe simply add the shift modifier back
> >> to the key when `this-command-keys-shift-translated' to t after
> >> `read-key-sequence'.
> >
> > This sounds like a good strategy, given that shift is now very
> > useful in general.
>
> 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.
(progn
;; original code:
;; (setq key (isearch-reread-key-sequence-naturally keylist))
;; (setq keylist (listify-key-sequence key))
;; ELI: use original prefix, so S-up keeps the S
(let* ((key1 (isearch-reread-key-sequence-naturally keylist))
(keylist1 (listify-key-sequence key1)))
(setq keylist (listify-key-sequence key)) ; original key
(setq keylist (append keylist (nthcdr (length keylist)
keylist1)))
(setq key key1)
(setq main-event (aref key 0))
(setq scroll-command (isearch-lookup-scroll-key key))))
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
This bug report was last modified 9 years and 13 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.