Subject: 24.3.50; incorrect doc from `C-h f' when use `defadvice' with `before'

From: "Drew Adams" <[email-masked]>
Date: Wed, 27 Mar 2013 10:24:10 -0700

emacs -Q
 
Evaluate this sexp:
 
(defadvice query-replace
 (before respect-search/replace-region-as-default-flag activate)
  nil
  (interactive
   (let ((common
          (query-replace-read-args
           (concat "Query replace"
                   (and current-prefix-arg  " word")
                   (and transient-mark-mode  mark-active
                        (not search/replace-region-as-default-flag)
                        " in region"))
           nil)))
     (list (nth 0 common) (nth 1 common) (nth 2 common)
           (and transient-mark-mode  mark-active  (region-beginning))
           (and transient-mark-mode  mark-active  (region-end))))))
 
Then C-h f query-replace.  You see this as part of the description:
 
 :around advice: `ad-Advice-query-replace'
 
1. It should be :before, not :around, no?
(When you click on that link it confirms that it is `Before-advice'.)
 
2. How can you tell where that advice is defined?  It doesn't matter
whether you put that defadvice in a file foo.el and load that.  Neither
C-h f query-replace nor clicking `ad-Advice-query-replace' in that
description tells you anything about where the actual advice
`respect-search/replace-region-as-default-flag' is defined.

In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
 of 2013-03-23 on VBOX
Bzr revision: 112115 [email-masked]
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.7) --no-opt --enable-checking --cflags
 -IC:/emacs/libs/libXpm-3.5.10/include -IC:/emacs/libs/libXpm-3.5.10/src
 -IC:/emacs/libs/libpng-dev_1.4.3-1_win32/include
 -IC:/emacs/libs/zlib-dev_1.2.5-2_win32/include
 -IC:/emacs/libs/giflib-4.1.4-1-lib/include
 -IC:/emacs/libs/jpeg-6b-4-lib/include
 -IC:/emacs/libs/tiff-3.8.2-1-lib/include
 -IC:/emacs/libs/libxml2-2.7.8-w32-bin/include/libxml2
 -IC:/emacs/libs/gnutls-3.1.10-w32/include
 -IC:/emacs/libs/libiconv-1.14-2-mingw32-dev/include'