Mercurial > hg > xemacs-beta
annotate src/inline.c @ 4917:fce43cb76a1c
xlike cleanup, documentation
-------------------- ChangeLog entries follow: --------------------
man/ChangeLog addition:
2010-02-03 Ben Wing <ben@xemacs.org>
* internals/internals.texi (Top):
* internals/internals.texi (Evaluation; Stack Frames; Bindings):
* internals/internals.texi (Ben's README):
* internals/internals.texi (Consoles; Devices; Frames; Windows):
* internals/internals.texi (Window Hierarchy):
* internals/internals.texi (The Window Object):
* internals/internals.texi (Modules for the Basic Displayable Lisp Objects):
* internals/internals.texi (Window-System Support):
* internals/internals.texi (Creating a Window-System Type):
* internals/internals.texi (Discussion -- Garbage Collection):
Update the part at the top about how to maintain the file with
more tips.
Add a chapter on "window-system support" describing in a general
way how the support for different window systems/device types
works, including the separation between device-independent and
device-dependent parts, device methods, the specific device types
and the "xlike" pseudo-type.
src/ChangeLog addition:
2010-02-03 Ben Wing <ben@xemacs.org>
* Makefile.in.in:
* Makefile.in.in (x_objs):
* Makefile.in.in (gtk_gui_objs):
* console-xlike-inc.h:
* depend:
* device-x.c:
* emacs.c:
* gccache-gtk.h:
* gccache-gtk.h (gc_cache_lookup):
* gccache-x.c:
* gccache-x.c (GCCACHE_HASH):
* gccache-x.h:
* toolbar-gtk.c:
* toolbar-gtk.c (gtk_initialize_frame_toolbars):
* toolbar-x.c:
* toolbar-x.c (x_initialize_frame_toolbars):
* toolbar-xlike.c:
* toolbar-xlike.c (xlike_draw_blank_toolbar_button):
* toolbar-xlike.c (xlike_output_toolbar_button):
* toolbar-xlike.c (xlike_get_button_size):
* toolbar-xlike.c (XLIKE_OUTPUT_BUTTONS_LOOP):
* toolbar-xlike.c (xlike_output_toolbar):
* toolbar-xlike.c (xlike_clear_toolbar):
* toolbar-xlike.c (xlike_output_frame_toolbars):
* toolbar-xlike.c (xlike_clear_frame_toolbars):
* toolbar-xlike.c (xlike_redraw_exposed_toolbar):
* toolbar-xlike.c (xlike_redraw_exposed_toolbars):
* toolbar-xlike.c (xlike_redraw_frame_toolbars):
* toolbar-xlike.h:
* toolbar-xlike.h (xlike_clear_frame_toolbars):
Rename some files to make them consistent with general naming rules:
xgccache.c -> gccache-x.c
xgccache.h -> gccache-x.h
toolbar-common.c -> toolbar-xlike.c
toolbar-common.h -> toolbar-xlike.h
Fix include-file references. Also change the names of functions
in now-named toolbar-xlike.c to be xlike_foo() instead of common_foo().
Add a longish comment in console-xlike-inc.h describing the "xlike"
system, how it works and what the various files are used for.
| author | Ben Wing <ben@xemacs.org> |
|---|---|
| date | Wed, 03 Feb 2010 02:46:50 -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 |
