]> git.eshelyaron.com Git - emacs.git/commit
Fix 'expand-file-name' during startup on MS-Windows
authorEli Zaretskii <eliz@gnu.org>
Mon, 28 Nov 2016 15:43:25 +0000 (17:43 +0200)
committerEli Zaretskii <eliz@gnu.org>
Mon, 28 Nov 2016 15:43:25 +0000 (17:43 +0200)
commit5878abf87b6b3ead1367cbae5cc6b0743349f611
tree83fef8ba83ca1733c6a95e3201db9be45558ba07
parent46065291fa0807a10180b958285f5d375cf05914
Fix 'expand-file-name' during startup on MS-Windows

* src/w32.c (w32_init_file_name_codepage): New function, resets
file_name_codepage and w32_ansi_code_page to undo the values
recorded during dumping.
(codepage_for_filenames): Fix an embarrassing typo.  Ignore the
cached value of file-name encoding if it is nil, i.e. not
initialized yet.  Actually cache the last used file-name encoding
to avoid calling APIs when not necessary.

* src/w32.h (w32_init_file_name_codepage): Add prototype.

* src/w32term.c (syms_of_w32term): Set the value of
w32_unicode_filenames according to the OS version.  This avoids
resetting it during startup, which then causes temacs to run with
the incorrect value.

* src/emacs.c (main): Call w32_init_file_name_codepage early
during the startup.

* src/fileio.c (Fexpand_file_name) [WINDOWSNT]: Update 'newdir'
after converting $HOME to a UTF-8 string, so that 'newdirlim' is
consistent with it.  (Bug#25038)

* lisp/international/mule-cmds.el (set-locale-environment): Set
'default-file-name-coding-system' to the ANSI codepage even in
non-interactive sessions.

* lisp/files.el (directory-abbrev-alist, abbreviated-home-dir):
Doc fix.
(abbreviate-file-name): Decode 'abbreviated-home-dir' if it is a
unibyte string.

* doc/lispref/files.texi (Directory Names): Index
'directory-abbrev-alist'.
doc/lispref/files.texi
lisp/files.el
lisp/international/mule-cmds.el
src/emacs.c
src/fileio.c
src/w32.c
src/w32.h
src/w32term.c