Package: emacs;
Reported by: "Rémi Vanicat" <remi.vanicat <at> gmail.com>
Date: Sun, 25 Aug 2013 18:56:01 UTC
Severity: normal
Found in version 24.3
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 15186 in the body.
You can then email your comments to 15186 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#15186
; Package emacs
.
(Sun, 25 Aug 2013 18:56:01 GMT) Full text and rfc822 format available."Rémi Vanicat" <remi.vanicat <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Sun, 25 Aug 2013 18:56:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: "Rémi Vanicat" <remi.vanicat <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 24.3; verify-visited-file-modtime fail with tramp when the optional argument is omitted Date: Sun, 25 Aug 2013 12:35:12 +0200
With the following command: (defun foo () (interactive) (verify-visited-file-modtime)) Let's open some file with tramp and sudo: C-xC-f /sudo::/etc/passwd then M-x foo will failed with "byte-code: Wrong type argument: stringp, nil" apparently, tramp doesn't know that when the argument of verify-visited-file-modtime is nil, it should use the current-buffer. using: (defun foo () (interactive) (verify-visited-file-modtime (current-buffer))) will work as expected. the backtrack (with some tramp function loaded from source) is: tramp-sh-handle-verify-visited-file-modtime(nil) apply(tramp-sh-handle-verify-visited-file-modtime nil) tramp-sh-file-name-handler(verify-visited-file-modtime nil) apply(tramp-sh-file-name-handler verify-visited-file-modtime nil) (catch (quote suppress) (apply foreign operation args)) (catch (quote non-essential) (catch (quote suppress) (apply foreign operation args))) (setq result (catch (quote non-essential) (catch (quote suppress) (apply foreign operation args)))) (let ((sf (symbol-function foreign)) result) (if (and (listp sf) (eq (car sf) (quote autoload))) (progn (let ((default-directory (tramp-compat-temporary-file-directory))) (load (cadr sf) (quote noerror) (quote nomessage))))) (setq result (catch (quote non-essential) (catch (quote suppress) (apply foreign operation args)))) (cond ((eq result (quote non-essential)) (tramp-message v 5 "Non-essential received in operation %s" (append (list operation) args)) (tramp-run-real-handler operation args)) ((eq result (quote suppress)) (let (tramp-message-show-message) (tramp-message v 1 "Suppress received in operation %s" (append (list operation) args)) (tramp-cleanup v) (tramp-run-real-handler operation args))) (t result))) (lambda nil (let ((sf (symbol-function foreign)) result) (if (and (listp sf) (eq (car sf) (quote autoload))) (progn (let ((default-directory (tramp-compat-temporary-file-directory))) (load (cadr sf) (quote noerror) (quote nomessage))))) (setq result (catch (quote non-essential) (catch (quote suppress) (apply foreign operation args)))) (cond ((eq result (quote non-essential)) (tramp-message v 5 "Non-essential received in operation %s" (append (list operation) args)) (tramp-run-real-handler operation args)) ((eq result (quote suppress)) (let (tramp-message-show-message) (tramp-message v 1 "Suppress received in operation %s" (append (list operation) args)) (tramp-cleanup v) (tramp-run-real-handler operation args))) (t result))))() funcall((lambda nil (let ((sf (symbol-function foreign)) result) (if (and (listp sf) (eq (car sf) (quote autoload))) (progn (let ((default-directory (tramp-compat-temporary-file-directory))) (load (cadr sf) (quote noerror) (quote nomessage))))) (setq result (catch (quote non-essential) (catch (quote suppress) (apply foreign operation args)))) (cond ((eq result (quote non-essential)) (tramp-message v 5 "Non-essential received in operation %s" (append (list operation) args)) (tramp-run-real-handler operation args)) ((eq result (quote suppress)) (let (tramp-message-show-message) (tramp-message v 1 "Suppress received in operation %s" (append (list operation) args)) (tramp-cleanup v) (tramp-run-real-handler operation args))) (t result))))) (if debug-on-error (funcall body) (condition-case err (funcall body) ((debug quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt received in operation %s" (append (list operation) args))) (signal (car err) (cdr err))) (error (cond ((and completion (zerop (length localname)) (memq operation (quote ...))) t) ((and completion (zerop (length localname)) (memq operation (quote ...))) filename) (t (signal (car err) (cdr err))))))) (let ((body (function (lambda nil (let ((sf ...) result) (if (and ... ...) (progn ...)) (setq result (catch ... ...)) (cond (... ... ...) (... ...) (t result))))))) (if debug-on-error (funcall body) (condition-case err (funcall body) ((debug quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt received in operation %s" (append (list operation) args))) (signal (car err) (cdr err))) (error (cond ((and completion (zerop ...) (memq operation ...)) t) ((and completion (zerop ...) (memq operation ...)) filename) (t (signal (car err) (cdr err)))))))) (if foreign (let ((body (function (lambda nil (let (... result) (if ... ...) (setq result ...) (cond ... ... ...)))))) (if debug-on-error (funcall body) (condition-case err (funcall body) ((debug quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt received in operation %s" (append ... args))) (signal (car err) (cdr err))) (error (cond ((and completion ... ...) t) ((and completion ... ...) filename) (t (signal ... ...))))))) (tramp-run-real-handler operation args)) (let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-method v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if foreign (let ((body (function (lambda nil (let ... ... ... ...))))) (if debug-on-error (funcall body) (condition-case err (funcall body) ((debug quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt received in operation %s" ...)) (signal (car err) (cdr err))) (error (cond (... t) (... filename) (t ...)))))) (tramp-run-real-handler operation args))) (let* ((filename (tramp-replace-environment-variables (apply (quote tramp-file-name-for-operation) operation args))) (completion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler filename))) (let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-method v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if foreign (let ((body (function (lambda nil ...)))) (if debug-on-error (funcall body) (condition-case err (funcall body) ((debug quit) (let ... ...) (signal ... ...)) (error (cond ... ... ...))))) (tramp-run-real-handler operation args)))) (progn (let* ((filename (tramp-replace-environment-variables (apply (quote tramp-file-name-for-operation) operation args))) (completion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler filename))) (let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-method v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if foreign (let ((body (function ...))) (if debug-on-error (funcall body) (condition-case err (funcall body) (... ... ...) (error ...)))) (tramp-run-real-handler operation args))))) (unwind-protect (progn (let* ((filename (tramp-replace-environment-variables (apply (quote tramp-file-name-for-operation) operation args))) (completion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler filename))) (let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-method v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if foreign (let ((body ...)) (if debug-on-error (funcall body) (condition-case err ... ... ...))) (tramp-run-real-handler operation args))))) (set-match-data save-match-data-internal (quote evaporate))) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (let* ((filename (tramp-replace-environment-variables (apply ... operation args))) (completion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler filename))) (let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-method v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if foreign (let (...) (if debug-on-error ... ...)) (tramp-run-real-handler operation args))))) (set-match-data save-match-data-internal (quote evaporate)))) (if tramp-mode (let ((save-match-data-internal (match-data))) (unwind-protect (progn (let* ((filename (tramp-replace-environment-variables ...)) (completion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handler filename))) (let* ((v ...) (method ...) (user ...) (host ...) (localname ...) (hop ...)) (if foreign (let ... ...) (tramp-run-real-handler operation args))))) (set-match-data save-match-data-internal (quote evaporate)))) (tramp-run-real-handler operation args)) tramp-file-name-handler(verify-visited-file-modtime nil) verify-visited-file-modtime() foo() call-interactively(foo record nil) command-execute(foo record) execute-extended-command(nil "foo") call-interactively(execute-extended-command nil nil) In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.8.2) of 2013-06-25 on sochi, modified by Debian Windowing system distributor `The X.Org Foundation', version 11.0.11204000 System Description: Debian GNU/Linux unstable (sid) Configured using: `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp' '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes' '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'' Important settings: value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Emacs-Lisp Minor modes in effect: global-magit-wip-save-mode: t magit-wip-save-mode: t diff-auto-refine-mode: t paredit-mode: t erc-services-mode: t erc-networks-mode: t show-paren-mode: t recentf-mode: t yas/global-mode: t yas/minor-mode: t shell-dirtrack-mode: t eldoc-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: C-x C-f l a m n <tab> <backspace> <backspace> n <tab> e l <tab> m a g <tab> <return> <return> C-x g b b <return> F F C-x o <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <return> C-s r e v e r t C-w C-s C-s <down> <down> <down> <down> <down> <down> <down> <down> <down> <down> <up> <up> <up> <up> C-a C-e <M-left> C-a C-k C-k <tab> <down> <down> <down> <down> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <right> <left> C-_ C-_ C-_ <down> <down> <down> <down> <down> C-e <left> <left> SPC ( c u r r <M-tab> b u <M-tab> C-x C-s n <C-left> <C-left> <C-left> <C-left> <C-left> <C-left> C-SPC <C-right> <C-right> <C-right> <C-right> M-w <down> <up> <left> C-h f <return> <menu> r e p SPC o SPC r SPC e m <tab> <return> Recent messages: Loading vc-git...done Mark saved where search started Undo! [3 times] Saving file /home/moi/lang/elisp/magit/magit.el... Add 2013 to copyright? (y or n) n Wrote /home/moi/lang/elisp/magit/magit.el Wrote /home/moi/lang/elisp/magit/magit.el (wip) Mark set Type "q" in help window to restore its previous buffer. Making completion list... [2 times] Load-path shadows: /home/moi/.emacs.d/moi/custom hides /home/moi/.emacs.d/custom /home/moi/.emacs.d/src/magit/magit-blame hides /home/moi/.emacs.d/elpa/magit-1.2.0/magit-blame /home/moi/.emacs.d/src/magit/magit-wip hides /home/moi/.emacs.d/elpa/magit-1.2.0/magit-wip /home/moi/.emacs.d/src/magit/magit-topgit hides /home/moi/.emacs.d/elpa/magit-1.2.0/magit-topgit /home/moi/.emacs.d/src/magit/magit-key-mode hides /home/moi/.emacs.d/elpa/magit-1.2.0/magit-key-mode /home/moi/.emacs.d/src/magit/magit hides /home/moi/.emacs.d/elpa/magit-1.2.0/magit /home/moi/.emacs.d/src/magit/magit-stgit hides /home/moi/.emacs.d/elpa/magit-1.2.0/magit-stgit /home/moi/.emacs.d/src/magit/magit-bisect hides /home/moi/.emacs.d/elpa/magit-1.2.0/magit-bisect /home/moi/.emacs.d/src/magit/magit-svn hides /home/moi/.emacs.d/elpa/magit-1.2.0/magit-svn /home/moi/.emacs.d/src/magit/magit-pkg hides /home/moi/.emacs.d/elpa/magit-1.2.0/magit-pkg /home/moi/.emacs.d/elpa/yasnippet-0.8.0/yasnippet hides /usr/share/emacs/site-lisp/yasnippet/yasnippet /home/moi/.emacs.d/src/tiny-tools/lisp/other/folding hides /usr/share/emacs24/site-lisp/emacs-goodies-el/folding /home/moi/.emacs.d/src/magit/magit-bisect hides /usr/share/emacs/24.3/site-lisp/magit/magit-bisect /home/moi/.emacs.d/src/magit/magit-wip hides /usr/share/emacs/24.3/site-lisp/magit/magit-wip /home/moi/.emacs.d/src/magit/magit-key-mode hides /usr/share/emacs/24.3/site-lisp/magit/magit-key-mode /home/moi/.emacs.d/src/magit/magit-blame hides /usr/share/emacs/24.3/site-lisp/magit/magit-blame /home/moi/.emacs.d/src/magit/magit-svn hides /usr/share/emacs/24.3/site-lisp/magit/magit-svn /home/moi/.emacs.d/src/magit/magit-stgit hides /usr/share/emacs/24.3/site-lisp/magit/magit-stgit /home/moi/.emacs.d/elpa/magit-1.2.0/rebase-mode hides /usr/share/emacs/24.3/site-lisp/magit/rebase-mode /home/moi/.emacs.d/src/magit/magit hides /usr/share/emacs/24.3/site-lisp/magit/magit /home/moi/.emacs.d/src/magit/magit-topgit hides /usr/share/emacs/24.3/site-lisp/magit/magit-topgit /usr/share/emacs24/site-lisp/coq/coq-db hides /usr/share/emacs/24.3/site-lisp/proofgeneral/coq/coq-db /usr/share/emacs24/site-lisp/coq/coq hides /usr/share/emacs/24.3/site-lisp/proofgeneral/coq/coq /usr/share/emacs24/site-lisp/coq/coq-syntax hides /usr/share/emacs/24.3/site-lisp/proofgeneral/coq/coq-syntax /usr/share/emacs/24.3/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /usr/share/emacs24/site-lisp/quilt-el/quilt hides /usr/share/emacs/site-lisp/quilt /usr/share/emacs24/site-lisp/flim/md4 hides /usr/share/emacs/24.3/lisp/md4 /usr/share/emacs24/site-lisp/flim/hex-util hides /usr/share/emacs/24.3/lisp/hex-util /home/moi/.emacs.d/moi/custom hides /usr/share/emacs/24.3/lisp/custom /usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/24.3/lisp/textmodes/flyspell /usr/share/emacs24/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/24.3/lisp/textmodes/ispell /home/moi/.emacs.d/elpa/ruby-mode-1.1/ruby-mode hides /usr/share/emacs/24.3/lisp/progmodes/ruby-mode /home/moi/lang/elisp/org-mode/lisp/ob-lilypond hides /usr/share/emacs/24.3/lisp/org/ob-lilypond /home/moi/lang/elisp/org-mode/lisp/org-colview hides /usr/share/emacs/24.3/lisp/org/org-colview /home/moi/lang/elisp/org-mode/lisp/org-ctags hides /usr/share/emacs/24.3/lisp/org/org-ctags /home/moi/lang/elisp/org-mode/lisp/ob-tangle hides /usr/share/emacs/24.3/lisp/org/ob-tangle /home/moi/lang/elisp/org-mode/lisp/ob-table hides /usr/share/emacs/24.3/lisp/org/ob-table /home/moi/lang/elisp/org-mode/lisp/org-indent hides /usr/share/emacs/24.3/lisp/org/org-indent /home/moi/lang/elisp/org-mode/lisp/ob-C hides /usr/share/emacs/24.3/lisp/org/ob-C /home/moi/lang/elisp/org-mode/lisp/ob-ruby hides /usr/share/emacs/24.3/lisp/org/ob-ruby /home/moi/lang/elisp/org-mode/lisp/org-w3m hides /usr/share/emacs/24.3/lisp/org/org-w3m /home/moi/lang/elisp/org-mode/lisp/ob-maxima hides /usr/share/emacs/24.3/lisp/org/ob-maxima /home/moi/lang/elisp/org-mode/lisp/org-list hides /usr/share/emacs/24.3/lisp/org/org-list /home/moi/lang/elisp/org-mode/lisp/ob-awk hides /usr/share/emacs/24.3/lisp/org/ob-awk /home/moi/lang/elisp/org-mode/lisp/ob-keys hides /usr/share/emacs/24.3/lisp/org/ob-keys /home/moi/lang/elisp/org-mode/lisp/org-id hides /usr/share/emacs/24.3/lisp/org/org-id /home/moi/lang/elisp/org-mode/lisp/ob-io hides /usr/share/emacs/24.3/lisp/org/ob-io /home/moi/lang/elisp/org-mode/lisp/ob-clojure hides /usr/share/emacs/24.3/lisp/org/ob-clojure /home/moi/lang/elisp/org-mode/lisp/org-bibtex hides /usr/share/emacs/24.3/lisp/org/org-bibtex /home/moi/lang/elisp/org-mode/lisp/ob-picolisp hides /usr/share/emacs/24.3/lisp/org/ob-picolisp /home/moi/lang/elisp/org-mode/lisp/ob-exp hides /usr/share/emacs/24.3/lisp/org/ob-exp /home/moi/lang/elisp/org-mode/lisp/org-timer hides /usr/share/emacs/24.3/lisp/org/org-timer /home/moi/lang/elisp/org-mode/lisp/ob-mscgen hides /usr/share/emacs/24.3/lisp/org/ob-mscgen /home/moi/lang/elisp/org-mode/lisp/org-mobile hides /usr/share/emacs/24.3/lisp/org/org-mobile /home/moi/lang/elisp/org-mode/lisp/org-element hides /usr/share/emacs/24.3/lisp/org/org-element /home/moi/lang/elisp/org-mode/lisp/org-agenda hides /usr/share/emacs/24.3/lisp/org/org-agenda /home/moi/lang/elisp/org-mode/lisp/ob-sqlite hides /usr/share/emacs/24.3/lisp/org/ob-sqlite /home/moi/lang/elisp/org-mode/lisp/ob-shen hides /usr/share/emacs/24.3/lisp/org/ob-shen /home/moi/lang/elisp/org-mode/lisp/org-docview hides /usr/share/emacs/24.3/lisp/org/org-docview /home/moi/lang/elisp/org-mode/lisp/ob-scheme hides /usr/share/emacs/24.3/lisp/org/ob-scheme /home/moi/lang/elisp/org-mode/lisp/org-macs hides /usr/share/emacs/24.3/lisp/org/org-macs /home/moi/lang/elisp/org-mode/lisp/ob-fortran hides /usr/share/emacs/24.3/lisp/org/ob-fortran /home/moi/lang/elisp/org-mode/lisp/org-inlinetask hides /usr/share/emacs/24.3/lisp/org/org-inlinetask /home/moi/lang/elisp/org-mode/lisp/ob-js hides /usr/share/emacs/24.3/lisp/org/ob-js /home/moi/lang/elisp/org-mode/lisp/ob-perl hides /usr/share/emacs/24.3/lisp/org/ob-perl /home/moi/lang/elisp/org-mode/lisp/ob-plantuml hides /usr/share/emacs/24.3/lisp/org/ob-plantuml /home/moi/lang/elisp/org-mode/lisp/org-archive hides /usr/share/emacs/24.3/lisp/org/org-archive /home/moi/lang/elisp/org-mode/lisp/ob-dot hides /usr/share/emacs/24.3/lisp/org/ob-dot /home/moi/lang/elisp/org-mode/lisp/org-habit hides /usr/share/emacs/24.3/lisp/org/org-habit /home/moi/lang/elisp/org-mode/lisp/ob-R hides /usr/share/emacs/24.3/lisp/org/ob-R /home/moi/lang/elisp/org-mode/lisp/org-info hides /usr/share/emacs/24.3/lisp/org/org-info /home/moi/lang/elisp/org-mode/lisp/org-feed hides /usr/share/emacs/24.3/lisp/org/org-feed /home/moi/lang/elisp/org-mode/lisp/org-pcomplete hides /usr/share/emacs/24.3/lisp/org/org-pcomplete /home/moi/lang/elisp/org-mode/lisp/org-faces hides /usr/share/emacs/24.3/lisp/org/org-faces /home/moi/lang/elisp/org-mode/lisp/ob-gnuplot hides /usr/share/emacs/24.3/lisp/org/ob-gnuplot /home/moi/lang/elisp/org-mode/lisp/org-table hides /usr/share/emacs/24.3/lisp/org/org-table /home/moi/lang/elisp/org-mode/lisp/org-protocol hides /usr/share/emacs/24.3/lisp/org/org-protocol /home/moi/lang/elisp/org-mode/lisp/ob-sql hides /usr/share/emacs/24.3/lisp/org/ob-sql /home/moi/lang/elisp/org-mode/lisp/ob-emacs-lisp hides /usr/share/emacs/24.3/lisp/org/ob-emacs-lisp /home/moi/lang/elisp/org-mode/lisp/ob-lisp hides /usr/share/emacs/24.3/lisp/org/ob-lisp /home/moi/lang/elisp/org-mode/lisp/ob-css hides /usr/share/emacs/24.3/lisp/org/ob-css /home/moi/lang/elisp/org-mode/lisp/org-crypt hides /usr/share/emacs/24.3/lisp/org/org-crypt /home/moi/lang/elisp/org-mode/lisp/ob-ditaa hides /usr/share/emacs/24.3/lisp/org/ob-ditaa /home/moi/lang/elisp/org-mode/lisp/ob-ledger hides /usr/share/emacs/24.3/lisp/org/ob-ledger /home/moi/lang/elisp/org-mode/lisp/org-eshell hides /usr/share/emacs/24.3/lisp/org/org-eshell /home/moi/lang/elisp/org-mode/lisp/org-datetree hides /usr/share/emacs/24.3/lisp/org/org-datetree /home/moi/lang/elisp/org-mode/lisp/org-clock hides /usr/share/emacs/24.3/lisp/org/org-clock /home/moi/lang/elisp/org-mode/lisp/ob-asymptote hides /usr/share/emacs/24.3/lisp/org/ob-asymptote /home/moi/lang/elisp/org-mode/lisp/org-mhe hides /usr/share/emacs/24.3/lisp/org/org-mhe /home/moi/lang/elisp/org-mode/lisp/ob-calc hides /usr/share/emacs/24.3/lisp/org/ob-calc /home/moi/lang/elisp/org-mode/lisp/org-src hides /usr/share/emacs/24.3/lisp/org/org-src /home/moi/lang/elisp/org-mode/lisp/org hides /usr/share/emacs/24.3/lisp/org/org /home/moi/lang/elisp/org-mode/lisp/org-install hides /usr/share/emacs/24.3/lisp/org/org-install /home/moi/lang/elisp/org-mode/lisp/ob-comint hides /usr/share/emacs/24.3/lisp/org/ob-comint /home/moi/lang/elisp/org-mode/lisp/ob-octave hides /usr/share/emacs/24.3/lisp/org/ob-octave /home/moi/lang/elisp/org-mode/lisp/ob-python hides /usr/share/emacs/24.3/lisp/org/ob-python /home/moi/lang/elisp/org-mode/lisp/ob-ref hides /usr/share/emacs/24.3/lisp/org/ob-ref /home/moi/lang/elisp/org-mode/lisp/ob-screen hides /usr/share/emacs/24.3/lisp/org/ob-screen /home/moi/lang/elisp/org-mode/lisp/org-gnus hides /usr/share/emacs/24.3/lisp/org/org-gnus /home/moi/lang/elisp/org-mode/lisp/ob-java hides /usr/share/emacs/24.3/lisp/org/ob-java /home/moi/lang/elisp/org-mode/lisp/ob-sh hides /usr/share/emacs/24.3/lisp/org/ob-sh /home/moi/lang/elisp/org-mode/lisp/ob-eval hides /usr/share/emacs/24.3/lisp/org/ob-eval /home/moi/lang/elisp/org-mode/lisp/ob-latex hides /usr/share/emacs/24.3/lisp/org/ob-latex /home/moi/lang/elisp/org-mode/lisp/ob hides /usr/share/emacs/24.3/lisp/org/ob /home/moi/lang/elisp/org-mode/lisp/org-irc hides /usr/share/emacs/24.3/lisp/org/org-irc /home/moi/lang/elisp/org-mode/lisp/ob-haskell hides /usr/share/emacs/24.3/lisp/org/ob-haskell /home/moi/lang/elisp/org-mode/lisp/org-rmail hides /usr/share/emacs/24.3/lisp/org/org-rmail /home/moi/lang/elisp/org-mode/lisp/org-footnote hides /usr/share/emacs/24.3/lisp/org/org-footnote /home/moi/lang/elisp/org-mode/lisp/ob-scala hides /usr/share/emacs/24.3/lisp/org/ob-scala /home/moi/lang/elisp/org-mode/lisp/ob-lob hides /usr/share/emacs/24.3/lisp/org/ob-lob /home/moi/lang/elisp/org-mode/lisp/org-loaddefs hides /usr/share/emacs/24.3/lisp/org/org-loaddefs /home/moi/lang/elisp/org-mode/lisp/ob-matlab hides /usr/share/emacs/24.3/lisp/org/ob-matlab /home/moi/lang/elisp/org-mode/lisp/org-capture hides /usr/share/emacs/24.3/lisp/org/org-capture /home/moi/lang/elisp/org-mode/lisp/org-plot hides /usr/share/emacs/24.3/lisp/org/org-plot /home/moi/lang/elisp/org-mode/lisp/org-version hides /usr/share/emacs/24.3/lisp/org/org-version /home/moi/lang/elisp/org-mode/lisp/org-entities hides /usr/share/emacs/24.3/lisp/org/org-entities /home/moi/lang/elisp/org-mode/lisp/org-attach hides /usr/share/emacs/24.3/lisp/org/org-attach /home/moi/lang/elisp/org-mode/lisp/org-bbdb hides /usr/share/emacs/24.3/lisp/org/org-bbdb /home/moi/lang/elisp/org-mode/lisp/org-compat hides /usr/share/emacs/24.3/lisp/org/org-compat /home/moi/lang/elisp/org-mode/lisp/ob-ocaml hides /usr/share/emacs/24.3/lisp/org/ob-ocaml /home/moi/lang/elisp/org-mode/lisp/org-mouse hides /usr/share/emacs/24.3/lisp/org/org-mouse /home/moi/lang/elisp/org-mode/lisp/ob-org hides /usr/share/emacs/24.3/lisp/org/ob-org /home/moi/lang/elisp/org-mode/lisp/ob-sass hides /usr/share/emacs/24.3/lisp/org/ob-sass /usr/share/emacs24/site-lisp/flim/sasl hides /usr/share/emacs/24.3/lisp/net/sasl /usr/share/emacs24/site-lisp/flim/ntlm hides /usr/share/emacs/24.3/lisp/net/ntlm /usr/share/emacs24/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.3/lisp/net/sasl-cram /usr/share/emacs24/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.3/lisp/net/sasl-digest /usr/share/emacs24/site-lisp/flim/hmac-def hides /usr/share/emacs/24.3/lisp/net/hmac-def /usr/share/emacs24/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.3/lisp/net/sasl-ntlm /usr/share/emacs24/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.3/lisp/net/hmac-md5 /home/moi/.emacs.d/src/magit/.dir-locals hides /usr/share/emacs/24.3/lisp/gnus/.dir-locals /home/moi/.emacs.d/elpa/cl-lib-0.2/cl-lib hides /usr/share/emacs/24.3/lisp/emacs-lisp/cl-lib /usr/share/emacs24/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex /usr/share/emacs24/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt /usr/share/emacs24/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x /usr/share/emacs24/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en /usr/share/emacs24/site-lisp/auctex/preview hides /usr/share/emacs/site-lisp/auctex/preview /usr/share/emacs24/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp /usr/share/emacs24/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex /usr/share/emacs24/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style /usr/share/emacs24/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf /usr/share/emacs24/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context /usr/share/emacs24/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl /usr/share/emacs24/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp /usr/share/emacs24/site-lisp/auctex/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs /usr/share/emacs24/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font /usr/share/emacs24/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold /usr/share/emacs24/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik /usr/share/emacs24/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar /usr/share/emacs24/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex /usr/share/emacs24/site-lisp/auctex/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex /usr/share/emacs24/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info /usr/share/emacs24/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite Features: (shadow sort flyspell guess-lang mail-extr emacsbug sendmail time-stamp copyright misearch multi-isearch vc-git rinari jump inflections findr ruby-compilation which-func imenu inf-ruby ruby-electric ruby-mode help-mode magit-wip magit-cherry magit-bisect magit-key-mode magit view iswitchb esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult ediff-init ediff grep epa epg diff-mode git-commit-mode magit-compat git-annex dired-aux dired paredit org-config org-contacts ob-sqlite ob-sh ob-ruby ob-python ob-octave ob-latex ob-gnuplot ob-dot ob-ditaa ob-R ical-for-org ob-ledger rx org-caldav icalendar diary-lib diary-loaddefs org-id ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox org-element url-http tls url url-proxy url-privacy url-expand url-methods url-history url-auth url-cookie url-domsuf url-gw url-dav url-handlers url-util xml org-gnus spam spam-stat gnus-uu yenc gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime dig mailcap erc-services erc-networks erc-goodies erc erc-backend erc-compat pp rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok ispell jka-compr iso-transl ethan-wspace show-wspace server hippie-exp paren tramp-cache tramp-sh tramp tramp-compat tramp-loaddefs windmove recentf tree-widget uniquify ffap url-parse auth-source eieio password-cache url-vars saveplace android-mode-autoloads el-autoyas-autoloads magit-autoloads info mocker-autoloads el-x-autoloads cl-lib-autoloads paredit-autoloads r-autoyas-autoloads rinari-autoloads jump-autoloads inflections-autoloads findr-autoloads ruby-compilation-autoloads inf-ruby-autoloads ruby-electric-autoloads ruby-mode-autoloads ttrss-autoloads finder-inf vala-mode-autoloads yas-jit-autoloads yasnippet-autoloads yasnippet-bundle-autoloads yasnippet-bundle dropdown-list package org byte-opt warnings bytecomp byte-compile cconv org-macro org-footnote org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems nnheader gnus-util mail-utils mm-util mail-prsvr wid-edit debian-el debian-el-loaddefs yasnippet derived edmacro kmacro cl-macs gv assoc w3m-load slime-autoloads proof-site proof-autoloads pg-vars mmm-auto mmm-vars mmm-compat cl 50magit ido ess-toolbar ess-mouse mouseme thingatpt browse-url ess-menu ess-swv ess-noweb ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a shell pcomplete ess-arc-d ess-vst-d ess-xls-d ess-lsp-l ess-sta-d ess-sta-l cc-vars cc-defs make-regexp ess-sp6-d ess-sp5-d ess-sp3-d ess-julia ess-r-d compile ess-tracebug ess-roxy advice cl-lib advice-preload hideshow ess-help ess-developer ess-r-args eldoc help-fns ess-s-l ess ess-inf comint ansi-color ring ess-mode ess-noweb-mode ess-utils ess-custom executable easymenu ess-compat ess-site jabber-autoloads emacs-goodies-el emacs-goodies-custom emacs-goodies-loaddefs easy-mmode dpkg-dev-el dpkg-dev-el-loaddefs devhelp preview-latex tex-site auto-loads time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) -- Rémi Vanicat
Michael Albinus <michael.albinus <at> gmx.de>
:"Rémi Vanicat" <remi.vanicat <at> gmail.com>
:Message #10 received at 15186-done <at> debbugs.gnu.org (full text, mbox):
From: Michael Albinus <michael.albinus <at> gmx.de> To: Rémi Vanicat <remi.vanicat <at> gmail.com> Cc: 15186-done <at> debbugs.gnu.org Subject: Re: bug#15186: 24.3; verify-visited-file-modtime fail with tramp when the optional argument is omitted Date: Mon, 26 Aug 2013 09:08:39 +0200
"Rémi Vanicat" <remi.vanicat <at> gmail.com> writes: Hi Rémi, > With the following command: > (defun foo () > (interactive) > (verify-visited-file-modtime)) > > Let's open some file with tramp and sudo: > > C-xC-f /sudo::/etc/passwd > > then M-x foo will failed with > "byte-code: Wrong type argument: stringp, nil" Thanks for the report! I've fixed this in the trunk. You could test the following patch (line numbers to be adapted): --8<---------------cut here---------------start------------->8--- === modified file 'lisp/net/tramp-sh.el' --- lisp/net/tramp-sh.el 2013-08-17 10:20:15 +0000 +++ lisp/net/tramp-sh.el 2013-08-26 06:57:32 +0000 @@ -1234,14 +1234,14 @@ ;; This function makes the same assumption as ;; `tramp-sh-handle-set-visited-file-modtime'. -(defun tramp-sh-handle-verify-visited-file-modtime (buf) +(defun tramp-sh-handle-verify-visited-file-modtime (&optional buf) "Like `verify-visited-file-modtime' for Tramp files. At the time `verify-visited-file-modtime' calls this function, we already know that the buffer is visiting a file and that `visited-file-modtime' does not return 0. Do not call this function directly, unless those two cases are already taken care of." - (with-current-buffer buf + (with-current-buffer (or buf (current-buffer)) (let ((f (buffer-file-name))) ;; There is no file visiting the buffer, or the buffer has no ;; recorded last modification time, or there is no established --8<---------------cut here---------------end--------------->8--- Best regards, Michael.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 23 Sep 2013 11:24:07 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.