aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2005-07-10 17:02:49 +0000
committerRichard M. Stallman2005-07-10 17:02:49 +0000
commit3f39f99678a85583ed5217ddc236afaae54d4357 (patch)
tree5497f6f4e72ec4784e5778eae38b345c877d02c6
parent0a2eeb92f25b70bd55d8486b7700a2dc4c8010cc (diff)
downloademacs-3f39f99678a85583ed5217ddc236afaae54d4357.tar.gz
emacs-3f39f99678a85583ed5217ddc236afaae54d4357.zip
(Qeval_buffer_list, Veval_buffer_list): New vars.
(syms_of_lread): Set up eval-buffer-list. (Feval_buffer, Feval_region): Bind eval-buffer-list.
-rw-r--r--src/lread.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/lread.c b/src/lread.c
index 03bea849b82..7fae8b7cf1b 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -85,6 +85,7 @@ Lisp_Object Qvariable_documentation, Vvalues, Vstandard_input, Vafter_load_alist
85Lisp_Object Qascii_character, Qload, Qload_file_name; 85Lisp_Object Qascii_character, Qload, Qload_file_name;
86Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction; 86Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction;
87Lisp_Object Qinhibit_file_name_operation; 87Lisp_Object Qinhibit_file_name_operation;
88Lisp_Object Qeval_buffer_list, Veval_buffer_list;
88 89
89extern Lisp_Object Qevent_symbol_element_mask; 90extern Lisp_Object Qevent_symbol_element_mask;
90extern Lisp_Object Qfile_exists_p; 91extern Lisp_Object Qfile_exists_p;
@@ -1452,6 +1453,7 @@ This function preserves the position of point. */)
1452 if (NILP (filename)) 1453 if (NILP (filename))
1453 filename = XBUFFER (buf)->filename; 1454 filename = XBUFFER (buf)->filename;
1454 1455
1456 specbind (Qeval_buffer_list, Fcons (buf, Veval_buffer_list));
1455 specbind (Qstandard_output, tem); 1457 specbind (Qstandard_output, tem);
1456 record_unwind_protect (save_excursion_restore, save_excursion_save ()); 1458 record_unwind_protect (save_excursion_restore, save_excursion_save ());
1457 BUF_SET_PT (XBUFFER (buf), BUF_BEGV (XBUFFER (buf))); 1459 BUF_SET_PT (XBUFFER (buf), BUF_BEGV (XBUFFER (buf)));
@@ -1487,6 +1489,7 @@ This function does not move point. */)
1487 else 1489 else
1488 tem = printflag; 1490 tem = printflag;
1489 specbind (Qstandard_output, tem); 1491 specbind (Qstandard_output, tem);
1492 specbind (Qeval_buffer_list, Fcons (cbuf, Veval_buffer_list));
1490 1493
1491 /* readevalloop calls functions which check the type of start and end. */ 1494 /* readevalloop calls functions which check the type of start and end. */
1492 readevalloop (cbuf, 0, XBUFFER (cbuf)->filename, Feval, 1495 readevalloop (cbuf, 0, XBUFFER (cbuf)->filename, Feval,
@@ -3961,6 +3964,10 @@ to load. See also `load-dangerous-libraries'. */);
3961 Vbytecomp_version_regexp 3964 Vbytecomp_version_regexp
3962 = build_string ("^;;;.\\(in Emacs version\\|bytecomp version FSF\\)"); 3965 = build_string ("^;;;.\\(in Emacs version\\|bytecomp version FSF\\)");
3963 3966
3967 DEFVAR_LISP ("eval-buffer-list", &Veval_buffer_list,
3968 doc: /* List of buffers being read from by calls to `eval-buffer' and `eval-region'. */);
3969 Veval_buffer_list = Qnil;
3970
3964 /* Vsource_directory was initialized in init_lread. */ 3971 /* Vsource_directory was initialized in init_lread. */
3965 3972
3966 load_descriptor_list = Qnil; 3973 load_descriptor_list = Qnil;
@@ -4002,6 +4009,9 @@ to load. See also `load-dangerous-libraries'. */);
4002 Qload_file_name = intern ("load-file-name"); 4009 Qload_file_name = intern ("load-file-name");
4003 staticpro (&Qload_file_name); 4010 staticpro (&Qload_file_name);
4004 4011
4012 Qeval_buffer_list = intern ("eval-buffer-list");
4013 staticpro (&Qeval_buffer_list);
4014
4005 staticpro (&dump_path); 4015 staticpro (&dump_path);
4006 4016
4007 staticpro (&read_objects); 4017 staticpro (&read_objects);