Subject: Re: [Orgmode] 23.0.94; [PATCH] org-store-link broken within kbd macros

From: Andreas Seltenreich <[email-masked]>
Date: Wed, 24 Jun 2009 14:39:10 +0200

[Sorry about setting Cc instead X-Debbugs-Cc and causing the duplicate
report.  I set a proper Mail-Followup-To header now.]

Carsten Dominik writes:

> This looks to me as if it was a bug in keyboard macro execution,
> which should call functions interactively.

The docstring for interactive-p has the following paragraph:

,----[ C-h f interactive-p RET ]
| The only known proper use of `interactive-p' is in deciding whether to
| display a helpful message, or how to display it.  If you're thinking
| of using it for any other purpose, it is quite likely that you're
| making a mistake.  Think: what do you want to do when the command is
| called from a keyboard macro?
`----

The elisp reference states:

,----[ (info "(elisp)Distinguish Interactive") ]
|  -- Function: interactive-p
|      This function returns `t' if the containing function (the one
|      whose code includes the call to `interactive-p') was called in
|      direct response to user input.  This means that it was called with
|      the function `call-interactively', and that a keyboard macro is
|      not running, and that Emacs is not running in batch mode.
`----

This sounds like interactive-p is working as documented and the
excplicit check I proposed would be neccessary.

Thanks,
andreas