GNU bug report logs -
#3984
23.0.96; defadvice of call-interactively defeats interactive-p
Previous Next
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
[Message part 1 (text/plain, inline)]
Here is a patch that applies over my previous patch and fixes
"advice-test-called-interactively-p-4", which tests whether
called-interactively-p returns the correct result when
call-interactively is advised.
On 9/19/13 9:23 PM, Ryan wrote:
> 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
[fix-advised-call-interactively.diff (text/plain, attachment)]
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.