GNU bug report logs - #3984
23.0.96; defadvice of call-interactively defeats interactive-p

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Thu, 30 Jul 2009 22:45:04 UTC

Severity: minor

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ryan <rct <at> thompsonclan.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 3984 <at> debbugs.gnu.org
Subject: bug#3984: 
Date: Thu, 19 Sep 2013 21:23:23 -0700
After a little more consideration, I think I know what the bug is. The 
goal of "advice--called-interactively-skip" is to skip all the 
advice-related stack frames of the called function, not advice-related 
stack frames for advice on call-interactively.

I also came up with an idea to address this issue: a second function 
added to called-interactively-p-functions that checks the current stack 
frame for equality to the unadvised form of call-interactively and if it 
finds it, skips past all the advice frames to the outermost call. This 
will make it so that advising call-interactively does not affect the 
return of called-interactively-p, but it will not fix the "innermost 
around advice" problem.

I'm trying to code up a solution now. I'll eventually find my way 
through the twisty maze of fencepost errors.

-Ryan




This bug report was last modified 11 years and 243 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.