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:23:24 +0200 Message-ID: <83sii70xb7.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 1414592675 26361 80.91.229.3 (29 Oct 2014 14:24:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Oct 2014 14:24:35 +0000 (UTC) Cc: 18851@debbugs.gnu.org To: Vincent Lefevre Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Oct 29 15:24:27 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 1XjUAd-0005HD-5O for geb-bug-gnu-emacs@m.gmane.org; Wed, 29 Oct 2014 15:24:19 +0100 Original-Received: from localhost ([::1]:46498 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjUAc-0005Ir-J1 for geb-bug-gnu-emacs@m.gmane.org; Wed, 29 Oct 2014 10:24:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47259) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjUAU-0005IS-0m for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 10:24:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XjUAM-0005E0-DE for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 10:24:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46796) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjUAM-0005Dv-Ak for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 10:24:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XjUAL-0001TS-Q3 for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 10:24: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:24: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.14145926195632 (code B ref 18851); Wed, 29 Oct 2014 14:24:01 +0000 Original-Received: (at 18851) by debbugs.gnu.org; 29 Oct 2014 14:23:39 +0000 Original-Received: from localhost ([127.0.0.1]:38894 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjU9y-0001Sk-ER for submit@debbugs.gnu.org; Wed, 29 Oct 2014 10:23:38 -0400 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:48321) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjU9v-0001ST-J2 for 18851@debbugs.gnu.org; Wed, 29 Oct 2014 10:23:36 -0400 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NE700K00MCKOF00@a-mtaout21.012.net.il> for 18851@debbugs.gnu.org; Wed, 29 Oct 2014 16:23:29 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NE700KIUMN4ER50@a-mtaout21.012.net.il>; Wed, 29 Oct 2014 16:23:29 +0200 (IST) In-reply-to: <20141029080939.GT4400@xvii.vinc17.org> 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:95244 > Date: Wed, 29 Oct 2014 09:09:39 +0100 > From: Vincent Lefevre > Cc: rgm@gnu.org, 18851@debbugs.gnu.org > > > Because Emacs needs to pretend to the user that it runs _in_ that > > directory, so that relative file names work as you'd expect. > > I don't expect anything about reative file names. But if I type > "emacs foo", opening file "foo" from $HOME would be bad. > > > In this regard, Emacs is like the shell. > > The shell has no problems when the current directory has been > removed. It can still run without needing to switch to $HOME. We are in violent agreement here. I wasn't advocating to change to HOME instead; quite the contrary: Glenn asked whether doing so is worth the trouble, and I replied that I didn't think so. > > > Note that the current directory can also be removed after Emacs > > > is started, so I expect that Emacs already supports cases like > > > that. > > > > No, it does not. Either the OS leaves the directory in existence > > until Emacs exits, or the OS prevents you from removing it. > > Linux does neither. AFAIK, GNU/Linux does the former. The directory is not physically removed until the last process that has an open file descriptor for it closes that descriptor. Any attempts to reference that directory for obtaining a new descriptor will get ENOENT, i.e. the OS pretends that the directory doesn't exist. But existing descriptors are valid, and can be used as usual.