• Jim Blandy's avatar
    * xfns.c (Fx_open_connection): Don't trust HAVE_XRMSETDATABASE; · d387c960
    Jim Blandy authored
    	use XrmSetDatabase only when HAVE_X11R5 is defined.
    
    	* xfns.c (Vx_resource_name): Renamed from Vxrdb_name, and made a
    	lisp-visible variable, so lisp/term/x-win.el can set it.  Doc it
    	for "internal use only"; no need for NEWS entry.
    	(validate_x_resource_name): New function.
    	(Fx_get_resource): Doc fix.  References to Vxrdb_name renamed.  Call
    	validate_x_resource_name.
    	(x_window): References to Vxrdb_name renamed.  Call
    	validate_x_resource_name.
    	(Fx_open_connection): References to Vxrdb_name renamed.  Instead
    	of setting and validating its value here, just call
    	validate_x_resource_name.
    	(syms_of_xfns): Add DEFVAR_LISP for Vx_resource_name.
    
    	* xfns.c (x_set_frame_parameters): Don't set the frame's size and
    	position unless those parameters are actually specified in ALIST.
    
    	* xrdb.c: Implement search for app-defaults directory and
    	localized default databases, along with some other functionality
    	provided by Xt.
    	#include <stdio.h>, since we call sprintf.
    	[emacs] (malloc, realloc, free): #define these to xmalloc,
    	xrealloc, and xfree.
    	(x_get_string_resource, file_p): Add forward declarations for
    	these.
    	(x_customization_string): New variable.
    	(x_get_customization_string): New function.
    	(gethomedir): Return malloc'ed space of the right size, instead of
    	writing into a fixed-size buffer; this means that our callers do
    	not impose an arbitrary limit on file name length.
    	(magic_file_p): Rewrite of decode_magic; actually do the
    	substitutions, instead of expanding all %-escapes to "".  Support
    	the customization string.  Return 0 or the expanded file name,
    	instead of just zero or one.  Allocate the space for the expanded
    	file name ourselves, instead of writing into a fixed-size buffer
    	passed to us; this removes an arbitrary limit.
    	(search_magic_path): Rewrite of magic_searchpath_decoder.  Return
    	0 or the expanded file name, instead of just zero or one.
    	Allocate the space for the expanded file name ourselves, instead
    	of writing into a fixed-size buffer passed to us; this means that
    	our callers do not impose an arbitrary limit on file name length.
    	(get_system_app): Changed to work with search_magic_path.
    	(get_user_app): Rewritten to work with search_magic_path, and not
    	to assume that the values of XAPPLRESDIR is a single directory.
    	(get_user_db): Properly use the new version of gethomedir.
    	(get_environ_db): Remove arbitrary limit on length of host name.
    	(x_load_resources): Take a new argument, myname.  Call get_user_db
    	early to obtain the customization string.
    	Changes to stand-alone testing code.
    	* xfns.c (Fx_open_connection): Set Vxrdb_name early, and pass it
    	to x_load_resources.
    d387c960
xfns.c 102 KB