Partially sync files.el from XEmacs 21.5 for wildcard support.
[sxemacs] / src / inline.c
1 /* Repository for inline functions
2    Copyright (C) 1995 Sun Microsystems, Inc.
3
4 This file is part of SXEmacs
5
6 SXEmacs is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 SXEmacs is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
18
19
20 /* Synched up with: Not in FSF. */
21
22 /* The purpose of this file is so that there is at least one actual
23    definition of each inline function.  This is needed under GCC.  The
24    reason is that under GCC we declare our inline functions `inline
25    extern', which causes the inlined version to get used only for
26    inlining, and in other cases to generate an external reference to
27    the function.  This is more efficient than declaring our inline
28    functions `inline static', which (in many cases) would cause a separate
29    version of the function to get inserted into every source file that
30    included the corresponding header file.  See internals.texi.
31
32    Some compilers that recognize `inline' may not do the same
33    `inline extern' business, so on those we just do `inline static'.
34    */
35
36 /* Note to maintainers: This file contains a list of all header files
37    that use the INLINE macro, either directly, or by using DECLARE_LRECORD.
38    i.e. the output of ``grep -l -w 'DECLARE_LRECORD|INLINE_HEADER' *.h'' */
39
40 #define DONT_EXTERN_INLINE_HEADER_FUNCTIONS
41
42 #include <config.h>
43 #include "lisp.h"
44 #include "buffer.h"
45 #include "bytecode.h"
46 #include "casetab.h"
47 #include "chartab.h"
48 #include "ui/console.h"
49 #include "ui/device.h"
50 #include "elhash.h"
51 #include "events/events.h"
52 #include "extents.h"
53 #include "ui/faces.h"
54 #include "ui/frame.h"
55 #include "ui/glyphs.h"
56 #include "ui/gui.h"
57 #include "ui/keymap.h"
58 #include "lstream.h"
59 #include "ui/objects.h"
60 #include "opaque.h"
61 #include "process.h"
62 #include "rangetab.h"
63 #include "specifier.h"
64 #include "syntax.h"
65 #include "ui/window.h"
66 #include "bloom.h"
67 #include "dllist.h"
68
69 #ifdef HAVE_LDAP
70 #include "eldap.h"
71 #endif
72
73 #ifdef HAVE_POSTGRESQL
74 #include "postgresql.h"
75 #endif
76
77 #ifdef HAVE_TOOLBARS
78 #include "ui/toolbar.h"
79 #endif
80
81 #ifdef HAVE_DATABASE
82 #include "database.h"
83 #endif
84
85 #ifdef HAVE_X_WINDOWS
86 #include "ui/X11/glyphs-x.h"
87 #include "ui/X11/gui-x.h"
88 #endif
89
90 #ifdef FILE_CODING
91 #include "mule/file-coding.h"
92 #endif
93
94 #ifdef HAVE_OPENSSL
95 #include "openssl.h"
96 #endif
97
98 #ifdef WITH_NUMBER_TYPES
99 #include "ent/ent.h"
100 #endif
101
102 #ifdef HAVE_LIBFFI
103 #include "effi.h"
104 #endif
105
106 #include "sound.h"
107 #include "media.h"