+ (if (and (multibyte-string-p variable) locale-coding-system)
+ (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 "")))))
+ (and value
+ substitute-env-vars
+ (setq value (substitute-env-vars value)))
+ (if (multibyte-string-p variable)
+ (setq variable (encode-coding-string variable locale-coding-system)))
+ (if (and value (multibyte-string-p value))
+ (setq value (encode-coding-string value locale-coding-system)))