1. 26 Dec, 1994 1 commit
  2. 06 Dec, 1994 1 commit
  3. 01 Nov, 1994 1 commit
  4. 22 Oct, 1994 1 commit
  5. 14 Oct, 1994 1 commit
  6. 19 Sep, 1994 1 commit
  7. 16 Sep, 1994 1 commit
  8. 24 Aug, 1994 1 commit
  9. 23 Jun, 1994 1 commit
  10. 15 Jun, 1994 1 commit
  11. 23 May, 1994 1 commit
  12. 08 Apr, 1994 1 commit
  13. 03 Apr, 1994 1 commit
  14. 08 Mar, 1994 3 commits
  15. 12 Feb, 1994 1 commit
  16. 21 Jan, 1994 1 commit
  17. 10 Sep, 1993 1 commit
  18. 11 Aug, 1993 1 commit
  19. 09 Aug, 1993 1 commit
  20. 13 Jun, 1993 1 commit
  21. 09 Jun, 1993 1 commit
  22. 05 Jun, 1993 1 commit
  23. 31 May, 1993 1 commit
  24. 22 May, 1993 1 commit
  25. 31 Mar, 1993 1 commit
    • Jim Blandy's avatar
      Put interrupt input blocking in a separate file from xterm.h. · 9ac0d9e0
      Jim Blandy authored
      	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.
      9ac0d9e0
  26. 18 Mar, 1993 1 commit
  27. 17 Mar, 1993 2 commits
  28. 15 Mar, 1993 1 commit
  29. 12 Mar, 1993 1 commit
  30. 11 Mar, 1993 2 commits
  31. 02 Mar, 1993 1 commit
  32. 26 Jan, 1993 1 commit
  33. 14 Jan, 1993 1 commit
    • Jim Blandy's avatar
      * term.c (set_vertical_scrollbar_hook, condemn_scrollbars_hook, · 371fbaeb
      Jim Blandy authored
      	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.
      371fbaeb
  34. 24 Dec, 1992 1 commit
    • Jim Blandy's avatar
      * frame.h (struct frame): New fields `can_have_scrollbars' and · 20a558dc
      Jim Blandy authored
      	`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.
      20a558dc
  35. 19 Aug, 1992 1 commit
    • Jim Blandy's avatar
      * term.c (term_get_fkeys): Some systems define `static' to be the · a796ac82
      Jim Blandy authored
          	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.
      a796ac82
  36. 12 Aug, 1992 1 commit