Files
emacs/src
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
..
1993-03-29 04:35:00 +00:00
1993-03-13 21:14:27 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-07-14 23:23:55 +00:00
1993-01-26 01:58:16 +00:00
1993-03-25 17:56:41 +00:00
1990-11-12 20:20:40 +00:00
1992-05-01 06:20:52 +00:00
1992-06-30 13:55:35 +00:00
1993-03-29 05:16:56 +00:00
1993-03-28 05:24:23 +00:00
1992-09-13 11:44:06 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1993-03-19 05:27:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1990-11-12 20:20:40 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1993-03-09 17:03:08 +00:00
1993-01-14 20:38:21 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-09-13 11:44:06 +00:00
1992-09-02 23:42:24 +00:00
1993-03-29 04:34:46 +00:00
1992-07-13 20:56:17 +00:00
1992-01-13 21:48:03 +00:00
1992-07-14 23:23:55 +00:00
1992-01-13 21:48:03 +00:00
1992-02-22 21:15:26 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 22:04:23 +00:00
1992-01-13 21:48:03 +00:00
1992-01-31 21:19:17 +00:00
1992-10-06 04:54:56 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1993-03-15 00:16:34 +00:00
1993-03-15 00:16:34 +00:00
1992-05-01 06:20:52 +00:00
1993-03-31 10:47:13 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00
1992-01-13 21:48:03 +00:00