opensubscriber
   Find in this group all groups
 
Unknown more information…

h : help-gnu-emacs@gnu.org 6 June 2012 • 3:35PM -0400

Re: defadvice and called-interactively-p
by Frank Fischer

REPLY TO AUTHOR
 
REPLY TO GROUP




On 2012-06-06, Eric Abrahamsen <eric@eric...> wrote:
> On Wed, Jun 06 2012, Frank Fischer wrote:
>
>> Hi,
>>
>> I have a problem when advising a function/command that uses
>> `called-interactively-p' but I have not been able to find a solution.
>>
>> Suppose you have a command calling `called-interactively-p'
>>
>> (defun myfunc ()
>>   (interactive)
>>   (message "MYFUNC %s" (called-interactively-p 'any)))
>>
>> Now, when executing M-x myfunc RET the message line shows "MYFUNC t"
>> as expected. But when that function is advised
>>
>> (defadvice myfunc (around around-myfunc activate)
>>   ad-do-it)
>
> While you're waiting for an answer from someone who really understand
> how all this works, I've found that I need to add an (interactive)
> statement to the defadvice form as well, in order to preserve
> interactive state. Give it a shot, anyway!

I've tried this and it does not make a difference. And according to the
elisp manual it should not do: 17.10 states

      The interactive form is present if the original function or some
      piece of advice specifies one.  
      
Anyway, the result is the same.

Frank



Bookmark with:

Delicious   Digg   reddit   Facebook   StumbleUpon

Related Messages

opensubscriber is not affiliated with the authors of this message nor responsible for its content.