Subject: bug#955 closed by Chong Yidong <[email-masked]> (Re: edmacro stores illegal macro)

From: [email-masked] (Emacs bug Tracking System)

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#955: edmacro stores illegal macro

It has been closed by Chong Yidong <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Chong Yidong <[email-masked]> by
replying to this email.

-- 
955: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=955
Emacs Bug Tracking System
Contact [email-masked] with problems
>From [email-masked] Wed Sep 10 14:52:40 2008
From: Chong Yidong <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Subject: Re: edmacro stores illegal macro
Date: Wed, 10 Sep 2008 17:55:42 -0400

> When I save the macro by typing `C-c C-c' in *Edit Macro*, edmacro
> doesn't store the macro correctly.

Thanks for reporting this problem.  I've checked in a similar fix to
what you proposed.

>From [email-masked] Wed Sep 10 01:20:23 2008
Date: Wed, 10 Sep 2008 17:25:08 +0900
From: [email-masked]
To: [email-masked]
Subject: edmacro stores illegal macro

Hi, all.

When I save the macro by typing `C-c C-c' in *Edit Macro*, edmacro doesn't store the macro correctly.

Reproduce:
  M-: (setq last-kbd-macro
        [?\M-x ?e ?v ?a ?l ?- ?e ?x ?p ?r ?e ?s ?s ?i ?o ?n ?\C-m])
  C-x C-k e RET C-c C-c
  M-x insert-kbd-macro
  => (setq last-kbd-macro
       [<eval-expression ?>]) ;; this macro is incorrect
  
I've fixed this problem like that:

--- edmacro.el.orig     2008-09-10 17:01:42.000000000 +0900
+++ edmacro.el  2008-09-10 17:04:05.000000000 +0900
@@ -697,7 +697,7 @@
             (times 1)
             key)
        ;; Try to catch events of the form "<as df>".
-       (if (string-match "^<[^ >\t\n\f][^>\t\n\f]*>" word)
+       (if (string-match "^<[^ >\t\n\f][^>\t\n\f]*>?>" word)
            (setq word (match-string 0 word)
                  pos (+ word-beg (match-end 0)))
          (setq word (substring string word-beg word-end)

After applying this patch, `M-x insert-kbd-macro' works fine.

  M-x insert-kbd-macro
  => (setq last-kbd-macro
       [?\M-x ?e ?v ?a ?l ?- ?e ?x ?p ?r ?e ?s ?s ?i ?o ?n ?\C-m])
       ;; now correct

Thanks.

MATSUYAMA