Mercurial > hg > xemacs-beta
annotate src/inline.c @ 5015:d95c102a96d3
cleanups for specifier font stages, from ben-unicode-internal (preparation for eliminating shadowed warnings)
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-02-08 Ben Wing <ben@xemacs.org>
* faces.c:
* faces.c (face_property_matching_instance):
* faces.c (ensure_face_cachel_contains_charset):
* faces.h (FACE_FONT):
* lisp.h:
* lisp.h (enum font_specifier_matchspec_stages):
* objects-msw.c:
* objects-msw.c (mswindows_font_spec_matches_charset):
* objects-msw.c (mswindows_find_charset_font):
* objects-tty.c:
* objects-tty.c (tty_font_spec_matches_charset):
* objects-tty.c (tty_find_charset_font):
* objects-xlike-inc.c:
* objects-xlike-inc.c (XFUN):
* objects-xlike-inc.c (xft_find_charset_font):
* objects.c:
* objects.c (font_instantiate):
* objects.c (FROB):
* specifier.c:
* specifier.c (charset_matches_specifier_tag_set_p):
* specifier.c (call_charset_predicate):
* specifier.c (define_specifier_tag):
* specifier.c (Fdefine_specifier_tag):
* specifier.c (setup_charset_initial_specifier_tags):
* specifier.c (specifier_instance_from_inst_list):
* specifier.c (FROB):
* specifier.c (vars_of_specifier):
* specifier.h:
Rename the specifier-font-matching stages in preparation for
eliminating shadowed warnings, some other related fixes from
ben-unicode-internal.
1. Rename raw enums:
initial -> STAGE_INITIAL
final -> STAGE_FINAL
impossible -> NUM_MATCHSPEC_STAGES
2. Move `enum font_specifier_matchspec_stages' from
specifier.h to lisp.h.
3. Whitespace changes to match coding standards.
4. Eliminate unused second argument STAGE in charset predicates
that don't use it -- the code that calls the charset predicates
is now smart enough to supply the right number of arguments
automatically.
5. Add some long(ish) comments and authorial notices, esp. in
objects.c.
6. In specifier.c, change Vcharset_tag_lists from a vector over
leading bytes to a hash table over charsets. This change is
unnecessary currently but doesn't hurt and will be required
when we merge in Unicode-internal.
7. In specifier.c, extract out the code that calls charset predicates
into a function call_charset_predicate().
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Mon, 08 Feb 2010 16:51:25 -0600 |
parents | a6c778975d7d |
children | b5df3737028a 8b2f75cecb89 |
rev | line source |
---|---|
428 | 1 /* Repository for inline functions |
2 Copyright (C) 1995 Sun Microsystems, Inc. | |
3 | |
4 This file is part of XEmacs. | |
5 | |
6 XEmacs is free software; you can redistribute it and/or modify it | |
7 under the terms of the GNU General Public License as published by the | |
8 Free Software Foundation; either version 2, or (at your option) any | |
9 later version. | |
10 | |
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with XEmacs; see the file COPYING. If not, write to | |
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
19 Boston, MA 02111-1307, USA. */ | |
20 | |
21 /* Synched up with: Not in FSF. */ | |
22 | |
23 /* The purpose of this file is so that there is at least one actual | |
24 definition of each inline function. This is needed under GCC. The | |
442 | 25 reason is that under GCC we declare our inline functions `inline |
26 extern', which causes the inlined version to get used only for | |
428 | 27 inlining, and in other cases to generate an external reference to |
28 the function. This is more efficient than declaring our inline | |
442 | 29 functions `inline static', which (in many cases) would cause a separate |
428 | 30 version of the function to get inserted into every source file that |
442 | 31 included the corresponding header file. See internals.texi. |
428 | 32 |
33 Some compilers that recognize `inline' may not do the same | |
442 | 34 `inline extern' business, so on those we just do `inline static'. |
428 | 35 */ |
36 | |
37 /* Note to maintainers: This file contains a list of all header files | |
38 that use the INLINE macro, either directly, or by using DECLARE_LRECORD. | |
442 | 39 i.e. the output of ``grep -l -w 'DECLARE_LRECORD|INLINE_HEADER' *.h'' */ |
428 | 40 |
442 | 41 #define DONT_EXTERN_INLINE_HEADER_FUNCTIONS |
428 | 42 |
43 #include <config.h> | |
44 #include "lisp.h" | |
859 | 45 |
46 #include "sysfile.h" | |
47 | |
428 | 48 #include "buffer.h" |
49 #include "bytecode.h" | |
446 | 50 #include "casetab.h" |
428 | 51 #include "chartab.h" |
884 | 52 #include "device-impl.h" |
428 | 53 #include "elhash.h" |
54 #include "events.h" | |
884 | 55 #include "extents-impl.h" |
428 | 56 #include "faces.h" |
884 | 57 #include "frame-impl.h" |
428 | 58 #include "glyphs.h" |
442 | 59 #include "gui.h" |
428 | 60 #include "keymap.h" |
61 #include "lstream.h" | |
885 | 62 #include "objects-impl.h" |
428 | 63 #include "opaque.h" |
64 #include "process.h" | |
65 #include "rangetab.h" | |
66 #include "specifier.h" | |
4677
8f1ee2d15784
Support full Common Lisp multiple values in C.
Aidan Kehoe <kehoea@parhasard.net>
parents:
3354
diff
changeset
|
67 #include "symeval.h" |
428 | 68 #include "syntax.h" |
69 #include "window.h" | |
70 | |
3050 | 71 /* If we demand !defined (HAVE_SHLIB) the INLINE_HEADERS aren't instantiated. |
72 This only shows up in --with-error-checking=types builds AFAIK. | |
73 On Mac OS X 10.3.9 with the Apple toolchain (GCC 3.3) gives a buildtime | |
74 link error (the lrecord error_check functions are undefined). | |
75 Debian GNU/Linux `sid' with GCC 4.0.3 prerelease & binutils 2.16.91 gives | |
76 a runtime link error (the lrecord error_check functions are undefined). | |
77 It is possible that this can be fixed trickily by appropriately defining | |
78 INLINE, or that it should be done in the module itself somehow. If you | |
79 can do it better or more elegantly, please feel free to consult me. | |
80 --stephen 2005-11-07 */ | |
81 #if defined (HAVE_LDAP) | |
996 | 82 #include "../modules/ldap/eldap.h" |
428 | 83 #endif |
84 | |
3050 | 85 /* We can't ask for !defined (HAVE_SHLIB). See HAVE_LDAP, above. */ |
86 #if defined (HAVE_POSTGRESQL) | |
996 | 87 #include "../modules/postgresql/postgresql.h" |
442 | 88 #endif |
89 | |
428 | 90 #ifdef HAVE_TOOLBARS |
91 #include "toolbar.h" | |
92 #endif | |
93 | |
617 | 94 #ifdef HAVE_SCROLLBARS |
95 #include "scrollbar.h" | |
96 #endif | |
97 | |
428 | 98 #ifdef HAVE_DATABASE |
99 #include "database.h" | |
100 #endif | |
101 | |
102 #ifdef HAVE_X_WINDOWS | |
103 #include "glyphs-x.h" | |
4916
a6c778975d7d
split USE_XFT into HAVE_XFT/USE_XFT
Ben Wing <ben@xemacs.org>
parents:
4677
diff
changeset
|
104 #ifdef HAVE_XFT |
3354 | 105 #include "font-mgr.h" |
3094 | 106 #endif |
428 | 107 #endif |
108 | |
442 | 109 #ifdef HAVE_MS_WINDOWS |
110 #include "console-msw.h" | |
111 #endif | |
112 | |
462 | 113 #ifdef HAVE_GTK |
114 #include "console-gtk.h" | |
115 #include "ui-gtk.h" | |
116 #endif | |
117 | |
428 | 118 #include "file-coding.h" |
119 | |
120 #ifdef TOOLTALK | |
121 #include "tooltalk.h" | |
122 #endif |