X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=info%2Finternals.info-5;h=56833c546b317c36e0c7bc6890aa3f0463c5e028;hb=d8bd7eee3147c839d3c74d1823c139cd54867a75;hp=d2c73c5a508c4d3c92aba64f519a489ee0c4d7de;hpb=f52a96980ed9280f8f906a20d4b899dc0b027644;p=chise%2Fxemacs-chise.git diff --git a/info/internals.info-5 b/info/internals.info-5 index d2c73c5..56833c5 100644 --- a/info/internals.info-5 +++ b/info/internals.info-5 @@ -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 @@ -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. - -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:: -