# HG changeset patch # User Aidan Kehoe # Date 1234366259 0 # Node ID 9c97a5a8c241b5216f8f9d6efa1f65e40e78f7bf # Parent 38e8af61f38dcf558615694e65f7fb85c289c81b Backed out changeset 38e8af61f38d As Vin points out in 20a807210902110554s40c75beai334c005940f6446e@mail.gmail.com , the Windows-specific coding systems have no #'query-coding-region support right now, it is not yet appropriate to require #'query-coding-region support on Mule builds. diff -r 38e8af61f38d -r 9c97a5a8c241 lisp/ChangeLog --- a/lisp/ChangeLog Wed Feb 11 12:14:28 2009 +0000 +++ b/lisp/ChangeLog Wed Feb 11 15:30:59 2009 +0000 @@ -1,10 +1,3 @@ -2009-02-11 Aidan Kehoe - - * process.el (setenv): - Check whether the environment variable and value can be encoded by - the native coding system, error if not, as does GNU Emacs (but our - implementation is different). - 2009-02-11 Aidan Kehoe * coding.el (query-coding-string): diff -r 38e8af61f38d -r 9c97a5a8c241 lisp/process.el --- a/lisp/process.el Wed Feb 11 12:14:28 2009 +0000 +++ b/lisp/process.el Wed Feb 11 15:30:59 2009 +0000 @@ -599,10 +599,17 @@ (if substitute-env-vars (setq value (substitute-env-vars value)))) - ;; XEmacs change: check whether the environment understands this variable, - ;; using our function for exactly that, don't use - ;; #'find-coding-systems-string or trust `undecided' to encode it. - (query-coding-string (concat variable "=" value) 'native nil t) + ;; GNU fuck around with coding systems here. We do it at a much lower + ;; level; an equivalent of the following code of Handa's would be + ;; worthwhile here, though: + +; (let ((codings (find-coding-systems-string (concat variable value)))) +; (unless (or (eq 'undecided (car codings)) +; (memq (coding-system-base locale-coding-system) codings)) +; (error "Can't encode `%s=%s' with `locale-coding-system'" +; variable (or value ""))))) + + ;; But then right now our find-coding-systems analogue is in packages. (if (string-match "=" variable) (error "Environment variable name `%s' contains `='" variable)