Try changing the value of the ediff-diff-ok-lines-regexp variable to include German text ("Kein Zeilenumbruch am Dateiende"):
(setq ediff-diff-ok-lines-regexp
(concat
"^ \\ ("
"[0-9,] + [acd] [0-9,] + \ Cm? $"
"\\ | []"
"\\ | ---"
"\\ |. * Warning *:"
"\\ |. * No + newline"
"\\ |. * missing + newline"
"\\ |. * Kein + Zeilenumbruch + am + Dateiende"
"\\ | ^ \ Cm? $"
"\\)"))
Update:. Looking at the source code, it seems that Ediff is not trying to solve the problem of localizing messages from diff . It should also be possible to get around this by wrapping the diff in a shell script, for example:
#! / bin / bash
LANG = C diff $ *
.. then configure ediff-diff-program to invoke the shell:
(setq ediff-diff-program "~ / bin / my-diff.sh")
Other code in the Emacs lisp / vc source directory seems to handle this, such as vc-hg-state :
(defun vc-hg-state (file)
"Hg-specific version of` vc-state '. "
...
(with-output-to-string
(with-current-buffer
standard-output
(setq status
(condition-case nil
;; Ignore all errors.
(let ((process-environment
;; Avoid localization of messages so we
;; can parse the output.
(append (list "TERM = dumb" "LANGUAGE = C")
process-environment)))
...
It seems a little strange that Ediff doesn't do it either, but maybe something is missing for me.
source share