view lwlib/xrdb.c @ 28163:c314d747a819

(re_match_2): Fix string shortening (to fit `stop') to make sure POINTER_TO_OFFSET gives the same value before and after PREFETCH. Use `dfail' to guarantee "atomic" matching. (PTR_TO_OFFSET): Use POINTER_TO_OFFSET. (debug): Now only active if > 0 rather than if != 0. (DEBUG_*): Update for the new meaning of `debug'. (print_partial_compiled_pattern): Add missing `succeed' case. Use CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs in `succeed_n', `jump_n' and `set_number_at'. (store_op1, store_op2, insert_op1, insert_op2) (at_begline_loc_p, at_endline_loc_p): Add prototype. (group_in_compile_stack): Move to after its arg's types are declared and add a prototype. (PATFETCH): Define in terms of PATFETCH_RAW. (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper. (QUIT): Redefine as a nop except for NTemacs. (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix indentation of the greedy-op and shy-group code. (at_(beg|end)line_loc_p): Fix argument's types. (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc. (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation. (MATCHING_IN_FIRST_STRING): Remove. (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use QUIT unconditionally.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 16 Mar 2000 02:53:38 +0000
parents e0d966fb548f
children
line wrap: on
line source

/* This file overrides the R4 or R5 mit/lib/Xt/Initialize.c, except that
   the functions lwlib_GetFileDatabase(), lwlib_CombineFileDatabase(), and
   lwlib_xrdb_initialize() are called.  By doing this silly cpp hack, we
   avoid version skew problems.
 */

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <X11/Xlib.h>
#include <X11/cursorfont.h>
#include <X11/Xutil.h>

#ifdef XlibSpecificationRelease
#if XlibSpecificationRelease >= 5
#define HAVE_X11R5
#endif
#endif

extern struct _XrmHashBucketRec *lwlib_GetFileDatabase ();
extern void lwlib_xrdb_initialize ();

/* Replace all calls to XrmGetFileDatabase() with lwlib_GetFileDatabase(),
   calls to XrmCombineFileDatabase() with lwlib_CombineFileDatabase(), and
   rename the defined _XtDisplayInitialize() function.
 */
#define XrmGetFileDatabase lwlib_GetFileDatabase
#define XrmCombineFileDatabase lwlib_CombineFileDatabase
#define _XtDisplayInitialize _orig_XtDisplayInitialize

/* Suck in the original code.  Don't change this: see comments in Imakefile. */
#include "Initialize.c"

#undef XrmGetFileDatabase
#undef XrmCombineFileDatabase
#undef _XtDisplayInitialize

/* Now provide a definition of _XtDisplayInitialize() which invokes the
   original code after calling our initialization hook.  Note that the R4
   and R5 versions of _XtDisplayInitialize() take different arguments.
 */

#ifndef HAVE_X11R5

void _XtDisplayInitialize(dpy, pd, name, class, urlist, num_urs, argc, argv)
	Display *dpy;
        XtPerDisplay pd;
	String name, class;
	XrmOptionDescRec *urlist;
	Cardinal num_urs;
	Cardinal *argc;
	char *argv[];
{
  lwlib_xrdb_initialize(dpy);
  _orig_XtDisplayInitialize(dpy, pd, name, class, urlist, num_urs, argc, argv);
}

#else /* HAVE_X11R5 */

void _XtDisplayInitialize(dpy, pd, name, urlist, num_urs, argc, argv)
	Display *dpy;
        XtPerDisplay pd;
	String name;
	XrmOptionDescRec *urlist;
	Cardinal num_urs;
	int *argc;
	char **argv;
{
  lwlib_xrdb_initialize(dpy);
  _orig_XtDisplayInitialize(dpy, pd, name, urlist, num_urs, argc, argv);
}

#endif	/* HAVE_X11R5 */