From: Lars Ingebrigtsen Date: Thu, 20 Aug 2020 20:23:35 +0000 (+0200) Subject: Fix problem with non-ASCII characters in ediff error messages X-Git-Tag: emacs-28.0.90~6486 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9b277a2f8e5c22a05830e61d83876571b8eb56b4;p=emacs.git 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. --- 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))))