unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* macro atoms formatting
@ 2017-01-17 16:09 Sam Nirvana
  2017-01-19  4:31 ` Michael Heerdegen
  0 siblings, 1 reply; 2+ messages in thread
From: Sam Nirvana @ 2017-01-17 16:09 UTC (permalink / raw)
  To: help-gnu-emacs

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])

apparently without a reason.

How can I oblige Emacs to format the macro in the first way?


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: macro atoms formatting
  2017-01-17 16:09 macro atoms formatting Sam Nirvana
@ 2017-01-19  4:31 ` Michael Heerdegen
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Heerdegen @ 2017-01-19  4:31 UTC (permalink / raw)
  To: Sam Nirvana; +Cc: help-gnu-emacs

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.



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-01-19  4:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-17 16:09 macro atoms formatting Sam Nirvana
2017-01-19  4:31 ` Michael Heerdegen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).