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: 299163
internals.info-3: 598745
internals.info-4: 891743
internals.info-5: 1191384

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 C288926
Node: Allocation of Objects in XEmacs Lisp293760
Node: Introduction to Allocation294306
Node: Garbage Collection297999
Node: GCPROing299163
Node: Garbage Collection - Step by Step307118
Node: Invocation307520
Node: garbage_collect_1310544
Node: mark_object320037
Node: gc_sweep321860
Node: sweep_lcrecords_1326935
Node: compact_string_chars327941
Node: sweep_strings330132
Node: sweep_bit_vectors_1331108
Node: Integers and Characters331795
Node: Allocation from Frob Blocks332554
Node: lrecords334165
Node: Low-level allocation346398
Node: Cons350512
Node: Vector351245
Node: Bit Vector351832
Node: Symbol352334
Node: Marker352697
Node: String353261
Node: Compiled Function356882
Node: The Lisp Reader and Compiler357060
Node: Evaluation; Stack Frames; Bindings357305
Node: Evaluation357675
Node: Dynamic Binding; The specbinding Stack; Unwind-Protects364237
Node: Simple Special Forms366631
Node: Catch and Throw367421
Node: Error Trapping370029
Node: Symbols and Variables376852
Node: Introduction to Symbols377095
Node: Obarrays378170
Node: Symbol Values381710
Node: Buffers384005
Node: Introduction to Buffers384414
Node: Buffer Lists387065
Node: Markers and Extents388999
Node: The Buffer Object391244
Node: Text394701
Node: The Text in a Buffer395056
Node: Ibytes and Ichars402163
Node: Byte-Char Position Conversion402359
Node: Searching and Matching410430
Node: Multilingual Support417686
Node: Introduction to Multilingual Issues #1419621
Node: Introduction to Multilingual Issues #2420199
Node: Introduction to Multilingual Issues #3438259
Node: Introduction to Multilingual Issues #4455276
Node: Character Sets455689
Node: Encodings459175
Node: Japanese EUC (Extended Unix Code)460236
Node: JIS7461317
Node: Internal Mule Encodings462633
Node: Internal String Encoding464628
Node: Internal Character Encoding466892
Node: Byte/Character Types; Buffer Positions; Other Typedefs469168
Node: Byte Types469656
Node: Different Ways of Seeing Internal Text472105
Node: Buffer Positions480130
Node: Other Typedefs482077
Node: Usage of the Various Representations482827
Node: Working With the Various Representations484577
Node: Internal Text APIs485050
Node: Basic internal-format APIs485479
Node: The DFC API486942
Node: The Eistring API498432
Node: Coding for Mule521094
Node: Character-Related Data Types522054
Node: Working With Character and Byte Positions526719
Node: Conversion to and from External Data530714
Node: General Guidelines for Writing Mule-Aware Code539271
Node: An Example of Mule-Aware Code542729
Node: Mule-izing Code544726
Node: CCL545754
Node: Microsoft Windows-Related Multilingual Issues550852
Node: Microsoft Documentation551377
Node: Locales553654
Node: More about code pages559702
Node: More about locales565236
Node: Unicode support under Windows566668
Node: The golden rules of writing Unicode-safe code578917
Node: The format of the locale in setlocale()580651
Node: Random other Windows I18N docs586606
Node: Modules for Internationalization594403
Node: The Great Mule Merge of March 2002597378
Node: List of changed files in new Mule workspace598745
Node: Changes to the MULE subsystems600821
Node: Pervasive changes throughout XEmacs sources602311
Node: Changes to specific subsystems603630
Node: Mule changes by theme604407
Node: File-coding rewrite614208
Node: General User-Visible Changes616186
Node: General Lisp-Visible Changes619225
Node: User documentation619977
Node: General internal changes621139
Node: Ben's TODO list626187
Node: Ben's README633438
Node: Consoles; Devices; Frames; Windows716265
Node: Introduction to Consoles; Devices; Frames; Windows716694
Node: Point719234
Node: Window Hierarchy720520
Node: The Window Object724979
Node: Creating a New Console/Device/Frame Type728472
Node: Modules for the Basic Displayable Lisp Objects735325
Node: The Redisplay Mechanism741183
Node: Critical Redisplay Sections742069
Node: Line Start Cache764927
Node: Redisplay Piece by Piece768170
Node: Modules for the Redisplay Mechanism770258
Node: Modules for other Display-Related Lisp Objects772628
Node: Extents773986
Node: Introduction to Extents774526
Node: Extent Ordering775675
Node: Format of the Extent Info776923
Node: Zero-Length Extents779912
Node: Mathematics of Extent Ordering781318
Node: Extent Fragments785730
Node: Faces786823
Node: Glyphs786942
Node: Specifiers793609
Node: Menus793903
Node: Events and the Event Loop796177
Node: Introduction to Events796718
Node: Main Loop798674
Node: Specifics of the Event Gathering Mechanism802256
Node: Specifics About the Emacs Event814757
Node: Event Queues815000
Node: Event Stream Callback Routines817912
Node: Other Event Loop Functions823311
Node: Stream Pairs824449
Node: Converting Events827010
Node: Dispatching Events; The Command Builder827612
Node: Focus Handling827879
Node: Editor-Level Control Flow Modules831908
Node: Asynchronous Events; Quit Checking835367
Node: Signal Handling835684
Node: Control-G (Quit) Checking835893
Node: Profiling856401
Node: Asynchronous Timeouts860617
Node: Exiting860801
Node: Lstreams863256
Node: Creating an Lstream864274
Node: Lstream Types865508
Node: Lstream Functions865771
Node: Lstream Methods869375
Node: Subprocesses872545
Node: Ben's separate stderr notes874590
Node: Interface to MS Windows875622
Node: Different kinds of Windows environments876014
Node: Windows Build Flags889790
Node: Windows I18N Introduction891743
Node: Modules for Interfacing with MS Windows901404
Node: CHANGES from 21.4-windows branch903493
Node: Interface to the X Window System907402
Node: Lucid Widget Library907742
Node: Generic Widget Interface909128
Node: Scrollbars912717
Node: Menubars912874
Node: Checkboxes and Radio Buttons913031
Node: Progress Bars913231
Node: Tab Controls913405
Node: Modules for Interfacing with X Windows913540
Node: Dumping916956
Node: Dumping Justification917220
Node: Overview919271
Node: Data descriptions920002
Node: Dumping phase922074
Node: Object inventory922490
Node: Address allocation926613
Node: The header928013
Node: Data dumping928469
Node: Pointers dumping929141
Node: Reloading phase930540
Node: Remaining issues932166
Node: Future Work933199
Node: Future Work -- General Suggestions934330
Node: Future Work -- Elisp Compatibility Package955574
Node: Future Work -- Drag-n-Drop963607
Node: Future Work -- Standard Interface for Enabling Extensions970813
Node: Future Work -- Better Initialization File Scheme975676
Node: Future Work -- Keyword Parameters985644
Node: Future Work -- Property Interface Changes993395
Node: Future Work -- Toolbars997363
Node: Future Work -- Easier Toolbar Customization997687
Node: Future Work -- Toolbar Interface Changes1001038
Node: Future Work -- Menu API Changes1009840
Node: Future Work -- Removal of Misc-User Event Type1012878
Node: Future Work -- Mouse Pointer1015125
Node: Future Work -- Abstracted Mouse Pointer Interface1015455
Node: Future Work -- Busy Pointer1017248
Node: Future Work -- Extents1019586
Node: Future Work -- Everything should obey duplicable extents1019896
Node: Future Work -- Version Number and Development Tree Organization1022037
Node: Future Work -- Improvements to the `xemacs.org' Website1038175
Node: Future Work -- Keybindings1043848
Node: Future Work -- Keybinding Schemes1044251
Node: Future Work -- Better Support for Windows Style Key Bindings1045356
Node: Future Work -- Misc Key Binding Ideas1049679
Node: Future Work -- Byte Code Snippets1051147
Node: Future Work -- Autodetection1052225
Node: Future Work -- Conversion Error Detection1090294
Node: Future Work -- Unicode1101193
Node: Future Work -- BIDI Support1106183
Node: Future Work -- Localized Text/Messages1107708
Node: Future Work -- Lisp Stream API1121161
Node: Future Work -- Multiple Values1132080
Node: Future Work -- Macros1133969
Node: Future Work -- Specifiers1134733
Node: Future Work -- Display Tables1141753
Node: Future Work -- Making Elisp Function Calls Faster1143663
Node: Future Work -- Lisp Engine Replacement1154539
Node: Future Work -- Lisp Engine Discussion1154993
Node: Future Work -- Lisp Engine Replacement -- Implementation1164045
Node: Future Work -- Startup File Modification by Packages1184287
Node: Future Work -- Better Rendering Support1187406
Node: Better Rendering Support -- Review Criteria1189250
Node: Better Rendering Support -- Implementation1191384
Node: Better Rendering Support -- Current Status1202052
Node: Better Rendering Support -- Configuration with the Interim Patches1204063
Node: Better Rendering Support -- Modern Font Support1208311
Node: Modern Font Support -- Font Concepts1210443
Node: Modern Font Support -- fontconfig1215632
Node: Modern Font Support -- Xft1227550
Node: Future Work Discussion1227861
Node: Discussion -- Garbage Collection1228621
Node: Discussion -- Pure Space1228975
Node: Discussion -- Hashtable-Based Marking and Cleanup1232279
Node: Discussion -- The Anti-Cons1234917
Node: Discussion -- Glyphs1238859
Node: Discussion -- Dialog Boxes1247793
Node: Discussion -- Multilingual Issues1267658
Node: Discussion -- Instantiators and Generic Property Accessors1305615
Node: Discussion -- Switching to C++1328300
Node: Discussion -- Windows External Widget1343180
Node: Discussion -- Packages1350564
Node: Discussion -- Distribution Layout1352283
Node: Old Future Work1365978
Node: Old Future Work -- A Portable Unexec Replacement1366788
Node: Old Future Work -- Indirect Buffers1372563
Node: Old Future Work -- Improvements in support for non-ASCII (European) keysyms under X1377552
Node: Old Future Work -- RTF Clipboard Support1379373
Node: Old Future Work -- xemacs.org Mailing Address Changes1381459
Node: Old Future Work -- Lisp callbacks from critical areas of the C code1385873
Node: Index1391754

End Tag Table
