Subject: 24.0.50; `tramp-compat.el' in *Help* when it doesn't belong (?)
From: "Drew Adams" <[email-masked]>
To: <[email-masked]>
Date: Tue, 4 Oct 2011 09:55:54 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

I'm seeing this in my own setup.  I don't have the time to track it down
further.  Maybe you can reproduce it for emacs -Q (maybe not).  Maybe
you can understand the problem from the description here (maybe not).
 
I do `C-h f read-char-by-name', and I see this:
 
 read-char-by-name is an alias for `icicle-read-char-by-name' in
 `tramp-compat.el'.
 
I expect to see that, except that the file where
`icicle-read-char-by-name' is defined is `icicles-fn.el', not
`tramp-compat.el'.  No idea where the latter comes from.  A user
clicking the `tramp-compat.el' link will go to that file and have no
clue about either `read-char-by-name' or `icicle-read-char-by-name'!
 
And if a user clicks `icicle-read-char-by-name' s?he sees only this -
still no mention of `icicles-fn.el':
 
 icicle-read-char-by-name is a compiled Lisp function.
 
The defaliasing is done dynamically, and that is perhaps what throws
things off.  In `icicles-mode.el', the defaliasing code is this:
 
(defun icicle-redefine-standard-functions ()
  (when (fboundp 'icicle-completing-read)
    (dolist (fn  icicle-functions-to-redefine)
      (when (fboundp (intern (concat "old-" (symbol-name fn))))
        (defalias fn (intern (concat "icicle-" (symbol-name fn))))))))
 
I can understand that `C-h f' would not be able to figure out which file
the defaliasing was done in.  But what the help seems to say is that
`icicle-read-char-by-name' is defined in `tramp-compat.el', and it is
not (nor is `read-char-by-name').  There is nothing in `tramp-compat.el'
about `read-char'.
 
I would expect that the help could figure out where
`icicle-read-char-by-name' is defined, even if it cannot figure out
where `read-char-by-name' gets defaliased to 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'