From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#13921: 24.2; Misbehavior of expand-file-name on Cygwin with Emacs 24.2 Date: Mon, 11 Mar 2013 19:43:53 +0200 Message-ID: <8338w1x25i.fsf@gnu.org> References: <83boapx5jm.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1363023919 4403 80.91.229.3 (11 Mar 2013 17:45:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 11 Mar 2013 17:45:19 +0000 (UTC) Cc: 13921@debbugs.gnu.org To: Barry OReilly Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Mar 11 18:45:40 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UF6n2-0005EV-7x for geb-bug-gnu-emacs@m.gmane.org; Mon, 11 Mar 2013 18:45:36 +0100 Original-Received: from localhost ([::1]:40390 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UF6mg-00086M-26 for geb-bug-gnu-emacs@m.gmane.org; Mon, 11 Mar 2013 13:45:14 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:52928) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UF6mb-00083n-CL for bug-gnu-emacs@gnu.org; Mon, 11 Mar 2013 13:45:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UF6mZ-0000nP-PZ for bug-gnu-emacs@gnu.org; Mon, 11 Mar 2013 13:45:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:42554) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UF6mZ-0000nJ-N7 for bug-gnu-emacs@gnu.org; Mon, 11 Mar 2013 13:45:07 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1UF6nS-00041a-3J for bug-gnu-emacs@gnu.org; Mon, 11 Mar 2013 13:46:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Mar 2013 17:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13921 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 13921-submit@debbugs.gnu.org id=B13921.136302391815413 (code B ref 13921); Mon, 11 Mar 2013 17:46:02 +0000 Original-Received: (at 13921) by debbugs.gnu.org; 11 Mar 2013 17:45:18 +0000 Original-Received: from localhost ([127.0.0.1]:46663 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UF6mj-00040X-PY for submit@debbugs.gnu.org; Mon, 11 Mar 2013 13:45:18 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:55051) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UF6mg-00040G-57 for 13921@debbugs.gnu.org; Mon, 11 Mar 2013 13:45:15 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MJI00E00BWFIO00@a-mtaout22.012.net.il> for 13921@debbugs.gnu.org; Mon, 11 Mar 2013 19:44:00 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MJI00ER6BXCCW50@a-mtaout22.012.net.il>; Mon, 11 Mar 2013 19:44:00 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:72325 Archived-At: > Date: Mon, 11 Mar 2013 13:21:38 -0400 > From: Barry OReilly > Cc: 13921@debbugs.gnu.org > > > By contrast, compilation of CEDET was probably run somewhere on drive > > D:, so /home/epich/sw/cedet/lisp/cedet/loaddefs.el got D: prepended to > > it. > > No, it wasn't. I type these two commands at the Cygwin shell without > changing anything, including pwd: > > emacs -batch --no-site-file --eval '(setq debug-on-error t)' -l > "../../cedet-remove-builtin.el" -L . --eval '(progn (require (quote > cedet-compat)) (require (quote mode-local)))' -L ../eieio/ -L ./ -L ./ > --eval '(progn (setq generated-autoload-file > "/home/epich/sw/cedet/lisp/cedet/loaddefs.el"))' -f batch-update-autoloads > /home/epich/sw/cedet/lisp/cedet > > emacs -batch --no-site-file --eval '(setq debug-on-error t)' -l > "../../cedet-remove-builtin.el" -L . --eval '(progn (require (quote > cedet-compat)) (require (quote mode-local)))' -L ../eieio/ -L ./ -L ./ > --eval '(progn (setq generated-autoload-file > "/home/epich/sw/cedet/lisp/cedet/loaddefs.el") (message "DEBUG: expanded > file name is %s" (expand-file-name "/home/epich/sw/cedet/lisp/cedet")))' > /home/epich/sw/cedet/lisp/cedet > > The first yields an incorrect "d:" prefix, the second the "c:" prefix. Why > would this be? I have no idea. I don't have Cygwin installed, so I cannot try what you did. One way to try to figure that out would be for you to insert 'message' lines that display default-directory in a few places in the code that gets run by this command, and see when it changes, and then see why. > This is evidence of an Emacs bug. Sorry, but I need a more concrete evidence. /foo/bar is not a fully-qualified absolute name in the Windows build of Emacs, so we need to establish where from does the drive letter come in this case, before we can conclude whether or not it's an Emacs bug. Taken at face value, it is almost inconceivable that Emacs would somehow cough up D: when the current drive is C:. > > I don't know why you invoke Emacs from the Cygwin Bash. I suggest not > > to, or to switch to a Cygwin build of Emacs. Mixing these two > > environments is asking for trouble. > > When I set up Cygwin, I did not install Cygwin's Emacs installation. There > is no conflict with an alternate Emacs. I am merely using Cygwin's GNU > Make to execute makefiles, which correctly invoke the Windows emacs.exe > binary. Why shouldn't that work? Because Cygwin programs and native Windows programs are subtly incompatible, in particular in their treatment of file names and drive letters. Cygwin can mount /home/foo to point to some arbitrary place on any drive, whereas the native Windows build of Emacs does not grok these mounts.