From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: file-equal-p Date: Fri, 17 Feb 2023 19:05:06 +0800 Message-ID: <87cz68o8m5.fsf@yahoo.com> References: <87a61es8fh.fsf.ref@yahoo.com> <87a61es8fh.fsf@yahoo.com> <83fsb681me.fsf@gnu.org> <87pmaaq9ua.fsf@yahoo.com> <838rgy7ztf.fsf@gnu.org> <874jrmq6bw.fsf@yahoo.com> <83357596a0.fsf@gnu.org> <87pma9pz5v.fsf@yahoo.com> <83wn4h3ho6.fsf@gnu.org> <878rgxovyc.fsf@yahoo.com> <831qmo3iz2.fsf@gnu.org> <87h6vkojmf.fsf@yahoo.com> <83o7ps1yl6.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18837"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Feb 17 12:08:05 2023 Return-path: Envelope-to: ged-emacs-devel@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 1pSyaz-0004jH-Os for ged-emacs-devel@m.gmane-mx.org; Fri, 17 Feb 2023 12:08:05 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pSyaT-00022w-HU; Fri, 17 Feb 2023 06:07:33 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pSyaR-000225-FV for emacs-devel@gnu.org; Fri, 17 Feb 2023 06:07:31 -0500 Original-Received: from sonic310-50.consmr.mail.ne1.yahoo.com ([66.163.186.231]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pSyaP-0006vW-7v for emacs-devel@gnu.org; Fri, 17 Feb 2023 06:07:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1676632047; bh=1WkrDP6s/0LG6N2k6TAAGajMImLHqeOYlM3QuZw8Dh8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=sXGA57fYvnm3A2Rith7Nuf+0pBz/jDT+oFYY3kNy0A/JWDZVBHgro61D1zs8gR7ekxoteIMzfhguKp1wzzISqAnMpgmyewXLkLsb+R7i3HTxaUkhMrIeExeadNi+9n5TXHOrCKnPeg2D6HAsPQFgyIKGlk6DBgaP1ouVHokucBA0t6X7SBJW/1/ju/Ob44WkCY/JfLI/Ti6AjIAikaqC8uZzCPHUOYhX9vUMfT11G7rINEkUnfZlH5Vmm3F+ZZ9svn4/TIexCsqGfFoWbpZegrbUjESPSn3n+uscHdq6OlLSAbvK8938CycBVBp0CB1V33dhkx0LtTMRkyNecBjLVw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1676632047; bh=qE6rC7i7ty/Dtvj8FqIzzKlkOENBf93YA+kEA3hIuM1=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=Aew0wEYooUV4iZARnYOxOe6RhocbTUMJCTrwMYk7cDetY1IpCMbs48X/o82jTsTdYj+CzK2pPRRgZjfutvUGSang+13tqJJcCjWt0AgD9Z6Ihj5jb3O1Ak9HlVk6swN+os9uOa8As9R3XXLRW0KKVAAbYzRmdrv8ICF32KaRhSAxBw6tznlHFGXGe9IPz7AO1dVpy3tvhH1TKQaT3VQef1joFPPUDshQbRYhO5P6WQ8f5FUmZWBztbClBaKQVRIOByxy0IslDrlkmtZijpOKxS9yDbdE05ZL2ZdK/tzyj7ABiJd0yoatZplWFgZdbPFiqe+CCvCz0o3IW407MiwA/g== X-YMail-OSG: 7aSQXWoVM1m.6NYbFWGru.bQaUk3UxKIoWotm5jP8lIyBZIPCr5OJ86HG81oXul 2KWuUKTxkth0i9HsNpK6GMYqgmrq_XFwh1E.SQ4ehlhkgzcmt7vsvv6aT7k.cZP52dgsojPXzHNq i2OPa1LrgreuTMnm_xSRSC5JPlcJeUKC6ckYMLmCFviOTNOGXIKO4gOql3zeWj3nVof5DSCfrpTD ufz5CUwL7yu7ax7nQHfYnybkthkiAPY3iQQzhZJNKbZ93IbgDz9FP8jAkDvqJxv.wkZiBx6scRSs EggXC7Fd7wt3aw36n65xzzOYQM4mHAZXoVLBWBzbR.ykRhHc1VK0Ch9zPVVYMdqQOaQNexih0nnE jfsMAMZHyBgleoG0Ca6KZkmQivm7E53gdSIIfjUrthNjSQkeCi4A6yKA1lr1aJR6qtMPZwcR9c61 QxLin3Ub8K..cGmBVCKb5TI2dvp5IsXXvCRJke8x5pI3PPW.J8kXsoWBjV7kiAqvhqDjUECSylSj ymhAoUadCld1rl6COLicP7_ncB.dKi_Bbgf5AV5dsefhJnYcDr90O_T1tFJXFLXax7GFM9PW5jn_ xuT21XEJUQZd6EyMvhxpW5VRlW0TyjgKlycxXFCoPRuvRdG1fkoCFQSzZzRun5C3dQkF3LVotEER QEgIvh6lon9BJfdvCghh_s6r3ayO11s5CLs8j2rqzvCnlB54ih4pWOMj4EYrna.HvkAgmH8WTyoL VCi82J5fgkB0kCkIZfBDVksbUoFbzbHNrW1lFwJMq1hFp7y0I1.jqPTUe_PaDCEDYjQ8n6AfsZZY iRU68uqz9zn0nmdu7y4gJcRXlieKiQiQxFcOCgHG6i X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.ne1.yahoo.com with HTTP; Fri, 17 Feb 2023 11:07:27 +0000 Original-Received: by hermes--production-sg3-9fc5746c8-z7rbd (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID ce72f3fab4c1dc628aa0c3b98b804797; Fri, 17 Feb 2023 11:05:24 +0000 (UTC) In-Reply-To: <83o7ps1yl6.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 17 Feb 2023 10:32:37 +0200") X-Mailer: WebService/1.1.21183 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.186.231; envelope-from=luangruo@yahoo.com; helo=sonic310-50.consmr.mail.ne1.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:303466 Archived-At: Eli Zaretskii writes: >> From: Po Lu >> Cc: emacs-devel@gnu.org >> Date: Fri, 17 Feb 2023 15:07:20 +0800 >> >> Anyway, how's this: >> >> diff --git a/lisp/files.el b/lisp/files.el >> index b0ec6bb09d0..5b989902bc3 100644 >> --- a/lisp/files.el >> +++ b/lisp/files.el >> @@ -6360,7 +6360,18 @@ file-equal-p >> (let (f1-attr f2-attr) >> (and (setq f1-attr (file-attributes (file-truename file1))) >> (setq f2-attr (file-attributes (file-truename file2))) >> - (equal f1-attr f2-attr)))))) >> + (progn >> + ;; Haiku systems change the file's last access timestamp >> + ;; every time `stat' is called. Make sure to not compare >> + ;; the timestamps in that case. >> + (or (equal f1-attr f2-attr) >> + (when (and (eq system-type 'haiku) >> + (consp (nthcdr 4 f1-attr)) >> + (consp (nthcdr 4 f2-attr))) >> + (ignore-errors >> + (setcar (nthcdr 4 f1-attr) nil) >> + (setcar (nthcdr 4 f2-attr) nil)) >> + (equal f1-attr f2-attr))))))))) >> >> (defun file-in-directory-p (file dir) >> "Return non-nil if DIR is a parent directory of FILE. > > Fine by me, thanks. > > This can go to the emacs-29 branch, if you want. OK, thanks.