From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Vincent Lefevre 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 17:44:08 +0100 Message-ID: <20141029164407.GP5545@ypig.lip.ens-lyon.fr> 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> <83r3xr0x4u.fsf@gnu.org> <20141029153959.GM5545@ypig.lip.ens-lyon.fr> <83d29a2722.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1414601128 18572 80.91.229.3 (29 Oct 2014 16:45:28 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Oct 2014 16:45:28 +0000 (UTC) Cc: 18851@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Oct 29 17:45:22 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 1XjWN8-0002dq-6u for geb-bug-gnu-emacs@m.gmane.org; Wed, 29 Oct 2014 17:45:22 +0100 Original-Received: from localhost ([::1]:47411 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjWN7-0006us-SO for geb-bug-gnu-emacs@m.gmane.org; Wed, 29 Oct 2014 12:45:21 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54713) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjWMz-0006Yb-Br for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 12:45:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XjWMp-0001zp-C1 for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 12:45:13 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46934) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjWMp-0001zf-9g for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 12:45:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XjWMo-0006df-LW for bug-gnu-emacs@gnu.org; Wed, 29 Oct 2014 12:45:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Vincent Lefevre Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 29 Oct 2014 16:45:02 +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.141460107625461 (code B ref 18851); Wed, 29 Oct 2014 16:45:02 +0000 Original-Received: (at 18851) by debbugs.gnu.org; 29 Oct 2014 16:44:36 +0000 Original-Received: from localhost ([127.0.0.1]:39026 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjWMN-0006cX-OB for submit@debbugs.gnu.org; Wed, 29 Oct 2014 12:44:36 -0400 Original-Received: from ypig.lip.ens-lyon.fr ([140.77.13.48]:42226) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XjWM1-0006bn-4L for 18851@debbugs.gnu.org; Wed, 29 Oct 2014 12:44:14 -0400 Original-Received: from vlefevre by ypig.lip.ens-lyon.fr with local (Exim 4.84) (envelope-from ) id 1XjWLw-0007wu-1j; Wed, 29 Oct 2014 17:44:08 +0100 Content-Disposition: inline In-Reply-To: <83d29a2722.fsf@gnu.org> X-Mailer-Info: http://www.vinc17.net/mutt/ User-Agent: Mutt/1.5.23-6365-vl-r59709 (2014-09-07) 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:95260 On 2014-10-29 18:07:33 +0200, Eli Zaretskii wrote: > You can assume without testing that there will be problems, because > Emacs expects to find a meaningful default-directory in *scratch*. What will it do with this default-directory? > > Well, it happens that the current directory is removed for some > > reasons, either on purpose or because of some FS error (in particular > > if the FS is remote). Now, I may have already an application running > > with this current directory, for instance, a MUA. If I want to write > > a mail, the MUA will start an editor on an absolute pathname, Emacs > > in my case, with the same current directory. But Emacs cannot be > > started, just because the current directory no longer exists, meaning > > that I can't write my mail without restarting the whole application. > > Can't you use the --chdir command-line argument to make Emacs start in > a safe place? Or does that not work in this situation? It will work in some cases. But this means that it's not usable for $EDITOR, because there are cases where the editor may be executed with a relative pathname argument. In such a case, this argument should be handled normally if the directory still exists. Otherwise one should get either an error or the specified file (under Linux, one can still open relative pathnames starting with ../ even though the current working directory has been deleted), but getting another file is not acceptable. With a --chdir to $HOME, there is a high risk to get this wrong; to "/", the risk is lower, but still exists. Unfortunately, it isn't even possible to --chdir to the old path (obtained via /proc/$$/cwd under Linux), as the directory typically no longer exists when I need to do that, and Emacs cannot chdir to it, obviously. An option to set the default default-directory value and accept non-existing directories[*] would be more useful. [*] I suppose that this is not a problem since an existing directory can be removed after Emacs is started, so that the default-directory variable could point to a non-existing directory, and the current Emacs version is fine with that (things still work, and errors are reported gracefully). -- Vincent Lefèvre - Web: 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)