GNU bug report logs -
#15200
isearch-other-meta-char and shift
Previous Next
Reported by: Juri Linkov <juri <at> jurta.org>
Date: Tue, 27 Aug 2013 16:30:02 UTC
Severity: normal
Merged with 15383,
15544
Found in version 24.3.50
Done: Juri Linkov <juri <at> jurta.org>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 15200 <at> debbugs.gnu.org (full text, mbox):
Another problem is that shifted cursor motion keys
don't activate the region. Test case:
`C-s S-right' exits isearch (OK),
moves cursor to the right (OK),
but doesn't activate the region (BUG).
The same bug is for other shift-selection keys:
`C-s S-C-right', `C-s S-C-f', `C-s S-M-f' don't activate
the region like they do outside of isearch.
I see that the shift key is swallowed by `read-key-sequence'
in `isearch-reread-key-sequence-naturally' called from
`isearch-other-meta-char'.
However, when the argument DONT-DOWNCASE-LAST of `read-key-sequence'
is non-nil, it doesn't translate shifted keys and leaves
shift-modifiers with them in `unread-command-events':
=== modified file 'lisp/isearch.el'
--- lisp/isearch.el 2013-07-05 20:15:32 +0000
+++ lisp/isearch.el 2013-08-27 16:38:41 +0000
@@ -2502,7 +2556,9 @@ (defun isearch-reread-key-sequence-natur
Return the key sequence as a string/vector."
(isearch-unread-key-sequence keylist)
(let (overriding-terminal-local-map)
- (read-key-sequence nil))) ; This will go through function-key-map, if nec.
+ ;; This will go through function-key-map, if nec.
+ ;; The arg DONT-DOWNCASE-LAST prevents premature shift-translation.
+ (read-key-sequence nil nil t)))
(defalias 'isearch-other-control-char 'isearch-other-meta-char)
This bug report was last modified 11 years and 227 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.