help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: macro atoms formatting


From: Michael Heerdegen
Subject: Re: macro atoms formatting
Date: Thu, 19 Jan 2017 05:31:55 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.91 (gnu/linux)

Sam Nirvana <samnirvana@linux.org> writes:

> When I save a macro with M-x insert-kbd-macro sometimes Emacs prints a 
> well-formatted Lisp function:
>
>     (fset 'amacro
>         (lambda (&optional arg)
>         "Keyboard macro"
>         (interactive "p")
>         (kmacro-exec-ring-item (quote ("<li></li> and other keystrokes..."
>         0 "%d")) arg)))
>
> sometimes the code is formatted in a quite esoteric form:
>
>     (fset 'amacro [?\M-! ?  ?x ?m ... and many other ?-sequences... ?\C-
> m])

Even if it doesn't look like, this is legal Lisp code.


> apparently without a reason.
>
> How can I oblige Emacs to format the macro in the first way?

(BTW, I only answer because I didn't see any reply to your question yet
and I learned that no matter what I write someone tries to find the
mistakes in what I said, so this is again just a teaser for those people
to answer.  Here we go...)

I guess it depends on the keyboard macro, whether it uses "meta
keyboard-macro" stuff like counters etc...dunno.  But in general, AFAICT
keyboard macros are not aware of the Lisp they cause to run - with other
words, they are conceptually only recorded key sequences.  So in some
special cases you might get a lisp wrapper when using special stuff, and
a plain key sequence else.  There are ways to find the commands these
keys cause to run, but I'm not sure whether there is something to
generate nice looking lisp code automatically (I seldom use kmacros).


Michael.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]