GNU bug report logs -
#3907
bad result for insert-kbd-macro
Previous Next
Reported by: Francesco Potorti` <pot <at> gnu.org>
Date: Thu, 23 Jul 2009 16:10:06 UTC
Severity: normal
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
Full log
Message #15 received at 3907 <at> emacsbugs.donarmstrong.com (full text, mbox):
>> I created a macro and called insert-kbd-macro on it. This is the
>> result:
>
>> (fset 'allegati
>> [?e ?\C-[ ?< ?\C-s ?t ?e ?x ?t ?/ ?h ?t ?m ?l ?\C-m ?\C-[ ?{ ?\C-[ ?{ ?\C-[ ?} ?\C-x ?q ?\C-[ ?x ?k ?e ?e ?p ?\C-m ?f ?i ?l ?e ?n ?a ?m ?e ?= ?\C-m ?\C-m ?\C-m ?\C-[ ?% ?. ?* ?f ?i ?l ?e ?n ?a ?m ?e ?= ?\" ?\\ ?( ?[ ?^ ?\" ?] ?+ ?\\ ?) ?\" ?\C-m ? ?[ ? ?\\ ?1 ? ?] ?\C-m ?! ?\C-m ?\C-m ?\C-m ?\C-x ?q ?\C-c ?\C-c ?o ?\C-[ ?\C-? ?i ?s ?i ?\C-m ?\C-[ ?p ? ?d ?\C-[ ?> up ?\C-c ?\C-c ?\C-m])
>
>> 1) first, if I go to the end of the macro and hit C-x C-e, it appears
>> that the sexp is not correctly evaluated, as the parser sees
>> unbalanced parentheses
>
>This is a bug in the emacs-lisp-mode, mostly. But indeed, the printer
>should also be more careful to escape the chars that cause problem for
>the emacs-lisp-mode (i.e. print ?\[ rather than ?[ in your above
>example).
>This said, IIUC the printer used in Emacs-23 does pay attention this
>problem and insert-kbd-macro gave me (for example):
>
> (setq last-kbd-macro
> [?a left ?\[])
>
>so the problem seems to be fixed in Emacs-23. Can you confirm?
Yes. In fact, I thought I had tried in Emacs 23, but by error I was
running Emacs 22...
>> 2) second, insert-kbd-macro used to write the strings between double
>> quotes, which is generally more readable and allows for easy editing;
>> I do not know wht it used the vector style here
>
>There's an `up' symbol in there, which couldn't fit in a string.
>In general an event is not a char any more (it used to be, back in the
>tty days when bytes and chars were the same thing), so a sequence of
>events should preferably always be represented as an array of events,
>rather than as a string (although, insert-kbd-macro still appears to use
>a string when possible).
Right, thank you for the explanation.
This bug report was last modified 15 years and 279 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.