GNU bug report logs - #39380
26.3: Opening files in vc-dir-mode with differing root and working dir fails

Previous Next

Package: emacs;

Reported by: Wolfgang Scherer <Wolfgang.Scherer <at> gmx.de>

Date: Sat, 1 Feb 2020 00:14:01 UTC

Severity: normal

Found in version 26.3

Fixed in version 27.1

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Wolfgang Scherer <Wolfgang.Scherer <at> gmx.de>, 39380 <at> debbugs.gnu.org
Subject: bug#39380: 26.3: Opening files in vc-dir-mode with differing root and working dir fails
Date: Wed, 5 Feb 2020 18:56:01 +0300
On 04.02.2020 19:04, Wolfgang Scherer wrote:
> Reverting de76a167dc09dc695a5acebabb7ab354a6bf556e does not change anything for me.
> 
> I had to revert 06083cf41c473404d246de9b91a0116f38c5485f to restore the correct behavior:
> 
> Author: Dmitry Gutov<dgutov <at> yandex.ru>
> Date:   Sat Jan 30 06:55:32 2016 +0300
> 
>      Don't pass DIR to 'hg status'
>     
>      * lisp/vc/vc-hg.el (vc-hg-dir-status-files):
>      Don't pass DIR to 'hg status' (bug#22481).

Good catch, thank you. Could you try this patch?

diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index c9a2cb412e..a91e1f5ad6 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -1352,14 +1352,14 @@ vc-hg-after-dir-status
 ;; Follows vc-exec-after.
 (declare-function vc-set-async-update "vc-dispatcher" (process-buffer))

-(defun vc-hg-dir-status-files (_dir files update-function)
+(defun vc-hg-dir-status-files (dir files update-function)
   ;; XXX: We can't pass DIR directly to 'hg status' because that
   ;; returns all ignored files if FILES is non-nil (bug#22481).
-  ;; If honoring DIR ever becomes important, try using '-I DIR/'.
-  (vc-hg-command (current-buffer) 'async files
-                 "status"
-                 (concat "-mardu" (if files "i"))
-                 "-C")
+  (let ((default-directory dir))
+    (vc-hg-command (current-buffer) 'async files
+                   "status" "re:" "-I" "."
+                   (concat "-mardu" (if files "i"))
+                   "-C"))
   (vc-run-delayed
     (vc-hg-after-dir-status update-function)))





This bug report was last modified 5 years and 96 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.