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: 300101
internals.info-3: 598043
internals.info-4: 887059
internals.info-5: 1182973
internals.info-6: 1445259

Tag Table:
(Indirect)
Node: Top2060
Node: Introduction14872
Node: Authorship of XEmacs19569
Node: A History of Emacs24985
Node: Through Version 1827471
Node: Epoch35516
Node: Lucid Emacs35963
Node: GNU Emacs 1938943
Node: GNU Emacs 2041490
Node: XEmacs42310
Node: The XEmacs Split57523
Node: XEmacs from the Outside69935
Node: The Lisp Language71701
Node: XEmacs from the Perspective of Building81245
Node: Build-Time Dependencies87590
Node: The Modules of XEmacs90273
Node: A Summary of the Various XEmacs Modules90807
Node: Modules for Building XEmacs115294
Node: Modules for Build Configuration115632
Node: Modules for Compiling XEmacs116064
Node: Modules for Preloading Lisp116452
Node: Low-Level Modules116835
Node: Basic Lisp Modules120950
Node: Modules for Standard Editing Operations127590
Node: Modules for Interfacing with the File System133513
Node: Modules for Other Aspects of the Lisp Interpreter and Object System137221
Node: Modules for Interfacing with the Operating System145255
Node: The Build Configuration System152520
Node: The version.sh Script153070
Node: Adding Configurable Features157365
Node: The configure Script158191
Node: The Makefile Precursors172447
Node: Rules When Writing New C Code173456
Node: Introduction to Writing C Code174417
Node: Writing New Modules178865
Node: Working with Lisp Objects183924
Node: Writing Lisp Primitives194821
Node: Writing Good Comments205988
Node: Adding Global Lisp Variables209609
Node: Writing Macros213532
Node: Proper Use of Unsigned Types219485
Node: Major Textual Changes220733
Node: Great Integral Type Renaming221470
Node: Text/Char Type Renaming230253
Node: Debugging and Testing233661
Node: Regression Testing XEmacs237717
Node: How to Regression-Test237983
Node: Modules for Regression Testing247225
Node: Mercurial Techniques248021
Node: Mercurial Basics248479
Node: Preserving Existing Changes with Mercurial Queues253393
Node: CVS Techniques257035
Node: Creating a Branch257442
Node: Merging a Branch into the Trunk260611
Node: XEmacs from the Inside264260
Node: Basic Types272610
Node: Numeric Types272769
Node: Abstract Numeric Interface273047
Node: GMP and MPIR driver275773
Node: BSD MP driver276502
Node: OpenSSL bignum driver278060
Node: Numeric driver interface279335
Node: Bignum interface279577
Node: Ratio interface288329
Node: Bigfloat interface293707
Node: Low-Level Allocation299420
Node: Basic Heap Allocation299737
Node: Stack Allocation299927
Node: Dynamic Arrays300101
Node: Allocation by Blocks304763
Node: Modules for Allocation306468
Node: The XEmacs Object System (Abstractly Speaking)309015
Node: How Lisp Objects Are Represented in C322643
Node: Allocation of Objects in XEmacs Lisp327208
Node: Introduction to Allocation327753
Node: Garbage Collection331445
Node: GCPROing332609
Node: Garbage Collection - Step by Step340564
Node: Invocation340965
Node: garbage_collect_1343989
Node: mark_object352778
Node: gc_sweep354598
Node: sweep_lcrecords_1359673
Node: compact_string_chars360679
Node: sweep_strings362870
Node: sweep_bit_vectors_1363846
Node: Fixnums and Characters364533
Node: Allocation from Frob Blocks365072
Node: lrecords366681
Node: Low-level allocation380093
Node: Cons382652
Node: Vector383385
Node: Bit Vector383972
Node: Symbol384474
Node: Marker384837
Node: String385401
Node: Compiled Function389022
Node: The Lisp Reader and Compiler389200
Node: Evaluation; Stack Frames; Bindings389445
Node: Evaluation389819
Node: Dynamic Binding; The specbinding Stack; Unwind-Protects396381
Node: Simple Special Operators398779
Node: Catch and Throw399581
Node: Error Trapping402193
Node: Symbols and Variables409016
Node: Introduction to Symbols409259
Node: Obarrays410334
Node: Symbol Values413874
Node: Buffers416169
Node: Introduction to Buffers416578
Node: Buffer Lists419229
Node: Markers and Extents421163
Node: The Buffer Object423408
Node: Text426865
Node: The Text in a Buffer427220
Node: Ibytes and Ichars434327
Node: Byte-Char Position Conversion434625
Node: Searching and Matching442696
Node: Multilingual Support449952
Node: Introduction to Multilingual Issues #1451887
Node: Introduction to Multilingual Issues #2452465
Node: Introduction to Multilingual Issues #3470525
Node: Introduction to Multilingual Issues #4487542
Node: Character Sets487955
Node: Encodings491277
Node: Japanese EUC (Extended Unix Code)492338
Node: JIS7493419
Node: Internal Mule Encodings494735
Node: Internal String Encoding496933
Node: Internal Character Encoding500379
Node: Old Internal Character Encoding502990
Node: Byte/Character Types; Buffer Positions; Other Typedefs504666
Node: Byte Types505154
Node: Different Ways of Seeing Internal Text507603
Node: Buffer Positions515684
Node: Other Typedefs517631
Node: Usage of the Various Representations518381
Node: Working With the Various Representations520131
Node: Internal Text APIs520604
Node: Basic internal-format APIs521033
Node: The DFC API522495
Node: The Eistring API533983
Node: Coding for Mule556646
Node: Character-Related Data Types557606
Node: Working With Character and Byte Positions562271
Node: Conversion to and from External Data566195
Node: General Guidelines for Writing Mule-Aware Code574752
Node: An Example of Mule-Aware Code581066
Node: Mule-izing Code583063
Node: CCL584093
Node: Microsoft Windows-Related Multilingual Issues589191
Node: Microsoft Documentation589716
Node: Locales591993
Node: More about code pages598043
Node: More about locales603625
Node: Unicode support under Windows605065
Node: The golden rules of writing Unicode-safe code607457
Node: The format of the locale in setlocale()609191
Node: Random other Windows I18N docs615148
Node: Modules for Internationalization622754
Node: The Great Mule Merge of March 2002625729
Node: List of changed files in new Mule workspace627096
Node: Changes to the MULE subsystems629172
Node: Pervasive changes throughout XEmacs sources630662
Node: Changes to specific subsystems631988
Node: Mule changes by theme632765
Node: File-coding rewrite642566
Node: General User-Visible Changes644544
Node: General Lisp-Visible Changes647583
Node: User documentation648335
Node: General internal changes649497
Node: Ben's TODO list654545
Node: Ben's README661796
Node: Consoles; Devices; Frames; Windows744627
Node: Introduction to Consoles; Devices; Frames; Windows745009
Node: Point747549
Node: Window Hierarchy748835
Node: The Window Object753294
Node: Modules for the Basic Displayable Lisp Objects756793
Node: Window-System Support762618
Node: Creating a Window-System Type763952
Node: Window and Frame Geometry770699
Node: Intro to Window and Frame Geometry771085
Node: The Frame776044
Node: The Non-Client Area776788
Node: The Client Area779564
Node: The Paned Area781426
Node: Text Areas782676
Node: The Displayable Area784812
Node: Which Functions Use Which?787873
Node: The Redisplay Mechanism788510
Node: Critical Redisplay Sections789701
Node: Line Start Cache812681
Node: Redisplay Piece by Piece815924
Node: pixel_to_glyph_translation820164
Node: Modules for the Redisplay Mechanism821312
Node: Modules for other Display-Related Lisp Objects823684
Node: Extents824848
Node: Introduction to Extents825388
Node: Extent Ordering826537
Node: Format of the Extent Info827785
Node: Zero-Length Extents830774
Node: Mathematics of Extent Ordering832180
Node: Extent Fragments836592
Node: Faces837685
Node: Glyphs837804
Node: Specifiers844471
Node: Menus844765
Node: Events and the Event Loop847039
Node: Introduction to Events847580
Node: Main Loop849536
Node: Specifics of the Event Gathering Mechanism853119
Node: Specifics About the Emacs Event865620
Node: Event Queues865863
Node: Event Stream Callback Routines868775
Node: Other Event Loop Functions874174
Node: Stream Pairs875312
Node: Converting Events878176
Node: Dispatching Events; The Command Builder878778
Node: Focus Handling879045
Node: Editor-Level Control Flow Modules883074
Node: Asynchronous Events; Quit Checking886533
Node: Signal Handling886850
Node: Control-G (Quit) Checking887059
Node: Profiling907567
Node: Asynchronous Timeouts911356
Node: Exiting911540
Node: Lstreams913995
Node: Creating an Lstream915231
Node: Lstream Types916465
Node: Lstream Functions916728
Node: Lstream Methods920332
Node: Subprocesses923502
Node: Ben's separate stderr notes925547
Node: Interface to MS Windows926575
Node: Different kinds of Windows environments926967
Node: Windows Build Flags940743
Node: Windows I18N Introduction942696
Node: Modules for Interfacing with MS Windows952357
Node: CHANGES from 21.4-windows branch954446
Node: Interface to the X Window System958355
Node: Lucid Widget Library958695
Node: Generic Widget Interface960081
Node: Scrollbars963670
Node: Menubars963827
Node: Checkboxes and Radio Buttons963984
Node: Progress Bars964184
Node: Tab Controls964358
Node: Modules for Interfacing with X Windows964493
Node: Dumping967753
Node: Dumping Justification968017
Node: Overview969956
Node: Data descriptions970687
Node: Dumping phase972759
Node: Object inventory973175
Node: Address allocation977298
Node: The header978698
Node: Data dumping979154
Node: Pointers dumping979826
Node: Reloading phase981225
Node: Remaining issues982851
Node: Future Work983884
Node: Future Work -- General Suggestions984954
Node: Future Work -- Elisp Compatibility Package1006198
Node: Future Work -- Drag-n-Drop1014231
Node: Future Work -- Standard Interface for Enabling Extensions1021437
Node: Future Work -- Better Initialization File Scheme1026300
Node: Future Work -- Keyword Parameters1036268
Node: Future Work -- Property Interface Changes1044019
Node: Future Work -- Toolbars1047987
Node: Future Work -- Easier Toolbar Customization1048311
Node: Future Work -- Toolbar Interface Changes1051662
Node: Future Work -- Menu API Changes1060464
Node: Future Work -- Removal of Misc-User Event Type1063502
Node: Future Work -- Mouse Pointer1065749
Node: Future Work -- Abstracted Mouse Pointer Interface1066120
Node: Future Work -- Busy Pointer1067913
Node: Future Work -- Version Number and Development Tree Organization1070251
Node: Future Work -- Improvements to the `xemacs.org' Website1086395
Node: Future Work -- Keybindings1092068
Node: Future Work -- Keybinding Schemes1092471
Node: Future Work -- Better Support for Windows Style Key Bindings1093576
Node: Future Work -- Misc Key Binding Ideas1097899
Node: Future Work -- Byte Code Snippets1099367
Node: Future Work -- Autodetection1100445
Node: Future Work -- Conversion Error Detection1138535
Node: Future Work -- Unicode1149434
Node: Future Work -- BIDI Support1154421
Node: Future Work -- Localized Text/Messages1155946
Node: Future Work -- Lisp Stream API1169401
Node: Future Work -- Multiple Values1180320
Node: Future Work -- Macros1182209
Node: Future Work -- Specifiers1182973
Node: Future Work -- Making Elisp Function Calls Faster1190013
Node: Future Work -- Lisp Engine Replacement1200885
Node: Future Work -- Lisp Engine Discussion1201339
Node: Future Work -- Lisp Engine Replacement -- Implementation1210391
Node: Future Work -- Startup File Modification by Packages1230633
Node: Future Work -- Better Rendering Support1233755
Node: Better Rendering Support -- Review Criteria1235599
Node: Better Rendering Support -- Implementation1237733
Node: Better Rendering Support -- Current Status1248401
Node: Better Rendering Support -- Configuration with the Interim Patches1250412
Node: Better Rendering Support -- Modern Font Support1254660
Node: Modern Font Support -- Font Concepts1256792
Node: Modern Font Support -- fontconfig1261981
Node: Modern Font Support -- Xft1273899
Node: Future Work Discussion1274210
Node: Discussion -- Garbage Collection1274970
Node: Discussion -- KKCC1275387
Node: Discussion -- Incremental Collector1275767
Node: Discussion -- Pure Space1278222
Node: Discussion -- Hashtable-Based Marking and Cleanup1281529
Node: Discussion -- The Anti-Cons1284167
Node: Discussion -- Glyphs1288109
Node: Discussion -- Dialog Boxes1297043
Node: Discussion -- Multilingual Issues1316908
Node: Discussion -- Instantiators and Generic Property Accessors1354852
Node: Discussion -- Switching to C++1377537
Node: Discussion -- Windows External Widget1392418
Node: Discussion -- Packages1399802
Node: Discussion -- Distribution Layout1401521
Node: Old Future Work1415210
Node: Old Future Work -- A Portable Unexec Replacement1416123
Node: Old Future Work -- Indirect Buffers1421898
Node: Old Future Work -- Improvements in support for non-ASCII (European) keysyms under X1426887
Node: Old Future Work -- RTF Clipboard Support1428708
Node: Old Future Work -- xemacs.org Mailing Address Changes1430794
Node: Old Future Work -- Lisp callbacks from critical areas of the C code1435208
Node: Old Future Work -- Everything should obey duplicable extents1441158
Node: Old Future Work -- Display Tables1443385
Node: Index1445259

End Tag Table
