* repeat.el (repeat): Allow repeating when the last event is a click.
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 11 Sep 2010 18:23:45 +0000 (20:23 +0200)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 11 Sep 2010 18:23:45 +0000 (20:23 +0200)
Suggested by Drew Adams (bug#6256).

lisp/ChangeLog
lisp/repeat.el

index 7ab457a..ce8d515 100644 (file)
@@ -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):
index edebbe2..9abe15c 100644 (file)
@@ -335,7 +335,12 @@ recently executed command not bound to an input event\"."
        (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))