From: Eli Zaretskii Date: Sat, 7 Dec 2013 17:21:57 +0000 (+0200) Subject: Merge from trunk. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~446^2~14 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/ce1d7b61f12dcc1b67535b68d9b0655b45fcadb6 Merge from trunk. --- ce1d7b61f12dcc1b67535b68d9b0655b45fcadb6 diff --cc src/emacs.c index 22be1d8294,159b0d5040..af69e2c4ef --- a/src/emacs.c +++ b/src/emacs.c @@@ -2202,17 -2175,14 +2206,20 @@@ decode_env_path (const char *evarname, { const char *path, *p; Lisp_Object lpath, element, tem; + /* Default is to use "." for empty path elements. + But if argument EMPTY is true, use nil instead. */ + Lisp_Object empty_element = empty ? Qnil : build_string ("."); #ifdef WINDOWSNT bool defaulted = 0; - const char *emacs_dir = egetenv ("emacs_dir"); static const char *emacs_dir_env = "%emacs_dir%/"; const size_t emacs_dir_len = strlen (emacs_dir_env); + const char *edir = egetenv ("emacs_dir"); + char emacs_dir[MAX_UTF8_PATH]; + + /* egetenv looks in process-environment, which holds the variables + in their original system-locale encoding. We need emacs_dir to + be in UTF-8. */ + filename_from_ansi (edir, emacs_dir); #endif /* It's okay to use getenv here, because this function is only used