Fix ugly ^M characters in Diff output shown by "C-x v u".

lisp/vc/vc.el (vc-diff-internal): Use *-dos coding-system when
 reading output from Diff on MS-Windows and MS-DOS.
This commit is contained in:
Eli Zaretskii 2013-11-26 21:17:55 +02:00
parent 447bdcb8d2
commit 0e2c793ffe
2 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2013-11-26 Eli Zaretskii <eliz@gnu.org>
* vc/vc.el (vc-diff-internal): Use *-dos coding-system when
reading output from Diff on MS-Windows and MS-DOS.
2013-11-26 Bozhidar Batsov <bozhidar@batsov.com>
* emacs-lisp/helpers.el (string-reverse): New function.

View file

@ -1641,6 +1641,13 @@ Return t if the buffer had changes, nil otherwise."
;; be to call the back end separately for each file.
(coding-system-for-read
(if files (vc-coding-system-for-diff (car files)) 'undecided)))
;; On MS-Windows and MS-DOS, Diff is likely to produce DOS-style
;; EOLs, which will look ugly if (car files) happens to have Unix
;; EOLs.
(if (memq system-type '(windows-nt ms-dos))
(setq coding-system-for-read
(coding-system-change-eol-conversion coding-system-for-read
'dos)))
(vc-setup-buffer buffer)
(message "%s" (car messages))
;; Many backends don't handle well the case of a file that has been