Subject: Allow vc-sccs-diff to work with TRAMP

From: Peter Oliver <[email-masked]>
Date: Wed, 16 Oct 2019 18:59:28 +0100 (BST)

At present vc-sccs-diff doesn’t work with TRAMP, because it tries to run a remote diff process against a local temporary file.  The attached patch fixes this.

-- 
Peter Oliver

From 6d06a53ec3cf363eda487be6c74519c029f62bf7 Mon Sep 17 00:00:00 2001
From: Peter Oliver <[email-masked]>
Date: Wed, 16 Oct 2019 18:58:11 +0100
Subject: [PATCH] Allow vc-sccs-diff to work with TRAMP

If the diff command is to be run remotely, then the temporary files it's acting on must be remote too.
---
 lisp/vc/vc-sccs.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/vc/vc-sccs.el b/lisp/vc/vc-sccs.el
index 805e738f7a..b59d8178fe 100644
--- a/lisp/vc/vc-sccs.el
+++ b/lisp/vc/vc-sccs.el
@@ -347,7 +347,7 @@ Remaining arguments are ignored."
       (message "Running %s in foreground..." fake-command))
     (if oldproc (delete-process oldproc))
     (dolist (file files)
-      (let ((oldfile (make-temp-file "vc-sccs"))
+      (let ((oldfile (make-nearby-temp-file "vc-sccs"))
 	    newfile)
 	(unwind-protect
 	    (progn
@@ -364,7 +364,7 @@ Remaining arguments are ignored."
 		     (this-status
 		      (apply 'process-file "diff" nil t nil
 			     (append (vc-switches 'SCCS 'diff)
-				     (list oldfile
+				     (list (file-local-name oldfile)
 					   (or newfile
 					       (file-relative-name file)))))))
 		(or (integerp this-status) (setq status 'error))
-- 
2.21.0