summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2021-02-26 21:27:02 +0100
committerAndrea Corallo <akrl@sdf.org>2021-02-26 21:28:59 +0100
commit312deba5302a8136fa104b054af54572cc64ea5e (patch)
tree391db24497ba8bb4b19ea79c5c4d3e21e964843b /src
parent42fc752a14b23be95f02b598930f13a96883d3a0 (diff)
* Canonicalize filenames on Windows before hashing (bug#46256)
* src/comp.c (Fcomp_el_to_eln_filename): On Windowns canonicalize filenames before hashing.
Diffstat (limited to 'src')
-rw-r--r--src/comp.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/comp.c b/src/comp.c
index a8b8ef95fa1..1a89e4e62a4 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -3983,6 +3983,10 @@ If BASE-DIR is nil use the first entry in `comp-eln-load-path'. */)
if (NILP (Ffile_exists_p (filename)))
xsignal1 (Qfile_missing, filename);
+#ifdef WINDOWSNT
+ filename = Fw32_long_file_name (filename);
+#endif
+
Lisp_Object content_hash = comp_hash_source_file (filename);
if (suffix_p (filename, ".gz"))
@@ -4014,8 +4018,11 @@ If BASE-DIR is nil use the first entry in `comp-eln-load-path'. */)
Lisp_Object sys_re =
concat2 (build_string ("\\`[[:ascii:]]+"),
Fregexp_quote (build_string ("/" PATH_REL_LOADSEARCH "/")));
- loadsearch_re_list =
- list2 (sys_re, Fregexp_quote (build_string (PATH_DUMPLOADSEARCH "/")));
+ Lisp_Object dump_load_search = build_string (PATH_DUMPLOADSEARCH "/");
+#ifdef WINDOWSNT
+ dump_load_search = Fw32_long_file_name (dump_load_search);
+#endif
+ loadsearch_re_list = list2 (sys_re, Fregexp_quote (dump_load_search));
}
Lisp_Object lds_re_tail = loadsearch_re_list;