aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Teirlinck <[email protected]>2004-12-08 01:10:13 +0000
committerLuc Teirlinck <[email protected]>2004-12-08 01:10:13 +0000
commitb680abcbeb4b5192c35a5602a8d6e9240ffdde74 (patch)
tree298ae96ae046711023c17bdd9cc539efc4e316cf
parentad136a7c3b310fa7240dd2adf62f23b454782bd0 (diff)
`edit-kbd-macro' is now bound to `C-x C-k e'.
(edmacro-finish-edit): Further update for keyboard macros that are lambda forms. (edmacro-sanitize-for-string): Correctly remove Meta modifier (as suggested by Kim Storm).
-rw-r--r--lisp/edmacro.el9
1 files changed, 5 insertions, 4 deletions
diff --git a/lisp/edmacro.el b/lisp/edmacro.el
index 0db09d7eeb..67be9f34a1 100644
--- a/lisp/edmacro.el
+++ b/lisp/edmacro.el
@@ -1,6 +1,6 @@
;;; edmacro.el --- keyboard macro editor
-;; Copyright (C) 1993, 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 2004 Free Software Foundation, Inc.
;; Author: Dave Gillespie <[email protected]>
;; Maintainer: Dave Gillespie <[email protected]>
@@ -28,7 +28,7 @@
;;; Usage:
;;
-;; The `C-x C-k' (`edit-kbd-macro') command edits a keyboard macro
+;; The `C-x C-k e' (`edit-kbd-macro') command edits a keyboard macro
;; in a special buffer. It prompts you to type a key sequence,
;; which should be one of:
;;
@@ -266,7 +266,8 @@ or nil, use a compact 80-column format."
(and b (commandp b) (not (arrayp b))
(not (kmacro-extract-lambda b))
(or (not (fboundp b))
- (not (arrayp (symbol-function b))))
+ (not (or (arrayp (symbol-function b))
+ (get b 'kmacro))))
(not (y-or-n-p
(format "Key %s is already defined; %s"
(edmacro-format-keys key 1)
@@ -655,7 +656,7 @@ The string represents the same events; Meta is indicated by bit 7.
This function assumes that the events can be stored in a string."
(setq seq (copy-sequence seq))
(loop for i below (length seq) do
- (when (< (aref seq i) 0)
+ (when (logand (aref seq i) 128)
(setf (aref seq i) (logand (aref seq i) 127))))
seq)