diff options
| author | Andrea Corallo | 2021-02-26 21:27:02 +0100 |
|---|---|---|
| committer | Andrea Corallo | 2021-02-26 21:28:59 +0100 |
| commit | 312deba5302a8136fa104b054af54572cc64ea5e (patch) | |
| tree | 391db24497ba8bb4b19ea79c5c4d3e21e964843b | |
| parent | 42fc752a14b23be95f02b598930f13a96883d3a0 (diff) | |
| download | emacs-312deba5302a8136fa104b054af54572cc64ea5e.tar.gz emacs-312deba5302a8136fa104b054af54572cc64ea5e.zip | |
* Canonicalize filenames on Windows before hashing (bug#46256)
* src/comp.c (Fcomp_el_to_eln_filename): On Windowns
canonicalize filenames before hashing.
| -rw-r--r-- | src/comp.c | 11 |
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'. */) | |||
| 3983 | if (NILP (Ffile_exists_p (filename))) | 3983 | if (NILP (Ffile_exists_p (filename))) |
| 3984 | xsignal1 (Qfile_missing, filename); | 3984 | xsignal1 (Qfile_missing, filename); |
| 3985 | 3985 | ||
| 3986 | #ifdef WINDOWSNT | ||
| 3987 | filename = Fw32_long_file_name (filename); | ||
| 3988 | #endif | ||
| 3989 | |||
| 3986 | Lisp_Object content_hash = comp_hash_source_file (filename); | 3990 | Lisp_Object content_hash = comp_hash_source_file (filename); |
| 3987 | 3991 | ||
| 3988 | if (suffix_p (filename, ".gz")) | 3992 | if (suffix_p (filename, ".gz")) |
| @@ -4014,8 +4018,11 @@ If BASE-DIR is nil use the first entry in `comp-eln-load-path'. */) | |||
| 4014 | Lisp_Object sys_re = | 4018 | Lisp_Object sys_re = |
| 4015 | concat2 (build_string ("\\`[[:ascii:]]+"), | 4019 | concat2 (build_string ("\\`[[:ascii:]]+"), |
| 4016 | Fregexp_quote (build_string ("/" PATH_REL_LOADSEARCH "/"))); | 4020 | Fregexp_quote (build_string ("/" PATH_REL_LOADSEARCH "/"))); |
| 4017 | loadsearch_re_list = | 4021 | Lisp_Object dump_load_search = build_string (PATH_DUMPLOADSEARCH "/"); |
| 4018 | list2 (sys_re, Fregexp_quote (build_string (PATH_DUMPLOADSEARCH "/"))); | 4022 | #ifdef WINDOWSNT |
| 4023 | dump_load_search = Fw32_long_file_name (dump_load_search); | ||
| 4024 | #endif | ||
| 4025 | loadsearch_re_list = list2 (sys_re, Fregexp_quote (dump_load_search)); | ||
| 4019 | } | 4026 | } |
| 4020 | 4027 | ||
| 4021 | Lisp_Object lds_re_tail = loadsearch_re_list; | 4028 | Lisp_Object lds_re_tail = loadsearch_re_list; |