This is ../info/internals.info, produced by makeinfo version 4.13 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: 2061
internals.info-2: 298679
internals.info-3: 597386
internals.info-4: 894970
internals.info-5: 1193867
internals.info-6: 1454295

Tag Table:
(Indirect)
Node: Top2061
Node: Introduction14886
Node: Authorship of XEmacs19583
Node: A History of Emacs25000
Node: Through Version 1827486
Node: Epoch35531
Node: Lucid Emacs35978
Node: GNU Emacs 1938958
Node: GNU Emacs 2041505
Node: XEmacs42325
Node: The XEmacs Split57538
Node: XEmacs from the Outside69950
Node: The Lisp Language71716
Node: XEmacs from the Perspective of Building81260
Node: Build-Time Dependencies87605
Node: The Modules of XEmacs90288
Node: A Summary of the Various XEmacs Modules90822
Node: Modules for Building XEmacs115257
Node: Modules for Build Configuration115595
Node: Modules for Compiling XEmacs116027
Node: Modules for Preloading Lisp116415
Node: Low-Level Modules116798
Node: Basic Lisp Modules120926
Node: Modules for Standard Editing Operations127566
Node: Modules for Interfacing with the File System133489
Node: Modules for Other Aspects of the Lisp Interpreter and Object System137197
Node: Modules for Interfacing with the Operating System145231
Node: The Build Configuration System152496
Node: The version.sh Script153046
Node: Adding Configurable Features157341
Node: The configure Script158167
Node: The Makefile Precursors172423
Node: Rules When Writing New C Code173432
Node: Introduction to Writing C Code174393
Node: Writing New Modules178841
Node: Working with Lisp Objects183900
Node: Writing Lisp Primitives194797
Node: Writing Good Comments205964
Node: Adding Global Lisp Variables209585
Node: Writing Macros213508
Node: Proper Use of Unsigned Types219461
Node: Major Textual Changes220709
Node: Great Integral Type Renaming221446
Node: Text/Char Type Renaming230229
Node: Debugging and Testing233637
Node: Regression Testing XEmacs237645
Node: How to Regression-Test237911
Node: Modules for Regression Testing247153
Node: Mercurial Techniques247949
Node: Mercurial Basics248407
Node: Preserving Existing Changes with Mercurial Queues253379
Node: CVS Techniques257017
Node: Creating a Branch257424
Node: Merging a Branch into the Trunk260593
Node: XEmacs from the Inside264242
Node: Basic Types272562
Node: Numeric Types272721
Node: Abstract Numeric Interface272973
Node: GMP and MPIR driver275699
Node: BSD MP driver276428
Node: Numeric driver interface277921
Node: Bignum interface278155
Node: Ratio interface286907
Node: Bigfloat interface292285
Node: Low-Level Allocation297998
Node: Basic Heap Allocation298315
Node: Stack Allocation298505
Node: Dynamic Arrays298679
Node: Allocation by Blocks303341
Node: Modules for Allocation305046
Node: The XEmacs Object System (Abstractly Speaking)308188
Node: How Lisp Objects Are Represented in C321816
Node: Allocation of Objects in XEmacs Lisp326381
Node: Introduction to Allocation326926
Node: Garbage Collection330618
Node: GCPROing331782
Node: Garbage Collection - Step by Step339737
Node: Invocation340138
Node: garbage_collect_1343162
Node: mark_object352655
Node: gc_sweep354475
Node: sweep_lcrecords_1359550
Node: compact_string_chars360556
Node: sweep_strings362747
Node: sweep_bit_vectors_1363723
Node: Fixnums and Characters364410
Node: Allocation from Frob Blocks364949
Node: lrecords366558
Node: Low-level allocation381097
Node: Cons385211
Node: Vector385944
Node: Bit Vector386531
Node: Symbol387033
Node: Marker387396
Node: String387960
Node: Compiled Function391581
Node: The Lisp Reader and Compiler391759
Node: Evaluation; Stack Frames; Bindings392004
Node: Evaluation392378
Node: Dynamic Binding; The specbinding Stack; Unwind-Protects398940
Node: Simple Special Operators401338
Node: Catch and Throw402140
Node: Error Trapping404752
Node: Symbols and Variables411575
Node: Introduction to Symbols411818
Node: Obarrays412893
Node: Symbol Values416433
Node: Buffers418728
Node: Introduction to Buffers419137
Node: Buffer Lists421788
Node: Markers and Extents423722
Node: The Buffer Object425967
Node: Text429424
Node: The Text in a Buffer429779
Node: Ibytes and Ichars436886
Node: Byte-Char Position Conversion437184
Node: Searching and Matching445255
Node: Multilingual Support452511
Node: Introduction to Multilingual Issues #1454446
Node: Introduction to Multilingual Issues #2455024
Node: Introduction to Multilingual Issues #3473084
Node: Introduction to Multilingual Issues #4490101
Node: Character Sets490514
Node: Encodings494000
Node: Japanese EUC (Extended Unix Code)495061
Node: JIS7496142
Node: Internal Mule Encodings497458
Node: Internal String Encoding499453
Node: Internal Character Encoding501717
Node: Byte/Character Types; Buffer Positions; Other Typedefs503993
Node: Byte Types504481
Node: Different Ways of Seeing Internal Text506930
Node: Buffer Positions514956
Node: Other Typedefs516903
Node: Usage of the Various Representations517653
Node: Working With the Various Representations519403
Node: Internal Text APIs519876
Node: Basic internal-format APIs520305
Node: The DFC API521767
Node: The Eistring API533255
Node: Coding for Mule555918
Node: Character-Related Data Types556878
Node: Working With Character and Byte Positions561543
Node: Conversion to and from External Data565538
Node: General Guidelines for Writing Mule-Aware Code574095
Node: An Example of Mule-Aware Code580409
Node: Mule-izing Code582406
Node: CCL583436
Node: Microsoft Windows-Related Multilingual Issues588534
Node: Microsoft Documentation589059
Node: Locales591336
Node: More about code pages597386
Node: More about locales602968
Node: Unicode support under Windows604408
Node: The golden rules of writing Unicode-safe code616666
Node: The format of the locale in setlocale()618400
Node: Random other Windows I18N docs624355
Node: Modules for Internationalization632152
Node: The Great Mule Merge of March 2002635127
Node: List of changed files in new Mule workspace636494
Node: Changes to the MULE subsystems638570
Node: Pervasive changes throughout XEmacs sources640060
Node: Changes to specific subsystems641386
Node: Mule changes by theme642163
Node: File-coding rewrite651964
Node: General User-Visible Changes653942
Node: General Lisp-Visible Changes656981
Node: User documentation657733
Node: General internal changes658895
Node: Ben's TODO list663943
Node: Ben's README671194
Node: Consoles; Devices; Frames; Windows754438
Node: Introduction to Consoles; Devices; Frames; Windows754820
Node: Point757360
Node: Window Hierarchy758646
Node: The Window Object763105
Node: Modules for the Basic Displayable Lisp Objects766604
Node: Window-System Support772429
Node: Creating a Window-System Type773763
Node: Window and Frame Geometry780510
Node: Intro to Window and Frame Geometry780896
Node: The Frame785836
Node: The Non-Client Area786580
Node: The Client Area789356
Node: The Paned Area791218
Node: Text Areas792468
Node: The Displayable Area794604
Node: Which Functions Use Which?797665
Node: The Redisplay Mechanism798302
Node: Critical Redisplay Sections799179
Node: Line Start Cache822037
Node: Redisplay Piece by Piece825280
Node: Modules for the Redisplay Mechanism829529
Node: Modules for other Display-Related Lisp Objects831899
Node: Extents833063
Node: Introduction to Extents833603
Node: Extent Ordering834752
Node: Format of the Extent Info836000
Node: Zero-Length Extents838989
Node: Mathematics of Extent Ordering840395
Node: Extent Fragments844807
Node: Faces845900
Node: Glyphs846019
Node: Specifiers852686
Node: Menus852980
Node: Events and the Event Loop855254
Node: Introduction to Events855795
Node: Main Loop857751
Node: Specifics of the Event Gathering Mechanism861333
Node: Specifics About the Emacs Event873834
Node: Event Queues874077
Node: Event Stream Callback Routines876989
Node: Other Event Loop Functions882388
Node: Stream Pairs883526
Node: Converting Events886087
Node: Dispatching Events; The Command Builder886689
Node: Focus Handling886956
Node: Editor-Level Control Flow Modules890985
Node: Asynchronous Events; Quit Checking894444
Node: Signal Handling894761
Node: Control-G (Quit) Checking894970
Node: Profiling915478
Node: Asynchronous Timeouts919694
Node: Exiting919878
Node: Lstreams922333
Node: Creating an Lstream923569
Node: Lstream Types924803
Node: Lstream Functions925066
Node: Lstream Methods928670
Node: Subprocesses931840
Node: Ben's separate stderr notes933885
Node: Interface to MS Windows934913
Node: Different kinds of Windows environments935305
Node: Windows Build Flags949081
Node: Windows I18N Introduction951034
Node: Modules for Interfacing with MS Windows960695
Node: CHANGES from 21.4-windows branch962784
Node: Interface to the X Window System966693
Node: Lucid Widget Library967033
Node: Generic Widget Interface968419
Node: Scrollbars972008
Node: Menubars972165
Node: Checkboxes and Radio Buttons972322
Node: Progress Bars972522
Node: Tab Controls972696
Node: Modules for Interfacing with X Windows972831
Node: Dumping976091
Node: Dumping Justification976355
Node: Overview978406
Node: Data descriptions979137
Node: Dumping phase981209
Node: Object inventory981625
Node: Address allocation985748
Node: The header987148
Node: Data dumping987604
Node: Pointers dumping988276
Node: Reloading phase989675
Node: Remaining issues991301
Node: Future Work992334
Node: Future Work -- General Suggestions993465
Node: Future Work -- Elisp Compatibility Package1014709
Node: Future Work -- Drag-n-Drop1022742
Node: Future Work -- Standard Interface for Enabling Extensions1029948
Node: Future Work -- Better Initialization File Scheme1034811
Node: Future Work -- Keyword Parameters1044779
Node: Future Work -- Property Interface Changes1052530
Node: Future Work -- Toolbars1056498
Node: Future Work -- Easier Toolbar Customization1056822
Node: Future Work -- Toolbar Interface Changes1060173
Node: Future Work -- Menu API Changes1068975
Node: Future Work -- Removal of Misc-User Event Type1072013
Node: Future Work -- Mouse Pointer1074260
Node: Future Work -- Abstracted Mouse Pointer Interface1074590
Node: Future Work -- Busy Pointer1076383
Node: Future Work -- Extents1078721
Node: Future Work -- Everything should obey duplicable extents1079031
Node: Future Work -- Version Number and Development Tree Organization1081172
Node: Future Work -- Improvements to the `xemacs.org' Website1097310
Node: Future Work -- Keybindings1102983
Node: Future Work -- Keybinding Schemes1103386
Node: Future Work -- Better Support for Windows Style Key Bindings1104491
Node: Future Work -- Misc Key Binding Ideas1108814
Node: Future Work -- Byte Code Snippets1110282
Node: Future Work -- Autodetection1111360
Node: Future Work -- Conversion Error Detection1149429
Node: Future Work -- Unicode1160328
Node: Future Work -- BIDI Support1165315
Node: Future Work -- Localized Text/Messages1166840
Node: Future Work -- Lisp Stream API1180295
Node: Future Work -- Multiple Values1191214
Node: Future Work -- Macros1193103
Node: Future Work -- Specifiers1193867
Node: Future Work -- Display Tables1200887
Node: Future Work -- Making Elisp Function Calls Faster1202797
Node: Future Work -- Lisp Engine Replacement1213673
Node: Future Work -- Lisp Engine Discussion1214127
Node: Future Work -- Lisp Engine Replacement -- Implementation1223179
Node: Future Work -- Startup File Modification by Packages1243421
Node: Future Work -- Better Rendering Support1246540
Node: Better Rendering Support -- Review Criteria1248384
Node: Better Rendering Support -- Implementation1250518
Node: Better Rendering Support -- Current Status1261186
Node: Better Rendering Support -- Configuration with the Interim Patches1263197
Node: Better Rendering Support -- Modern Font Support1267445
Node: Modern Font Support -- Font Concepts1269577
Node: Modern Font Support -- fontconfig1274766
Node: Modern Font Support -- Xft1286684
Node: Future Work Discussion1286995
Node: Discussion -- Garbage Collection1287755
Node: Discussion -- KKCC1288172
Node: Discussion -- Incremental Collector1288552
Node: Discussion -- Pure Space1291531
Node: Discussion -- Hashtable-Based Marking and Cleanup1294838
Node: Discussion -- The Anti-Cons1297476
Node: Discussion -- Glyphs1301418
Node: Discussion -- Dialog Boxes1310352
Node: Discussion -- Multilingual Issues1330217
Node: Discussion -- Instantiators and Generic Property Accessors1368161
Node: Discussion -- Switching to C++1390846
Node: Discussion -- Windows External Widget1405727
Node: Discussion -- Packages1413111
Node: Discussion -- Distribution Layout1414830
Node: Old Future Work1428519
Node: Old Future Work -- A Portable Unexec Replacement1429329
Node: Old Future Work -- Indirect Buffers1435104
Node: Old Future Work -- Improvements in support for non-ASCII (European) keysyms under X1440093
Node: Old Future Work -- RTF Clipboard Support1441914
Node: Old Future Work -- xemacs.org Mailing Address Changes1444000
Node: Old Future Work -- Lisp callbacks from critical areas of the C code1448414
Node: Index1454295

End Tag Table
