From: Eli Zaretskii Date: Fri, 8 Feb 2019 06:59:23 +0000 (+0200) Subject: Fix failures of vc-find-revision with non-ASCII file names X-Git-Tag: emacs-26.1.92~29 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=459b669;p=emacs.git Fix failures of vc-find-revision with non-ASCII file names * lisp/vc/vc.el (vc-find-revision): Instead of binding coding-system-for-write, make the buffer-file-coding-system of the temporary buffer be no-conversion. This avoids the unwanted side effect of not encoding the command-line arguments of the VCS commands invoked by the backend. (Bug#34350) --- diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 9925196f737..326284f4446 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -1966,10 +1966,13 @@ Use BACKEND as the VC backend if specified." (with-current-buffer filebuf (let ((failed t)) (unwind-protect - (let ((coding-system-for-read 'no-conversion) - (coding-system-for-write 'no-conversion)) + (let ((coding-system-for-read 'no-conversion)) (with-temp-file filename (let ((outbuf (current-buffer))) + ;; We will read the backend's output with no + ;; conversions, so we should also save the + ;; temporary file with no encoding conversions. + (setq buffer-file-coding-system 'no-conversion) ;; Change buffer to get local value of ;; vc-checkout-switches. (with-current-buffer filebuf