diff lisp/isearch.el @ 38553:4e1d2c941d86

(isearch-other-meta-char): Don't modify mode-line and similar events for which fake prefix keys are generated. It's no longer necessary since read_key_sequence doesn't modify these events for internal purposes anymore.
author Gerd Moellmann <gerd@gnu.org>
date Wed, 25 Jul 2001 14:02:04 +0000
parents 253f761ad37b
children 35109e6bdb7d
line wrap: on
line diff
--- a/lisp/isearch.el	Wed Jul 25 13:00:42 2001 +0000
+++ b/lisp/isearch.el	Wed Jul 25 14:02:04 2001 +0000
@@ -1229,20 +1229,19 @@
 	   (let (window)
 	     (cancel-kbd-macro-events)
 	     (apply 'isearch-unread keylist)
-	     ;; Properly handle scroll-bar and mode-line clicks
-	     ;; for which a dummy prefix event was generated as (aref key 0).
-	     (and (> (length key) 1)
-		  (symbolp (aref key 0))
-		  (listp (aref key 1))
-		  (not (numberp (posn-point (event-start (aref key 1)))))
-		  ;; Convert the event back into its raw form,
-		  ;; with the dummy prefix implicit in the mouse event,
-		  ;; so it will get split up once again.
-		  (progn (setq unread-command-events
-			       (cdr unread-command-events))
-			 (setq main-event (car unread-command-events))
-			 (setcar (cdr (event-start main-event))
-				 (car (nth 1 (event-start main-event))))))
+
+	     ;; Properly handle scroll-bar and mode-line clicks for
+	     ;; which a dummy prefix event was generated as (aref key
+	     ;; 0).  Note that we don't have to modify the event
+	     ;; anymore in 21 because read_key_sequence no longer modifies
+	     ;; events to produce fake prefix keys.
+	     (when (and (> (length key) 1)
+			(symbolp (aref key 0))
+			(listp (aref key 1))
+			(not (numberp (posn-point 
+				       (event-start (aref key 1))))))
+	       (setq main-event (pop unread-command-events)))
+
 	     ;; If we got a mouse click, maybe it was read with the buffer
 	     ;; it was clicked on.  If so, that buffer, not the current one,
 	     ;; is in isearch mode.  So end the search in that buffer.