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
> From: Kai Tetzlaff Sent: Sunday, October 09, 2011 11:00 PM
>
> I'm using icicles and just ran into this bug with emacs compiled from
> bzr. The function count-words-region has been changed to use
> called-interactively-p to check for interactive use. As reported, the
> check fails when icicles is turned on. As there are >300 places under
> the emacs lisp/ directory alone which use called-interactively-p, it
> would really be great, if it could be made more robust.
For info, this is the defadvice that exposes the `called-interactively' bug
(#3984):
(defadvice call-interactively (after icicle-save-to-history
disable activate)
"Save command to `icicle-interactive-history'."
;; If command's input is not a parameterized (e.g. mouse)
;; event, record it.
(let* ((fn (ad-get-arg 0))
(int (interactive-form fn)))
(when (and (symbolp fn)
(consp int)
(or (not (stringp (cadr int)))
(string= (cadr int) "")
(not (eq ?e (aref (cadr int) 0)))))
(pushnew (symbol-name fn) icicle-interactive-history))))
This behavior is optional, so Icicles users can turn it off (it is off by
default) via option `icicle-populate-interactive-history-flag'. And the doc
string of that option refers to Emacs bug #3948. Still, it would be good to get
this Emacs bug fixed - especially, as Kai remarks, since the Emacs source code
now uses `called-interactively-p' all over the place.
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.