[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r112181: * kmacro.el (kmacro-to-regis
From: |
Leo Liu |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r112181: * kmacro.el (kmacro-to-register): New command. |
Date: |
Fri, 29 Mar 2013 22:53:27 +0800 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 112181
fixes bug: http://debbugs.gnu.org/14071
committer: Leo Liu <address@hidden>
branch nick: trunk
timestamp: Fri 2013-03-29 22:53:27 +0800
message:
* kmacro.el (kmacro-to-register): New command.
(kmacro-execute-from-register): New function.
(kmacro-keymap): Bind to 'x'.
modified:
lisp/ChangeLog
lisp/kmacro.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2013-03-29 14:23:24 +0000
+++ b/lisp/ChangeLog 2013-03-29 14:53:27 +0000
@@ -1,3 +1,9 @@
+2013-03-29 Leo Liu <address@hidden>
+
+ * kmacro.el (kmacro-to-register): New command.
+ (kmacro-execute-from-register): New function.
+ (kmacro-keymap): Bind to 'x'. (Bug#14071)
+
2013-03-29 Stefan Monnier <address@hidden>
* mpc.el: Use defvar-local and setq-local.
=== modified file 'lisp/kmacro.el'
--- a/lisp/kmacro.el 2013-01-01 09:11:05 +0000
+++ b/lisp/kmacro.el 2013-03-29 14:53:27 +0000
@@ -202,6 +202,7 @@
;; naming and binding
(define-key map "b" 'kmacro-bind-to-key)
(define-key map "n" 'kmacro-name-last-macro)
+ (define-key map "x" 'kmacro-to-register)
map)
"Keymap for keyboard macro commands.")
(defalias 'kmacro-keymap kmacro-keymap)
@@ -836,6 +837,26 @@
(put symbol 'kmacro t))
+(defun kmacro-execute-from-register (k)
+ (let ((last-kbd-macro k))
+ (kmacro-call-macro current-prefix-arg)))
+
+(defun kmacro-to-register (r)
+ "Store the last keyboard macro in register R."
+ (interactive
+ (progn
+ (or last-kbd-macro (error "No keyboard macro defined"))
+ (list (read-char "Save to register: "))))
+ (set-register r (registerv-make
+ last-kbd-macro
+ :jump-func 'kmacro-execute-from-register
+ :print-func (lambda (k)
+ (princ (format "a keyboard macro:\n %s"
+ (format-kbd-macro k))))
+ :insert-func (lambda (k)
+ (insert (format-kbd-macro k))))))
+
+
(defun kmacro-view-macro (&optional _arg)
"Display the last keyboard macro.
If repeated, it shows previous elements in the macro ring."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r112181: * kmacro.el (kmacro-to-register): New command.,
Leo Liu <=