diff options
-rw-r--r-- | src/lread.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/lread.c b/src/lread.c index 9bd60b9b386..1e05ac69320 100644 --- a/src/lread.c +++ b/src/lread.c @@ -1506,22 +1506,16 @@ Return t if the file exists and loads successfully. */) } else if (is_native_elisp) { - if (NATIVE_COMP_FLAG) + specbind (Qcurrent_load_list, Qnil); + if (!NILP (Vpurify_flag)) { - specbind (Qcurrent_load_list, Qnil); - if (!NILP (Vpurify_flag)) - { - Lisp_Object base = parent_directory (Ffile_name_directory (found)); - Lisp_Object offset = Flength (base); - hist_file_name = Fsubstring (found, offset, Qnil); - } - LOADHIST_ATTACH (hist_file_name); - Fnative_elisp_load (found, Qnil); - build_load_history (hist_file_name, true); + Lisp_Object base = parent_directory (Ffile_name_directory (found)); + Lisp_Object offset = Flength (base); + hist_file_name = Fsubstring (found, offset, Qnil); } - else - /* This cannot happen. */ - emacs_abort (); + LOADHIST_ATTACH (hist_file_name); + Fnative_elisp_load (found, Qnil); + build_load_history (hist_file_name, true); } else { |