From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.help Subject: Re: using new versions of emacs without stoping a session Date: Thu, 18 Apr 2019 15:42:03 +0300 Message-ID: <83mukneb8k.fsf@gnu.org> References: <83d0lkfw47.fsf@gnu.org> <87pnpkm3mi.fsf@work.i-did-not-set--mail-host-address--so-tickle-me> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="17845"; mail-complaints-to="usenet@blaine.gmane.org" To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Apr 18 14:42:41 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hH6ND-0004VF-S5 for geh-help-gnu-emacs@m.gmane.org; Thu, 18 Apr 2019 14:42:39 +0200 Original-Received: from localhost ([127.0.0.1]:40999 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hH6NC-0005vD-Pm for geh-help-gnu-emacs@m.gmane.org; Thu, 18 Apr 2019 08:42:38 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:36689) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hH6N1-0005v8-F2 for help-gnu-emacs@gnu.org; Thu, 18 Apr 2019 08:42:28 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:59344) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hH6N0-0005Js-QD for help-gnu-emacs@gnu.org; Thu, 18 Apr 2019 08:42:26 -0400 Original-Received: from [176.228.60.248] (port=3951 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hH6Mw-00084J-Tz for help-gnu-emacs@gnu.org; Thu, 18 Apr 2019 08:42:26 -0400 In-reply-to: <87pnpkm3mi.fsf@work.i-did-not-set--mail-host-address--so-tickle-me> (message from YUE Daian on Thu, 18 Apr 2019 10:47:01 +0800) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:119984 Archived-At: > From: YUE Daian > Date: Thu, 18 Apr 2019 10:47:01 +0800 > > > With one caveat: Windows won't let you overwrite a running executable, > > so the link step of compiling Emacs will fail on Windows until you > > shut down your running session. > > Just out of curiosity: Why does Windows do so? > > I mean, compilation process should have no effect on running processes. Most (all?) modern systems use the executable files as backing store, loading code and data from them lazily, as needed. So they all cannot allow the data of the executable file to be removed or replaced by something different. So your "should have no effect" assertion is inaccurate. The difference between the systems is on the filesystem level: by default Windows doesn't allow to unlink file's data from its directory entry, if some application has that file open, while most Unix filesystems by default do allow that. I don't know why Windows' default is what it is. Some say that such a default leads to a safer system: at any given moment all the programs that run use the same version of a certain library and the same executable code. But I'm not convinced that this is the real reason.