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.
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)
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.