Fix bug #13262 with crashes in completion on MS-Windows with non-ASCII filenames.
src/fileio.c (file_name_as_directory, directory_file_name): Accept an additional argument MULTIBYTE to indicate whether the input C came from a multibyte or a unibyte Lisp string; all callers adjusted. Don't assume the input string is always multibyte. (Ffile_name_directory) [DOS_NT]: Handle unibyte strings correctly: don't ENCODE_FILE them, and return a unibyte string if the input was unibyte. (Fexpand_file_name): Don't mix unibyte with multibyte strings, and don't assume the input strings will always be multibyte. If the input strings are multibyte, decode strings obtained from C library functions.
Showing with 124 additions and 47 deletions