1. 22 May, 1993 1 commit
  2. 21 May, 1993 1 commit
  3. 19 May, 1993 2 commits
  4. 16 May, 1993 1 commit
  5. 10 May, 1993 2 commits
  6. 08 May, 1993 1 commit
  7. 07 May, 1993 1 commit
  8. 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
  9. 25 Mar, 1993 1 commit
  10. 24 Mar, 1993 1 commit
  11. 23 Mar, 1993 1 commit
  12. 21 Mar, 1993 2 commits
    • Jim Blandy's avatar
      Fix typo. · 8bc59570
      Jim Blandy authored
      8bc59570
    • Jim Blandy's avatar
      Use the `visiblity' parameter to determine the initial state of · 49795535
      Jim Blandy authored
      	the frame, instead of the `iconic-startup' and
      	`suppress-initial-map'.
      	* xfns.c (x_icon): Test the Qvisibility parameter against Qicon,
      	instead of the Qiconic_startup against Qt.
      	(x_create_frame): Test Qvisibility against Qnil and
      	Qicon, instead of testing Qsuppress_initial_map and Qvisibility.
      	(Qicon): New symbol.
      	(Qiconic_startup, Qsuppress_icon, Qsuppress_initial_map): Removed.
      	(syms_of_xfns): Adjusted appropriately.
      
      	* xfns.c [not HAVE_X11] (x_create_frame): Check Qicon_type,
      	instead of Qsuppress_icon.
      
      	* xfns.c (x_set_visibility): Instead of interpreting only Qt as
      	`make the frame visible' and everything else as `iconify the
      	frame', interpret Qicon as `iconify the frame' and everything else
      	as `make the frame visible.'
      
      	* xfns.c (x_get_arg): When the type of the resource is `symbol',
      	return `true' and `on' as Qt, and `false' and `off' as Qnil.
      49795535
  13. 20 Mar, 1993 4 commits
    • Jim Blandy's avatar
      * xfns.c (Fx_open_connection): If we have X11R5, use · eb5d618c
      Jim Blandy authored
      	XrmSetDatabase to set the display's database.  In older versions,
      	just store the value into x_current_display->db.
      eb5d618c
    • 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
    • Richard M. Stallman's avatar
      (Fx_display_color_p): Renamed from Fx_color_display_p. · bcc426b4
      Richard M. Stallman authored
      (syms_of_xfns): Use new name in defsubr.
      bcc426b4
    • Richard M. Stallman's avatar
      (x_screen): Make this var file scope. · 41beb8fc
      Richard M. Stallman authored
      (Fx_server_version): Use Fcons, not list3.
      
      (Fx_server_vendor, Fx_server_version, Fx_display_pixel_width)
      (Fx_display_pixel_height, Fx_display_mm_width, Fx_display_mm_height)
      (Fx_display_screens, Fx_display_planes, Fx_display_color_cells)
      (Fx_display_visual_class, Fx_display_backing_store)
      (Fx_display_save_under): New functions.
      (x_screen_count, Vx_vendor, x_release, x_screen_height_mm)
      (x_screen_width_mm, Vx_backing_store, x_save_under, Vx_screen_visual)
      (x_visual_strings): Vars deleted.
      (Fx_open_connection): Don't init those vars.
      (syms_of_xfns): Set up new functions.  Don't set up those vars as Lisp vars.
      Nor x-screen-width and x-screen-height.
      41beb8fc
  14. 15 Mar, 1993 1 commit
    • Richard M. Stallman's avatar
      (Xatom_wm_change_state): Just declare. · 99e72068
      Richard M. Stallman authored
      (Xatom_emacs_selection, Xatom_clipboard, Xatom_clipboard_selection):
      (Xatom_wm_change_state, Xatom_incremental, Xatom_multiple):
      (Xatom_targets, Xatom_timestamp, Xatom_delete, Xatom_insert_selection):
      (Xatom_pair, Xatom_insert_property, Xatom_text): Decls deleted.
      (x_begin_selection_own): Decls deleted.
      (Fx_open_connection): Set up only the wm atoms here.
      Call Xatoms_of_xselect.
      99e72068
  15. 11 Mar, 1993 1 commit
  16. 08 Mar, 1993 1 commit
  17. 02 Mar, 1993 1 commit
  18. 22 Feb, 1993 1 commit
  19. 14 Feb, 1993 1 commit
    • Jim Blandy's avatar
      * frame.c (Fframe_parameters): Report the `minibuffer' parameter of · baaed68e
      Jim Blandy authored
      	minibufferless frames as nil, not `none'.
      	(Qnone): Remove declaration and initialization for this.  It's not
      	needed anymore.
      	* xfns.c (Qnone): Add them here; we still accept "none" as a valid
      	value for the `minibuffer' parameter.
      
      	* xfns.c (x_frame_params): Remember that the parameters are called
      	"auto-raise" and "auto-lower", not "autoraise" and "autolower".
      baaed68e
  20. 26 Jan, 1993 1 commit
  21. 14 Jan, 1993 1 commit
    • Jim Blandy's avatar
      * xfns.c (Fx_create_frame): After mapping the frame, call · cf177271
      Jim Blandy authored
      	SET_FRAME_GARBAGED, not just plain FRAME_GARBAGED.
      
      	* xfns.c (Qvertical_scrollbars): New symbol.  Use it as the name
      	of the parameter which decides whether or not the frame has
      	scrollbars, instead of Qvertical_scrollbar.
      	(Fx_create_frame): Adjusted accordingly.
      	(syms_of_xfns): Initialize and staticpro Qvertical_scrollbars.
      	(x_set_vertical_scrollbar): Renamed to x_set_vertical_scrollbars.
      	(x_frame_parms): Adjusted accordingly.
      
      	* 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.
      
      	* xfns.c (x_set_name): To request that the modelines be redrawn,
      	execute the statement "update_mode_lines = 1;" instead of the
      	silly statement "update_mode_lines;".
      
      	* xfns.c (x_set_vertical_scrollbars): Don't try to set the
      	X window's size if the frame's X window hasn't been created yet.
      
      	* xfns.c (x_figure_window_size): Set the frame's
      	vertical_scrollbar_extra field before trying to calculate its
      	pixel dimensions.
      
      	* xfns.c (x_window): When calling x_implicitly_set_name for the
      	sake of drawing the name for the first time, remember to clear and
      	set the frame's explicit_name member as well as its name member.
      	(Fx_create_frame): Set the frame's explicit_name member if the
      	user specified the name explicitly.
      
      	* xfns.c (Fx_get_resource): Add CLASS argument, to give class of
      	ATTRIBUTE.
      	[not HAVE_X11]: Change definition of Fx_get_resource macro
      	accordingly.
      	(x_get_arg): Add CLASS argument, to give the class of ATTRIBUTE.
      	Pass it along to Fx_get_resource.
      	(x_figure_window_size, x_icon): Pass new argument to x_get_arg.
      	(x_default_parameter): Add XCLASS argument, to give the class of
      	XPROP.  Pass it along to x_get_arg.
      	(Fx_create_frame): Pass new args to x_get_arg and
      	x_default_parameter.
      
      	* xfns.c (Fx_create_frame): Use the same resource names and
      	classes as xterm and Emacs 18.
      cf177271
  22. 03 Jan, 1993 1 commit
  23. 24 Dec, 1992 1 commit
    • Jim Blandy's avatar
      * frame.h (struct frame): New fields `can_have_scrollbars' and · 179956b9
      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.
      
      	* xfns.c (syms_of_xfns): Delete defvars for x_mouse_x and
      	x_mouse_y.  That interface hasn't been live for years.
      	(x_mouse_x, x_mouse_y): Delete these variables.
      
      	* xfns.c (Fx_create_frame): Don't initialize the wm_hints field here.
      	(x_window): Do it here, along with all the similar stuff.
      
      	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.
      179956b9
  24. 06 Dec, 1992 1 commit
  25. 16 Nov, 1992 1 commit
  26. 31 Oct, 1992 1 commit
    • Jim Blandy's avatar
      * xfns.c (x_decode_color, Fx_color_display_p): x_screen_planes is · a6605e5c
      Jim Blandy authored
      	an int, not a Lisp_Object.
      	(x_set_mouse_color): Give separate error messages for the
      	different cursors we try to set.
      	(Fx_geometry): Declare STRING to be a Lisp_Object.
      	(Fx_create_frame): No need to use XSET to assign NAME to f->name;
      	they're both Lisp_Objects.
      	(adjust_scrollbars): Use XINT to access w->hscroll.
      	(Fx_open_connection): x_screen_count, x_release, x_screen_height,
      	x_screen_height_mm, x_screen_width, x_screen_width_mm,
      	x_save_under, and x_screen_planes are integers, not Lisp_Objects.
      	(syms_of_xfns): x_mouse_x, x_mouse_y, and mouse_buffer_offset are
      	integers, not Lisp_Objects.
      a6605e5c
  27. 19 Oct, 1992 1 commit
  28. 13 Sep, 1992 1 commit
  29. 11 Sep, 1992 1 commit
  30. 29 Aug, 1992 1 commit
    • Jim Blandy's avatar
      * xfns.c (x_icon): Don't call x_wm_set_icon_positions if the user · fe24a618
      Jim Blandy authored
      	hasn't specified the icon position.  Let the window manager put
      	the icon where it likes.
      
      	* xfns.c (x_set_name): Use XSetWM{Name,IconName} when available
      	[HAVE_X11R4], or XSetIconName and XStoreName otherwise.
      
      	* xfns.c: Use the FRAME_X_WINDOW for readability.
      
      	* xfns.c (x_set_mouse_color): Use x_catch_errors, x_check_errors,
      	and x_uncatch errors to avoid crashing if the user selects an
      	odd cursor.
      
      	* xfns.c (select_visual): Use XVisualIDFromVisual when available
      	[HAVE_X11R4].
      fe24a618
  31. 19 Aug, 1992 1 commit
    • Jim Blandy's avatar
      * xfns.c (x_set_name): Take new argument EXPLICIT, instead of · f945b920
      Jim Blandy authored
      	OLDVAL.
      	(x_explicitly_set_name, x_implicitly_set_name): New functions.
      	(x_frame_parms): Use x_explicitly_set_name here.
      	(x_window): Use x_implicitly_set_name here.
      
      	* xfns.c (Fx_create_frame): Initialize f->display.x->wm_hints here.
      
      	* xfns.c (x_set_name): Call x_set_text_property with a Lisp_Object
      	string as an argument, rather than a pointer and a length.
      
      	* xfns.c (x_get_arg): Accept a new type - symbol.  If we've
      	retrieved a string from the xrdb database and the user wants a
      	symbol, intern it.
      	(Fx_create_frame): Use the symbol type here.
      
      	* xfns.c (x_figure_window_size, x_icon, Fx_create_frame): Use
      	values from enum resource_types for the last arg to x_get_arg,
      	instead of passing numbers.
      
      	* xfns.c (Fx_create_frame): When setting up the scroll bars, use
      	the type parameter to x_default_parameter, rather than prefixing
      	the resource name with a question mark.
      
      	* xfns.c [not HAVE_X11] (Fx_create_frame): The resource which
      	determines whether or not to use a bitmapped icon is called
      	"IconType", not "BitmapIcon".  Update this.
      
      	* xfns.c (x_set_name): Used x_set_text_property instead of XSetWMName and
      	XSetWMIconName.
      
      	* xfns.c (select_visual): Fetch the visual id directly from v;
          	don't call XVisualIDFromVisual, since that function is not
          	available in earlier versions of X.
      
      	* xfns.c (x_make_gc): cursor_bits can't be local to the function;
      	it's static.
      
      	* xfns.c (Fx_create_frame): Make the default for the icon-type
          	parameter nil, not t.  It seems to cause problems with some X
          	servers.
      f945b920
  32. 12 Aug, 1992 1 commit
    • Jim Blandy's avatar
      * xfns.c (x_get_arg): Return Qunbound for an unspecified · f9942c9e
      Jim Blandy authored
      	resource, not nil.  That way, we can tell the difference between a
      	false resource and an unspecified resource.
      	(x_default_error): Use DEFLT if x_get_arg returns Qunbound, not Qnil.
      	(x_figure_window_size, x_icon, Fx_create_frame): Deal with
      	Qunbound and Qnil properly.
      
      	* xfns.c (Fx_create_frame): Pass the correct number of arguments
      	to x_set_font.
      
      	* xfns.c [not HAVE_X11] (Fx_create_frame): Delete section that's
      	only included if we *do* have X11.  Blind patching.
      
              * xfns.c (x_icon): Rewritten to call x_wm_set_icon_position and
      	x_wm_set_window_state instead of calling XSetWMHints directly.
      	(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.
      
      	* xfns.c (x_default_parameter): Don't call store_frame_param here;
      	it's already taken care of by x_set_frame_parameters.
      
      	* xfns.c (Fx_create_frame): Check for the `icon-type',
      	`auto-raise', and `auto-lower' parameters. Have `icon-type'
      	default to t, indicating that we want the nifty gnu in our icons.
      	(Qauto_lower): New symbol.
      
      	* xfns.c (x_set_icon_type): UNBLOCK_INPUT before reporting the
      	error, not after.  error doesn't return, sklitch-brain.
      
      	* xfns.c (x_set_frame_parameters): Properly recognize changes to
      	the height of the frame.  Recognize changes of the frame's
      	position.
      
      	* xfns.c (x_set_frame_parameters): Iterate over ALIST while the
      	current element is cons, not while it's non-nil.
      	(syms_of_xfns): Call init_x_parm_symbols after interning all the
      	other atoms; init_x_parm_symbols expects Qx_frame_parameter to be
      	initialized.
      
      	* xfns.c (Qbackground_color, Qborder_color,  Qborder_width,
      	Qcursor_color,  Qfont,  Qforeground_color,  Qgeometry,
      	Qhorizontal_scroll_bar,  Qicon_left,  Qicon_top,  Qiconic_startup,
      	Qinternal_border_width,  Qleft,  Qmouse_color,  Qparent_id,
      	Qsuppress_icon,  Qsuppress_initial_map,  Qtop,  Qundefined_color,
      	Qvertical_scroll_bar,  Qwindow_id,  Qx_frame_parameter): New
      	symbols, with lisp code to rebuild syms_of_xfns.
      	(syms_of_xfns): Initialize and staticpro them.
      	(Qheight, Qminibuffer, Qname, Qnone, Qonly, Qwidth,
      	Qunsplittable): Add extern declaration for these.
      	(x_init_parm_symbols): Don't initialize Qx_frame_parameter here;
      	it's done in syms_of_xfns.
      	(x_default_parameter): Change the argument char *PROPNAME into a
      	Lisp_Object PROP; let the caller take care of interning the atom.
      	(Fx_geometry, x_figure_window_size, x_icon, Fx_create_frame): Use
      	the new Q... variables, instead of interning things.
      
      	* xfns.c (x_set_frame_param): Replaced by x_set_frame_parameters.
      	(x_set_frame_parameters): Process the alist of parameters here.
              Notice `width', `height', `top', and `left' parameters.
              Hold off changing the frame size and position until the end, so we
      	can do both parameters at once when they are both specified.
      	(x_default_parameter): Call x_set_frame_parameters, not
      	x_set_frame_param.
      
      	* xfns.c (x_figure_window_size): Indicate that this function
      	returns an int, rather than just leaving it unstated.
      
      	* xfns.c (Fx_create_frame): Call change_frame_size with a DELAY of 0.
      f9942c9e
  33. 21 Jul, 1992 1 commit
  34. 17 Jul, 1992 1 commit