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

41 commits

Author SHA1 Message Date
Richard M. Stallman
c892673b75 (term_get_fkeys): Don't redeclare term_get_fkeys_1 here. 1994-06-23 19:30:19 +00:00
Richard M. Stallman
565620a54d Put stdio.h after config.h. 1994-06-15 03:54:06 +00:00
Richard M. Stallman
cc4ee3c7c6 (update_end): Undo previous change. 1994-05-23 06:31:52 +00:00
Karl Heuer
07c57952d8 (system_uses_terminfo): New variable.
(syms_of_term): New function, to initialize it.
1994-04-08 06:59:55 +00:00
Richard M. Stallman
55cc089c5b (frame_up_to_date_hook): Defined. 1994-04-03 18:19:53 +00:00
Roland McGrath
3708523330 (term_get_fkeys_1): Use term_get_fkeys_arg, not term_get_fkeys_address. 1994-03-08 06:48:45 +00:00
Roland McGrath
f778aff2fd (term_get_fkeys_1): New local var ADDRESS, init to term_get_fkeys_address. 1994-03-08 06:45:43 +00:00
Roland McGrath
f2a003428d (term_get_fkeys_data): Variable removed.
(term_get_fkeys_define_1, term_get_fkeys_define): Functions removed.
(term_get_fkeys_address): New variable, to pass arg through condition-case.
(term_get_fkeys): Set that to ADDRESS; just do condition-case around call to
term_get_fkeys_1, ignoring all errors.
(term_get_fkeys_1): New function, containing body of term_get_fkeys.
Don't use term_get_fkeys_define_1; call Fdefine_key directly.
1994-03-08 06:20:26 +00:00
Richard M. Stallman
afd359c4bb (term_init): If no se', use me';
if no `me' either, don't use standout mode at all.
1994-02-12 22:32:39 +00:00
Richard M. Stallman
7a8e3e3024 (update_end): Clear updating_frame before calling hook. 1994-01-21 00:09:47 +00:00
Roland McGrath
18160b98ce Include <config.h> instead of "config.h". 1993-09-10 06:15:46 +00:00
Richard M. Stallman
465db27b59 (term_get_fkeys_define_1, term_get_fkeys_define): New functions.
(term_get_fkeys): Use them.
1993-08-11 04:09:28 +00:00
Richard M. Stallman
c5a9c3e6a6 (term_init): Improve error messages (give sh commands). 1993-08-09 05:45:12 +00:00
Richard M. Stallman
381d11a1c5 (term_get_fkeys): Use prior', not previous', for %8/kP. 1993-06-13 00:41:51 +00:00
Jim Blandy
eb8c3be94e Apply typo patches from Paul Eggert. 1993-06-09 11:59:12 +00:00
Richard M. Stallman
fc4f24da5c (term_get_fkeys): Use correct names for F10 and up.
Use the key sequence, not the termcap cap name, in Fdefine_key.
1993-06-05 07:56:46 +00:00
Richard M. Stallman
3e65092fb0 (term_get_fkeys): If not initialized, init Vfunction_key_map. 1993-05-31 20:18:35 +00:00
Jim Blandy
c6c5df7f76 Updated copyright years. 1993-05-22 21:34:42 +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
Richard M. Stallman
27b6178555 Fix spacing conventions. 1993-03-18 10:18:30 +00:00
Eric S. Raymond
11838c0e24 Less klugey version of fix. 1993-03-17 23:50:29 +00:00
Eric S. Raymond
1dd40212a5 Supply second arg for tgetstr() calls. 1993-03-17 13:11:50 +00:00
Jim Blandy
a790fee232 Add extern declaration for do_line_insertion_deletion_costs. 1993-03-15 01:09:20 +00:00
Eric S. Raymond
b811cb81b2 Fixed typo. tigetstr -> tgetstr. 1993-03-12 20:13:56 +00:00
Richard M. Stallman
323e7e53e3 (tigetstr): Add dummy definition to make Emacs link again. 1993-03-11 21:36:22 +00:00
Eric S. Raymond
01d8deb089 Added lots more cookies to fkey_table[], and code to do even more. 1993-03-11 08:13:27 +00:00
Jim Blandy
a3c87d4e63 Use the term scroll bar', instead of scrollbar'.
* alloc.c, frame.c, frame.h, indent.c, keyboard.c, keyboard.h,
	lisp.h, term.c, termhooks.h, window.c, window.h, xdisp.c, xfns.c,
	xterm.c, xterm.h: Terminology changed.
1993-03-02 08:22:42 +00:00
Jim Blandy
dbc4e1c129 JimB's changes since January 18th 1993-01-26 01:58:16 +00:00
Jim Blandy
371fbaebef * term.c (set_vertical_scrollbar_hook, condemn_scrollbars_hook,
redeem_scrollbar_hook, judge_scrollbars_hook): Removed dumbo
	"externs" from these.  They're supposed to be real definitions.

	* termhooks.h (mouse_position_hook): Doc fix.
	(set_vertical_scrollbar_hook): This doesn't return anything any
	more, and doesn't take a struct scrollbar * argument any more.
	(condemn_scrollbars_hook, redeem_scrollbar_hook,
	judge_scrollbars_hook): Doc fixes.
	* term.c (mouse_position_hook): Doc fix.
	(set_vertical_scrollbar_hook): This doesn't return
	anything any more.  Doc fixes.
	* keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
	window from *mouse_position_hook and pass it to
	make_lispy_movement, instead of working with a pointer to a struct
	scrollbar.
	(make_lispy_event): We don't need a window_from_scrollbar function
	anymore; we are given the window directly in *EVENT.
	Unify the code which generates
	text-area mouse clicks and scrollbar clicks; use the same code to
	distinguish clicks from drags on the scrollbar as in the text area.
	Distinguish clicks from drags by storing a copy of the lispy
	position list returned as part of the event.
	(button_down_location): Make this a lisp vector, rather than an
	array of random structures.
	(struct mouse_position): Remove this; it's been replaced by a lisp
	list.
	(make_lispy_movement): Accept the scrollbar's window as a
	parameter, rather than the scrollbar itself.
	If FRAME is zero, assume that the other arguments are garbage.
	(syms_of_keyboard): No need to staticpro each window of
	button_down_location now; just initialize and staticpro it.
	* window.c (window_from_scrollbar): Function deleted; no longer
	needed.
	* xdisp.c (redisplay_window): Just pass the window to
	set_vertical_scrollbar hook; don't pass the scrollbar object too.
	* xterm.c (XTmouse_position): Don't return a pointer to the
	scrollbar for scrollbar motion; instead, return the scrollbar's
	window.
1993-01-14 15:14:21 +00:00
Jim Blandy
20a558dc14 * frame.h (struct frame): New fields `can_have_scrollbars' and
`has_vertical_scrollbars'.
	(FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New
	accessors, for both the MULTI_FRAME and non-MULTI_FRAME.
	(VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR,
	WINDOW_VERTICAL_SCROLLBAR_COLUMN,
	WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros.
	* window.h (struct window): New field `vertical_scrollbar'.
	* xterm.h (struct x_display): vertical_scrollbars,
	judge_timestamp, vertical_scrollbar_extra: New fields.
	(struct scrollbar): New struct.
	(VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT,
	VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER,
	VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER,
	CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH,
	PIXEL_TO_CHAR_HEIGHT): New accessors and macros.
	* frame.c (make_frame): Initialize the `can_have_scrollbars' and
	`has_vertical_scrollbars' fields of the frame.
	* term.c (term_init): Note that TERMCAP terminals don't support
	scrollbars.
	(mouse_position_hook): Document new args.
	(set_vertical_scrollbar_hook, condemn_scrollbars_hook,
	redeem_scrollbar_hook, judge_scrollbars_hook): New hooks.
	* termhooks.h: Declare and document them.
	(enum scrollbar_part): New type.
	(struct input_event): Describe the new form of the scrollbar_click
	event type.  Change `part' from a Lisp_Object to an enum
	scrollbar_part.  Add a new field `scrollbar'.
	* keyboard.c (kbd_buffer_get_event): Pass appropriate new
	parameters to *mouse_position_hook, and make_lispy_movement.
	* xfns.c (x_set_vertical_scrollbar): New function.
	(x_figure_window_size): Use new macros to calculate frame size.
	(Fx_create_frame): Note that X Windows frames do support scroll
	bars.  Default to "yes".
	* xterm.c: #include <X11/cursorfont.h> and "window.h".
	(x_vertical_scrollbar_cursor): New variable.
	(x_term_init): Initialize it.
	(last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
	last_mouse_scroll_range_start, last_mouse_scroll_range_end): New
	variables.
	(XTmouse_position): Use them to return scrollbar movement events.
	Take new arguments, for that purpose.
	(x_window_to_scrollbar, x_scrollbar_create,
	x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move,
	XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar,
	XTjudge_scrollbars, x_scrollbar_expose,
	x_scrollbar_background_expose, x_scrollbar_handle_click,
	x_scrollbar_handle_motion): New functions to implement scrollbars.
	(x_term_init): Set the termhooks.h hooks to point to them.
	(x_set_window_size): Use new macros to calculate frame size.  Set
	vertical_scrollbar_extra field.
	(x_make_frame_visible): Use the frame accessor
	FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the
	frame's subwindows as well.
	(XTread_socket): Use new size-calculation macros from xterm.h when
	processing ConfigureNotify events.
	(x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and
	PIXEL_TO_CHAR_HEIGHT macros.
	* ymakefile (xdisp.o): This now depends on termhooks.h.
	(xterm.o): This now depends on window.h.
1992-12-24 06:17:18 +00:00
Jim Blandy
a796ac82a3 * term.c (term_get_fkeys): Some systems define `static' to be the
empty string, which means that you can't have constant
    	initialized arrays inside a function.  So move the `keys' array
    	outside of the function.

	* term.c (keys): Include definitions for "K2" (the center key on
    	an IBM keypad), "F1" (F11), and "F2" (F12).  Handle "k0" and "k;"
    	specially; see the code for details.

	* term.c (clear_end_of_line): Remember that on some systems,
    	"static" gets defined to be the null string, so we can't declare
    	an array to be static and then initialize it.  Since the array in
    	question (buf) is only one element long, just make it a scalar
    	rather than an array; it can then be initialized, even if it's
    	not static.
1992-08-19 06:38:40 +00:00
Jim Blandy
1820044b6f * term.c (FRAME_IS_TERMCAP, FRAME_IS_X, FRAME_HAS_MINIBUF):
Renamed these to FRAME_TERMCAP_P, FRAME_X_P, and
	FRAME_HAS_MINIBUF_P, for consistency with the rest of the
	frame macros.
1992-08-12 14:18:28 +00:00
Jim Blandy
e7308e0676 entered into RCS 1992-07-16 18:51:53 +00:00
Jim Blandy
ff11dfa15b *** empty log message *** 1992-07-13 20:53:59 +00:00
Jim Blandy
e5d77022e8 *** empty log message *** 1992-06-30 13:54:21 +00:00
Jim Blandy
4746118aca *** empty log message *** 1992-04-24 08:11:54 +00:00
Jim Blandy
5c2c7893d9 *** empty log message *** 1992-02-04 02:27:43 +00:00
Jim Blandy
69a46d1c0b *** empty log message *** 1991-11-04 23:45:55 +00:00
Jim Blandy
fcb764df08 *** empty log message *** 1991-07-19 20:39:25 +00:00
Jim Blandy
2e146aa4c3 *** empty log message *** 1991-07-19 19:31:48 +00:00
Jim Blandy
08a24c47d1 Initial revision 1991-05-09 10:29:44 +00:00