Subject: bug#57870: 27.1; vc-tor has no effect

From: Sean Whitton <[email-masked]>
Date: Fri, 16 Sep 2022 16:22:04 -0700

Hello,

>From reading vc-do-command, it looks to me that the vc-tor defcustom has
never actually had any effect on the commands that are run.  The
full-command variable is used only in messages displayed to the user.

If someone else could verify this, I'll push the attached.  This is
blocking my work on #57807.  Thanks.

-- 
Sean Whitton
>From ee62f2aed8f6339dc0442fb140d3df01d98ce659 Mon Sep 17 00:00:00 2001
From: Sean Whitton <[email-masked]>
Date: Fri, 16 Sep 2022 16:18:35 -0700
Subject: [PATCH] vc-do-command: Actually include "torsocks" in the command

* lisp/vc/vc-dispatcher.el (vc-do-command): When vc-tor is non-nil,
actually include "torsocks" in the command to be run (bug#XXXXX).
---
 lisp/vc/vc-dispatcher.el | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lisp/vc/vc-dispatcher.el b/lisp/vc/vc-dispatcher.el
index 36a6f27891..fff53fbcba 100644
--- a/lisp/vc/vc-dispatcher.el
+++ b/lisp/vc/vc-dispatcher.el
@@ -298,6 +298,9 @@ vc-do-command
 that is inserted into the command line before the filename.
 Return the return value of the slave command in the synchronous
 case, and the process object in the asynchronous case."
+  (when vc-tor
+    (push command flags)
+    (setq command "torsocks"))
   ;; FIXME: file-relative-name can return a bogus result because
   ;; it doesn't look at the actual file-system to see if symlinks
   ;; come into play.
@@ -310,8 +313,7 @@ vc-do-command
 	 ;; due to potential truncation of long messages.
 	 (message-truncate-lines t)
 	 (full-command
-	  (concat (if vc-tor "torsocks " "")
-                  (if (string= (substring command -1) "\n")
+	  (concat (if (string= (substring command -1) "\n")
 		      (substring command 0 -1)
 		    command)
 		  " " (vc-delistify flags)
-- 
2.30.2