]> git.eshelyaron.com Git - emacs.git/commitdiff
Use correct encoding to communicate with Git.
authorEli Zaretskii <eliz@gnu.org>
Fri, 21 Nov 2014 10:26:35 +0000 (12:26 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 21 Nov 2014 10:26:35 +0000 (12:26 +0200)
 lisp/vc/vc-git.el (vc-git-command, vc-git--call): Bind
 coding-system-for-read and coding-system-for-write to
 vc-git-commits-coding-system.

lisp/ChangeLog
lisp/vc/vc-git.el

index 510cd32e4cfc465121f39e6e369cf0ac43687925..13bc0ba5db2fe4e770e1a0b3f21b82ff34500930 100644 (file)
@@ -1,3 +1,9 @@
+2014-11-21  Eli Zaretskii  <eliz@gnu.org>
+
+       * vc/vc-git.el (vc-git-command, vc-git--call): Bind
+       coding-system-for-read and coding-system-for-write to
+       vc-git-commits-coding-system.
+
 2014-11-20  Michael Albinus  <michael.albinus@gmx.de>
 
         Improve XEmacs compatibility.
index 9c8ab3ba3934d23293de3ae87f6aaf61f85a07d0..0ff5ba2c39dbd032e2ecc42db76aea2a4a0c109b 100644 (file)
@@ -1209,16 +1209,18 @@ This command shares argument histories with \\[rgrep] and \\[grep]."
   "A wrapper around `vc-do-command' for use in vc-git.el.
 The difference to vc-do-command is that this function always invokes
 `vc-git-program'."
-  (apply 'vc-do-command (or buffer "*vc*") okstatus vc-git-program
-         ;; http://debbugs.gnu.org/16897
-         (unless (and (not (cdr-safe file-or-list))
-                      (let ((file (or (car-safe file-or-list)
-                                      file-or-list)))
-                        (and file
-                             (eq ?/ (aref file (1- (length file))))
-                             (equal file (vc-git-root file)))))
-           file-or-list)
-         (cons "--no-pager" flags)))
+  (let ((coding-system-for-read vc-git-commits-coding-system)
+       (coding-system-for-write vc-git-commits-coding-system))
+    (apply 'vc-do-command (or buffer "*vc*") okstatus vc-git-program
+          ;; http://debbugs.gnu.org/16897
+          (unless (and (not (cdr-safe file-or-list))
+                       (let ((file (or (car-safe file-or-list)
+                                       file-or-list)))
+                         (and file
+                              (eq ?/ (aref file (1- (length file))))
+                              (equal file (vc-git-root file)))))
+            file-or-list)
+          (cons "--no-pager" flags))))
 
 (defun vc-git--empty-db-p ()
   "Check if the git db is empty (no commit done yet)."
@@ -1231,6 +1233,8 @@ The difference to vc-do-command is that this function always invokes
   ;; directories.  We enable `inhibit-null-byte-detection', otherwise
   ;; Tramp's eol conversion might be confused.
   (let ((inhibit-null-byte-detection t)
+       (coding-system-for-read vc-git-commits-coding-system)
+       (coding-system-for-write vc-git-commits-coding-system)
        (process-environment (cons "PAGER=" process-environment)))
     (apply 'process-file vc-git-program nil buffer nil command args)))