From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Simon Leinen Newsgroups: gmane.emacs.bugs Subject: bug#31022: 27.0.50; darwin: Infinite recursion in tramp-file-name-handler Date: Mon, 2 Apr 2018 13:56:04 +0200 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1522671380 22695 195.159.176.226 (2 Apr 2018 12:16:20 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 2 Apr 2018 12:16:20 +0000 (UTC) To: 31022@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Apr 02 14:16:16 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f2yNk-0005ns-1d for geb-bug-gnu-emacs@m.gmane.org; Mon, 02 Apr 2018 14:16:16 +0200 Original-Received: from localhost ([::1]:58514 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f2yPn-0000ZO-KV for geb-bug-gnu-emacs@m.gmane.org; Mon, 02 Apr 2018 08:18:23 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f2yPZ-0000Yj-GJ for bug-gnu-emacs@gnu.org; Mon, 02 Apr 2018 08:18:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f2yPU-0001nt-Ds for bug-gnu-emacs@gnu.org; Mon, 02 Apr 2018 08:18:09 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:55088) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f2yPU-0001nj-6j for bug-gnu-emacs@gnu.org; Mon, 02 Apr 2018 08:18:04 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1f2yPS-0006Er-2L for bug-gnu-emacs@gnu.org; Mon, 02 Apr 2018 08:18:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Simon Leinen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 02 Apr 2018 12:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 31022 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: Original-Received: via spool by submit@debbugs.gnu.org id=B.152267147523967 (code B ref -1); Mon, 02 Apr 2018 12:18:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 2 Apr 2018 12:17:55 +0000 Original-Received: from localhost ([127.0.0.1]:34752 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f2yPK-0006EU-CR for submit@debbugs.gnu.org; Mon, 02 Apr 2018 08:17:55 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:35291) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f2yPH-0006ED-9x for submit@debbugs.gnu.org; Mon, 02 Apr 2018 08:17:53 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f2yP7-0001M1-28 for submit@debbugs.gnu.org; Mon, 02 Apr 2018 08:17:46 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:50683) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1f2yP6-0001Lk-UQ for submit@debbugs.gnu.org; Mon, 02 Apr 2018 08:17:40 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54482) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f2yP0-0000HQ-53 for bug-gnu-emacs@gnu.org; Mon, 02 Apr 2018 08:17:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f2yOv-0001AZ-3X for bug-gnu-emacs@gnu.org; Mon, 02 Apr 2018 08:17:34 -0400 Original-Received: from edge20.ethz.ch ([82.130.99.26]:28521) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1f2yOu-00015L-Ao for bug-gnu-emacs@gnu.org; Mon, 02 Apr 2018 08:17:29 -0400 Original-Received: from CAS21.d.ethz.ch (172.31.51.111) by edge20.ethz.ch (82.130.99.26) with Microsoft SMTP Server (TLS) id 14.3.389.1; Mon, 2 Apr 2018 13:56:05 +0200 Original-Received: from macsl (130.59.26.133) by mail.ethz.ch (172.31.51.111) with Microsoft SMTP Server (TLS) id 14.3.389.1; Mon, 2 Apr 2018 13:56:04 +0200 X-Originating-IP: [130.59.26.133] X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:144793 Archived-At: >From a drawin host, visit a file on a non-darwin remote host via tramp, using C-x C-f /sshx:HOST:/DIR/FILE >From that buffer, try to visit another file on that same host, or simply trigger file name completion by typing e.g. C-x C-f TAB Instead of the desired result, you will see an error message such as tramp-file-name-handler: Lisp nesting exceeds =E2=80=98max-lisp-eval-dept= h=E2=80=99 (See below for analysis and a proposed patch.) Using debug-on-quit, I obtained the following backtrace: Debugger entered--Lisp error: (quit) signal(quit nil) tramp-file-name-handler(process-file "/bin/sh" nil # nil "-c" "getconf DARWIN_USER_TEMP_DIR") apply(tramp-file-name-handler process-file "/bin/sh" nil # nil ("-c" "getconf DARWIN_USER_TEMP_DIR")) process-file("/bin/sh" nil # nil "-c" "get= conf DARWIN_USER_TEMP_DIR") apply(process-file "/bin/sh" nil # nil ("-= c" "getconf DARWIN_USER_TEMP_DIR")) tramp-handle-shell-command("getconf DARWIN_USER_TEMP_DIR" t nil) apply(tramp-handle-shell-command ("getconf DARWIN_USER_TEMP_DIR" t nil)) tramp-sh-file-name-handler(shell-command "getconf DARWIN_USER_TEMP_DIR" t= nil) apply(tramp-sh-file-name-handler shell-command ("getconf DARWIN_USER_TEMP= _DIR" t nil)) tramp-file-name-handler(shell-command "getconf DARWIN_USER_TEMP_DIR" t ni= l) shell-command("getconf DARWIN_USER_TEMP_DIR" t) shell-command-to-string("getconf DARWIN_USER_TEMP_DIR") (progn (shell-command-to-string "getconf DARWIN_USER_TEMP_DIR")) (condition-case nil (progn (shell-command-to-string "getconf DARWIN_USER_= TEMP_DIR")) (error nil)) (ignore-errors (shell-command-to-string "getconf DARWIN_USER_TEMP_DIR")) (let ((tmp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_T= EMP_DIR")))) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'"= "" tmp)) (file-directory-p tmp) tmp)) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((tmp (ignore-e= rrors (shell-command-to-string "getconf DARWIN_USER_TEMP_DIR")))) (and (str= ingp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (file-direct= ory-p tmp) tmp)) "/tmp") (cond ((memq system-type '(ms-dos windows-nt)) (or (getenv "TEMP") (geten= v "TMPDIR") (getenv "TMP") "c:/temp")) ((eq system-type 'darwin) (or (geten= v "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((tmp (ignore-errors (shell= -command-to-string "getconf DARWIN_USER_TEMP_DIR")))) (and (stringp tmp) (s= etq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (file-directory-p tmp) t= mp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "/tmp= "))) (file-name-as-directory (cond ((memq system-type '(ms-dos windows-nt)) (o= r (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp")) ((eq system-= type 'darwin) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((t= mp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_TEMP_DIR"))= )) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) = (file-directory-p tmp) tmp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv "TMP= ") (getenv "TEMP") "/tmp")))) eval((file-name-as-directory (cond ((memq system-type '(ms-dos windows-nt= )) (or (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp")) ((eq sy= stem-type 'darwin) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (le= t ((tmp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_TEMP_D= IR")))) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" t= mp)) (file-directory-p tmp) tmp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv= "TMP") (getenv "TEMP") "/tmp"))))) tramp-sh-handle-expand-file-name("getconf: Unrecognized variable `DARWIN_= USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/") apply(tramp-sh-handle-expand-file-name ("getconf: Unrecognized variable `= DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/")) tramp-sh-file-name-handler(expand-file-name "getconf: Unrecognized variab= le `DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/") apply(tramp-sh-file-name-handler expand-file-name ("getconf: Unrecognized= variable `DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/")) tramp-file-name-handler(expand-file-name "getconf: Unrecognized variable = `DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/") file-directory-p("getconf: Unrecognized variable `DARWIN_USER_TEMP_DIR'") (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (= file-directory-p tmp) tmp) (let ((tmp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_T= EMP_DIR")))) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'"= "" tmp)) (file-directory-p tmp) tmp)) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((tmp (ignore-e= rrors (shell-command-to-string "getconf DARWIN_USER_TEMP_DIR")))) (and (str= ingp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (file-direct= ory-p tmp) tmp)) "/tmp") (cond ((memq system-type '(ms-dos windows-nt)) (or (getenv "TEMP") (geten= v "TMPDIR") (getenv "TMP") "c:/temp")) ((eq system-type 'darwin) (or (geten= v "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((tmp (ignore-errors (shell= -command-to-string "getconf DARWIN_USER_TEMP_DIR")))) (and (stringp tmp) (s= etq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (file-directory-p tmp) t= mp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "/tmp= "))) (file-name-as-directory (cond ((memq system-type '(ms-dos windows-nt)) (o= r (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp")) ((eq system-= type 'darwin) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((t= mp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_TEMP_DIR"))= )) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) = (file-directory-p tmp) tmp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv "TMP= ") (getenv "TEMP") "/tmp")))) eval((file-name-as-directory (cond ((memq system-type '(ms-dos windows-nt= )) (or (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp")) ((eq sy= stem-type 'darwin) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (le= t ((tmp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_TEMP_D= IR")))) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" t= mp)) (file-directory-p tmp) tmp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv= "TMP") (getenv "TEMP") "/tmp"))))) tramp-sh-handle-expand-file-name("getconf: Unrecognized variable `DARWIN_= USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/") apply(tramp-sh-handle-expand-file-name ("getconf: Unrecognized variable `= DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/")) tramp-sh-file-name-handler(expand-file-name "getconf: Unrecognized variab= le `DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/") apply(tramp-sh-file-name-handler expand-file-name ("getconf: Unrecognized= variable `DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/")) tramp-file-name-handler(expand-file-name "getconf: Unrecognized variable = `DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/") file-directory-p("getconf: Unrecognized variable `DARWIN_USER_TEMP_DIR'") (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (= file-directory-p tmp) tmp) (let ((tmp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_T= EMP_DIR")))) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'"= "" tmp)) (file-directory-p tmp) tmp)) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((tmp (ignore-e= rrors (shell-command-to-string "getconf DARWIN_USER_TEMP_DIR")))) (and (str= ingp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (file-direct= ory-p tmp) tmp)) "/tmp") (cond ((memq system-type '(ms-dos windows-nt)) (or (getenv "TEMP") (geten= v "TMPDIR") (getenv "TMP") "c:/temp")) ((eq system-type 'darwin) (or (geten= v "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((tmp (ignore-errors (shell= -command-to-string "getconf DARWIN_USER_TEMP_DIR")))) (and (stringp tmp) (s= etq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (file-directory-p tmp) t= mp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "/tmp= "))) (file-name-as-directory (cond ((memq system-type '(ms-dos windows-nt)) (o= r (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp")) ((eq system-= type 'darwin) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((t= mp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_TEMP_DIR"))= )) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) = (file-directory-p tmp) tmp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv "TMP= ") (getenv "TEMP") "/tmp")))) eval((file-name-as-directory (cond ((memq system-type '(ms-dos windows-nt= )) (or (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp")) ((eq sy= stem-type 'darwin) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (le= t ((tmp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_TEMP_D= IR")))) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" t= mp)) (file-directory-p tmp) tmp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv= "TMP") (getenv "TEMP") "/tmp"))))) tramp-sh-handle-expand-file-name("getconf: Unrecognized variable `DARWIN_= USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/") apply(tramp-sh-handle-expand-file-name ("getconf: Unrecognized variable `= DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/")) tramp-sh-file-name-handler(expand-file-name "getconf: Unrecognized variab= le `DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/") apply(tramp-sh-file-name-handler expand-file-name ("getconf: Unrecognized= variable `DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/")) tramp-file-name-handler(expand-file-name "getconf: Unrecognized variable = `DARWIN_USER_TEMP_DIR'" "/sshx:unil0005:/var/log/ceph/") file-directory-p("getconf: Unrecognized variable `DARWIN_USER_TEMP_DIR'") (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (= file-directory-p tmp) tmp) (let ((tmp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_T= EMP_DIR")))) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'"= "" tmp)) (file-directory-p tmp) tmp)) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((tmp (ignore-e= rrors (shell-command-to-string "getconf DARWIN_USER_TEMP_DIR")))) (and (str= ingp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (file-direct= ory-p tmp) tmp)) "/tmp") (cond ((memq system-type '(ms-dos windows-nt)) (or (getenv "TEMP") (geten= v "TMPDIR") (getenv "TMP") "c:/temp")) ((eq system-type 'darwin) (or (geten= v "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((tmp (ignore-errors (shell= -command-to-string "getconf DARWIN_USER_TEMP_DIR")))) (and (stringp tmp) (s= etq tmp (replace-regexp-in-string "\n\\'" "" tmp)) (file-directory-p tmp) t= mp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") "/tmp= "))) (file-name-as-directory (cond ((memq system-type '(ms-dos windows-nt)) (o= r (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp")) ((eq system-= type 'darwin) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (let ((t= mp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_TEMP_DIR"))= )) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" tmp)) = (file-directory-p tmp) tmp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv "TMP= ") (getenv "TEMP") "/tmp")))) eval((file-name-as-directory (cond ((memq system-type '(ms-dos windows-nt= )) (or (getenv "TEMP") (getenv "TMPDIR") (getenv "TMP") "c:/temp")) ((eq sy= stem-type 'darwin) (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") (le= t ((tmp (ignore-errors (shell-command-to-string "getconf DARWIN_USER_TEMP_D= IR")))) (and (stringp tmp) (setq tmp (replace-regexp-in-string "\n\\'" "" t= mp)) (file-directory-p tmp) tmp)) "/tmp")) (t (or (getenv "TMPDIR") (getenv= "TMP") (getenv "TEMP") "/tmp"))))) tramp-sh-handle-expand-file-name("/sshx:unil0005:/var/log/ceph" nil) apply(tramp-sh-handle-expand-file-name ("/sshx:unil0005:/var/log/ceph" ni= l)) tramp-sh-file-name-handler(expand-file-name "/sshx:unil0005:/var/log/ceph= " nil) apply(tramp-sh-file-name-handler expand-file-name ("/sshx:unil0005:/var/l= og/ceph" nil)) tramp-file-name-handler(expand-file-name "/sshx:unil0005:/var/log/ceph" n= il) expand-file-name("/sshx:unil0005:/var/log/ceph") tramp-handle-file-remote-p("/sshx:unil0005:/var/log/ceph" nil nil) apply(tramp-handle-file-remote-p ("/sshx:unil0005:/var/log/ceph" nil nil)) tramp-sh-file-name-handler(file-remote-p "/sshx:unil0005:/var/log/ceph" n= il nil) apply(tramp-sh-file-name-handler file-remote-p ("/sshx:unil0005:/var/log/= ceph" nil nil)) tramp-file-name-handler(file-remote-p "/sshx:unil0005:/var/log/ceph" nil = nil) file-remote-p("/sshx:unil0005:/var/log/ceph") tramp-handle-substitute-in-file-name("/sshx:unil0005:/var/log/ceph") apply(tramp-handle-substitute-in-file-name "/sshx:unil0005:/var/log/ceph") tramp-sh-file-name-handler(substitute-in-file-name "/sshx:unil0005:/var/l= og/ceph") apply(tramp-sh-file-name-handler substitute-in-file-name "/sshx:unil0005:= /var/log/ceph") tramp-file-name-handler(substitute-in-file-name "/sshx:unil0005:/var/log/= ceph") substitute-in-file-name("/sshx:unil0005:/var/log/ceph") completion--sifn-requote(29 "/sshx:unil0005:/var/log/ceph/") completion--twq-try("/sshx:unil0005:/var/log/ceph/" "/sshx:unil0005:/var/= log/ceph/" "/sshx:unil0005:/var/log/ceph/" 29 substitute-in-file-name compl= etion--sifn-requote) #f(compiled-function (unquoted-result op) #)(("/sshx= :unil0005:/var/log/ceph/" . 29) 1) completion--nth-completion(1 "/sshx:unil0005:/var/log/ceph/" read-file-na= me-internal file-exists-p 29 (metadata (category . file) (completion--unquo= te-requote . t))) completion-try-completion("/sshx:unil0005:/var/log/ceph/" read-file-name-= internal file-exists-p 29 (metadata (category . file) (completion--unquote-= requote . t))) completion--do-completion(12 41) completion--in-region-1(12 41) #f(compiled-function (start end collection predicate) #)(12 41 read-file-name-internal file-exists-p) apply(#f(compiled-function (start end collection predicate) #) (12 41 read-file-name-internal file-exists-p)) #f(compiled-function (funs global args) #)(nil nil (= 12 41 read-file-name-internal file-exists-p)) completion--in-region(12 41 read-file-name-internal file-exists-p) completion-in-region(12 41 read-file-name-internal file-exists-p) minibuffer-complete() funcall-interactively(minibuffer-complete) call-interactively(minibuffer-complete nil nil) command-execute(minibuffer-complete) read-from-minibuffer("Find file: " "/sshx:unil0005:/var/log/ceph/" (keyma= p (keymap (32)) keymap (10 . minibuffer-complete-and-exit) (13 . minibuffer= -complete-and-exit) keymap (menu-bar keymap (minibuf "Minibuf" keymap (tab = menu-item "Complete" minibuffer-complete :help "Complete as far as possible= ") (space menu-item "Complete Word" minibuffer-complete-word :help "Complet= e at most one word") (63 menu-item "List Completions" minibuffer-completion= -help :help "Display all possible completions") "Minibuf")) (27 keymap (118= . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer= -completion-help) (32 . minibuffer-complete-word) (9 . minibuffer-complete)= keymap (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Pre= vious History Item" previous-history-element :help "Put previous minibuffer= history element in the minibuffer") (next menu-item "Next History Item" ne= xt-history-element :help "Put next minibuffer history element in the minibu= ffer") (isearch-backward menu-item "Isearch History Backward" isearch-backw= ard :help "Incrementally search minibuffer history backward") (isearch-forw= ard menu-item "Isearch History Forward" isearch-forward :help "Incrementall= y search minibuffer history forward") (return menu-item "Enter" exit-minibu= ffer :key-sequence "\15" :help "Terminate input and exit minibuffer") (quit= menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuff= er") "Minibuf")) (10 . exit-minibuffer) (13 . exit-minibuffer) (7 . abort-r= ecursive-edit) (C-tab . file-cache-minibuffer-complete) (9 . self-insert-co= mmand) (XF86Back . previous-history-element) (up . previous-line-or-history= -element) (prior . previous-history-element) (XF86Forward . next-history-el= ement) (down . next-line-or-history-element) (next . next-history-element) = (27 keymap (114 . previous-matching-history-element) (115 . next-matching-h= istory-element) (112 . previous-history-element) (110 . next-history-elemen= t))) nil file-name-history "/sshx:unil0005:/var/log/ceph/" nil) completing-read-default("Find file: " read-file-name-internal file-exists= -p confirm-after-completion "/sshx:unil0005:/var/log/ceph/" file-name-histo= ry "/sshx:unil0005:/var/log/ceph/" nil) completing-read("Find file: " read-file-name-internal file-exists-p confi= rm-after-completion "/sshx:unil0005:/var/log/ceph/" file-name-history "/ssh= x:unil0005:/var/log/ceph/") read-file-name-default("Find file: " nil "/sshx:unil0005:/var/log/ceph/" = confirm-after-completion nil nil) read-file-name("Find file: " nil "/sshx:unil0005:/var/log/ceph/" confirm-= after-completion) find-file-read-args("Find file: " confirm-after-completion) byte-code("\300\301\302 \"\207" [find-file-read-args "Find file: " confir= m-nonexistent-file-or-buffer] 3) call-interactively(find-file nil nil) command-execute(find-file) The problem here is that tramp ((TRAMP-COMPAT-TEMPORARY-FILE-DIRECTORY)) evaluates the standard value of TEMPORARY-FILE-DIRECTORY (defined in cus-start.el), which calls SHELL-COMMAND-TO-STRING on the remote system, and also FILE-DIRECTORY-P, which will be replaced by tramp's version on the remote system. My remote systems are GNU/Linux, not Darwin, and the "getconf DARWIN_USER_TEMP_DIR" command returns "getconf: Unrecognized variable `DARWIN_USER_TEMP_DIR'" According to a comment in cus-start.el, the FILE-DIRECTORY-P should handle that case: ;; Handles "getconf: Unrecognized variable..." (file-directory-p tmp) ...but in the remote case, FILE-DIRECTORY-P will end up recursively calling TRAMP-COMPAT-TEMPORARY-FILE-DIRECTORY. TRAMP-COMPAT-TEMPORARY-FILE-DIRECTORY can be fixed by disabling TRAMP-MODE around its evaluation of the TEMPORARY-FILE-DIRECTORY expression: diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el index aa0c99bf9c..954e026fcd 100644 --- a/lisp/net/tramp-compat.el +++ b/lisp/net/tramp-compat.el @@ -50,12 +50,15 @@ tramp-compat-funcall `(when (functionp ,function) (with-no-warnings (funcall ,function ,@arguments)))) =20 +(defvar tramp-mode) + (defsubst tramp-compat-temporary-file-directory () "Return name of directory for temporary files. It is the default value of `temporary-file-directory'." ;; We must return a local directory. If it is remote, we could run ;; into an infloop. - (eval (car (get 'temporary-file-directory 'standard-value)))) + (let ((tramp-mode nil)) + (eval (car (get 'temporary-file-directory 'standard-value))))) =20 (defsubst tramp-compat-make-temp-file (f &optional dir-flag) "Create a local temporary file (compat function). This change is consistent with the comment in the function that says that a local directory should always be returned. I don't know whether the top-level (DEFVAR TRAMP-MODE) is the correct idiom for making sure we bind the global variable TRAMP-MODE, which is defined in another file using DEFCUSTOM. Please advise. In GNU Emacs 27.0.50 (build 9, x86_64-apple-darwin17.4.0, X toolkit, Xaw3d = scroll bars) of 2018-04-02 built on macsl Repository revision: 7228488effa78dcb75284cb6d247b24804e0e7f5 Windowing system distributor 'The X.Org Foundation', version 11.0.11804000 System Description: Mac OS X 10.13.3 Recent messages: Saving /Users/leinen/News/.newsrc.eld...done nnimap read 0k from mail.ethz.ch Processing kill file /Users/leinen/News/KILL...done Saving file /Users/leinen/News/.newsrc... Wrote /Users/leinen/News/.newsrc Saving /Users/leinen/News/.newsrc.eld... Saving file /Users/leinen/News/.newsrc.eld... Wrote /Users/leinen/News/.newsrc.eld Saving /Users/leinen/News/.newsrc.eld...done (No changes need to be saved) Configured using: 'configure --verbose --with-x --with-x-toolkit=3Dlucid --with-ns=3Dno --without-makeinfo LIBXML2_CFLAGS=3D-I/usr/local/opt/libxml2/include/libxml2 'LIBXML2_LIBS=3D-L/usr/local/opt/libxml2/lib -lxml2' --with-jpeg=3Dno --with-gif=3Dno --with-tiff=3Dno --x-libraries=3D/usr/X11/lib --x-includes=3D/usr/X11/include --with-xpm=3Dno PKG_CONFIG_PATH=3D/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr= /X11/lib/pkgconfig:/usr/X11/share/pkgconfig' Configured features: XAW3D PNG RSVG DBUS GSETTINGS NOTIFY ACL GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11 THREADS JSON Important settings: value of $LC_CTYPE: en_US.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Group Minor modes in effect: gnus-undo-mode: t shell-dirtrack-mode: t auto-insert-mode: t tooltip-mode: t global-eldoc-mode: t mouse-wheel-mode: t menu-bar-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 temp-buffer-resize-mode: t buffer-read-only: t line-number-mode: t transient-mark-mode: t Load-path shadows: /Users/leinen/.emacs.d/elpa/confluence-20151020.1828/confluence-edit hides = /Users/leinen/.emacs.d/elpa/confluence-edit-20110609.1452/confluence-edit /Users/leinen/.emacs.d/elpa/ruby-mode-20121202.2143/ruby-mode hides /Users/= leinen/emacs/lisp/ruby-mode /Users/leinen/.emacs.d/elpa/bbdb-20180330.2018/bbdb-anniv hides /Users/lein= en/emacs/lisp/bbdb-anniv /Users/leinen/.emacs.d/elpa/bbdb-20180330.2018/bbdb-pgp hides /Users/leinen= /emacs/lisp/bbdb-pgp /Users/leinen/.emacs.d/elpa/puppet-mode-20171220.2249/puppet-mode hides /Us= ers/leinen/emacs/lisp/puppet-mode /Users/leinen/.emacs.d/elpa/yang-mode-20180306.407/yang-mode hides /Users/l= einen/emacs/lisp/yang-mode /Users/leinen/.emacs.d/elpa/muse-3.20.2/httpd hides /Users/leinen/emacs/lis= p/httpd /Users/leinen/emacs/lisp/u-vm-color hides /usr/local/share/emacs/site-lisp/= vm/u-vm-color /Users/leinen/.emacs.d/elpa/svg-0.1/svg hides /usr/local/share/emacs/27.0.5= 0/lisp/svg /Users/leinen/emacs/lisp/mouse-copy hides /usr/local/share/emacs/27.0.50/li= sp/mouse-copy /Users/leinen/.emacs.d/elpa/ruby-mode-20121202.2143/ruby-mode hides /usr/lo= cal/share/emacs/27.0.50/lisp/progmodes/ruby-mode /Users/leinen/.emacs.d/elpa/org-20180402/ob-stan hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-stan /Users/leinen/.emacs.d/elpa/org-20180402/ob-exp hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-exp /Users/leinen/.emacs.d/elpa/org-20180402/ob-J hides /usr/local/share/emacs/= 27.0.50/lisp/org/ob-J /Users/leinen/.emacs.d/elpa/org-20180402/org-eshell hides /usr/local/share/= emacs/27.0.50/lisp/org/org-eshell /Users/leinen/.emacs.d/elpa/org-20180402/ob-emacs-lisp hides /usr/local/sha= re/emacs/27.0.50/lisp/org/ob-emacs-lisp /Users/leinen/.emacs.d/elpa/org-20180402/org-gnus hides /usr/local/share/em= acs/27.0.50/lisp/org/org-gnus /Users/leinen/.emacs.d/elpa/org-20180402/ob-css hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-css /Users/leinen/.emacs.d/elpa/org-20180402/ob-lob hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-lob /Users/leinen/.emacs.d/elpa/org-20180402/ob-forth hides /usr/local/share/em= acs/27.0.50/lisp/org/ob-forth /Users/leinen/.emacs.d/elpa/org-20180402/org-macs hides /usr/local/share/em= acs/27.0.50/lisp/org/org-macs /Users/leinen/.emacs.d/elpa/org-20180402/ob hides /usr/local/share/emacs/27= .0.50/lisp/org/ob /Users/leinen/.emacs.d/elpa/org-20180402/org-version hides /usr/local/share= /emacs/27.0.50/lisp/org/org-version /Users/leinen/.emacs.d/elpa/org-20180402/ob-scheme hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-scheme /Users/leinen/.emacs.d/elpa/org-20180402/ox hides /usr/local/share/emacs/27= .0.50/lisp/org/ox /Users/leinen/.emacs.d/elpa/org-20180402/ob-abc hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-abc /Users/leinen/.emacs.d/elpa/org-20180402/ob-C hides /usr/local/share/emacs/= 27.0.50/lisp/org/ob-C /Users/leinen/.emacs.d/elpa/org-20180402/org-capture hides /usr/local/share= /emacs/27.0.50/lisp/org/org-capture /Users/leinen/.emacs.d/elpa/org-20180402/ob-ref hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-ref /Users/leinen/.emacs.d/elpa/org-20180402/ob-clojure hides /usr/local/share/= emacs/27.0.50/lisp/org/ob-clojure /Users/leinen/.emacs.d/elpa/org-20180402/org-mouse hides /usr/local/share/e= macs/27.0.50/lisp/org/org-mouse /Users/leinen/.emacs.d/elpa/org-20180402/ob-ledger hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-ledger /Users/leinen/.emacs.d/elpa/org-20180402/org-ctags hides /usr/local/share/e= macs/27.0.50/lisp/org/org-ctags /Users/leinen/.emacs.d/elpa/org-20180402/org-entities hides /usr/local/shar= e/emacs/27.0.50/lisp/org/org-entities /Users/leinen/.emacs.d/elpa/org-20180402/org-archive hides /usr/local/share= /emacs/27.0.50/lisp/org/org-archive /Users/leinen/.emacs.d/elpa/org-20180402/ob-screen hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-screen /Users/leinen/.emacs.d/elpa/org-20180402/ob-haskell hides /usr/local/share/= emacs/27.0.50/lisp/org/ob-haskell /Users/leinen/.emacs.d/elpa/org-20180402/ob-asymptote hides /usr/local/shar= e/emacs/27.0.50/lisp/org/ob-asymptote /Users/leinen/.emacs.d/elpa/org-20180402/org-mhe hides /usr/local/share/ema= cs/27.0.50/lisp/org/org-mhe /Users/leinen/.emacs.d/elpa/org-20180402/org-table hides /usr/local/share/e= macs/27.0.50/lisp/org/org-table /Users/leinen/.emacs.d/elpa/org-20180402/ob-keys hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-keys /Users/leinen/.emacs.d/elpa/org-20180402/ox-org hides /usr/local/share/emac= s/27.0.50/lisp/org/ox-org /Users/leinen/.emacs.d/elpa/org-20180402/org-plot hides /usr/local/share/em= acs/27.0.50/lisp/org/org-plot /Users/leinen/.emacs.d/elpa/org-20180402/ob-awk hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-awk /Users/leinen/.emacs.d/elpa/org-20180402/ob-groovy hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-groovy /Users/leinen/.emacs.d/elpa/org-20180402/ob-octave hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-octave /Users/leinen/.emacs.d/elpa/org-20180402/org-faces hides /usr/local/share/e= macs/27.0.50/lisp/org/org-faces /Users/leinen/.emacs.d/elpa/org-20180402/org-colview hides /usr/local/share= /emacs/27.0.50/lisp/org/org-colview /Users/leinen/.emacs.d/elpa/org-20180402/ob-R hides /usr/local/share/emacs/= 27.0.50/lisp/org/ob-R /Users/leinen/.emacs.d/elpa/org-20180402/org-timer hides /usr/local/share/e= macs/27.0.50/lisp/org/org-timer /Users/leinen/.emacs.d/elpa/org-20180402/ob-ebnf hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-ebnf /Users/leinen/.emacs.d/elpa/org-20180402/org-mobile hides /usr/local/share/= emacs/27.0.50/lisp/org/org-mobile /Users/leinen/.emacs.d/elpa/org-20180402/ob-fortran hides /usr/local/share/= emacs/27.0.50/lisp/org/ob-fortran /Users/leinen/.emacs.d/elpa/org-20180402/ob-shell hides /usr/local/share/em= acs/27.0.50/lisp/org/ob-shell /Users/leinen/.emacs.d/elpa/org-20180402/ob-perl hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-perl /Users/leinen/.emacs.d/elpa/org-20180402/ob-sqlite hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-sqlite /Users/leinen/.emacs.d/elpa/org-20180402/ob-sed hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-sed /Users/leinen/.emacs.d/elpa/org-20180402/org-list hides /usr/local/share/em= acs/27.0.50/lisp/org/org-list /Users/leinen/.emacs.d/elpa/org-20180402/ob-ruby hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-ruby /Users/leinen/.emacs.d/elpa/org-20180402/ob-eval hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-eval /Users/leinen/.emacs.d/elpa/org-20180402/org-habit hides /usr/local/share/e= macs/27.0.50/lisp/org/org-habit /Users/leinen/.emacs.d/elpa/org-20180402/org-clock hides /usr/local/share/e= macs/27.0.50/lisp/org/org-clock /Users/leinen/.emacs.d/elpa/org-20180402/ox-html hides /usr/local/share/ema= cs/27.0.50/lisp/org/ox-html /Users/leinen/.emacs.d/elpa/org-20180402/org-src hides /usr/local/share/ema= cs/27.0.50/lisp/org/org-src /Users/leinen/.emacs.d/elpa/org-20180402/ob-lisp hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-lisp /Users/leinen/.emacs.d/elpa/org-20180402/ob-ditaa hides /usr/local/share/em= acs/27.0.50/lisp/org/ob-ditaa /Users/leinen/.emacs.d/elpa/org-20180402/org-pcomplete hides /usr/local/sha= re/emacs/27.0.50/lisp/org/org-pcomplete /Users/leinen/.emacs.d/elpa/org-20180402/org-lint hides /usr/local/share/em= acs/27.0.50/lisp/org/org-lint /Users/leinen/.emacs.d/elpa/org-20180402/org-rmail hides /usr/local/share/e= macs/27.0.50/lisp/org/org-rmail /Users/leinen/.emacs.d/elpa/org-20180402/ox-latex hides /usr/local/share/em= acs/27.0.50/lisp/org/ox-latex /Users/leinen/.emacs.d/elpa/org-20180402/ob-sass hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-sass /Users/leinen/.emacs.d/elpa/org-20180402/ob-io hides /usr/local/share/emacs= /27.0.50/lisp/org/ob-io /Users/leinen/.emacs.d/elpa/org-20180402/ob-tangle hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-tangle /Users/leinen/.emacs.d/elpa/org-20180402/ob-calc hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-calc /Users/leinen/.emacs.d/elpa/org-20180402/ob-java hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-java /Users/leinen/.emacs.d/elpa/org-20180402/ox-icalendar hides /usr/local/shar= e/emacs/27.0.50/lisp/org/ox-icalendar /Users/leinen/.emacs.d/elpa/org-20180402/org-eww hides /usr/local/share/ema= cs/27.0.50/lisp/org/org-eww /Users/leinen/.emacs.d/elpa/org-20180402/ox-md hides /usr/local/share/emacs= /27.0.50/lisp/org/ox-md /Users/leinen/.emacs.d/elpa/org-20180402/ox-beamer hides /usr/local/share/e= macs/27.0.50/lisp/org/ox-beamer /Users/leinen/.emacs.d/elpa/org-20180402/org-element hides /usr/local/share= /emacs/27.0.50/lisp/org/org-element /Users/leinen/.emacs.d/elpa/org-20180402/org-protocol hides /usr/local/shar= e/emacs/27.0.50/lisp/org/org-protocol /Users/leinen/.emacs.d/elpa/org-20180402/ob-mscgen hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-mscgen /Users/leinen/.emacs.d/elpa/org-20180402/ob-gnuplot hides /usr/local/share/= emacs/27.0.50/lisp/org/ob-gnuplot /Users/leinen/.emacs.d/elpa/org-20180402/ob-latex hides /usr/local/share/em= acs/27.0.50/lisp/org/ob-latex /Users/leinen/.emacs.d/elpa/org-20180402/org-id hides /usr/local/share/emac= s/27.0.50/lisp/org/org-id /Users/leinen/.emacs.d/elpa/org-20180402/ob-vala hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-vala /Users/leinen/.emacs.d/elpa/org-20180402/ox-man hides /usr/local/share/emac= s/27.0.50/lisp/org/ox-man /Users/leinen/.emacs.d/elpa/org-20180402/org-feed hides /usr/local/share/em= acs/27.0.50/lisp/org/org-feed /Users/leinen/.emacs.d/elpa/org-20180402/ob-lua hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-lua /Users/leinen/.emacs.d/elpa/org-20180402/ob-table hides /usr/local/share/em= acs/27.0.50/lisp/org/ob-table /Users/leinen/.emacs.d/elpa/org-20180402/ob-ocaml hides /usr/local/share/em= acs/27.0.50/lisp/org/ob-ocaml /Users/leinen/.emacs.d/elpa/org-20180402/ob-coq hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-coq /Users/leinen/.emacs.d/elpa/org-20180402/ob-picolisp hides /usr/local/share= /emacs/27.0.50/lisp/org/ob-picolisp /Users/leinen/.emacs.d/elpa/org-20180402/org-indent hides /usr/local/share/= emacs/27.0.50/lisp/org/org-indent /Users/leinen/.emacs.d/elpa/org-20180402/ob-lilypond hides /usr/local/share= /emacs/27.0.50/lisp/org/ob-lilypond /Users/leinen/.emacs.d/elpa/org-20180402/ob-matlab hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-matlab /Users/leinen/.emacs.d/elpa/org-20180402/org-datetree hides /usr/local/shar= e/emacs/27.0.50/lisp/org/org-datetree /Users/leinen/.emacs.d/elpa/org-20180402/ob-python hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-python /Users/leinen/.emacs.d/elpa/org-20180402/org-bbdb hides /usr/local/share/em= acs/27.0.50/lisp/org/org-bbdb /Users/leinen/.emacs.d/elpa/org-20180402/ob-makefile hides /usr/local/share= /emacs/27.0.50/lisp/org/ob-makefile /Users/leinen/.emacs.d/elpa/org-20180402/org-duration hides /usr/local/shar= e/emacs/27.0.50/lisp/org/org-duration /Users/leinen/.emacs.d/elpa/org-20180402/org-agenda hides /usr/local/share/= emacs/27.0.50/lisp/org/org-agenda /Users/leinen/.emacs.d/elpa/org-20180402/ob-dot hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-dot /Users/leinen/.emacs.d/elpa/org-20180402/ob-js hides /usr/local/share/emacs= /27.0.50/lisp/org/ob-js /Users/leinen/.emacs.d/elpa/org-20180402/ox-publish hides /usr/local/share/= emacs/27.0.50/lisp/org/ox-publish /Users/leinen/.emacs.d/elpa/org-20180402/org-inlinetask hides /usr/local/sh= are/emacs/27.0.50/lisp/org/org-inlinetask /Users/leinen/.emacs.d/elpa/org-20180402/ob-org hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-org /Users/leinen/.emacs.d/elpa/org-20180402/ob-core hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-core /Users/leinen/.emacs.d/elpa/org-20180402/org-compat hides /usr/local/share/= emacs/27.0.50/lisp/org/org-compat /Users/leinen/.emacs.d/elpa/org-20180402/org-docview hides /usr/local/share= /emacs/27.0.50/lisp/org/org-docview /Users/leinen/.emacs.d/elpa/org-20180402/ox-odt hides /usr/local/share/emac= s/27.0.50/lisp/org/ox-odt /Users/leinen/.emacs.d/elpa/org-20180402/ob-plantuml hides /usr/local/share= /emacs/27.0.50/lisp/org/ob-plantuml /Users/leinen/.emacs.d/elpa/org-20180402/ox-ascii hides /usr/local/share/em= acs/27.0.50/lisp/org/ox-ascii /Users/leinen/.emacs.d/elpa/org-20180402/org-loaddefs hides /usr/local/shar= e/emacs/27.0.50/lisp/org/org-loaddefs /Users/leinen/.emacs.d/elpa/org-20180402/org-w3m hides /usr/local/share/ema= cs/27.0.50/lisp/org/org-w3m /Users/leinen/.emacs.d/elpa/org-20180402/org-bibtex hides /usr/local/share/= emacs/27.0.50/lisp/org/org-bibtex /Users/leinen/.emacs.d/elpa/org-20180402/org-info hides /usr/local/share/em= acs/27.0.50/lisp/org/org-info /Users/leinen/.emacs.d/elpa/org-20180402/ob-hledger hides /usr/local/share/= emacs/27.0.50/lisp/org/ob-hledger /Users/leinen/.emacs.d/elpa/org-20180402/ob-maxima hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-maxima /Users/leinen/.emacs.d/elpa/org-20180402/org hides /usr/local/share/emacs/2= 7.0.50/lisp/org/org /Users/leinen/.emacs.d/elpa/org-20180402/org-macro hides /usr/local/share/e= macs/27.0.50/lisp/org/org-macro /Users/leinen/.emacs.d/elpa/org-20180402/ob-sql hides /usr/local/share/emac= s/27.0.50/lisp/org/ob-sql /Users/leinen/.emacs.d/elpa/org-20180402/org-attach hides /usr/local/share/= emacs/27.0.50/lisp/org/org-attach /Users/leinen/.emacs.d/elpa/org-20180402/ob-processing hides /usr/local/sha= re/emacs/27.0.50/lisp/org/ob-processing /Users/leinen/.emacs.d/elpa/org-20180402/ox-texinfo hides /usr/local/share/= emacs/27.0.50/lisp/org/ox-texinfo /Users/leinen/.emacs.d/elpa/org-20180402/org-irc hides /usr/local/share/ema= cs/27.0.50/lisp/org/org-irc /Users/leinen/.emacs.d/elpa/org-20180402/org-crypt hides /usr/local/share/e= macs/27.0.50/lisp/org/org-crypt /Users/leinen/.emacs.d/elpa/org-20180402/org-footnote hides /usr/local/shar= e/emacs/27.0.50/lisp/org/org-footnote /Users/leinen/.emacs.d/elpa/org-20180402/org-install hides /usr/local/share= /emacs/27.0.50/lisp/org/org-install /Users/leinen/.emacs.d/elpa/org-20180402/ob-comint hides /usr/local/share/e= macs/27.0.50/lisp/org/ob-comint /Users/leinen/.emacs.d/elpa/org-20180402/ob-shen hides /usr/local/share/ema= cs/27.0.50/lisp/org/ob-shen Features: (shadow warnings emacsbug vc-dispatcher m4-mode vc-filewise vc-rcs html-mode html-helper-mode tempo sgml-mode gnus-draft url-http url-gw url-auth url-queue url-cache url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf flow-fill shr-color color nroff-mode jka-compr files-x tramp-sh url-util shr svg xml dom mailalias supercite regi nnir misearch multi-isearch sort gnus-cite mm-archive gnus-bcklg gnus-async gnus-kill qp mail-extr gnus-ml disp-table nndraft nnmh utf-7 nnml gnus-init dot-gnus-sa edmacro kmacro bbdb-gnus bbdb-mua bbdb-com crm bbdb bbdb-site timezone epa-file network-stream nsm starttls gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap nntp gnus-cache gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls gnutls netrc nnoo gnus-spec gnus-int gnus-range message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win imenu elec-pair proof-site proof-autoloads pg-vars slime-mrepl inferior-slime slime-fancy slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references slime-compiler-notes-tree slime-scratch slime-presentations bridge slime-macrostep macrostep slime-mdot-fu slime-enclosing-context slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc slime-repl slime-parse slime compile etags xref project arc-mode archive-mode noutline outline easy-mmode pp hyperspec thingatpt browse-url finder-inf tex-site confluence-edit-autoloads docker-tramp tramp-cache epoch-view-autoloads idle-highlight-autoloads gh-common marshal eieio-compat logito-autoloads rx pod-mode-autoloads rnc-mode-autoloads ruby-mode-autoloads slime-autoloads windresize-autoloads info package let-alist derived pcase cl-extra help-mode easymenu url-handlers url-parse url-vars epg epg-config subr-x tramp trampver tramp-compat tramp-loaddefs ucs-normalize shell pcomplete comint ansi-color ring parse-time format-spec advice avoid gnus nnheader gnus-util rmail rmail-loaddefs time-date wid-edit autoinsert cus-start cus-load solarized-light-theme solarized-definitions cl smtpmail auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mail-utils timeclock vm-startup vm-search vm-edit vm-reply vm-mark vm-smime vm-delete vm-digest vm-undo vm-page vm-virtual vm-summary-faces vm-pop utf7 mm-util mail-prsvr vm-imap vm-thread vm-mime vm-motion vm-mouse vm-toolbar vm-menu vm-window vm-crypto vm-summary vm-folder vm-minibuf vm-misc vm-sort vm-autoloads vm-vars vm-version vm mule-util early-init tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind kqueue dynamic-setting system-font-setting font-render-setting x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 778286 58414) (symbols 48 72192 17) (miscs 40 5684 1196) (strings 32 248834 19595) (string-bytes 1 6736383) (vectors 16 91150) (vector-slots 8 2290391 251626) (floats 8 471 798) (intervals 56 2321 850) (buffers 992 79))