This is ../info/internals.info, produced by makeinfo version 4.8 from
internals/internals.texi.

INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
* Internals: (internals).       XEmacs Internals Manual.
END-INFO-DIR-ENTRY

   Edition History:

   Created November 1995 (?) by Ben Wing.  XEmacs Internals Manual
Version 1.0, March, 1996.  XEmacs Internals Manual Version 1.1, March,
1997.  XEmacs Internals Manual Version 1.4, March, 2001.  XEmacs
Internals Manual Version 21.5, October, 2004.

   Copyright (C) 1992 - 2004 Ben Wing.  Copyright (C) 1996, 1997 Sun
Microsystems.  Copyright (C) 1994 - 1998, 2002, 2003 Free Software
Foundation.  Copyright (C) 1994, 1995 Board of Trustees, University of
Illinois.

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Foundation.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided also
that the section entitled "GNU General Public License" is included
exactly as in the original, and provided that the entire resulting
derived work is distributed under the terms of a permission notice
identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that the section entitled "GNU General Public License"
may be included in a translation approved by the Free Software
Foundation instead of in the original English.


Indirect:
internals.info-1: 2060
internals.info-2: 299777
internals.info-3: 599036
internals.info-4: 892032
internals.info-5: 1191673

Tag Table:
(Indirect)
Node: Top2060
Node: Introduction14394
Node: Authorship of XEmacs19091
Node: A History of Emacs24510
Node: Through Version 1826996
Node: Epoch35051
Node: Lucid Emacs35498
Node: GNU Emacs 1938478
Node: GNU Emacs 2041025
Node: XEmacs41845
Node: The XEmacs Split57058
Node: XEmacs from the Outside69470
Node: The Lisp Language71236
Node: XEmacs from the Perspective of Building80780
Node: Build-Time Dependencies87222
Node: The Modules of XEmacs89905
Node: A Summary of the Various XEmacs Modules90439
Node: Modules for Building XEmacs116268
Node: Modules for Build Configuration116606
Node: Modules for Compiling XEmacs117038
Node: Modules for Preloading Lisp117426
Node: Low-Level Modules117809
Node: Basic Lisp Modules122168
Node: Modules for Standard Editing Operations128788
Node: Modules for Interfacing with the File System134711
Node: Modules for Other Aspects of the Lisp Interpreter and Object System138419
Node: Modules for Interfacing with the Operating System146454
Node: The Build Configuration System154017
Node: The version.sh Script154567
Node: Adding Configurable Features158862
Node: The configure Script159688
Node: The Makefile Precursors173943
Node: Rules When Writing New C Code174952
Node: Introduction to Writing C Code175913
Node: Writing New Modules180359
Node: Working with Lisp Objects185418
Node: Writing Lisp Primitives196331
Node: Writing Good Comments207485
Node: Adding Global Lisp Variables211106
Node: Writing Macros215030
Node: Proper Use of Unsigned Types220979
Node: Major Textual Changes222227
Node: Great Integral Type Renaming222961
Node: Text/Char Type Renaming231740
Node: Debugging and Testing235148
Node: Regression Testing XEmacs238887
Node: How to Regression-Test239147
Node: Modules for Regression Testing248389
Node: CVS Techniques249185
Node: Creating a Branch249412
Node: Merging a Branch into the Trunk252581
Node: XEmacs from the Inside256230
Node: Basic Types264550
Node: Low-Level Allocation264716
Node: Basic Heap Allocation265031
Node: Stack Allocation265221
Node: Dynamic Arrays265395
Node: Allocation by Blocks270055
Node: Modules for Allocation271756
Node: The XEmacs Object System (Abstractly Speaking)274898
Node: How Lisp Objects Are Represented in C289540
Node: Allocation of Objects in XEmacs Lisp294374
Node: Introduction to Allocation294920
Node: Garbage Collection298613
Node: GCPROing299777
Node: Garbage Collection - Step by Step307732
Node: Invocation308134
Node: garbage_collect_1311158
Node: mark_object320651
Node: gc_sweep322474
Node: sweep_lcrecords_1327549
Node: compact_string_chars328555
Node: sweep_strings330746
Node: sweep_bit_vectors_1331722
Node: Integers and Characters332409
Node: Allocation from Frob Blocks333168
Node: lrecords334779
Node: Low-level allocation347012
Node: Cons351126
Node: Vector351859
Node: Bit Vector352446
Node: Symbol352948
Node: Marker353311
Node: String353875
Node: Compiled Function357496
Node: The Lisp Reader and Compiler357674
Node: Evaluation; Stack Frames; Bindings357919
Node: Evaluation358289
Node: Dynamic Binding; The specbinding Stack; Unwind-Protects364851
Node: Simple Special Forms367245
Node: Catch and Throw368035
Node: Error Trapping370643
Node: Symbols and Variables377466
Node: Introduction to Symbols377709
Node: Obarrays378784
Node: Symbol Values382324
Node: Buffers384619
Node: Introduction to Buffers385028
Node: Buffer Lists387679
Node: Markers and Extents389613
Node: The Buffer Object391858
Node: Text395315
Node: The Text in a Buffer395670
Node: Ibytes and Ichars402777
Node: Byte-Char Position Conversion402973
Node: Searching and Matching411044
Node: Multilingual Support418300
Node: Introduction to Multilingual Issues #1420235
Node: Introduction to Multilingual Issues #2420813
Node: Introduction to Multilingual Issues #3438873
Node: Introduction to Multilingual Issues #4455661
Node: Character Sets456074
Node: Encodings459560
Node: Japanese EUC (Extended Unix Code)460621
Node: JIS7461702
Node: Internal Mule Encodings463018
Node: Internal String Encoding465013
Node: Internal Character Encoding467170
Node: Byte/Character Types; Buffer Positions; Other Typedefs469459
Node: Byte Types469947
Node: Different Ways of Seeing Internal Text472396
Node: Buffer Positions480421
Node: Other Typedefs482368
Node: Usage of the Various Representations483118
Node: Working With the Various Representations484868
Node: Internal Text APIs485341
Node: Basic internal-format APIs485770
Node: The DFC API487233
Node: The Eistring API498723
Node: Coding for Mule521385
Node: Character-Related Data Types522345
Node: Working With Character and Byte Positions527010
Node: Conversion to and from External Data531005
Node: General Guidelines for Writing Mule-Aware Code539562
Node: An Example of Mule-Aware Code543020
Node: Mule-izing Code545017
Node: CCL546045
Node: Microsoft Windows-Related Multilingual Issues551143
Node: Microsoft Documentation551668
Node: Locales553945
Node: More about code pages559993
Node: More about locales565527
Node: Unicode support under Windows566959
Node: The golden rules of writing Unicode-safe code579208
Node: The format of the locale in setlocale()580942
Node: Random other Windows I18N docs586897
Node: Modules for Internationalization594694
Node: The Great Mule Merge of March 2002597669
Node: List of changed files in new Mule workspace599036
Node: Changes to the MULE subsystems601112
Node: Pervasive changes throughout XEmacs sources602602
Node: Changes to specific subsystems603921
Node: Mule changes by theme604698
Node: File-coding rewrite614499
Node: General User-Visible Changes616477
Node: General Lisp-Visible Changes619516
Node: User documentation620268
Node: General internal changes621430
Node: Ben's TODO list626478
Node: Ben's README633729
Node: Consoles; Devices; Frames; Windows716554
Node: Introduction to Consoles; Devices; Frames; Windows716983
Node: Point719523
Node: Window Hierarchy720809
Node: The Window Object725268
Node: Creating a New Console/Device/Frame Type728761
Node: Modules for the Basic Displayable Lisp Objects735614
Node: The Redisplay Mechanism741472
Node: Critical Redisplay Sections742358
Node: Line Start Cache765216
Node: Redisplay Piece by Piece768459
Node: Modules for the Redisplay Mechanism770547
Node: Modules for other Display-Related Lisp Objects772917
Node: Extents774275
Node: Introduction to Extents774815
Node: Extent Ordering775964
Node: Format of the Extent Info777212
Node: Zero-Length Extents780201
Node: Mathematics of Extent Ordering781607
Node: Extent Fragments786019
Node: Faces787112
Node: Glyphs787231
Node: Specifiers793898
Node: Menus794192
Node: Events and the Event Loop796466
Node: Introduction to Events797007
Node: Main Loop798963
Node: Specifics of the Event Gathering Mechanism802545
Node: Specifics About the Emacs Event815046
Node: Event Queues815289
Node: Event Stream Callback Routines818201
Node: Other Event Loop Functions823600
Node: Stream Pairs824738
Node: Converting Events827299
Node: Dispatching Events; The Command Builder827901
Node: Focus Handling828168
Node: Editor-Level Control Flow Modules832197
Node: Asynchronous Events; Quit Checking835656
Node: Signal Handling835973
Node: Control-G (Quit) Checking836182
Node: Profiling856690
Node: Asynchronous Timeouts860906
Node: Exiting861090
Node: Lstreams863545
Node: Creating an Lstream864563
Node: Lstream Types865797
Node: Lstream Functions866060
Node: Lstream Methods869664
Node: Subprocesses872834
Node: Ben's separate stderr notes874879
Node: Interface to MS Windows875911
Node: Different kinds of Windows environments876303
Node: Windows Build Flags890079
Node: Windows I18N Introduction892032
Node: Modules for Interfacing with MS Windows901693
Node: CHANGES from 21.4-windows branch903782
Node: Interface to the X Window System907691
Node: Lucid Widget Library908031
Node: Generic Widget Interface909417
Node: Scrollbars913006
Node: Menubars913163
Node: Checkboxes and Radio Buttons913320
Node: Progress Bars913520
Node: Tab Controls913694
Node: Modules for Interfacing with X Windows913829
Node: Dumping917245
Node: Dumping Justification917509
Node: Overview919560
Node: Data descriptions920291
Node: Dumping phase922363
Node: Object inventory922779
Node: Address allocation926902
Node: The header928302
Node: Data dumping928758
Node: Pointers dumping929430
Node: Reloading phase930829
Node: Remaining issues932455
Node: Future Work933488
Node: Future Work -- General Suggestions934619
Node: Future Work -- Elisp Compatibility Package955863
Node: Future Work -- Drag-n-Drop963896
Node: Future Work -- Standard Interface for Enabling Extensions971102
Node: Future Work -- Better Initialization File Scheme975965
Node: Future Work -- Keyword Parameters985933
Node: Future Work -- Property Interface Changes993684
Node: Future Work -- Toolbars997652
Node: Future Work -- Easier Toolbar Customization997976
Node: Future Work -- Toolbar Interface Changes1001327
Node: Future Work -- Menu API Changes1010129
Node: Future Work -- Removal of Misc-User Event Type1013167
Node: Future Work -- Mouse Pointer1015414
Node: Future Work -- Abstracted Mouse Pointer Interface1015744
Node: Future Work -- Busy Pointer1017537
Node: Future Work -- Extents1019875
Node: Future Work -- Everything should obey duplicable extents1020185
Node: Future Work -- Version Number and Development Tree Organization1022326
Node: Future Work -- Improvements to the `xemacs.org' Website1038464
Node: Future Work -- Keybindings1044137
Node: Future Work -- Keybinding Schemes1044540
Node: Future Work -- Better Support for Windows Style Key Bindings1045645
Node: Future Work -- Misc Key Binding Ideas1049968
Node: Future Work -- Byte Code Snippets1051436
Node: Future Work -- Autodetection1052514
Node: Future Work -- Conversion Error Detection1090583
Node: Future Work -- Unicode1101482
Node: Future Work -- BIDI Support1106472
Node: Future Work -- Localized Text/Messages1107997
Node: Future Work -- Lisp Stream API1121450
Node: Future Work -- Multiple Values1132369
Node: Future Work -- Macros1134258
Node: Future Work -- Specifiers1135022
Node: Future Work -- Display Tables1142042
Node: Future Work -- Making Elisp Function Calls Faster1143952
Node: Future Work -- Lisp Engine Replacement1154828
Node: Future Work -- Lisp Engine Discussion1155282
Node: Future Work -- Lisp Engine Replacement -- Implementation1164334
Node: Future Work -- Startup File Modification by Packages1184576
Node: Future Work -- Better Rendering Support1187695
Node: Better Rendering Support -- Review Criteria1189539
Node: Better Rendering Support -- Implementation1191673
Node: Better Rendering Support -- Current Status1201866
Node: Better Rendering Support -- Configuration with the Interim Patches1203877
Node: Better Rendering Support -- Modern Font Support1207506
Node: Modern Font Support -- Font Concepts1209638
Node: Modern Font Support -- fontconfig1214827
Node: Modern Font Support -- Xft1226745
Node: Future Work Discussion1227056
Node: Discussion -- Garbage Collection1227816
Node: Discussion -- Pure Space1228170
Node: Discussion -- Hashtable-Based Marking and Cleanup1231474
Node: Discussion -- The Anti-Cons1234112
Node: Discussion -- Glyphs1238054
Node: Discussion -- Dialog Boxes1246988
Node: Discussion -- Multilingual Issues1266853
Node: Discussion -- Instantiators and Generic Property Accessors1304810
Node: Discussion -- Switching to C++1327495
Node: Discussion -- Windows External Widget1342375
Node: Discussion -- Packages1349759
Node: Discussion -- Distribution Layout1351478
Node: Old Future Work1365173
Node: Old Future Work -- A Portable Unexec Replacement1365983
Node: Old Future Work -- Indirect Buffers1371758
Node: Old Future Work -- Improvements in support for non-ASCII (European) keysyms under X1376747
Node: Old Future Work -- RTF Clipboard Support1378568
Node: Old Future Work -- xemacs.org Mailing Address Changes1380654
Node: Old Future Work -- Lisp callbacks from critical areas of the C code1385068
Node: Index1390949

End Tag Table
