changeset 110347:b4971a8966f0

* repeat.el (repeat): Allow repeating when the last event is a click. Suggested by Drew Adams (bug#6256).
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 11 Sep 2010 20:23:45 +0200
parents 05bd64a0d747
children facbb9773cf5
files lisp/ChangeLog lisp/repeat.el
diffstat 2 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Sep 11 15:25:48 2010 +0200
+++ b/lisp/ChangeLog	Sat Sep 11 20:23:45 2010 +0200
@@ -1,3 +1,8 @@
+2010-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* repeat.el (repeat): Allow repeating when the last event is a click.
+	Suggested by Drew Adams (bug#6256).
+
 2010-09-11  Sascha Wilde  <wilde@sha-bang.de>
 
 	* vc/vc-hg.el (vc-hg-state,vc-hg-working-revision):
--- a/lisp/repeat.el	Sat Sep 11 15:25:48 2010 +0200
+++ b/lisp/repeat.el	Sat Sep 11 20:23:45 2010 +0200
@@ -335,7 +335,12 @@
 	(setq real-last-command 'repeat)
 	(setq repeat-undo-count 1)
 	(unwind-protect
-	    (while (eq (read-event) repeat-repeat-char)
+	    (while (let ((evt (read-event))) ;FIXME: read-key maybe?
+                     ;; For clicks, we need to strip the meta-data to
+                     ;; check the underlying event name.
+                     (eq (or (car-safe evt) evt)
+                         (or (car-safe repeat-repeat-char)
+                             repeat-repeat-char)))
 	      (repeat repeat-arg))
 	  ;; Make sure `repeat-undo-count' is reset.
 	  (setq repeat-undo-count nil))