bool whole_buffer = 0;
/* True on the first time around. */
bool first_sexp = 1;
- Lisp_Object macroexpand = intern ("internal-macroexpand-for-load");
-
- if (NILP (Ffboundp (macroexpand))
- /* Don't macroexpand in .elc files, since it should have been done
- already. We actually don't know whether we're in a .elc file or not,
- so we use circumstantial evidence: .el files normally go through
- Vload_source_file_function -> load-with-code-conversion
- -> eval-buffer. */
- || EQ (readcharfun, Qget_file_char)
- || EQ (readcharfun, Qget_emacs_mule_file_char))
- macroexpand = Qnil;
+ Lisp_Object form = Fcons (Qprogn, Qnil);
+ Lisp_Object tail = form;
+ Lisp_Object compile_fn = 0;
+
+ if (SCM_UNLIKELY (! compile_fn))
+ compile_fn = scm_c_public_ref ("language elisp runtime", "compile-elisp");
if (MARKERP (readcharfun))
{
/* Restore saved point and BEGV. */
dynwind_end ();
- //scm_display (val, SCM_UNDEFINED);
- //scm_newline (SCM_UNDEFINED);
+ tail = Fsetcdr (tail, Fcons (val, Qnil));
- /* Now eval what we just read. */
- if (!NILP (macroexpand))
- val = readevalloop_eager_expand_eval (val, macroexpand);
- else
- val = eval_sub (val);
+ first_sexp = 0;
+ }
- if (printflag)
- {
- Vvalues = Fcons (val, Vvalues);
- if (EQ (Vstandard_output, Qt))
- Fprin1 (val, Qnil);
- else
- Fprint (val, Qnil);
- }
+ val = eval_sub (form);
- first_sexp = 0;
+ if (SCM_UNLIKELY (printflag))
+ {
+ Vvalues = Fcons (val, Vvalues);
+ Fprin1 (val, Qnil);
}
build_load_history (sourcename,
const char *loadpath = ns_load_path ();
#endif
- normal = PATH_LOADSEARCH;
+ normal = PATH_DUMPLOADSEARCH;
#ifdef HAVE_NS
lpath = decode_env_path (0, loadpath ? loadpath : normal, 0);
#else