From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Eric Gillespie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 18 Jan 2023 01:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 60897@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.167400421025555 (code B ref -1); Wed, 18 Jan 2023 01:11:01 +0000 Received: (at submit) by debbugs.gnu.org; 18 Jan 2023 01:10:10 +0000 Received: from localhost ([127.0.0.1]:38566 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHwxu-0006e7-AZ for submit@debbugs.gnu.org; Tue, 17 Jan 2023 20:10:10 -0500 Received: from lists.gnu.org ([209.51.188.17]:35466) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHwxp-0006dx-MV for submit@debbugs.gnu.org; Tue, 17 Jan 2023 20:10:08 -0500 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 1pHwxp-0001jc-D2 for bug-gnu-emacs@gnu.org; Tue, 17 Jan 2023 20:10:05 -0500 Received: from relay2-d.mail.gandi.net ([217.70.183.194]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pHwxl-0001hE-Uk for bug-gnu-emacs@gnu.org; Tue, 17 Jan 2023 20:10:04 -0500 Received: (Authenticated sender: epg@pretzelnet.org) by mail.gandi.net (Postfix) with ESMTPSA id 29E2840002; Wed, 18 Jan 2023 01:09:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pretzelnet.org; s=gm1; t=1674004197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=avxnKKXbxlMgRQ7vrvmf8uI4d/gnRqTbJboANBC4+So=; b=ob7ieDzoJ5gUcxHucMk71r+AzXS8gFSeaqFLU5qH48SDP1Jr1GbR9nXTyTj3dOJispRrsd nMAqwhBun7zwJKHEUTrIWWZwRcarMGgfuV3FP5nvtrwcr8RJDfxLX1oqhNI7FKk/NdUTF9 4GTNWIKxPi+85ejiQKVvN+hOoMw/ryb3DMPP9EHVry79a/UfpNotwqzfLFFGh91WnjXA0I LTXPilaCHTTCR4woJWApuLnsM1FJmooOUsQWal8inPxy6zlUbTYX12tSuAQJTeCiS+DUeG Ctek0CBw62URMJ4p9RZTFWFTI39iJEb9zU5aiKFHzbmov21PItw5cR3jwep9xw== From: Eric Gillespie X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 28.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <29400.1674004194.1@hassadar.pretzelnet.org> Date: Tue, 17 Jan 2023 19:09:54 -0600 Message-ID: <29401.1674004194@hassadar.pretzelnet.org> Received-SPF: pass client-ip=217.70.183.194; envelope-from=epg@pretzelnet.org; helo=relay2-d.mail.gandi.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) 1. git clone git://git.sv.gnu.org/emacs.git 2. emacs -Q emacs/BUGS 3. Make any change at all. Save it. 4. C-x v = 5. C-x v u Step 4 switches to the diff buffer, as it always has (good). If you switch back to the file buffer and C-x v u there, the file is reverted and with it the buffer. But we're staying in the diff buffer: Expected behavior: File and buffer both reverted. Actual behavior: File is reverted but buffer is NOT. bisect results: 4803fba487d41f0817feab48b5095ef4b4940ff6 is the first bad commit commit 4803fba487d41f0817feab48b5095ef4b4940ff6 Author: Juri Linkov Date: Sun Aug 28 22:38:51 2022 +0300 'C-x v v' on a diff buffer commits it as a patch (bug#52349) In GNU Emacs 29.0.60 (build 4, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0) of 2023-01-17 built on dogato Repository revision: 56d69c2fc4782dc23bd79ddcbccfbae9b263ecac Repository branch: emacs-29 Windowing system distributor 'The X.Org Foundation', version 11.0.12003000 System Description: openSUSE Leap 15.4 Configured using: 'configure -C --prefix=/home/epg/.local --disable-silent-rules --without-libsystemd --without-xft --without-m17n-flt --without-toolkit-scroll-bars --without-gpm --without-dbus --without-gsettings --without-selinux --without-compress-install --without-tree-sitter --with-x CC=gcc-11' Configured features: CAIRO FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG JSON LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF WEBP X11 XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LC_CTYPE: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view pcvs-util smerge-mode diff whitespace vc vc-git diff-mode easy-mmode vc-dispatcher dired-aux cl-loaddefs cl-lib dired dired-loaddefs rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads inotify dynamic-setting font-render-setting cairo x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 55463 8329) (symbols 48 6885 0) (strings 32 21222 2121) (string-bytes 1 592863) (vectors 16 13020) (vector-slots 8 183606 11153) (floats 8 27 40) (intervals 56 545 0) (buffers 976 17)) From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 18 Jan 2023 17:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eric Gillespie Cc: 60897@debbugs.gnu.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.1674063723807 (code B ref 60897); Wed, 18 Jan 2023 17:43:02 +0000 Received: (at 60897) by debbugs.gnu.org; 18 Jan 2023 17:42:03 +0000 Received: from localhost ([127.0.0.1]:41736 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pICRn-0000Cw-6b for submit@debbugs.gnu.org; Wed, 18 Jan 2023 12:42:03 -0500 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:42931) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pICRk-0000Bf-II for 60897@debbugs.gnu.org; Wed, 18 Jan 2023 12:42:01 -0500 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id D0BFA2000B; Wed, 18 Jan 2023 17:41:53 +0000 (UTC) From: Juri Linkov In-Reply-To: <29401.1674004194@hassadar.pretzelnet.org> (Eric Gillespie's message of "Tue, 17 Jan 2023 19:09:54 -0600") Organization: LINKOV.NET References: <29401.1674004194@hassadar.pretzelnet.org> Date: Wed, 18 Jan 2023 19:29:16 +0200 Message-ID: <86edrr4zcz.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > 2. emacs -Q emacs/BUGS > 3. Make any change at all. Save it. > 4. C-x v = > 5. C-x v u > > Step 4 switches to the diff buffer, as it always has (good). > > If you switch back to the file buffer and C-x v u there, the file > is reverted and with it the buffer. > > But we're staying in the diff buffer: > > Expected behavior: > File and buffer both reverted. > > Actual behavior: > File is reverted but buffer is NOT. The behavior of C-x v u in the diff buffer was improved in emacs-29 to revert all files mentioned in the diff. In emacs-28 it reverted only one file, but in emacs-29 when the diff buffer shows many files, such as after C-x v D, all these files are reverted. But as you noticed it doesn't refresh the buffer. This is because vc-deduce-fileset in the diff buffer now returns relative file names, not absolute as vc-resynch-buffer expects. Expanding relative file names to absolute is not possible in diff-vc-deduce-fileset, because then C-x v v will fail in vc-default-checkin-patch that expects relative file names. So I think the right place to do this is before trying to compare relative names with (string= buffer-file-name file): ``` diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el index e1a3eff448d..3f9c39f2aff 100644 --- a/lisp/vc/vc-dispatcher.el +++ b/lisp/vc/vc-dispatcher.el @@ -643,6 +643,8 @@ vc-resynch-buffers-in-directory (defun vc-resynch-buffer (file &optional keep noquery reset-vc-info) "If FILE is currently visited, resynch its buffer." + (unless (file-name-absolute-p file) + (setq file (expand-file-name file (vc-root-dir)))) (if (string= buffer-file-name file) (vc-resynch-window file keep noquery reset-vc-info) (if (file-directory-p file) ``` From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Eric Gillespie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 21 Jan 2023 00:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 60897@debbugs.gnu.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167426246929204 (code B ref 60897); Sat, 21 Jan 2023 00:55:01 +0000 Received: (at 60897) by debbugs.gnu.org; 21 Jan 2023 00:54:29 +0000 Received: from localhost ([127.0.0.1]:47574 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJ29N-0007ax-47 for submit@debbugs.gnu.org; Fri, 20 Jan 2023 19:54:29 -0500 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:38021) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJ29J-0007ad-2h for 60897@debbugs.gnu.org; Fri, 20 Jan 2023 19:54:27 -0500 Received: (Authenticated sender: epg@pretzelnet.org) by mail.gandi.net (Postfix) with ESMTPSA id A4450240003; Sat, 21 Jan 2023 00:54:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pretzelnet.org; s=gm1; t=1674262458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hEIMyKvdiRcKbOdtmYwC7YQ5gLo86BBG1cfFv6CzJK0=; b=VpuTD0ceNtx+0lwky+XMPXZGm8dphogbKPbLQXGz70HFr8MlRFdyi9Q+J8xwIxAU644WBn Lv3kXe7/UQjwjEoSq66PWkUbGSnKFco8tu/8LyBSP5OK8OGDqdjSDFczIq64zFK5LoIk9E KbVhswG+1/NxWgBvGD0s7oyByD40vCCwOgGJXuas68o19WfzmolXYSC2auF94gbhKEdrWB bXgUZlNQfukxugjM/PQEAsO66Az2upCE/1JpOOM63dAMB33j46IrahKX4mNJBTUDqBZAzV AhVrB2FPlNHZDlNfF+G55tKSR9i1Mq4FxjGaK+PEaTfXlq/mxRpa7gCpsj2IgA== From: Eric Gillespie In-reply-to: <86edrr4zcz.fsf@mail.linkov.net> References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 28.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <40200.1674262453.1@hassadar.pretzelnet.org> Content-Transfer-Encoding: quoted-printable Date: Fri, 20 Jan 2023 18:54:14 -0600 Message-ID: <40201.1674262454@hassadar.pretzelnet.org> X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Juri Linkov writes: > The behavior of C-x v u in the diff buffer was improved in emacs-29 > to revert all files mentioned in the diff. In emacs-28 it reverted > only one file, but in emacs-29 when the diff buffer shows many files, > such as after C-x v D, all these files are reverted. Interesting, I hadn't noticed. Actually, I just tried reverting two files from the diff buffer in 28.2 and it worked. I've been regretting not finding the time to report the vc bug I ran across in emacs 28, but then when 4803fba487d41f0817feab48b5095ef4b4940ff6 showed up and fixed what I HAD noticed, I stopped worrying about it. I'm getting worried again :) Here's what I see: 1. edit two versioned files 2. mark them both in vc-dired 3. =3D to show the diff for the two marked files 4. C-x v u In emacs 27 and 28, both files are reverted. Now, do the same first 3 steps again but now: 4. C-x v v 5. write a log message 6. C-c C-c In 23.1 and 27: commits, as it has since vc-dired was born in 23.1 (I have 23.1 handy and just confirmed I was not misremembering). In 28, you get this baffling prompt: 'Buffer *vc-diff* modified; save it? (yes or no)' Neither option commits :) It seemed to go back to normal with commit 4803fba487d41f0817feab48b5095ef4b4940ff6 on my daily driver openSUSE laptop, but it's not working on my home FreeBSD box! I'll look into that more... I can't seem to make that fail a second time. But this was the error message I got: vc-do-command: Failed (status 128): git --no-pager apply --cached ../../..= /../tmp/git-patch11lenk Which is a pretty strange path and which does not exist. If you add one more ../ (five total) you will indeed reach /tmp but that would be a strange way to reference it. Thanks! From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 22 Jan 2023 17:14:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eric Gillespie Cc: 60897@debbugs.gnu.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167440764221448 (code B ref 60897); Sun, 22 Jan 2023 17:14:03 +0000 Received: (at 60897) by debbugs.gnu.org; 22 Jan 2023 17:14:02 +0000 Received: from localhost ([127.0.0.1]:52573 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJdur-0005Zj-PQ for submit@debbugs.gnu.org; Sun, 22 Jan 2023 12:14:02 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:42553) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJduq-0005Z4-1v for 60897@debbugs.gnu.org; Sun, 22 Jan 2023 12:14:00 -0500 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id B249660002; Sun, 22 Jan 2023 17:13:53 +0000 (UTC) From: Juri Linkov In-Reply-To: <40201.1674262454@hassadar.pretzelnet.org> (Eric Gillespie's message of "Fri, 20 Jan 2023 18:54:14 -0600") Organization: LINKOV.NET References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> <40201.1674262454@hassadar.pretzelnet.org> Date: Sun, 22 Jan 2023 19:12:53 +0200 Message-ID: <8635827hie.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Here's what I see: > > 1. edit two versioned files > 2. mark them both in vc-dired > 3. = to show the diff for the two marked files > 4. C-x v u > > In emacs 27 and 28, both files are reverted. In emacs 27 and 28 reverting was unpredictable and depended on the parent buffer of *vc-diff*. So for example, after typing = at the top of the vc-dir buffer without marking files, C-x v u failed with such error: (file-missing "Cannot open load file" "No such file or directory" "vc-nil") > It seemed to go back to normal with commit > 4803fba487d41f0817feab48b5095ef4b4940ff6 on my daily driver > openSUSE laptop, but it's not working on my home FreeBSD box! > I'll look into that more... > > I can't seem to make that fail a second time. But this was the > error message I got: > > vc-do-command: Failed (status 128): git --no-pager apply --cached ../../../../tmp/git-patch11lenk Did it pop up a buffer with an error output message? > Which is a pretty strange path and which does not exist. If you > add one more ../ (five total) you will indeed reach /tmp but that > would be a strange way to reference it. Hmm, the error comes from (vc-git-command nil 0 patch-file "apply" "--cached") where patch-file is created by (make-nearby-temp-file "git-patch"). I guess make-nearby-temp-file makes such a relative name that looks strange. From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 22 Jan 2023 17:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eric Gillespie Cc: 60897@debbugs.gnu.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167440788021850 (code B ref 60897); Sun, 22 Jan 2023 17:18:02 +0000 Received: (at 60897) by debbugs.gnu.org; 22 Jan 2023 17:18:00 +0000 Received: from localhost ([127.0.0.1]:52580 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJdyi-0005gM-HW for submit@debbugs.gnu.org; Sun, 22 Jan 2023 12:18:00 -0500 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:45835) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJdyg-0005g8-9l for 60897@debbugs.gnu.org; Sun, 22 Jan 2023 12:17:58 -0500 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 3A9981BF205; Sun, 22 Jan 2023 17:17:50 +0000 (UTC) From: Juri Linkov In-Reply-To: <86edrr4zcz.fsf@mail.linkov.net> (Juri Linkov's message of "Wed, 18 Jan 2023 19:29:16 +0200") Organization: LINKOV.NET References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> Date: Sun, 22 Jan 2023 19:17:21 +0200 Message-ID: <868rhu5w0u.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > But as you noticed it doesn't refresh the buffer. This is because > vc-deduce-fileset in the diff buffer now returns relative file names, > not absolute as vc-resynch-buffer expects. > > Expanding relative file names to absolute is not possible in > diff-vc-deduce-fileset, because then C-x v v will fail in > vc-default-checkin-patch that expects relative file names. > > So I think the right place to do this is before trying to compare > relative names with (string= buffer-file-name file): > > diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el > @@ -643,6 +643,8 @@ vc-resynch-buffers-in-directory > > (defun vc-resynch-buffer (file &optional keep noquery reset-vc-info) > "If FILE is currently visited, resynch its buffer." > + (unless (file-name-absolute-p file) > + (setq file (expand-file-name file (vc-root-dir)))) > (if (string= buffer-file-name file) > (vc-resynch-window file keep noquery reset-vc-info) > (if (file-directory-p file) Eli, is this ok for the emacs-29 branch? I'm unsure because vc-resynch-buffer is used in too many places, so this change is not localized to vc-revert. From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 22 Jan 2023 19:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 60897@debbugs.gnu.org, epg@pretzelnet.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167441703918998 (code B ref 60897); Sun, 22 Jan 2023 19:51:02 +0000 Received: (at 60897) by debbugs.gnu.org; 22 Jan 2023 19:50:39 +0000 Received: from localhost ([127.0.0.1]:52666 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJgMQ-0004wL-P7 for submit@debbugs.gnu.org; Sun, 22 Jan 2023 14:50:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:60142) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJgML-0004vr-T9 for 60897@debbugs.gnu.org; Sun, 22 Jan 2023 14:50:37 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJgMB-0001D0-Po; Sun, 22 Jan 2023 14:50:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=JKjIIU2K+8q4P0YmeV6g1ieuMkTpADnFUidgjukmQFI=; b=H44XmkktDKjZ p15AIeEm5SVULhkodBZmIselHFTnuqV0dqLjn2Gb7bsJChTBKJrXyMzxOghPPNgU9ABz8hviclRfp 4ePDLTDOd2QBz8ZTqzf9CCbOnQdNXHGmz6UxPuoSyu+vwLZsFko5qfWvJxP1Sc8ampsLVY2x4VcVO 4wdgBSmUeWMtCt+BnSCZi2HyXYwR438frRykuI8dCacVoyOCVDYmazn4IUfS8eP7j+weQ8Zk8JCRC 5Tq1RCeBDRokfK/GRyQHShpTj+iZoQ+FiBdV5Xxymn//I1CAh1rvaOJYNp75dlxQsPWw74c6umcjT HZewixc24RNF8HDvnYNVvQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJgM9-0004Ps-F8; Sun, 22 Jan 2023 14:50:22 -0500 Date: Sun, 22 Jan 2023 21:50:26 +0200 Message-Id: <83cz76jqm5.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <868rhu5w0u.fsf@mail.linkov.net> (message from Juri Linkov on Sun, 22 Jan 2023 19:17:21 +0200) References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> <868rhu5w0u.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 60897@debbugs.gnu.org > From: Juri Linkov > Date: Sun, 22 Jan 2023 19:17:21 +0200 > > > But as you noticed it doesn't refresh the buffer. This is because > > vc-deduce-fileset in the diff buffer now returns relative file names, > > not absolute as vc-resynch-buffer expects. > > > > Expanding relative file names to absolute is not possible in > > diff-vc-deduce-fileset, because then C-x v v will fail in > > vc-default-checkin-patch that expects relative file names. > > > > So I think the right place to do this is before trying to compare > > relative names with (string= buffer-file-name file): > > > > diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el > > @@ -643,6 +643,8 @@ vc-resynch-buffers-in-directory > > > > (defun vc-resynch-buffer (file &optional keep noquery reset-vc-info) > > "If FILE is currently visited, resynch its buffer." > > + (unless (file-name-absolute-p file) > > + (setq file (expand-file-name file (vc-root-dir)))) > > (if (string= buffer-file-name file) > > (vc-resynch-window file keep noquery reset-vc-info) > > (if (file-directory-p file) > > Eli, is this ok for the emacs-29 branch? I'm unsure because > vc-resynch-buffer is used in too many places, so this change > is not localized to vc-revert. You could use the expanded file name only for the purposes of the string= call, no? Then the effect of this change would be very local and thus safer. From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Jan 2023 07:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 60897@debbugs.gnu.org, epg@pretzelnet.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167446033514293 (code B ref 60897); Mon, 23 Jan 2023 07:53:01 +0000 Received: (at 60897) by debbugs.gnu.org; 23 Jan 2023 07:52:15 +0000 Received: from localhost ([127.0.0.1]:53230 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJrcl-0003iT-56 for submit@debbugs.gnu.org; Mon, 23 Jan 2023 02:52:15 -0500 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:53895) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJrch-0003iD-RN for 60897@debbugs.gnu.org; Mon, 23 Jan 2023 02:52:14 -0500 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 4D28AE0003; Mon, 23 Jan 2023 07:52:03 +0000 (UTC) From: Juri Linkov In-Reply-To: <83cz76jqm5.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 22 Jan 2023 21:50:26 +0200") Organization: LINKOV.NET References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> <868rhu5w0u.fsf@mail.linkov.net> <83cz76jqm5.fsf@gnu.org> Date: Mon, 23 Jan 2023 09:51:30 +0200 Message-ID: <86v8kx3czh.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> > (defun vc-resynch-buffer (file &optional keep noquery reset-vc-info) >> > "If FILE is currently visited, resynch its buffer." >> > + (unless (file-name-absolute-p file) >> > + (setq file (expand-file-name file (vc-root-dir)))) >> > (if (string= buffer-file-name file) >> > (vc-resynch-window file keep noquery reset-vc-info) >> > (if (file-directory-p file) >> >> Eli, is this ok for the emacs-29 branch? I'm unsure because >> vc-resynch-buffer is used in too many places, so this change >> is not localized to vc-revert. > > You could use the expanded file name only for the purposes of the > string= call, no? Then the effect of this change would be very local > and thus safer. There is another string= call that fails inside vc-resynch-window called from vc-resynch-buffer. From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Jan 2023 13:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 60897@debbugs.gnu.org, epg@pretzelnet.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167448024525797 (code B ref 60897); Mon, 23 Jan 2023 13:25:02 +0000 Received: (at 60897) by debbugs.gnu.org; 23 Jan 2023 13:24:05 +0000 Received: from localhost ([127.0.0.1]:53650 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJwnt-0006i0-8w for submit@debbugs.gnu.org; Mon, 23 Jan 2023 08:24:05 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56644) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJwnr-0006hX-Um for 60897@debbugs.gnu.org; Mon, 23 Jan 2023 08:24:04 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJwnm-0008Cg-3o; Mon, 23 Jan 2023 08:23:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=NcgNyMlUu49X4PNc3IFy4RTAhe5De0s1xoaabZ+NZrc=; b=MeS9OdHn18lr iMoL2KP2OYaYKiqXrNnYgfp433sCQEEBolx2PbeU56eRNfxXBgO3rjU2/W2y56aiBlWyTDjCU0Dp5 9JcmqqQ8AfgRzRhv9o9hThyGfTY+k+n/4Tsx1zjFK468PgKI/f+TRPeJyLnGEW0nQZWgUolgRkcKV M8zFcAIqjlNbR7+nFXIPYYPhX+hcjPD8ydGFbr6+lEJQIbC3ZvSwsa6A+/H1vp0sZhf2nSjV/1eq7 BCeSpz+mV6sQ5SMnO0w998fmBmOJyQEK9vQPvtHEAGz9rkBUYppEcX+FocSEpwslOhuDvJT91tYl3 3dv77Mp9DVftYClX/zaMqw==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJwnl-0003dK-84; Mon, 23 Jan 2023 08:23:57 -0500 Date: Mon, 23 Jan 2023 15:24:05 +0200 Message-Id: <83v8kxidu2.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <86v8kx3czh.fsf@mail.linkov.net> (message from Juri Linkov on Mon, 23 Jan 2023 09:51:30 +0200) References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> <868rhu5w0u.fsf@mail.linkov.net> <83cz76jqm5.fsf@gnu.org> <86v8kx3czh.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Cc: epg@pretzelnet.org, 60897@debbugs.gnu.org > Date: Mon, 23 Jan 2023 09:51:30 +0200 > > >> > (defun vc-resynch-buffer (file &optional keep noquery reset-vc-info) > >> > "If FILE is currently visited, resynch its buffer." > >> > + (unless (file-name-absolute-p file) > >> > + (setq file (expand-file-name file (vc-root-dir)))) > >> > (if (string= buffer-file-name file) > >> > (vc-resynch-window file keep noquery reset-vc-info) > >> > (if (file-directory-p file) > >> > >> Eli, is this ok for the emacs-29 branch? I'm unsure because > >> vc-resynch-buffer is used in too many places, so this change > >> is not localized to vc-revert. > > > > You could use the expanded file name only for the purposes of the > > string= call, no? Then the effect of this change would be very local > > and thus safer. > > There is another string= call that fails inside vc-resynch-window > called from vc-resynch-buffer. How about replacing string= in these two cases with something smarter, which would expand-file-name? Comparing file names as simple strings is wrought with trouble anyway. From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Jan 2023 17:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 60897@debbugs.gnu.org, epg@pretzelnet.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167458269412361 (code B ref 60897); Tue, 24 Jan 2023 17:52:02 +0000 Received: (at 60897) by debbugs.gnu.org; 24 Jan 2023 17:51:34 +0000 Received: from localhost ([127.0.0.1]:57510 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKNSH-0003DJ-Qz for submit@debbugs.gnu.org; Tue, 24 Jan 2023 12:51:34 -0500 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:39089) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKNSH-0003D6-0S for 60897@debbugs.gnu.org; Tue, 24 Jan 2023 12:51:33 -0500 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 44FE6E0009; Tue, 24 Jan 2023 17:51:23 +0000 (UTC) From: Juri Linkov In-Reply-To: <83v8kxidu2.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 23 Jan 2023 15:24:05 +0200") Organization: LINKOV.NET References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> <868rhu5w0u.fsf@mail.linkov.net> <83cz76jqm5.fsf@gnu.org> <86v8kx3czh.fsf@mail.linkov.net> <83v8kxidu2.fsf@gnu.org> Date: Tue, 24 Jan 2023 19:46:51 +0200 Message-ID: <864jsfygsw.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> >> > (defun vc-resynch-buffer (file &optional keep noquery reset-vc-info) >> >> > "If FILE is currently visited, resynch its buffer." >> >> > + (unless (file-name-absolute-p file) >> >> > + (setq file (expand-file-name file (vc-root-dir)))) >> >> > (if (string= buffer-file-name file) >> >> > (vc-resynch-window file keep noquery reset-vc-info) >> >> > (if (file-directory-p file) >> >> There is another string= call that fails inside vc-resynch-window >> called from vc-resynch-buffer. > > How about replacing string= in these two cases with something smarter, > which would expand-file-name? Comparing file names as simple strings > is wrought with trouble anyway. This works as well: diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el index e1a3eff448d..8a0cdef4726 100644 --- a/lisp/vc/vc-dispatcher.el +++ b/lisp/vc/vc-dispatcher.el @@ -608,7 +608,7 @@ vc-resynch-window difference between the buffer and the file is due to modifications by the dispatcher client code, rather than user editing!" - (and (string= buffer-file-name file) + (and (string-prefix-p file buffer-file-name) (if keep (when (file-exists-p file) (when reset-vc-info @@ -643,7 +643,7 @@ vc-resynch-buffers-in-directory (defun vc-resynch-buffer (file &optional keep noquery reset-vc-info) "If FILE is currently visited, resynch its buffer." - (if (string= buffer-file-name file) + (if (string-prefix-p file buffer-file-name) (vc-resynch-window file keep noquery reset-vc-info) (if (file-directory-p file) (vc-resynch-buffers-in-directory file keep noquery reset-vc-info) From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Jan 2023 18:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 60897@debbugs.gnu.org, epg@pretzelnet.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167458358713768 (code B ref 60897); Tue, 24 Jan 2023 18:07:02 +0000 Received: (at 60897) by debbugs.gnu.org; 24 Jan 2023 18:06:27 +0000 Received: from localhost ([127.0.0.1]:57524 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKNgh-0003Zz-4b for submit@debbugs.gnu.org; Tue, 24 Jan 2023 13:06:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKNgf-0003Zm-5A for 60897@debbugs.gnu.org; Tue, 24 Jan 2023 13:06:26 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pKNgZ-00070P-0Z; Tue, 24 Jan 2023 13:06:19 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=yk9xPMhFZUAkaPYZzwPHKORYnF7gCFl2+S8gqsPlkB8=; b=BvAfvn+6vQ6Z WrcAWShixa4aSHLVS8Uv2tEVEf2wMXTiKR8WkMNYERucRkwl+atsXi/6OKBITkg0rVwO0VMUQk0Bd XBHooSB69MZfCT+UYtOGCXBOqJVCxJuvKcmZhOOli1yeaE9bqQYYqRciF+ERjjGbxTFQVImxRdPrV wwKGIS76WvJOH08TBy/PAksxXY3kczSLzldaKRXsI7smPaU51aCVJ0f1QkNAxEHyHJ0h69q/dUn4z 80BWDXK7VCubrXk3RZx7pifo0zD4Fc01qG0KmBKBWMuoqUsGiAYUOkZWWRcggKp5SZB0BasNdO76o pu8XhB5HLFlsi0BQZz4t1g==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pKNgM-0007ec-Nt; Tue, 24 Jan 2023 13:06:18 -0500 Date: Tue, 24 Jan 2023 20:06:17 +0200 Message-Id: <83ilgvhko6.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <864jsfygsw.fsf@mail.linkov.net> (message from Juri Linkov on Tue, 24 Jan 2023 19:46:51 +0200) References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> <868rhu5w0u.fsf@mail.linkov.net> <83cz76jqm5.fsf@gnu.org> <86v8kx3czh.fsf@mail.linkov.net> <83v8kxidu2.fsf@gnu.org> <864jsfygsw.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Cc: epg@pretzelnet.org, 60897@debbugs.gnu.org > Date: Tue, 24 Jan 2023 19:46:51 +0200 > > > How about replacing string= in these two cases with something smarter, > > which would expand-file-name? Comparing file names as simple strings > > is wrought with trouble anyway. > > This works as well: > > diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el > index e1a3eff448d..8a0cdef4726 100644 > --- a/lisp/vc/vc-dispatcher.el > +++ b/lisp/vc/vc-dispatcher.el > @@ -608,7 +608,7 @@ vc-resynch-window > difference between the buffer and the file is due to > modifications by the dispatcher client code, rather than user > editing!" > - (and (string= buffer-file-name file) > + (and (string-prefix-p file buffer-file-name) > (if keep > (when (file-exists-p file) > (when reset-vc-info > @@ -643,7 +643,7 @@ vc-resynch-buffers-in-directory > > (defun vc-resynch-buffer (file &optional keep noquery reset-vc-info) > "If FILE is currently visited, resynch its buffer." > - (if (string= buffer-file-name file) > + (if (string-prefix-p file buffer-file-name) > (vc-resynch-window file keep noquery reset-vc-info) > (if (file-directory-p file) > (vc-resynch-buffers-in-directory file keep noquery reset-vc-info) I'm confused: I though the problem was that FILE was some relative form of buffer-file-name, which is why you wanted to run it through expand-file-name, to make it absolute. But if this is the case, i.e. you have file = "foo" and buffer-file-name = /path/to/foo, then string-prefix-p will not do the job, right? And even if it did, you could have false positives. Maybe I just don't understand what this if clause is trying to test? From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Jan 2023 18:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 60897@debbugs.gnu.org, epg@pretzelnet.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167458438415015 (code B ref 60897); Tue, 24 Jan 2023 18:20:02 +0000 Received: (at 60897) by debbugs.gnu.org; 24 Jan 2023 18:19:44 +0000 Received: from localhost ([127.0.0.1]:57539 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKNtY-0003u7-GB for submit@debbugs.gnu.org; Tue, 24 Jan 2023 13:19:44 -0500 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:47897) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKNtX-0003tv-Qf for 60897@debbugs.gnu.org; Tue, 24 Jan 2023 13:19:44 -0500 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id DEA0420007; Tue, 24 Jan 2023 18:19:34 +0000 (UTC) From: Juri Linkov In-Reply-To: <83ilgvhko6.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 24 Jan 2023 20:06:17 +0200") Organization: LINKOV.NET References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> <868rhu5w0u.fsf@mail.linkov.net> <83cz76jqm5.fsf@gnu.org> <86v8kx3czh.fsf@mail.linkov.net> <83v8kxidu2.fsf@gnu.org> <864jsfygsw.fsf@mail.linkov.net> <83ilgvhko6.fsf@gnu.org> Date: Tue, 24 Jan 2023 20:18:32 +0200 Message-ID: <86y1prvls7.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> (defun vc-resynch-buffer (file &optional keep noquery reset-vc-info) >> "If FILE is currently visited, resynch its buffer." >> - (if (string= buffer-file-name file) >> + (if (string-prefix-p file buffer-file-name) >> (vc-resynch-window file keep noquery reset-vc-info) >> (if (file-directory-p file) >> (vc-resynch-buffers-in-directory file keep noquery reset-vc-info) > > I'm confused: I though the problem was that FILE was some relative > form of buffer-file-name, which is why you wanted to run it through > expand-file-name, to make it absolute. But if this is the case, > i.e. you have file = "foo" and buffer-file-name = /path/to/foo, then > string-prefix-p will not do the job, right? And even if it did, you > could have false positives. > > Maybe I just don't understand what this if clause is trying to test? I tried to avoid expand-file-name, but maybe it's unavoidable. In this case I can't find a solution simpler than this: diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el index e1a3eff448d..fd5f655a0f6 100644 --- a/lisp/vc/vc-dispatcher.el +++ b/lisp/vc/vc-dispatcher.el @@ -608,7 +608,10 @@ vc-resynch-window difference between the buffer and the file is due to modifications by the dispatcher client code, rather than user editing!" - (and (string= buffer-file-name file) + (and (string= buffer-file-name + (if (file-name-absolute-p file) + file + (expand-file-name file (vc-root-dir)))) (if keep (when (file-exists-p file) (when reset-vc-info @@ -643,7 +646,10 @@ vc-resynch-buffers-in-directory (defun vc-resynch-buffer (file &optional keep noquery reset-vc-info) "If FILE is currently visited, resynch its buffer." - (if (string= buffer-file-name file) + (if (string= buffer-file-name + (if (file-name-absolute-p file) + file + (expand-file-name file (vc-root-dir)))) (vc-resynch-window file keep noquery reset-vc-info) (if (file-directory-p file) (vc-resynch-buffers-in-directory file keep noquery reset-vc-info) From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Jan 2023 18:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov Cc: 60897@debbugs.gnu.org, epg@pretzelnet.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167458539916689 (code B ref 60897); Tue, 24 Jan 2023 18:37:02 +0000 Received: (at 60897) by debbugs.gnu.org; 24 Jan 2023 18:36:39 +0000 Received: from localhost ([127.0.0.1]:57561 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKO9u-0004L7-VR for submit@debbugs.gnu.org; Tue, 24 Jan 2023 13:36:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46808) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKO9s-0004Kr-Sf for 60897@debbugs.gnu.org; Tue, 24 Jan 2023 13:36:37 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pKO9m-0006DW-BL; Tue, 24 Jan 2023 13:36:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=kCC3O2+QhX1HLiQY2w6OpLXtBfRnN2o/llYQGDXCk0c=; b=i79i6fsm7qvR 0ec8MzPpF2jWvWP8lL8koogcTXeAiItxv8KswDcqfVkleFq6O/uG22TYVe83isI2OOERYsW4kgWcn /GLMYje47QDfmYA8gqoXzP1+6I2uKDZJceePmBodNx0iWd6AzqDOGchX3q3bjAk93ciQMZvFQZLai DnkPkv+RSnCWRY5BwQLFbZaVYgba102/ztY3cZzlqiXRMcjtXlcyb6URDRlUqCA7Qd/ecyh5mnJ8a qoAqEwauJuRSBDPgMRiYZ2czx5qm27iJR5/RVsU/9VCmTNckK2w+wSafA4ni+rgFBXKlef48llIdQ kRMPK0jCIN2oUUF1TWQOpw==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pKO9l-0006SC-R5; Tue, 24 Jan 2023 13:36:30 -0500 Date: Tue, 24 Jan 2023 20:36:41 +0200 Message-Id: <83cz73hj9i.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <86y1prvls7.fsf@mail.linkov.net> (message from Juri Linkov on Tue, 24 Jan 2023 20:18:32 +0200) References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> <868rhu5w0u.fsf@mail.linkov.net> <83cz76jqm5.fsf@gnu.org> <86v8kx3czh.fsf@mail.linkov.net> <83v8kxidu2.fsf@gnu.org> <864jsfygsw.fsf@mail.linkov.net> <83ilgvhko6.fsf@gnu.org> <86y1prvls7.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Cc: epg@pretzelnet.org, 60897@debbugs.gnu.org > Date: Tue, 24 Jan 2023 20:18:32 +0200 > > I tried to avoid expand-file-name, but maybe it's unavoidable. > In this case I can't find a solution simpler than this: This is fine by me, thanks. From unknown Sat Jun 21 03:08:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60897: 29.0.60; vc-revert fails to revert buffer Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Jan 2023 18:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60897 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 60897@debbugs.gnu.org, epg@pretzelnet.org Received: via spool by 60897-submit@debbugs.gnu.org id=B60897.167458620227370 (code B ref 60897); Tue, 24 Jan 2023 18:51:01 +0000 Received: (at 60897) by debbugs.gnu.org; 24 Jan 2023 18:50:02 +0000 Received: from localhost ([127.0.0.1]:57617 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKOMn-00076w-SJ for submit@debbugs.gnu.org; Tue, 24 Jan 2023 13:50:02 -0500 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:58705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKOMm-00076e-5v; Tue, 24 Jan 2023 13:49:56 -0500 Received: (Authenticated sender: juri@linkov.net) by mail.gandi.net (Postfix) with ESMTPSA id 685D71BF208; Tue, 24 Jan 2023 18:49:47 +0000 (UTC) From: Juri Linkov In-Reply-To: <83cz73hj9i.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 24 Jan 2023 20:36:41 +0200") Organization: LINKOV.NET References: <29401.1674004194@hassadar.pretzelnet.org> <86edrr4zcz.fsf@mail.linkov.net> <868rhu5w0u.fsf@mail.linkov.net> <83cz76jqm5.fsf@gnu.org> <86v8kx3czh.fsf@mail.linkov.net> <83v8kxidu2.fsf@gnu.org> <864jsfygsw.fsf@mail.linkov.net> <83ilgvhko6.fsf@gnu.org> <86y1prvls7.fsf@mail.linkov.net> <83cz73hj9i.fsf@gnu.org> Date: Tue, 24 Jan 2023 20:49:11 +0200 Message-ID: <86k01bvkd4.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) close 60897 29.0.60 thanks >> I tried to avoid expand-file-name, but maybe it's unavoidable. >> In this case I can't find a solution simpler than this: > > This is fine by me, thanks. Thus fixed in emacs-29 and closed.