1. 15 Mar, 1994 1 commit
  2. 14 Feb, 1994 1 commit
  3. 26 Jan, 1994 1 commit
  4. 21 Jan, 1994 1 commit
  5. 13 Sep, 1993 1 commit
  6. 22 Jun, 1993 1 commit
    • Jim Blandy's avatar
      Separate parameter faces (those created and modified by the user) · 28f72798
      Jim Blandy authored
      	from the computed faces (the combinations created by
      	compute_char_face), so that we don't waste global face id's.
      	* xterm.h (struct x_display): Replace the fields faces and n_faces
      	with fields param_faces, n_param_faces, computed_faces,
      	n_computed_faces, and size_computed_faces.
      	(FRAME_FACES, FRAME_N_FACES): Replaced by...
      	(FRAME_COMPUTED_FACES, FRAME_N_COMPUTED_FACES, FRAME_PARAM_FACES,
      	FRAME_N_PARAM_FACES): New macros.
      	* xfaces.c: Doc fixes.
      	(init_frame_faces): Call new_computed_face to create entries for
      	the default and mode line faces.  Use the FRAME...PARAM_FACES
      	macros.
      	(free_frame_faces): Use the FRAME...PARAM_FACES and
      	FRAME...COMPUTED_FACES macros.  Don't use the copy flag; all
      	parameter faces have real X resources, and all computed faces just
      	have copies.  Free both the parameter and computed face arrays.
      	(new_computed_face): New function.
      	(intern_computed_face): Renamed from intern_frame_face; callers
      	changed.  Call new_computed_face.
      	(ensure_face_ready, compute_char_face, compute_glyph_face): Use the
      	FRAME...PARAM_FACES macros.
      	(recompute_basic_faces): Use the FRAME...PARAM_FACES and
      	FRAME...COMPUTED_FACES macros.  Produce the computed faces by
      	starting with the base faces and merging in the parameter faces.
      	(Fset_face_attribute_internal): Use the FRAME...PARAM_FACES
      	macros.  Just call recompute_basic_faces if the default or mode
      	line faces have changed.
      	* xfns.c (Fx_list_fonts): Use the FRAME...PARAM_FACES macros.
      	* xterm.c (dumpglyphs): Use the FRAME...COMPUTED_FACES macros.
      	* dispextern.h (struct face): Remove the copy member.  This is no
      	longer necessary; all computed faces are copies, and no parameter
      	faces are.
      28f72798
  7. 09 Jun, 1993 1 commit
  8. 28 May, 1993 1 commit
  9. 25 May, 1993 1 commit
    • Jim Blandy's avatar
      * xterm.h: New section for declarations for xfaces.c. · bf489d26
      Jim Blandy authored
      	(init_frame_faces, free_frame_faces, intern_face,
      	face_name_id_number, same_size_fonts, recompute_basic_faces,
      	compute_char_face, compute_glyph_face): Declare these here.
      	* xfaces.c (same_size_fonts): We can now remove this extern
      	declaration.
      	* xfns.c (face_name_id_number): Likewise.
      	* xterm.c (intern_face): Likewise.
      bf489d26
  10. 16 May, 1993 1 commit
  11. 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
  12. 28 Mar, 1993 1 commit
  13. 25 Mar, 1993 1 commit
  14. 21 Mar, 1993 1 commit
  15. 16 Mar, 1993 1 commit
  16. 15 Mar, 1993 1 commit
    • Richard M. Stallman's avatar
      (SELECTION_EVENT_DISPLAY): New macro. · c352056c
      Richard M. Stallman authored
      (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
      (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
      (SELECTION_EVENT_TIME): New macros.
      (struct selection_input_event): New structure.
      c352056c
  17. 02 Mar, 1993 1 commit
  18. 26 Jan, 1993 1 commit
  19. 14 Jan, 1993 1 commit
    • Jim Blandy's avatar
      Make scrollbar structures into lisp objects, so that they can be · 4e027793
      Jim Blandy authored
      	GC'd; this allows windows and scrollbars can refer to each other
      	without worrying about dangling pointers.
      	* xterm.h (struct x_display): vertical_scrollbars and
      	judge_timestamp members deleted.
      	(struct scrollbar): Redesigned to be a template for a Lisp_Vector.
      	(SCROLLBAR_VEC_SIZE, XSCROLLBAR, SCROLLBAR_PACK, SCROLLBAR_UNPACK,
      	SCROLLBAR_X_WINDOW, SET_SCROLLBAR_X_WINDOW,
      	VERTICAL_SCROLLBAR_INSIDE_WIDTH, VERTICAL_SCROLLBAR_TOP_RANGE,
      	VERTICAL_SCROLLBAR_INSIDE_HEIGHT, VERTICAL_SCROLLBAR_MIN_HANDLE):
      	New macros, to help deal with the lispy structures, and deal with
      	the graphics.
      	* frame.h (WINDOW_VERTICAL_SCROLLBAR): Macro deleted.
      	(struct frame): New fields `scrollbars' and
      	`condemned_scrollbars', for use by the scrollbar implementation.
      	[MULTI_FRAME and not MULTI_FRAME] (FRAME_SCROLLBARS,
      	FRAME_CONDEMNED_SCROLLBARS): Accessors for the new field.
      	* window.h (struct window): Doc fix for vertical_scrollbar field.
      	* frame.c (make_frame): Initialize the `scrollbars' and
      	`condemned_scrollbars' fields of the new frame.
      	* alloc.c (mark_object): Mark the `scrollbars' and
      	`condemned_scrollbars' slots of frames.
      	* xterm.c (x_window_to_scrollbar): Scrollbars are chained on
      	frames' scrollbar field, not their x.display->vertical_scrollbars
      	field.
      	(x_scrollbar_create, x_scrollbar_set_handle, x_scrollbar_move,
      	x_scrollbar_remove, XTset_vertical_scrollbar,
      	XTcondemn_scrollbars, XTredeem_scrollbar, XTjudge_scrollbars,
      	x_scrollbar_expose, x_scrollbar_handle_click,
      	x_scrollbar_handle_motion): Substantially rewritten to correct
      	typos and brainos, and to accomodate the lispy structures.
      
      	* xterm.h (CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT,
      	PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Rewritten, using:
      	(CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, PIXEL_TO_CHAR_ROW,
      	PIXEL_TO_CHAR_COL): New macros.
      	* xfns.c [not HAVE_X11] (Fx_create_frame): Use the
      	PIXEL_TO_CHAR_{HEIGHT,WIDTH} macros to figure the frame's
      	character size, and the CHAR_TO_PIXEL* macros for vice versa.
      	* xterm.c (XTwrite_glyphs, XTclear_end_of_line, stufflines,
      	scraplines, dumprectangle, pixel_to_glyph_coords, x_draw_box,
      	clear_cursor, x_display_bar_cursor, x_draw_single_glyph,
      	x_set_mouse_position): Use the CHAR_TO_PIXEL_* macros.
      4e027793
  20. 24 Dec, 1992 1 commit
    • Jim Blandy's avatar
      * frame.h (struct frame): New fields `can_have_scrollbars' and · c8e3cbe0
      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.
      
      	* xterm.h (struct x_display): Delete v_scrollbar, v_thumbup,
      	v_thumbdown, v_slider, h_scrollbar, h_thumbup,
      	h_thumbdown, h_slider, v_scrollbar_width, h_scrollbar_height
      	fields.
      	* keyboard.c (Qvscrollbar_part, Qvslider_part, Qvthumbup_part,
      	Qvthumbdown_part, Qhscrollbar_part, Qhslider_part, Qhthumbup_part,
      	Qhthumbdown_part, Qscrollbar_click): Deleted; part of an obsolete
      	interface.
      	(head_table): Removed from here as well.
      	(syms_of_keyboard): And here.
      	* keyboard.h: And here.
      	(POSN_SCROLLBAR_BUTTON): Removed.
      	* xscrollbar.h: File removed - no longer necessary.
      	* xfns.c: Don't #include it any more.
      	(Qhorizontal_scroll_bar, Qvertical_scroll_bar): Deleted.
      	(syms_of_xfns): Don't initialize or staticpro them.
      	(gray_bits): Salvaged from xscrollbar.h.
      	(x_window_to_scrollbar): Deleted.
      	(x_set_horizontal_scrollbar): Deleted.
      	(enum x_frame_parm, x_frame_parms): Remove references to
      	x_set_horizontal_scrollbar.
      	(x_set_foreground_color, x_set_background_color,
      	x_set_border_pixel): Remove special code to support scrollbars.
      	(Fx_create_frame): Remove old scrollbar setup code.
      	(install_vertical_scrollbar, install_horizontal_scrollbar,
      	adjust_scrollbars, x_resize_scrollbars): Deleted.
      	* xterm.c (construct_mouse_click): This doesn't need to take care of
      	scrollbar clicks anymore.
      	(XTread_socket): Remove old code to support scrollbars.  Call new
      	functions instead for events which occur in scrollbar windows.
      	(XTupdate_end): Remove call to adjust_scrollbars; the main
      	redisplay code takes care of that now.
      	(enum window_type): Deleted.
      	* ymakefile: Note that xfns.o no longer depends on xscrollbar.h.
      
      	* xterm.h (PIXEL_WIDTH, PIXEL_HEIGHT): Change name of parameter
      	from `s' to `f'; it's a frame pointer.
      c8e3cbe0
  21. 31 Oct, 1992 1 commit
  22. 14 Oct, 1992 1 commit
  23. 29 Sep, 1992 1 commit
  24. 29 Aug, 1992 1 commit
  25. 19 Aug, 1992 1 commit
  26. 14 Jul, 1992 1 commit
  27. 12 May, 1992 1 commit
  28. 13 Jan, 1992 1 commit
  29. 04 Nov, 1991 1 commit
  30. 24 Jul, 1991 1 commit
  31. 10 May, 1991 1 commit