summaryrefslogtreecommitdiff
path: root/lisp/vc/ediff-diff.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2020-08-20 22:23:35 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2020-08-20 22:23:35 +0200
commit9b277a2f8e5c22a05830e61d83876571b8eb56b4 (patch)
tree3cb78c867e069629482be998a41764be57b5ceeb /lisp/vc/ediff-diff.el
parentec990559180254c59d80308655b11df4223dd23d (diff)
downloademacs-9b277a2f8e5c22a05830e61d83876571b8eb56b4.tar.gz
emacs-9b277a2f8e5c22a05830e61d83876571b8eb56b4.tar.bz2
emacs-9b277a2f8e5c22a05830e61d83876571b8eb56b4.zip
Fix problem with non-ASCII characters in ediff error messages
* lisp/vc/ediff-diff.el (ediff-prepare-error-list): Decode the data from diff before displaying (bug#5050). This fixes a problem with displaying raw bytes in the error messages in non-ASCII locales.
Diffstat (limited to 'lisp/vc/ediff-diff.el')
-rw-r--r--lisp/vc/ediff-diff.el4
1 files changed, 4 insertions, 0 deletions
diff --git a/lisp/vc/ediff-diff.el b/lisp/vc/ediff-diff.el
index ef466741b24..ccf5a7807f2 100644
--- a/lisp/vc/ediff-diff.el
+++ b/lisp/vc/ediff-diff.el
@@ -325,6 +325,10 @@ one optional arguments, diff-number to refine.")
(error-buf ediff-error-buffer))
(ediff-skip-unsuitable-frames)
(switch-to-buffer error-buf)
+ ;; We output data from the diff command using `raw-text' as
+ ;; the coding system, so decode before displaying.
+ (when (eq ediff-coding-system-for-read 'raw-text)
+ (decode-coding-region (point-min) (point-max) 'undecided))
(ediff-kill-buffer-carefully ctl-buf)
(user-error "Errors in diff output. Diff output is in %S" diff-buff))))