emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 e30c3e9: Fix EOL decoding in vc-annotate with SVN


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-25 e30c3e9: Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
Date: Thu, 31 Mar 2016 20:02:30 +0000

branch: emacs-25
commit e30c3e9a9cca3ae84d4da132f334f1b8b6df45ac
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
    
    * lisp/vc/vc-annotate.el (vc-annotate): Force DOS EOL decoding on
    MS-Windows and MS-DOS, when processing the output of "svn annotate".
---
 lisp/vc/vc-annotate.el |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/lisp/vc/vc-annotate.el b/lisp/vc/vc-annotate.el
index ed038f1..379ac95 100644
--- a/lisp/vc/vc-annotate.el
+++ b/lisp/vc/vc-annotate.el
@@ -432,6 +432,14 @@ should be applied to the background or to the foreground."
     (with-output-to-temp-buffer temp-buffer-name
       (let ((backend (or vc-bk (vc-backend file)))
            (coding-system-for-read buffer-file-coding-system))
+        ;; On DOS/Windows, "svn annotate" will produce CRLF EOLs even
+        ;; if the original file has Unix EOLs, which will show ^M
+        ;; characters in the Annotate buffer.  Prevent that by forcing
+        ;; DOS EOL decoding.
+        (if (memq system-type '(windows-nt ms-dos))
+            (setq coding-system-for-read
+                  (coding-system-change-eol-conversion coding-system-for-read
+                                                       'dos)))
         (vc-call-backend backend 'annotate-command file
                          (get-buffer temp-buffer-name) rev)
         ;; we must setup the mode first, and then set our local



reply via email to

[Prev in Thread] Current Thread [Next in Thread]