diff options
| author | Andrea Corallo | 2021-04-01 14:27:12 +0200 |
|---|---|---|
| committer | Andrea Corallo | 2021-04-01 21:49:38 +0200 |
| commit | dc393517ca1cfef7770bffdfe2b7fd3c2c5e7bbf (patch) | |
| tree | fda89f0efa7a4024ebb091a01d7b9e70075dde3c /src | |
| parent | 8d550700c535dbcd4721cc65c0a11decbf070abb (diff) | |
| download | emacs-dc393517ca1cfef7770bffdfe2b7fd3c2c5e7bbf.tar.gz emacs-dc393517ca1cfef7770bffdfe2b7fd3c2c5e7bbf.zip | |
Issue a warning when eln look-up fails due to missing .el source file.
* lisp/emacs-lisp/comp.el (comp-warning-on-missing-source): New
customize.
* src/lread.c (maybe_swap_for_eln): Issue a warning when eln
look-up fails due to missing .el source file.
* src/comp.c (syms_of_comp): Define
'Qcomp_warning_on_missing_source'.
Diffstat (limited to 'src')
| -rw-r--r-- | src/comp.c | 3 | ||||
| -rw-r--r-- | src/lread.c | 12 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/comp.c b/src/comp.c index eb734d5833d..67c8e39315b 100644 --- a/src/comp.c +++ b/src/comp.c | |||
| @@ -5254,7 +5254,8 @@ compiled one. */); | |||
| 5254 | DEFSYM (Qlate, "late"); | 5254 | DEFSYM (Qlate, "late"); |
| 5255 | DEFSYM (Qlambda_fixup, "lambda-fixup"); | 5255 | DEFSYM (Qlambda_fixup, "lambda-fixup"); |
| 5256 | DEFSYM (Qgccjit, "gccjit"); | 5256 | DEFSYM (Qgccjit, "gccjit"); |
| 5257 | DEFSYM (Qcomp_subr_trampoline_install, "comp-subr-trampoline-install") | 5257 | DEFSYM (Qcomp_subr_trampoline_install, "comp-subr-trampoline-install"); |
| 5258 | DEFSYM (Qcomp_warning_on_missing_source, "comp-warning-on-missing-source"); | ||
| 5258 | 5259 | ||
| 5259 | /* To be signaled by the compiler. */ | 5260 | /* To be signaled by the compiler. */ |
| 5260 | DEFSYM (Qnative_compiler_error, "native-compiler-error"); | 5261 | DEFSYM (Qnative_compiler_error, "native-compiler-error"); |
diff --git a/src/lread.c b/src/lread.c index ec6f09238ba..156df73de82 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -1674,8 +1674,16 @@ maybe_swap_for_eln (bool no_native, Lisp_Object *filename, int *fd, | |||
| 1674 | { | 1674 | { |
| 1675 | src_name = concat2 (src_name, build_string (".gz")); | 1675 | src_name = concat2 (src_name, build_string (".gz")); |
| 1676 | if (NILP (Ffile_exists_p (src_name))) | 1676 | if (NILP (Ffile_exists_p (src_name))) |
| 1677 | /* Can't find the corresponding source file. */ | 1677 | { |
| 1678 | return; | 1678 | if (!NILP (find_symbol_value (Qcomp_warning_on_missing_source))) |
| 1679 | call2 (intern_c_string ("display-warning"), | ||
| 1680 | Qcomp, | ||
| 1681 | CALLN (Fformat, | ||
| 1682 | build_string ("Cannot look-up eln file as no source " | ||
| 1683 | "file was found for %s"), | ||
| 1684 | *filename)); | ||
| 1685 | return; | ||
| 1686 | } | ||
| 1679 | } | 1687 | } |
| 1680 | Lisp_Object eln_rel_name = Fcomp_el_to_eln_rel_filename (src_name); | 1688 | Lisp_Object eln_rel_name = Fcomp_el_to_eln_rel_filename (src_name); |
| 1681 | 1689 | ||