1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-14 09:39:42 +00:00
emacs/lwlib/xrdb.c
Paul Eggert 0f0912e644 Add support for large files, plus some locale improvements.
* dispatch.c, lwlib-Xaw.c, lwlib-Xlw.c, lwlib-Xm.c, lwlib.c, xlwmenu.c,
xrdb-cpp.c, xrdb.c:
Include <config.h> before any system include files.

* lwlib-Xm.c, lwlib.c:
Do not include <stdlib.h> or <string.h>, as <config.h> does this.
1999-10-19 07:21:16 +00:00

75 lines
2.0 KiB
C

/* 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 */