update.
[chise/xemacs-chise.git-] / info / internals.info-5
index d2c73c5..19f604d 100644 (file)
@@ -68,7 +68,7 @@ the internals: *Note lrecords::.
 
    Our next candidates are the other objects that behave quite
 differently than everything else: the strings. They consists of two
-parts, a fixed-size portion (`struct Lisp_string') holding the string's
+parts, a fixed-size portion (`struct Lisp_String') holding the string's
 length, its property list and a pointer to the second part, and the
 actual string data, which is stored in string-chars blocks comparable to
 frob blocks. In this block, the data is not only freed, but also a
@@ -372,6 +372,15 @@ there needs to be a `DECLARE_LRECORD_IMPLEMENTATION()' somewhere in a
 `FOOBARP()', etc. macros in a `.h' (or occasionally `.c') file.  To
 create one of these, copy an existing model and modify as necessary.
 
+   *Please note:* If you define an lrecord in an external
+dynamically-loaded module, you must use `DECLARE_EXTERNAL_LRECORD',
+`DEFINE_EXTERNAL_LRECORD_IMPLEMENTATION', and
+`DEFINE_EXTERNAL_LRECORD_SEQUENCE_IMPLEMENTATION' instead of the
+non-EXTERNAL forms. These macros will dynamically add new type numbers
+to the global enum that records them, whereas the non-EXTERNAL forms
+assume that the programmer has already inserted the correct type numbers
+into the enum's code at compile-time.
+
    The various methods in the lrecord implementation structure are:
 
   1. A "mark" method.  This is called during the marking stage and
@@ -379,8 +388,8 @@ create one of these, copy an existing model and modify as necessary.
      which is used to mark an object.  All Lisp objects that are
      contained within the object need to be marked by applying this
      function to them.  The mark method should also return a Lisp
-     object, which should be either nil or an object to mark. (This can
-     be used in lieu of calling `mark_object()' on the object, to
+     object, which should be either `nil' or an object to mark. (This
+     can be used in lieu of calling `mark_object()' on the object, to
      reduce the recursion depth, and consequently should be the most
      heavily nested sub-object, such as a long list.)
 
@@ -824,9 +833,9 @@ File: internals.info,  Node: Dumping phase,  Next: Reloading phase,  Prev: Data
 Dumping phase
 =============
 
-   Dumping is done by calling the function pdump() (in alloc.c) which is
-invoked from Fdump_emacs (in emacs.c).  This function performs a number
-of tasks.
+   Dumping is done by calling the function pdump() (in dumper.c) which
+is invoked from Fdump_emacs (in emacs.c).  This function performs a
+number of tasks.
 
 * Menu:
 
@@ -1083,20 +1092,3 @@ comes to mind).
 
    The DOC file contents should probably end up in the dump file.
 
-\1f
-File: internals.info,  Node: Events and the Event Loop,  Next: Evaluation; Stack Frames; Bindings,  Prev: Dumping,  Up: Top
-
-Events and the Event Loop
-*************************
-
-* Menu:
-
-* Introduction to Events::
-* Main Loop::
-* Specifics of the Event Gathering Mechanism::
-* Specifics About the Emacs Event::
-* The Event Stream Callback Routines::
-* Other Event Loop Functions::
-* Converting Events::
-* Dispatching Events; The Command Builder::
-