1. 25 Mar, 1993 1 commit
  2. 20 Mar, 1993 2 commits
    • Jim Blandy's avatar
      * xterm.c (x_term_init): If the X connection is already in file · a4fc7360
      Jim Blandy authored
      	descriptor zero, don't dup it and close the old one.
      a4fc7360
    • Jim Blandy's avatar
      * emacs.c (Finvocation_name): New function. · 59653951
      Jim Blandy authored
      	(Vinvocation_name): New variable.
      	(init_cmdargs): Set it.
      	(syms_of_emacs): defsubr Finvocation_name, staticpro and
      	initialize Vinvocation_name.
      	* lisp.h (Vinvocation_name): New extern declaration.
      	* xterm.c (invocation_name): Variable deleted; use
      	Vinvocation_name now.
      	(x_text_icon, x_term_init): Use Vinvocation_name now instead of
      	invocation_name.
      	(x_term_init): Don't initialize invocation_name.
      	(syms_of_xterm): Don't initialize or staticpro invocation_name.
      	* xfns.c (invocation_name): Remove extern declaration for this.
      	[HAVE_X11] (Fx_get_resource): Use Vinvocation_name now instead of
      	invocation_name.
      	[not HAVE_X11] (Fx_get_default): Same.
      59653951
  3. 17 Mar, 1993 1 commit
  4. 15 Mar, 1993 1 commit
  5. 11 Mar, 1993 1 commit
  6. 08 Mar, 1993 1 commit
    • Richard M. Stallman's avatar
      (XTread_socket): · 10e6549c
      Richard M. Stallman authored
      Don't reverse the chars that XLookupString returns.  Use all of them.
      Save last 100 chars and keysyms in temp_buffer.
      10e6549c
  7. 07 Mar, 1993 1 commit
  8. 05 Mar, 1993 1 commit
  9. 02 Mar, 1993 1 commit
    • Jim Blandy's avatar
      Use the term `scroll bar', instead of `scrollbar'. · ab648270
      Jim Blandy authored
      	* 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.
      
      	* xterm.c (x_window_to_scrollbar, x_scrollbar_expose,
      	x_scrollbar_handle_click, x_scrollbar_note_movement): Remember
      	that these can be called during GC; we have to ignore mark bits.
      	* lisp.h (GC_NILP, GC_EQ): New macros to help with that.
      ab648270
  10. 22 Feb, 1993 1 commit
  11. 14 Feb, 1993 1 commit
    • Jim Blandy's avatar
      * xterm.c (x_set_window_size): Call change_frame_size instead of · 8922af5f
      Jim Blandy authored
      	just setting the `rows' and `cols' members of the frame, and
      	leaving the window tree in complete disarray.
      
      	* xterm.c (x_io_error_quitter): New function.
      	(x_error_quitter): Note that this is only used for protocol
      	errors now, not I/O errors.
      	(x_term_init): Set the I/O error handler to x_io_error_quitter.
      8922af5f
  12. 07 Feb, 1993 1 commit
  13. 26 Jan, 1993 1 commit
  14. 22 Jan, 1993 1 commit
    • Jim Blandy's avatar
      * xterm.c (x_scrollbar_create): Set the scrollbars to use · c0ff3fab
      Jim Blandy authored
      	EastGravity.
      
      	* frame.c (Fdelete_frame): Clear the frame's display after calling
      	the window-system-dependent frame destruction routine.  We
      	no longer need to pass the display as a separate argument to
      	x_destroy_window.
      	* xterm.c (x_destroy_window): Put the code which clears out f's
      	display here, right after we free the storage it points to.  Put
      	everything, including the code which clears x_focus_frame and
      	x_highlight_frame, inside the BLOCK/UNBLOCK_INPUT pair.
      c0ff3fab
  15. 16 Jan, 1993 1 commit
    • Jim Blandy's avatar
      * xterm.c (x_window_to_scrollbar): Search frames' · cf7cb199
      Jim Blandy authored
      	condemned_scrollbars list as well; input might arrive during
      	redisplay.
      	(x_scrollbar_report_motion): Don't forget to BLOCK_INPUT.
      	(XTjudge_scrollbars): Clear the condemned scrollbar list before
      	traversing it, so we don't try to process an event on a scrollbar
      	we've killed.
      cf7cb199
  16. 14 Jan, 1993 2 commits
    • Jim Blandy's avatar
      * xterm.c (x_scrollbar_create): Include PointerMotionHintMask in · 9a572e2a
      Jim Blandy authored
      	the event mask for scrollbars.
      9a572e2a
    • Jim Blandy's avatar
      Make scrollbar structures into lisp objects, so that they can be · 12ba150f
      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.c (x_scrollbar_background_expose): Function deleted; we
      	don't want anything in the background there after all.
      	(XTread_socket): Don't call x_scrollbar_background_expose.  We
      	don't care.
      
      	* 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.
      
      	* xterm.c (x_wm_set_size_hint): The max_width and max_height
      	members of the size_hints are expressed in pixels, not columns.
      
      	* xterm.c (x_set_window_size): Remove ibw var; it's not used.
      	Set FRAME_WIDTH (f) to cols instead of rows.  Duh.
      
      	* xterm.c (pixel_to_glyph_coords): Properly set *bounds to the
      	character cell bounding the position, even when the position is
      	off the frame.
      
      	* 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.
      
      	* xterm.c (XTmouse_position): Entirely rewritten, using
      	XTranslateCoordinates.  Call x_scrollbar_report_motion to handle
      	scrollbar movement events.
      	(x_scrollbar_report_motion): New function, to help out
      	XTmouse_position.
      
      	* termhooks.h (struct input_event): Replace the frame member with
      	a Lisp_Object member by the name of frame_or_window.  Doc fixes.
      	Remove the scrollbar member; instead, use frame_or_window to hold the
      	window whose scrollbar was clicked.
      	* keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event,
      	make_lispy_event): Adjust references to frame member of struct
      	input_event to use frame_or_window now.
      	* xterm.c (construct_mouse_click, XTread_socket): Same.
      
      	* xterm.c (last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
      	last_mouse_scroll_range_start, last_mouse_scroll_range_end):
      	Replaced with...
      	(last_mouse_scrollbar): New variable.
      	(note_mouse_movement): Clear last_mouse_scrollbar when we have
      	receieved a new motion.
      	(syms_of_xterm): Staticpro last_mouse_scrollbar.
      
      	* xterm.c (note_mouse_position): Renamed to note_mouse_movement,
      	because that's what it really does.
      	(x_scrollbar_handle_motion): Renamed to x_scrollbar_note_movement,
      	for consistency.
      	(XTread_socket): Adjusted.
      
      	* xterm.c (XTset_scrollbar): Renamed to XTset_vertical_scrollbar.
      	(x_term_init): Adjusted.
      
      	* emacs.c (shut_down_emacs): New function.
      	(fatal_error_signal, Fkill_emacs): Call it, instead of writing it out.
      	* xterm.c (x_connection_closed): Call shut_down_emacs instead of
      	Fkill_emacs; the latter will try to perform operations on the X
      	server and die a horrible death.
      	* lisp.h (shut_down_emacs): Add extern declaration for it.
      
      	* xterm.c (x_error_quitter): Move the abort call to after we print
      	the error message.  No harm in that.
      12ba150f
  17. 07 Jan, 1993 1 commit
  18. 24 Dec, 1992 1 commit
    • Jim Blandy's avatar
      * frame.h (struct frame): New fields `can_have_scrollbars' and · f451eb13
      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.c (x_set_mouse_position): Clip mouse position to be within
      	frame.
      
      	* xterm.c: Adjust the first line of each page to have a reasonable
      	description.  This makes pages-directory more useful.
      
      	* xterm.c (x_do_pending_expose): Declare this routine only if
      	HAVE_X11 is not #defined; X11 doesn't need it.
      	(XTread_socket): Protect call to x_do_pending_expose with `#ifdef
      	HAVE_X11'.
      
      	* xterm.c (notice_mouse_movement): Deleted; obsolete and unused.
      
      	Properly handle focus shift events, so the cursor is filled and
      	hollow at the appropriate times, even in titleless windows.
      	* xterm.c (x_focus_event_frame): New variable.
      	(XTread_socket): When we receive a FocusIn event that's not
      	NotifyPointer, record the frame in x_focus_event_frame.  When we
      	receive a FocusOut event that's not NotifyPointer, clear it.  When
      	we get a LeaveNotify event, don't take it seriously if we still
      	have focus.
      
      	* xterm.c (XTread_socket): Remove special code in EnterNotify case
      	to handle scrollbars and fake mouse motion events.
      
      	Change the meaning of focus redirection to make switching windows
      	work properly.  Fredirect_frame_focus has the details.
      	* frame.h (focus_frame): Doc fix.
      	[not MULTI_FRAME] (FRAME_FOCUS_FRAME): Make this Qnil, which
      	indicates no focus redirection, instead of zero, which is
      	selected_frame.
      	* frame.c (make_frame): Initialize f->focus_frame to Qnil, rather
      	than making it point to frame itself.
      	(Fselect_frame): If changing the selected frame from FOO to BAR,
      	make all redirections to FOO shift to BAR as well.  Doc fix.
      	(Fredirect_frame_focus): Doc fix.  Accept nil as a valid
      	redirection, not just as a default for FRAME.
      	(Fframe_focus): Doc fix.
      	* keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event): Deal
      	with focus redirections being nil.
      	* xterm.c (XTframe_rehighlight): Doc fix.  Deal with focus
      	redirections being nil.
      
      	* xterm.c (x_error_quitter): Just abort, so we can look at the
      	core to see what happened.
      
      	It's a pain to remember that you can't assign to FRAME->visible.
      	Let's change all references to the `visible' member of struct
      	frame to use the accessor macros, and then write a setter for the
      	`visible' field that does the right thing.
      	* frame.h (FRAME_VISIBLE_P): Make this not an l-value.
      	(FRAME_SET_VISIBLE): New macro.
      	* frame.c (make_terminal_frame, Fdelete_frame): Use FRAME_SET_VISIBLE.
      	(Fframe_visible_p, Fvisible_frame_list): Use FRAME_VISIBLE_P and
      	FRAME_ICONIFIED_P.
      	* dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
      	FRAME_GARBAGED_P accessors.
      	* xdisp.c (redisplay): Use the FRAME_VISIBLE_P accessor.
      	* xfns.c (x_set_foreground_color, x_set_background_color,
      	x_set_cursor_color, x_set_border_pixel, x_set_icon_type): Use the
      	FRAME_VISIBLE_P accessor.
      	(Fx_create_frame): Use FRAME_SET_VISIBILITY.
      	* xterm.c (clear_cursor, x_display_bar_cursor,
      	x_display_box_cursor): Use FRAME_SET_VISIBILITY.
      f451eb13
  19. 06 Dec, 1992 1 commit
    • Jim Blandy's avatar
      * xterm.c (XTread_socket): When we get MapNotify, UnmapNotify, · 3a88c238
      Jim Blandy authored
      	Expose, ExposeWindow, or UnmapWindow, set f->async_visible, not
      	f->visible.
      	(x_do_pending_expose, x_raise_frame, x_lower_frame,
      	x_make_frame_invisible, x_make_frame_visible, x_iconify_frame):
      	Test and set f->async_visible and f->async_iconified, not
      	f->visible or f->async_iconified.
      3a88c238
  20. 31 Oct, 1992 1 commit
    • Jim Blandy's avatar
      * xterm.c (x_convert_modifiers): Declare this to return an · 7c5283e4
      Jim Blandy authored
      	unsigned int, not a Lisp_Object.  Remember that the quiescent
      	value for part is Qnil, not zero, that x_mouse_x and x_mouse_y
      	are ints, not Lisp_Objects, and that RESULT->x and RESULT->y are
      	Lisp_Objects, not ints.
      	(XTread_socket): Declare this to return int, not Lisp_Object.
      	When calling construct_mouse_click on a non-scrollbar click, pass
      	PART as Qnil, not zero.
      	(x_calc_absolute_position): Remember that x_screen_width and
      	x_screen_height are ints, not Lisp_Objects.
      e
      7c5283e4
  21. 19 Oct, 1992 1 commit
    • Jim Blandy's avatar
      * xterm.c (compose_status): New variable. · 11edeb03
      Jim Blandy authored
      	(XTread_socket): Pass it by reference to XLookupString.
      
      	* xterm.c: Clean up some of the caps lock handling:
      	(x_shift_lock_mask): New variable.
      	(x_find_modifier_mappings): Set it, based on the modifier mappings.
      	(x_convert_modifiers): Use x_shift_lock_mask, instead of assuming
      	that the lock bit always means to shift the character.
      	(XTread_socket): When handling KeyPress events, don't pass an
      	XComposeStatus structure along to XLookupString.  When handling
      	MappingNotify events, call XRefreshKeyboardMapping for both
      	MappingModifier and MappingKeyboard events, not just the latter.
      11edeb03
  22. 11 Oct, 1992 1 commit
  23. 03 Oct, 1992 1 commit
    • Jim Blandy's avatar
      * xterm.c (x_find_modifier_meanings): If there are no · f689eb05
      Jim Blandy authored
      	modifiers containing a Meta_ keysym, use the Alt keysyms to
      	denote meta.
      	(construct_mouse_click): Set the down_modifier bit on mouse
      	button press events.
      	(XTread_socket): When processing keypress events, use
      	x_meta_mod_mask when processing ordinary ASCII characters, not
      	just when processing function keys and other non-ASCII events.
      	(XTread_socket): If we receive a MappingNotify event with the
      	`request' member set to `MappingModifier', then call
      	x_find_modifier_meanings to refresh x_meta_mod_mask.
      f689eb05
  24. 30 Sep, 1992 1 commit
    • Jim Blandy's avatar
      * xterm.c (x_meta_mod_mask): New variable, indicating which X · 28430d3c
      Jim Blandy authored
      	modifier bits denote meta keys.
      	(x_find_modifier_meanings): New function, to set x_meta_mod_mask.
      	(x_convert_modifiers): Use that.
      	(x_term_init): Call x_find_modifier_meanings.
      
      	* xterm.c (XTread_socket): Pass PropertyNotify events from the
      	root window to x_invalidate_cut_buffer_cache.
      	(x_term_init): Call x_watch_cut_buffer_cache here.
      28430d3c
  25. 13 Sep, 1992 1 commit
    • Jim Blandy's avatar
      * xterm.c (x_wm_set_size_hint): Set the base_width and base_height · b0342f17
      Jim Blandy authored
      	members of size_hints, if they're available (X11R4 and after);
      	otherwise, approximate the right thing, by using min_width and
      	min_height as the base size.
      
      	* xterm.c (x_catch_errors): Don't forget to initialize
      	x_caught_error_message to the null string, so x_check_errors can
      	tell when an error has occurred.
      b0342f17
  26. 04 Sep, 1992 1 commit
  27. 29 Aug, 1992 1 commit
    • Jim Blandy's avatar
      * xterm.c (x_make_frame_invisible): Don't forget to check the · c118dd06
      Jim Blandy authored
      	return value of XWithdrawWindow; it could indicate that the window
      	wasn't successfully redrawn.
      
              * xterm.c (x_make_frame_invisible): Use XWithdrawWindow when
      	available [HAVE_X11R4]; send the UnmapNotify event when
      	appropriate [HAVE_X11]; just unmap the window if that's all that's
      	needed [not HAVE_X11].
      
      	* xterm.c (x_set_text_property): Removed; it's only called from
      	one place.  Who wants *another* layer of indirection?
      
      	* xterm.c: Use the FRAME_X_WINDOW macro, for readability.
      
      	* xterm.c (x_death_handler): Renamed to x_connection_closed.
      	(x_term_init): Use x_connection_closed as the SIGPIPE handler.
      
      	* xterm.c (acceptable_x_error_p, x_handler_error_gracefully,
      	x_error_handler): Removed; you can't catch X errors this way,
      	since you can't perform X operations from within an X error
      	handler, and even though we call error, we're still within an X
      	error handler.
      	(x_error_quitter, x_error_catcher): New functions, for panicking
      	on and catching X protocol errors.
      	(x_caught_error_message): Buffer for caught X errors.
      	(x_catch_errors, x_check_errors, x_uncatch_errors): New functions
      	for catching errors.
      	(x_term_init): Set the error handler to x_error_quitter, rather
      	than x_error_handler.
      
      	* xterm.c (x_death_handler): Renamed to x_connection_closed.
      	(x_term_init): Use x_connection_closed as the SIGPIPE handler.
      
      	* xterm.c (acceptable_x_error_p, x_handler_error_gracefully,
      	x_error_handler): Removed; you can't catch X errors this way,
      	since you can't perform X operations from within an X error
      	handler, and even though we call error, we're still within an X
      	error handler.
      	(x_error_quitter, x_error_catcher): New functions, for panicking
      	on and catching X protocol errors.
      	(x_caught_error_message): Buffer for caught X errors.
      	(x_catch_errors, x_check_errors, x_uncatch_errors): New functions
      	for catching errors.
      	(x_term_init): Set the error handler to x_error_quitter, rather
      	than x_error_handler.
      c118dd06
  28. 19 Aug, 1992 1 commit
    • Jim Blandy's avatar
      * xterm.c (x_wm_hints): Variable deleted. This has to be · 16bd92ea
      Jim Blandy authored
      	per-screen.  Duh.
      	* xterm.c (x_wm_set_window_state, x_wm_set_icon_pixmap,
      	x_wm_set_icon_position): Use F->display.x->wm_hints, rather than
      	x_wm_hints.
      	(x_term_init): Don't initialize x_wm_hints here.
      	* xterm.c (x_set_text_property): Properly balance the BLOCK_INPUTs
      	and UNBLOCK_INPUTs.  And remember that VALUE is the strin we want
      	to set the name to, not PROPERTY.
      
      	* xterm.c (x_set_text_property): Define this appropriately for
      	X11R3 and X11R4.
      
      	* xterm.c (x_set_text_property): Make this take a Lisp_Object
      	string as an argument, rather than a pointer and a length.
      
      	* xterm.c: Doc fixes.
      
      	* xterm.c [USG5]: Don't include <sys/types.h>.
      
      	* xterm.c (x_make_frame_invisible): Instead of calling XWithdraw
      	window, which isn't widely available, write out what it does,
      	since that's not much.
      	(x_iconify_frame): Explicitly perform both the X11R3 and X11R4
      	methods for iconification; don't use XIconifyWindow, since that's
      	not present in R3.
      
      	* xterm.c (x_wm_set_size_hint): Don't bother setting the
      	base_width and base_height members; their function is performed
      	just as well by the min_width and min_height members, and if we
      	use XSetNormalHints instead of XSetWMNormalHints, we can be
      	compatible with R3.
      
      	* xterm.c (x_error_handler): There is no way to invoke the default
      	error handler which works on all versions of X11, so don't bother;
      	call XGetErrorText and print the message ourselves.
      
      	* xterm.c (x_term_init): Don't use MAXHOSTNAMELEN; this isn't
      	defined on all systems.  Since we only use that as an initial
      	guess anyway, it's not very important.
      
      	* xterm.c (x_set_text_property): New function.
      16bd92ea
  29. 12 Aug, 1992 1 commit
    • Jim Blandy's avatar
      * xterm.c (x_wm_hints): New variable. · b1c884c3
      Jim Blandy authored
      	(x_wm_set_window_state, x_wm_set_icon_pixmap,
      	x_wm_set_icon_position): Use x_wm_hints.
      	(x_term_init): Set the `input' field of x_wm_hints, and its flag.
      
      	* xterm.c (x_text_icon): Call x_wm_set_icon_pixmap with a pixmap
      	of zero, to clear the pixmap.
      	(x_wm_set_icon_pixmap): Accept this protocol; if pixmap is zero,
      	specify no pixmap for the icon.
      
      	* xterm.c (x_set_window_size): Call check_frame_size to make sure
      	that the requested dimensions are within acceptable limits.
      	Store the new size information in the frame structure.
      
      	* xterm.c (x_wm_set_size_hint): Don't try to set the base_height
      	and base_width elements of size_hints if PBaseSize is not
      	#defined.  Set the minimum frame size according to the information
      	returned by check_frame_size.
      
      	* xterm.c (XTread_socket, x_do_pending_expose): Call
      	change_frame_size with a DELAY of 1.
      
      	* xterm.c (in_display): Deleted this; it's never used in xterm.c,
      	and there is another variable by the same name in dispnew.c.
      
      	* xterm.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.
      b1c884c3
  30. 15 Jul, 1992 1 commit
  31. 14 Jul, 1992 1 commit
  32. 10 Jul, 1992 1 commit
  33. 07 Jul, 1992 1 commit
  34. 30 Jun, 1992 1 commit
  35. 24 Jun, 1992 1 commit
  36. 10 Jun, 1992 1 commit
  37. 12 May, 1992 1 commit
  38. 24 Apr, 1992 1 commit