Subject: bug#5279: 23.1; VC: should set LC_MESSAGES to C (with patch)

From: Frédéric Perrin <[email-masked]>
Date: Mon, 28 Dec 2009 02:28:44 +0100

Hello,

I'm using emacs with LANG=fr_FR.UTF-8. When using C-x v + (`vc-update')
on a file versionned with SVN, emacs barfs saying it can't parse the
output from "svn update". Indeed, SVN said "À la révision 123" whereas
"At revision 123" was expected. The following patch adds "LC_MESSAGES=C"
to process-environment before calling external tools; this solves the
problem for my case.

--- /root/backups/!usr!share!emacs!23.1!lisp!vc-dispatcher.el.gz.~1~
+++ /usr/share/emacs/23.1/lisp/vc-dispatcher.el.gz
@@ -318,11 +318,14 @@
 	  (setq squeezed (nconc squeezed files)))
 	(let ((exec-path (append vc-path exec-path))
 	      ;; Add vc-path to PATH for the execution of this command.
+	      ;; Also, since some functions need to parse the output from
+	      ;; external commands, set LC_MESSAGES to C.
 	      (process-environment
-	       (cons (concat "PATH=" (getenv "PATH")
-			     path-separator
-			     (mapconcat 'identity vc-path path-separator))
-		     process-environment))
+	       (append (list (concat "PATH=" (getenv "PATH")
+				     path-separator
+				     (mapconcat 'identity vc-path path-separator))
+			     "LC_MESSAGES=C")
+		       process-environment))
 	      (w32-quote-process-args t))
 	  (if (eq okstatus 'async)
 	      ;; Run asynchronously.

In GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.16.5)
 of 2009-07-31 on shirley.hoetzel.info
Windowing system distributor `The X.Org Foundation', version 11.0.10703901
configured using `configure  '--prefix=/usr' '--sysconfdir=/etc' '--libexecdir=/usr/lib' '--localstatedir=/var' '--mandir=/usr/share/man' '--without-sound' '-with-x-toolkit=gtk' 'CFLAGS=-march=i686 -mtune=generic -O2 -pipe''