From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Mendler Newsgroups: gmane.emacs.bugs Subject: bug#48579: 28.0.50; Spawning an emacs process using call-process results in inconsistent, behavior between GNU/Linux and macOS Date: Sat, 22 May 2021 14:37:35 +0200 Message-ID: References: <2d81bff4-21fc-ce96-f1f1-f0bbf60b233e@daniel-mendler.de> <837djrklhx.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6712"; mail-complaints-to="usenet@ciao.gmane.io" Cc: alan@idiocy.org, 48579@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat May 22 14:38:25 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lkQtb-0001Qw-E5 for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 22 May 2021 14:38:23 +0200 Original-Received: from localhost ([::1]:57992 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lkQta-00068w-3c for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 22 May 2021 08:38:22 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49658) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lkQtH-00068n-EM for bug-gnu-emacs@gnu.org; Sat, 22 May 2021 08:38:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55170) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lkQtG-0001NN-93 for bug-gnu-emacs@gnu.org; Sat, 22 May 2021 08:38:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lkQtG-0007h0-6K for bug-gnu-emacs@gnu.org; Sat, 22 May 2021 08:38:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Daniel Mendler Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 22 May 2021 12:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48579 X-GNU-PR-Package: emacs Original-Received: via spool by 48579-submit@debbugs.gnu.org id=B48579.162168706429547 (code B ref 48579); Sat, 22 May 2021 12:38:02 +0000 Original-Received: (at 48579) by debbugs.gnu.org; 22 May 2021 12:37:44 +0000 Original-Received: from localhost ([127.0.0.1]:38483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lkQsy-0007gU-7V for submit@debbugs.gnu.org; Sat, 22 May 2021 08:37:44 -0400 Original-Received: from server.qxqx.de ([178.63.65.180]:60713 helo=mail.qxqx.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lkQsw-0007gH-Jn for 48579@debbugs.gnu.org; Sat, 22 May 2021 08:37:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=b+mkkd3QYxqLwAgjVgl5VUX6kOSYtPUURNzXH2ekqrQ=; b=LikW2d9lCJxNCR8MHs3NJGP08T pgy3PbdIBWA6S20V67X6MgXdcZen7MiZVd3w8xNFWIt6ZEkc5UyLr0rfhZ2feNTp5B1U3pBzJCslu eQF+rnq8/pPrczNY7bP0Ha2pmhnxzwf0vhgiwQu1Aq+9jdnhqbs/szQrdY1ih+UoIiYM=; In-Reply-To: <837djrklhx.fsf@gnu.org> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:207041 Archived-At: On 5/22/21 2:20 PM, Eli Zaretskii wrote: >> Cc: alan@idiocy.org, 48579@debbugs.gnu.org >> From: Daniel Mendler >> Date: Sat, 22 May 2021 13:44:27 +0200 >> >> Both GNU/Linux and macOS are Unixes, it is expected that Emacs behaves >> in the same way on both platforms with regards to handling the current >> directory. When Emacs is started via the command line or via forking >> from another process, Emacs should inherit the default directory from >> the parent process. > > If this is what you think, then your concept of the default-directory > is in direct contradiction with how Emacs works. The cwd of the Emacs > process is immaterial, and actually not even easily visible inside > Emacs. When a buffer visits a file, Emacs makes a point of behaving > like that file's directory was its cwd. For other buffers, my > suggestion is to consider their default-directory to be indeterminate, > and if you need it to have a specified value, you should force that by > calling 'cd' or setting default-directory explicitly. Anything else > is bound to trip you some day, because it simply isn't how Emacs was > designed to behave. I am aware that the file visiting buffers have a different default-directory. However the initial scratch buffer should inherit the current working directory of the parent process. I don't see why some "indeterminate" or "undefined" behavior is justified here. > So when you say that Emacs should behave the same on these platforms, > you should first ask yourself what is that "same behavior". My answer > is simple: you cannot predict what is the default-directory of a > random buffer that doesn't visit a file. In this sense, Emacs indeed > works the same on all platforms. Any other sense you may wish to > assign to that is simply a basic mistake. There is no technical roadblock preventing Emacs from determining the current directory (at least on Unixes). The problem is that the Mac Emacs port changes the directory according to its own standards. Why do you call this "indeterminate", "undefined" or "random" behavior? Are there other examples where buffers have random directories? Daniel