From: "Drew Adams" <drew.adams@oracle.com>
To: <emacs-pretest-bug@gnu.org>
Subject: bug#3984: 23.0.96; defadvice of call-interactively defeats interactive-p
Date: Thu, 30 Jul 2009 15:37:50 -0700 [thread overview]
Message-ID: <20E00C7675E64356BF2F0B2A7E0ABDB1@us.oracle.com> (raw)
emacs -Q
Load (eval) this:
(defun foo ()
(interactive)
(if (interactive-p)
(message "INT")
(message "NOT")))
(global-set-key "\C-l" 'foo)
(defadvice call-interactively (after foo-advice disable activate)
(message "AFTER"))
(ad-enable-advice 'call-interactively 'after 'foo-advice)
(ad-activate 'call-interactively)
Then hit `C-l'.
In *Messages*, you will see this:
NOT
AFTER
Even though `foo' is called interactively, `interactive-p' returns
nil. Using `called-interactively-p' in place of `interactive-p' gives
the same thing. Same thing no matter how `foo' is called interactively
(e.g. M-x foo, M-: (call-interactively 'foo)).
Seems like a bug, but I realize that advising primitives is iffy, and
perhaps advising `call-interactively' is even more iffy.
However, advising `call-interactively' seems to work fine otherwise -
this is the only anomaly I've come across.
Can someone please explain why this happens, or how to work around it?
In GNU Emacs 23.0.96.1 (i386-mingw-nt5.1.2600)
of 2009-07-09 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'
next reply other threads:[~2009-07-30 22:37 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-30 22:37 Drew Adams [this message]
2009-07-31 1:58 ` bug#3984: 23.0.96; defadvice of call-interactively defeats interactive-p Stefan Monnier
2009-07-31 14:19 ` Drew Adams
2009-07-31 19:31 ` Stefan Monnier
2009-07-31 20:04 ` Drew Adams
2011-10-10 6:00 ` Kai Tetzlaff
2011-10-11 14:26 ` Drew Adams
2011-10-11 15:46 ` Stefan Monnier
2011-10-11 16:05 ` Drew Adams
2013-09-10 20:29 ` Christopher Wellons
2013-09-11 0:29 ` Stefan Monnier
2013-09-13 8:56 ` bug#3984: Fix for #3984 Ryan
2013-09-13 13:18 ` Stefan Monnier
2013-09-13 18:30 ` Ryan
2013-09-13 19:27 ` Ryan
2013-09-13 21:02 ` Stefan Monnier
2013-09-17 3:18 ` Ryan
2013-09-17 13:10 ` Stefan Monnier
2013-09-17 17:22 ` bug#3984: Ryan
2013-09-18 1:46 ` bug#3984: Stefan Monnier
2013-09-18 23:30 ` bug#3984: Ryan
2013-09-19 0:47 ` bug#3984: Ryan
2013-09-19 3:38 ` bug#3984: Stefan Monnier
2013-09-19 8:06 ` bug#3984: Ryan
2013-09-19 19:23 ` bug#3984: Ryan
2013-09-19 20:59 ` bug#3984: Stefan Monnier
2013-09-19 21:59 ` bug#3984: Ryan
2013-09-20 4:23 ` bug#3984: Ryan
2013-09-20 4:58 ` bug#3984: Fix case where call-interactively is advised Ryan
2013-09-20 5:03 ` bug#3984: Ryan
2013-09-20 14:35 ` bug#3984: Stefan Monnier
2013-09-20 16:54 ` bug#3984: Ryan
2013-09-20 16:56 ` bug#3984: Ryan
2013-09-20 14:54 ` bug#3984: Stefan Monnier
2013-09-20 16:50 ` bug#3984: Ryan
2013-09-20 19:59 ` bug#3984: Stefan Monnier
2013-09-13 10:24 ` bug#3984: bug#123: Potential fix Ryan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20E00C7675E64356BF2F0B2A7E0ABDB1@us.oracle.com \
--to=drew.adams@oracle.com \
--cc=3984@emacsbugs.donarmstrong.com \
--cc=emacs-pretest-bug@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.