From unknown Fri Sep 05 08:56:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#15186: 24.3; verify-visited-file-modtime fail with tramp when the optional argument is omitted Resent-From: "=?UTF-8?Q?R=C3=A9mi?= Vanicat" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 25 Aug 2013 18:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 15186 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 15186@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.13774569055180 (code B ref -1); Sun, 25 Aug 2013 18:56:01 +0000 Received: (at submit) by debbugs.gnu.org; 25 Aug 2013 18:55:05 +0000 Received: from localhost ([127.0.0.1]:55050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VDfSm-0001L0-Kr for submit@debbugs.gnu.org; Sun, 25 Aug 2013 14:55:03 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50151) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VDXfO-00050f-AK for submit@debbugs.gnu.org; Sun, 25 Aug 2013 06:35:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VDXfK-0000BP-LT for submit@debbugs.gnu.org; Sun, 25 Aug 2013 06:35:29 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42081) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VDXfK-0000BL-G2 for submit@debbugs.gnu.org; Sun, 25 Aug 2013 06:35:26 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51861) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VDXfG-0004br-Ow for bug-gnu-emacs@gnu.org; Sun, 25 Aug 2013 06:35:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VDXfC-0000AY-VJ for bug-gnu-emacs@gnu.org; Sun, 25 Aug 2013 06:35:22 -0400 Received: from mail-wi0-x233.google.com ([2a00:1450:400c:c05::233]:60473) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VDXfC-00009U-I8 for bug-gnu-emacs@gnu.org; Sun, 25 Aug 2013 06:35:18 -0400 Received: by mail-wi0-f179.google.com with SMTP id hr7so1914790wib.12 for ; Sun, 25 Aug 2013 03:35:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type :content-transfer-encoding; bh=fgbvHZhpDSN1rHNagldgXeP+yhvhXFpCNBk6rjWXMHQ=; b=RhlNqigQxeHjKFRobkEZUfmdUcC2cRqBLHQWznbORR3CewTnRpNtjXHT+KL9vIsovc jEqsDqN7hX7BWhDsuqy9XZyv9rXcbLpkbiuKocb1DupFfyeYktJjleoenfWGfj9IvBJj hnj0IIaNjaeLipmSeVh6SR2LWFdZh8y/iDHue3gV2XBlnuP6krhJU30lqMAnbStjDzdA N3Fu4u80JBk9p5G3kjwcumrhYDHV4BEcmV/OL1oEd+6juRYZczzjVSIX/Idydn4vjBVR KEMddlnpsPsvnhLuFe2kDzP9C7jk9ELa73Fr5sNzGHu9jxA8xXSt0ij5SGll3KNjemW4 Eo6Q== X-Received: by 10.180.19.67 with SMTP id c3mr4027326wie.2.1377426917123; Sun, 25 Aug 2013 03:35:17 -0700 (PDT) Received: from corbeau (2a02-8435-0ad0-4700-0224-8cff-fe37-c361.rev.sfr.net. [2a02:8435:ad0:4700:224:8cff:fe37:c361]) by mx.google.com with ESMTPSA id l7sm9850243wiw.4.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 25 Aug 2013 03:35:16 -0700 (PDT) From: "=?UTF-8?Q?R=C3=A9mi?= Vanicat" Date: Sun, 25 Aug 2013 12:35:12 +0200 Message-ID: <87fvtyjbxb.dlv@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.4 (--) X-Mailman-Approved-At: Sun, 25 Aug 2013 14:54:56 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) With the following command: (defun foo () (interactive) (verify-visited-file-modtime)) =20 Let's open some file with tramp and sudo: C-xC-f /sudo::/etc/passwd=20 then M-x foo will failed with=20 "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 opera= tion 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-tempo= rary-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 operatio= n) args)) (tramp-run-real-handler operation args)) ((eq result (quote suppr= ess)) (let (tramp-message-show-message) (tramp-message v 1 "Suppress receiv= ed in operation %s" (append (list operation) args)) (tramp-cleanup v) (tram= p-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 n= omessage))))) (setq result (catch (quote non-essential) (catch (quote suppr= ess) (apply foreign operation args)))) (cond ((eq result (quote non-essenti= al)) (tramp-message v 5 "Non-essential received in operation %s" (append (l= ist operation) args)) (tramp-run-real-handler operation args)) ((eq result = (quote suppress)) (let (tramp-message-show-message) (tramp-message v 1 "Sup= press received in operation %s" (append (list operation) args)) (tramp-clea= nup 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 (quo= te suppress) (apply foreign operation args)))) (cond ((eq result (quote non= -essential)) (tramp-message v 5 "Non-essential received in operation %s" (a= ppend (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)) (tr= amp-cleanup v) (tramp-run-real-handler operation args))) (t result))))) (if debug-on-error (funcall body) (condition-case err (funcall body) ((de= bug quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt r= eceived 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)) (me= mq 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 (fun= call body) ((debug quit) (let (tramp-message-show-message) (tramp-message v= 1 "Interrupt received in operation %s" (append (list operation) args))) (s= ignal (car err) (cdr err))) (error (cond ((and completion (zerop ...) (memq= operation ...)) t) ((and completion (zerop ...) (memq operation ...)) file= name) (t (signal (car err) (cdr err)))))))) (if foreign (let ((body (function (lambda nil (let (... result) (if ... .= ..) (setq result ...) (cond ... ... ...)))))) (if debug-on-error (funcall b= ody) (condition-case err (funcall body) ((debug quit) (let (tramp-message-s= how-message) (tramp-message v 1 "Interrupt received in operation %s" (appen= d ... args))) (signal (car err) (cdr err))) (error (cond ((and completion .= .. ...) t) ((and completion ... ...) filename) (t (signal ... ...))))))) (t= ramp-run-real-handler operation args)) (let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-me= thod v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (l= ocalname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if = foreign (let ((body (function (lambda nil (let ... ... ... ...))))) (if deb= ug-on-error (funcall body) (condition-case err (funcall body) ((debug quit)= (let (tramp-message-show-message) (tramp-message v 1 "Interrupt received i= n 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-m= ode-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 (l= et ((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 (quot= e tramp-file-name-for-operation) operation args))) (completion (tramp-compl= etion-mode-p)) (foreign (tramp-find-foreign-file-name-handler filename))) (= let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-metho= d v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (loca= lname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if for= eign (let ((body (function ...))) (if debug-on-error (funcall body) (condit= ion-case err (funcall body) (... ... ...) (error ...)))) (tramp-run-real-ha= ndler operation args))))) (unwind-protect (progn (let* ((filename (tramp-replace-environment-variab= les (apply (quote tramp-file-name-for-operation) operation args))) (complet= ion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handl= er filename))) (let* ((v (tramp-dissect-file-name filename)) (method (tramp= -file-name-method v)) (user (tramp-file-name-user v)) (host (tramp-file-nam= e-host v)) (localname (tramp-file-name-localname v)) (hop (tramp-file-name-= hop v))) (if foreign (let ((body ...)) (if debug-on-error (funcall body) (c= ondition-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 (le= t* ((filename (tramp-replace-environment-variables (apply ... operation arg= s))) (completion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-fi= le-name-handler filename))) (let* ((v (tramp-dissect-file-name filename)) (= method (tramp-file-name-method v)) (user (tramp-file-name-user v)) (host (t= ramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop (tra= mp-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-pro= tect (progn (let* ((filename (tramp-replace-environment-variables ...)) (co= mpletion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-= handler filename))) (let* ((v ...) (method ...) (user ...) (host ...) (loca= lname ...) (hop ...)) (if foreign (let ... ...) (tramp-run-real-handler ope= ration 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=3D/usr' '--sharedstatedir=3D/var/lib' '--libexecdir=3D/usr/lib' '--localstatedir=3D/var/lib' '--infodir=3D/usr/share/info' '--mandir=3D/usr/share/man' '--with-pop=3Dyes' '--enable-locallisppath=3D/etc/emacs24:/etc/emacs:/usr/local/share/emacs/2= 4.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-l= isp:/usr/share/emacs/site-lisp' '--with-crt-dir=3D/usr/lib/x86_64-linux-gnu' '--with-x=3Dyes' '--with-x-toolkit=3Dgtk3' '--with-toolkit-scroll-bars' 'build_alias=3Dx86_64-linux-gnu' 'CFLAGS=3D-g -O2 -fstack-protector --param=3Dssp-buffer-size=3D4 -Wformat -Werror=3Dformat-security -Wall' 'LDFLAGS=3D-Wl,-z,relro' 'CPPFLAGS=3D-D_FORTIFY_SOURCE=3D2'' 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 n =20 e l m a g C-x g b b =20 F F C-x o =20 =20 C-s r e v e r t C-w C-s=20 C-s =20 C-a C-e =20 C-a C-k C-k =20 =20 =20 =20 =20 =20 =20 C-_ C-_ C-_ =20 C-e SPC ( c u r r =20 b u C-x C-s n =20 C-SPC =20 M-w C-h f =20 r e p SPC o SPC r SPC e m 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/magi= t-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/mag= it-1.2.0/magit-topgit /home/moi/.emacs.d/src/magit/magit-key-mode hides /home/moi/.emacs.d/elpa/m= agit-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/magi= t-1.2.0/magit-stgit /home/moi/.emacs.d/src/magit/magit-bisect hides /home/moi/.emacs.d/elpa/mag= it-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/si= te-lisp/yasnippet/yasnippet /home/moi/.emacs.d/src/tiny-tools/lisp/other/folding hides /usr/share/emacs= 24/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-lis= p/magit/magit-wip /home/moi/.emacs.d/src/magit/magit-key-mode hides /usr/share/emacs/24.3/sit= e-lisp/magit/magit-key-mode /home/moi/.emacs.d/src/magit/magit-blame hides /usr/share/emacs/24.3/site-l= isp/magit/magit-blame /home/moi/.emacs.d/src/magit/magit-svn hides /usr/share/emacs/24.3/site-lis= p/magit/magit-svn /home/moi/.emacs.d/src/magit/magit-stgit hides /usr/share/emacs/24.3/site-l= isp/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/ma= git/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-li= sp/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/sit= e-lisp/proofgeneral/coq/coq-syntax /usr/share/emacs/24.3/site-lisp/cmake-data/cmake-mode hides /usr/share/emac= s/site-lisp/cmake-mode /usr/share/emacs24/site-lisp/quilt-el/quilt hides /usr/share/emacs/site-lis= p/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/em= acs/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/li= sp/org/org-ctags /home/moi/lang/elisp/org-mode/lisp/ob-tangle hides /usr/share/emacs/24.3/li= sp/org/ob-tangle /home/moi/lang/elisp/org-mode/lisp/ob-table hides /usr/share/emacs/24.3/lis= p/org/ob-table /home/moi/lang/elisp/org-mode/lisp/org-indent hides /usr/share/emacs/24.3/l= isp/org/org-indent /home/moi/lang/elisp/org-mode/lisp/ob-C hides /usr/share/emacs/24.3/lisp/or= g/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/li= sp/org/ob-maxima /home/moi/lang/elisp/org-mode/lisp/org-list hides /usr/share/emacs/24.3/lis= p/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/o= rg/ob-io /home/moi/lang/elisp/org-mode/lisp/ob-clojure hides /usr/share/emacs/24.3/l= isp/org/ob-clojure /home/moi/lang/elisp/org-mode/lisp/org-bibtex hides /usr/share/emacs/24.3/l= isp/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/li= sp/org/org-timer /home/moi/lang/elisp/org-mode/lisp/ob-mscgen hides /usr/share/emacs/24.3/li= sp/org/ob-mscgen /home/moi/lang/elisp/org-mode/lisp/org-mobile hides /usr/share/emacs/24.3/l= isp/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/l= isp/org/org-agenda /home/moi/lang/elisp/org-mode/lisp/ob-sqlite hides /usr/share/emacs/24.3/li= sp/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/li= sp/org/ob-scheme /home/moi/lang/elisp/org-mode/lisp/org-macs hides /usr/share/emacs/24.3/lis= p/org/org-macs /home/moi/lang/elisp/org-mode/lisp/ob-fortran hides /usr/share/emacs/24.3/l= isp/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/o= rg/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/li= sp/org/org-habit /home/moi/lang/elisp/org-mode/lisp/ob-R hides /usr/share/emacs/24.3/lisp/or= g/ob-R /home/moi/lang/elisp/org-mode/lisp/org-info hides /usr/share/emacs/24.3/lis= p/org/org-info /home/moi/lang/elisp/org-mode/lisp/org-feed hides /usr/share/emacs/24.3/lis= p/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/li= sp/org/org-faces /home/moi/lang/elisp/org-mode/lisp/ob-gnuplot hides /usr/share/emacs/24.3/l= isp/org/ob-gnuplot /home/moi/lang/elisp/org-mode/lisp/org-table hides /usr/share/emacs/24.3/li= sp/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/li= sp/org/org-crypt /home/moi/lang/elisp/org-mode/lisp/ob-ditaa hides /usr/share/emacs/24.3/lis= p/org/ob-ditaa /home/moi/lang/elisp/org-mode/lisp/ob-ledger hides /usr/share/emacs/24.3/li= sp/org/ob-ledger /home/moi/lang/elisp/org-mode/lisp/org-eshell hides /usr/share/emacs/24.3/l= isp/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/li= sp/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/li= sp/org/ob-comint /home/moi/lang/elisp/org-mode/lisp/ob-octave hides /usr/share/emacs/24.3/li= sp/org/ob-octave /home/moi/lang/elisp/org-mode/lisp/ob-python hides /usr/share/emacs/24.3/li= sp/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/li= sp/org/ob-screen /home/moi/lang/elisp/org-mode/lisp/org-gnus hides /usr/share/emacs/24.3/lis= p/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/o= rg/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/lis= p/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/l= isp/org/ob-haskell /home/moi/lang/elisp/org-mode/lisp/org-rmail hides /usr/share/emacs/24.3/li= sp/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/lis= p/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/li= sp/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/lis= p/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/l= isp/org/org-attach /home/moi/lang/elisp/org-mode/lisp/org-bbdb hides /usr/share/emacs/24.3/lis= p/org/org-bbdb /home/moi/lang/elisp/org-mode/lisp/org-compat hides /usr/share/emacs/24.3/l= isp/org/org-compat /home/moi/lang/elisp/org-mode/lisp/ob-ocaml hides /usr/share/emacs/24.3/lis= p/org/ob-ocaml /home/moi/lang/elisp/org-mode/lisp/org-mouse hides /usr/share/emacs/24.3/li= sp/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/lis= p/net/sasl-cram /usr/share/emacs24/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.3/l= isp/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/lis= p/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/g= nus/.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/sit= e-lisp/auctex/multi-prompt /usr/share/emacs24/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-l= isp/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-lis= p/auctex/preview /usr/share/emacs24/site-lisp/auctex/texmathp hides /usr/share/emacs/site-li= sp/auctex/texmathp /usr/share/emacs24/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/au= ctex/tex /usr/share/emacs24/site-lisp/auctex/tex-style hides /usr/share/emacs/site-l= isp/auctex/tex-style /usr/share/emacs24/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lis= p/auctex/tex-buf /usr/share/emacs24/site-lisp/auctex/context hides /usr/share/emacs/site-lis= p/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-l= isp/auctex/prv-emacs /usr/share/emacs24/site-lisp/auctex/tex-font hides /usr/share/emacs/site-li= sp/auctex/tex-font /usr/share/emacs24/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-li= sp/auctex/tex-fold /usr/share/emacs24/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lis= p/auctex/tex-mik /usr/share/emacs24/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lis= p/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-l= isp/auctex/plain-tex /usr/share/emacs24/site-lisp/auctex/tex-info hides /usr/share/emacs/site-li= sp/auctex/tex-info /usr/share/emacs24/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-li= sp/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) --=20 R=C3=A9mi Vanicat From unknown Fri Sep 05 08:56:00 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: "=?UTF-8?Q?R=C3=A9mi?= Vanicat" Subject: bug#15186: closed (Re: bug#15186: 24.3; verify-visited-file-modtime fail with tramp when the optional argument is omitted) Message-ID: References: <87y57p3p54.fsf@gmx.de> <87fvtyjbxb.dlv@gmail.com> X-Gnu-PR-Message: they-closed 15186 X-Gnu-PR-Package: emacs Reply-To: 15186@debbugs.gnu.org Date: Mon, 26 Aug 2013 07:09:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1377500943-12906-1" This is a multi-part message in MIME format... ------------=_1377500943-12906-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #15186: 24.3; verify-visited-file-modtime fail with tramp when the optional= argument is omitted which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 15186@debbugs.gnu.org. --=20 15186: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D15186 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1377500943-12906-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 15186-done) by debbugs.gnu.org; 26 Aug 2013 07:08:50 +0000 Received: from localhost ([127.0.0.1]:56140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VDquv-0003Lm-Js for submit@debbugs.gnu.org; Mon, 26 Aug 2013 03:08:50 -0400 Received: from mout.gmx.net ([212.227.17.22]:53873) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VDqur-0003Lc-QH for 15186-done@debbugs.gnu.org; Mon, 26 Aug 2013 03:08:46 -0400 Received: from detlef.gmx.de ([91.41.135.106]) by mail.gmx.com (mrgmx101) with ESMTPS (Nemesis) id 0MHbpA-1VCjv51Emy-003LMK for <15186-done@debbugs.gnu.org>; Mon, 26 Aug 2013 09:08:43 +0200 From: Michael Albinus To: =?utf-8?Q?R=C3=A9mi_Vanicat?= Subject: Re: bug#15186: 24.3; verify-visited-file-modtime fail with tramp when the optional argument is omitted References: <87fvtyjbxb.dlv@gmail.com> Date: Mon, 26 Aug 2013 09:08:39 +0200 In-Reply-To: <87fvtyjbxb.dlv@gmail.com> (=?utf-8?Q?=22R=C3=A9mi?= Vanicat"'s message of "Sun, 25 Aug 2013 12:35:12 +0200") Message-ID: <87y57p3p54.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:IqNlRdq3N5CSZsgLJ23phfQX9NCww4QUtYLl4ZS0ZY/P/5M0ObK 6BGIvL6i+PaQ7RRR+sDxBssnIpF2HmCJZ/WpkG3NIGzWzJvPJBr033jMNqVvFDwjInr3o7b B6SfgPj0f5VMDQkfQ+4+QcvnW3H63bTsKF2narlJfzd+okg9wuQ+MVFi/HASp+li+afY0Gt LPZfWDEVzHlQCEuYCf6eQ== X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15186-done Cc: 15186-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) "R=C3=A9mi Vanicat" writes: Hi R=C3=A9mi, > With the following command: > (defun foo () > (interactive) > (verify-visited-file-modtime)) >=20=20 > Let's open some file with tramp and sudo: > > C-xC-f /sudo::/etc/passwd=20 > > then M-x foo will failed with=20 > "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--- =3D=3D=3D 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 @@ =20 ;; 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. ------------=_1377500943-12906-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 25 Aug 2013 18:55:05 +0000 Received: from localhost ([127.0.0.1]:55050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VDfSm-0001L0-Kr for submit@debbugs.gnu.org; Sun, 25 Aug 2013 14:55:03 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50151) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VDXfO-00050f-AK for submit@debbugs.gnu.org; Sun, 25 Aug 2013 06:35:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VDXfK-0000BP-LT for submit@debbugs.gnu.org; Sun, 25 Aug 2013 06:35:29 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42081) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VDXfK-0000BL-G2 for submit@debbugs.gnu.org; Sun, 25 Aug 2013 06:35:26 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51861) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VDXfG-0004br-Ow for bug-gnu-emacs@gnu.org; Sun, 25 Aug 2013 06:35:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VDXfC-0000AY-VJ for bug-gnu-emacs@gnu.org; Sun, 25 Aug 2013 06:35:22 -0400 Received: from mail-wi0-x233.google.com ([2a00:1450:400c:c05::233]:60473) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VDXfC-00009U-I8 for bug-gnu-emacs@gnu.org; Sun, 25 Aug 2013 06:35:18 -0400 Received: by mail-wi0-f179.google.com with SMTP id hr7so1914790wib.12 for ; Sun, 25 Aug 2013 03:35:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type :content-transfer-encoding; bh=fgbvHZhpDSN1rHNagldgXeP+yhvhXFpCNBk6rjWXMHQ=; b=RhlNqigQxeHjKFRobkEZUfmdUcC2cRqBLHQWznbORR3CewTnRpNtjXHT+KL9vIsovc jEqsDqN7hX7BWhDsuqy9XZyv9rXcbLpkbiuKocb1DupFfyeYktJjleoenfWGfj9IvBJj hnj0IIaNjaeLipmSeVh6SR2LWFdZh8y/iDHue3gV2XBlnuP6krhJU30lqMAnbStjDzdA N3Fu4u80JBk9p5G3kjwcumrhYDHV4BEcmV/OL1oEd+6juRYZczzjVSIX/Idydn4vjBVR KEMddlnpsPsvnhLuFe2kDzP9C7jk9ELa73Fr5sNzGHu9jxA8xXSt0ij5SGll3KNjemW4 Eo6Q== X-Received: by 10.180.19.67 with SMTP id c3mr4027326wie.2.1377426917123; Sun, 25 Aug 2013 03:35:17 -0700 (PDT) Received: from corbeau (2a02-8435-0ad0-4700-0224-8cff-fe37-c361.rev.sfr.net. [2a02:8435:ad0:4700:224:8cff:fe37:c361]) by mx.google.com with ESMTPSA id l7sm9850243wiw.4.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sun, 25 Aug 2013 03:35:16 -0700 (PDT) From: "=?utf-8?Q?R=C3=A9mi_Vanicat?=" To: bug-gnu-emacs@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 Message-ID: <87fvtyjbxb.dlv@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -2.4 (--) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 25 Aug 2013 14:54:56 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) With the following command: (defun foo () (interactive) (verify-visited-file-modtime)) =20 Let's open some file with tramp and sudo: C-xC-f /sudo::/etc/passwd=20 then M-x foo will failed with=20 "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 opera= tion 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-tempo= rary-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 operatio= n) args)) (tramp-run-real-handler operation args)) ((eq result (quote suppr= ess)) (let (tramp-message-show-message) (tramp-message v 1 "Suppress receiv= ed in operation %s" (append (list operation) args)) (tramp-cleanup v) (tram= p-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 n= omessage))))) (setq result (catch (quote non-essential) (catch (quote suppr= ess) (apply foreign operation args)))) (cond ((eq result (quote non-essenti= al)) (tramp-message v 5 "Non-essential received in operation %s" (append (l= ist operation) args)) (tramp-run-real-handler operation args)) ((eq result = (quote suppress)) (let (tramp-message-show-message) (tramp-message v 1 "Sup= press received in operation %s" (append (list operation) args)) (tramp-clea= nup 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 (quo= te suppress) (apply foreign operation args)))) (cond ((eq result (quote non= -essential)) (tramp-message v 5 "Non-essential received in operation %s" (a= ppend (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)) (tr= amp-cleanup v) (tramp-run-real-handler operation args))) (t result))))) (if debug-on-error (funcall body) (condition-case err (funcall body) ((de= bug quit) (let (tramp-message-show-message) (tramp-message v 1 "Interrupt r= eceived 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)) (me= mq 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 (fun= call body) ((debug quit) (let (tramp-message-show-message) (tramp-message v= 1 "Interrupt received in operation %s" (append (list operation) args))) (s= ignal (car err) (cdr err))) (error (cond ((and completion (zerop ...) (memq= operation ...)) t) ((and completion (zerop ...) (memq operation ...)) file= name) (t (signal (car err) (cdr err)))))))) (if foreign (let ((body (function (lambda nil (let (... result) (if ... .= ..) (setq result ...) (cond ... ... ...)))))) (if debug-on-error (funcall b= ody) (condition-case err (funcall body) ((debug quit) (let (tramp-message-s= how-message) (tramp-message v 1 "Interrupt received in operation %s" (appen= d ... args))) (signal (car err) (cdr err))) (error (cond ((and completion .= .. ...) t) ((and completion ... ...) filename) (t (signal ... ...))))))) (t= ramp-run-real-handler operation args)) (let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-me= thod v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (l= ocalname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if = foreign (let ((body (function (lambda nil (let ... ... ... ...))))) (if deb= ug-on-error (funcall body) (condition-case err (funcall body) ((debug quit)= (let (tramp-message-show-message) (tramp-message v 1 "Interrupt received i= n 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-m= ode-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 (l= et ((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 (quot= e tramp-file-name-for-operation) operation args))) (completion (tramp-compl= etion-mode-p)) (foreign (tramp-find-foreign-file-name-handler filename))) (= let* ((v (tramp-dissect-file-name filename)) (method (tramp-file-name-metho= d v)) (user (tramp-file-name-user v)) (host (tramp-file-name-host v)) (loca= lname (tramp-file-name-localname v)) (hop (tramp-file-name-hop v))) (if for= eign (let ((body (function ...))) (if debug-on-error (funcall body) (condit= ion-case err (funcall body) (... ... ...) (error ...)))) (tramp-run-real-ha= ndler operation args))))) (unwind-protect (progn (let* ((filename (tramp-replace-environment-variab= les (apply (quote tramp-file-name-for-operation) operation args))) (complet= ion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-handl= er filename))) (let* ((v (tramp-dissect-file-name filename)) (method (tramp= -file-name-method v)) (user (tramp-file-name-user v)) (host (tramp-file-nam= e-host v)) (localname (tramp-file-name-localname v)) (hop (tramp-file-name-= hop v))) (if foreign (let ((body ...)) (if debug-on-error (funcall body) (c= ondition-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 (le= t* ((filename (tramp-replace-environment-variables (apply ... operation arg= s))) (completion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-fi= le-name-handler filename))) (let* ((v (tramp-dissect-file-name filename)) (= method (tramp-file-name-method v)) (user (tramp-file-name-user v)) (host (t= ramp-file-name-host v)) (localname (tramp-file-name-localname v)) (hop (tra= mp-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-pro= tect (progn (let* ((filename (tramp-replace-environment-variables ...)) (co= mpletion (tramp-completion-mode-p)) (foreign (tramp-find-foreign-file-name-= handler filename))) (let* ((v ...) (method ...) (user ...) (host ...) (loca= lname ...) (hop ...)) (if foreign (let ... ...) (tramp-run-real-handler ope= ration 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=3D/usr' '--sharedstatedir=3D/var/lib' '--libexecdir=3D/usr/lib' '--localstatedir=3D/var/lib' '--infodir=3D/usr/share/info' '--mandir=3D/usr/share/man' '--with-pop=3Dyes' '--enable-locallisppath=3D/etc/emacs24:/etc/emacs:/usr/local/share/emacs/2= 4.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-l= isp:/usr/share/emacs/site-lisp' '--with-crt-dir=3D/usr/lib/x86_64-linux-gnu' '--with-x=3Dyes' '--with-x-toolkit=3Dgtk3' '--with-toolkit-scroll-bars' 'build_alias=3Dx86_64-linux-gnu' 'CFLAGS=3D-g -O2 -fstack-protector --param=3Dssp-buffer-size=3D4 -Wformat -Werror=3Dformat-security -Wall' 'LDFLAGS=3D-Wl,-z,relro' 'CPPFLAGS=3D-D_FORTIFY_SOURCE=3D2'' 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 n =20 e l m a g C-x g b b =20 F F C-x o =20 =20 C-s r e v e r t C-w C-s=20 C-s =20 C-a C-e =20 C-a C-k C-k =20 =20 =20 =20 =20 =20 =20 C-_ C-_ C-_ =20 C-e SPC ( c u r r =20 b u C-x C-s n =20 C-SPC =20 M-w C-h f =20 r e p SPC o SPC r SPC e m 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/magi= t-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/mag= it-1.2.0/magit-topgit /home/moi/.emacs.d/src/magit/magit-key-mode hides /home/moi/.emacs.d/elpa/m= agit-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/magi= t-1.2.0/magit-stgit /home/moi/.emacs.d/src/magit/magit-bisect hides /home/moi/.emacs.d/elpa/mag= it-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/si= te-lisp/yasnippet/yasnippet /home/moi/.emacs.d/src/tiny-tools/lisp/other/folding hides /usr/share/emacs= 24/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-lis= p/magit/magit-wip /home/moi/.emacs.d/src/magit/magit-key-mode hides /usr/share/emacs/24.3/sit= e-lisp/magit/magit-key-mode /home/moi/.emacs.d/src/magit/magit-blame hides /usr/share/emacs/24.3/site-l= isp/magit/magit-blame /home/moi/.emacs.d/src/magit/magit-svn hides /usr/share/emacs/24.3/site-lis= p/magit/magit-svn /home/moi/.emacs.d/src/magit/magit-stgit hides /usr/share/emacs/24.3/site-l= isp/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/ma= git/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-li= sp/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/sit= e-lisp/proofgeneral/coq/coq-syntax /usr/share/emacs/24.3/site-lisp/cmake-data/cmake-mode hides /usr/share/emac= s/site-lisp/cmake-mode /usr/share/emacs24/site-lisp/quilt-el/quilt hides /usr/share/emacs/site-lis= p/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/em= acs/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/li= sp/org/org-ctags /home/moi/lang/elisp/org-mode/lisp/ob-tangle hides /usr/share/emacs/24.3/li= sp/org/ob-tangle /home/moi/lang/elisp/org-mode/lisp/ob-table hides /usr/share/emacs/24.3/lis= p/org/ob-table /home/moi/lang/elisp/org-mode/lisp/org-indent hides /usr/share/emacs/24.3/l= isp/org/org-indent /home/moi/lang/elisp/org-mode/lisp/ob-C hides /usr/share/emacs/24.3/lisp/or= g/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/li= sp/org/ob-maxima /home/moi/lang/elisp/org-mode/lisp/org-list hides /usr/share/emacs/24.3/lis= p/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/o= rg/ob-io /home/moi/lang/elisp/org-mode/lisp/ob-clojure hides /usr/share/emacs/24.3/l= isp/org/ob-clojure /home/moi/lang/elisp/org-mode/lisp/org-bibtex hides /usr/share/emacs/24.3/l= isp/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/li= sp/org/org-timer /home/moi/lang/elisp/org-mode/lisp/ob-mscgen hides /usr/share/emacs/24.3/li= sp/org/ob-mscgen /home/moi/lang/elisp/org-mode/lisp/org-mobile hides /usr/share/emacs/24.3/l= isp/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/l= isp/org/org-agenda /home/moi/lang/elisp/org-mode/lisp/ob-sqlite hides /usr/share/emacs/24.3/li= sp/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/li= sp/org/ob-scheme /home/moi/lang/elisp/org-mode/lisp/org-macs hides /usr/share/emacs/24.3/lis= p/org/org-macs /home/moi/lang/elisp/org-mode/lisp/ob-fortran hides /usr/share/emacs/24.3/l= isp/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/o= rg/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/li= sp/org/org-habit /home/moi/lang/elisp/org-mode/lisp/ob-R hides /usr/share/emacs/24.3/lisp/or= g/ob-R /home/moi/lang/elisp/org-mode/lisp/org-info hides /usr/share/emacs/24.3/lis= p/org/org-info /home/moi/lang/elisp/org-mode/lisp/org-feed hides /usr/share/emacs/24.3/lis= p/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/li= sp/org/org-faces /home/moi/lang/elisp/org-mode/lisp/ob-gnuplot hides /usr/share/emacs/24.3/l= isp/org/ob-gnuplot /home/moi/lang/elisp/org-mode/lisp/org-table hides /usr/share/emacs/24.3/li= sp/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/li= sp/org/org-crypt /home/moi/lang/elisp/org-mode/lisp/ob-ditaa hides /usr/share/emacs/24.3/lis= p/org/ob-ditaa /home/moi/lang/elisp/org-mode/lisp/ob-ledger hides /usr/share/emacs/24.3/li= sp/org/ob-ledger /home/moi/lang/elisp/org-mode/lisp/org-eshell hides /usr/share/emacs/24.3/l= isp/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/li= sp/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/li= sp/org/ob-comint /home/moi/lang/elisp/org-mode/lisp/ob-octave hides /usr/share/emacs/24.3/li= sp/org/ob-octave /home/moi/lang/elisp/org-mode/lisp/ob-python hides /usr/share/emacs/24.3/li= sp/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/li= sp/org/ob-screen /home/moi/lang/elisp/org-mode/lisp/org-gnus hides /usr/share/emacs/24.3/lis= p/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/o= rg/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/lis= p/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/l= isp/org/ob-haskell /home/moi/lang/elisp/org-mode/lisp/org-rmail hides /usr/share/emacs/24.3/li= sp/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/lis= p/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/li= sp/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/lis= p/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/l= isp/org/org-attach /home/moi/lang/elisp/org-mode/lisp/org-bbdb hides /usr/share/emacs/24.3/lis= p/org/org-bbdb /home/moi/lang/elisp/org-mode/lisp/org-compat hides /usr/share/emacs/24.3/l= isp/org/org-compat /home/moi/lang/elisp/org-mode/lisp/ob-ocaml hides /usr/share/emacs/24.3/lis= p/org/ob-ocaml /home/moi/lang/elisp/org-mode/lisp/org-mouse hides /usr/share/emacs/24.3/li= sp/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/lis= p/net/sasl-cram /usr/share/emacs24/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.3/l= isp/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/lis= p/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/g= nus/.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/sit= e-lisp/auctex/multi-prompt /usr/share/emacs24/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-l= isp/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-lis= p/auctex/preview /usr/share/emacs24/site-lisp/auctex/texmathp hides /usr/share/emacs/site-li= sp/auctex/texmathp /usr/share/emacs24/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/au= ctex/tex /usr/share/emacs24/site-lisp/auctex/tex-style hides /usr/share/emacs/site-l= isp/auctex/tex-style /usr/share/emacs24/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lis= p/auctex/tex-buf /usr/share/emacs24/site-lisp/auctex/context hides /usr/share/emacs/site-lis= p/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-l= isp/auctex/prv-emacs /usr/share/emacs24/site-lisp/auctex/tex-font hides /usr/share/emacs/site-li= sp/auctex/tex-font /usr/share/emacs24/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-li= sp/auctex/tex-fold /usr/share/emacs24/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lis= p/auctex/tex-mik /usr/share/emacs24/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lis= p/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-l= isp/auctex/plain-tex /usr/share/emacs24/site-lisp/auctex/tex-info hides /usr/share/emacs/site-li= sp/auctex/tex-info /usr/share/emacs24/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-li= sp/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) --=20 R=C3=A9mi Vanicat ------------=_1377500943-12906-1--