Subject: Re: bug#4117: 23.1; isearch + isearch-allow-scroll loses shift

From: Juri Linkov <[email-masked]>
Date: Tue, 18 Aug 2009 00:19:59 +0300

> Yes -- here's another case that suffers from the same problem:
> `comint-dynamic-list-completions' reads one key (because it wants to
> remove the completions window when space is used) -- so it reads one
> key to test if it's space and uses `unread-command-events' otherwise.
> So: run `shell', type one character and hit tab (needs to have several
> files that start with it to pop the completions), then do some
> shift-movements.

This can be fixed using the argument `dont-downcase-last' of
`read-key-sequence':

Index: lisp/comint.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/comint.el,v
retrieving revision 1.390
diff -u -r1.390 comint.el
--- lisp/comint.el	23 Jun 2009 07:25:15 -0000	1.390
+++ lisp/comint.el	17 Aug 2009 21:19:29 -0000
@@ -3014,7 +3014,7 @@
       (if (with-current-buffer (get-buffer "*Completions*")
 	    (set (make-local-variable 'comint-displayed-dynamic-completions)
 		 completions)
-	    (setq key (read-key-sequence nil)
+	    (setq key (read-key-sequence nil nil t)
 		  first (aref key 0))
 	    (and (consp first) (consp (event-start first))
 		 (eq (window-buffer (posn-window (event-start first)))

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