aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/comp.c10
-rw-r--r--src/lread.c6
2 files changed, 15 insertions, 1 deletions
diff --git a/src/comp.c b/src/comp.c
index 857f798a8d8..b286f6077f3 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -4689,7 +4689,8 @@ maybe_defer_native_compilation (Lisp_Object function_name,
4689 || !NILP (Vpurify_flag) 4689 || !NILP (Vpurify_flag)
4690 || !COMPILEDP (definition) 4690 || !COMPILEDP (definition)
4691 || !STRINGP (Vload_true_file_name) 4691 || !STRINGP (Vload_true_file_name)
4692 || !suffix_p (Vload_true_file_name, ".elc")) 4692 || !suffix_p (Vload_true_file_name, ".elc")
4693 || !NILP (Fgethash (Vload_true_file_name, V_comp_no_native_file_h, Qnil)))
4693 return; 4694 return;
4694 4695
4695 Lisp_Object src = 4696 Lisp_Object src =
@@ -5373,6 +5374,13 @@ This is used to prevent double trampoline instantiation but also to
5373protect the trampolines against GC. */); 5374protect the trampolines against GC. */);
5374 Vcomp_installed_trampolines_h = CALLN (Fmake_hash_table); 5375 Vcomp_installed_trampolines_h = CALLN (Fmake_hash_table);
5375 5376
5377 DEFVAR_LISP ("comp-no-native-file-h", V_comp_no_native_file_h,
5378 doc: /* Files for which no deferred compilation has to
5379be performed because the bytecode version was explicitly requested by
5380the user during load.
5381For internal use. */);
5382 V_comp_no_native_file_h = CALLN (Fmake_hash_table, QCtest, Qequal);
5383
5376 Fprovide (intern_c_string ("nativecomp"), Qnil); 5384 Fprovide (intern_c_string ("nativecomp"), Qnil);
5377#endif /* #ifdef HAVE_NATIVE_COMP */ 5385#endif /* #ifdef HAVE_NATIVE_COMP */
5378 5386
diff --git a/src/lread.c b/src/lread.c
index e8c257a13cc..ec6f09238ba 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1656,6 +1656,12 @@ maybe_swap_for_eln (bool no_native, Lisp_Object *filename, int *fd,
1656 struct stat eln_st; 1656 struct stat eln_st;
1657 1657
1658 if (no_native 1658 if (no_native
1659 || load_no_native)
1660 Fputhash (*filename, Qt, V_comp_no_native_file_h);
1661 else
1662 Fremhash (*filename, V_comp_no_native_file_h);
1663
1664 if (no_native
1659 || load_no_native 1665 || load_no_native
1660 || !suffix_p (*filename, ".elc")) 1666 || !suffix_p (*filename, ".elc"))
1661 return; 1667 return;