Subject: 24.0.50; "debug-on-entry: Definition of ... is not a list"

From: "Drew Adams" <[email-masked]>
Date: Wed, 21 Sep 2011 20:48:20 -0700

emacs -Q
 
Load file fuzzy.el, available in the tar or zip here:
http://cx4a.org/software/auto-complete/#Downloads
(The file is small.)
 
M-x debug-on-entry isearch-message-prefix RET
 
raises this error:
 
debug-on-entry: Definition of isearch-message-prefix is not a list
 
The file is contains this advice:
 
(defadvice isearch-message-prefix (after fuzzy-isearch-message-prefix activate)
  (if fuzzy-isearch
      (setq ad-return-value (concat fuzzy-isearch-prefix ad-return-value))
    ad-return-value))
 
I seem to vaguely recall some problem associated with lexbind, advice,
and the debugger (and perhaps byte-compiling?).  But a search of the
Elisp manual and some bug reports turned up nothing.  I thought that
such problems had already been ironed out, but perhaps not.
 
It's very hard to find the cause of such an error - even just locating
the code that leads to it is not easy.  And it's not clear to me now
what a user can/should do about it.  What's the deal?  If there is
something that users must not do or must avoid, then please document it.
 
In GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600)
 of 2011-09-19 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.5) --no-opt'