GNU bug report logs -
#14206
24.3.50; doc string of `execute-kbd-macro'
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Mon, 15 Apr 2013 00:39:01 UTC
Severity: minor
Found in version 24.3.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Date: Fri, 29 Apr 2016 01:29:17 +0200
> Cc: 14206 <at> debbugs.gnu.org
>
> Lars Ingebrigtsen <larsi <at> gnus.org> writes:
>
> > Kevin Rodgers <kevin.d.rodgers <at> gmail.com> writes:
> >
> >>> (defun foo () "foo")
> >>>
> >>> (execute-kbd-macro 'foo)
> >>>
> >>> ->
> >>>
> >>> Debugger entered--Lisp error: (error "Keyboard macros must be
> >>> strings or vectors")
> >>> execute-kbd-macro(foo)
> >>> eval((execute-kbd-macro (quote foo)) nil)
> >
> > So is the "If MACRO is a symbol, its function definition is used." thing
> > wrong?
>
> This is what Fexecute_kbd_macro does:
>
> final = indirect_function (macro);
> if (!STRINGP (final) && !VECTORP (final))
> error ("Keyboard macros must be strings or vectors");
>
> In what contexts can a function end up being a string? Uhm... If
> somebody has said
>
> (fset 'foo "bar")
>
> ?
No, I think (fset 'foo "\M-:").
IOW, an indirect function could produce a macro, right?
In general, keyboard macros produce strings like that, which I'm sure
you know, so I'm not sure if I understand your question.
This bug report was last modified 3 years and 121 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.