From unknown Sun Jun 22 00:44:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38648: 27.0.50; Emacs `compile' command does not handle remote (over TRAMP) file name correctly Resent-From: Fan Yang Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 17 Dec 2019 12:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 38648 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 38648@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.157658678130333 (code B ref -1); Tue, 17 Dec 2019 12:47:02 +0000 Received: (at submit) by debbugs.gnu.org; 17 Dec 2019 12:46:21 +0000 Received: from localhost ([127.0.0.1]:40798 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihCF1-0007t8-LB for submit@debbugs.gnu.org; Tue, 17 Dec 2019 07:46:21 -0500 Received: from lists.gnu.org ([209.51.188.17]:47356) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihCEx-0007sw-AB for submit@debbugs.gnu.org; Tue, 17 Dec 2019 07:46:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52576) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihCEr-0004nM-1J for bug-gnu-emacs@gnu.org; Tue, 17 Dec 2019 07:46:14 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: ** X-Spam-Status: No, score=2.3 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_WEB,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihCEk-000054-9w for bug-gnu-emacs@gnu.org; Tue, 17 Dec 2019 07:46:08 -0500 Received: from smtp180.sjtu.edu.cn ([202.120.2.180]:40084) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ihCEi-0008PI-IX for bug-gnu-emacs@gnu.org; Tue, 17 Dec 2019 07:46:02 -0500 Received: from proxy01.sjtu.edu.cn (unknown [202.112.26.54]) by smtp180.sjtu.edu.cn (Postfix) with ESMTPS id 4810010087473 for ; Tue, 17 Dec 2019 20:45:32 +0800 (CST) Received: from localhost (localhost [127.0.0.1]) by proxy01.sjtu.edu.cn (Postfix) with ESMTP id 32C7B201300E7 for ; Tue, 17 Dec 2019 20:45:32 +0800 (CST) X-Virus-Scanned: amavisd-new at proxy01.sjtu.edu.cn Received: from proxy01.sjtu.edu.cn ([127.0.0.1]) by localhost (proxy01.sjtu.edu.cn [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id NT69prS0TTyU for ; Tue, 17 Dec 2019 20:45:31 +0800 (CST) Received: from Fans-Air.ipads-lab.se.sjtu.edu.cn (unknown [202.120.40.82]) (Authenticated sender: Fan_Yang) by proxy01.sjtu.edu.cn (Postfix) with ESMTPSA id D4362200EDDA5 for ; Tue, 17 Dec 2019 20:45:31 +0800 (CST) From: Fan Yang Date: Tue, 17 Dec 2019 20:44:28 +0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 202.120.2.180 X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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.9 (/) Re-produce steps: 1. `find-file' to my project root directory on a remote machine, namely, "/scp:vm00:pmdk-balloon/". 2. `M-x compile', and give compile command "make". 3. (Previously I have injected some typos in some of my source files, say "obj.c"). 4. In the *compilation* buffer, the "obj.c" file appears. But when I click the underlined text (or on it), an error occurs in the minibuffer: "Find this error in (default obj.c): /scp:vm00:/System/Volumes/Data/home= /fan/pmdk-balloon/src/libpmemobj" The "/System/Volumes/Data/" is actually a path on my local machine. 5. To further confirm, I use `C-u C-x =3D' on the underlined text in the *compilation* buffer. The "compilation-message" text property shows: #s(compilation--message (nil 42 (("../common/vec.h" "/scp:vm00:/System/Volumes/Data/home/fan/pmdk-b= alloon/src/libpmemobj") nil (42 #1)) nil nil) 0 nil) It appears that when compile.el was handling the remote path, it mixed-up part of my local machine path with the remote machine path, resulting the error. I use Edebug to instrument `compilation-get-file-structure' and then `file-truename' to find when my local path "/System/Volumes/Data/" is inserted, here is a backtrace: lines started with a "*" is what I think important. (file-symlink-p filename) (setq target (file-symlink-p filename)) (if (equal "." (file-name-nondirectory filename)) (setq filename (directo= ry-file-name dir) done t) (setq filename (concat dir (file-name-nondirector= y filename))) (setq target (file-symlink-p filename)) (if target (setq file= name (files--splice-dirname-file dir target) done nil) (setq done t))) (if (equal ".." (file-name-nondirectory filename)) (setq filename (direct= ory-file-name (file-name-directory (directory-file-name dir))) done t) (if = (equal "." (file-name-nondirectory filename)) (setq filename (directory-fil= e-name dir) done t) (setq filename (concat dir (file-name-nondirectory file= name))) (setq target (file-symlink-p filename)) (if target (setq filename (= files--splice-dirname-file dir target) done nil) (setq done t)))) (let ((dir (or (file-name-directory filename) default-directory)) target = dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfil= e) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil d= irfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc d= ir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory (file-tr= uename dirfile counter prev-dirs)))) (setcar prev-dirs (cons (cons old new)= (car prev-dirs))) (setq dir new)))) (if (equal ".." (file-name-nondirector= y filename)) (setq filename (directory-file-name (file-name-directory (dire= ctory-file-name dir))) done t) (if (equal "." (file-name-nondirectory filen= ame)) (setq filename (directory-file-name dir) done t) (setq filename (conc= at dir (file-name-nondirectory filename))) (setq target (file-symlink-p fil= ename)) (if target (setq filename (files--splice-dirname-file dir target) d= one nil) (setq done t))))) (if handler (setq filename (funcall handler 'file-truename filename) done= t) (let ((dir (or (file-name-directory filename) default-directory)) targe= t dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirf= ile) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil= dirfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc= dir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory ...)))= (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (setq dir new))))= (if (equal ".." (file-name-nondirectory filename)) (setq filename (directo= ry-file-name (file-name-directory (directory-file-name dir))) done t) (if (= equal "." (file-name-nondirectory filename)) (setq filename (directory-file= -name dir) done t) (setq filename (concat dir (file-name-nondirectory filen= ame))) (setq target (file-symlink-p filename)) (if target (setq filename (f= iles--splice-dirname-file dir target) done nil) (setq done t)))))) (let ((handler (find-file-name-handler filename 'file-truename))) (if han= dler (setq filename (funcall handler 'file-truename filename) done t) (let = ((dir (or (file-name-directory filename) default-directory)) target dirfile= ) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfile) (and= (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile = 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir ...)= )) (let ((old dir) (new ...)) (setcar prev-dirs (cons ... ...)) (setq dir n= ew)))) (if (equal ".." (file-name-nondirectory filename)) (setq filename (d= irectory-file-name (file-name-directory (directory-file-name dir))) done t)= (if (equal "." (file-name-nondirectory filename)) (setq filename (director= y-file-name dir) done t) (setq filename (concat dir (file-name-nondirectory= filename))) (setq target (file-symlink-p filename)) (if target (setq filen= ame (files--splice-dirname-file dir target) done nil) (setq done t))))))) (while (not done) (setcar counter (1- (car counter))) (if (< (car counter= ) 0) (error "Apparent cycle of symbolic links for %s" filename)) (let ((han= dler (find-file-name-handler filename 'file-truename))) (if handler (setq f= ilename (funcall handler 'file-truename filename) done t) (let ((dir (or (f= ile-name-directory filename) default-directory)) target dirfile) (setq dirf= ile (directory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-= case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile 0 nil t) t))= (if (assoc dir (car prev-dirs)) (setq dir (cdr ...)) (let (... ...) (setca= r prev-dirs ...) (setq dir new)))) (if (equal ".." (file-name-nondirectory = filename)) (setq filename (directory-file-name (file-name-directory ...)) d= one t) (if (equal "." (file-name-nondirectory filename)) (setq filename (di= rectory-file-name dir) done t) (setq filename (concat dir ...)) (setq targe= t (file-symlink-p filename)) (if target (setq filename ... done nil) (setq = done t)))))))) (let (done (file-name-handler-alist (if prev-dirs file-name-handler-alist= (let ((tem (copy-sequence file-name-handler-alist))) (delq (rassq 'ange-ft= p-completion-hook-function tem) tem))))) (or prev-dirs (setq prev-dirs (lis= t nil))) (if (eq system-type 'windows-nt) (if (string-match "[[*?]" filenam= e) nil (let ((longname (w32-long-file-name filename))) (if longname (setq f= ilename longname))))) (while (not done) (setcar counter (1- (car counter)))= (if (< (car counter) 0) (error "Apparent cycle of symbolic links for %s" f= ilename)) (let ((handler (find-file-name-handler filename 'file-truename)))= (if handler (setq filename (funcall handler 'file-truename filename) done = t) (let ((dir (or ... default-directory)) target dirfile) (setq dirfile (di= rectory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-case-in= sensitive-p dir) (eq ... t)) (if (assoc dir ...) (setq dir ...) (let ... ..= . ...))) (if (equal ".." (file-name-nondirectory filename)) (setq filename = (directory-file-name ...) done t) (if (equal "." ...) (setq filename ... do= ne t) (setq filename ...) (setq target ...) (if target ... ...))))))) filen= ame) file-truename("/System" (91) (nil)) (file-name-as-directory (file-truename dirfile counter prev-dirs)) (let ((old dir) (new (file-name-as-directory (file-truename dirfile count= er prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (= setq dir new)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir (car prev-dirs)= ))) (let ((old dir) (new (file-name-as-directory (file-truename dirfile cou= nter prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs)))= (setq dir new))) (or (string=3D dir dirfile) (and (file-name-case-insensitive-p dir) (eq (= compare-strings dir 0 nil dirfile 0 nil t) t)) (if (assoc dir (car prev-dir= s)) (setq dir (cdr (assoc dir (car prev-dirs)))) (let ((old dir) (new (file= -name-as-directory (file-truename dirfile counter prev-dirs)))) (setcar pre= v-dirs (cons (cons old new) (car prev-dirs))) (setq dir new)))) (let ((dir (or (file-name-directory filename) default-directory)) target = dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfil= e) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil d= irfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc d= ir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory (file-tr= uename dirfile counter prev-dirs)))) (setcar prev-dirs (cons (cons old new)= (car prev-dirs))) (setq dir new)))) (if (equal ".." (file-name-nondirector= y filename)) (setq filename (directory-file-name (file-name-directory (dire= ctory-file-name dir))) done t) (if (equal "." (file-name-nondirectory filen= ame)) (setq filename (directory-file-name dir) done t) (setq filename (conc= at dir (file-name-nondirectory filename))) (setq target (file-symlink-p fil= ename)) (if target (setq filename (files--splice-dirname-file dir target) d= one nil) (setq done t))))) (if handler (setq filename (funcall handler 'file-truename filename) done= t) (let ((dir (or (file-name-directory filename) default-directory)) targe= t dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirf= ile) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil= dirfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc= dir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory ...)))= (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (setq dir new))))= (if (equal ".." (file-name-nondirectory filename)) (setq filename (directo= ry-file-name (file-name-directory (directory-file-name dir))) done t) (if (= equal "." (file-name-nondirectory filename)) (setq filename (directory-file= -name dir) done t) (setq filename (concat dir (file-name-nondirectory filen= ame))) (setq target (file-symlink-p filename)) (if target (setq filename (f= iles--splice-dirname-file dir target) done nil) (setq done t)))))) (let ((handler (find-file-name-handler filename 'file-truename))) (if han= dler (setq filename (funcall handler 'file-truename filename) done t) (let = ((dir (or (file-name-directory filename) default-directory)) target dirfile= ) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfile) (and= (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile = 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir ...)= )) (let ((old dir) (new ...)) (setcar prev-dirs (cons ... ...)) (setq dir n= ew)))) (if (equal ".." (file-name-nondirectory filename)) (setq filename (d= irectory-file-name (file-name-directory (directory-file-name dir))) done t)= (if (equal "." (file-name-nondirectory filename)) (setq filename (director= y-file-name dir) done t) (setq filename (concat dir (file-name-nondirectory= filename))) (setq target (file-symlink-p filename)) (if target (setq filen= ame (files--splice-dirname-file dir target) done nil) (setq done t))))))) (while (not done) (setcar counter (1- (car counter))) (if (< (car counter= ) 0) (error "Apparent cycle of symbolic links for %s" filename)) (let ((han= dler (find-file-name-handler filename 'file-truename))) (if handler (setq f= ilename (funcall handler 'file-truename filename) done t) (let ((dir (or (f= ile-name-directory filename) default-directory)) target dirfile) (setq dirf= ile (directory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-= case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile 0 nil t) t))= (if (assoc dir (car prev-dirs)) (setq dir (cdr ...)) (let (... ...) (setca= r prev-dirs ...) (setq dir new)))) (if (equal ".." (file-name-nondirectory = filename)) (setq filename (directory-file-name (file-name-directory ...)) d= one t) (if (equal "." (file-name-nondirectory filename)) (setq filename (di= rectory-file-name dir) done t) (setq filename (concat dir ...)) (setq targe= t (file-symlink-p filename)) (if target (setq filename ... done nil) (setq = done t)))))))) (let (done (file-name-handler-alist (if prev-dirs file-name-handler-alist= (let ((tem (copy-sequence file-name-handler-alist))) (delq (rassq 'ange-ft= p-completion-hook-function tem) tem))))) (or prev-dirs (setq prev-dirs (lis= t nil))) (if (eq system-type 'windows-nt) (if (string-match "[[*?]" filenam= e) nil (let ((longname (w32-long-file-name filename))) (if longname (setq f= ilename longname))))) (while (not done) (setcar counter (1- (car counter)))= (if (< (car counter) 0) (error "Apparent cycle of symbolic links for %s" f= ilename)) (let ((handler (find-file-name-handler filename 'file-truename)))= (if handler (setq filename (funcall handler 'file-truename filename) done = t) (let ((dir (or ... default-directory)) target dirfile) (setq dirfile (di= rectory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-case-in= sensitive-p dir) (eq ... t)) (if (assoc dir ...) (setq dir ...) (let ... ..= . ...))) (if (equal ".." (file-name-nondirectory filename)) (setq filename = (directory-file-name ...) done t) (if (equal "." ...) (setq filename ... do= ne t) (setq filename ...) (setq target ...) (if target ... ...))))))) filen= ame) file-truename("/System/Volumes" (91) (nil)) (file-name-as-directory (file-truename dirfile counter prev-dirs)) (let ((old dir) (new (file-name-as-directory (file-truename dirfile count= er prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (= setq dir new)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir (car prev-dirs)= ))) (let ((old dir) (new (file-name-as-directory (file-truename dirfile cou= nter prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs)))= (setq dir new))) (or (string=3D dir dirfile) (and (file-name-case-insensitive-p dir) (eq (= compare-strings dir 0 nil dirfile 0 nil t) t)) (if (assoc dir (car prev-dir= s)) (setq dir (cdr (assoc dir (car prev-dirs)))) (let ((old dir) (new (file= -name-as-directory (file-truename dirfile counter prev-dirs)))) (setcar pre= v-dirs (cons (cons old new) (car prev-dirs))) (setq dir new)))) (let ((dir (or (file-name-directory filename) default-directory)) target = dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfil= e) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil d= irfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc d= ir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory (file-tr= uename dirfile counter prev-dirs)))) (setcar prev-dirs (cons (cons old new)= (car prev-dirs))) (setq dir new)))) (if (equal ".." (file-name-nondirector= y filename)) (setq filename (directory-file-name (file-name-directory (dire= ctory-file-name dir))) done t) (if (equal "." (file-name-nondirectory filen= ame)) (setq filename (directory-file-name dir) done t) (setq filename (conc= at dir (file-name-nondirectory filename))) (setq target (file-symlink-p fil= ename)) (if target (setq filename (files--splice-dirname-file dir target) d= one nil) (setq done t))))) (if handler (setq filename (funcall handler 'file-truename filename) done= t) (let ((dir (or (file-name-directory filename) default-directory)) targe= t dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirf= ile) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil= dirfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc= dir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory ...)))= (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (setq dir new))))= (if (equal ".." (file-name-nondirectory filename)) (setq filename (directo= ry-file-name (file-name-directory (directory-file-name dir))) done t) (if (= equal "." (file-name-nondirectory filename)) (setq filename (directory-file= -name dir) done t) (setq filename (concat dir (file-name-nondirectory filen= ame))) (setq target (file-symlink-p filename)) (if target (setq filename (f= iles--splice-dirname-file dir target) done nil) (setq done t)))))) (let ((handler (find-file-name-handler filename 'file-truename))) (if han= dler (setq filename (funcall handler 'file-truename filename) done t) (let = ((dir (or (file-name-directory filename) default-directory)) target dirfile= ) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfile) (and= (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile = 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir ...)= )) (let ((old dir) (new ...)) (setcar prev-dirs (cons ... ...)) (setq dir n= ew)))) (if (equal ".." (file-name-nondirectory filename)) (setq filename (d= irectory-file-name (file-name-directory (directory-file-name dir))) done t)= (if (equal "." (file-name-nondirectory filename)) (setq filename (director= y-file-name dir) done t) (setq filename (concat dir (file-name-nondirectory= filename))) (setq target (file-symlink-p filename)) (if target (setq filen= ame (files--splice-dirname-file dir target) done nil) (setq done t))))))) (while (not done) (setcar counter (1- (car counter))) (if (< (car counter= ) 0) (error "Apparent cycle of symbolic links for %s" filename)) (let ((han= dler (find-file-name-handler filename 'file-truename))) (if handler (setq f= ilename (funcall handler 'file-truename filename) done t) (let ((dir (or (f= ile-name-directory filename) default-directory)) target dirfile) (setq dirf= ile (directory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-= case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile 0 nil t) t))= (if (assoc dir (car prev-dirs)) (setq dir (cdr ...)) (let (... ...) (setca= r prev-dirs ...) (setq dir new)))) (if (equal ".." (file-name-nondirectory = filename)) (setq filename (directory-file-name (file-name-directory ...)) d= one t) (if (equal "." (file-name-nondirectory filename)) (setq filename (di= rectory-file-name dir) done t) (setq filename (concat dir ...)) (setq targe= t (file-symlink-p filename)) (if target (setq filename ... done nil) (setq = done t)))))))) (let (done (file-name-handler-alist (if prev-dirs file-name-handler-alist= (let ((tem (copy-sequence file-name-handler-alist))) (delq (rassq 'ange-ft= p-completion-hook-function tem) tem))))) (or prev-dirs (setq prev-dirs (lis= t nil))) (if (eq system-type 'windows-nt) (if (string-match "[[*?]" filenam= e) nil (let ((longname (w32-long-file-name filename))) (if longname (setq f= ilename longname))))) (while (not done) (setcar counter (1- (car counter)))= (if (< (car counter) 0) (error "Apparent cycle of symbolic links for %s" f= ilename)) (let ((handler (find-file-name-handler filename 'file-truename)))= (if handler (setq filename (funcall handler 'file-truename filename) done = t) (let ((dir (or ... default-directory)) target dirfile) (setq dirfile (di= rectory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-case-in= sensitive-p dir) (eq ... t)) (if (assoc dir ...) (setq dir ...) (let ... ..= . ...))) (if (equal ".." (file-name-nondirectory filename)) (setq filename = (directory-file-name ...) done t) (if (equal "." ...) (setq filename ... do= ne t) (setq filename ...) (setq target ...) (if target ... ...))))))) filen= ame) * file-truename("/System/Volumes/Data" (91) (nil)) (file-name-as-directory (file-truename dirfile counter prev-dirs)) (let ((old dir) (new (file-name-as-directory (file-truename dirfile count= er prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (= setq dir new)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir (car prev-dirs)= ))) (let ((old dir) (new (file-name-as-directory (file-truename dirfile cou= nter prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs)))= (setq dir new))) (or (string=3D dir dirfile) (and (file-name-case-insensitive-p dir) (eq (= compare-strings dir 0 nil dirfile 0 nil t) t)) (if (assoc dir (car prev-dir= s)) (setq dir (cdr (assoc dir (car prev-dirs)))) (let ((old dir) (new (file= -name-as-directory (file-truename dirfile counter prev-dirs)))) (setcar pre= v-dirs (cons (cons old new) (car prev-dirs))) (setq dir new)))) (let ((dir (or (file-name-directory filename) default-directory)) target = dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfil= e) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil d= irfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc d= ir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory (file-tr= uename dirfile counter prev-dirs)))) (setcar prev-dirs (cons (cons old new)= (car prev-dirs))) (setq dir new)))) (if (equal ".." (file-name-nondirector= y filename)) (setq filename (directory-file-name (file-name-directory (dire= ctory-file-name dir))) done t) (if (equal "." (file-name-nondirectory filen= ame)) (setq filename (directory-file-name dir) done t) (setq filename (conc= at dir (file-name-nondirectory filename))) (setq target (file-symlink-p fil= ename)) (if target (setq filename (files--splice-dirname-file dir target) d= one nil) (setq done t))))) (if handler (setq filename (funcall handler 'file-truename filename) done= t) (let ((dir (or (file-name-directory filename) default-directory)) targe= t dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirf= ile) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil= dirfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc= dir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory ...)))= (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (setq dir new))))= (if (equal ".." (file-name-nondirectory filename)) (setq filename (directo= ry-file-name (file-name-directory (directory-file-name dir))) done t) (if (= equal "." (file-name-nondirectory filename)) (setq filename (directory-file= -name dir) done t) (setq filename (concat dir (file-name-nondirectory filen= ame))) (setq target (file-symlink-p filename)) (if target (setq filename (f= iles--splice-dirname-file dir target) done nil) (setq done t)))))) (let ((handler (find-file-name-handler filename 'file-truename))) (if han= dler (setq filename (funcall handler 'file-truename filename) done t) (let = ((dir (or (file-name-directory filename) default-directory)) target dirfile= ) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfile) (and= (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile = 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir ...)= )) (let ((old dir) (new ...)) (setcar prev-dirs (cons ... ...)) (setq dir n= ew)))) (if (equal ".." (file-name-nondirectory filename)) (setq filename (d= irectory-file-name (file-name-directory (directory-file-name dir))) done t)= (if (equal "." (file-name-nondirectory filename)) (setq filename (director= y-file-name dir) done t) (setq filename (concat dir (file-name-nondirectory= filename))) (setq target (file-symlink-p filename)) (if target (setq filen= ame (files--splice-dirname-file dir target) done nil) (setq done t))))))) (while (not done) (setcar counter (1- (car counter))) (if (< (car counter= ) 0) (error "Apparent cycle of symbolic links for %s" filename)) (let ((han= dler (find-file-name-handler filename 'file-truename))) (if handler (setq f= ilename (funcall handler 'file-truename filename) done t) (let ((dir (or (f= ile-name-directory filename) default-directory)) target dirfile) (setq dirf= ile (directory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-= case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile 0 nil t) t))= (if (assoc dir (car prev-dirs)) (setq dir (cdr ...)) (let (... ...) (setca= r prev-dirs ...) (setq dir new)))) (if (equal ".." (file-name-nondirectory = filename)) (setq filename (directory-file-name (file-name-directory ...)) d= one t) (if (equal "." (file-name-nondirectory filename)) (setq filename (di= rectory-file-name dir) done t) (setq filename (concat dir ...)) (setq targe= t (file-symlink-p filename)) (if target (setq filename ... done nil) (setq = done t)))))))) (let (done (file-name-handler-alist (if prev-dirs file-name-handler-alist= (let ((tem (copy-sequence file-name-handler-alist))) (delq (rassq 'ange-ft= p-completion-hook-function tem) tem))))) (or prev-dirs (setq prev-dirs (lis= t nil))) (if (eq system-type 'windows-nt) (if (string-match "[[*?]" filenam= e) nil (let ((longname (w32-long-file-name filename))) (if longname (setq f= ilename longname))))) (while (not done) (setcar counter (1- (car counter)))= (if (< (car counter) 0) (error "Apparent cycle of symbolic links for %s" f= ilename)) (let ((handler (find-file-name-handler filename 'file-truename)))= (if handler (setq filename (funcall handler 'file-truename filename) done = t) (let ((dir (or ... default-directory)) target dirfile) (setq dirfile (di= rectory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-case-in= sensitive-p dir) (eq ... t)) (if (assoc dir ...) (setq dir ...) (let ... ..= . ...))) (if (equal ".." (file-name-nondirectory filename)) (setq filename = (directory-file-name ...) done t) (if (equal "." ...) (setq filename ... do= ne t) (setq filename ...) (setq target ...) (if target ... ...))))))) filen= ame) * file-truename("/home" (91) (nil)) (file-name-as-directory (file-truename dirfile counter prev-dirs)) (let ((old dir) (new (file-name-as-directory (file-truename dirfile count= er prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (= setq dir new)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir (car prev-dirs)= ))) (let ((old dir) (new (file-name-as-directory (file-truename dirfile cou= nter prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs)))= (setq dir new))) (or (string=3D dir dirfile) (and (file-name-case-insensitive-p dir) (eq (= compare-strings dir 0 nil dirfile 0 nil t) t)) (if (assoc dir (car prev-dir= s)) (setq dir (cdr (assoc dir (car prev-dirs)))) (let ((old dir) (new (file= -name-as-directory (file-truename dirfile counter prev-dirs)))) (setcar pre= v-dirs (cons (cons old new) (car prev-dirs))) (setq dir new)))) (let ((dir (or (file-name-directory filename) default-directory)) target = dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfil= e) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil d= irfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc d= ir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory (file-tr= uename dirfile counter prev-dirs)))) (setcar prev-dirs (cons (cons old new)= (car prev-dirs))) (setq dir new)))) (if (equal ".." (file-name-nondirector= y filename)) (setq filename (directory-file-name (file-name-directory (dire= ctory-file-name dir))) done t) (if (equal "." (file-name-nondirectory filen= ame)) (setq filename (directory-file-name dir) done t) (setq filename (conc= at dir (file-name-nondirectory filename))) (setq target (file-symlink-p fil= ename)) (if target (setq filename (files--splice-dirname-file dir target) d= one nil) (setq done t))))) (if handler (setq filename (funcall handler 'file-truename filename) done= t) (let ((dir (or (file-name-directory filename) default-directory)) targe= t dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirf= ile) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil= dirfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc= dir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory ...)))= (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (setq dir new))))= (if (equal ".." (file-name-nondirectory filename)) (setq filename (directo= ry-file-name (file-name-directory (directory-file-name dir))) done t) (if (= equal "." (file-name-nondirectory filename)) (setq filename (directory-file= -name dir) done t) (setq filename (concat dir (file-name-nondirectory filen= ame))) (setq target (file-symlink-p filename)) (if target (setq filename (f= iles--splice-dirname-file dir target) done nil) (setq done t)))))) (let ((handler (find-file-name-handler filename 'file-truename))) (if han= dler (setq filename (funcall handler 'file-truename filename) done t) (let = ((dir (or (file-name-directory filename) default-directory)) target dirfile= ) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfile) (and= (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile = 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir ...)= )) (let ((old dir) (new ...)) (setcar prev-dirs (cons ... ...)) (setq dir n= ew)))) (if (equal ".." (file-name-nondirectory filename)) (setq filename (d= irectory-file-name (file-name-directory (directory-file-name dir))) done t)= (if (equal "." (file-name-nondirectory filename)) (setq filename (director= y-file-name dir) done t) (setq filename (concat dir (file-name-nondirectory= filename))) (setq target (file-symlink-p filename)) (if target (setq filen= ame (files--splice-dirname-file dir target) done nil) (setq done t))))))) (while (not done) (setcar counter (1- (car counter))) (if (< (car counter= ) 0) (error "Apparent cycle of symbolic links for %s" filename)) (let ((han= dler (find-file-name-handler filename 'file-truename))) (if handler (setq f= ilename (funcall handler 'file-truename filename) done t) (let ((dir (or (f= ile-name-directory filename) default-directory)) target dirfile) (setq dirf= ile (directory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-= case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile 0 nil t) t))= (if (assoc dir (car prev-dirs)) (setq dir (cdr ...)) (let (... ...) (setca= r prev-dirs ...) (setq dir new)))) (if (equal ".." (file-name-nondirectory = filename)) (setq filename (directory-file-name (file-name-directory ...)) d= one t) (if (equal "." (file-name-nondirectory filename)) (setq filename (di= rectory-file-name dir) done t) (setq filename (concat dir ...)) (setq targe= t (file-symlink-p filename)) (if target (setq filename ... done nil) (setq = done t)))))))) (let (done (file-name-handler-alist (if prev-dirs file-name-handler-alist= (let ((tem (copy-sequence file-name-handler-alist))) (delq (rassq 'ange-ft= p-completion-hook-function tem) tem))))) (or prev-dirs (setq prev-dirs (lis= t nil))) (if (eq system-type 'windows-nt) (if (string-match "[[*?]" filenam= e) nil (let ((longname (w32-long-file-name filename))) (if longname (setq f= ilename longname))))) (while (not done) (setcar counter (1- (car counter)))= (if (< (car counter) 0) (error "Apparent cycle of symbolic links for %s" f= ilename)) (let ((handler (find-file-name-handler filename 'file-truename)))= (if handler (setq filename (funcall handler 'file-truename filename) done = t) (let ((dir (or ... default-directory)) target dirfile) (setq dirfile (di= rectory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-case-in= sensitive-p dir) (eq ... t)) (if (assoc dir ...) (setq dir ...) (let ... ..= . ...))) (if (equal ".." (file-name-nondirectory filename)) (setq filename = (directory-file-name ...) done t) (if (equal "." ...) (setq filename ... do= ne t) (setq filename ...) (setq target ...) (if target ... ...))))))) filen= ame) file-truename("/home/fan" (91) (nil)) (file-name-as-directory (file-truename dirfile counter prev-dirs)) (let ((old dir) (new (file-name-as-directory (file-truename dirfile count= er prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (= setq dir new)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir (car prev-dirs)= ))) (let ((old dir) (new (file-name-as-directory (file-truename dirfile cou= nter prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs)))= (setq dir new))) (or (string=3D dir dirfile) (and (file-name-case-insensitive-p dir) (eq (= compare-strings dir 0 nil dirfile 0 nil t) t)) (if (assoc dir (car prev-dir= s)) (setq dir (cdr (assoc dir (car prev-dirs)))) (let ((old dir) (new (file= -name-as-directory (file-truename dirfile counter prev-dirs)))) (setcar pre= v-dirs (cons (cons old new) (car prev-dirs))) (setq dir new)))) (let ((dir (or (file-name-directory filename) default-directory)) target = dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfil= e) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil d= irfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc d= ir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory (file-tr= uename dirfile counter prev-dirs)))) (setcar prev-dirs (cons (cons old new)= (car prev-dirs))) (setq dir new)))) (if (equal ".." (file-name-nondirector= y filename)) (setq filename (directory-file-name (file-name-directory (dire= ctory-file-name dir))) done t) (if (equal "." (file-name-nondirectory filen= ame)) (setq filename (directory-file-name dir) done t) (setq filename (conc= at dir (file-name-nondirectory filename))) (setq target (file-symlink-p fil= ename)) (if target (setq filename (files--splice-dirname-file dir target) d= one nil) (setq done t))))) (if handler (setq filename (funcall handler 'file-truename filename) done= t) (let ((dir (or (file-name-directory filename) default-directory)) targe= t dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirf= ile) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil= dirfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc= dir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory ...)))= (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (setq dir new))))= (if (equal ".." (file-name-nondirectory filename)) (setq filename (directo= ry-file-name (file-name-directory (directory-file-name dir))) done t) (if (= equal "." (file-name-nondirectory filename)) (setq filename (directory-file= -name dir) done t) (setq filename (concat dir (file-name-nondirectory filen= ame))) (setq target (file-symlink-p filename)) (if target (setq filename (f= iles--splice-dirname-file dir target) done nil) (setq done t)))))) (let ((handler (find-file-name-handler filename 'file-truename))) (if han= dler (setq filename (funcall handler 'file-truename filename) done t) (let = ((dir (or (file-name-directory filename) default-directory)) target dirfile= ) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfile) (and= (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile = 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir ...)= )) (let ((old dir) (new ...)) (setcar prev-dirs (cons ... ...)) (setq dir n= ew)))) (if (equal ".." (file-name-nondirectory filename)) (setq filename (d= irectory-file-name (file-name-directory (directory-file-name dir))) done t)= (if (equal "." (file-name-nondirectory filename)) (setq filename (director= y-file-name dir) done t) (setq filename (concat dir (file-name-nondirectory= filename))) (setq target (file-symlink-p filename)) (if target (setq filen= ame (files--splice-dirname-file dir target) done nil) (setq done t))))))) (while (not done) (setcar counter (1- (car counter))) (if (< (car counter= ) 0) (error "Apparent cycle of symbolic links for %s" filename)) (let ((han= dler (find-file-name-handler filename 'file-truename))) (if handler (setq f= ilename (funcall handler 'file-truename filename) done t) (let ((dir (or (f= ile-name-directory filename) default-directory)) target dirfile) (setq dirf= ile (directory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-= case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile 0 nil t) t))= (if (assoc dir (car prev-dirs)) (setq dir (cdr ...)) (let (... ...) (setca= r prev-dirs ...) (setq dir new)))) (if (equal ".." (file-name-nondirectory = filename)) (setq filename (directory-file-name (file-name-directory ...)) d= one t) (if (equal "." (file-name-nondirectory filename)) (setq filename (di= rectory-file-name dir) done t) (setq filename (concat dir ...)) (setq targe= t (file-symlink-p filename)) (if target (setq filename ... done nil) (setq = done t)))))))) (let (done (file-name-handler-alist (if prev-dirs file-name-handler-alist= (let ((tem (copy-sequence file-name-handler-alist))) (delq (rassq 'ange-ft= p-completion-hook-function tem) tem))))) (or prev-dirs (setq prev-dirs (lis= t nil))) (if (eq system-type 'windows-nt) (if (string-match "[[*?]" filenam= e) nil (let ((longname (w32-long-file-name filename))) (if longname (setq f= ilename longname))))) (while (not done) (setcar counter (1- (car counter)))= (if (< (car counter) 0) (error "Apparent cycle of symbolic links for %s" f= ilename)) (let ((handler (find-file-name-handler filename 'file-truename)))= (if handler (setq filename (funcall handler 'file-truename filename) done = t) (let ((dir (or ... default-directory)) target dirfile) (setq dirfile (di= rectory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-case-in= sensitive-p dir) (eq ... t)) (if (assoc dir ...) (setq dir ...) (let ... ..= . ...))) (if (equal ".." (file-name-nondirectory filename)) (setq filename = (directory-file-name ...) done t) (if (equal "." ...) (setq filename ... do= ne t) (setq filename ...) (setq target ...) (if target ... ...))))))) filen= ame) file-truename("/home/fan/pmdk-balloon" (91) (nil)) (file-name-as-directory (file-truename dirfile counter prev-dirs)) (let ((old dir) (new (file-name-as-directory (file-truename dirfile count= er prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (= setq dir new)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir (car prev-dirs)= ))) (let ((old dir) (new (file-name-as-directory (file-truename dirfile cou= nter prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs)))= (setq dir new))) (or (string=3D dir dirfile) (and (file-name-case-insensitive-p dir) (eq (= compare-strings dir 0 nil dirfile 0 nil t) t)) (if (assoc dir (car prev-dir= s)) (setq dir (cdr (assoc dir (car prev-dirs)))) (let ((old dir) (new (file= -name-as-directory (file-truename dirfile counter prev-dirs)))) (setcar pre= v-dirs (cons (cons old new) (car prev-dirs))) (setq dir new)))) (let ((dir (or (file-name-directory filename) default-directory)) target = dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfil= e) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil d= irfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc d= ir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory (file-tr= uename dirfile counter prev-dirs)))) (setcar prev-dirs (cons (cons old new)= (car prev-dirs))) (setq dir new)))) (if (equal ".." (file-name-nondirector= y filename)) (setq filename (directory-file-name (file-name-directory (dire= ctory-file-name dir))) done t) (if (equal "." (file-name-nondirectory filen= ame)) (setq filename (directory-file-name dir) done t) (setq filename (conc= at dir (file-name-nondirectory filename))) (setq target (file-symlink-p fil= ename)) (if target (setq filename (files--splice-dirname-file dir target) d= one nil) (setq done t))))) (if handler (setq filename (funcall handler 'file-truename filename) done= t) (let ((dir (or (file-name-directory filename) default-directory)) targe= t dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirf= ile) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil= dirfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc= dir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory ...)))= (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (setq dir new))))= (if (equal ".." (file-name-nondirectory filename)) (setq filename (directo= ry-file-name (file-name-directory (directory-file-name dir))) done t) (if (= equal "." (file-name-nondirectory filename)) (setq filename (directory-file= -name dir) done t) (setq filename (concat dir (file-name-nondirectory filen= ame))) (setq target (file-symlink-p filename)) (if target (setq filename (f= iles--splice-dirname-file dir target) done nil) (setq done t)))))) (let ((handler (find-file-name-handler filename 'file-truename))) (if han= dler (setq filename (funcall handler 'file-truename filename) done t) (let = ((dir (or (file-name-directory filename) default-directory)) target dirfile= ) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfile) (and= (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile = 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir ...)= )) (let ((old dir) (new ...)) (setcar prev-dirs (cons ... ...)) (setq dir n= ew)))) (if (equal ".." (file-name-nondirectory filename)) (setq filename (d= irectory-file-name (file-name-directory (directory-file-name dir))) done t)= (if (equal "." (file-name-nondirectory filename)) (setq filename (director= y-file-name dir) done t) (setq filename (concat dir (file-name-nondirectory= filename))) (setq target (file-symlink-p filename)) (if target (setq filen= ame (files--splice-dirname-file dir target) done nil) (setq done t))))))) (while (not done) (setcar counter (1- (car counter))) (if (< (car counter= ) 0) (error "Apparent cycle of symbolic links for %s" filename)) (let ((han= dler (find-file-name-handler filename 'file-truename))) (if handler (setq f= ilename (funcall handler 'file-truename filename) done t) (let ((dir (or (f= ile-name-directory filename) default-directory)) target dirfile) (setq dirf= ile (directory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-= case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile 0 nil t) t))= (if (assoc dir (car prev-dirs)) (setq dir (cdr ...)) (let (... ...) (setca= r prev-dirs ...) (setq dir new)))) (if (equal ".." (file-name-nondirectory = filename)) (setq filename (directory-file-name (file-name-directory ...)) d= one t) (if (equal "." (file-name-nondirectory filename)) (setq filename (di= rectory-file-name dir) done t) (setq filename (concat dir ...)) (setq targe= t (file-symlink-p filename)) (if target (setq filename ... done nil) (setq = done t)))))))) (let (done (file-name-handler-alist (if prev-dirs file-name-handler-alist= (let ((tem (copy-sequence file-name-handler-alist))) (delq (rassq 'ange-ft= p-completion-hook-function tem) tem))))) (or prev-dirs (setq prev-dirs (lis= t nil))) (if (eq system-type 'windows-nt) (if (string-match "[[*?]" filenam= e) nil (let ((longname (w32-long-file-name filename))) (if longname (setq f= ilename longname))))) (while (not done) (setcar counter (1- (car counter)))= (if (< (car counter) 0) (error "Apparent cycle of symbolic links for %s" f= ilename)) (let ((handler (find-file-name-handler filename 'file-truename)))= (if handler (setq filename (funcall handler 'file-truename filename) done = t) (let ((dir (or ... default-directory)) target dirfile) (setq dirfile (di= rectory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-case-in= sensitive-p dir) (eq ... t)) (if (assoc dir ...) (setq dir ...) (let ... ..= . ...))) (if (equal ".." (file-name-nondirectory filename)) (setq filename = (directory-file-name ...) done t) (if (equal "." ...) (setq filename ... do= ne t) (setq filename ...) (setq target ...) (if target ... ...))))))) filen= ame) file-truename("/home/fan/pmdk-balloon/src" (91) (nil)) (file-name-as-directory (file-truename dirfile counter prev-dirs)) (let ((old dir) (new (file-name-as-directory (file-truename dirfile count= er prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (= setq dir new)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir (car prev-dirs)= ))) (let ((old dir) (new (file-name-as-directory (file-truename dirfile cou= nter prev-dirs)))) (setcar prev-dirs (cons (cons old new) (car prev-dirs)))= (setq dir new))) (or (string=3D dir dirfile) (and (file-name-case-insensitive-p dir) (eq (= compare-strings dir 0 nil dirfile 0 nil t) t)) (if (assoc dir (car prev-dir= s)) (setq dir (cdr (assoc dir (car prev-dirs)))) (let ((old dir) (new (file= -name-as-directory (file-truename dirfile counter prev-dirs)))) (setcar pre= v-dirs (cons (cons old new) (car prev-dirs))) (setq dir new)))) (let ((dir (or (file-name-directory filename) default-directory)) target = dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfil= e) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil d= irfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc d= ir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory (file-tr= uename dirfile counter prev-dirs)))) (setcar prev-dirs (cons (cons old new)= (car prev-dirs))) (setq dir new)))) (if (equal ".." (file-name-nondirector= y filename)) (setq filename (directory-file-name (file-name-directory (dire= ctory-file-name dir))) done t) (if (equal "." (file-name-nondirectory filen= ame)) (setq filename (directory-file-name dir) done t) (setq filename (conc= at dir (file-name-nondirectory filename))) (setq target (file-symlink-p fil= ename)) (if target (setq filename (files--splice-dirname-file dir target) d= one nil) (setq done t))))) (if handler (setq filename (funcall handler 'file-truename filename) done= t) (let ((dir (or (file-name-directory filename) default-directory)) targe= t dirfile) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirf= ile) (and (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil= dirfile 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc= dir (car prev-dirs)))) (let ((old dir) (new (file-name-as-directory ...)))= (setcar prev-dirs (cons (cons old new) (car prev-dirs))) (setq dir new))))= (if (equal ".." (file-name-nondirectory filename)) (setq filename (directo= ry-file-name (file-name-directory (directory-file-name dir))) done t) (if (= equal "." (file-name-nondirectory filename)) (setq filename (directory-file= -name dir) done t) (setq filename (concat dir (file-name-nondirectory filen= ame))) (setq target (file-symlink-p filename)) (if target (setq filename (f= iles--splice-dirname-file dir target) done nil) (setq done t)))))) (let ((handler (find-file-name-handler filename 'file-truename))) (if han= dler (setq filename (funcall handler 'file-truename filename) done t) (let = ((dir (or (file-name-directory filename) default-directory)) target dirfile= ) (setq dirfile (directory-file-name dir)) (or (string=3D dir dirfile) (and= (file-name-case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile = 0 nil t) t)) (if (assoc dir (car prev-dirs)) (setq dir (cdr (assoc dir ...)= )) (let ((old dir) (new ...)) (setcar prev-dirs (cons ... ...)) (setq dir n= ew)))) (if (equal ".." (file-name-nondirectory filename)) (setq filename (d= irectory-file-name (file-name-directory (directory-file-name dir))) done t)= (if (equal "." (file-name-nondirectory filename)) (setq filename (director= y-file-name dir) done t) (setq filename (concat dir (file-name-nondirectory= filename))) (setq target (file-symlink-p filename)) (if target (setq filen= ame (files--splice-dirname-file dir target) done nil) (setq done t))))))) (while (not done) (setcar counter (1- (car counter))) (if (< (car counter= ) 0) (error "Apparent cycle of symbolic links for %s" filename)) (let ((han= dler (find-file-name-handler filename 'file-truename))) (if handler (setq f= ilename (funcall handler 'file-truename filename) done t) (let ((dir (or (f= ile-name-directory filename) default-directory)) target dirfile) (setq dirf= ile (directory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-= case-insensitive-p dir) (eq (compare-strings dir 0 nil dirfile 0 nil t) t))= (if (assoc dir (car prev-dirs)) (setq dir (cdr ...)) (let (... ...) (setca= r prev-dirs ...) (setq dir new)))) (if (equal ".." (file-name-nondirectory = filename)) (setq filename (directory-file-name (file-name-directory ...)) d= one t) (if (equal "." (file-name-nondirectory filename)) (setq filename (di= rectory-file-name dir) done t) (setq filename (concat dir ...)) (setq targe= t (file-symlink-p filename)) (if target (setq filename ... done nil) (setq = done t)))))))) (let (done (file-name-handler-alist (if prev-dirs file-name-handler-alist= (let ((tem (copy-sequence file-name-handler-alist))) (delq (rassq 'ange-ft= p-completion-hook-function tem) tem))))) (or prev-dirs (setq prev-dirs (lis= t nil))) (if (eq system-type 'windows-nt) (if (string-match "[[*?]" filenam= e) nil (let ((longname (w32-long-file-name filename))) (if longname (setq f= ilename longname))))) (while (not done) (setcar counter (1- (car counter)))= (if (< (car counter) 0) (error "Apparent cycle of symbolic links for %s" f= ilename)) (let ((handler (find-file-name-handler filename 'file-truename)))= (if handler (setq filename (funcall handler 'file-truename filename) done = t) (let ((dir (or ... default-directory)) target dirfile) (setq dirfile (di= rectory-file-name dir)) (or (string=3D dir dirfile) (and (file-name-case-in= sensitive-p dir) (eq ... t)) (if (assoc dir ...) (setq dir ...) (let ... ..= . ...))) (if (equal ".." (file-name-nondirectory filename)) (setq filename = (directory-file-name ...) done t) (if (equal "." ...) (setq filename ... do= ne t) (setq filename ...) (setq target ...) (if target ... ...))))))) filen= ame) file-truename("/home/fan/pmdk-balloon/src/libpmemobj") (if (cdr file) (file-truename (cdr file))) (let ((filename (car file)) (spec-directory (if (cdr file) (file-truename= (cdr file))))) (when (and (boundp 'comint-file-name-prefix) (not (equal co= mint-file-name-prefix ""))) (if (file-name-absolute-p filename) (setq filen= ame (concat comint-file-name-prefix filename)) (if spec-directory (setq spe= c-directory (file-truename (concat comint-file-name-prefix spec-directory))= )))) (unless (memq compilation-parse-errors-filename-function '(nil identit= y)) (save-match-data (setq filename (funcall compilation-parse-errors-filen= ame-function filename)))) (if (stringp filename) (setq filename (command-li= ne-normalize-file-name filename))) (puthash file (or (gethash (cons filenam= e spec-directory) compilation-locs) (puthash (cons filename spec-directory)= (compilation--make-file-struct (list filename spec-directory) fmt) compila= tion-locs)) compilation-locs)) (or (gethash file compilation-locs) (let ((filename (car file)) (spec-dir= ectory (if (cdr file) (file-truename (cdr file))))) (when (and (boundp 'com= int-file-name-prefix) (not (equal comint-file-name-prefix ""))) (if (file-n= ame-absolute-p filename) (setq filename (concat comint-file-name-prefix fil= ename)) (if spec-directory (setq spec-directory (file-truename (concat comi= nt-file-name-prefix spec-directory)))))) (unless (memq compilation-parse-er= rors-filename-function '(nil identity)) (save-match-data (setq filename (fu= ncall compilation-parse-errors-filename-function filename)))) (if (stringp = filename) (setq filename (command-line-normalize-file-name filename))) (put= hash file (or (gethash (cons filename spec-directory) compilation-locs) (pu= thash (cons filename spec-directory) (compilation--make-file-struct (list f= ilename spec-directory) fmt) compilation-locs)) compilation-locs))) compilation-get-file-structure(("../common/vec.h" . "/home/fan/pmdk-ballo= on/src/libpmemobj") nil) compilation-internal-error-properties(("../common/vec.h" . "/home/fan/pmd= k-balloon/src/libpmemobj") 42 nil nil nil 0 nil) compilation-error-properties(1 2 nil 3 nil (4 . 5) nil) compilation-parse-errors(1941 #) compilation--parse-region(1941 #) compilation--ensure-parse(2462) compilation-filter(# "In file included from ../commo= n/vec.h:42,\n ...") Then I find that in my environment, `(file-symlink-p "/home")' is evaluated to "/System/Volumes/Data/home". Now I stuck here since I know little about TRAMP and how a remote file path should be handled. Do you have any suggestion or idea to fix this bug? Thanks in advance for your time. Other information: 1. macOS Catalina 10.15.2 2. My emacs is at commit 9ee5af315098245d9f58eb5562dca6997cab4426, Dec 14, = 2019. In GNU Emacs 27.0.50 (build 2, x86_64-apple-darwin19.2.0, NS appkit-1894.20= Version 10.15.2 (Build 19C57)) of 2019-12-15 built on Fans-Air.ipads-lab.se.sjtu.edu.cn Repository revision: 9ee5af315098245d9f58eb5562dca6997cab4426 Repository branch: master Windowing system distributor 'Apple', version 10.3.1894 System Description: Mac OS X 10.15.2 Recent messages: Tramp: Found remote shell prompt on =E2=80=98vm00=E2=80=99 Tramp: Opening connection for vm00 using scp...done Compilation exited abnormally with code 2 Mark saved where search started Type "q" in help window to restore its previous buffer. Char: h (104, #o150, #x68) point=3D1977 of 2808 (70%) column=3D36 mouse-2, RET: describe this character set mouse-2, RET: show this character in its character set mouse-2, RET: Push this button mouse-2, RET: pretty print value in another buffer Configured using: 'configure --prefix=3D/Users/fan/src/emacs/out CPPFLAGS=3D-I/usr/local/opt/libxml2/include/libxml2/ LDFLAGS=3D-L/usr/local/opt/libxml2/lib --with-ns' Configured features: RSVG GLIB NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS PDUMPER LCMS2 GMP Important settings: value of $LC_ALL:=20 value of $LC_COLLATE: zh_CN.UTF-8 value of $LC_CTYPE: zh_CN.UTF-8 value of $LC_MESSAGES: zh_CN.UTF-8 value of $LC_MONETARY: zh_CN.UTF-8 value of $LC_NUMERIC: zh_CN.UTF-8 value of $LC_TIME: zh_CN.UTF-8 value of $LANG: zh_CN.UTF-8 locale-coding-system: utf-8-unix Major mode: Help Minor modes in effect: shell-dirtrack-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils pp wid-edit descr-text help-mode easymenu misearch multi-isearch compile dired dired-loaddefs tramp-cache tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete comint ansi-color ring parse-time iso8601 time-date ls-lisp format-spec auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map seq byte-opt gv bytecomp byte-compile cconv edmacro kmacro cl-loaddefs cl-lib china-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer 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 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 threads kqueue cocoa ns lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 74466 9616) (symbols 48 20580 1) (strings 32 82411 1816) (string-bytes 1 2108733) (vectors 16 15285) (vector-slots 8 631222 14248) (floats 8 48 31) (intervals 56 749 0) (buffers 1000 18)) From unknown Sun Jun 22 00:44:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38648: 27.0.50; Emacs `compile' command does not handle remote (over TRAMP) file name correctly Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 17 Dec 2019 16:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38648 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Fan Yang Cc: 38648@debbugs.gnu.org Received: via spool by 38648-submit@debbugs.gnu.org id=B38648.157659857526135 (code B ref 38648); Tue, 17 Dec 2019 16:03:01 +0000 Received: (at 38648) by debbugs.gnu.org; 17 Dec 2019 16:02:55 +0000 Received: from localhost ([127.0.0.1]:42243 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihFJH-0006nS-70 for submit@debbugs.gnu.org; Tue, 17 Dec 2019 11:02:55 -0500 Received: from mout.gmx.net ([212.227.15.15]:49061) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihFJC-0006n7-8r for 38648@debbugs.gnu.org; Tue, 17 Dec 2019 11:02:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1576598535; bh=ntQFFOqcAAhLmo4ov2xpQnYJL31Ya3XfDw0HfzwFyXk=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=MfRXgjtSH1W70pHkKxCYJxElRpRipcTcIGByy0tXI858NACuBiKCm62Ma1isgyTMt oKttq3Cvv0x3gUaYlc0fQOIHTtzt94ShueXRT5L1nIBm9I5gjA6bBgy9yfrSQhKK2x OJzBIVBB4VubFZklEw1adr8ZogxfA3R2FhCaBJ8w= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from detlef.gmx.de ([217.70.140.123]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MOiHl-1iKsQq0Ac3-00Q7jz; Tue, 17 Dec 2019 17:02:15 +0100 From: Michael Albinus References: Date: Tue, 17 Dec 2019 17:02:12 +0100 In-Reply-To: (Fan Yang's message of "Tue, 17 Dec 2019 20:44:28 +0800") Message-ID: <8736djym7v.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:SeZlVS7BS0vaGkGDr7yEe05kAYNaVUDEuSFQrxqyYs1ar6fC5NS HQFhjqUwKYALbN/gprgWV00Cv2CriZts+PrW6bN5T+X8S2q0MiNEvBOa5hOLWIOyziEiJju Tbw4HqhgBuOCPA/DdHSjNm1AgxBXIuWLJcfEGVh/KDeyhkgAxkXmkTqHV2yNb+xk6ZSDNsT dAKOqEd1ym/JIZa0IldrQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:2sjgJ9Cp6Dc=:PDJqO524IlPt92ZBnfyu6y 5EDkcaIEV6QMZn0exd2eZiaV23ZNT0m51iSDKyoIesW4Mns1jS6vK9QkUQs7Vd5I9lknYHgmD w5zGTJHUFR4qbS2GSuAnsLhn2M1CPgM6OQgyWAePP/8t3u+PdsrgrQhFH+RylD/p6E4An36KQ HBzXZ/gnbDtZ1tHDW1SX18Squ3d9s58cPCEonMg8NI1vcpMB4MGHhmO30hm8YkoRYOMMcbXPv Yl0oZ3hVel+jdF5LOCmNr5haYPmj+VghZhQ/FVvuRO7Hg9mvToTcXL6L0iOWL3shYRrdrAdLF qnyIBdvNsC1aEUD9qM8vRmo+RAWqGSfBPvJx0b+wBELLIFoWt98ztbZkamNiTYY/7H7TVKAy9 CTldXXlujcYPRiKhHY9EajcCEj8P8QIhq9AofMWihUHrl1HI3BlNjsxSxKe/m1NOORuZqXcVE gxVxnPCII18JYmPZRsXQE449z88OyRdiHNfI29oYcMV8r7S9MVRUkvZYAXtHd/8uhhwQTpEBG bPn2nILs+bZpnGbGsJLu9qWsUR48ZP61w15myo6OHwBiX76KnHuuplmTg0f8Oia4FgeDqxV/s VRISUqD5TxQJ7YpNUaV2b/h6+WmlOlS6IqeO1EDk8cVoR4xxOsKoauLhJ9sk/jhhBuY+p7n6H sWjpvbIKI79zUCILzV9rMFKVQfs+ezKGcWcfZP1qLS3cXJ+6Or5OzT6mO2y+znbgBdp7CKtqN oCAAqywHzknNI5JMV57f3ZVpEZER0vaV1Q9ZaGqS+FweIi+k7n9xt7eDB34BOJ0ljRdvYp93N sGmO3gNtFb5/ZPUri0pKVj0NbJZ+LU+A1MNeQkMI+T1k/GNt+Sy88Lu103B39RGSQS/l+ILi/ ZwxnstQDMgKP8kzb7Z5XExWz+Jzr5isVKrB1CX3SjElgFPKx+Hsqbl6TvQDC5Xu3Igo12NG1S Q2YRz88fpbWHiRYwMh7OSF19GM0IGMDOrOtbv7NI5fVbLJ92FZ1iQ7DwxFCc4/O03p4s/P81r zUVa4Bbq+l2bL8fO4ureRDn3UsOGf4q6HBcP7nXnbHpYDdtg18EYHlGhb+VEhQmBRPgcqyRox aNUFzspPfqwQC//LYBeeplaUXah2/op3Pn2CZcQaEwMuHTMyclnsELC4aCpKatS22o3MKiItt veHZXXHzmofytvHpGVjDMSJ/mNSTxNd4ZglgqIMaTobtkmPXw9mKVCnb/0TLMskptufdnLfSr dJ2soTebA96SbPPr5FgGE+8ZlTDsZcgTDQYejqpnrViKnNp+px3wWOOlhtEY= X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.0 (-) --=-=-= Content-Type: text/plain Fan Yang writes: Hi, > Re-produce steps: > > 1. `find-file' to my project root directory on a remote machine, > namely, "/scp:vm00:pmdk-balloon/". > 2. `M-x compile', and give compile command "make". > 3. (Previously I have injected some typos in some of my source files, > say "obj.c"). > 4. In the *compilation* buffer, the "obj.c" file appears. But when I > click the underlined text (or on it), an error occurs in the > minibuffer: > > "Find this error in (default obj.c): /scp:vm00:/System/Volumes/Data/home/fan/pmdk-balloon/src/libpmemobj" > > The "/System/Volumes/Data/" is actually a path on my local machine. > It appears that when compile.el was handling the remote path, it > mixed-up part of my local machine path with the > remote machine path, resulting the error. > > Then I find that in my environment, `(file-symlink-p "/home")' is > evaluated to "/System/Volumes/Data/home". Now I stuck here since I know > little about TRAMP and how a remote file path should be handled. Could you pls check, whether the appended patch fixes the problem? Best regards, Michael. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment Content-Transfer-Encoding: quoted-printable diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 3fbd6eb2c7..197d52b2de 100644 =2D-- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -2936,21 +2936,15 @@ compilation-get-file-structure ;; Let's normalize it and look again. (let ((filename (car file)) ;; Get the specified directory from FILE. - (spec-directory (if (cdr file) - (file-truename (cdr file))))) + (spec-directory + (if (cdr file) + (file-truename (concat comint-file-name-prefix (cdr file)))))) ;; Check for a comint-file-name-prefix and prepend it if appropriate. ;; (This is very useful for compilation-minor-mode in an rlogin-mode ;; buffer.) - (when (and (boundp 'comint-file-name-prefix) - (not (equal comint-file-name-prefix ""))) - (if (file-name-absolute-p filename) - (setq filename - (concat comint-file-name-prefix filename)) - (if spec-directory - (setq spec-directory - (file-truename - (concat comint-file-name-prefix spec-directory)))))) + (if (file-name-absolute-p filename) + (setq filename (concat comint-file-name-prefix filename))) ;; If compilation-parse-errors-filename-function is ;; defined, use it to process the filename. The result might be a --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 17 11:03:18 2019 Received: (at control) by debbugs.gnu.org; 17 Dec 2019 16:03:18 +0000 Received: from localhost ([127.0.0.1]:42247 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihFJe-0006oV-Gi for submit@debbugs.gnu.org; Tue, 17 Dec 2019 11:03:18 -0500 Received: from mout.gmx.net ([212.227.17.22]:55873) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihFJd-0006oH-2K for control@debbugs.gnu.org; Tue, 17 Dec 2019 11:03:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1576598591; bh=bDK3xIwfZZPG9nLxFMHGrejyX8sGPvSCR1pi/B72Oik=; h=X-UI-Sender-Class:Date:To:From:Subject; b=H+WG5oPpkaaEP2bL8heustI9SoHWh7mdUpWaSXKd97WR0ndmfW+qu3KscNXhEwnx0 g5FNHha3vP8y/jPiei4kSQ8lOhwfKdmkz+RLSsMMhq9DuOQ1suEvhcmps6xVffIdiH B7LQyf5s5WLUG7Lb50V2P404aB2FzOKfD2W753Zw= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from detlef.gmx.de ([217.70.140.123]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N3bX1-1hiEpR3dMB-010gnO for ; Tue, 17 Dec 2019 17:03:11 +0100 Date: Tue, 17 Dec 2019 17:03:10 +0100 Message-Id: <871rt3ym69.fsf@gmx.de> To: control@debbugs.gnu.org From: Michael Albinus Subject: control message for bug #38648 X-Provags-ID: V03:K1:Ixva4vUBL4e3aQM9hoxvoxwI05wjKFWADq7ro1+A2GyWql7kCyq 1ngQ1GpvIcGhdKHDb+GFcQPF6XmyhNinnJP8i+efEgtOipKdOWqMOg7E2b5Jb0xbVDwogyf vlKzPHu4NazX7EvAUsFAh9r+p/DlvCl6s7j1m5TakoCye3sZ+ClnHsi5gVjHP8sZhcZ9obR QvyMPmAl63Twc33lGAOhw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:4QLQ6hxVt4o=:+79Nd45KT7hjMUOkoDIawo DhxkY53Ttl3V3z5jMTedVHgEWMDA1OnznrQGAhkQweSMrg4bMKXLXvr5elYIR4DcXn+XQk9zL NmVh0gl1oh9oNLqf8JFtCRVPtxB9FfEl0ML8D3XOTEoRH7z7NkhaS5bCM0w8PkLWnQmI+JQW7 x0tRfpiXvbDdw55RGIgpb+a2DYRmHdGSh5X7aUutQT9Isky3+BgdHiHKTo+It2mB2FM/bINDw DM/mD/YNdTyNy5tiM+zFNNEW/B/bBdzjL56HyeAr5a9mTNJiNnHuatfcbVIWgrPVdgewfF+D/ DwiB0ueukBcArU7KIv4ltUyvi8WQptIAfVekCLWX5JiNDFpLQflsdd+P/S1BOt+doFVMlh5h0 bJmSIoC49jgNbQhFNfH1t1cSma3fngi6b7OZfxcERpcVSBtixtiC6q6fqdvWMfn2ENX128kGS sEoZWfmcK9G/07UkfSkPWF3GjzbDHSUaKpjgxVPPzFzAem2A1OejwcgtXqLOE5jAhxMLK3/4i sTUJOp1lg+K9+FUoSbQP/1HHyzhiFxO09VapN8dI99P1+EnzZm+gHdtc5BNBD8+WZdAAAjSOc PfwdxNoXtkECGqDb62ombakcFWSr2Ofc1feODQMLvWeJDvDjCobcsbspZHT6sALuDSw4nUFiX 201+ikoCbjVLQGCLe1nWX8YtQGRhTM1etWNiXNx4vFlynvfS5x7ZJpdBirbntB2MqehErYg0Y JZo7/lfeY6xc9w8CJOQPBhlAYhJ6f66p7SuO8m8oqONrt6WbQyHrHhCH9z9EuccgRZNqg6JXW Zwf27nWY+GaZp5yuF4yUw6C9mQPbdszn+QkYE2ZI14G8G5ajagxKgRJSCOe1IPFrZvY9DyBpz YvgBd4cMeUV63go3xm6UdlIAb3mHzBDdNnh+GQIlp3TXB1nhUWYJygdCn7Tc0/EV01Eu/xXba dexfogn2SENC/zVH0QEjqw+w1J75wd1CwUMFK+hUE/+OBeOAMZwy/pZ7jqb5aSM+vPQ4fU1u0 us+ZMRnIRgb8OjnSet/FTLcca2NLkM6OKUoqAWTvnvgtQwdHd0uEFr3zGTDX/eDs5QSOZ6Gb2 yPFcp9wL/AFMOoXO4+Lyr81lorkwCzh2dqI5vHgGAUE/k7Olj5ZzhtRYkzet94AIrm3YEaWAW N92ZQmhYvD1s/Z+NIsU+yYgZBAz7yOmVjVVaN9h4pW+Kq7qCFlUDssKNXX/zU+D4k46ozB/hh qe094grIQAicdNZHYZW6ThnGDKetWX+Hg27f4R6qkn1j6bomBw1VA85Tv16A= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) tags 38648 + patch quit From unknown Sun Jun 22 00:44:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38648: 27.0.50; Emacs `compile' command does not handle remote (over TRAMP) file name correctly Resent-From: Fan Yang Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 18 Dec 2019 01:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38648 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Michael Albinus Cc: 38648@debbugs.gnu.org Received: via spool by 38648-submit@debbugs.gnu.org id=B38648.157663399319124 (code B ref 38648); Wed, 18 Dec 2019 01:54:02 +0000 Received: (at 38648) by debbugs.gnu.org; 18 Dec 2019 01:53:13 +0000 Received: from localhost ([127.0.0.1]:42550 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihOWX-0004yN-HR for submit@debbugs.gnu.org; Tue, 17 Dec 2019 20:53:13 -0500 Received: from smtp180.sjtu.edu.cn ([202.120.2.180]:51154) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihOWT-0004y9-CN for 38648@debbugs.gnu.org; Tue, 17 Dec 2019 20:53:11 -0500 Received: from proxy01.sjtu.edu.cn (unknown [202.112.26.54]) by smtp180.sjtu.edu.cn (Postfix) with ESMTPS id 473E7100C7033; Wed, 18 Dec 2019 09:53:01 +0800 (CST) Received: from localhost (localhost [127.0.0.1]) by proxy01.sjtu.edu.cn (Postfix) with ESMTP id 34F192053700E; Wed, 18 Dec 2019 09:53:01 +0800 (CST) X-Virus-Scanned: amavisd-new at proxy01.sjtu.edu.cn Received: from proxy01.sjtu.edu.cn ([127.0.0.1]) by localhost (proxy01.sjtu.edu.cn [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 0_uoBuKu42ZQ; Wed, 18 Dec 2019 09:53:01 +0800 (CST) Received: from fans-air.ipads-lab.se.sjtu.edu.cn (unknown [202.120.40.82]) (Authenticated sender: Fan_Yang@sjtu.edu.cn) by proxy01.sjtu.edu.cn (Postfix) with ESMTPSA id 3583620536FFF; Wed, 18 Dec 2019 09:52:59 +0800 (CST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.40.2.2.4\)) From: Fan Yang In-Reply-To: <8736djym7v.fsf@gmx.de> Date: Wed, 18 Dec 2019 09:52:59 +0800 Content-Transfer-Encoding: quoted-printable Message-Id: References: <8736djym7v.fsf@gmx.de> X-Mailer: Apple Mail (2.3608.40.2.2.4) X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: =?UTF-8?Q?2019=E5=B9=B412=E6=9C=8818=E6=97=A5_?= =?UTF-8?Q?00:02=EF=BC=8CMichael?= Albinus =?UTF-8?Q?=E5=86=99=E9=81=93=EF=BC=9A?= > Could you pls check, whether the appended patch fixes the problem? Yes! This patch fixes this bug, thanks. Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gmx.de] 1.5 RCVD_IN_SORBS_WEB RBL: SORBS: sender is an abusable web server [202.120.40.82 listed in dnsbl.sorbs.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [202.120.2.180 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [202.120.2.180 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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.5 (/) 2019=E5=B9=B412=E6=9C=8818=E6=97=A5 00:02=EF=BC=8CMichael Albinus = =E5=86=99=E9=81=93=EF=BC=9A > Could you pls check, whether the appended patch fixes the problem? Yes! This patch fixes this bug, thanks. Fan= From unknown Sun Jun 22 00:44:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38648: 27.0.50; Emacs `compile' command does not handle remote (over TRAMP) file name correctly Resent-From: Fan Yang Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 18 Dec 2019 02:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38648 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Michael Albinus Cc: 38648@debbugs.gnu.org Received: via spool by 38648-submit@debbugs.gnu.org id=B38648.157663458020141 (code B ref 38648); Wed, 18 Dec 2019 02:03:01 +0000 Received: (at 38648) by debbugs.gnu.org; 18 Dec 2019 02:03:00 +0000 Received: from localhost ([127.0.0.1]:42555 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihOg0-0005Em-Gc for submit@debbugs.gnu.org; Tue, 17 Dec 2019 21:03:00 -0500 Received: from smtp180.sjtu.edu.cn ([202.120.2.180]:51798) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihOfw-0005ET-Dx for 38648@debbugs.gnu.org; Tue, 17 Dec 2019 21:02:58 -0500 Received: from proxy01.sjtu.edu.cn (unknown [202.112.26.54]) by smtp180.sjtu.edu.cn (Postfix) with ESMTPS id 3BA27100AFC26; Wed, 18 Dec 2019 10:02:50 +0800 (CST) Received: from localhost (localhost [127.0.0.1]) by proxy01.sjtu.edu.cn (Postfix) with ESMTP id 2A0A220538239; Wed, 18 Dec 2019 10:02:50 +0800 (CST) X-Virus-Scanned: amavisd-new at proxy01.sjtu.edu.cn Received: from proxy01.sjtu.edu.cn ([127.0.0.1]) by localhost (proxy01.sjtu.edu.cn [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id s7q5gulsE4ck; Wed, 18 Dec 2019 10:02:50 +0800 (CST) Received: from fans-air.ipads-lab.se.sjtu.edu.cn (unknown [202.120.40.82]) (Authenticated sender: Fan_Yang@sjtu.edu.cn) by proxy01.sjtu.edu.cn (Postfix) with ESMTPSA id 2C57720537C15; Wed, 18 Dec 2019 10:02:48 +0800 (CST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.40.2.2.4\)) From: Fan Yang In-Reply-To: Date: Wed, 18 Dec 2019 10:02:48 +0800 Content-Transfer-Encoding: quoted-printable Message-Id: References: <8736djym7v.fsf@gmx.de> X-Mailer: Apple Mail (2.3608.40.2.2.4) X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi Michael, BTW will this patch be in upstream sooner or later? just curious fan =?UTF-8?Q?2019=E5=B9=B412=E6=9C=8818=E6=97=A5_?= =?UTF-8?Q?09:52=EF=BC=8CFan?= Yang =?UTF-8?Q?=E5=86=99=E9=81=93=EF=BC=9A?= Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gmx.de] 1.5 RCVD_IN_SORBS_WEB RBL: SORBS: sender is an abusable web server [202.120.40.82 listed in dnsbl.sorbs.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [202.120.2.180 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [202.120.2.180 listed in wl.mailspike.net] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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.5 (/) Hi Michael, BTW will this patch be in upstream sooner or later? just = curious fan 2019=E5=B9=B412=E6=9C=8818=E6=97=A5 09:52=EF=BC=8CFan Yang = =E5=86=99=E9=81=93=EF=BC=9A > 2019=E5=B9=B412=E6=9C=8818=E6=97=A5 00:02=EF=BC=8CMichael Albinus = =E5=86=99=E9=81=93=EF=BC=9A >=20 >> Could you pls check, whether the appended patch fixes the problem? >=20 > Yes! This patch fixes this bug, thanks. From unknown Sun Jun 22 00:44:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38648: 27.0.50; Emacs `compile' command does not handle remote (over TRAMP) file name correctly Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 18 Dec 2019 09:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38648 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Fan Yang Cc: 38648@debbugs.gnu.org Received: via spool by 38648-submit@debbugs.gnu.org id=B38648.15766609106108 (code B ref 38648); Wed, 18 Dec 2019 09:22:01 +0000 Received: (at 38648) by debbugs.gnu.org; 18 Dec 2019 09:21:50 +0000 Received: from localhost ([127.0.0.1]:42671 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihVWg-0001aS-CF for submit@debbugs.gnu.org; Wed, 18 Dec 2019 04:21:50 -0500 Received: from mout.gmx.net ([212.227.17.22]:60941) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihVWe-0001aC-8H for 38648@debbugs.gnu.org; Wed, 18 Dec 2019 04:21:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1576660860; bh=Ae8mghFnz4vTthaunOhyv3QLc4Y3U1p2xVDgXm2U4PQ=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=ZTmWFrQlyKnVAqnc6qdHiYi3sPyCM1dUKLuJRtZFp6BwCCRHUXiDtCeY02NCJoVpr UUX0MrWZkEQw3zZikxA2XjUYt4Ddxb+caW0jLJA9580NX1PmIe/U6xl9vMdI95aeNG CNpwO30cXdcFTTYgxVtSaOvN0vSr2WypM+ZuxSEA= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from detlef.gmx.de ([212.86.61.76]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MulmF-1hqmCW3uWx-00rnlU; Wed, 18 Dec 2019 10:21:00 +0100 From: Michael Albinus In-Reply-To: (Fan Yang's message of "Wed, 18 Dec 2019 09:52:59 +0800") References: <8736djym7v.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Date: Wed, 18 Dec 2019 10:20:57 +0100 Message-ID: <87pngmxa4m.fsf@gmx.de> MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:kVX3Jr1iFmhD2UlFYfpg+S54iWcmcJYg/QzN30edDvi9+p5XbwY WkZ4vWh2TB1yY7NU3oELHC8hw5H6jYrYFCFnrzd7WdQ3TFZ8h/DgAYCQ5atGjrZWWXwfpU7 DJTSJ/izIIqn7ghjoE2XinmPq9G/zRC1Bro5jcfFSRaj9qVXJ+wd0I3mZi8tglJmNeeQyoA sspqJTL4B/P0+IvNwcywg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:/5y9F2Huc4g=:EEpLseMtG8vVIktSXIiQWD ZElmSPUKlQMIrKEwaYnd/kUXDW9VHHadezz3bhHAsVVUsedLYsoDL5CsDjDPIOVwySRjynOKX b1qAKJdLt5NohxfmK0agNXmKig3+T2fxqo6iqTrK45giVkkA+Nw6auOCz4RcsyBGqdBpEz+iR ivfniWsYvrZYEjjfBlwjXCE0qXsPo8AfU0bIzbKDjaOGWMyyEUH5WhKdPRjoBazbVKaubp4Os pP9bpeytH/XxvM8fz3LQV12qCu4gOp3T/YH75UjSWNV+L+AAUwsNFnOFiCMWsMnHNitvMDuy0 12OjT5ignpHSyNfk+EMu0yrVvwlHcsbJnzGfXS+2hZp5GndAse/f2QIRRXdmoRkis7cii4iFw h5uszco1XnmFFIDC3TdcgBcHtddAmJ9CVQKYZ0iueC1wIUPmSDgGWLFzFwbDZw4moqxm76lPJ 7zEziZsAuCyPlNwrkCSzq9d4cQ8hYzN3YxcF2HMhgZ4beaUGj8K9ufeLI8UKX6EW6glsRDlGo DcJh+mcPxcsfU93JuDixubh+iC8UGuOPfpqvDRHs6C+OFf3bFdw9m055I3t9IaiFMklBaYlRP xok5UKff8JAkeX3mxuKu0MStWxaO6xh3zXvoSJ61eCMRsaz6OutmErOmngBQLcuumDaa4suuq ul2uRfjB8+egnOIm6UBOyHJCmdceNhwn9A2Bq5Fp/hhUkOYIFADoX9i0tXe12qkDk4dFrqFlh 2duWpDoZBz5mMvyBY1EAERW7HJij2dvboDpnOsNJ7KWpFqGa92cltbYVV1SQqci3XypPPLLfq XS23e3p62YdVzBbuWqm8kMyq+ieL9qxmlqJnvGtaXI6EzS6s7YJQKqDPcIi93xsYkpCE/NJrN 5kJZnPHIbfOMiWQoK+jDDskT0TgcIEilPQ2W5camFWlJnNdONWxnQO1tNZMPwC7fMK0BHH2Xb sHhrpDKKCuuku8HGPbkgJ7+oxXJ6RRN80rq7HPjvVlsElE4ZR3CXf6miJK8DLPSedBFUepzoN C0PFC66snbFtj2Hu/CmUouFvIjaa/I+8iDZxOxLNKBd+fxpqLLvZB7D/aoh/JINYmk18/j9q3 +SrEVCtcVnt1RIu3bAiD2OuW9fiv2TLPU/OmUFtN4Nws7lPv8X3Om3HobPflfloz3Tl5mfNT6 KXuLBhM+E9k8Du3KDEoOTSiPrnlySlkgRGGT0Ekso5XYW5dQEa56dBtufr3nYN8wr5LBn6ik9 /R751ktHavbPixagM780NxylhO/hePzmZLf/d8m9cHSbHgtt+Ij8BZUqhbOY= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) Fan Yang writes: >> Could you pls check, whether the appended patch fixes the problem? > > Yes! This patch fixes this bug, thanks. Thanks for checking. > Fan Best regards, Michael. From unknown Sun Jun 22 00:44:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38648: 27.0.50; Emacs `compile' command does not handle remote (over TRAMP) file name correctly Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 18 Dec 2019 09:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38648 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Fan Yang Cc: 38648@debbugs.gnu.org Received: via spool by 38648-submit@debbugs.gnu.org id=B38648.15766609266162 (code B ref 38648); Wed, 18 Dec 2019 09:23:02 +0000 Received: (at 38648) by debbugs.gnu.org; 18 Dec 2019 09:22:06 +0000 Received: from localhost ([127.0.0.1]:42675 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihVWv-0001bK-L9 for submit@debbugs.gnu.org; Wed, 18 Dec 2019 04:22:05 -0500 Received: from mout.gmx.net ([212.227.17.22]:34197) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihVWt-0001ai-W9 for 38648@debbugs.gnu.org; Wed, 18 Dec 2019 04:22:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1576660909; bh=0PEkaMW2sc/gO/KKM9eK4qtUl+nIlEQiHESSfGP0G5Y=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=cpsCwqr0wIc14VGg5FOYqvrHbv5ly3/kiG2vuXA3aRROyRzrbSotgVWr2M8U1780L 9CPv3Fw8UTYe1RqJ86MNSTsl60T7zLG50myC/HwkTuB/NVGJpWZOf+mGFHB6zcuEoB HcRiKo3UzyXdXlxoTdLPUFRdi8xgYWI4vMq+Xe14= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from detlef.gmx.de ([212.86.61.76]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N9dsb-1he6jA0CBR-015XOV; Wed, 18 Dec 2019 10:21:49 +0100 From: Michael Albinus References: <8736djym7v.fsf@gmx.de> Date: Wed, 18 Dec 2019 10:21:48 +0100 In-Reply-To: (Fan Yang's message of "Wed, 18 Dec 2019 10:02:48 +0800") Message-ID: <87lfraxa37.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:9uJRGS1pA/+FFHC7fCtKI5UF2oG05pWpaATcqRHsS34VcUu6eGj Qm7UHzNq/4xwjG7PW72MVNamtr67FuWGQFfiP9m7Hp8n5+j1m8oDUXyZayzC1DD/Zivuhpi enhXehVmIDtVCEWSLBDG/HpsnXvrYINda58mwCUvD/qCMgNt4DUtrhOn8MAbdOaQnb3gvlz poNfbkvTuCejpF62cDTVA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:zSjjok4rrC4=:0aWmgG6FzlQc3X1Iqc2eKG NwK01vedCDpuP0rEyWx8egB6ED0mDDDUYh+B4BxM77AeP/cv5/k1CcT8peJkUFysU+fBqviTn Du17uISM1qZRUvMnX6Zn0vOzgDKnfdWuK+JnWZxF3S1EUAOD2QhCkEFT9TzKchbCO/c6z4l+/ 4CYOEuRbuUc6TrgzmmxaN4rsETyqBzQ2jys1fY1dF9HLEf/e8cwLN9XuK6llWS6MyGw/9orBv sPtcz6Qy+Imhamp0Irz7MsAlWhxoyVjLhlnF98sPJ76aVfRCpnjJFsGfMAgbScG6sK6pNDSMB RPj4JmBJyrhTk8n3Rlkt7axGRG+BFihK5QzpKTYobszCa/FlzeD9VkNxhaNp6hfNX2IMuq0O/ T5FODBX5fs4rCCtb+VWVTFhFE082jtD61m4/X6FZKctrlgsDl099ajuZHpcVXWVfY5IUuUEH5 FtJwKlpGNfJSEQhwVH5fedjEQ8t543MpjOth7XuvzJuSTqSF83qOGssPD1Y7lIUUeMgbux9yT a48c1rQ+EZc0FLFpE02OV7KF7QPcLeRAIdG8nWPMqBFsv5SAoA9Gz3QXMC0jOWr2t3X1cvMlC KFzjIoFQPL995+rpRLTAWcpp7RnT/uXUbDv+I0G/ni6LD/4u1Px/C4M2lFe4+RS0nUBpymu12 BKNWUlKDi+DPK4aDR8TOMc2EDQN2m6hX0HvHtY6A3zXi3fBjYb5Kv6BjgUBgX/jU5ApxcdrDF H67bcMDPL67TwTmFDZjguOPwO8VsyJKiuxxffDf9eRpMGfcnVSX6QQmroelghUwe1SdeagV0B F6YXi8uDZALRxViXBov4l8frk+G4M+TI4UBC9mOKIMbgOvgQoNZIb68mhXt/CJi0GNjFr/joS JVs8GOavNNL+pJOPLExLytlW75EyD/SzBuc+7JfXlG7BPvCpmZK0pnKRBCbAwqD4IIbEK/Kf9 IPtGy0J4X+oVETW7TCZU6SujQtamILqLcxt7P1iDtMpKLwynS8fZHE4ScfcfjpueeGIrfbGzc sYG+HSru6TLIFNO49cTTBlkwGADqGG1y6ny4msIjlq9CM/dxd1qlwOXHhKrc83W4wV1W/+epn MyYc6ZAYWcB+TVcXKwTiQs+tCzZ3gdr9jQhLDFqUMyX9ueI1bQXNeIoDEeNBBsZqeTKLaeyqK PbKaSVZahu0AA4ZV4PbgcEqxmewRcb3VsmsbQFkgXY8X3enszigo4W67nSXhWRyoSOoDOZ4MK 7jnlSyu4OGCzVLQmhs7fvmyGCSq2HAGDvOgJfr56h6LJGCyF5+kpCFHXaeIA= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) Fan Yang writes: > Hi Michael, BTW will this patch be in upstream sooner or later? just curious I've just committed it. > fan Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 18 13:30:43 2019 Received: (at control) by debbugs.gnu.org; 18 Dec 2019 18:30:43 +0000 Received: from localhost ([127.0.0.1]:43898 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihe5q-00017H-Qt for submit@debbugs.gnu.org; Wed, 18 Dec 2019 13:30:43 -0500 Received: from mout.gmx.net ([212.227.17.20]:37177) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ihe5o-000117-PP for control@debbugs.gnu.org; Wed, 18 Dec 2019 13:30:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1576693834; bh=jiKkVWgCVH/77iIORauuaYb1sk9mB2JK3BL65texecA=; h=X-UI-Sender-Class:Date:To:From:Subject; b=k6tdqHKmKZ5cVP5Q4DILcOyUpgHq3gkFDUxvB/HTGcPqfWwTazanpl8oyk5nKKzIY KPlOH+kIlUsLc/GFC/4l7VPLDlgVDGuBNgXGiy/cJ6br30afsE0SoxJtaTX0ZkioLM lB2VXCvJAv2bO11+YKw19XszjuMpN7fkIWzrZZ8E= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from detlef.gmx.de ([212.86.61.76]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M42nY-1ihe5i2dd2-0007D0 for ; Wed, 18 Dec 2019 19:30:34 +0100 Date: Wed, 18 Dec 2019 19:30:34 +0100 Message-Id: <87eex1xz91.fsf@gmx.de> To: control@debbugs.gnu.org From: Michael Albinus Subject: control message for bug #38648 X-Provags-ID: V03:K1:/jxK9l0AGuGvO1mAxiGIoilYEsS7M0ogNfgNUtkZvKJGeQtcZpa NdemgWJXnJG2oxASVPzt2WrD1LMBzOfu7Py802mSwKl2vRT+PY+kyN+fSk/uln60+8wytZp GCUTWQDow3r7l2HskMY3yvv2qPzCmK53tg5a/Xmol35Mu31vyTV0dJYQ1pb6dJ5CRJ1l8FT 7oPU0zwtU8ZHtSI9C3szw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:pFxxB9CNGTc=:rfSKm+91QJ7mzNnP67/Ycg qUcTS+ktTyq/fjfc3ejVVoXPd4L/WPepCo/y4Fc+1JB2ybhBTFPZDMXm8H3rkPny7CIlVjrJv xUAM9lSd+Xw5BcvRRqXpqW4RG+6JzTk1QD1PWLEv+moeHJ8emr2fHgWe61+NWJZ7ktUZFv8IH w1I2ODifrRVEuv2NPFf5Jm7ZVn+fruEoLy9EBXr9ve8VG+eT4I7yQHZ+JIQLE7o6VEgRLWCHv Qt/FADJ7bgpa/FKvPc+R2GB9Pf0RcqGsLKfx7fhipNfmQKoD1/KWEBokvWd9LVtgwyoWMUFg5 mUBqZh27xvLFr9EGzeM72jMgTK3w/CiIf4SAc39tLlbbrgP4CVRT2pMxKNvgejGeX8O5F2XwG +KI5BxQIEIVA+Bm9ey2PRuWv7IGS9IvguvTCD38t1sgjt0O6sW4a/wd1STiFYxbfaLkXo3g6L 6m7lUi7bXgi6Gk8+H0AmZVXSXgaoMz9Z6ayaEeWj/B+oKM11xWxXrKmCM9g7w2e+TZhBoJZkT g4Rbws4D052QoISk5Tto9KY2XYiln/rEjfB6DfJIv2LMnu8EqY1WS3I+5Ey0KU1UJ6r278Nk3 X06n4upi7xy3dsI0B0k6CV34kKuNEOLWl0G1hBOzKpRhPtAESwtreGPWMoHcGBEB9mEz9NMW6 oP/yxfULksqOPR+Xjwk1SSGuldPyKEuaaJ0GSbjBuCnm09lmHrrM/cstqIPlCQo2NbelHE3UN GKk6gMyeZsG0CtmvbRJQlgIeaalwx8iw6uBdke25aBSRFoDQjD4ftYJyrV6HPWPwWYRsxa2v/ iswF2Kw86Vrf6IcxS2QhObBxlKF5aq3t819F54yiBzRCmiSAJABePm36IwVNALTbpLd/V90jA j3qsg/Lrq/TjA9GlnVQDcoaHq6aRSH8lS/hvuHYEH9vftDHXdJ+yBsL9n7/Y6VBbn/pHAAKYf GDQvUTy6VwwU96IcqZRXf0Fq7hz51jJ1uReTWeXzXbj+c5eVlLkGaWT4ljVaUCWkquh0sjCWf Hz9XskcatXquupABrI9mFmAhKKl1dJzlrB4AzC44/WkokMA/TwXB5VJ49ujaKYSGPtMiCSvMA E1gGVqCQgizXos762mWFjt0uhpJvWLsVOZMtrfqY0jgda16QcJq2GBzFWRMhA5uosM5P4BhO1 1dbQtZ2coRDtkiKcO1z1eIZ6+ybzPPTYQi10H0X1LbMtXamURI/zcqprIlAbG+3ClpC0Ur/kz JgYWciexlDBTRCPitnUEmlK5mSjb0HuXbdfwRXh4lBt2VmK7ytw1Tcn9rTDA= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -1.7 (-) tags 38648 fixed close 38648 27.1 quit