Commit 84a15045 authored by Richard M. Stallman's avatar Richard M. Stallman

(Vload_read_function): New variable.

(readevalloop): Use that variable.
(syms_of_lread): Set up Lisp variable.
parent 1fc31814
......@@ -87,6 +87,9 @@ Lisp_Object Vcurrent_load_list;
/* Name of file actually being read by `load'. */
Lisp_Object Vload_file_name;
/* Function to use for reading, in `load' and friends. */
Lisp_Object Vload_read_function;
/* List of descriptors now open for Fload. */
static Lisp_Object load_descriptor_list;
......@@ -743,7 +746,10 @@ readevalloop (readcharfun, stream, sourcename, evalfun, printflag)
else
{
UNREAD (c);
val = read0 (readcharfun);
if (NILP (Vload_read_function))
val = read0 (readcharfun);
else
val = call1 (Vload_read_function, readcharfun);
}
val = (*evalfun) (val);
......@@ -2083,6 +2089,11 @@ or variables, and cons cells `(provide . FEATURE)' and `(require . FEATURE)'.");
"Used for internal purposes by `load'.");
Vcurrent_load_list = Qnil;
DEFVAR_LISP ("load-read-function", &Vload_read_function,
"Function used by `load' and `eval-region' for reading expressions.\n\
The default is nil, which means use the function `read'.");
Vload_read_function = Qnil;
load_descriptor_list = Qnil;
staticpro (&load_descriptor_list);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment