]> git.eshelyaron.com Git - emacs.git/commitdiff
(vip-record-kbd-macro): correctly escapes `.' and `[' now.
authorMichael Kifer <kifer@cs.stonybrook.edu>
Sat, 14 Oct 1995 02:25:42 +0000 (02:25 +0000)
committerMichael Kifer <kifer@cs.stonybrook.edu>
Sat, 14 Oct 1995 02:25:42 +0000 (02:25 +0000)
lisp/emulation/viper-macs.el

index 0f0b0cdba7a4caf3550bd2433b0fc99fb2f1fec1..5b8db6a773f8310cb65d6c35a3a8121373fffb21 100644 (file)
@@ -395,7 +395,17 @@ If SCOPE is nil, the user is asked to specify the scope."
              (vip-save-string-in-file 
               (format "\n(vip-record-kbd-macro %S '%S %s '%S)"
                       (vip-display-macro macro-name)
-                      state macro-body scope) 
+                      state
+                      ;; if we don't let vector macro-body through %S,
+                      ;; the symbols `\.' `\[' etc will be converted into
+                      ;; characters, causing invalid read  error on recorded
+                      ;; macros in .vip.
+                      ;; I am not sure is macro-body can still be a string at
+                      ;; this point, but I am preserving this option anyway.
+                      (if (vectorp macro-body)
+                          (format "%S" macro-body)
+                        macro-body)
+                      scope) 
               vip-custom-file-name))
          
          (message msg)