1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-18 06:01:22 -08:00
Commit graph

61 commits

Author SHA1 Message Date
Karl Heuer
8e6208c5d2 Comment fixes. 1996-01-05 10:03:17 +00:00
Geoff Voelker
6f405bd5e4 [HAVE_NTGUI] (FRAME_TERMCAP_P): Don't redefine. 1995-11-07 07:27:19 +00:00
Richard M. Stallman
37dad45a1a (term_init): Alternative error messages for TERMCAP/TERMINFO. 1995-06-28 10:05:35 +00:00
Karl Heuer
36cae867b9 (cursor_to, clear_to_end_of_line_raw):
If chars_wasted is 0, do nothing.
(clear_end_of_line): Don't die if chars_wasted is 0.
1995-06-05 12:35:17 +00:00
Karl Heuer
e405833872 (term_init): MagicWrap implies AutoWrap. 1995-04-24 17:17:15 +00:00
Karl Heuer
f8c25f1b67 Update copyright. 1995-04-07 02:21:52 +00:00
Richard M. Stallman
7357a6812a Comment change. 1995-03-29 21:46:19 +00:00
Karl Heuer
b03471782d (term_init) [TERMINFO]: Make error message more accurate. 1995-02-25 04:05:46 +00:00
Richard M. Stallman
8dd0c7cbf7 (calculate_costs): Update max_frame_height, max_frame_width.
They determine length of chars_wasted, copybuf and char_ins_del_vector.
1995-02-17 08:42:18 +00:00
Richard M. Stallman
b59ab95c5c (term_get_fkeys_1): Bug fix for function key above f19. 1995-01-19 18:56:43 +00:00
Karl Heuer
9a6b6f9276 (write_glyphs, insert_glyphs): Call checkmagic. 1995-01-17 00:18:55 +00:00
Richard M. Stallman
ee7a2de471 (term_init): Fatal error if screen is too small. 1995-01-04 19:09:36 +00:00
Richard M. Stallman
be7cd44fe1 (scroll_region_cost): New variable.
(calculate_costs): Put scroll region overhead in scroll_region_cost.
1994-12-26 15:37:22 +00:00
Richard M. Stallman
9f732a77fc (calculate_costs): Set FRAME_COST_BAUD_RATE.
Don't test dont_calculate_costs.
(dont_calculate_costs): Variable deleted.
(term_init): Don't set dont_calculate_costs.
1994-12-06 08:49:33 +00:00
Richard M. Stallman
cb28b9c22b (term_init) [WINDOWSNT]: Do some Windows-specific
initialization, then skip the rest of the code.
(FRAME_TERMCAP_P) [WINDOWSNT]: Always return 0.
1994-11-01 08:44:15 +00:00
Richard M. Stallman
7dac35c8ad (calculate_costs): Call x_screen_planes. 1994-10-22 05:39:42 +00:00
Karl Heuer
0a7f697a8d (term_get_fkeys_1): Workaround for IBM's dialect of terminfo. 1994-10-14 02:43:58 +00:00
Karl Heuer
c8951b1855 Declare Fmake_sparse_keymap. 1994-09-19 00:13:35 +00:00
Karl Heuer
759d9005b9 (clear_to_end): Fix reversed condition. 1994-09-16 23:35:43 +00:00
Richard M. Stallman
e4bfb3b6f1 (term_init): Added missing argument to tgetstr.
(tgetstr): Move declarations to top level.
1994-08-24 19:51:01 +00:00
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