[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/native-comp dc39351: Issue a warning when eln look-up fails due
From: |
Andrea Corallo |
Subject: |
feature/native-comp dc39351: Issue a warning when eln look-up fails due to missing .el source file. |
Date: |
Thu, 1 Apr 2021 15:49:58 -0400 (EDT) |
branch: feature/native-comp
commit dc393517ca1cfef7770bffdfe2b7fd3c2c5e7bbf
Author: Andrea Corallo <akrl@sdf.org>
Commit: Andrea Corallo <akrl@sdf.org>
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'.
---
lisp/emacs-lisp/comp.el | 7 +++++++
src/comp.c | 3 ++-
src/lread.c | 12 ++++++++++--
3 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 213eb7b..7f41a97 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -180,6 +180,13 @@ the .eln output directory."
:type 'boolean
:version "28.1")
+(defcustom comp-warning-on-missing-source t
+ "Emit a warning if a byte-code file being loaded has no corresponding source.
+The source file is necessary for native code file look-up and deferred
+compilation mechanism."
+ :type 'boolean
+ :version "28.1")
+
(defvar no-native-compile nil
"Non-nil to prevent native-compiling of Emacs Lisp code.
Note that when `no-byte-compile' is set to non-nil it overrides the value of
diff --git a/src/comp.c b/src/comp.c
index eb734d5..67c8e39 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -5254,7 +5254,8 @@ compiled one. */);
DEFSYM (Qlate, "late");
DEFSYM (Qlambda_fixup, "lambda-fixup");
DEFSYM (Qgccjit, "gccjit");
- DEFSYM (Qcomp_subr_trampoline_install, "comp-subr-trampoline-install")
+ DEFSYM (Qcomp_subr_trampoline_install, "comp-subr-trampoline-install");
+ DEFSYM (Qcomp_warning_on_missing_source, "comp-warning-on-missing-source");
/* To be signaled by the compiler. */
DEFSYM (Qnative_compiler_error, "native-compiler-error");
diff --git a/src/lread.c b/src/lread.c
index ec6f092..156df73 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,
{
src_name = concat2 (src_name, build_string (".gz"));
if (NILP (Ffile_exists_p (src_name)))
- /* Can't find the corresponding source file. */
- return;
+ {
+ if (!NILP (find_symbol_value (Qcomp_warning_on_missing_source)))
+ call2 (intern_c_string ("display-warning"),
+ Qcomp,
+ CALLN (Fformat,
+ build_string ("Cannot look-up eln file as no source "
+ "file was found for %s"),
+ *filename));
+ return;
+ }
}
Lisp_Object eln_rel_name = Fcomp_el_to_eln_rel_filename (src_name);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- feature/native-comp dc39351: Issue a warning when eln look-up fails due to missing .el source file.,
Andrea Corallo <=