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: 298576
internals.info-3: 596985
internals.info-4: 885918
internals.info-5: 1182729
internals.info-6: 1445015

Tag Table:
(Indirect)
Node: Top2060
Node: Introduction14851
Node: Authorship of XEmacs19548
Node: A History of Emacs24964
Node: Through Version 1827450
Node: Epoch35495
Node: Lucid Emacs35942
Node: GNU Emacs 1938922
Node: GNU Emacs 2041469
Node: XEmacs42289
Node: The XEmacs Split57502
Node: XEmacs from the Outside69914
Node: The Lisp Language71680
Node: XEmacs from the Perspective of Building81224
Node: Build-Time Dependencies87569
Node: The Modules of XEmacs90252
Node: A Summary of the Various XEmacs Modules90786
Node: Modules for Building XEmacs115253
Node: Modules for Build Configuration115591
Node: Modules for Compiling XEmacs116023
Node: Modules for Preloading Lisp116411
Node: Low-Level Modules116794
Node: Basic Lisp Modules120909
Node: Modules for Standard Editing Operations127547
Node: Modules for Interfacing with the File System133470
Node: Modules for Other Aspects of the Lisp Interpreter and Object System137178
Node: Modules for Interfacing with the Operating System145539
Node: The Build Configuration System152804
Node: The version.sh Script153354
Node: Adding Configurable Features157649
Node: The configure Script158475
Node: The Makefile Precursors172731
Node: Rules When Writing New C Code173740
Node: Introduction to Writing C Code174701
Node: Writing New Modules179149
Node: Working with Lisp Objects182345
Node: Writing Lisp Primitives193242
Node: Writing Good Comments204409
Node: Adding Global Lisp Variables208030
Node: Writing Macros212007
Node: Proper Use of Unsigned Types217960
Node: Major Textual Changes219208
Node: Great Integral Type Renaming219945
Node: Text/Char Type Renaming228728
Node: Debugging and Testing232136
Node: Regression Testing XEmacs236192
Node: How to Regression-Test236458
Node: Modules for Regression Testing245700
Node: Mercurial Techniques246496
Node: Mercurial Basics246954
Node: Preserving Existing Changes with Mercurial Queues251868
Node: CVS Techniques255510
Node: Creating a Branch255917
Node: Merging a Branch into the Trunk259086
Node: XEmacs from the Inside262735
Node: Basic Types271085
Node: Numeric Types271244
Node: Abstract Numeric Interface271522
Node: GMP and MPIR driver274248
Node: BSD MP driver274977
Node: OpenSSL bignum driver276535
Node: Numeric driver interface277810
Node: Bignum interface278052
Node: Ratio interface286804
Node: Bigfloat interface292182
Node: Low-Level Allocation297895
Node: Basic Heap Allocation298212
Node: Stack Allocation298402
Node: Dynamic Arrays298576
Node: Allocation by Blocks303238
Node: Modules for Allocation304943
Node: The XEmacs Object System (Abstractly Speaking)307490
Node: How Lisp Objects Are Represented in C322042
Node: Allocation of Objects in XEmacs Lisp326607
Node: Introduction to Allocation327152
Node: Garbage Collection330844
Node: GCPROing332008
Node: Garbage Collection - Step by Step340065
Node: Invocation340466
Node: garbage_collect_1343490
Node: mark_object352279
Node: gc_sweep354099
Node: sweep_lcrecords_1359174
Node: compact_string_chars360180
Node: sweep_strings362371
Node: sweep_bit_vectors_1363347
Node: Fixnums and Characters364034
Node: Allocation from Frob Blocks364573
Node: lrecords366182
Node: Low-level allocation379594
Node: Cons382153
Node: Vector382886
Node: Bit Vector383473
Node: Symbol383975
Node: Marker384249
Node: String384813
Node: Compiled Function388434
Node: The Lisp Reader and Compiler388612
Node: Evaluation; Stack Frames; Bindings388857
Node: Evaluation389231
Node: Dynamic Binding; The specbinding Stack; Unwind-Protects395793
Node: Simple Special Operators398191
Node: Catch and Throw398993
Node: Error Trapping401605
Node: Symbols and Variables408428
Node: Introduction to Symbols408671
Node: Obarrays409746
Node: Symbol Values412462
Ref: Symbol Values-Footnote-1414899
Node: Buffers415111
Node: Introduction to Buffers415520
Node: Buffer Lists418171
Node: Markers and Extents420105
Node: The Buffer Object422350
Node: Text425807
Node: The Text in a Buffer426162
Node: Ibytes and Ichars433269
Node: Byte-Char Position Conversion433567
Node: Searching and Matching441638
Node: Multilingual Support448894
Node: Introduction to Multilingual Issues #1450829
Node: Introduction to Multilingual Issues #2451407
Node: Introduction to Multilingual Issues #3469467
Node: Introduction to Multilingual Issues #4486484
Node: Character Sets486897
Node: Encodings490219
Node: Japanese EUC (Extended Unix Code)491280
Node: JIS7492361
Node: Internal Mule Encodings493677
Node: Internal String Encoding495875
Node: Internal Character Encoding499321
Node: Old Internal Character Encoding501932
Node: Byte/Character Types; Buffer Positions; Other Typedefs503608
Node: Byte Types504096
Node: Different Ways of Seeing Internal Text506545
Node: Buffer Positions514626
Node: Other Typedefs516573
Node: Usage of the Various Representations517323
Node: Working With the Various Representations519073
Node: Internal Text APIs519546
Node: Basic internal-format APIs519975
Node: The DFC API521437
Node: The Eistring API532925
Node: Coding for Mule555588
Node: Character-Related Data Types556548
Node: Working With Character and Byte Positions561213
Node: Conversion to and from External Data565137
Node: General Guidelines for Writing Mule-Aware Code573694
Node: An Example of Mule-Aware Code580008
Node: Mule-izing Code582005
Node: CCL583035
Node: Microsoft Windows-Related Multilingual Issues588133
Node: Microsoft Documentation588658
Node: Locales590935
Node: More about code pages596985
Node: More about locales602567
Node: Unicode support under Windows604007
Node: The golden rules of writing Unicode-safe code606399
Node: The format of the locale in setlocale()608133
Node: Random other Windows I18N docs614090
Node: Modules for Internationalization621696
Node: The Great Mule Merge of March 2002624671
Node: List of changed files in new Mule workspace626038
Node: Changes to the MULE subsystems628114
Node: Pervasive changes throughout XEmacs sources629604
Node: Changes to specific subsystems630930
Node: Mule changes by theme631707
Node: File-coding rewrite641508
Node: General User-Visible Changes643486
Node: General Lisp-Visible Changes646525
Node: User documentation647277
Node: General internal changes648439
Node: Ben's TODO list653404
Node: Ben's README660655
Node: Consoles; Devices; Frames; Windows743486
Node: Introduction to Consoles; Devices; Frames; Windows743868
Node: Point746408
Node: Window Hierarchy747694
Node: The Window Object752153
Node: Modules for the Basic Displayable Lisp Objects755652
Node: Window-System Support761477
Node: Creating a Window-System Type762811
Node: Window and Frame Geometry769558
Node: Intro to Window and Frame Geometry769944
Node: The Frame774903
Node: The Non-Client Area775647
Node: The Client Area778423
Node: The Paned Area780285
Node: Text Areas781535
Node: The Displayable Area783671
Node: Which Functions Use Which?786732
Node: The Redisplay Mechanism787369
Node: Critical Redisplay Sections788560
Node: Line Start Cache811540
Node: Redisplay Piece by Piece814783
Node: pixel_to_glyph_translation819023
Node: Modules for the Redisplay Mechanism820171
Node: Modules for other Display-Related Lisp Objects822543
Node: Extents823707
Node: Introduction to Extents824247
Node: Extent Ordering825396
Node: Format of the Extent Info826644
Node: Zero-Length Extents829633
Node: Mathematics of Extent Ordering831039
Node: Extent Fragments835451
Node: Faces836544
Node: Glyphs836663
Node: Specifiers843330
Node: Menus843624
Node: Events and the Event Loop845898
Node: Introduction to Events846439
Node: Main Loop848395
Node: Specifics of the Event Gathering Mechanism851978
Node: Specifics About the Emacs Event864479
Node: Event Queues864722
Node: Event Stream Callback Routines867634
Node: Other Event Loop Functions873033
Node: Stream Pairs874171
Node: Converting Events877035
Node: Dispatching Events; The Command Builder877637
Node: Focus Handling877904
Node: Editor-Level Control Flow Modules881933
Node: Asynchronous Events; Quit Checking885392
Node: Signal Handling885709
Node: Control-G (Quit) Checking885918
Node: Profiling906426
Node: Asynchronous Timeouts910215
Node: Exiting910399
Node: Lstreams912854
Node: Creating an Lstream914090
Node: Lstream Types915324
Node: Lstream Functions915587
Node: Lstream Methods919191
Node: Subprocesses922361
Node: Ben's separate stderr notes924406
Node: Interface to MS Windows925434
Node: Different kinds of Windows environments925826
Node: Windows Build Flags939602
Node: Windows I18N Introduction941555
Node: Modules for Interfacing with MS Windows951216
Node: CHANGES from 21.4-windows branch953305
Node: Interface to the X Window System957214
Node: Lucid Widget Library957554
Node: Generic Widget Interface958940
Node: Scrollbars962529
Node: Menubars962686
Node: Checkboxes and Radio Buttons962843
Node: Progress Bars963043
Node: Tab Controls963217
Node: Modules for Interfacing with X Windows963352
Node: Dumping966612
Node: Dumping Justification966855
Node: Overview968794
Node: Data descriptions969525
Node: Dumping phase971597
Node: Object inventory972013
Node: Address allocation976401
Node: The header977801
Node: Data dumping978257
Node: Pointers dumping978929
Node: Reloading phase980306
Node: Future Work983640
Node: Future Work -- General Suggestions984710
Node: Future Work -- Elisp Compatibility Package1005954
Node: Future Work -- Drag-n-Drop1013987
Node: Future Work -- Standard Interface for Enabling Extensions1021193
Node: Future Work -- Better Initialization File Scheme1026056
Node: Future Work -- Keyword Parameters1036024
Node: Future Work -- Property Interface Changes1043775
Node: Future Work -- Toolbars1047743
Node: Future Work -- Easier Toolbar Customization1048067
Node: Future Work -- Toolbar Interface Changes1051418
Node: Future Work -- Menu API Changes1060220
Node: Future Work -- Removal of Misc-User Event Type1063258
Node: Future Work -- Mouse Pointer1065505
Node: Future Work -- Abstracted Mouse Pointer Interface1065876
Node: Future Work -- Busy Pointer1067669
Node: Future Work -- Version Number and Development Tree Organization1070007
Node: Future Work -- Improvements to the `xemacs.org' Website1086151
Node: Future Work -- Keybindings1091824
Node: Future Work -- Keybinding Schemes1092227
Node: Future Work -- Better Support for Windows Style Key Bindings1093332
Node: Future Work -- Misc Key Binding Ideas1097655
Node: Future Work -- Byte Code Snippets1099123
Node: Future Work -- Autodetection1100201
Node: Future Work -- Conversion Error Detection1138291
Node: Future Work -- Unicode1149190
Node: Future Work -- BIDI Support1154177
Node: Future Work -- Localized Text/Messages1155702
Node: Future Work -- Lisp Stream API1169157
Node: Future Work -- Multiple Values1180076
Node: Future Work -- Macros1181965
Node: Future Work -- Specifiers1182729
Node: Future Work -- Making Elisp Function Calls Faster1189769
Node: Future Work -- Lisp Engine Replacement1200641
Node: Future Work -- Lisp Engine Discussion1201095
Node: Future Work -- Lisp Engine Replacement -- Implementation1210147
Node: Future Work -- Startup File Modification by Packages1230389
Node: Future Work -- Better Rendering Support1233511
Node: Better Rendering Support -- Review Criteria1235355
Node: Better Rendering Support -- Implementation1237489
Node: Better Rendering Support -- Current Status1248157
Node: Better Rendering Support -- Configuration with the Interim Patches1250168
Node: Better Rendering Support -- Modern Font Support1254416
Node: Modern Font Support -- Font Concepts1256548
Node: Modern Font Support -- fontconfig1261737
Node: Modern Font Support -- Xft1273655
Node: Future Work Discussion1273966
Node: Discussion -- Garbage Collection1274726
Node: Discussion -- KKCC1275143
Node: Discussion -- Incremental Collector1275523
Node: Discussion -- Pure Space1277978
Node: Discussion -- Hashtable-Based Marking and Cleanup1281285
Node: Discussion -- The Anti-Cons1283923
Node: Discussion -- Glyphs1287865
Node: Discussion -- Dialog Boxes1296799
Node: Discussion -- Multilingual Issues1316664
Node: Discussion -- Instantiators and Generic Property Accessors1354608
Node: Discussion -- Switching to C++1377293
Node: Discussion -- Windows External Widget1392174
Node: Discussion -- Packages1399558
Node: Discussion -- Distribution Layout1401277
Node: Old Future Work1414966
Node: Old Future Work -- A Portable Unexec Replacement1415879
Node: Old Future Work -- Indirect Buffers1421654
Node: Old Future Work -- Improvements in support for non-ASCII (European) keysyms under X1426643
Node: Old Future Work -- RTF Clipboard Support1428464
Node: Old Future Work -- xemacs.org Mailing Address Changes1430550
Node: Old Future Work -- Lisp callbacks from critical areas of the C code1434964
Node: Old Future Work -- Everything should obey duplicable extents1440914
Node: Old Future Work -- Display Tables1443141
Node: Index1445015

End Tag Table
