bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#3984: Fix case where call-interactively is advised


From: Ryan
Subject: bug#3984: Fix case where call-interactively is advised
Date: Thu, 19 Sep 2013 21:58:29 -0700
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130801 Thunderbird/17.0.8

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

Attachment: fix-advised-call-interactively.diff
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]