annotate lwlib/xrdb.c @ 40394:b2fcb3933879

Require `syntax'. (font-lock-defaults-alist): Don't define keywords for lisp languages. Use `c-font-lock-syntactic-face-function' for c languages. (font-lock-mode): Don't unset vars when turning the mode off. (font-lock-default-fontify-buffer): Don't unset vars at the end. (font-lock-extra-managed-props): New var. (font-lock-default-unfontify-region): Use it. (font-lock-apply-syntactic-highlight): Flush the syntax cache. Don't eval the value when there's no match. (font-lock-ppss-stats): New var. (font-lock-ppss): New fun. (font-lock-fontify-syntactically-region): Use it and syntax.ppss. (font-lock-apply-highlight): Allow `highlight' to set several props. (font-lock-set-defaults): Use dolist. (font-lock-unset-defaults): Remove. (font-lock-match-c-style-declaration-item-and-skip-to-next): Try to recognize prototypes using `foo P_ ((args))'. ({c,c++,java,objc}-font-lock-keywords-{1,2,3}): Don't setq a defconst. (c-font-lock-keywords-2): Fix last change to still use Anders' trick. (c-font-lock-syntactic-face-function): New function. (font-lock-match-c++-style-declaration-item-and-skip-to-next) (c++-keywords): Use a more sophisticated regexp to handle shallowly nested templates.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 28 Oct 2001 04:48:01 +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 */