all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / 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

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.