From unknown Sat Jun 21 05:19:22 2025 X-Loop: help-debbugs@gnu.org Subject: bug#8496: some file locking code in insert-file-contents cannot be right Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Apr 2011 00:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 8496 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 8496@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.130274166323133 (code B ref -1); Thu, 14 Apr 2011 00:42:02 +0000 Received: (at submit) by debbugs.gnu.org; 14 Apr 2011 00:41:03 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAAcI-000613-7v for submit@debbugs.gnu.org; Wed, 13 Apr 2011 20:41:02 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAAcF-00060a-Ck for submit@debbugs.gnu.org; Wed, 13 Apr 2011 20:41:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QAAc9-0002MZ-Jc for submit@debbugs.gnu.org; Wed, 13 Apr 2011 20:40:54 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:49175) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QAAc9-0002MT-I6 for submit@debbugs.gnu.org; Wed, 13 Apr 2011 20:40:53 -0400 Received: from eggs.gnu.org ([140.186.70.92]:49976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QAAc8-00064R-NJ for bug-gnu-emacs@gnu.org; Wed, 13 Apr 2011 20:40:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QAAc7-0002M5-MD for bug-gnu-emacs@gnu.org; Wed, 13 Apr 2011 20:40:52 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:37991) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QAAc7-0002M0-Ff for bug-gnu-emacs@gnu.org; Wed, 13 Apr 2011 20:40:51 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id EC26B39E80DB for ; Wed, 13 Apr 2011 17:40:49 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wsOZEHT0AwxD for ; Wed, 13 Apr 2011 17:40:49 -0700 (PDT) Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 8114D39E80B1 for ; Wed, 13 Apr 2011 17:40:49 -0700 (PDT) Message-ID: <4DA64291.5060207@cs.ucla.edu> Date: Wed, 13 Apr 2011 17:40:49 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Thunderbird/3.1.9 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -4.9 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.9 (----) As a result of the "mark unexported symbols 'static'" patch that I'm working on, in the Emacs trunk I found some file-locking code inside insert-file-contents that cannot be right: if (NILP (visit) && inserted > 0) { #ifdef CLASH_DETECTION if (!NILP (BVAR (current_buffer, file_truename)) /* Make binding buffer-file-name to nil effective. */ && !NILP (BVAR (current_buffer, filename)) && SAVE_MODIFF >= MODIFF) we_locked_file = 1; #endif /* CLASH_DETECTION */ prepare_to_modify_buffer (GPT, GPT, NULL); } The above code is equivalent to a no-op, since 'inserted' must be zero here. There's later code: #ifdef CLASH_DETECTION if (we_locked_file) unlock_file (BVAR (current_buffer, file_truename)); #endif that is also a no-op, because 'we_locked_file' must be zero. GCC merrily optimizes all this code away, but I don't think that was intended. What *is* intended here? From unknown Sat Jun 21 05:19:22 2025 X-Loop: help-debbugs@gnu.org Subject: bug#8496: some file locking code in insert-file-contents cannot be right Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Apr 2011 06:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8496 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Paul Eggert Cc: 8496@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 8496-submit@debbugs.gnu.org id=B8496.130276371728267 (code B ref 8496); Thu, 14 Apr 2011 06:49:01 +0000 Received: (at 8496) by debbugs.gnu.org; 14 Apr 2011 06:48:37 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAGM0-0007Lr-Vu for submit@debbugs.gnu.org; Thu, 14 Apr 2011 02:48:37 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAGLx-0007Lf-Pg for 8496@debbugs.gnu.org; Thu, 14 Apr 2011 02:48:34 -0400 Received: from eliz by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1QAGLs-0008AI-9M; Thu, 14 Apr 2011 02:48:28 -0400 Date: Thu, 14 Apr 2011 02:48:28 -0400 Message-Id: From: Eli Zaretskii In-reply-to: <4DA64291.5060207@cs.ucla.edu> (message from Paul Eggert on Wed, 13 Apr 2011 17:40:49 -0700) References: <4DA64291.5060207@cs.ucla.edu> X-Spam-Score: -6.6 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.6 (------) > Date: Wed, 13 Apr 2011 17:40:49 -0700 > From: Paul Eggert > > As a result of the "mark unexported symbols 'static'" patch that I'm > working on, in the Emacs trunk I found some file-locking code inside > insert-file-contents that cannot be right: > > if (NILP (visit) && inserted > 0) > { > #ifdef CLASH_DETECTION > if (!NILP (BVAR (current_buffer, file_truename)) > /* Make binding buffer-file-name to nil effective. */ > && !NILP (BVAR (current_buffer, filename)) > && SAVE_MODIFF >= MODIFF) > we_locked_file = 1; > #endif /* CLASH_DETECTION */ > prepare_to_modify_buffer (GPT, GPT, NULL); > } > > The above code is equivalent to a no-op, since 'inserted' must > be zero here. In Emacs 21.4a, the corresponding code was this: if (!NILP (visit)) { ... #ifdef CLASH_DETECTION if (NILP (handler)) { if (!NILP (current_buffer->file_truename)) unlock_file (current_buffer->file_truename); unlock_file (filename); } #endif /* CLASH_DETECTION */ The change to the present form was between 21.4a and 22.1. It appears in the trunk history as part of a huge merge from a branch, probably the Emacs 22.1 release branch. I need more forensic work to find out why the change was made, but at this point it certainly looks like someone goofed with the condition. What platforms use CLASH_DETECTION? From unknown Sat Jun 21 05:19:22 2025 X-Loop: help-debbugs@gnu.org Subject: bug#8496: some file locking code in insert-file-contents cannot be right Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Apr 2011 07:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8496 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 8496@debbugs.gnu.org Received: via spool by 8496-submit@debbugs.gnu.org id=B8496.13027676061193 (code B ref 8496); Thu, 14 Apr 2011 07:54:01 +0000 Received: (at 8496) by debbugs.gnu.org; 14 Apr 2011 07:53:26 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAHMk-0000JB-0H for submit@debbugs.gnu.org; Thu, 14 Apr 2011 03:53:26 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAHMi-0000Iz-47 for 8496@debbugs.gnu.org; Thu, 14 Apr 2011 03:53:25 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 6B5B839E80E0; Thu, 14 Apr 2011 00:53:18 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EkWWMOJMcDL4; Thu, 14 Apr 2011 00:53:18 -0700 (PDT) Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 24DEE39E80B1; Thu, 14 Apr 2011 00:53:18 -0700 (PDT) Message-ID: <4DA6A7ED.20005@cs.ucla.edu> Date: Thu, 14 Apr 2011 00:53:17 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Thunderbird/3.1.9 MIME-Version: 1.0 References: <4DA64291.5060207@cs.ucla.edu> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -3.2 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.2 (---) On 04/13/2011 11:48 PM, Eli Zaretskii wrote: > What platforms use CLASH_DETECTION? According to the .h files, pretty much all the POSIXish platforms do it (GNU/Linux, BSD, MacOS, AIX, etc.) and it's also done on Cygwin. From unknown Sat Jun 21 05:19:22 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.427 (Entity 5.427) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Paul Eggert Subject: bug#8496: closed (Re: bug#8496: some file locking code in insert-file-contents cannot be right) Message-ID: References: <4DA64291.5060207@cs.ucla.edu> X-Gnu-PR-Message: they-closed 8496 X-Gnu-PR-Package: emacs Reply-To: 8496@debbugs.gnu.org Date: Thu, 14 Apr 2011 08:01:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1302768062-1843-1" This is a multi-part message in MIME format... ------------=_1302768062-1843-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #8496: some file locking code in insert-file-contents cannot be right which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 8496@debbugs.gnu.org. --=20 8496: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D8496 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1302768062-1843-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 8496-done) by debbugs.gnu.org; 14 Apr 2011 08:00:25 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAHTV-0000Ss-8p for submit@debbugs.gnu.org; Thu, 14 Apr 2011 04:00:25 -0400 Received: from mail-out.m-online.net ([212.18.0.9]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAHTT-0000Sf-0C for 8496-done@debbugs.gnu.org; Thu, 14 Apr 2011 04:00:23 -0400 Received: from frontend1.mail.m-online.net (unknown [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id 9DA0C1C1D9FE; Thu, 14 Apr 2011 10:00:16 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.8.164]) by mail.m-online.net (Postfix) with ESMTP id 47B291C000FD; Thu, 14 Apr 2011 10:00:16 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.180]) by localhost (dynscan1.mail.m-online.net [192.168.8.164]) (amavisd-new, port 10024) with ESMTP id TQKGD7YiNV5H; Thu, 14 Apr 2011 10:00:15 +0200 (CEST) Received: from hase (ppp-88-217-97-181.dynamic.mnet-online.de [88.217.97.181]) by mail.mnet-online.de (Postfix) with ESMTP; Thu, 14 Apr 2011 10:00:14 +0200 (CEST) From: Andreas Schwab To: Paul Eggert Subject: Re: bug#8496: some file locking code in insert-file-contents cannot be right References: <4DA64291.5060207@cs.ucla.edu> X-Yow: Uh-oh!! I forgot to submit to COMPULSORY URINALYSIS! Date: Thu, 14 Apr 2011 10:00:14 +0200 In-Reply-To: <4DA64291.5060207@cs.ucla.edu> (Paul Eggert's message of "Wed, 13 Apr 2011 17:40:49 -0700") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 8496-done Cc: 8496-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) Paul Eggert writes: > What *is* intended here? If you look at 9a95c4d it is obvious. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ------------=_1302768062-1843-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 14 Apr 2011 00:41:03 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAAcI-000613-7v for submit@debbugs.gnu.org; Wed, 13 Apr 2011 20:41:02 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAAcF-00060a-Ck for submit@debbugs.gnu.org; Wed, 13 Apr 2011 20:41:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QAAc9-0002MZ-Jc for submit@debbugs.gnu.org; Wed, 13 Apr 2011 20:40:54 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:49175) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QAAc9-0002MT-I6 for submit@debbugs.gnu.org; Wed, 13 Apr 2011 20:40:53 -0400 Received: from eggs.gnu.org ([140.186.70.92]:49976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QAAc8-00064R-NJ for bug-gnu-emacs@gnu.org; Wed, 13 Apr 2011 20:40:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QAAc7-0002M5-MD for bug-gnu-emacs@gnu.org; Wed, 13 Apr 2011 20:40:52 -0400 Received: from smtp.cs.ucla.edu ([131.179.128.62]:37991) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QAAc7-0002M0-Ff for bug-gnu-emacs@gnu.org; Wed, 13 Apr 2011 20:40:51 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id EC26B39E80DB for ; Wed, 13 Apr 2011 17:40:49 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wsOZEHT0AwxD for ; Wed, 13 Apr 2011 17:40:49 -0700 (PDT) Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 8114D39E80B1 for ; Wed, 13 Apr 2011 17:40:49 -0700 (PDT) Message-ID: <4DA64291.5060207@cs.ucla.edu> Date: Wed, 13 Apr 2011 17:40:49 -0700 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Thunderbird/3.1.9 MIME-Version: 1.0 To: bug-gnu-emacs@gnu.org Subject: some file locking code in insert-file-contents cannot be right Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -4.9 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.9 (----) As a result of the "mark unexported symbols 'static'" patch that I'm working on, in the Emacs trunk I found some file-locking code inside insert-file-contents that cannot be right: if (NILP (visit) && inserted > 0) { #ifdef CLASH_DETECTION if (!NILP (BVAR (current_buffer, file_truename)) /* Make binding buffer-file-name to nil effective. */ && !NILP (BVAR (current_buffer, filename)) && SAVE_MODIFF >= MODIFF) we_locked_file = 1; #endif /* CLASH_DETECTION */ prepare_to_modify_buffer (GPT, GPT, NULL); } The above code is equivalent to a no-op, since 'inserted' must be zero here. There's later code: #ifdef CLASH_DETECTION if (we_locked_file) unlock_file (BVAR (current_buffer, file_truename)); #endif that is also a no-op, because 'we_locked_file' must be zero. GCC merrily optimizes all this code away, but I don't think that was intended. What *is* intended here? ------------=_1302768062-1843-1-- From unknown Sat Jun 21 05:19:22 2025 X-Loop: help-debbugs@gnu.org Subject: bug#8496: some file locking code in insert-file-contents cannot be right Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Apr 2011 08:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8496 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Paul Eggert Cc: 8496@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 8496-submit@debbugs.gnu.org id=B8496.13027684652407 (code B ref 8496); Thu, 14 Apr 2011 08:08:02 +0000 Received: (at 8496) by debbugs.gnu.org; 14 Apr 2011 08:07:45 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAHab-0000cm-KO for submit@debbugs.gnu.org; Thu, 14 Apr 2011 04:07:45 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAHaa-0000cU-AB for 8496@debbugs.gnu.org; Thu, 14 Apr 2011 04:07:44 -0400 Received: from eliz by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1QAHaU-00043y-P9; Thu, 14 Apr 2011 04:07:38 -0400 Date: Thu, 14 Apr 2011 04:07:38 -0400 Message-Id: From: Eli Zaretskii In-reply-to: <4DA6A7ED.20005@cs.ucla.edu> (message from Paul Eggert on Thu, 14 Apr 2011 00:53:17 -0700) References: <4DA64291.5060207@cs.ucla.edu> <4DA6A7ED.20005@cs.ucla.edu> X-Spam-Score: -6.6 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.6 (------) > Date: Thu, 14 Apr 2011 00:53:17 -0700 > From: Paul Eggert > CC: 8496@debbugs.gnu.org > > On 04/13/2011 11:48 PM, Eli Zaretskii wrote: > > What platforms use CLASH_DETECTION? > > According to the .h files, > pretty much all the POSIXish platforms do it > (GNU/Linux, BSD, MacOS, AIX, etc.) > and it's also done on Cygwin. That's what I thought. I guess that pretty much excludes the possibility that this went undetected because no one uses it. From unknown Sat Jun 21 05:19:22 2025 X-Loop: help-debbugs@gnu.org Subject: bug#8496: some file locking code in insert-file-contents cannot be right Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Apr 2011 08:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8496 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: eggert@cs.ucla.edu, 8496@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 8496-submit@debbugs.gnu.org id=B8496.13027713226360 (code B ref 8496); Thu, 14 Apr 2011 08:56:02 +0000 Received: (at 8496) by debbugs.gnu.org; 14 Apr 2011 08:55:22 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAIKf-0001eW-U6 for submit@debbugs.gnu.org; Thu, 14 Apr 2011 04:55:22 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QAIKd-0001eK-Oh for 8496@debbugs.gnu.org; Thu, 14 Apr 2011 04:55:20 -0400 Received: from eliz by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1QAIKY-0001G8-KL; Thu, 14 Apr 2011 04:55:14 -0400 Date: Thu, 14 Apr 2011 04:55:14 -0400 Message-Id: From: Eli Zaretskii In-reply-to: (message from Eli Zaretskii on Thu, 14 Apr 2011 02:48:28 -0400) References: <4DA64291.5060207@cs.ucla.edu> X-Spam-Score: -6.6 (------) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.6 (------) > Date: Thu, 14 Apr 2011 02:48:28 -0400 > From: Eli Zaretskii > Cc: 8496@debbugs.gnu.org > Reply-To: Eli Zaretskii > > > if (NILP (visit) && inserted > 0) > > { > > #ifdef CLASH_DETECTION > > if (!NILP (BVAR (current_buffer, file_truename)) > > /* Make binding buffer-file-name to nil effective. */ > > && !NILP (BVAR (current_buffer, filename)) > > && SAVE_MODIFF >= MODIFF) > > we_locked_file = 1; > > #endif /* CLASH_DETECTION */ > > prepare_to_modify_buffer (GPT, GPT, NULL); > > } > > > > The above code is equivalent to a no-op, since 'inserted' must > > be zero here. > > In Emacs 21.4a, the corresponding code was this: > > if (!NILP (visit)) > { > ... > #ifdef CLASH_DETECTION > if (NILP (handler)) > { > if (!NILP (current_buffer->file_truename)) > unlock_file (current_buffer->file_truename); > unlock_file (filename); > } > #endif /* CLASH_DETECTION */ Sorry, that was wrong. The previous version was this: if (NILP (visit) && total > 0) prepare_to_modify_buffer (PT, PT, NULL); The ChangeLog entry for the change (in revision 62259) is this: (Finsert_file_contents): If we read 0 bytes from a special file, unlock the visited file if we locked it.