1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-30 09:00:31 -08:00
Commit graph

70 commits

Author SHA1 Message Date
Richard M. Stallman
5bbdb09071 (Ffetch_bytecode): Check the type of the object being read from the file. 1995-04-18 18:13:13 +00:00
Richard M. Stallman
01591d175e (internal_condition_case): Abort if interrupt_input_blocked>0. 1995-04-10 23:06:13 +00:00
Richard M. Stallman
6541197790 (Fuser_variable_p): For (STRING . INTEGER), test sign. 1995-04-07 07:17:19 +00:00
Karl Heuer
661c7d6ebd (Ffetch_bytecode): New function.
(funcall_lambda): Call it.
(syms_of_eval): defsubr it.
1995-04-05 03:05:26 +00:00
Karl Heuer
3d8585a136 (specbind): Rename perdisplay to kboard. 1995-03-15 01:48:03 +00:00
Karl Heuer
3826f22c3a (specbind): Handle display-local vars.
Move decl of store_symval_forwarding to lisp.h.
1995-01-31 00:36:08 +00:00
Roland McGrath
f9b4aacf1b Fix typo in last change. 1995-01-05 07:45:50 +00:00
Roland McGrath
96277b2df9 (Fcommandp): Use & PSEUDOVECTOR_SIZE_MASK on `size' field of compiled
byte-code object.
1995-01-05 07:05:16 +00:00
Richard M. Stallman
ca248607ed (Fdefvar): Fix minor error in previous change.
(funcall_lambda): Fetch bytecode and constants vector from file if nec.
1994-12-21 18:15:35 +00:00
Richard M. Stallman
a42ba017bc (Fdefconst, Fdefvar): Error if too many arguments. 1994-12-15 00:42:19 +00:00
Karl Heuer
0598f77384 (Finteractive_p): Use XSUBR instead of its expansion. 1994-11-16 01:14:23 +00:00
Karl Heuer
a631e24c1f (Feval, Ffuncall, funcall_lambda, Fbacktrace): Don't use XFASTINT as an
lvalue.
1994-10-04 15:50:45 +00:00
Karl Heuer
90165123fc (Fprogn, Finteractive_p, Fuser_variable_p, FletX, Flet, Fmacroexpand,
Fcommandp, Fautoload, Feval, Fapply, Ffuncall, funcall_lambda, specbind): Use
type test macros.
1994-09-27 04:03:15 +00:00
Richard M. Stallman
34d470ba81 (init_eval_once): Init Vrun_hooks here.
(syms_of_eval): Not here.
1994-09-21 23:19:26 +00:00
Karl Heuer
dff36a4234 (Fsignal): Fix Lisp_Object vs. int problems. 1994-09-19 00:15:36 +00:00
Richard M. Stallman
877b578fc8 (Fprog2): Doc fix. 1994-08-01 19:29:56 +00:00
Richard M. Stallman
716acfce85 (init_eval_once): Call xmalloc, not malloc. 1994-06-14 19:48:19 +00:00
Karl Heuer
b6703b0279 (Fbacktrace): Properly nest parentheses.
(Fbacktrace_frame): Don't bomb on invalid frame number.
1994-05-17 22:58:29 +00:00
Richard M. Stallman
d0b688963b (syms_of_eval): Doc fixes. 1994-05-16 09:41:17 +00:00
Richard M. Stallman
5ece1728e2 (error): Fix logic in call to xmalloc/xrealloc. 1994-05-06 06:45:18 +00:00
Karl Heuer
3a22ee3595 Update copyright. 1994-05-04 02:41:09 +00:00
Richard M. Stallman
b5b911f995 (init_eval): Initialize when_entered_debugger to -1. 1994-04-30 02:16:15 +00:00
Richard M. Stallman
b0d7519138 (Fsetq): Doc fix. 1994-04-16 05:07:35 +00:00
Richard M. Stallman
d0f7cdc847 (specbind): Use find_symbol_value. 1994-04-12 06:26:29 +00:00
Richard M. Stallman
87d238bafe (Fsetq): Doc fix. 1994-04-11 21:11:22 +00:00
Karl Heuer
196e7d3f10 (Fsetq): Doc fix. 1994-04-07 02:03:10 +00:00
Richard M. Stallman
9125da08de (error): Use doprnt. Make buffer larger as necessary. 1994-03-06 20:39:52 +00:00
Richard M. Stallman
9d58218c82 (Fsignal): If DATA is memory_signal_data, don't add to it.
(Fsignal): Record the clause in chosen_clause.
(Fcondition_case, internal_condition_case): Look there.
(internal_condition_case_1): Look there.
1994-03-02 03:46:54 +00:00
Richard M. Stallman
d227775c81 (internal_condition_case_1): New function. 1994-02-07 01:02:05 +00:00
Richard M. Stallman
633357d44e (Fcondition_case): Doc fix. 1994-01-11 19:08:24 +00:00
Richard M. Stallman
4200e71976 (Fsignal): Rename 1st arg to error_symbol. 1994-01-11 19:06:40 +00:00
Richard M. Stallman
5f96776a97 (Fcondition_case): Allow a list of condition names in a handler.
(find_handler_clause): Likewise.
1994-01-11 07:22:11 +00:00
Richard M. Stallman
47ccd8b6ef (Fmacroexpand): For an autoload definition,
check the 4th elt, not the car of the 4th elt.
1993-12-23 02:04:40 +00:00
Richard M. Stallman
03e267c23b Whitespace fix. 1993-09-23 21:15:37 +00:00
Roland McGrath
18160b98ce Include <config.h> instead of "config.h". 1993-09-10 06:15:46 +00:00
Richard M. Stallman
1cdc315501 (unwind_to_catch): Call set_poll_suppress_count. 1993-08-06 22:44:00 +00:00
Richard M. Stallman
76c2b0cc7d (do_autoload): Don't report autoload failure
if the autoload definition now is a different one.
1993-08-05 21:21:27 +00:00
Richard M. Stallman
e3c24a741e (Fwhile): If mocklisp, test for nonzeroness. 1993-07-19 22:09:41 +00:00
Richard M. Stallman
d3e6f8be7b (Fsignal): Clarify error message. 1993-07-04 04:51:13 +00:00
Richard M. Stallman
15285f9fa7 (call5, call6): New functions.
(call1, call2, call3, call4): Renumber the args.
1993-06-13 00:01:22 +00:00
Jim Blandy
a5a44b9105 * fileio.c (Frename_file): Pass all arguments to the file name handler.
* eval.c (call4): New function.
1993-06-10 05:21:01 +00:00
Jim Blandy
c6c5df7f76 Updated copyright years. 1993-05-22 21:34:42 +00:00
Eric S. Raymond
5739ce6baf (do_autoload): Fixed the bug in the autoload-saving code. 1993-04-28 17:08:18 +00:00
Eric S. Raymond
ac669fa2a9 (un_autoload): Don't try to save old autoload forms when we load something
in.  Something about the code now conditioned out by UNLOAD was screwing
up ordinary autoloads, notably of picture.el.  When I figure out what, I'll
fix and re-enable this code.
1993-04-27 21:59:59 +00:00
Richard M. Stallman
2a49b6e519 (defun, defmacro, defvar, defconst):
Attach symbol argument to the list of globals for the input source.
(do_autoload): Save the old autoloads, in case we ever unload.
1993-04-17 01:28:10 +00:00
Jim Blandy
9ac0d9e041 Put interrupt input blocking in a separate file from xterm.h.
This isn't specific to X, and it allows us to avoid #including
	xterm.h in files that don't really have anything to do with X.
	* blockinput.h: New file.
	* xterm.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT,
	UNBLOCK_INPUT_RESIGNAL): These are now in blockinput.h.
	(x_input_blocked, x_pending_input): Deleted; there are analogs
	in blockinput.h called interrupt_input_blocked and
	interrupt_input_pending.
	* keyboard.c (interrupt_input_blocked, interrupt_input_pending):
	New variables, used by the macros in blockinput.h.
	* xterm.c: #include blockinput.h.
	(x_input_blocked, x_pending_input): Deleted.
	(XTread_socket): Test and set interrupt_input_blocked and
	interrupt_input_pending instead of the old variables.
	* alloc.c, xfaces.c, xfns.c, xmenu.c, xselect.c, keymap.c:
	#include blockinput.h.
	* eval.c: #include blockinput.h instead of xterm.h.
	* keyboard.c: #include blockinput.h.
	(input_poll_signal): Just test
	interrupt_input_blocked, instead of testing HAVE_X_WINDOWS and
	x_input_blocked.

	Block the processing of interrupt input while we're manipulating the
	malloc heap.
	* alloc.c: (xfree): New function, to make it easy to free things
	safely.
	(xmalloc, xrealloc): Block X input while doing the deed.
	(VALIDATE_LISP_STORAGE, gc_sweep, compact_strings): Use xfree
	instead of free.
	(uninterrupt_malloc): New function, to install input-blocking
	hooks into the GNU malloc routines.
	* emacs.c [not SYSTEM_MALLOC] (main): Call uninterrupt_malloc
	on startup.
	* alloc.c: (make_interval, make_float, Fcons, Fmake_vector,
	Fmake_symbol, Fmake_marker, make_uninit_string, Fgarbage_collect):
	Use xmalloc instead of malloc; don't bother to check if out of
	memory here.
	(Fgarbage_collect): Call xrealloc instead of realloc.
	* buffer.c: Use xmalloc and xfree instead of malloc and free;
	don't bother to check if out of memory here.
	(Fget_buffer_create): Put BLOCK_INPUT/UNBLOCK_INPUT pair around
	calls to ralloc routines.
	* insdel.c: Same.
	* lisp.h (xfree): New extern declaration.
	* xfaces.c (xfree): Don't #define this to be free; use the
	definition in alloc.c.
	* dispnew.c, doc.c, doprnt.c, fileio.c, lread.c, term.c, xfns.c,
	xmenu.c, xterm.c: Use xfree instead of free.
	* hftctl.c: Use xfree and xmalloc instead of free and malloc.
	* keymap.c (current_minor_maps): BLOCK_INPUT while calling realloc
	and malloc.
	* search.c: Since the regexp routines can malloc, BLOCK_INPUT
	while runing them.  #include blockinput.h.
	* sysdep.c: #include blockinput.h.  Call xfree and xmalloc instead
	of free and malloc.  BLOCK_INPUT around routines which we know
	will call malloc.

	ymakefile (keyboard.o, keymap.o, search.o, sysdep.o, xfaces.o,
	xfns.o, xmenu.o, xterm.o, xselect.o, alloc.o, eval.o): Note that
	these depend on blockinput.h.
1993-03-31 10:55:33 +00:00
Jim Blandy
ee9ee63cfa * eval.c (Fautoload): Renamed fifth argument TYPE. Document the
fact that (eq TYPE 'keymap) means FUNCTION will become a keymap
	when loaded.
	(Fmacroexpand): Instead of assuming that every autoload
	form with a fifth element is a macro, actually check the fifth
	element against t and `macro', which are the only values which
	denote macroness.
1992-11-07 07:00:37 +00:00
Richard M. Stallman
debee8fea7 (grow_specpdl): Increase max_specpdl_size before Fsignal. 1992-10-20 06:13:00 +00:00
Jim Blandy
ba410f40e9 * eval.c (unbind_catch): Do the long-jump here. Take a VALUE
argument, which specifies the value to return to the catch, or the
	data to give to the condition handler.  Renamed to
	unwind_to_catch, to reflect new role.
	(Fsignal, Fthrow): Removed code to set catch tag value and do the
	long-jump; this is taken care of by unwind_to_catch.
1992-09-22 06:23:30 +00:00
Jim Blandy
82da7701c8 * eval.c (Fcondition_case): Rearranged for clarity. Don't worry
about setting h.poll_suppress_count; it's guaranteed to be the
	same as c.poll_suppress_count.
	(internal_condition_case): Don't worry about
	h.poll_suppress_count.
	(Fsignal): Use h->tag->poll_suppress_count instead of
	h->poll_suppress_count.

	* eval.c (Fsignal): It's okay for the debugger to return to the
	caller if the caller was signalling a quit.

	* eval.c (unbind_catch): Restore the polling suppression count
	here, instead of in Fsignal and Fthrow.
	(Fthrow, Fsignal): Don't restore the polling suppression count here.

	* eval.c (struct catchtag): More documentation.

	* eval.c (entering_debugger): Variable renamed
	when_entered_debugger, and is now a timestamp based on
	num_nonmacro_input_chars.
	(init_eval): Initialize when_entered_debugger, not
	entering_debugger.
	(call_debugger): Set when_entered_debugger to the current value of
	num_nonmacro_input_chars.
	(find_handler_clause): Don't call debugger unless
	num_nonmacro_input_chars is greater than when_entered_debugger;
	that way, we won't call the debugger unless the user has had a
	chance to take control.
	(Fbacktrace): Don't clear entering_debugger here.
1992-09-22 05:17:48 +00:00