Initial git import
[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 HAVE_GTK
91 #include "ui/Gtk/console-gtk.h"
92 #include "ui/Gtk/ui-gtk.h"
93 #endif
94
95 #ifdef FILE_CODING
96 #include "mule/file-coding.h"
97 #endif
98
99 #ifdef TOOLTALK
100 #include "ui/tooltalk.h"
101 #endif
102
103 #ifdef HAVE_OPENSSL
104 #include "openssl.h"
105 #endif
106
107 #ifdef WITH_NUMBER_TYPES
108 #include "ent/ent.h"
109 #endif
110
111 #ifdef HAVE_LIBFFI
112 #include "effi.h"
113 #endif
114
115 #include "sound.h"
116 #include "media.h"