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#18851: 24.4; emacs cannot be started if the current directory has been removed Date: Wed, 29 Oct 2014 16:27:13 +0200 Message-ID: <83r3xr0x4u.fsf@gnu.org> References: <87h9ypiqmm.fsf@xvii.vinc17.org> <8k61f398u4.fsf@fencepost.gnu.org> <20141029012802.GS4400@xvii.vinc17.org> <83y4rz1qmj.fsf@gnu.org> <20141029080939.GT4400@xvii.vinc17.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1414592912 31063 80.91.229.3 (29 Oct 2014 14:28:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Oct 2014 14:28:32 +0000 (UTC) Cc: vincent@vinc17.net, 18851@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Oct 29 15:28:25 2014 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 1XjUES-0008EX-Du for geb-bug-gnu-emacs@m.gmane.org; Wed, 29 Oct 2014 15:28:16 +0100 Original-Received: from localhost ([::1]:46514 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjUER-0007xV-O3 for geb-bug-gnu-emacs@m.gmane.org; Wed, 29 Oct 2014 10:28:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48178) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjUEJ-0007x9-DH for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 10:28:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XjUEE-0006ve-6B for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 10:28:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46800) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjUEE-0006va-3V for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 10:28:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XjUED-0001Zt-Q7 for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 10:28:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 29 Oct 2014 14:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18851 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18851-submit@debbugs.gnu.org id=B18851.14145928466014 (code B ref 18851); Wed, 29 Oct 2014 14:28:01 +0000 Original-Received: (at 18851) by debbugs.gnu.org; 29 Oct 2014 14:27:26 +0000 Original-Received: from localhost ([127.0.0.1]:38898 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjUDe-0001Yw-6w for submit@debbugs.gnu.org; Wed, 29 Oct 2014 10:27:26 -0400 Original-Received: from mtaout29.012.net.il ([80.179.55.185]:48379) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjUDb-0001YZ-O4 for 18851@debbugs.gnu.org; Wed, 29 Oct 2014 10:27:24 -0400 Original-Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NE700K00MLZNA00@mtaout29.012.net.il> for 18851@debbugs.gnu.org; Wed, 29 Oct 2014 16:25:56 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NE700CC5MR8NV80@mtaout29.012.net.il>; Wed, 29 Oct 2014 16:25:56 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.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:95245 > From: Stefan Monnier > Cc: Eli Zaretskii , 18851@debbugs.gnu.org > Date: Wed, 29 Oct 2014 08:57:16 -0400 > > > The shell has no problems when the current directory has been > > removed. It can still run without needing to switch to $HOME. > > The problem is that the `emacs' process only access files using absolute > file names (it basically doesn't use the process's current working > directory, because every buffer has its own "current working > directory"), so when the Emacs user thinks he's using a relative file > name, Emacs really concatenates this relative file name to the value of > `default-directory' and passes *that* to the OS. > > So the current Emacs C code really has no way to access a directory/file > which is not accessible from the root directory. That's true, but my reading of the code is that the value of the directory where Emacs was started is used for the following: . the default-directory of *scratch* . invocation-name and invocation-directory, if Emacs was invoked via a relative file name, like "../foo/bar/emacs". In the first case, we could try using nil instead, maybe not all hell will break lose. The second case is rare even without the removal (and makes no sense to me). But I'd still like to hear the real-life use case behind this report.