]> code.delx.au - gnu-emacs/blobdiff - lisp/repeat.el
Some hi-lock doc
[gnu-emacs] / lisp / repeat.el
index e38442a434b3e6cc9751d9b3677dd1c0ecc022ee..4f46ee64285e2b3229772ca3056ea843aac79aa6 100644 (file)
@@ -1,6 +1,6 @@
 ;;; repeat.el --- convenient way to repeat the previous command  -*- lexical-binding: t -*-
 
-;; Copyright (C) 1998, 2001-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2001-2014 Free Software Foundation, Inc.
 
 ;; Author: Will Mengarini <seldon@eskimo.com>
 ;; Created: Mo 02 Mar 98
@@ -278,7 +278,7 @@ recently executed command not bound to an input event\"."
               (execute-kbd-macro last-repeatable-command))
           (call-interactively last-repeatable-command))))
     (when repeat-repeat-char
-      (set-temporary-overlay-map
+      (set-transient-map
        (let ((map (make-sparse-keymap)))
          (define-key map (vector repeat-repeat-char)
            (if (null repeat-message-function) 'repeat
@@ -289,6 +289,10 @@ recently executed command not bound to an input event\"."
                  (interactive)
                  (let ((repeat-message-function fun))
                    (setq this-command 'repeat)
+                  ;; Beware: messing with `real-this-command' is *bad*, but we
+                  ;; need it so `last-repeatable-command' can be recognized
+                  ;; later (bug#12232).
+                   (setq real-this-command 'repeat)
                    (call-interactively 'repeat))))))
          map)))))