Mercurial > emacs
view lwlib/xrdb.c @ 43494:b5b76b498398
The following changes rework my patch of 2002-02-06 which
added command remapping by entering the commands directly into
the keymaps. Now, command remapping uses an explicit `remap'
prefix in the keymaps, i.e. [remap COMMAND].
(Qremap, remap_command_vector): New variables.
(is_command_symbol): Removed function.
(Fdefine_key): No longer accept a symbol for KEY. Added
validation of [remap COMMAND] argument for KEY. The DEF is no
longer required to be a symbol when remapping a command.
(Fremap_command): New function to remap command through keymaps.
(Flookup_key): Perform command remapping initiated by
Fremap_command directly for speed.
(Fkey_binding): Use Fremap_command for command remapping.
(where_is_internal): Handle new command remapping representation.
(syms_of_keymap): Intern Qremap, initialize remap_command_vector,
staticpro them. Defsubr Fremap_command.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sat, 23 Feb 2002 22:00:37 +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 */