annotate lwlib/xrdb.c @ 32988:c3435dc00ed7

* lisp.h (KEYMAPP): New macro. (get_keymap): Remove. (get_keymap_1): Rename get_keymap. * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype. * xterm.c (note_mode_line_highlight): Use KEYMAPP. * xmenu.c (single_submenu): Use KEYMAPP. (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp. Use KEYMAPP rather than Fkeymapp. * w32term.c (note_mode_line_highlight): Use KEYMAPP. * w32menu.c (True, False): Remove (use TRUE and FALSE instead). (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp. Use KEYMAPP rather than Fkeymapp. (single_submenu): Use KEYMAPP. (w32_menu_show, w32_dialog_show): Use TRUE. * minibuf.c (Fread_from_minibuffer): Update call to get_keymap. * keymap.c (KEYMAPP): Remove (moved to lisp.h). (Fkeymapp): Use KEYMAPP. (get_keymap): Rename from get_keymap_1. Remove old def. Return t when autoload=0 and error=0 and the keymap needs autoloading. (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp. (Fminor_mode_key_binding): Don't raise an error if the binding is not a keymap. (Fuse_global_map, Fuse_local_map): Allow autoloading. (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp. * keyboard.c (read_char): get_keymap_1 -> get_keymap. Allow Vspecial_event_map to be autoloaded. (menu_bar_items): Fetch the keymap rather than using keymapp. (menu_bar_one_keymap): No need to follow func-indirect any more. (parse_menu_item): get_keymap_1 -> get_keymap. (tool_bar_items): Fetch the keymap rather than using keymapp. (read_key_sequence): Use KEYMAPP. * intervals.c (get_local_map): Use get_keymap rather than following function-indirections explicitly. * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 27 Oct 2000 22:20:19 +0000
parents e0d966fb548f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25842
Dave Love <fx@gnu.org>
parents:
diff changeset
1 /* This file overrides the R4 or R5 mit/lib/Xt/Initialize.c, except that
Dave Love <fx@gnu.org>
parents:
diff changeset
2 the functions lwlib_GetFileDatabase(), lwlib_CombineFileDatabase(), and
Dave Love <fx@gnu.org>
parents:
diff changeset
3 lwlib_xrdb_initialize() are called. By doing this silly cpp hack, we
Dave Love <fx@gnu.org>
parents:
diff changeset
4 avoid version skew problems.
Dave Love <fx@gnu.org>
parents:
diff changeset
5 */
Dave Love <fx@gnu.org>
parents:
diff changeset
6
26087
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 25842
diff changeset
7 #ifdef HAVE_CONFIG_H
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 25842
diff changeset
8 #include <config.h>
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 25842
diff changeset
9 #endif
e0d966fb548f Add support for large files, plus some locale improvements.
Paul Eggert <eggert@twinsun.com>
parents: 25842
diff changeset
10
25842
Dave Love <fx@gnu.org>
parents:
diff changeset
11 #include <X11/Xlib.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
12 #include <X11/cursorfont.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
13 #include <X11/Xutil.h>
Dave Love <fx@gnu.org>
parents:
diff changeset
14
Dave Love <fx@gnu.org>
parents:
diff changeset
15 #ifdef XlibSpecificationRelease
Dave Love <fx@gnu.org>
parents:
diff changeset
16 #if XlibSpecificationRelease >= 5
Dave Love <fx@gnu.org>
parents:
diff changeset
17 #define HAVE_X11R5
Dave Love <fx@gnu.org>
parents:
diff changeset
18 #endif
Dave Love <fx@gnu.org>
parents:
diff changeset
19 #endif
Dave Love <fx@gnu.org>
parents:
diff changeset
20
Dave Love <fx@gnu.org>
parents:
diff changeset
21 extern struct _XrmHashBucketRec *lwlib_GetFileDatabase ();
Dave Love <fx@gnu.org>
parents:
diff changeset
22 extern void lwlib_xrdb_initialize ();
Dave Love <fx@gnu.org>
parents:
diff changeset
23
Dave Love <fx@gnu.org>
parents:
diff changeset
24 /* Replace all calls to XrmGetFileDatabase() with lwlib_GetFileDatabase(),
Dave Love <fx@gnu.org>
parents:
diff changeset
25 calls to XrmCombineFileDatabase() with lwlib_CombineFileDatabase(), and
Dave Love <fx@gnu.org>
parents:
diff changeset
26 rename the defined _XtDisplayInitialize() function.
Dave Love <fx@gnu.org>
parents:
diff changeset
27 */
Dave Love <fx@gnu.org>
parents:
diff changeset
28 #define XrmGetFileDatabase lwlib_GetFileDatabase
Dave Love <fx@gnu.org>
parents:
diff changeset
29 #define XrmCombineFileDatabase lwlib_CombineFileDatabase
Dave Love <fx@gnu.org>
parents:
diff changeset
30 #define _XtDisplayInitialize _orig_XtDisplayInitialize
Dave Love <fx@gnu.org>
parents:
diff changeset
31
Dave Love <fx@gnu.org>
parents:
diff changeset
32 /* Suck in the original code. Don't change this: see comments in Imakefile. */
Dave Love <fx@gnu.org>
parents:
diff changeset
33 #include "Initialize.c"
Dave Love <fx@gnu.org>
parents:
diff changeset
34
Dave Love <fx@gnu.org>
parents:
diff changeset
35 #undef XrmGetFileDatabase
Dave Love <fx@gnu.org>
parents:
diff changeset
36 #undef XrmCombineFileDatabase
Dave Love <fx@gnu.org>
parents:
diff changeset
37 #undef _XtDisplayInitialize
Dave Love <fx@gnu.org>
parents:
diff changeset
38
Dave Love <fx@gnu.org>
parents:
diff changeset
39 /* Now provide a definition of _XtDisplayInitialize() which invokes the
Dave Love <fx@gnu.org>
parents:
diff changeset
40 original code after calling our initialization hook. Note that the R4
Dave Love <fx@gnu.org>
parents:
diff changeset
41 and R5 versions of _XtDisplayInitialize() take different arguments.
Dave Love <fx@gnu.org>
parents:
diff changeset
42 */
Dave Love <fx@gnu.org>
parents:
diff changeset
43
Dave Love <fx@gnu.org>
parents:
diff changeset
44 #ifndef HAVE_X11R5
Dave Love <fx@gnu.org>
parents:
diff changeset
45
Dave Love <fx@gnu.org>
parents:
diff changeset
46 void _XtDisplayInitialize(dpy, pd, name, class, urlist, num_urs, argc, argv)
Dave Love <fx@gnu.org>
parents:
diff changeset
47 Display *dpy;
Dave Love <fx@gnu.org>
parents:
diff changeset
48 XtPerDisplay pd;
Dave Love <fx@gnu.org>
parents:
diff changeset
49 String name, class;
Dave Love <fx@gnu.org>
parents:
diff changeset
50 XrmOptionDescRec *urlist;
Dave Love <fx@gnu.org>
parents:
diff changeset
51 Cardinal num_urs;
Dave Love <fx@gnu.org>
parents:
diff changeset
52 Cardinal *argc;
Dave Love <fx@gnu.org>
parents:
diff changeset
53 char *argv[];
Dave Love <fx@gnu.org>
parents:
diff changeset
54 {
Dave Love <fx@gnu.org>
parents:
diff changeset
55 lwlib_xrdb_initialize(dpy);
Dave Love <fx@gnu.org>
parents:
diff changeset
56 _orig_XtDisplayInitialize(dpy, pd, name, class, urlist, num_urs, argc, argv);
Dave Love <fx@gnu.org>
parents:
diff changeset
57 }
Dave Love <fx@gnu.org>
parents:
diff changeset
58
Dave Love <fx@gnu.org>
parents:
diff changeset
59 #else /* HAVE_X11R5 */
Dave Love <fx@gnu.org>
parents:
diff changeset
60
Dave Love <fx@gnu.org>
parents:
diff changeset
61 void _XtDisplayInitialize(dpy, pd, name, urlist, num_urs, argc, argv)
Dave Love <fx@gnu.org>
parents:
diff changeset
62 Display *dpy;
Dave Love <fx@gnu.org>
parents:
diff changeset
63 XtPerDisplay pd;
Dave Love <fx@gnu.org>
parents:
diff changeset
64 String name;
Dave Love <fx@gnu.org>
parents:
diff changeset
65 XrmOptionDescRec *urlist;
Dave Love <fx@gnu.org>
parents:
diff changeset
66 Cardinal num_urs;
Dave Love <fx@gnu.org>
parents:
diff changeset
67 int *argc;
Dave Love <fx@gnu.org>
parents:
diff changeset
68 char **argv;
Dave Love <fx@gnu.org>
parents:
diff changeset
69 {
Dave Love <fx@gnu.org>
parents:
diff changeset
70 lwlib_xrdb_initialize(dpy);
Dave Love <fx@gnu.org>
parents:
diff changeset
71 _orig_XtDisplayInitialize(dpy, pd, name, urlist, num_urs, argc, argv);
Dave Love <fx@gnu.org>
parents:
diff changeset
72 }
Dave Love <fx@gnu.org>
parents:
diff changeset
73
Dave Love <fx@gnu.org>
parents:
diff changeset
74 #endif /* HAVE_X11R5 */