GNU bug report logs - #9669
24.0.50; `tramp-compat.el' in *Help* when it doesn't belong (?)

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Tue, 4 Oct 2011 16:58:01 UTC

Severity: minor

Tags: wontfix

Found in version 24.0.50

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "Drew Adams" <drew.adams <at> oracle.com>
To: "'Stefan Monnier'" <monnier <at> iro.umontreal.ca>
Cc: 9669 <at> debbugs.gnu.org
Subject: bug#9669: 24.0.50; `tramp-compat.el' in *Help* when it doesn't belong (?)
Date: Wed, 5 Oct 2011 10:06:55 -0700
> > It is called when you turn on minor mode `icicle-mode'.
> >   icy-mode(1)
> 
> I'm not sure what that backtrace was about (the tip was different from
> the other one, for example),

I had hit `d' once, thinking that the info shown after `d' would be more
helpful.  That is the only difference from the previous backtrace I sent.

> and it still doesn't seem to include the beginning.

As I've tried to say a couple times now, it does not matter what calls
`icy-mode' (aka `icicle-mode') to turn on Icicle mode (the result is the same).
That's why I trimmed off the actual call to it.

> Basically, I'd expect this backtrace to have something to do 
> with Tramp, otherwise I have no clue how the defalias gets
> attributed to tramp-compat.el.

No, there is nothing about "tramp" in the backtrace.  I already looked for that.
I have no clue either.

I've included the entire backtrace again (below), this time as soon as the
debugger is entered, rather than after hitting `d' once, and this time including
the call to `execute-extended-command' that invokes `icy-mode' to enter Icicle
mode.

> > In this example, `icicle-display-completion-list' would be the file
> > that Emacs thinks is defined in `tramp-compat.el'.
> 
> Huh?  You said Emacs told you:
>  icicle-read-char-by-name is a compiled Lisp function.
> I.e. the actual function has no associated file (rather than being
> associated to tramp-compat.el), while the defalias is associated with
> tramp-compat.el.

Correct.  That's what I meant, but I misspoke.  In that example,
`icicle-display-completion-list' is the function that Emacs thinks has no
associated file, and `display-completion-list' is the function Emacs thinks is
defined in `tramp-compat.el'.

In case it helps, after toggling Icicle mode OFF, this is what the help buffer
says:

 read-char-by-name is an alias for `old-read-char-by-name' in
 `tramp-compat.el'.

Again, that's correct except for the file name.  But this time, if you click the
function name it _correctly_ shows this:

 old-read-char-by-name is a compiled Lisp function in `icicles-fn.el'.

So the second problem (no file name) does not occur in this case.  But the first
problem (file = tramp-compat.el) is still there.  And yes, this is repeatable
(turning on/off Icicle mode).

HTH.

--------------

Debugger entered: nil
  (progn (debug) (defalias fn (intern (concat "icicle-" (symbol-name fn)))))
  (if (fboundp (intern (concat "old-" (symbol-name fn)))) (progn (debug)
(defalias fn (intern (concat "icicle-" (symbol-name fn))))))
  (when (fboundp (intern (concat "old-" (symbol-name fn)))) (debug) (defalias fn
(intern (concat "icicle-" (symbol-name fn)))))
  (while --cl-dolist-temp-- (setq fn (car --cl-dolist-temp--)) (when (fboundp
(intern (concat "old-" (symbol-name fn)))) (debug) (defalias fn (intern (concat
"icicle-" (symbol-name fn))))) (setq --cl-dolist-temp-- (cdr
--cl-dolist-temp--)))
  (let ((--cl-dolist-temp-- icicle-functions-to-redefine) fn) (while
--cl-dolist-temp-- (setq fn (car --cl-dolist-temp--)) (when (fboundp (intern
(concat "old-" (symbol-name fn)))) (debug) (defalias fn (intern (concat
"icicle-" (symbol-name fn))))) (setq --cl-dolist-temp-- (cdr
--cl-dolist-temp--))))
  (catch (quote --cl-block-nil--) (let ((--cl-dolist-temp--
icicle-functions-to-redefine) fn) (while --cl-dolist-temp-- (setq fn (car
--cl-dolist-temp--)) (when (fboundp (intern (concat "old-" (symbol-name fn))))
(debug) (defalias fn (intern (concat "icicle-" (symbol-name fn))))) (setq
--cl-dolist-temp-- (cdr --cl-dolist-temp--)))))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--cl-dolist-temp--
icicle-functions-to-redefine) fn) (while --cl-dolist-temp-- (setq fn (car
--cl-dolist-temp--)) (when (fboundp (intern (concat "old-" ...))) (debug)
(defalias fn (intern (concat "icicle-" ...)))) (setq --cl-dolist-temp-- (cdr
--cl-dolist-temp--))))))
  (block nil (let ((--cl-dolist-temp-- icicle-functions-to-redefine) fn) (while
--cl-dolist-temp-- (setq fn (car --cl-dolist-temp--)) (when (fboundp (intern
(concat "old-" (symbol-name fn)))) (debug) (defalias fn (intern (concat
"icicle-" (symbol-name fn))))) (setq --cl-dolist-temp-- (cdr
--cl-dolist-temp--)))))
  (dolist (fn icicle-functions-to-redefine) (when (fboundp (intern (concat
"old-" (symbol-name fn)))) (debug) (defalias fn (intern (concat "icicle-"
(symbol-name fn))))))
  (progn (dolist (fn icicle-functions-to-redefine) (when (fboundp (intern
(concat "old-" (symbol-name fn)))) (debug) (defalias fn (intern (concat
"icicle-" (symbol-name fn)))))))
  (if (fboundp (quote icicle-completing-read)) (progn (dolist (fn
icicle-functions-to-redefine) (when (fboundp (intern (concat "old-" (symbol-name
fn)))) (debug) (defalias fn (intern (concat "icicle-" (symbol-name fn))))))))
  (when (fboundp (quote icicle-completing-read)) (dolist (fn
icicle-functions-to-redefine) (when (fboundp (intern (concat "old-" (symbol-name
fn)))) (debug) (defalias fn (intern (concat "icicle-" (symbol-name fn)))))))
  icicle-redefine-standard-functions()
  (cond (icicle-mode (icicle-define-icicle-maps) (icicle-bind-other-keymap-keys)
(add-hook (quote minibuffer-setup-hook) (quote icicle-minibuffer-setup))
(add-hook (quote minibuffer-exit-hook) (quote icicle-cancel-Help-redirection))
(add-hook (quote minibuffer-exit-hook) (quote icicle-restore-region-face))
(add-hook (quote minibuffer-exit-hook) (quote icicle-unhighlight-lighter))
(add-hook (quote icicle-post-command-hook) (quote icicle-activate-mark) (quote
append)) (add-hook (quote completion-setup-hook) (quote icicle-set-calling-cmd)
(quote append)) (when icicle-customize-save-flag (add-hook (quote
kill-emacs-hook) (quote icicle-command-abbrev-save))) (add-hook (quote
comint-mode-hook) (quote icicle-comint-hook-fn)) (add-hook (quote
compilation-mode-hook) (quote icicle-compilation-hook-fn)) (add-hook (quote
compilation-minor-mode-hook) (quote icicle-compilation-hook-fn))
(icicle-undo-std-completion-faces) (icicle-redefine-std-completion-fns)
(icicle-redefine-standard-functions) (icicle-redefine-standard-options) (when
(ad-find-some-advice (quote describe-face) (quote before) (quote
icicle-respect-WYSIWYG)) (ad-enable-advice (quote describe-face) (quote before)
(quote icicle-respect-WYSIWYG))) (when (fboundp (quote
minibuffer-depth-indicate-mode)) (minibuffer-depth-indicate-mode 99)) (if
icicle-menu-items-to-history-flag (add-hook (quote pre-command-hook) (quote
icicle-add-menu-item-to-cmd-history)) (remove-hook (quote pre-command-hook)
(quote icicle-add-menu-item-to-cmd-history))) (when (> emacs-major-version 22)
(when icicle-populate-interactive-history-flag (ad-enable-advice (quote
call-interactively) (quote after) (quote icicle-save-to-history))) (ad-activate
(quote call-interactively))) (dolist (fn icicle-inhibit-advice-functions) (when
(and (fboundp fn) (ad-is-active fn)) (push (cons fn (ad-copy-advice-info fn))
icicle-advice-info-list) (ad-deactivate fn)))) (t (makunbound (quote
icicle-mode-map)) (icicle-restore-other-keymap-keys) (remove-hook (quote
minibuffer-setup-hook) (quote icicle-minibuffer-setup)) (remove-hook (quote
minibuffer-exit-hook) (quote icicle-cancel-Help-redirection)) (remove-hook
(quote minibuffer-exit-hook) (quote icicle-restore-region-face)) (remove-hook
(quote icicle-post-command-hook) (quote icicle-activate-mark)) (remove-hook
(quote pre-command-hook) (quote icicle-top-level-prep)) (remove-hook (quote
pre-command-hook) (quote icicle-run-icicle-pre-command-hook) t) (remove-hook
(quote post-command-hook) (quote icicle-run-icicle-post-command-hook) t)
(remove-hook (quote completion-setup-hook) (quote icicle-set-calling-cmd))
(remove-hook (quote kill-emacs-hook) (quote icicle-command-abbrev-save))
(remove-hook (quote comint-mode-hook) (quote icicle-comint-hook-fn))
(remove-hook (quote compilation-mode-hook) (quote icicle-compilation-hook-fn))
(remove-hook (quote compilation-minor-mode-hook) (quote
icicle-compilation-hook-fn)) (icicle-restore-std-completion-fns)
(icicle-restore-standard-functions) (icicle-restore-standard-options) (when
(ad-find-some-advice (quote describe-face) (quote before) (quote
icicle-respect-WYSIWYG)) (ad-disable-advice (quote describe-face) (quote before)
(quote icicle-respect-WYSIWYG))) (when (fboundp (quote
minibuffer-depth-indicate-mode)) (minibuffer-depth-indicate-mode -99))
(remove-hook (quote pre-command-hook) (quote
icicle-add-menu-item-to-cmd-history)) (when (> emacs-major-version 22)
(ad-disable-advice (quote call-interactively) (quote after) (quote
icicle-save-to-history)) (ad-activate (quote call-interactively))) (dolist (fn
icicle-inhibit-advice-functions) (let ((info (memq fn icicle-advice-info-list)))
(when (and (fboundp fn) info) (ad-set-advice-info fn info) (when (ad-is-active
fn) (ad-activate fn)))))))
  (let ((last-message (current-message))) (setq icicle-mode (if (eq arg (quote
toggle)) (not icicle-mode) (> (prefix-numeric-value arg) 0))) (cond (icicle-mode
(icicle-define-icicle-maps) (icicle-bind-other-keymap-keys) (add-hook (quote
minibuffer-setup-hook) (quote icicle-minibuffer-setup)) (add-hook (quote
minibuffer-exit-hook) (quote icicle-cancel-Help-redirection)) (add-hook (quote
minibuffer-exit-hook) (quote icicle-restore-region-face)) (add-hook (quote
minibuffer-exit-hook) (quote icicle-unhighlight-lighter)) (add-hook (quote
icicle-post-command-hook) (quote icicle-activate-mark) (quote append)) (add-hook
(quote completion-setup-hook) (quote icicle-set-calling-cmd) (quote append))
(when icicle-customize-save-flag (add-hook (quote kill-emacs-hook) (quote
icicle-command-abbrev-save))) (add-hook (quote comint-mode-hook) (quote
icicle-comint-hook-fn)) (add-hook (quote compilation-mode-hook) (quote
icicle-compilation-hook-fn)) (add-hook (quote compilation-minor-mode-hook)
(quote icicle-compilation-hook-fn)) (icicle-undo-std-completion-faces)
(icicle-redefine-std-completion-fns) (icicle-redefine-standard-functions)
(icicle-redefine-standard-options) (when (ad-find-some-advice (quote
describe-face) (quote before) (quote icicle-respect-WYSIWYG)) (ad-enable-advice
(quote describe-face) (quote before) (quote icicle-respect-WYSIWYG))) (when
(fboundp (quote minibuffer-depth-indicate-mode)) (minibuffer-depth-indicate-mode
99)) (if icicle-menu-items-to-history-flag (add-hook (quote pre-command-hook)
(quote icicle-add-menu-item-to-cmd-history)) (remove-hook (quote
pre-command-hook) (quote icicle-add-menu-item-to-cmd-history))) (when (>
emacs-major-version 22) (when icicle-populate-interactive-history-flag
(ad-enable-advice (quote call-interactively) (quote after) (quote
icicle-save-to-history))) (ad-activate (quote call-interactively))) (dolist (fn
icicle-inhibit-advice-functions) (when (and (fboundp fn) (ad-is-active fn))
(push (cons fn (ad-copy-advice-info fn)) icicle-advice-info-list) (ad-deactivate
fn)))) (t (makunbound (quote icicle-mode-map))
(icicle-restore-other-keymap-keys) (remove-hook (quote minibuffer-setup-hook)
(quote icicle-minibuffer-setup)) (remove-hook (quote minibuffer-exit-hook)
(quote icicle-cancel-Help-redirection)) (remove-hook (quote
minibuffer-exit-hook) (quote icicle-restore-region-face)) (remove-hook (quote
icicle-post-command-hook) (quote icicle-activate-mark)) (remove-hook (quote
pre-command-hook) (quote icicle-top-level-prep)) (remove-hook (quote
pre-command-hook) (quote icicle-run-icicle-pre-command-hook) t) (remove-hook
(quote post-command-hook) (quote icicle-run-icicle-post-command-hook) t)
(remove-hook (quote completion-setup-hook) (quote icicle-set-calling-cmd))
(remove-hook (quote kill-emacs-hook) (quote icicle-command-abbrev-save))
(remove-hook (quote comint-mode-hook) (quote icicle-comint-hook-fn))
(remove-hook (quote compilation-mode-hook) (quote icicle-compilation-hook-fn))
(remove-hook (quote compilation-minor-mode-hook) (quote
icicle-compilation-hook-fn)) (icicle-restore-std-completion-fns)
(icicle-restore-standard-functions) (icicle-restore-standard-options) (when
(ad-find-some-advice (quote describe-face) (quote before) (quote
icicle-respect-WYSIWYG)) (ad-disable-advice (quote describe-face) (quote before)
(quote icicle-respect-WYSIWYG))) (when (fboundp (quote
minibuffer-depth-indicate-mode)) (minibuffer-depth-indicate-mode -99))
(remove-hook (quote pre-command-hook) (quote
icicle-add-menu-item-to-cmd-history)) (when (> emacs-major-version 22)
(ad-disable-advice (quote call-interactively) (quote after) (quote
icicle-save-to-history)) (ad-activate (quote call-interactively))) (dolist (fn
icicle-inhibit-advice-functions) (let ((info (memq fn icicle-advice-info-list)))
(when (and (fboundp fn) info) (ad-set-advice-info fn info) (when (ad-is-active
fn) (ad-activate fn))))))) (unless (eq icicle-guess-commands-in-path (quote
load)) (setq icicle-shell-command-candidates-cache nil)) (message "Turning %s
Icicle mode..." (if icicle-mode "ON" "OFF")) (icicle-define-minibuffer-maps
icicle-mode) (run-hooks (quote icicle-mode-hook)) (message "Turning %s Icicle
mode...done" (if icicle-mode "ON" "OFF")) (run-hooks (quote icicle-mode-hook)
(if icicle-mode (quote icicle-mode-on-hook) (quote icicle-mode-off-hook))) (if
(called-interactively-p (quote any)) (progn (customize-mark-as-set (quote
icicle-mode)) (unless (and (current-message) (not (equal last-message
(current-message)))) (message "Icicle mode %sabled" (if icicle-mode "en"
"dis"))))))
  icy-mode(toggle)
  call-interactively(icy-mode t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)





This bug report was last modified 12 years and 153 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.