This commit was generated by cvs2svn to compensate for changes in r5670,
[chise/xemacs-chise.git.1] / info / internals.info-1
index 7a33f6b..c43d904 100644 (file)
@@ -1,9 +1,9 @@
-This is ../info/internals.info, produced by makeinfo version 4.0 from
-internals/internals.texi.
+This is Info file ../../info/internals.info, produced by Makeinfo
+version 1.68 from the input file internals.texi.
 
 INFO-DIR-SECTION XEmacs Editor
 START-INFO-DIR-ENTRY
-* Internals: (internals).       XEmacs Internals Manual.
+* Internals: (internals).      XEmacs Internals Manual.
 END-INFO-DIR-ENTRY
 
    Copyright (C) 1992 - 1996 Ben Wing.  Copyright (C) 1996, 1997 Sun
@@ -40,8 +40,7 @@ Foundation instead of in the original English.
 \1f
 File: internals.info,  Node: Top,  Next: A History of Emacs,  Prev: (dir),  Up: (dir)
 
-   This Info file contains v1.4 of the XEmacs Internals Manual, March
-2001.
+   This Info file contains v1.0 of the XEmacs Internals Manual.
 
 * Menu:
 
@@ -55,7 +54,6 @@ File: internals.info,  Node: Top,  Next: A History of Emacs,  Prev: (dir),  Up:
 * Rules When Writing New C Code::
 * A Summary of the Various XEmacs Modules::
 * Allocation of Objects in XEmacs Lisp::
-* Dumping::
 * Events and the Event Loop::
 * Evaluation; Stack Frames; Bindings::
 * Symbols and Variables::
@@ -71,18 +69,20 @@ File: internals.info,  Node: Top,  Next: A History of Emacs,  Prev: (dir),  Up:
 * Specifiers::
 * Menus::
 * Subprocesses::
-* Interface to the X Window System::
-* Index::
+* Interface to X Windows::
+* Index::                   Index including concepts, functions, variables,
+                              and other terms.
 
+      -- The Detailed Node Listing --
 
---- The Detailed Node Listing ---
+Here are other nodes that are inferiors of those already listed,
+mentioned here so you can get to them in one step:
 
 A History of Emacs
 
 * Through Version 18::          Unification prevails.
 * Lucid Emacs::                 One version 19 Emacs.
 * GNU Emacs 19::                The other version 19 Emacs.
-* GNU Emacs 20::                The other version 20 Emacs.
 * XEmacs::                      The continuation of Lucid Emacs.
 
 Rules When Writing New C Code
@@ -90,17 +90,8 @@ Rules When Writing New C Code
 * General Coding Rules::
 * Writing Lisp Primitives::
 * Adding Global Lisp Variables::
-* Coding for Mule::
 * Techniques for XEmacs Developers::
 
-Coding for Mule
-
-* Character-Related Data Types::
-* Working With Character and Byte Positions::
-* Conversion to and from External Data::
-* General Guidelines for Writing Mule-Aware Code::
-* An Example of Mule-Aware Code::
-
 A Summary of the Various XEmacs Modules
 
 * Low-Level Modules::
@@ -126,6 +117,7 @@ Allocation of Objects in XEmacs Lisp
 * Allocation from Frob Blocks::
 * lrecords::
 * Low-level allocation::
+* Pure Space::
 * Cons::
 * Vector::
 * Bit Vector::
@@ -134,32 +126,6 @@ Allocation of Objects in XEmacs Lisp
 * String::
 * Compiled Function::
 
-Garbage Collection - Step by Step
-
-* Invocation::
-* garbage_collect_1::
-* mark_object::
-* gc_sweep::
-* sweep_lcrecords_1::
-* compact_string_chars::
-* sweep_strings::
-* sweep_bit_vectors_1::
-
-Dumping
-
-* Overview::
-* Data descriptions::
-* Dumping phase::
-* Reloading phase::
-
-Dumping phase
-
-* Object inventory::
-* Address allocation::
-* The header::
-* Data dumping::
-* Pointers dumping::
-
 Events and the Event Loop
 
 * Introduction to Events::
@@ -198,7 +164,6 @@ MULE Character Sets and Encodings
 * Character Sets::
 * Encodings::
 * Internal Mule Encodings::
-* CCL::
 
 Encodings
 
@@ -210,25 +175,20 @@ Internal Mule Encodings
 * Internal String Encoding::
 * Internal Character Encoding::
 
-Lstreams
+The Lisp Reader and Compiler
 
-* Creating an Lstream::         Creating an lstream object.
-* Lstream Types::               Different sorts of things that are streamed.
-* Lstream Functions::           Functions for working with lstreams.
-* Lstream Methods::             Creating new lstream types.
+Lstreams
 
 Consoles; Devices; Frames; Windows
 
 * Introduction to Consoles; Devices; Frames; Windows::
 * Point::
 * Window Hierarchy::
-* The Window Object::
 
 The Redisplay Mechanism
 
 * Critical Redisplay Sections::
 * Line Start Cache::
-* Redisplay Piece by Piece::
 
 Extents
 
@@ -236,9 +196,21 @@ Extents
 * Extent Ordering::             How extents are ordered internally.
 * Format of the Extent Info::   The extent information in a buffer or string.
 * Zero-Length Extents::         A weird special case.
-* Mathematics of Extent Ordering::  A rigorous foundation.
+* Mathematics of Extent Ordering::      A rigorous foundation.
 * Extent Fragments::            Cached information useful for redisplay.
 
+Faces
+
+Glyphs
+
+Specifiers
+
+Menus
+
+Subprocesses
+
+Interface to X Windows
+
 \1f
 File: internals.info,  Node: A History of Emacs,  Next: XEmacs From the Outside,  Prev: Top,  Up: Top
 
@@ -414,7 +386,7 @@ release their own version of Emacs, which became Lucid Emacs 19.0.
 Sexton, and Eric Benson, and the work was later taken over by Jamie
 Zawinski, who became "Mr. Lucid Emacs" for many releases.
 
-   A time line for Lucid Emacs is
+   A time line for Lucid Emacs/XEmacs is
 
    * version 19.0 shipped with Energize 1.0, April 1992.
 
@@ -459,41 +431,7 @@ Zawinski, who became "Mr. Lucid Emacs" for many releases.
    * version 19.16 released October 31, 1997.
 
    * version 20.3 (the first stable version of XEmacs 20.x) released
-     November 30, 1997.
-
-   * version 20.4 released February 28, 1998.
-
-   * version 21.1.2 released May 14, 1999. (The version naming scheme
-     was changed at this point: [a] the second version number is odd
-     for stable versions, even for beta versions; [b] a third version
-     number is added, replacing the "beta xxx" ending for beta versions
-     and allowing for periodic maintenance releases for stable
-     versions.  Therefore, 21.0 was never "officially" released;
-     similarly for 21.2, etc.)
-
-   * version 21.1.3 released June 26, 1999.
-
-   * version 21.1.4 released July 8, 1999.
-
-   * version 21.1.6 released August 14, 1999. (There was no 21.1.5.)
-
-   * version 21.1.7 released September 26, 1999.
-
-   * version 21.1.8 released November 2, 1999.
-
-   * version 21.1.9 released February 13, 2000.
-
-   * version 21.1.10 released May 7, 2000.
-
-   * version 21.1.10a released June 24, 2000.
-
-   * version 21.1.11 released July 18, 2000.
-
-   * version 21.1.12 released August 5, 2000.
-
-   * version 21.1.13 released January 7, 2001.
-
-   * version 21.1.14 released January 27, 2001.
+     November 30, 1997.  version 20.4 released February 28, 1998.
 
 \1f
 File: internals.info,  Node: GNU Emacs 19,  Next: GNU Emacs 20,  Prev: Lucid Emacs,  Up: A History of Emacs
@@ -643,155 +581,6 @@ have consistently failed.
 
    A more detailed history is contained in the XEmacs About page.
 
-   A time line for XEmacs is
-
-   * version 19.11 (first XEmacs) released September 13, 1994.
-
-   * version 19.12 released June 23, 1995.
-
-   * version 19.13 released September 1, 1995.
-
-   * version 19.14 released June 23, 1996.
-
-   * version 20.0 released February 9, 1997.
-
-   * version 19.15 released March 28, 1997.
-
-   * version 20.1 (not released to the net) April 15, 1997.
-
-   * version 20.2 released May 16, 1997.
-
-   * version 19.16 released October 31, 1997.
-
-   * version 20.3 (the first stable version of XEmacs 20.x) released
-     November 30, 1997.
-
-   * version 20.4 released February 28, 1998.
-
-   * version 21.0.60 released December 10, 1998. (The version naming
-     scheme was changed at this point: [a] the second version number is
-     odd for stable versions, even for beta versions; [b] a third
-     version number is added, replacing the "beta xxx" ending for beta
-     versions and allowing for periodic maintenance releases for stable
-     versions.  Therefore, 21.0 was never "officially" released;
-     similarly for 21.2, etc.)
-
-   * version 21.0.61 released January 4, 1999.
-
-   * version 21.0.63 released February 3, 1999.
-
-   * version 21.0.64 released March 1, 1999.
-
-   * version 21.0.65 released March 5, 1999.
-
-   * version 21.0.66 released March 12, 1999.
-
-   * version 21.0.67 released March 25, 1999.
-
-   * version 21.1.2 released May 14, 1999. (This is the followup to
-     21.0.67.  The second version number was bumped to indicate the
-     beginning of the "stable" series.)
-
-   * version 21.1.3 released June 26, 1999.
-
-   * version 21.1.4 released July 8, 1999.
-
-   * version 21.1.6 released August 14, 1999. (There was no 21.1.5.)
-
-   * version 21.1.7 released September 26, 1999.
-
-   * version 21.1.8 released November 2, 1999.
-
-   * version 21.1.9 released February 13, 2000.
-
-   * version 21.1.10 released May 7, 2000.
-
-   * version 21.1.10a released June 24, 2000.
-
-   * version 21.1.11 released July 18, 2000.
-
-   * version 21.1.12 released August 5, 2000.
-
-   * version 21.1.13 released January 7, 2001.
-
-   * version 21.1.14 released January 27, 2001.
-
-   * version 21.2.9 released February 3, 1999.
-
-   * version 21.2.10 released February 5, 1999.
-
-   * version 21.2.11 released March 1, 1999.
-
-   * version 21.2.12 released March 5, 1999.
-
-   * version 21.2.13 released March 12, 1999.
-
-   * version 21.2.14 released May 14, 1999.
-
-   * version 21.2.15 released June 4, 1999.
-
-   * version 21.2.16 released June 11, 1999.
-
-   * version 21.2.17 released June 22, 1999.
-
-   * version 21.2.18 released July 14, 1999.
-
-   * version 21.2.19 released July 30, 1999.
-
-   * version 21.2.20 released November 10, 1999.
-
-   * version 21.2.21 released November 28, 1999.
-
-   * version 21.2.22 released November 29, 1999.
-
-   * version 21.2.23 released December 7, 1999.
-
-   * version 21.2.24 released December 14, 1999.
-
-   * version 21.2.25 released December 24, 1999.
-
-   * version 21.2.26 released December 31, 1999.
-
-   * version 21.2.27 released January 18, 2000.
-
-   * version 21.2.28 released February 7, 2000.
-
-   * version 21.2.29 released February 16, 2000.
-
-   * version 21.2.30 released February 21, 2000.
-
-   * version 21.2.31 released February 23, 2000.
-
-   * version 21.2.32 released March 20, 2000.
-
-   * version 21.2.33 released May 1, 2000.
-
-   * version 21.2.34 released May 28, 2000.
-
-   * version 21.2.35 released July 19, 2000.
-
-   * version 21.2.36 released October 4, 2000.
-
-   * version 21.2.37 released November 14, 2000.
-
-   * version 21.2.38 released December 5, 2000.
-
-   * version 21.2.39 released December 31, 2000.
-
-   * version 21.2.40 released January 8, 2001.
-
-   * version 21.2.41 released January 17, 2001.
-
-   * version 21.2.42 released January 20, 2001.
-
-   * version 21.2.43 released January 26, 2001.
-
-   * version 21.2.44 released February 8, 2001.
-
-   * version 21.2.45 released February 23, 2001.
-
-   * version 21.2.46 released March 21, 2001.
-
 \1f
 File: internals.info,  Node: XEmacs From the Outside,  Next: The Lisp Language,  Prev: A History of Emacs,  Up: Top
 
@@ -806,8 +595,8 @@ Some of these objects (in particular windows and frames) have
 displayable representations, and XEmacs provides a function
 `redisplay()' that ensures that the display of all such objects matches
 their internal state.  Most of the time, a standard Lisp environment is
-in a "read-eval-print" loop--i.e. "read some Lisp code, execute it, and
-print the results".  XEmacs has a similar loop:
+in a "read-eval-print" loop - i.e. "read some Lisp code, execute it,
+and print the results".  XEmacs has a similar loop:
 
    * read an event
 
@@ -950,7 +739,7 @@ between C and Lisp:
      installed by the top-level event loop, is executed; this prints
      out the error and continues.) Routines can also specify cleanup
      code (called an "unwind-protect") that will be called when control
-     exits from a block of code, no matter how that exit occurs--i.e.
+     exits from a block of code, no matter how that exit occurs - i.e.
      even if a function deeply nested below it causes a non-local exit
      back to the top level.
 
@@ -964,8 +753,8 @@ between C and Lisp:
      "see" the local variable you declared.  This is actually
      considered a bug in Emacs Lisp and in all other early dialects of
      Lisp, and was corrected in Common Lisp. (In Common Lisp, you can
-     still declare dynamically scoped variables if you want to--they
-     are sometimes useful--but variables by default are "lexically
+     still declare dynamically scoped variables if you want to - they
+     are sometimes useful - but variables by default are "lexically
      scoped" as in C.)
 
    For those familiar with Lisp, Emacs Lisp is modelled after MacLisp,
@@ -1007,13 +796,13 @@ different from C):
 
    Unfortunately, there is no perfect language.  Static typing allows a
 compiler to catch programmer errors and produce more efficient code, but
-makes programming more tedious and less fun.  For the foreseeable
-future, an Ideal Editing and Programming Environment (and that is what
-XEmacs aspires to) will be programmable in multiple languages: high
-level ones like Lisp for user customization and prototyping, and lower
-level ones for infrastructure and industrial strength applications.  If
-I had my way, XEmacs would be friendly towards the Python, Scheme, C++,
-ML, etc... communities.  But there are serious technical difficulties to
+makes programming more tedious and less fun.  For the forseeable future,
+an Ideal Editing and Programming Environment (and that is what XEmacs
+aspires to) will be programmable in multiple languages: high level ones
+like Lisp for user customization and prototyping, and lower level ones
+for infrastructure and industrial strength applications.  If I had my
+way, XEmacs would be friendly towards the Python, Scheme, C++, ML,
+etc... communities.  But there are serious technical difficulties to
 achieving that goal.
 
    The word "application" in the previous paragraph was used
@@ -1097,7 +886,7 @@ for easy upgrading of parts of a system without upgrading the rest.  It
 would be impossible to pre-determine and pre-specify the information for
 all possible configurations.
 
-   In fact, the `s/' and `m/' files are basically _evil_, since they
+   In fact, the `s/' and `m/' files are basically *evil*, since they
 contain unmaintainable platform-specific hard-coded information.
 XEmacs has been moving in the direction of having all system-specific
 information be determined dynamically by `configure'.  Perhaps someday
@@ -1108,7 +897,7 @@ we can `rm -rf src/s src/m'.
 features of your system) from template files.  You then run `make',
 which compiles the auxiliary code and programs in `lib-src/' and
 `lwlib/' and the main XEmacs executable in `src/'.  The result of
-compiling and linking is an executable called `temacs', which is _not_
+compiling and linking is an executable called `temacs', which is *not*
 the final XEmacs executable.  `temacs' by itself is not intended to
 function as an editor or even display any windows on the screen, and if
 you simply run it, it will exit immediately.  The `Makefile' runs
@@ -1253,7 +1042,7 @@ function by setting its name as the value of the Lisp variable
 
    When the Lisp initialization code is done, the C code enters the
 event loop, and stays there for the duration of the XEmacs process.
-The code for the event loop is contained in `cmdloop.c', and is called
+The code for the event loop is contained in `keyboard.c', and is called
 `Fcommand_loop_1()'.  Note that this event loop could very well be
 written in Lisp, and in fact a Lisp version exists; but apparently,
 doing this makes XEmacs run noticeably slower.