all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Heerdegen <michael_heerdegen@web.de>
To: Sam Nirvana <samnirvana@linux.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: macro atoms formatting
Date: Thu, 19 Jan 2017 05:31:55 +0100	[thread overview]
Message-ID: <87efzzd610.fsf@web.de> (raw)
In-Reply-To: <o5lfjt$9j9$1@gioia.aioe.org> (Sam Nirvana's message of "Tue, 17 Jan 2017 16:09:33 +0000 (UTC)")

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	other threads:[~2017-01-19  4:31 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-17 16:09 macro atoms formatting Sam Nirvana
2017-01-19  4:31 ` Michael Heerdegen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87efzzd610.fsf@web.de \
    --to=michael_heerdegen@web.de \
    --cc=help-gnu-emacs@gnu.org \
    --cc=samnirvana@linux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.