XEmacs 21.2-b1
[chise/xemacs-chise.git.1] / src / inline.c
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
25    reason is that under GCC we declare our inline functions `extern
26    inline', which causes the inlined version to get used only for
27    inlining, and in other cases to generate an external reference to
28    the function.  This is more efficient than declaring our inline
29    functions `static inline', which (in many cases) would cause a separate
30    version of the function to get inserted into every source file that
31    included the corresponding header file.
32
33    Some compilers that recognize `inline' may not do the same
34    `extern inline' business, so on those we just do `static inline'.
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.
39    i.e. the output of ``grep -l -w 'DECLARE_LRECORD|INLINE' *.h'' */
40
41 #define DONT_EXTERN_INLINE_FUNCTIONS
42
43 #include <config.h>
44 #include "lisp.h"
45 #include "buffer.h"
46 #include "bytecode.h"
47 #include "chartab.h"
48 #include "console.h"
49 #include "device.h"
50 #include "elhash.h"
51 #include "events.h"
52 #include "extents.h"
53 #include "faces.h"
54 #include "frame.h"
55 #include "glyphs.h"
56 #include "keymap.h"
57 #include "lstream.h"
58 #include "objects.h"
59 #include "opaque.h"
60 #include "process.h"
61 #include "rangetab.h"
62 #include "specifier.h"
63 #include "syntax.h"
64 #include "window.h"
65
66 #ifdef HAVE_LDAP
67 #include "eldap.h"
68 #endif
69
70 #ifdef HAVE_TOOLBARS
71 #include "toolbar.h"
72 #endif
73
74 #ifdef HAVE_DATABASE
75 #include "database.h"
76 #endif
77
78 #ifdef HAVE_X_WINDOWS
79 #include "glyphs-x.h"
80 #include "gui-x.h"
81 #endif
82
83 #ifdef FILE_CODING
84 #include "file-coding.h"
85 #endif
86
87 #ifdef TOOLTALK
88 #include "tooltalk.h"
89 #endif