From: tomo Date: Mon, 13 Aug 2001 11:10:25 +0000 (+0000) Subject: XEmacs 21.2.39 "Millennium". X-Git-Tag: r21-2-39~3 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=14144012929ab5944f367d5d1b323ab8268abb05;p=chise%2Fxemacs-chise.git- XEmacs 21.2.39 "Millennium". --- diff --git a/info/cl.info b/info/cl.info index 51c9517..2715500 100644 --- a/info/cl.info +++ b/info/cl.info @@ -29,11 +29,11 @@ the original English.  Indirect: cl.info-1: 1164 -cl.info-2: 46306 -cl.info-3: 89087 -cl.info-4: 137810 -cl.info-5: 175806 -cl.info-6: 218409 +cl.info-2: 46305 +cl.info-3: 89086 +cl.info-4: 137809 +cl.info-5: 175805 +cl.info-6: 218388  Tag Table: (Indirect) @@ -54,53 +54,53 @@ Node: Control Structure35701 Node: Assignment36505 Node: Generalized Variables37746 Node: Basic Setf39053 -Node: Modify Macros46306 -Node: Customizing Setf53515 -Node: Variable Bindings60804 -Node: Dynamic Bindings61385 -Node: Lexical Bindings62275 -Node: Function Bindings66379 -Node: Macro Bindings68766 -Node: Conditionals71689 -Node: Blocks and Exits74772 -Node: Iteration77828 -Node: Loop Facility83301 -Node: Loop Basics84228 -Node: Loop Examples86828 -Node: For Clauses89087 -Node: Iteration Clauses100964 -Node: Accumulation Clauses102805 -Node: Other Clauses105149 -Node: Multiple Values111218 -Node: Macros113111 -Node: Declarations116329 -Node: Symbols124815 -Node: Property Lists125096 -Node: Creating Symbols127287 -Node: Numbers129365 -Node: Predicates on Numbers129845 -Node: Numerical Functions130874 -Node: Random Numbers135101 -Node: Implementation Parameters137810 -Node: Sequences141382 -Node: Sequence Basics142055 -Node: Mapping over Sequences145633 -Node: Sequence Functions151487 -Node: Searching Sequences157662 -Node: Sorting Sequences160699 -Node: Lists163247 -Node: List Functions163672 -Node: Substitution of Expressions167935 -Node: Lists as Sets169821 -Node: Association Lists173883 -Node: Hash Tables175586 -Node: Structures175806 -Node: Assertions190589 -Node: Efficiency Concerns193532 -Node: Common Lisp Compatibility199859 -Node: Old CL Compatibility203015 -Node: Porting Common Lisp207398 -Node: Function Index218409 -Node: Variable Index229558 +Node: Modify Macros46305 +Node: Customizing Setf53514 +Node: Variable Bindings60803 +Node: Dynamic Bindings61384 +Node: Lexical Bindings62274 +Node: Function Bindings66378 +Node: Macro Bindings68765 +Node: Conditionals71688 +Node: Blocks and Exits74771 +Node: Iteration77827 +Node: Loop Facility83300 +Node: Loop Basics84227 +Node: Loop Examples86827 +Node: For Clauses89086 +Node: Iteration Clauses100963 +Node: Accumulation Clauses102804 +Node: Other Clauses105148 +Node: Multiple Values111217 +Node: Macros113110 +Node: Declarations116328 +Node: Symbols124814 +Node: Property Lists125095 +Node: Creating Symbols127286 +Node: Numbers129364 +Node: Predicates on Numbers129844 +Node: Numerical Functions130873 +Node: Random Numbers135100 +Node: Implementation Parameters137809 +Node: Sequences141381 +Node: Sequence Basics142054 +Node: Mapping over Sequences145632 +Node: Sequence Functions151486 +Node: Searching Sequences157661 +Node: Sorting Sequences160698 +Node: Lists163246 +Node: List Functions163671 +Node: Substitution of Expressions167934 +Node: Lists as Sets169820 +Node: Association Lists173882 +Node: Hash Tables175585 +Node: Structures175805 +Node: Assertions190588 +Node: Efficiency Concerns193511 +Node: Common Lisp Compatibility199838 +Node: Old CL Compatibility202994 +Node: Porting Common Lisp207377 +Node: Function Index218388 +Node: Variable Index229537  End Tag Table diff --git a/info/info.info b/info/info.info index 2158835..9e504e6 100644 --- a/info/info.info +++ b/info/info.info @@ -807,10 +807,10 @@ Creating an Info File *Note Overview of Texinfo: (texinfo)Top, to learn how to write a Texinfo file. - *Note Creating an Info File: (texinfo)Creating an Info File, to -learn how to create an Info file from a Texinfo file. + *Note Creating an Info File: (texinfo)Create an Info File, to learn +how to create an Info file from a Texinfo file. - *Note Installing an Info File: (texinfo)Installing an Info File, to + *Note Installing an Info File: (texinfo)Install an Info File, to learn how to install an Info file after you have created one. diff --git a/info/internals.info b/info/internals.info index fd90b74..9336f06 100644 --- a/info/internals.info +++ b/info/internals.info @@ -40,150 +40,157 @@ Foundation instead of in the original English.  Indirect: internals.info-1: 1776 -internals.info-2: 46627 -internals.info-3: 94463 -internals.info-4: 144160 -internals.info-5: 194051 -internals.info-6: 243655 -internals.info-7: 287722 -internals.info-8: 336589 +internals.info-2: 46637 +internals.info-3: 94562 +internals.info-4: 144259 +internals.info-5: 194150 +internals.info-6: 243751 +internals.info-7: 287818 +internals.info-8: 336685  Tag Table: (Indirect) Node: Top1776 -Node: A History of Emacs7030 -Node: Through Version 188555 -Node: Lucid Emacs12003 -Node: GNU Emacs 1915021 -Node: GNU Emacs 2017204 -Node: XEmacs17631 -Node: XEmacs From the Outside20810 -Node: The Lisp Language22577 -Node: XEmacs From the Perspective of Building32120 -Node: XEmacs From the Inside38245 -Node: The XEmacs Object System (Abstractly Speaking)46627 -Node: How Lisp Objects Are Represented in C60713 -Node: Rules When Writing New C Code65390 -Node: General Coding Rules66194 -Node: Writing Lisp Primitives71915 -Node: Adding Global Lisp Variables83084 -Node: Coding for Mule86722 -Node: Character-Related Data Types87701 -Node: Working With Character and Byte Positions90698 -Node: Conversion to and from External Data94463 -Node: General Guidelines for Writing Mule-Aware Code100604 -Node: An Example of Mule-Aware Code103292 -Node: Techniques for XEmacs Developers105273 -Node: A Summary of the Various XEmacs Modules113220 -Node: Low-Level Modules114040 -Node: Basic Lisp Modules121501 -Node: Modules for Standard Editing Operations128095 -Node: Editor-Level Control Flow Modules133983 -Node: Modules for the Basic Displayable Lisp Objects137494 -Node: Modules for other Display-Related Lisp Objects140447 -Node: Modules for the Redisplay Mechanism141788 -Node: Modules for Interfacing with the File System144160 -Node: Modules for Other Aspects of the Lisp Interpreter and Object System147858 -Node: Modules for Interfacing with the Operating System153311 -Node: Modules for Interfacing with X Windows160867 -Node: Modules for Internationalization164350 -Node: Allocation of Objects in XEmacs Lisp166987 -Node: Introduction to Allocation167508 -Node: Garbage Collection171194 -Node: GCPROing172350 -Node: Garbage Collection - Step by Step179354 -Node: Invocation179746 -Node: garbage_collect_1182759 -Node: mark_object192239 -Node: gc_sweep194051 -Node: sweep_lcrecords_1199114 -Node: compact_string_chars200109 -Node: sweep_strings202289 -Node: sweep_bit_vectors_1203254 -Node: Integers and Characters203930 -Node: Allocation from Frob Blocks204682 -Node: lrecords206286 -Node: Low-level allocation218512 -Node: Cons222619 -Node: Vector223345 -Node: Bit Vector223922 -Node: Symbol224415 -Node: Marker224769 -Node: String225324 -Node: Compiled Function228937 -Node: Dumping229106 -Node: Overview231327 -Node: Data descriptions231897 -Node: Dumping phase233902 -Node: Object inventory234305 -Node: Address allocation237159 -Node: The header238546 -Node: Data dumping239054 -Node: Pointers dumping239715 -Node: Reloading phase240933 -Node: Remaining issues242694 -Node: Events and the Event Loop243655 -Node: Introduction to Events244105 -Node: Main Loop246054 -Node: Specifics of the Event Gathering Mechanism249629 -Node: Specifics About the Emacs Event262082 -Node: The Event Stream Callback Routines262337 -Node: Other Event Loop Functions262582 -Node: Converting Events263722 -Node: Dispatching Events; The Command Builder264331 -Node: Evaluation; Stack Frames; Bindings264566 -Node: Evaluation264908 -Node: Dynamic Binding; The specbinding Stack; Unwind-Protects271463 -Node: Simple Special Forms273847 -Node: Catch and Throw274630 -Node: Symbols and Variables277205 -Node: Introduction to Symbols277469 -Node: Obarrays278537 -Node: Symbol Values282070 -Node: Buffers and Textual Representation284358 -Node: Introduction to Buffers285016 -Node: The Text in a Buffer287722 -Node: Buffer Lists294872 -Node: Markers and Extents296823 -Node: Bufbytes and Emchars299088 -Node: The Buffer Object299303 -Node: MULE Character Sets and Encodings302783 -Node: Character Sets303845 -Node: Encodings307330 -Node: Japanese EUC (Extended Unix Code)308397 -Node: JIS7309229 -Node: Internal Mule Encodings310579 -Node: Internal String Encoding312409 -Node: Internal Character Encoding314554 -Node: CCL316278 -Node: The Lisp Reader and Compiler323031 -Node: Lstreams323244 -Node: Creating an Lstream324275 -Node: Lstream Types325502 -Node: Lstream Functions325754 -Node: Lstream Methods329320 -Node: Consoles; Devices; Frames; Windows332462 -Node: Introduction to Consoles; Devices; Frames; Windows332777 -Node: Point335310 -Node: Window Hierarchy336589 -Node: The Window Object341041 -Node: The Redisplay Mechanism344478 -Node: Critical Redisplay Sections345270 -Node: Line Start Cache346257 -Node: Redisplay Piece by Piece349493 -Node: Extents351530 -Node: Introduction to Extents352064 -Node: Extent Ordering353206 -Node: Format of the Extent Info354447 -Node: Zero-Length Extents356334 -Node: Mathematics of Extent Ordering357734 -Node: Extent Fragments362491 -Node: Faces363577 -Node: Glyphs363693 -Node: Specifiers366712 -Node: Menus366841 -Node: Subprocesses369099 -Node: Interface to X Windows371075 -Node: Index371246 +Node: A History of Emacs7040 +Node: Through Version 188565 +Node: Lucid Emacs12013 +Node: GNU Emacs 1915031 +Node: GNU Emacs 2017214 +Node: XEmacs17641 +Node: XEmacs From the Outside20820 +Node: The Lisp Language22587 +Node: XEmacs From the Perspective of Building32130 +Node: XEmacs From the Inside38255 +Node: The XEmacs Object System (Abstractly Speaking)46637 +Node: How Lisp Objects Are Represented in C60723 +Node: Rules When Writing New C Code65400 +Node: General Coding Rules66204 +Node: Writing Lisp Primitives72014 +Node: Adding Global Lisp Variables83183 +Node: Coding for Mule86821 +Node: Character-Related Data Types87800 +Node: Working With Character and Byte Positions90797 +Node: Conversion to and from External Data94562 +Node: General Guidelines for Writing Mule-Aware Code100703 +Node: An Example of Mule-Aware Code103391 +Node: Techniques for XEmacs Developers105372 +Node: A Summary of the Various XEmacs Modules113319 +Node: Low-Level Modules114139 +Node: Basic Lisp Modules121600 +Node: Modules for Standard Editing Operations128194 +Node: Editor-Level Control Flow Modules134082 +Node: Modules for the Basic Displayable Lisp Objects137593 +Node: Modules for other Display-Related Lisp Objects140546 +Node: Modules for the Redisplay Mechanism141887 +Node: Modules for Interfacing with the File System144259 +Node: Modules for Other Aspects of the Lisp Interpreter and Object System147957 +Node: Modules for Interfacing with the Operating System153410 +Node: Modules for Interfacing with X Windows160966 +Node: Modules for Internationalization164449 +Node: Allocation of Objects in XEmacs Lisp167086 +Node: Introduction to Allocation167607 +Node: Garbage Collection171293 +Node: GCPROing172449 +Node: Garbage Collection - Step by Step179453 +Node: Invocation179845 +Node: garbage_collect_1182858 +Node: mark_object192338 +Node: gc_sweep194150 +Node: sweep_lcrecords_1199213 +Node: compact_string_chars200208 +Node: sweep_strings202388 +Node: sweep_bit_vectors_1203353 +Node: Integers and Characters204029 +Node: Allocation from Frob Blocks204781 +Node: lrecords206385 +Node: Low-level allocation218611 +Node: Cons222718 +Node: Vector223444 +Node: Bit Vector224021 +Node: Symbol224514 +Node: Marker224868 +Node: String225423 +Node: Compiled Function229036 +Node: Dumping229205 +Node: Overview231426 +Node: Data descriptions231996 +Node: Dumping phase234001 +Node: Object inventory234404 +Node: Address allocation237257 +Node: The header238646 +Node: Data dumping239153 +Node: Pointers dumping239814 +Node: Reloading phase241029 +Node: Remaining issues242790 +Node: Events and the Event Loop243751 +Node: Introduction to Events244201 +Node: Main Loop246150 +Node: Specifics of the Event Gathering Mechanism249725 +Node: Specifics About the Emacs Event262178 +Node: The Event Stream Callback Routines262433 +Node: Other Event Loop Functions262678 +Node: Converting Events263818 +Node: Dispatching Events; The Command Builder264427 +Node: Evaluation; Stack Frames; Bindings264662 +Node: Evaluation265004 +Node: Dynamic Binding; The specbinding Stack; Unwind-Protects271559 +Node: Simple Special Forms273943 +Node: Catch and Throw274726 +Node: Symbols and Variables277301 +Node: Introduction to Symbols277565 +Node: Obarrays278633 +Node: Symbol Values282166 +Node: Buffers and Textual Representation284454 +Node: Introduction to Buffers285112 +Node: The Text in a Buffer287818 +Node: Buffer Lists294968 +Node: Markers and Extents296919 +Node: Bufbytes and Emchars299184 +Node: The Buffer Object299399 +Node: MULE Character Sets and Encodings302879 +Node: Character Sets303941 +Node: Encodings307426 +Node: Japanese EUC (Extended Unix Code)308493 +Node: JIS7309325 +Node: Internal Mule Encodings310675 +Node: Internal String Encoding312505 +Node: Internal Character Encoding314650 +Node: CCL316374 +Node: The Lisp Reader and Compiler323127 +Node: Lstreams323340 +Node: Creating an Lstream324371 +Node: Lstream Types325598 +Node: Lstream Functions325850 +Node: Lstream Methods329416 +Node: Consoles; Devices; Frames; Windows332558 +Node: Introduction to Consoles; Devices; Frames; Windows332873 +Node: Point335406 +Node: Window Hierarchy336685 +Node: The Window Object341137 +Node: The Redisplay Mechanism344574 +Node: Critical Redisplay Sections345366 +Node: Line Start Cache346353 +Node: Redisplay Piece by Piece349589 +Node: Extents351626 +Node: Introduction to Extents352160 +Node: Extent Ordering353302 +Node: Format of the Extent Info354543 +Node: Zero-Length Extents356430 +Node: Mathematics of Extent Ordering357830 +Node: Extent Fragments362587 +Node: Faces363673 +Node: Glyphs363789 +Node: Specifiers365976 +Node: Menus366105 +Node: Subprocesses368363 +Node: Interface to the X Window System370349 +Node: Lucid Widget Library370630 +Node: Generic Widget Interface371921 +Node: Scrollbars375480 +Node: Menubars375623 +Node: Checkboxes and Radio Buttons375766 +Node: Progress Bars375952 +Node: Tab Controls376112 +Node: Index376233  End Tag Table diff --git a/info/internals.info-1 b/info/internals.info-1 index f57d28d..880768a 100644 --- a/info/internals.info-1 +++ b/info/internals.info-1 @@ -70,7 +70,7 @@ File: internals.info, Node: Top, Next: A History of Emacs, Prev: (dir), Up: * Specifiers:: * Menus:: * Subprocesses:: -* Interface to X Windows:: +* Interface to the X Window System:: * Index:: diff --git a/info/internals.info-2 b/info/internals.info-2 index b3867f7..0d0f625 100644 --- a/info/internals.info-2 +++ b/info/internals.info-2 @@ -507,21 +507,6 @@ been found by compiling with C++. The ability to use both C and C++ tools means that a greater variety of development tools are available to the developer. - Almost every module contains a `syms_of_*()' function and a -`vars_of_*()' function. The former declares any Lisp primitives you -have defined and defines any symbols you will be using. The latter -declares any global Lisp variables you have added and initializes global -C variables in the module. For each such function, declare it in -`symsinit.h' and make sure it's called in the appropriate place in -`emacs.c'. *Important*: There are stringent requirements on exactly -what can go into these functions. See the comment in `emacs.c'. The -reason for this is to avoid obscure unwanted interactions during -initialization. If you don't follow these rules, you'll be sorry! If -you want to do anything that isn't allowed, create a -`complex_vars_of_*()' function for it. Doing this is tricky, though: -You have to make sure your function is called at the right time so that -all the initialization dependencies work out. - Every module includes `' (angle brackets so that `--srcdir' works correctly; `config.h' may or may not be in the same directory as the C sources) and `lisp.h'. `config.h' must always be @@ -538,6 +523,23 @@ directory using `./configure' and another build in another directory using `../work/configure'. There will be two different `config.h' files. Which one will be used if you `#include "config.h"'? + Almost every module contains a `syms_of_*()' function and a +`vars_of_*()' function. The former declares any Lisp primitives you +have defined and defines any symbols you will be using. The latter +declares any global Lisp variables you have added and initializes global +C variables in the module. *Important*: There are stringent +requirements on exactly what can go into these functions. See the +comment in `emacs.c'. The reason for this is to avoid obscure unwanted +interactions during initialization. If you don't follow these rules, +you'll be sorry! If you want to do anything that isn't allowed, create +a `complex_vars_of_*()' function for it. Doing this is tricky, though: +you have to make sure your function is called at the right time so that +all the initialization dependencies work out. + + Declare each function of these kinds in `symsinit.h'. Make sure +it's called in the appropriate place in `emacs.c'. You never need to +include `symsinit.h' directly, because it is included by `lisp.h'. + *All global and static variables that are to be modifiable must be declared uninitialized.* This means that you may not use the "declare with initializer" form for these variables, such as `int some_variable diff --git a/info/lispref.info b/info/lispref.info index 6ab2727..f9132e6 100644 --- a/info/lispref.info +++ b/info/lispref.info @@ -52,867 +52,868 @@ Foundation instead of in the original English.  Indirect: lispref.info-1: 2366 -lispref.info-2: 48665 -lispref.info-3: 97152 -lispref.info-4: 146992 -lispref.info-5: 196731 -lispref.info-6: 245085 -lispref.info-7: 293492 -lispref.info-8: 342147 -lispref.info-9: 387229 -lispref.info-10: 436160 -lispref.info-11: 485017 -lispref.info-12: 533548 -lispref.info-13: 581024 -lispref.info-14: 630620 -lispref.info-15: 678992 -lispref.info-16: 724920 -lispref.info-17: 770257 -lispref.info-18: 817727 -lispref.info-19: 865285 -lispref.info-20: 912910 -lispref.info-21: 960937 -lispref.info-22: 1009857 -lispref.info-23: 1056119 -lispref.info-24: 1102583 -lispref.info-25: 1152243 -lispref.info-26: 1200932 -lispref.info-27: 1249787 -lispref.info-28: 1298454 -lispref.info-29: 1345033 -lispref.info-30: 1393850 -lispref.info-31: 1442263 -lispref.info-32: 1492252 -lispref.info-33: 1540816 -lispref.info-34: 1587991 -lispref.info-35: 1637817 -lispref.info-36: 1686493 -lispref.info-37: 1732226 -lispref.info-38: 1781365 -lispref.info-39: 1828801 -lispref.info-40: 1877354 -lispref.info-41: 1923907 -lispref.info-42: 1972602 -lispref.info-43: 2016977 -lispref.info-44: 2061346 -lispref.info-45: 2107840 -lispref.info-46: 2148682 -lispref.info-47: 2197899 -lispref.info-48: 2211766 +lispref.info-2: 49116 +lispref.info-3: 97603 +lispref.info-4: 147443 +lispref.info-5: 197182 +lispref.info-6: 245536 +lispref.info-7: 293943 +lispref.info-8: 342608 +lispref.info-9: 387690 +lispref.info-10: 436621 +lispref.info-11: 485478 +lispref.info-12: 534009 +lispref.info-13: 581561 +lispref.info-14: 629419 +lispref.info-15: 678834 +lispref.info-16: 726829 +lispref.info-17: 772166 +lispref.info-18: 819636 +lispref.info-19: 867194 +lispref.info-20: 914820 +lispref.info-21: 962847 +lispref.info-22: 1011769 +lispref.info-23: 1058032 +lispref.info-24: 1104496 +lispref.info-25: 1154156 +lispref.info-26: 1202847 +lispref.info-27: 1251702 +lispref.info-28: 1300369 +lispref.info-29: 1350320 +lispref.info-30: 1398469 +lispref.info-31: 1444124 +lispref.info-32: 1494113 +lispref.info-33: 1542683 +lispref.info-34: 1589888 +lispref.info-35: 1639714 +lispref.info-36: 1688390 +lispref.info-37: 1734123 +lispref.info-38: 1783262 +lispref.info-39: 1830704 +lispref.info-40: 1879257 +lispref.info-41: 1925810 +lispref.info-42: 1974505 +lispref.info-43: 2018880 +lispref.info-44: 2063249 +lispref.info-45: 2109743 +lispref.info-46: 2150585 +lispref.info-47: 2199803 +lispref.info-48: 2213672  Tag Table: (Indirect) Node: Top2366 -Node: Copying48665 -Node: Introduction67823 -Node: Caveats69414 -Node: Lisp History71093 -Node: Conventions72349 -Node: Some Terms73164 -Node: nil and t73885 -Node: Evaluation Notation75562 -Node: Printing Notation76475 -Node: Error Messages77349 -Node: Buffer Text Notation77790 -Node: Format of Descriptions78665 -Node: A Sample Function Description79519 -Node: A Sample Variable Description83505 -Node: Acknowledgements84413 -Node: Lisp Data Types86391 -Node: Printed Representation88946 -Node: Comments90988 -Node: Primitive Types91885 -Node: Programming Types93544 -Node: Integer Type95496 -Node: Floating Point Type96533 -Node: Character Type97152 -Node: Symbol Type105056 -Node: Sequence Type107751 -Node: Cons Cell Type109270 -Node: Dotted Pair Notation113754 -Node: Association List Type115875 -Node: Array Type116758 -Node: String Type118224 -Node: Vector Type120905 -Node: Bit Vector Type121677 -Node: Function Type122539 -Node: Macro Type123652 -Node: Primitive Function Type124349 -Node: Compiled-Function Type125875 -Node: Autoload Type126429 -Node: Char Table Type127443 -Node: Hash Table Type127617 -Node: Range Table Type128772 -Node: Weak List Type129625 -Node: Editing Types129775 -Node: Buffer Type131402 -Node: Marker Type133429 -Node: Extent Type134153 -Node: Window Type135421 -Node: Frame Type136832 -Node: Device Type137627 -Node: Console Type138453 -Node: Window Configuration Type139654 -Node: Event Type140352 -Node: Process Type140516 -Node: Stream Type141551 -Node: Keymap Type142674 -Node: Syntax Table Type143212 -Node: Display Table Type144235 -Node: Database Type144674 -Node: Charset Type144840 -Node: Coding System Type145004 -Node: ToolTalk Message Type145188 -Node: ToolTalk Pattern Type145387 -Node: Window-System Types145559 -Node: Face Type146705 -Node: Glyph Type146836 -Node: Specifier Type146992 -Node: Font Instance Type147165 -Node: Color Instance Type147355 -Node: Image Instance Type147552 -Node: Toolbar Button Type147750 -Node: Subwindow Type147943 -Node: X Resource Type148122 -Node: Type Predicates148275 -Node: Equality Predicates157404 -Node: Numbers162215 -Node: Integer Basics163670 -Node: Float Basics166019 -Node: Predicates on Numbers167761 -Node: Comparison of Numbers169394 -Node: Numeric Conversions173215 -Node: Arithmetic Operations174681 -Node: Rounding Operations180820 -Node: Bitwise Operations181933 -Node: Math Functions190979 -Node: Random Numbers193512 -Node: Strings and Characters195278 -Node: String Basics196731 -Node: Predicates for Strings199149 -Node: Creating Strings199912 -Node: Predicates for Characters205253 -Node: Character Codes206324 -Node: Text Comparison207744 -Node: String Conversion211189 -Node: Modifying Strings214859 -Node: String Properties215500 -Node: Formatting Strings216145 -Node: Character Case225763 -Node: Case Tables229317 -Node: Char Tables233288 -Node: Char Table Types234680 -Node: Working With Char Tables236265 -Node: Lists238282 -Node: Cons Cells239405 -Node: Lists as Boxes240741 -Node: List-related Predicates243383 -Node: List Elements245085 -Node: Building Lists250114 -Node: Modifying Lists256106 -Node: Setcar256918 -Node: Setcdr259349 -Node: Rearrangement261870 -Node: Sets And Lists267456 -Node: Association Lists271684 -Ref: Association Lists-Footnote-1280975 -Node: Property Lists281180 -Node: Working With Normal Plists282728 -Node: Working With Lax Plists285065 -Node: Converting Plists To/From Alists287345 -Node: Weak Lists288693 -Node: Sequences Arrays Vectors290856 -Node: Sequence Functions293492 -Node: Arrays297151 -Node: Array Functions300215 -Node: Vectors302748 -Node: Vector Functions304246 -Node: Bit Vectors306817 -Node: Bit Vector Functions307662 -Node: Symbols309961 -Node: Symbol Components311010 -Node: Definitions315183 -Node: Creating Symbols317408 -Node: Symbol Properties324442 -Node: Plists and Alists325969 -Node: Object Plists327718 -Node: Other Plists330478 -Node: Evaluation332277 -Node: Intro Eval333082 -Ref: Intro Eval-Footnote-1336435 -Node: Eval336570 -Node: Forms340988 -Node: Self-Evaluating Forms342147 -Node: Symbol Forms343660 -Node: Classifying Lists344577 -Node: Function Indirection345333 -Node: Function Forms348432 -Node: Macro Forms349429 -Node: Special Forms351029 -Node: Autoloading353338 -Node: Quoting353836 -Node: Control Structures355197 -Node: Sequencing356817 -Node: Conditionals359682 -Node: Combining Conditions363105 -Node: Iteration366375 -Node: Nonlocal Exits368154 -Node: Catch and Throw368856 -Node: Examples of Catch372695 -Node: Errors374714 -Node: Signaling Errors376203 -Node: Processing of Errors384950 -Node: Handling Errors387229 -Node: Error Symbols394470 -Node: Cleanups398426 -Node: Variables402204 -Node: Global Variables403973 -Node: Constant Variables405049 -Node: Local Variables405675 -Node: Void Variables410612 -Node: Defining Variables414128 -Node: Accessing Variables421292 -Node: Setting Variables422717 -Node: Variable Scoping427236 -Node: Scope428835 -Node: Extent430360 -Node: Impl of Scope431839 -Node: Using Scoping433802 -Node: Buffer-Local Variables435324 -Node: Intro to Buffer-Local436160 -Node: Creating Buffer-Local438703 -Node: Default Value444602 -Node: Variable Aliases447745 -Node: Functions449596 -Node: What Is a Function450690 -Node: Lambda Expressions454736 -Node: Lambda Components455646 -Node: Simple Lambda457478 -Node: Argument List459135 -Node: Function Documentation462863 -Node: Function Names464805 -Node: Defining Functions467378 -Node: Calling Functions470418 -Node: Mapping Functions474266 -Node: Anonymous Functions476954 -Node: Function Cells480199 -Node: Inline Functions485017 -Node: Related Topics486827 -Node: Macros487880 -Node: Simple Macro489164 -Node: Expansion489899 -Node: Compiling Macros492903 -Node: Defining Macros494739 -Node: Backquote496056 -Node: Problems with Macros498453 -Node: Argument Evaluation499148 -Node: Surprising Local Vars502063 -Node: Eval During Expansion504131 -Node: Repeated Expansion505824 -Node: Customization507740 -Node: Common Keywords508209 -Node: Group Definitions511054 -Node: Variable Definitions513246 -Node: Customization Types518236 -Node: Simple Types519671 -Node: Composite Types521828 -Node: Splicing into Lists526518 -Node: Type Keywords528353 -Node: Loading531873 -Node: How Programs Do Loading533548 -Node: Autoload542674 -Node: Repeated Loading548744 -Node: Named Features550857 -Node: Unloading557287 -Node: Hooks for Loading559443 -Node: Byte Compilation560160 -Node: Speed of Byte-Code562077 -Node: Compilation Functions563284 -Node: Docs and Compilation569941 -Node: Dynamic Loading572594 -Node: Eval During Compile574958 -Node: Compiled-Function Objects576223 -Node: Disassembly581024 -Node: Debugging588278 -Node: Debugger589690 -Node: Error Debugging590835 -Node: Infinite Loops593588 -Node: Function Debugging594832 -Node: Explicit Debug597632 -Node: Using Debugger598403 -Node: Debugger Commands600265 -Node: Invoking the Debugger604582 -Node: Internals of Debugger608497 -Node: Syntax Errors613384 -Node: Excess Open614632 -Node: Excess Close616507 -Node: Compilation Errors617928 -Node: Edebug619216 -Node: Using Edebug621324 -Node: Instrumenting624021 -Node: Edebug Execution Modes627510 -Node: Jumping630620 -Node: Edebug Misc632963 -Node: Breakpoints634352 -Node: Global Break Condition637158 -Node: Embedded Breakpoints638113 -Node: Trapping Errors639068 -Node: Edebug Views641144 -Node: Edebug Eval643109 -Node: Eval List644286 -Node: Reading in Edebug647671 -Node: Printing in Edebug648470 -Node: Tracing650185 -Node: Coverage Testing652073 -Node: The Outside Context654114 -Node: Checking Whether to Stop655063 -Node: Edebug Display Update655710 -Node: Edebug Recursive Edit657733 -Node: Instrumenting Macro Calls659388 -Node: Specification List661870 -Node: Backtracking671281 -Node: Debugging Backquote673219 -Node: Specification Examples676925 -Node: Edebug Options678992 -Node: Read and Print684331 -Node: Streams Intro685308 -Node: Input Streams687326 -Node: Input Functions692227 -Node: Output Streams694287 -Node: Output Functions698338 -Node: Output Variables702638 -Node: Minibuffers707439 -Node: Intro to Minibuffers708591 -Node: Text from Minibuffer710779 -Node: Object from Minibuffer715873 -Node: Minibuffer History719966 -Node: Completion722945 -Node: Basic Completion724920 -Node: Minibuffer Completion729803 -Node: Completion Commands733380 -Node: High-Level Completion738037 -Node: Reading File Names742786 -Node: Programmed Completion746478 -Node: Yes-or-No Queries748860 -Node: Multiple Queries754597 -Node: Reading a Password758664 -Node: Minibuffer Misc760007 -Node: Command Loop764887 -Node: Command Overview766231 -Node: Defining Commands769509 -Node: Using Interactive770257 -Node: Interactive Codes775030 -Node: Interactive Examples780822 -Node: Interactive Call782136 -Node: Command Loop Info787551 -Node: Events792530 -Node: Event Types793991 -Node: Event Contents795914 -Node: Event Predicates800390 -Node: Accessing Mouse Event Positions801708 -Node: Frame-Level Event Position Info802407 -Node: Window-Level Event Position Info803447 -Node: Event Text Position Info805211 -Node: Event Glyph Position Info807703 -Node: Event Toolbar Position Info809026 -Node: Other Event Position Info809697 -Node: Accessing Other Event Info810106 -Node: Working With Events811726 -Node: Converting Events817727 -Node: Reading Input821126 -Node: Key Sequence Input822128 -Node: Reading One Event824763 -Node: Dispatching an Event827587 -Node: Quoted Character Input828038 -Node: Peeking and Discarding829386 -Node: Waiting833290 -Node: Quitting835604 -Node: Prefix Command Arguments840012 -Node: Recursive Editing845099 -Node: Disabling Commands849894 -Node: Command History851962 -Node: Keyboard Macros853699 -Node: Keymaps855916 -Node: Keymap Terminology857493 -Node: Format of Keymaps860422 -Node: Creating Keymaps860833 -Node: Inheritance and Keymaps862913 -Node: Key Sequences865285 -Node: Prefix Keys870081 -Node: Active Keymaps873666 -Node: Key Lookup883037 -Node: Functions for Key Lookup888200 -Node: Changing Key Bindings893901 -Node: Key Binding Commands901063 -Node: Scanning Keymaps903128 -Node: Other Keymap Functions911696 -Node: Menus912318 -Node: Menu Format912910 -Node: Menubar Format921556 -Node: Menubar922181 -Node: Modifying Menus925294 -Node: Menu Filters930638 -Node: Pop-Up Menus932534 -Node: Menu Accelerators934862 -Node: Creating Menu Accelerators935618 -Node: Keyboard Menu Traversal936978 -Node: Menu Accelerator Functions937705 -Node: Buffers Menu940781 -Node: Dialog Boxes942075 -Node: Dialog Box Format942242 -Node: Dialog Box Functions943667 -Node: Toolbar944064 -Node: Toolbar Intro944499 -Node: Creating Toolbar946899 -Node: Toolbar Descriptor Format947816 -Node: Specifying the Toolbar952313 -Node: Other Toolbar Variables955920 -Node: Gutter960348 -Node: Gutter Intro960937 -Node: Creating Gutter962940 -Node: Gutter Descriptor Format965827 -Node: Specifying a Gutter970284 -Node: Other Gutter Variables973819 -Node: Common Gutter Widgets978206 -Node: Buffer Tabs979198 -Node: Progress Bars979339 -Node: Scrollbars979484 -Node: Drag and Drop979619 -Node: Supported Protocols980695 -Node: OffiX DND981198 -Node: CDE dt982205 -Node: MSWindows OLE982796 -Node: Loose ends982967 -Node: Drop Interface983359 -Node: Drag Interface984381 -Node: Modes984555 -Node: Major Modes985506 -Node: Major Mode Conventions988421 -Node: Example Major Modes994376 -Node: Auto Major Mode1002409 -Node: Mode Help1009857 -Node: Derived Modes1010958 -Node: Minor Modes1013149 -Node: Minor Mode Conventions1014451 -Node: Keymaps and Minor Modes1017314 -Node: Modeline Format1018149 -Node: Modeline Data1019917 -Node: Modeline Variables1025070 -Node: %-Constructs1029786 -Node: Hooks1032773 -Node: Documentation1039533 -Node: Documentation Basics1040956 -Node: Accessing Documentation1044006 -Node: Keys in Documentation1050287 -Node: Describing Characters1053770 -Node: Help Functions1056119 -Node: Obsoleteness1062569 -Node: Files1065561 -Node: Visiting Files1067486 -Node: Visiting Functions1068991 -Node: Subroutines of Visiting1074149 -Node: Saving Buffers1076222 -Node: Reading from Files1082315 -Node: Writing to Files1084476 -Node: File Locks1087193 -Node: Information about Files1090260 -Node: Testing Accessibility1091021 -Node: Kinds of Files1094761 -Node: Truenames1096442 -Node: File Attributes1097444 -Node: Changing File Attributes1102583 -Node: File Names1108005 -Node: File Name Components1109578 -Node: Directory Names1112023 -Node: Relative File Names1115253 -Node: File Name Expansion1116223 -Node: Unique File Names1119977 -Node: File Name Completion1121592 -Node: User Name Completion1124860 -Node: Contents of Directories1126267 -Node: Create/Delete Dirs1129580 -Node: Magic File Names1130686 -Node: Partial Files1136334 -Node: Intro to Partial Files1136562 -Node: Creating a Partial File1137802 -Node: Detached Partial Files1138738 -Node: Format Conversion1139860 -Node: Files and MS-DOS1145358 -Node: Backups and Auto-Saving1147422 -Node: Backup Files1148097 -Node: Making Backups1149494 -Node: Rename or Copy1152243 -Node: Numbered Backups1154736 -Node: Backup Names1156971 -Node: Auto-Saving1160263 -Node: Reverting1168424 -Node: Buffers1171759 -Node: Buffer Basics1173175 -Node: Current Buffer1175228 -Node: Buffer Names1179932 -Node: Buffer File Name1183139 -Node: Buffer Modification1187258 -Node: Modification Time1189501 -Node: Read Only Buffers1192876 -Node: The Buffer List1196115 -Node: Creating Buffers1200932 -Node: Killing Buffers1203078 -Node: Indirect Buffers1206910 -Node: Windows1209484 -Node: Basic Windows1210962 -Node: Splitting Windows1214060 -Node: Deleting Windows1219386 -Node: Selecting Windows1223304 -Node: Cyclic Window Ordering1227527 -Node: Buffers and Windows1232682 -Node: Displaying Buffers1234460 -Node: Choosing Window1239799 -Node: Window Point1247717 -Node: Window Start1249787 -Node: Vertical Scrolling1254586 -Node: Horizontal Scrolling1260784 -Node: Size of Window1264313 -Node: Position of Window1269031 -Node: Resizing Windows1271284 -Node: Window Configurations1276722 -Node: Frames1280219 -Node: Creating Frames1282560 -Node: Frame Properties1283900 -Node: Property Access1284716 -Node: Initial Properties1285623 -Node: X Frame Properties1288109 -Node: Size and Position1292743 -Node: Frame Name1294741 -Node: Frame Titles1295655 -Node: Deleting Frames1297479 -Node: Finding All Frames1298454 -Node: Frames and Windows1301682 -Node: Minibuffers and Frames1304464 -Node: Input Focus1305382 -Node: Visibility of Frames1308487 -Node: Raising and Lowering1310477 -Node: Frame Configurations1312853 -Node: Frame Hooks1313910 -Node: Consoles and Devices1315715 -Node: Basic Console Functions1318458 -Node: Basic Device Functions1318881 -Node: Console Types and Device Classes1319727 -Node: Connecting to a Console or Device1321994 -Node: The Selected Console and Device1324178 -Node: Console and Device I/O1325204 -Node: Positions1325968 -Node: Point1326937 -Node: Motion1330027 -Node: Character Motion1330794 -Node: Word Motion1333031 -Node: Buffer End Motion1334532 -Node: Text Lines1336069 -Node: Screen Lines1340970 -Node: List Motion1345033 -Node: Skipping Characters1348515 -Node: Excursions1350734 -Node: Narrowing1353774 -Node: Markers1359105 -Node: Overview of Markers1360011 -Node: Predicates on Markers1364703 -Node: Creating Markers1365949 -Node: Information from Markers1370149 -Node: Changing Markers1371247 -Node: The Mark1372775 -Node: The Region1381278 -Node: Text1386964 -Node: Near Point1389663 -Node: Buffer Contents1393850 -Node: Comparing Text1395256 -Node: Insertion1396664 -Node: Commands for Insertion1400574 -Node: Deletion1403468 -Node: User-Level Deletion1407062 -Node: The Kill Ring1411222 -Node: Kill Ring Concepts1413396 -Node: Kill Functions1414450 -Node: Yank Commands1416373 -Node: Low-Level Kill Ring1418244 -Node: Internals of Kill Ring1421330 -Node: Undo1424110 -Node: Maintaining Undo1428447 -Node: Filling1431065 -Node: Margins1437059 -Node: Auto Filling1441082 -Node: Sorting1442263 -Node: Columns1451577 -Node: Indentation1454658 -Node: Primitive Indent1455437 -Node: Mode-Specific Indent1456762 -Node: Region Indent1459294 -Node: Relative Indent1462241 -Node: Indent Tabs1464623 -Node: Motion by Indent1465944 -Node: Case Changes1466723 -Node: Text Properties1470076 -Node: Examining Properties1471889 -Node: Changing Properties1473772 -Node: Property Search1477363 -Node: Special Properties1482082 -Node: Saving Properties1482363 -Node: Substitution1485505 -Node: Registers1488775 -Node: Transposition1491358 -Node: Change Hooks1492252 -Node: Transformations1494292 -Node: Searching and Matching1499396 -Node: String Search1500527 -Node: Regular Expressions1505508 -Node: Syntax of Regexps1506875 -Node: Regexp Example1521478 -Node: Regexp Search1523648 -Node: POSIX Regexps1529979 -Node: Search and Replace1532056 -Node: Match Data1535421 -Node: Simple Match Data1536551 -Node: Replacing Match1540816 -Node: Entire Match Data1543497 -Node: Saving Match Data1545735 -Node: Searching and Case1547123 -Node: Standard Regexps1549157 -Node: Syntax Tables1551355 -Node: Syntax Basics1552469 -Node: Syntax Descriptors1555441 -Node: Syntax Class Table1557291 -Node: Syntax Flags1563329 -Node: Syntax Table Functions1566546 -Node: Motion and Syntax1570834 -Node: Parsing Expressions1572286 -Node: Standard Syntax Tables1578355 -Node: Syntax Table Internals1579199 -Node: Abbrevs1580225 -Node: Abbrev Mode1582028 -Node: Abbrev Tables1582748 -Node: Defining Abbrevs1584287 -Node: Abbrev Files1586208 -Node: Abbrev Expansion1587991 -Node: Standard Abbrev Tables1592622 -Node: Extents1593781 -Node: Intro to Extents1595024 -Node: Creating and Modifying Extents1599016 -Node: Extent Endpoints1600597 -Node: Finding Extents1603860 -Node: Mapping Over Extents1607982 -Node: Extent Properties1614105 -Node: Detached Extents1624266 -Node: Extent Parents1626125 -Node: Duplicable Extents1627819 -Node: Extents and Events1631040 -Node: Atomic Extents1632947 -Node: Specifiers1633394 -Node: Introduction to Specifiers1635507 -Node: Specifiers In-Depth1637817 -Node: Specifier Instancing1642729 -Node: Specifier Types1645991 -Node: Adding Specifications1651065 -Node: Retrieving Specifications1660486 -Node: Specifier Tag Functions1664231 -Node: Specifier Instancing Functions1667465 -Node: Specifier Example1670872 -Node: Creating Specifiers1674028 -Node: Specifier Validation Functions1678345 -Node: Other Specification Functions1680731 -Node: Faces and Window-System Objects1684552 -Node: Faces1684876 -Node: Merging Faces1686493 -Node: Basic Face Functions1688454 -Node: Face Properties1690602 -Node: Face Convenience Functions1700875 -Node: Other Face Display Functions1704095 -Node: Fonts1704907 -Node: Font Specifiers1705608 -Node: Font Instances1706793 -Node: Font Instance Names1707760 -Node: Font Instance Size1708601 -Node: Font Instance Characteristics1709887 -Node: Font Convenience Functions1711065 -Node: Colors1712355 -Node: Color Specifiers1712795 -Node: Color Instances1715155 -Node: Color Instance Properties1715899 -Node: Color Convenience Functions1716525 -Node: Glyphs1717578 -Node: Glyph Functions1719179 -Node: Creating Glyphs1719586 -Node: Glyph Properties1732226 -Node: Glyph Convenience Functions1741393 -Node: Glyph Dimensions1745340 -Node: Images1746420 -Node: Image Specifiers1746869 -Node: Image Instantiator Conversion1762360 -Node: Image Instances1763725 -Node: Image Instance Types1764476 -Node: Image Instance Functions1767241 -Node: Glyph Types1774298 -Node: Mouse Pointer1776070 -Node: Redisplay Glyphs1779073 -Node: Subwindows1780106 -Node: Annotations1780349 -Node: Annotation Basics1781365 -Node: Annotation Primitives1785303 -Node: Annotation Properties1786642 -Node: Locating Annotations1789682 -Node: Margin Primitives1790519 -Node: Annotation Hooks1792413 -Node: Display1793073 -Node: Refresh Screen1794051 -Node: Truncation1796245 -Node: The Echo Area1798770 -Node: Warnings1805207 -Node: Invisible Text1809643 -Node: Selective Display1812222 -Node: Overlay Arrow1816348 -Node: Temporary Displays1817701 -Node: Blinking1821822 -Node: Usual Display1824006 -Node: Display Tables1826555 -Node: Display Table Format1827359 -Node: Active Display Table1828801 -Node: Character Descriptors1832796 -Node: Beeping1833553 -Node: Hash Tables1838319 -Node: Introduction to Hash Tables1838927 -Node: Working With Hash Tables1845486 -Node: Weak Hash Tables1846603 -Node: Range Tables1848620 -Node: Introduction to Range Tables1849309 -Node: Working With Range Tables1849755 -Node: Databases1850714 -Node: Connecting to a Database1851013 -Node: Working With a Database1852120 -Node: Other Database Functions1852994 -Node: Processes1853563 -Node: Subprocess Creation1855787 -Node: Synchronous Processes1859238 -Node: MS-DOS Subprocesses1865960 -Node: Asynchronous Processes1867034 -Node: Deleting Processes1871391 -Node: Process Information1873262 -Node: Input to Processes1877354 -Node: Signals to Processes1880049 -Node: Output from Processes1884864 -Node: Process Buffers1885676 -Node: Filter Functions1888555 -Node: Accepting Output1894146 -Node: Sentinels1895673 -Node: Process Window Size1899163 -Node: Transaction Queues1899512 -Node: Network1901210 -Node: System Interface1903844 -Node: Starting Up1905114 -Node: Start-up Summary1905708 -Node: Init File1909262 -Node: Terminal-Specific1911643 -Node: Command Line Arguments1914802 -Node: Getting Out1918291 -Node: Killing XEmacs1918860 -Node: Suspending XEmacs1920528 -Node: System Environment1923907 -Node: User Identification1930088 -Node: Time of Day1933617 -Node: Time Conversion1936404 -Node: Timers1941646 -Node: Terminal Input1943819 -Node: Input Modes1944322 -Node: Translating Input1946781 -Node: Recording Input1950946 -Node: Terminal Output1953046 -Node: Flow Control1956667 -Node: Batch Mode1960629 -Node: X-Windows1962011 -Node: X Selections1962882 -Node: X Server1965633 -Node: Resources1966084 -Node: Server Data1971395 -Node: Grabs1972602 -Node: X Miscellaneous1974182 -Node: ToolTalk Support1976567 -Node: XEmacs ToolTalk API Summary1976784 -Node: Sending Messages1978084 -Node: Example of Sending Messages1978335 -Node: Elisp Interface for Sending Messages1979397 -Node: Receiving Messages1985993 -Node: Example of Receiving Messages1986216 -Node: Elisp Interface for Receiving Messages1987052 -Node: LDAP Support1990909 -Node: Building XEmacs with LDAP support1991403 -Node: XEmacs LDAP API1992380 -Node: LDAP Variables1993432 -Node: The High-Level LDAP API1996032 -Node: The Low-Level LDAP API1999505 -Node: The LDAP Lisp Object2000336 -Node: Opening and Closing a LDAP Connection2000891 -Node: Low-level Operations on a LDAP Server2002697 -Node: LDAP Internationalization2005421 -Node: LDAP Internationalization Variables2006326 -Node: Encoder/Decoder Functions2008057 -Node: Syntax of Search Filters2009094 -Node: PostgreSQL Support2010392 -Node: Building XEmacs with PostgreSQL support2010787 -Node: XEmacs PostgreSQL libpq API2012134 -Node: libpq Lisp Variables2014013 -Node: libpq Lisp Symbols and DataTypes2016977 -Node: Synchronous Interface Functions2030217 -Node: Asynchronous Interface Functions2034708 -Node: Large Object Support2038213 -Node: Other libpq Functions2038840 -Node: Unimplemented libpq Functions2041875 -Node: XEmacs PostgreSQL libpq Examples2047194 -Node: Internationalization2053285 -Node: I18N Levels 1 and 22053628 -Node: I18N Level 32054334 -Node: Level 3 Basics2054615 -Node: Level 3 Primitives2055448 -Node: Dynamic Messaging2057054 -Node: Domain Specification2057517 -Node: Documentation String Extraction2059187 -Node: I18N Level 42060105 -Node: MULE2060297 -Node: Internationalization Terminology2061346 -Node: Charsets2073545 -Node: Charset Properties2074241 -Node: Basic Charset Functions2078956 -Node: Charset Property Functions2081137 -Node: Predefined Charsets2083207 -Node: MULE Characters2086127 -Node: Composite Characters2087002 -Node: Coding Systems2088269 -Node: Coding System Types2090409 -Node: ISO 20222094393 -Node: EOL Conversion2106668 -Node: Coding System Properties2107840 -Node: Basic Coding System Functions2112163 -Node: Coding System Property Functions2114197 -Node: Encoding and Decoding Text2114755 -Node: Detection of Textual Encoding2115891 -Node: Big5 and Shift-JIS Functions2117427 -Node: Predefined Coding Systems2118579 -Node: CCL2130673 -Node: CCL Syntax2133777 -Node: CCL Statements2135353 -Node: CCL Expressions2140001 -Node: Calling CCL2142540 -Node: CCL Examples2145545 -Node: Category Tables2145682 -Node: Tips2148041 -Node: Style Tips2148682 -Node: Compilation Tips2158201 -Node: Documentation Tips2160115 -Node: Comment Tips2165624 -Node: Library Headers2168626 -Node: Building XEmacs and Object Allocation2172598 -Node: Building XEmacs2173481 -Node: Pure Storage2180059 -Node: Garbage Collection2182847 -Node: Standard Errors2193690 -Node: Standard Buffer-Local Variables2197899 -Node: Standard Keymaps2200532 -Node: Standard Hooks2204266 -Node: Index2211766 +Node: Copying49116 +Node: Introduction68274 +Node: Caveats69865 +Node: Lisp History71544 +Node: Conventions72800 +Node: Some Terms73615 +Node: nil and t74336 +Node: Evaluation Notation76013 +Node: Printing Notation76926 +Node: Error Messages77800 +Node: Buffer Text Notation78241 +Node: Format of Descriptions79116 +Node: A Sample Function Description79970 +Node: A Sample Variable Description83956 +Node: Acknowledgements84864 +Node: Lisp Data Types86842 +Node: Printed Representation89397 +Node: Comments91439 +Node: Primitive Types92336 +Node: Programming Types93995 +Node: Integer Type95947 +Node: Floating Point Type96984 +Node: Character Type97603 +Node: Symbol Type105507 +Node: Sequence Type108202 +Node: Cons Cell Type109721 +Node: Dotted Pair Notation114205 +Node: Association List Type116326 +Node: Array Type117209 +Node: String Type118675 +Node: Vector Type121356 +Node: Bit Vector Type122128 +Node: Function Type122990 +Node: Macro Type124103 +Node: Primitive Function Type124800 +Node: Compiled-Function Type126326 +Node: Autoload Type126880 +Node: Char Table Type127894 +Node: Hash Table Type128068 +Node: Range Table Type129223 +Node: Weak List Type130076 +Node: Editing Types130226 +Node: Buffer Type131853 +Node: Marker Type133880 +Node: Extent Type134604 +Node: Window Type135872 +Node: Frame Type137283 +Node: Device Type138078 +Node: Console Type138904 +Node: Window Configuration Type140105 +Node: Event Type140803 +Node: Process Type140967 +Node: Stream Type142002 +Node: Keymap Type143125 +Node: Syntax Table Type143663 +Node: Display Table Type144686 +Node: Database Type145125 +Node: Charset Type145291 +Node: Coding System Type145455 +Node: ToolTalk Message Type145639 +Node: ToolTalk Pattern Type145838 +Node: Window-System Types146010 +Node: Face Type147156 +Node: Glyph Type147287 +Node: Specifier Type147443 +Node: Font Instance Type147616 +Node: Color Instance Type147806 +Node: Image Instance Type148003 +Node: Toolbar Button Type148201 +Node: Subwindow Type148394 +Node: X Resource Type148573 +Node: Type Predicates148726 +Node: Equality Predicates157855 +Node: Numbers162666 +Node: Integer Basics164121 +Node: Float Basics166470 +Node: Predicates on Numbers168212 +Node: Comparison of Numbers169845 +Node: Numeric Conversions173666 +Node: Arithmetic Operations175132 +Node: Rounding Operations181271 +Node: Bitwise Operations182384 +Node: Math Functions191430 +Node: Random Numbers193963 +Node: Strings and Characters195729 +Node: String Basics197182 +Node: Predicates for Strings199600 +Node: Creating Strings200363 +Node: Predicates for Characters205704 +Node: Character Codes206775 +Node: Text Comparison208195 +Node: String Conversion211640 +Node: Modifying Strings215310 +Node: String Properties215951 +Node: Formatting Strings216596 +Node: Character Case226214 +Node: Case Tables229768 +Node: Char Tables233739 +Node: Char Table Types235131 +Node: Working With Char Tables236716 +Node: Lists238733 +Node: Cons Cells239856 +Node: Lists as Boxes241192 +Node: List-related Predicates243834 +Node: List Elements245536 +Node: Building Lists250565 +Node: Modifying Lists256557 +Node: Setcar257369 +Node: Setcdr259800 +Node: Rearrangement262321 +Node: Sets And Lists267907 +Node: Association Lists272135 +Ref: Association Lists-Footnote-1281426 +Node: Property Lists281631 +Node: Working With Normal Plists283179 +Node: Working With Lax Plists285516 +Node: Converting Plists To/From Alists287796 +Node: Weak Lists289144 +Node: Sequences Arrays Vectors291307 +Node: Sequence Functions293943 +Node: Arrays297602 +Node: Array Functions300666 +Node: Vectors303199 +Node: Vector Functions304697 +Node: Bit Vectors307268 +Node: Bit Vector Functions308113 +Node: Symbols310412 +Node: Symbol Components311461 +Node: Definitions315644 +Node: Creating Symbols317869 +Node: Symbol Properties324903 +Node: Plists and Alists326430 +Node: Object Plists328179 +Node: Other Plists330939 +Node: Evaluation332738 +Node: Intro Eval333543 +Ref: Intro Eval-Footnote-1336896 +Node: Eval337031 +Node: Forms341449 +Node: Self-Evaluating Forms342608 +Node: Symbol Forms344121 +Node: Classifying Lists345038 +Node: Function Indirection345794 +Node: Function Forms348893 +Node: Macro Forms349890 +Node: Special Forms351490 +Node: Autoloading353799 +Node: Quoting354297 +Node: Control Structures355658 +Node: Sequencing357278 +Node: Conditionals360143 +Node: Combining Conditions363566 +Node: Iteration366836 +Node: Nonlocal Exits368615 +Node: Catch and Throw369317 +Node: Examples of Catch373156 +Node: Errors375175 +Node: Signaling Errors376664 +Node: Processing of Errors385411 +Node: Handling Errors387690 +Node: Error Symbols394931 +Node: Cleanups398887 +Node: Variables402665 +Node: Global Variables404434 +Node: Constant Variables405510 +Node: Local Variables406136 +Node: Void Variables411073 +Node: Defining Variables414589 +Node: Accessing Variables421753 +Node: Setting Variables423178 +Node: Variable Scoping427697 +Node: Scope429296 +Node: Extent430821 +Node: Impl of Scope432300 +Node: Using Scoping434263 +Node: Buffer-Local Variables435785 +Node: Intro to Buffer-Local436621 +Node: Creating Buffer-Local439164 +Node: Default Value445063 +Node: Variable Aliases448206 +Node: Functions450057 +Node: What Is a Function451151 +Node: Lambda Expressions455197 +Node: Lambda Components456107 +Node: Simple Lambda457939 +Node: Argument List459596 +Node: Function Documentation463324 +Node: Function Names465266 +Node: Defining Functions467839 +Node: Calling Functions470879 +Node: Mapping Functions474727 +Node: Anonymous Functions477415 +Node: Function Cells480660 +Node: Inline Functions485478 +Node: Related Topics487288 +Node: Macros488341 +Node: Simple Macro489625 +Node: Expansion490360 +Node: Compiling Macros493364 +Node: Defining Macros495200 +Node: Backquote496517 +Node: Problems with Macros498914 +Node: Argument Evaluation499609 +Node: Surprising Local Vars502524 +Node: Eval During Expansion504592 +Node: Repeated Expansion506285 +Node: Customization508201 +Node: Common Keywords508670 +Node: Group Definitions511515 +Node: Variable Definitions513707 +Node: Customization Types518697 +Node: Simple Types520132 +Node: Composite Types522289 +Node: Splicing into Lists526979 +Node: Type Keywords528814 +Node: Loading532334 +Node: How Programs Do Loading534009 +Node: Autoload543135 +Node: Repeated Loading549205 +Node: Named Features551318 +Node: Unloading557748 +Node: Hooks for Loading559904 +Node: Byte Compilation560621 +Node: Speed of Byte-Code562614 +Node: Compilation Functions563821 +Node: Docs and Compilation570478 +Node: Dynamic Loading573131 +Node: Eval During Compile575495 +Node: Compiled-Function Objects576760 +Node: Disassembly581561 +Node: Different Behavior588842 +Node: Debugging590187 +Node: Debugger591599 +Node: Error Debugging592744 +Node: Infinite Loops595497 +Node: Function Debugging596741 +Node: Explicit Debug599541 +Node: Using Debugger600312 +Node: Debugger Commands602174 +Node: Invoking the Debugger606491 +Node: Internals of Debugger610406 +Node: Syntax Errors615293 +Node: Excess Open616541 +Node: Excess Close618416 +Node: Compilation Errors619837 +Node: Edebug621125 +Node: Using Edebug623233 +Node: Instrumenting625930 +Node: Edebug Execution Modes629419 +Node: Jumping632529 +Node: Edebug Misc634872 +Node: Breakpoints636261 +Node: Global Break Condition639067 +Node: Embedded Breakpoints640022 +Node: Trapping Errors640977 +Node: Edebug Views643053 +Node: Edebug Eval645018 +Node: Eval List646195 +Node: Reading in Edebug649580 +Node: Printing in Edebug650379 +Node: Tracing652094 +Node: Coverage Testing653982 +Node: The Outside Context656023 +Node: Checking Whether to Stop656972 +Node: Edebug Display Update657619 +Node: Edebug Recursive Edit659642 +Node: Instrumenting Macro Calls661297 +Node: Specification List663779 +Node: Backtracking673190 +Node: Debugging Backquote675128 +Node: Specification Examples678834 +Node: Edebug Options680901 +Node: Read and Print686240 +Node: Streams Intro687217 +Node: Input Streams689235 +Node: Input Functions694136 +Node: Output Streams696196 +Node: Output Functions700247 +Node: Output Variables704547 +Node: Minibuffers709348 +Node: Intro to Minibuffers710500 +Node: Text from Minibuffer712688 +Node: Object from Minibuffer717782 +Node: Minibuffer History721875 +Node: Completion724854 +Node: Basic Completion726829 +Node: Minibuffer Completion731712 +Node: Completion Commands735289 +Node: High-Level Completion739946 +Node: Reading File Names744695 +Node: Programmed Completion748387 +Node: Yes-or-No Queries750769 +Node: Multiple Queries756506 +Node: Reading a Password760573 +Node: Minibuffer Misc761916 +Node: Command Loop766796 +Node: Command Overview768140 +Node: Defining Commands771418 +Node: Using Interactive772166 +Node: Interactive Codes776939 +Node: Interactive Examples782731 +Node: Interactive Call784045 +Node: Command Loop Info789460 +Node: Events794439 +Node: Event Types795900 +Node: Event Contents797823 +Node: Event Predicates802299 +Node: Accessing Mouse Event Positions803617 +Node: Frame-Level Event Position Info804316 +Node: Window-Level Event Position Info805356 +Node: Event Text Position Info807120 +Node: Event Glyph Position Info809612 +Node: Event Toolbar Position Info810935 +Node: Other Event Position Info811606 +Node: Accessing Other Event Info812015 +Node: Working With Events813635 +Node: Converting Events819636 +Node: Reading Input823035 +Node: Key Sequence Input824037 +Node: Reading One Event826672 +Node: Dispatching an Event829496 +Node: Quoted Character Input829947 +Node: Peeking and Discarding831295 +Node: Waiting835199 +Node: Quitting837513 +Node: Prefix Command Arguments841921 +Node: Recursive Editing847008 +Node: Disabling Commands851803 +Node: Command History853871 +Node: Keyboard Macros855608 +Node: Keymaps857825 +Node: Keymap Terminology859402 +Node: Format of Keymaps862331 +Node: Creating Keymaps862742 +Node: Inheritance and Keymaps864822 +Node: Key Sequences867194 +Node: Prefix Keys871990 +Node: Active Keymaps875575 +Node: Key Lookup884946 +Node: Functions for Key Lookup890109 +Node: Changing Key Bindings895810 +Node: Key Binding Commands902972 +Node: Scanning Keymaps905037 +Node: Other Keymap Functions913606 +Node: Menus914228 +Node: Menu Format914820 +Node: Menubar Format923466 +Node: Menubar924091 +Node: Modifying Menus927204 +Node: Menu Filters932548 +Node: Pop-Up Menus934444 +Node: Menu Accelerators936772 +Node: Creating Menu Accelerators937528 +Node: Keyboard Menu Traversal938888 +Node: Menu Accelerator Functions939615 +Node: Buffers Menu942691 +Node: Dialog Boxes943985 +Node: Dialog Box Format944152 +Node: Dialog Box Functions945577 +Node: Toolbar945974 +Node: Toolbar Intro946409 +Node: Creating Toolbar948809 +Node: Toolbar Descriptor Format949726 +Node: Specifying the Toolbar954223 +Node: Other Toolbar Variables957830 +Node: Gutter962258 +Node: Gutter Intro962847 +Node: Creating Gutter964850 +Node: Gutter Descriptor Format967737 +Node: Specifying a Gutter972194 +Node: Other Gutter Variables975729 +Node: Common Gutter Widgets980116 +Node: Buffer Tabs981108 +Node: Progress Bars981249 +Node: Scrollbars981394 +Node: Drag and Drop981529 +Node: Supported Protocols982605 +Node: OffiX DND983108 +Node: CDE dt984115 +Node: MSWindows OLE984706 +Node: Loose ends984877 +Node: Drop Interface985269 +Node: Drag Interface986291 +Node: Modes986465 +Node: Major Modes987416 +Node: Major Mode Conventions990331 +Node: Example Major Modes996286 +Node: Auto Major Mode1004319 +Node: Mode Help1011769 +Node: Derived Modes1012870 +Node: Minor Modes1015061 +Node: Minor Mode Conventions1016363 +Node: Keymaps and Minor Modes1019226 +Node: Modeline Format1020061 +Node: Modeline Data1021829 +Node: Modeline Variables1026982 +Node: %-Constructs1031698 +Node: Hooks1034685 +Node: Documentation1041445 +Node: Documentation Basics1042868 +Node: Accessing Documentation1045919 +Node: Keys in Documentation1052200 +Node: Describing Characters1055683 +Node: Help Functions1058032 +Node: Obsoleteness1064482 +Node: Files1067474 +Node: Visiting Files1069399 +Node: Visiting Functions1070904 +Node: Subroutines of Visiting1076062 +Node: Saving Buffers1078135 +Node: Reading from Files1084228 +Node: Writing to Files1086389 +Node: File Locks1089106 +Node: Information about Files1092173 +Node: Testing Accessibility1092934 +Node: Kinds of Files1096674 +Node: Truenames1098355 +Node: File Attributes1099357 +Node: Changing File Attributes1104496 +Node: File Names1109918 +Node: File Name Components1111491 +Node: Directory Names1113936 +Node: Relative File Names1117166 +Node: File Name Expansion1118136 +Node: Unique File Names1121890 +Node: File Name Completion1123505 +Node: User Name Completion1126773 +Node: Contents of Directories1128180 +Node: Create/Delete Dirs1131493 +Node: Magic File Names1132599 +Node: Partial Files1138247 +Node: Intro to Partial Files1138475 +Node: Creating a Partial File1139715 +Node: Detached Partial Files1140651 +Node: Format Conversion1141773 +Node: Files and MS-DOS1147271 +Node: Backups and Auto-Saving1149335 +Node: Backup Files1150010 +Node: Making Backups1151407 +Node: Rename or Copy1154156 +Node: Numbered Backups1156649 +Node: Backup Names1158884 +Node: Auto-Saving1162176 +Node: Reverting1170338 +Node: Buffers1173674 +Node: Buffer Basics1175090 +Node: Current Buffer1177143 +Node: Buffer Names1181847 +Node: Buffer File Name1185054 +Node: Buffer Modification1189173 +Node: Modification Time1191416 +Node: Read Only Buffers1194791 +Node: The Buffer List1198030 +Node: Creating Buffers1202847 +Node: Killing Buffers1204993 +Node: Indirect Buffers1208825 +Node: Windows1211399 +Node: Basic Windows1212877 +Node: Splitting Windows1215975 +Node: Deleting Windows1221301 +Node: Selecting Windows1225219 +Node: Cyclic Window Ordering1229442 +Node: Buffers and Windows1234597 +Node: Displaying Buffers1236375 +Node: Choosing Window1241714 +Node: Window Point1249632 +Node: Window Start1251702 +Node: Vertical Scrolling1256501 +Node: Horizontal Scrolling1262699 +Node: Size of Window1266228 +Node: Position of Window1270946 +Node: Resizing Windows1273199 +Node: Window Configurations1278637 +Node: Frames1282134 +Node: Creating Frames1284475 +Node: Frame Properties1285815 +Node: Property Access1286631 +Node: Initial Properties1287538 +Node: X Frame Properties1290024 +Node: Size and Position1294658 +Node: Frame Name1296656 +Node: Frame Titles1297570 +Node: Deleting Frames1299394 +Node: Finding All Frames1300369 +Node: Frames and Windows1303597 +Node: Minibuffers and Frames1306379 +Node: Input Focus1307297 +Node: Visibility of Frames1310402 +Node: Raising and Lowering1312392 +Node: Frame Configurations1314768 +Node: Frame Hooks1315825 +Node: Consoles and Devices1317630 +Node: Basic Console Functions1320373 +Node: Basic Device Functions1320796 +Node: Console Types and Device Classes1321642 +Node: Connecting to a Console or Device1323909 +Node: The Selected Console and Device1326093 +Node: Console and Device I/O1327119 +Node: Positions1327883 +Node: Point1328852 +Node: Motion1331942 +Node: Character Motion1332709 +Node: Word Motion1334946 +Node: Buffer End Motion1336336 +Node: Text Lines1337873 +Node: Screen Lines1342774 +Node: List Motion1346837 +Node: Skipping Characters1350320 +Node: Excursions1352539 +Node: Narrowing1355579 +Node: Markers1360910 +Node: Overview of Markers1361816 +Node: Predicates on Markers1366508 +Node: Creating Markers1367754 +Node: Information from Markers1371954 +Node: Changing Markers1373052 +Node: The Mark1374580 +Node: The Region1383083 +Node: Text1388769 +Node: Near Point1391468 +Node: Buffer Contents1395655 +Node: Comparing Text1397061 +Node: Insertion1398469 +Node: Commands for Insertion1402379 +Node: Deletion1405273 +Node: User-Level Deletion1408923 +Node: The Kill Ring1413083 +Node: Kill Ring Concepts1415257 +Node: Kill Functions1416311 +Node: Yank Commands1418234 +Node: Low-Level Kill Ring1420105 +Node: Internals of Kill Ring1423191 +Node: Undo1425971 +Node: Maintaining Undo1430308 +Node: Filling1432926 +Node: Margins1438920 +Node: Auto Filling1442943 +Node: Sorting1444124 +Node: Columns1453438 +Node: Indentation1456519 +Node: Primitive Indent1457298 +Node: Mode-Specific Indent1458623 +Node: Region Indent1461155 +Node: Relative Indent1464102 +Node: Indent Tabs1466484 +Node: Motion by Indent1467805 +Node: Case Changes1468584 +Node: Text Properties1471937 +Node: Examining Properties1473750 +Node: Changing Properties1475633 +Node: Property Search1479224 +Node: Special Properties1483943 +Node: Saving Properties1484224 +Node: Substitution1487366 +Node: Registers1490636 +Node: Transposition1493219 +Node: Change Hooks1494113 +Node: Transformations1496153 +Node: Searching and Matching1501257 +Node: String Search1502388 +Node: Regular Expressions1507369 +Node: Syntax of Regexps1508736 +Node: Regexp Example1523339 +Node: Regexp Search1525509 +Node: POSIX Regexps1531846 +Node: Search and Replace1533923 +Node: Match Data1537288 +Node: Simple Match Data1538418 +Node: Replacing Match1542683 +Node: Entire Match Data1545364 +Node: Saving Match Data1547602 +Node: Searching and Case1548990 +Node: Standard Regexps1551024 +Node: Syntax Tables1553222 +Node: Syntax Basics1554336 +Node: Syntax Descriptors1557308 +Node: Syntax Class Table1559158 +Node: Syntax Flags1565196 +Node: Syntax Table Functions1568413 +Node: Motion and Syntax1572701 +Node: Parsing Expressions1574153 +Node: Standard Syntax Tables1580251 +Node: Syntax Table Internals1581095 +Node: Abbrevs1582121 +Node: Abbrev Mode1583925 +Node: Abbrev Tables1584645 +Node: Defining Abbrevs1586184 +Node: Abbrev Files1588105 +Node: Abbrev Expansion1589888 +Node: Standard Abbrev Tables1594519 +Node: Extents1595678 +Node: Intro to Extents1596921 +Node: Creating and Modifying Extents1600913 +Node: Extent Endpoints1602494 +Node: Finding Extents1605757 +Node: Mapping Over Extents1609879 +Node: Extent Properties1616002 +Node: Detached Extents1626163 +Node: Extent Parents1628022 +Node: Duplicable Extents1629716 +Node: Extents and Events1632937 +Node: Atomic Extents1634844 +Node: Specifiers1635291 +Node: Introduction to Specifiers1637404 +Node: Specifiers In-Depth1639714 +Node: Specifier Instancing1644626 +Node: Specifier Types1647888 +Node: Adding Specifications1652962 +Node: Retrieving Specifications1662383 +Node: Specifier Tag Functions1666128 +Node: Specifier Instancing Functions1669362 +Node: Specifier Example1672769 +Node: Creating Specifiers1675925 +Node: Specifier Validation Functions1680242 +Node: Other Specification Functions1682628 +Node: Faces and Window-System Objects1686449 +Node: Faces1686773 +Node: Merging Faces1688390 +Node: Basic Face Functions1690351 +Node: Face Properties1692499 +Node: Face Convenience Functions1702772 +Node: Other Face Display Functions1705992 +Node: Fonts1706804 +Node: Font Specifiers1707505 +Node: Font Instances1708690 +Node: Font Instance Names1709657 +Node: Font Instance Size1710498 +Node: Font Instance Characteristics1711784 +Node: Font Convenience Functions1712962 +Node: Colors1714252 +Node: Color Specifiers1714692 +Node: Color Instances1717052 +Node: Color Instance Properties1717796 +Node: Color Convenience Functions1718422 +Node: Glyphs1719475 +Node: Glyph Functions1721076 +Node: Creating Glyphs1721483 +Node: Glyph Properties1734123 +Node: Glyph Convenience Functions1743290 +Node: Glyph Dimensions1747237 +Node: Images1748317 +Node: Image Specifiers1748766 +Node: Image Instantiator Conversion1764257 +Node: Image Instances1765622 +Node: Image Instance Types1766373 +Node: Image Instance Functions1769138 +Node: Glyph Types1776195 +Node: Mouse Pointer1777967 +Node: Redisplay Glyphs1780970 +Node: Subwindows1782003 +Node: Annotations1782246 +Node: Annotation Basics1783262 +Node: Annotation Primitives1787200 +Node: Annotation Properties1788539 +Node: Locating Annotations1791579 +Node: Margin Primitives1792416 +Node: Annotation Hooks1794310 +Node: Display1794970 +Node: Refresh Screen1795948 +Node: Truncation1798142 +Node: The Echo Area1800667 +Node: Warnings1807110 +Node: Invisible Text1811546 +Node: Selective Display1814125 +Node: Overlay Arrow1818251 +Node: Temporary Displays1819604 +Node: Blinking1823725 +Node: Usual Display1825909 +Node: Display Tables1828458 +Node: Display Table Format1829262 +Node: Active Display Table1830704 +Node: Character Descriptors1834699 +Node: Beeping1835456 +Node: Hash Tables1840222 +Node: Introduction to Hash Tables1840830 +Node: Working With Hash Tables1847389 +Node: Weak Hash Tables1848506 +Node: Range Tables1850523 +Node: Introduction to Range Tables1851212 +Node: Working With Range Tables1851658 +Node: Databases1852617 +Node: Connecting to a Database1852916 +Node: Working With a Database1854023 +Node: Other Database Functions1854897 +Node: Processes1855466 +Node: Subprocess Creation1857690 +Node: Synchronous Processes1861141 +Node: MS-DOS Subprocesses1867863 +Node: Asynchronous Processes1868937 +Node: Deleting Processes1873294 +Node: Process Information1875165 +Node: Input to Processes1879257 +Node: Signals to Processes1881952 +Node: Output from Processes1886767 +Node: Process Buffers1887579 +Node: Filter Functions1890458 +Node: Accepting Output1896049 +Node: Sentinels1897576 +Node: Process Window Size1901066 +Node: Transaction Queues1901415 +Node: Network1903113 +Node: System Interface1905747 +Node: Starting Up1907017 +Node: Start-up Summary1907611 +Node: Init File1911165 +Node: Terminal-Specific1913546 +Node: Command Line Arguments1916705 +Node: Getting Out1920194 +Node: Killing XEmacs1920763 +Node: Suspending XEmacs1922431 +Node: System Environment1925810 +Node: User Identification1931991 +Node: Time of Day1935520 +Node: Time Conversion1938307 +Node: Timers1943549 +Node: Terminal Input1945722 +Node: Input Modes1946225 +Node: Translating Input1948684 +Node: Recording Input1952849 +Node: Terminal Output1954949 +Node: Flow Control1958570 +Node: Batch Mode1962532 +Node: X-Windows1963914 +Node: X Selections1964785 +Node: X Server1967536 +Node: Resources1967987 +Node: Server Data1973298 +Node: Grabs1974505 +Node: X Miscellaneous1976085 +Node: ToolTalk Support1978470 +Node: XEmacs ToolTalk API Summary1978687 +Node: Sending Messages1979987 +Node: Example of Sending Messages1980238 +Node: Elisp Interface for Sending Messages1981300 +Node: Receiving Messages1987896 +Node: Example of Receiving Messages1988119 +Node: Elisp Interface for Receiving Messages1988955 +Node: LDAP Support1992812 +Node: Building XEmacs with LDAP support1993306 +Node: XEmacs LDAP API1994283 +Node: LDAP Variables1995335 +Node: The High-Level LDAP API1997935 +Node: The Low-Level LDAP API2001408 +Node: The LDAP Lisp Object2002239 +Node: Opening and Closing a LDAP Connection2002794 +Node: Low-level Operations on a LDAP Server2004600 +Node: LDAP Internationalization2007324 +Node: LDAP Internationalization Variables2008229 +Node: Encoder/Decoder Functions2009960 +Node: Syntax of Search Filters2010997 +Node: PostgreSQL Support2012295 +Node: Building XEmacs with PostgreSQL support2012690 +Node: XEmacs PostgreSQL libpq API2014037 +Node: libpq Lisp Variables2015916 +Node: libpq Lisp Symbols and DataTypes2018880 +Node: Synchronous Interface Functions2032120 +Node: Asynchronous Interface Functions2036611 +Node: Large Object Support2040116 +Node: Other libpq Functions2040743 +Node: Unimplemented libpq Functions2043778 +Node: XEmacs PostgreSQL libpq Examples2049097 +Node: Internationalization2055188 +Node: I18N Levels 1 and 22055531 +Node: I18N Level 32056237 +Node: Level 3 Basics2056518 +Node: Level 3 Primitives2057351 +Node: Dynamic Messaging2058957 +Node: Domain Specification2059420 +Node: Documentation String Extraction2061090 +Node: I18N Level 42062008 +Node: MULE2062200 +Node: Internationalization Terminology2063249 +Node: Charsets2075448 +Node: Charset Properties2076144 +Node: Basic Charset Functions2080859 +Node: Charset Property Functions2083040 +Node: Predefined Charsets2085110 +Node: MULE Characters2088030 +Node: Composite Characters2088905 +Node: Coding Systems2090172 +Node: Coding System Types2092312 +Node: ISO 20222096296 +Node: EOL Conversion2108571 +Node: Coding System Properties2109743 +Node: Basic Coding System Functions2114066 +Node: Coding System Property Functions2116100 +Node: Encoding and Decoding Text2116658 +Node: Detection of Textual Encoding2117794 +Node: Big5 and Shift-JIS Functions2119330 +Node: Predefined Coding Systems2120482 +Node: CCL2132576 +Node: CCL Syntax2135680 +Node: CCL Statements2137256 +Node: CCL Expressions2141904 +Node: Calling CCL2144443 +Node: CCL Examples2147448 +Node: Category Tables2147585 +Node: Tips2149944 +Node: Style Tips2150585 +Node: Compilation Tips2160104 +Node: Documentation Tips2162018 +Node: Comment Tips2167527 +Node: Library Headers2170530 +Node: Building XEmacs and Object Allocation2174502 +Node: Building XEmacs2175385 +Node: Pure Storage2181963 +Node: Garbage Collection2184751 +Node: Standard Errors2195594 +Node: Standard Buffer-Local Variables2199803 +Node: Standard Keymaps2202438 +Node: Standard Hooks2206172 +Node: Index2213672  End Tag Table diff --git a/info/lispref.info-1 b/info/lispref.info-1 index 1850e70..a440030 100644 --- a/info/lispref.info-1 +++ b/info/lispref.info-1 @@ -403,8 +403,14 @@ Loading Byte Compilation -* Compilation Functions:: Byte compilation functions. -* Disassembly:: Disassembling byte-code; how to read byte-code. +* Speed of Byte-Code:: An example of speedup from byte compilation. +* Compilation Functions:: Byte compilation functions. +* Docs and Compilation:: Dynamic loading of documentation strings. +* Dynamic Loading:: Dynamic loading of individual functions. +* Eval During Compile:: Code to be evaluated when you compile. +* Compiled-Function Objects:: The data type used for byte-compiled functions. +* Disassembly:: Disassembling byte-code; how to read byte-code. +* Different Behavior:: When compiled code gives different results. Debugging Lisp Programs diff --git a/info/lispref.info-7 b/info/lispref.info-7 index 5bc2e97..15f63b7 100644 --- a/info/lispref.info-7 +++ b/info/lispref.info-7 @@ -628,17 +628,17 @@ the symbol `buffer-file-name': Because this symbol is the variable which holds the name of the file being visited in the current buffer, the value cell contents we see are -the name of the source file of this chapter of the XEmacs Lisp Manual. -The property list cell contains the list `(variable-documentation -29529)' which tells the documentation functions where to find the -documentation string for the variable `buffer-file-name' in the `DOC' -file. (29529 is the offset from the beginning of the `DOC' file to -where that documentation string begins.) The function cell contains -the function for returning the name of the file. `buffer-file-name' -names a primitive function, which has no read syntax and prints in hash -notation (*note Primitive Function Type::). A symbol naming a function -written in Lisp would have a lambda expression (or a byte-code object) -in this cell. +the name of the source file of this chapter of the XEmacs Lisp Reference +Manual. The property list cell contains the list +`(variable-documentation 29529)' which tells the documentation +functions where to find the documentation string for the variable +`buffer-file-name' in the `DOC' file. (29529 is the offset from the +beginning of the `DOC' file to where that documentation string begins.) +The function cell contains the function for returning the name of the +file. `buffer-file-name' names a primitive function, which has no read +syntax and prints in hash notation (*note Primitive Function Type::). A +symbol naming a function written in Lisp would have a lambda expression +(or a byte-code object) in this cell.  File: lispref.info, Node: Definitions, Next: Creating Symbols, Prev: Symbol Components, Up: Symbols diff --git a/info/texinfo.info b/info/texinfo.info index 9f25e17..acf2780 100644 --- a/info/texinfo.info +++ b/info/texinfo.info @@ -38,14 +38,14 @@ texinfo.info-1: 1484 texinfo.info-2: 48703 texinfo.info-3: 96677 texinfo.info-4: 146069 -texinfo.info-5: 196042 -texinfo.info-6: 245134 -texinfo.info-7: 293729 -texinfo.info-8: 343544 -texinfo.info-9: 392857 -texinfo.info-10: 435235 -texinfo.info-11: 481351 -texinfo.info-12: 519511 +texinfo.info-5: 196054 +texinfo.info-6: 245146 +texinfo.info-7: 293741 +texinfo.info-8: 343556 +texinfo.info-9: 392869 +texinfo.info-10: 435247 +texinfo.info-11: 481363 +texinfo.info-12: 519523  Tag Table: (Indirect) @@ -145,206 +145,206 @@ Node: Menu Parts167202 Node: Less Cluttered Menu Entry168360 Node: Menu Example168985 Node: Other Info Files170506 -Node: Cross References172362 -Node: References173319 -Node: Cross Reference Commands175066 -Node: Cross Reference Parts176125 -Node: xref178961 -Node: Reference Syntax179760 -Node: One Argument181414 -Node: Two Arguments182426 -Node: Three Arguments183541 -Node: Four and Five Arguments185932 -Node: Top Node Naming188344 -Node: ref189354 -Node: pxref190744 -Node: inforef193126 -Node: uref194419 -Node: Marking Text195418 -Node: Indicating196042 -Node: Useful Highlighting197947 -Node: code199336 -Node: kbd202374 -Node: key204244 -Node: samp205577 -Node: var207164 -Node: file208957 -Node: dfn209564 -Node: cite210474 -Node: url210928 -Node: email211492 -Node: Emphasis212304 -Node: emph & strong213204 -Node: Smallcaps214190 -Node: Fonts215517 -Node: Customized Highlighting216605 -Node: Customized Highlighting-Footnotes219420 -Ref: Customized Highlighting-Footnote-1219514 -Node: Quotations and Examples219640 -Node: Block Enclosing Commands221262 -Node: quotation223287 -Node: example224377 -Node: noindent226432 -Node: Lisp Example227896 -Node: Lisp Example-Footnotes228598 -Ref: Lisp Example-Footnote-1228670 -Node: smallexample & smalllisp228788 -Node: display230813 -Node: format231445 -Node: exdent231906 -Node: flushleft & flushright232986 -Node: cartouche234252 -Node: Lists and Tables235019 -Node: Introducing Lists235695 -Node: itemize237360 -Node: enumerate239507 -Node: Two-column Tables242012 -Node: table242701 -Node: ftable vtable245134 -Node: itemx246235 -Node: Multi-column Tables247246 -Node: Multitable Column Widths247917 -Node: Multitable Rows249371 -Node: Indices251148 -Node: Index Entries252298 -Node: Predefined Indices253431 -Node: Indexing Commands254428 -Node: Combining Indices258968 -Node: syncodeindex260331 -Node: synindex261993 -Node: New Indices262518 -Node: Insertions264343 -Node: Braces Atsigns265527 -Node: Inserting An Atsign266079 -Node: Inserting Braces266353 -Node: Inserting Space266716 -Node: Not Ending a Sentence267220 -Node: Ending a Sentence268574 -Node: Multiple Spaces269703 -Node: dmn270922 -Node: Inserting Accents272129 -Node: Dots Bullets273886 -Node: dots274708 -Node: bullet275232 -Node: TeX and copyright275629 -Node: tex276196 -Node: copyright symbol276612 -Node: pounds276872 -Node: minus277236 -Node: math278158 -Node: Glyphs278886 -Node: Glyphs Summary279999 -Node: result280627 -Node: expansion281112 -Node: Print Glyph282068 -Node: Error Glyph282945 -Node: Equivalence283778 -Node: Point Glyph284466 -Node: Images286023 -Node: Breaks287690 -Node: Break Commands289121 -Node: Line Breaks289962 -Node: - and hyphenation290980 -Node: w292230 -Node: sp292943 -Node: page293352 -Node: group293729 -Node: need295472 -Node: Definition Commands296202 -Node: Def Cmd Template297773 -Node: Optional Arguments300770 -Node: deffnx302358 -Node: Def Cmds in Detail303313 -Node: Functions Commands304423 -Node: Variables Commands307428 -Node: Typed Functions309514 -Node: Typed Variables313056 -Node: Abstract Objects315039 -Node: Data Types320264 -Node: Def Cmd Conventions321519 -Node: Sample Function Definition322082 -Node: Footnotes324966 -Node: Footnotes-Footnotes325354 -Ref: Footnotes-Footnote-1325420 -Node: Footnote Commands325700 -Node: Footnote Commands-Footnotes327197 -Ref: Footnote Commands-Footnote-1327279 -Node: Footnote Styles327315 -Node: Conditionals329901 -Node: Conditional Commands330712 -Node: Conditional Not Commands332205 -Node: Raw Formatter Commands332950 -Node: set clear value334780 -Node: ifset ifclear335581 -Node: value338760 -Node: value Example340172 -Node: Macros341750 -Node: Defining Macros342455 -Node: Invoking Macros343544 -Node: Format/Print Hardcopy344650 -Node: Use TeX346487 -Node: Format with tex/texindex347115 -Node: Format with texi2dvi350756 -Node: Print with lpr351347 -Node: Within Emacs352201 -Node: Texinfo Mode Printing353120 -Node: Compile-Command356530 -Node: Requirements Summary357418 -Node: Preparing for TeX358731 -Node: Overfull hboxes361518 -Node: smallbook363077 -Node: A4 Paper364595 -Node: Cropmarks and Magnification365820 -Node: Create an Info File367761 -Node: makeinfo advantages369064 -Node: Invoking makeinfo369980 -Node: makeinfo options370668 -Node: Pointer Validation376152 -Node: makeinfo in Emacs377496 -Node: texinfo-format commands380054 -Node: Batch Formatting381325 -Node: Tag and Split Files382541 -Node: Install an Info File385895 -Node: Directory file386713 -Node: New Info File388581 -Node: Other Info Directories389642 -Node: Installing Dir Entries392857 -Node: Invoking install-info394850 -Node: Command List397265 -Node: Tips435235 -Node: Sample Texinfo File446645 -Node: Sample Permissions448764 -Node: Inserting Permissions449807 -Node: ifinfo Permissions452113 -Node: Titlepage Permissions453734 -Node: Include Files454996 -Node: Using Include Files456083 -Node: texinfo-multiple-files-update458038 -Node: Include File Requirements460399 -Node: Sample Include File461644 -Node: Include Files Evolution463163 -Node: Headings465134 -Node: Headings Introduced465771 -Node: Heading Format467659 -Node: Heading Choice470111 -Node: Custom Headings471483 -Node: Catching Mistakes475811 -Node: makeinfo Preferred477100 -Node: Debugging with Info478005 -Node: Debugging with TeX481351 -Node: Using texinfo-show-structure485631 -Node: Using occur488730 -Node: Running Info-Validate490267 -Node: Using Info-validate491328 -Node: Unsplit493170 -Node: Tagifying494216 -Node: Splitting495068 -Node: Refilling Paragraphs496684 -Node: Refilling Paragraphs-Footnotes498338 -Ref: Refilling Paragraphs-Footnote-1498426 -Node: Command Syntax498589 -Node: Obtaining TeX501546 -Node: Command and Variable Index503659 -Node: Concept Index519511 +Node: Cross References172374 +Node: References173331 +Node: Cross Reference Commands175078 +Node: Cross Reference Parts176137 +Node: xref178973 +Node: Reference Syntax179772 +Node: One Argument181426 +Node: Two Arguments182438 +Node: Three Arguments183553 +Node: Four and Five Arguments185944 +Node: Top Node Naming188356 +Node: ref189366 +Node: pxref190756 +Node: inforef193138 +Node: uref194431 +Node: Marking Text195430 +Node: Indicating196054 +Node: Useful Highlighting197959 +Node: code199348 +Node: kbd202386 +Node: key204256 +Node: samp205589 +Node: var207176 +Node: file208969 +Node: dfn209576 +Node: cite210486 +Node: url210940 +Node: email211504 +Node: Emphasis212316 +Node: emph & strong213216 +Node: Smallcaps214202 +Node: Fonts215529 +Node: Customized Highlighting216617 +Node: Customized Highlighting-Footnotes219432 +Ref: Customized Highlighting-Footnote-1219526 +Node: Quotations and Examples219652 +Node: Block Enclosing Commands221274 +Node: quotation223299 +Node: example224389 +Node: noindent226444 +Node: Lisp Example227908 +Node: Lisp Example-Footnotes228610 +Ref: Lisp Example-Footnote-1228682 +Node: smallexample & smalllisp228800 +Node: display230825 +Node: format231457 +Node: exdent231918 +Node: flushleft & flushright232998 +Node: cartouche234264 +Node: Lists and Tables235031 +Node: Introducing Lists235707 +Node: itemize237372 +Node: enumerate239519 +Node: Two-column Tables242024 +Node: table242713 +Node: ftable vtable245146 +Node: itemx246247 +Node: Multi-column Tables247258 +Node: Multitable Column Widths247929 +Node: Multitable Rows249383 +Node: Indices251160 +Node: Index Entries252310 +Node: Predefined Indices253443 +Node: Indexing Commands254440 +Node: Combining Indices258980 +Node: syncodeindex260343 +Node: synindex262005 +Node: New Indices262530 +Node: Insertions264355 +Node: Braces Atsigns265539 +Node: Inserting An Atsign266091 +Node: Inserting Braces266365 +Node: Inserting Space266728 +Node: Not Ending a Sentence267232 +Node: Ending a Sentence268586 +Node: Multiple Spaces269715 +Node: dmn270934 +Node: Inserting Accents272141 +Node: Dots Bullets273898 +Node: dots274720 +Node: bullet275244 +Node: TeX and copyright275641 +Node: tex276208 +Node: copyright symbol276624 +Node: pounds276884 +Node: minus277248 +Node: math278170 +Node: Glyphs278898 +Node: Glyphs Summary280011 +Node: result280639 +Node: expansion281124 +Node: Print Glyph282080 +Node: Error Glyph282957 +Node: Equivalence283790 +Node: Point Glyph284478 +Node: Images286035 +Node: Breaks287702 +Node: Break Commands289133 +Node: Line Breaks289974 +Node: - and hyphenation290992 +Node: w292242 +Node: sp292955 +Node: page293364 +Node: group293741 +Node: need295484 +Node: Definition Commands296214 +Node: Def Cmd Template297785 +Node: Optional Arguments300782 +Node: deffnx302370 +Node: Def Cmds in Detail303325 +Node: Functions Commands304435 +Node: Variables Commands307440 +Node: Typed Functions309526 +Node: Typed Variables313068 +Node: Abstract Objects315051 +Node: Data Types320276 +Node: Def Cmd Conventions321531 +Node: Sample Function Definition322094 +Node: Footnotes324978 +Node: Footnotes-Footnotes325366 +Ref: Footnotes-Footnote-1325432 +Node: Footnote Commands325712 +Node: Footnote Commands-Footnotes327209 +Ref: Footnote Commands-Footnote-1327291 +Node: Footnote Styles327327 +Node: Conditionals329913 +Node: Conditional Commands330724 +Node: Conditional Not Commands332217 +Node: Raw Formatter Commands332962 +Node: set clear value334792 +Node: ifset ifclear335593 +Node: value338772 +Node: value Example340184 +Node: Macros341762 +Node: Defining Macros342467 +Node: Invoking Macros343556 +Node: Format/Print Hardcopy344662 +Node: Use TeX346499 +Node: Format with tex/texindex347127 +Node: Format with texi2dvi350768 +Node: Print with lpr351359 +Node: Within Emacs352213 +Node: Texinfo Mode Printing353132 +Node: Compile-Command356542 +Node: Requirements Summary357430 +Node: Preparing for TeX358743 +Node: Overfull hboxes361530 +Node: smallbook363089 +Node: A4 Paper364607 +Node: Cropmarks and Magnification365832 +Node: Create an Info File367773 +Node: makeinfo advantages369076 +Node: Invoking makeinfo369992 +Node: makeinfo options370680 +Node: Pointer Validation376164 +Node: makeinfo in Emacs377508 +Node: texinfo-format commands380066 +Node: Batch Formatting381337 +Node: Tag and Split Files382553 +Node: Install an Info File385907 +Node: Directory file386725 +Node: New Info File388593 +Node: Other Info Directories389654 +Node: Installing Dir Entries392869 +Node: Invoking install-info394862 +Node: Command List397277 +Node: Tips435247 +Node: Sample Texinfo File446657 +Node: Sample Permissions448776 +Node: Inserting Permissions449819 +Node: ifinfo Permissions452125 +Node: Titlepage Permissions453746 +Node: Include Files455008 +Node: Using Include Files456095 +Node: texinfo-multiple-files-update458050 +Node: Include File Requirements460411 +Node: Sample Include File461656 +Node: Include Files Evolution463175 +Node: Headings465146 +Node: Headings Introduced465783 +Node: Heading Format467671 +Node: Heading Choice470123 +Node: Custom Headings471495 +Node: Catching Mistakes475823 +Node: makeinfo Preferred477112 +Node: Debugging with Info478017 +Node: Debugging with TeX481363 +Node: Using texinfo-show-structure485643 +Node: Using occur488742 +Node: Running Info-Validate490279 +Node: Using Info-validate491340 +Node: Unsplit493182 +Node: Tagifying494228 +Node: Splitting495080 +Node: Refilling Paragraphs496696 +Node: Refilling Paragraphs-Footnotes498350 +Ref: Refilling Paragraphs-Footnote-1498438 +Node: Command Syntax498601 +Node: Obtaining TeX501558 +Node: Command and Variable Index503671 +Node: Concept Index519523  End Tag Table diff --git a/info/xemacs-faq.info b/info/xemacs-faq.info index 836f830..bbe2a0c 100644 --- a/info/xemacs-faq.info +++ b/info/xemacs-faq.info @@ -9,10 +9,10 @@ END-INFO-DIR-ENTRY  Indirect: xemacs-faq.info-1: 205 -xemacs-faq.info-2: 49999 -xemacs-faq.info-3: 99617 -xemacs-faq.info-4: 149492 -xemacs-faq.info-5: 199354 +xemacs-faq.info-2: 50001 +xemacs-faq.info-3: 99619 +xemacs-faq.info-4: 149494 +xemacs-faq.info-5: 199356  Tag Table: (Indirect) @@ -32,237 +32,237 @@ Node: Q1.0.1125623 Node: Q1.0.1226012 Node: Q1.0.1326380 Node: Q1.0.1426629 -Node: Q1.1.127139 -Node: Q1.1.228181 -Node: Q1.1.328574 -Node: Q1.2.129525 -Node: Q1.2.230581 -Node: Q1.2.331015 -Node: Q1.3.132099 -Node: Q1.3.232750 -Node: Q1.3.333214 -Node: Q1.3.433455 -Node: Q1.3.534228 -Node: Q1.3.636633 -Node: Q1.3.738164 -Node: Q1.4.139099 -Node: Q1.4.239961 -Node: Q1.4.340302 -Node: Q1.4.440721 -Node: Q1.4.542261 -Node: Q1.4.642565 -Node: Installation43558 -Node: Q2.0.146133 -Node: Q2.0.246933 -Node: Q2.0.348701 -Node: Q2.0.449999 -Node: Q2.0.550591 -Node: Q2.0.650939 -Node: Q2.0.751320 -Node: Q2.0.851701 -Node: Q2.0.953278 -Node: Q2.0.1054716 -Node: Q2.0.1155560 -Node: Q2.0.1256501 -Node: Q2.0.1358024 -Node: Q2.0.1458513 -Node: Q2.1.159571 -Node: Q2.1.262313 -Node: Q2.1.363490 -Node: Q2.1.464783 -Node: Q2.1.565582 -Node: Q2.1.665944 -Node: Q2.1.766421 -Node: Q2.1.866774 -Node: Q2.1.968308 -Node: Q2.1.1068730 -Node: Q2.1.1169487 -Node: Q2.1.1270352 -Node: Q2.1.1371307 -Node: Q2.1.1472338 -Node: Q2.1.1573449 -Node: Q2.1.1680481 -Node: Q2.1.1781175 -Node: Q2.1.1881772 -Node: Q2.1.1981899 -Node: Q2.1.2082429 -Node: Q2.1.2182811 -Node: Q2.1.2283004 -Node: Q2.1.2384301 -Node: Q2.1.2484969 -Node: Q2.1.2585441 -Node: Customization86076 -Node: Q3.0.190914 -Node: Q3.0.291620 -Node: Q3.0.392184 -Node: Q3.0.492601 -Node: Q3.0.593434 -Node: Q3.0.694215 -Node: Q3.0.794795 -Node: Q3.0.895459 -Node: Q3.0.996417 -Node: Q3.1.196978 -Node: Q3.1.297715 -Node: Q3.1.398146 -Node: Q3.1.498335 -Node: Q3.1.598524 -Node: Q3.1.698908 -Node: Q3.1.799617 -Node: Q3.1.8101841 -Node: Q3.2.1102383 -Node: Q3.2.2104036 -Node: Q3.2.3104835 -Node: Q3.2.4105437 -Node: Q3.2.5106471 -Node: Q3.2.6106938 -Node: Q3.3.1107863 -Node: Q3.3.2108293 -Node: Q3.3.3108924 -Node: Q3.3.4109305 -Node: Q3.3.5110406 -Node: Q3.4.1111900 -Node: Q3.4.2112543 -Node: Q3.5.1113055 -Node: Q3.5.2114504 -Node: Q3.5.3114922 -Node: Q3.5.4115760 -Node: Q3.5.5116592 -Node: Q3.5.6117732 -Node: Q3.5.7118722 -Node: Q3.5.8120162 -Node: Q3.5.9120909 -Node: Q3.5.10121689 -Node: Q3.5.11122325 -Node: Q3.6.1122878 -Node: Q3.6.2123623 -Node: Q3.6.3124051 -Node: Q3.7.1124551 -Node: Q3.7.2125439 -Node: Q3.7.3126098 -Node: Q3.7.4126520 -Node: Q3.7.5126863 -Node: Q3.7.6127331 -Node: Q3.7.7128046 -Node: Q3.7.8129066 -Node: Q3.8.1129485 -Node: Q3.8.2129945 -Node: Q3.8.3130408 -Node: Q3.8.4131014 -Node: Q3.8.5131733 -Node: Q3.9.1132518 -Node: Q3.9.2133458 -Node: Q3.9.3134056 -Node: Q3.9.4134718 -Node: Q3.10.1135597 -Node: Q3.10.2136415 -Node: Q3.10.3137420 -Node: Q3.10.4138148 -Node: Q3.10.5138531 -Node: Subsystems139583 -Node: Q4.0.1142070 -Node: Q4.0.2142595 -Node: Q4.0.3143153 -Node: Q4.0.4143474 -Node: Q4.0.5143716 -Node: Q4.0.6143947 -Node: Q4.0.7144535 -Node: Q4.0.8144860 -Node: Q4.0.9146087 -Node: Q4.0.10148125 -Node: Q4.0.11148614 -Node: Q4.0.12149492 -Node: Q4.1.1150465 -Node: Q4.1.2150868 -Node: Q4.1.3151195 -Node: Q4.2.1151504 -Node: Q4.2.2152134 -Node: Q4.2.3152374 -Node: Q4.2.4152918 -Node: Q4.3.1153571 -Node: Q4.3.2154155 -Node: Q4.3.3155636 -Node: Q4.3.4155908 -Node: Q4.3.5156585 -Node: Q4.4.1157213 -Node: Q4.4.2158699 -Node: Q4.5.1159903 -Node: Q4.6.1160672 -Node: Q4.7.1165932 -Node: Q4.7.2166887 -Node: Q4.7.3167184 -Node: Q4.7.4167370 -Node: Q4.7.5168254 -Node: Q4.7.6169895 -Node: Miscellaneous170184 -Node: Q5.0.1173597 -Node: Q5.0.2174336 -Node: Q5.0.3175190 -Node: Q5.0.4175892 -Node: Q5.0.5176831 -Node: Q5.0.6178811 -Node: Q5.0.7179468 -Node: Q5.0.8180073 -Node: Q5.0.9180592 -Node: Q5.0.10181106 -Node: Q5.0.11181354 -Node: Q5.0.12181892 -Node: Q5.0.13182809 -Node: Q5.0.14183493 -Node: Q5.0.15184258 -Node: Q5.0.16184555 -Node: Q5.0.17185067 -Node: Q5.0.18185332 -Node: Q5.0.19185526 -Node: Q5.0.20185950 -Node: Q5.1.1186865 -Node: Q5.1.2188934 -Node: Q5.1.3189670 -Node: Q5.1.4193064 -Node: Q5.1.5193599 -Node: Q5.1.6195723 -Node: Q5.1.7197209 -Node: Q5.1.8198802 -Node: Q5.1.9199354 -Node: Q5.1.10200239 -Node: Q5.1.11201370 -Node: Q5.2.1201919 -Node: Q5.2.2202489 -Node: Q5.2.3202906 -Node: Q5.2.4203141 -Node: Q5.3.1204051 -Node: Q5.3.2205272 -Node: Q5.3.3206048 -Node: Q5.3.4206532 -Node: Q5.3.5207199 -Node: Q5.3.6208068 -Node: Q5.3.7208313 -Node: Q5.3.8210503 -Node: Q5.3.9210750 -Node: Q5.3.10211703 -Node: Q5.3.11213787 -Node: Q5.3.12215378 -Node: MS Windows216652 -Node: Q6.0.1218129 -Node: Q6.0.2218876 -Node: Q6.0.3219341 -Node: Q6.0.4219621 -Node: Q6.1.1221900 -Node: Q6.1.2222771 -Node: Q6.1.3223226 -Node: Q6.1.4223508 -Node: Q6.1.5223886 -Node: Q6.1.6224754 -Node: Q6.2.1227060 -Node: Q6.2.2227961 -Node: Q6.2.3228373 -Node: Q6.3.1228662 -Node: Q6.3.2229756 -Node: Q6.3.3232937 -Node: Q6.4.1233206 -Node: Current Events234541 -Node: Q7.0.1235195 -Node: Q7.0.2235834 -Node: Q7.0.3236907 -Node: Q7.0.4237135 +Node: Q1.1.127141 +Node: Q1.1.228183 +Node: Q1.1.328576 +Node: Q1.2.129527 +Node: Q1.2.230583 +Node: Q1.2.331017 +Node: Q1.3.132101 +Node: Q1.3.232752 +Node: Q1.3.333216 +Node: Q1.3.433457 +Node: Q1.3.534230 +Node: Q1.3.636635 +Node: Q1.3.738166 +Node: Q1.4.139101 +Node: Q1.4.239963 +Node: Q1.4.340304 +Node: Q1.4.440723 +Node: Q1.4.542263 +Node: Q1.4.642567 +Node: Installation43560 +Node: Q2.0.146135 +Node: Q2.0.246935 +Node: Q2.0.348703 +Node: Q2.0.450001 +Node: Q2.0.550593 +Node: Q2.0.650941 +Node: Q2.0.751322 +Node: Q2.0.851703 +Node: Q2.0.953280 +Node: Q2.0.1054718 +Node: Q2.0.1155562 +Node: Q2.0.1256503 +Node: Q2.0.1358026 +Node: Q2.0.1458515 +Node: Q2.1.159573 +Node: Q2.1.262315 +Node: Q2.1.363492 +Node: Q2.1.464785 +Node: Q2.1.565584 +Node: Q2.1.665946 +Node: Q2.1.766423 +Node: Q2.1.866776 +Node: Q2.1.968310 +Node: Q2.1.1068732 +Node: Q2.1.1169489 +Node: Q2.1.1270354 +Node: Q2.1.1371309 +Node: Q2.1.1472340 +Node: Q2.1.1573451 +Node: Q2.1.1680483 +Node: Q2.1.1781177 +Node: Q2.1.1881774 +Node: Q2.1.1981901 +Node: Q2.1.2082431 +Node: Q2.1.2182813 +Node: Q2.1.2283006 +Node: Q2.1.2384303 +Node: Q2.1.2484971 +Node: Q2.1.2585443 +Node: Customization86078 +Node: Q3.0.190916 +Node: Q3.0.291622 +Node: Q3.0.392186 +Node: Q3.0.492603 +Node: Q3.0.593436 +Node: Q3.0.694217 +Node: Q3.0.794797 +Node: Q3.0.895461 +Node: Q3.0.996419 +Node: Q3.1.196980 +Node: Q3.1.297717 +Node: Q3.1.398148 +Node: Q3.1.498337 +Node: Q3.1.598526 +Node: Q3.1.698910 +Node: Q3.1.799619 +Node: Q3.1.8101843 +Node: Q3.2.1102385 +Node: Q3.2.2104038 +Node: Q3.2.3104837 +Node: Q3.2.4105439 +Node: Q3.2.5106473 +Node: Q3.2.6106940 +Node: Q3.3.1107865 +Node: Q3.3.2108295 +Node: Q3.3.3108926 +Node: Q3.3.4109307 +Node: Q3.3.5110408 +Node: Q3.4.1111902 +Node: Q3.4.2112545 +Node: Q3.5.1113057 +Node: Q3.5.2114506 +Node: Q3.5.3114924 +Node: Q3.5.4115762 +Node: Q3.5.5116594 +Node: Q3.5.6117734 +Node: Q3.5.7118724 +Node: Q3.5.8120164 +Node: Q3.5.9120911 +Node: Q3.5.10121691 +Node: Q3.5.11122327 +Node: Q3.6.1122880 +Node: Q3.6.2123625 +Node: Q3.6.3124053 +Node: Q3.7.1124553 +Node: Q3.7.2125441 +Node: Q3.7.3126100 +Node: Q3.7.4126522 +Node: Q3.7.5126865 +Node: Q3.7.6127333 +Node: Q3.7.7128048 +Node: Q3.7.8129068 +Node: Q3.8.1129487 +Node: Q3.8.2129947 +Node: Q3.8.3130410 +Node: Q3.8.4131016 +Node: Q3.8.5131735 +Node: Q3.9.1132520 +Node: Q3.9.2133460 +Node: Q3.9.3134058 +Node: Q3.9.4134720 +Node: Q3.10.1135599 +Node: Q3.10.2136417 +Node: Q3.10.3137422 +Node: Q3.10.4138150 +Node: Q3.10.5138533 +Node: Subsystems139585 +Node: Q4.0.1142072 +Node: Q4.0.2142597 +Node: Q4.0.3143155 +Node: Q4.0.4143476 +Node: Q4.0.5143718 +Node: Q4.0.6143949 +Node: Q4.0.7144537 +Node: Q4.0.8144862 +Node: Q4.0.9146089 +Node: Q4.0.10148127 +Node: Q4.0.11148616 +Node: Q4.0.12149494 +Node: Q4.1.1150467 +Node: Q4.1.2150870 +Node: Q4.1.3151197 +Node: Q4.2.1151506 +Node: Q4.2.2152136 +Node: Q4.2.3152376 +Node: Q4.2.4152920 +Node: Q4.3.1153573 +Node: Q4.3.2154157 +Node: Q4.3.3155638 +Node: Q4.3.4155910 +Node: Q4.3.5156587 +Node: Q4.4.1157215 +Node: Q4.4.2158701 +Node: Q4.5.1159905 +Node: Q4.6.1160674 +Node: Q4.7.1165934 +Node: Q4.7.2166889 +Node: Q4.7.3167186 +Node: Q4.7.4167372 +Node: Q4.7.5168256 +Node: Q4.7.6169897 +Node: Miscellaneous170186 +Node: Q5.0.1173599 +Node: Q5.0.2174338 +Node: Q5.0.3175192 +Node: Q5.0.4175894 +Node: Q5.0.5176833 +Node: Q5.0.6178813 +Node: Q5.0.7179470 +Node: Q5.0.8180075 +Node: Q5.0.9180594 +Node: Q5.0.10181108 +Node: Q5.0.11181356 +Node: Q5.0.12181894 +Node: Q5.0.13182811 +Node: Q5.0.14183495 +Node: Q5.0.15184260 +Node: Q5.0.16184557 +Node: Q5.0.17185069 +Node: Q5.0.18185334 +Node: Q5.0.19185528 +Node: Q5.0.20185952 +Node: Q5.1.1186867 +Node: Q5.1.2188936 +Node: Q5.1.3189672 +Node: Q5.1.4193066 +Node: Q5.1.5193601 +Node: Q5.1.6195725 +Node: Q5.1.7197211 +Node: Q5.1.8198804 +Node: Q5.1.9199356 +Node: Q5.1.10200241 +Node: Q5.1.11201372 +Node: Q5.2.1201921 +Node: Q5.2.2202491 +Node: Q5.2.3202908 +Node: Q5.2.4203143 +Node: Q5.3.1204053 +Node: Q5.3.2205274 +Node: Q5.3.3206050 +Node: Q5.3.4206534 +Node: Q5.3.5207201 +Node: Q5.3.6208070 +Node: Q5.3.7208315 +Node: Q5.3.8210505 +Node: Q5.3.9210752 +Node: Q5.3.10211705 +Node: Q5.3.11213789 +Node: Q5.3.12215380 +Node: MS Windows216654 +Node: Q6.0.1218131 +Node: Q6.0.2218878 +Node: Q6.0.3219343 +Node: Q6.0.4219623 +Node: Q6.1.1221902 +Node: Q6.1.2222773 +Node: Q6.1.3223228 +Node: Q6.1.4223510 +Node: Q6.1.5223888 +Node: Q6.1.6224756 +Node: Q6.2.1227062 +Node: Q6.2.2227963 +Node: Q6.2.3228375 +Node: Q6.3.1228664 +Node: Q6.3.2229758 +Node: Q6.3.3232939 +Node: Q6.4.1233208 +Node: Current Events234543 +Node: Q7.0.1235197 +Node: Q7.0.2235836 +Node: Q7.0.3236909 +Node: Q7.0.4237137  End Tag Table diff --git a/info/xemacs-faq.info-1 b/info/xemacs-faq.info-1 index 791fbce..4f6b9b0 100644 --- a/info/xemacs-faq.info-1 +++ b/info/xemacs-faq.info-1 @@ -632,8 +632,8 @@ Q1.0.13: Is there a port of XEmacs to OS/2?  File: xemacs-faq.info, Node: Q1.0.14, Next: Q1.1.1, Prev: Q1.0.13, Up: Introduction -Q1.0.14: Where can I obtain a printed copy of the XEmacs users manual? ----------------------------------------------------------------------- +Q1.0.14: Where can I obtain a printed copy of the XEmacs User's Manual? +----------------------------------------------------------------------- Pre-printed manuals are not available. If you are familiar with TeX, you can generate your own manual from the XEmacs sources. diff --git a/info/xemacs.info b/info/xemacs.info index 7123481..4f518dc 100644 --- a/info/xemacs.info +++ b/info/xemacs.info @@ -32,27 +32,27 @@ translation approved by the author instead of in the original English.  Indirect: xemacs.info-1: 1350 -xemacs.info-2: 48895 -xemacs.info-3: 98506 -xemacs.info-4: 147816 -xemacs.info-5: 197412 -xemacs.info-6: 246852 -xemacs.info-7: 296809 -xemacs.info-8: 345202 -xemacs.info-9: 392972 -xemacs.info-10: 442574 -xemacs.info-11: 491015 -xemacs.info-12: 538210 -xemacs.info-13: 586468 -xemacs.info-14: 634794 -xemacs.info-15: 684331 -xemacs.info-16: 731876 -xemacs.info-17: 780201 -xemacs.info-18: 826586 -xemacs.info-19: 867946 -xemacs.info-20: 899600 -xemacs.info-21: 949004 -xemacs.info-22: 991590 +xemacs.info-2: 48996 +xemacs.info-3: 96093 +xemacs.info-4: 145333 +xemacs.info-5: 194484 +xemacs.info-6: 242144 +xemacs.info-7: 282227 +xemacs.info-8: 332190 +xemacs.info-9: 379660 +xemacs.info-10: 428178 +xemacs.info-11: 476002 +xemacs.info-12: 525173 +xemacs.info-13: 574356 +xemacs.info-14: 623433 +xemacs.info-15: 672813 +xemacs.info-16: 722680 +xemacs.info-17: 771316 +xemacs.info-18: 820011 +xemacs.info-19: 868928 +xemacs.info-20: 915111 +xemacs.info-21: 964515 +xemacs.info-22: 1007101  Tag Table: (Indirect) @@ -61,362 +61,371 @@ Node: License22790 Node: Distrib36072 Node: Intro37736 Node: Frame40607 -Node: Point44551 -Node: Echo Area46518 -Node: Mode Line48895 -Node: XEmacs under X53326 -Node: Keystrokes56503 -Node: Intro to Keystrokes57347 -Node: Representing Keystrokes59450 -Node: Key Sequences60807 -Node: String Key Sequences64148 -Node: Meta Key64531 -Node: Super and Hyper Keys66004 -Node: Character Representation72249 -Node: Commands73269 -Node: Pull-down Menus76118 -Node: File Menu79467 -Node: Edit Menu83289 -Node: Apps Menu85672 -Node: Options Menu86162 -Node: Buffers Menu90180 -Node: Tools Menu90487 -Node: Help Menu90978 -Node: Menu Customization91379 -Node: Entering Emacs95609 -Node: Exiting98506 -Node: Command Switches102979 -Node: Startup Paths112343 -Node: Basic119673 -Node: Inserting Text121077 -Node: Moving Point124073 -Node: Erasing127679 -Node: Basic Files128984 -Node: Basic Help130906 -Node: Blank Lines131501 -Node: Continuation Lines133077 -Node: Position Info134744 -Node: Arguments138160 -Node: Undo142259 -Node: Minibuffer145206 -Node: Minibuffer File147816 -Node: Minibuffer Edit149621 -Node: Completion152562 -Node: Completion Example154493 -Node: Completion Commands155588 -Node: Strict Completion158564 -Node: Completion Options160345 -Node: Minibuffer History161853 -Node: Repetition165037 -Node: M-x167882 -Node: Help172976 -Node: Help Summary174386 -Node: Key Help177172 -Node: Name Help178131 -Node: Apropos180776 -Node: Library Keywords183895 -Node: Help Mode186216 -Node: Misc Help186713 -Node: Mark189861 -Node: Setting Mark191715 -Node: Using Region194837 -Node: Marking Objects195574 -Node: Mark Ring197412 -Node: Mouse Selection199128 -Node: Additional Mouse Operations201135 -Node: Killing205339 -Node: Yanking210975 -Node: Kill Ring211778 -Node: Appending Kills213380 -Node: Earlier Kills215417 -Node: Using X Selections218030 -Node: X Clipboard Selection219280 -Node: X Selection Commands221457 -Node: X Cut Buffers222543 -Node: Active Regions223902 -Node: Accumulating Text228482 -Node: Rectangles231555 -Node: Registers235074 -Node: RegPos236528 -Node: RegText237684 -Node: RegRect238790 -Node: RegConfig239669 -Node: RegNumbers240609 -Node: RegFiles241327 -Node: Bookmarks241985 -Node: Display245357 -Node: Scrolling246852 -Node: Horizontal Scrolling250995 -Node: Selective Display252190 -Node: Display Vars253409 -Node: Search256087 -Node: Incremental Search257280 -Node: Non-Incremental Search266208 -Node: Word Search267650 -Node: Regexp Search269268 -Node: Regexps271638 -Node: Search Case285635 -Node: Replace286416 -Node: Unconditional Replace287364 -Node: Regexp Replace288499 -Node: Replacement and Case289434 -Node: Query Replace290414 -Node: Other Repeating Search293641 -Node: Fixit294896 -Node: Kill Errors295476 -Node: Transpose296809 -Node: Fixing Case299213 -Node: Spelling299859 -Node: Files301320 -Node: File Names302630 -Node: Visiting306967 -Node: Saving313799 -Node: Backup318722 -Node: Backup Names320118 -Node: Backup Deletion321601 -Node: Backup Copying322751 -Node: Interlocking324457 -Node: Reverting328585 -Node: Auto Save330497 -Node: Auto Save Files331464 -Node: Auto Save Control333305 -Node: Recover335143 -Node: Version Control336298 -Node: Concepts of VC338336 -Node: Editing with VC339946 -Node: Variables for Check-in/out345202 -Node: Log Entries347101 -Node: Change Logs and VC348281 -Node: Old Versions351548 -Node: VC Status353551 -Node: Renaming and VC355265 -Node: Snapshots355944 -Node: Making Snapshots356445 -Node: Snapshot Caveats357738 -Node: Version Headers359547 -Node: ListDir362246 -Node: Comparing Files364295 -Node: Dired365828 -Node: Dired Enter366499 -Node: Dired Edit367324 -Node: Dired Deletion369071 -Node: Dired Immed372294 -Node: Misc File Ops373570 -Node: Buffers376058 -Node: Select Buffer378216 -Node: List Buffers380011 -Node: Misc Buffer381769 -Node: Kill Buffer383412 -Node: Several Buffers384542 -Node: Windows388409 -Node: Basic Window389120 -Node: Split Window390839 -Node: Other Window392972 -Node: Pop Up Window395403 -Node: Change Window396908 -Node: Mule399816 -Node: Mule Intro401079 -Node: Language Environments402095 -Node: Input Methods404202 -Node: Select Input Method407922 -Node: Coding Systems410077 -Node: Recognize Coding414263 -Node: Specify Coding417589 -Node: Major Modes422520 -Node: Choosing Modes424739 -Node: Indentation427129 -Node: Indentation Commands429224 -Node: Tab Stops431953 -Node: Just Spaces433802 -Node: Text434617 -Node: Text Mode436600 -Node: Nroff Mode438679 -Node: TeX Mode440322 -Node: TeX Editing442574 -Node: TeX Print446008 -Node: Outline Mode449227 -Node: Outline Format450708 -Node: Outline Motion453508 -Node: Outline Visibility455061 -Node: Words457982 -Node: Sentences460929 -Node: Paragraphs463125 -Node: Pages465413 -Node: Filling468013 -Node: Auto Fill468584 -Node: Fill Commands470731 -Node: Fill Prefix472896 -Node: Case475084 -Node: Programs477112 -Node: Program Modes479662 -Node: Lists481894 -Node: Defuns487734 -Node: Grinding490387 -Node: Basic Indent491015 -Node: Multi-line Indent493036 -Node: Lisp Indent494652 -Node: C Indent498102 -Node: Matching503342 -Node: Comments504864 -Node: Balanced Editing511316 -Node: Lisp Completion512330 -Node: Documentation513345 -Node: Change Log514584 -Node: Tags517162 -Node: Tag Syntax518811 -Node: Create Tags Table522755 -Node: Etags Regexps526815 -Node: Select Tags Table531473 -Node: Find Tag535246 -Node: Tags Search538210 -Node: List Tags541666 -Node: Fortran542695 -Node: Fortran Motion543771 -Node: Fortran Indent544591 -Node: ForIndent Commands545276 -Node: ForIndent Num546421 -Node: ForIndent Conv547695 -Node: ForIndent Vars548471 -Node: Fortran Comments549639 -Node: Fortran Columns553237 -Node: Fortran Abbrev554660 -Node: Asm Mode555569 -Node: Running556121 -Node: Compilation557090 -Node: Lisp Modes561940 -Node: Lisp Libraries563213 -Node: Loading563767 -Node: Compiling Libraries568227 -Node: Mocklisp571118 -Node: Lisp Eval571795 -Node: Lisp Debug575435 -Node: Lisp Interaction580862 -Node: External Lisp582217 -Node: Packages584291 -Node: Package Terminology585110 -Node: Using Packages586468 -Node: Building Packages595346 -Node: Available Packages597895 -Node: Abbrevs603278 -Node: Defining Abbrevs605477 -Node: Expanding Abbrevs607924 -Node: Editing Abbrevs610626 -Node: Saving Abbrevs612499 -Node: Dynamic Abbrevs614454 -Node: Picture615756 -Node: Basic Picture618189 -Node: Insert in Picture620474 -Node: Tabs in Picture621896 -Node: Rectangles in Picture623417 -Node: Sending Mail625325 -Node: Mail Format627036 -Node: Mail Headers628386 -Node: Mail Mode634794 -Node: Reading Mail638407 -Node: Calendar/Diary639982 -Node: Calendar Motion641654 -Node: Calendar Unit Motion642537 -Node: Move to Beginning or End644860 -Node: Specified Dates645993 -Node: Scroll Calendar646881 -Node: Mark and Region648672 -Node: General Calendar650578 -Node: LaTeX Calendar652186 -Node: Holidays654200 -Node: Sunrise/Sunset657302 -Node: Lunar Phases660341 -Node: Other Calendars661726 -Node: Calendar Systems663213 -Node: To Other Calendar666324 -Node: From Other Calendar668315 -Node: Mayan Calendar670620 -Node: Diary673815 -Node: Diary Commands675564 -Node: Format of Diary File678887 -Node: Date Formats681757 -Node: Adding to Diary684331 -Node: Special Diary Entries685962 -Node: Calendar Customization691301 -Node: Calendar Customizing692163 -Node: Holiday Customizing695398 -Node: Date Display Format701885 -Node: Time Display Format702843 -Node: Daylight Savings703981 -Node: Diary Customizing707169 -Node: Hebrew/Islamic Entries711790 -Node: Fancy Diary Display715130 -Node: Included Diary Files717046 -Node: Sexp Diary Entries718027 -Node: Appt Customizing723117 -Node: Sorting724163 -Node: Shell728969 -Node: Single Shell730262 -Node: Interactive Shell731876 -Node: Shell Mode735641 -Node: Terminal emulator738132 -Node: Term Mode740441 -Node: Paging in Term741355 -Node: Narrowing742153 -Node: Hardcopy744103 -Node: Recursive Edit745075 -Node: Dissociated Press748062 -Node: CONX750625 -Node: Amusements751649 -Node: Emulation752129 -Node: Customization753989 -Node: Minor Modes755805 -Node: Variables757437 -Node: Examining759393 -Node: Easy Customization760854 -Node: Customization Groups761868 -Node: Changing an Option764797 -Node: Face Customization771067 -Node: Specific Customization772831 -Node: Edit Options775438 -Node: Locals777022 -Node: File Variables780201 -Node: Keyboard Macros784751 -Node: Basic Kbd Macro786922 -Node: Save Kbd Macro788854 -Node: Kbd Macro Query790512 -Node: Key Bindings792454 -Node: Keymaps793328 -Node: Rebinding797178 -Node: Interactive Rebinding797877 -Node: Programmatic Rebinding800066 -Node: Key Bindings Using Strings802873 -Node: Disabling804500 -Node: Syntax806279 -Node: Syntax Entry807160 -Node: Syntax Change811244 -Node: Init File813413 -Node: Init Syntax814877 -Node: Init Examples817228 -Node: Terminal Init821418 -Node: Audible Bell823155 -Node: Faces826586 -Node: Frame Components831428 -Node: X Resources831873 -Node: Geometry Resources833532 -Node: Iconic Resources835980 -Node: Resource List836452 -Node: Face Resources842959 -Node: Widgets846636 -Node: Menubar Resources847575 -Node: Quitting849089 -Node: Lossage852067 -Node: Stuck Recursive852711 -Node: Screen Garbled853417 -Node: Text Garbled854551 -Node: Unasked-for Search855190 -Node: Emergency Escape855975 -Node: Total Frustration857754 -Node: Bugs858385 -Node: Glossary867946 -Node: Manifesto899600 -Node: Key Index923077 -Node: Command Index949004 -Node: Variable Index991590 -Node: Concept Index1007676 +Node: Point44652 +Node: Echo Area46619 +Node: Mode Line48996 +Node: GUI Components53427 +Node: Menubar Basics54657 +Node: Scrollbar Basics56573 +Node: Toolbar Basics57464 +Node: Gutter Basics58131 +Node: Inhibiting60185 +Node: Customizing62556 +Node: XEmacs under X62805 +Node: XEmacs under MS Windows66019 +Node: Keystrokes66434 +Node: Intro to Keystrokes67278 +Node: Representing Keystrokes69381 +Node: Key Sequences70738 +Node: String Key Sequences74079 +Node: Meta Key74462 +Node: Super and Hyper Keys75935 +Node: Character Representation82180 +Node: Commands83200 +Node: Pull-down Menus86049 +Node: File Menu89398 +Node: Edit Menu93220 +Node: Apps Menu95603 +Node: Options Menu96093 +Node: Buffers Menu100111 +Node: Tools Menu100418 +Node: Help Menu100909 +Node: Menu Customization101310 +Node: Entering Emacs105540 +Node: Exiting108437 +Node: Command Switches112910 +Node: Startup Paths122932 +Node: Basic130262 +Node: Inserting Text131666 +Node: Moving Point134662 +Node: Erasing138268 +Node: Basic Files139573 +Node: Basic Help141495 +Node: Blank Lines142090 +Node: Continuation Lines143666 +Node: Position Info145333 +Node: Arguments148749 +Node: Undo152848 +Node: Minibuffer155795 +Node: Minibuffer File158405 +Node: Minibuffer Edit160210 +Node: Completion163151 +Node: Completion Example165082 +Node: Completion Commands166177 +Node: Strict Completion169153 +Node: Completion Options170934 +Node: Minibuffer History172442 +Node: Repetition175626 +Node: M-x178471 +Node: Help183565 +Node: Help Summary184975 +Node: Key Help187761 +Node: Name Help188720 +Node: Apropos191365 +Node: Library Keywords194484 +Node: Help Mode196805 +Node: Misc Help197302 +Node: Mark200450 +Node: Setting Mark202304 +Node: Using Region205426 +Node: Marking Objects206163 +Node: Mark Ring208001 +Node: Mouse Selection209717 +Node: Additional Mouse Operations211724 +Node: Killing215928 +Node: Yanking221564 +Node: Kill Ring222367 +Node: Appending Kills223969 +Node: Earlier Kills226006 +Node: Using X Selections228619 +Node: X Clipboard Selection229869 +Node: X Selection Commands232046 +Node: X Cut Buffers233132 +Node: Active Regions234491 +Node: Accumulating Text239071 +Node: Rectangles242144 +Node: Registers245663 +Node: RegPos247117 +Node: RegText248273 +Node: RegRect249379 +Node: RegConfig250258 +Node: RegNumbers251198 +Node: RegFiles251916 +Node: Bookmarks252574 +Node: Display255946 +Node: Scrolling257441 +Node: Horizontal Scrolling261584 +Node: Selective Display262779 +Node: Display Vars263998 +Node: Search266676 +Node: Incremental Search267869 +Node: Non-Incremental Search276797 +Node: Word Search278239 +Node: Regexp Search279857 +Node: Regexps282227 +Node: Search Case296224 +Node: Replace297005 +Node: Unconditional Replace297953 +Node: Regexp Replace299088 +Node: Replacement and Case300023 +Node: Query Replace301003 +Node: Other Repeating Search304230 +Node: Fixit305485 +Node: Kill Errors306065 +Node: Transpose307398 +Node: Fixing Case309802 +Node: Spelling310448 +Node: Files311909 +Node: File Names313219 +Node: Visiting317556 +Node: Saving324388 +Node: Backup329311 +Node: Backup Names330707 +Node: Backup Deletion332190 +Node: Backup Copying333340 +Node: Interlocking335046 +Node: Reverting339174 +Node: Auto Save341086 +Node: Auto Save Files342053 +Node: Auto Save Control343894 +Node: Recover345732 +Node: Version Control346887 +Node: Concepts of VC348925 +Node: Editing with VC350535 +Node: Variables for Check-in/out355791 +Node: Log Entries357690 +Node: Change Logs and VC358870 +Node: Old Versions362137 +Node: VC Status364140 +Node: Renaming and VC365854 +Node: Snapshots366533 +Node: Making Snapshots367034 +Node: Snapshot Caveats368327 +Node: Version Headers370136 +Node: ListDir372835 +Node: Comparing Files374884 +Node: Dired376417 +Node: Dired Enter377088 +Node: Dired Edit377913 +Node: Dired Deletion379660 +Node: Dired Immed382883 +Node: Misc File Ops384159 +Node: Buffers386647 +Node: Select Buffer388805 +Node: List Buffers390600 +Node: Misc Buffer392358 +Node: Kill Buffer394001 +Node: Several Buffers395131 +Node: Windows398998 +Node: Basic Window399709 +Node: Split Window401428 +Node: Other Window403561 +Node: Pop Up Window405992 +Node: Change Window407497 +Node: Mule410405 +Node: Mule Intro411668 +Node: Language Environments412684 +Node: Input Methods414791 +Node: Select Input Method418511 +Node: Coding Systems420666 +Node: Recognize Coding424852 +Node: Specify Coding428178 +Node: Major Modes433109 +Node: Choosing Modes435328 +Node: Indentation437718 +Node: Indentation Commands439813 +Node: Tab Stops442542 +Node: Just Spaces444391 +Node: Text445206 +Node: Text Mode447189 +Node: Nroff Mode449268 +Node: TeX Mode450911 +Node: TeX Editing453163 +Node: TeX Print456597 +Node: Outline Mode459816 +Node: Outline Format461297 +Node: Outline Motion464097 +Node: Outline Visibility465650 +Node: Words468571 +Node: Sentences471518 +Node: Paragraphs473714 +Node: Pages476002 +Node: Filling478602 +Node: Auto Fill479173 +Node: Fill Commands481320 +Node: Fill Prefix483485 +Node: Case485673 +Node: Programs487701 +Node: Program Modes490251 +Node: Lists492483 +Node: Defuns498323 +Node: Grinding500976 +Node: Basic Indent501604 +Node: Multi-line Indent503625 +Node: Lisp Indent505241 +Node: C Indent508691 +Node: Matching513931 +Node: Comments515453 +Node: Balanced Editing521905 +Node: Lisp Completion522919 +Node: Documentation523934 +Node: Change Log525173 +Node: Tags527751 +Node: Tag Syntax529400 +Node: Create Tags Table533344 +Node: Etags Regexps537404 +Node: Select Tags Table542062 +Node: Find Tag545835 +Node: Tags Search548799 +Node: List Tags552255 +Node: Fortran553284 +Node: Fortran Motion554360 +Node: Fortran Indent555180 +Node: ForIndent Commands555865 +Node: ForIndent Num557010 +Node: ForIndent Conv558284 +Node: ForIndent Vars559060 +Node: Fortran Comments560228 +Node: Fortran Columns563826 +Node: Fortran Abbrev565249 +Node: Asm Mode566158 +Node: Running566710 +Node: Compilation567679 +Node: Lisp Modes572529 +Node: Lisp Libraries573802 +Node: Loading574356 +Node: Compiling Libraries578816 +Node: Mocklisp581707 +Node: Lisp Eval582384 +Node: Lisp Debug586024 +Node: Lisp Interaction591451 +Node: External Lisp592806 +Node: Packages594880 +Node: Package Terminology595735 +Node: Using Packages597093 +Node: Building Packages605971 +Node: Creating Packages608514 +Node: Available Packages613514 +Node: Abbrevs618787 +Node: Defining Abbrevs620986 +Node: Expanding Abbrevs623433 +Node: Editing Abbrevs626135 +Node: Saving Abbrevs628008 +Node: Dynamic Abbrevs629963 +Node: Picture631265 +Node: Basic Picture633698 +Node: Insert in Picture635983 +Node: Tabs in Picture637405 +Node: Rectangles in Picture638926 +Node: Sending Mail640834 +Node: Mail Format642545 +Node: Mail Headers643895 +Node: Mail Mode650303 +Node: Reading Mail653916 +Node: Calendar/Diary655491 +Node: Calendar Motion657165 +Node: Calendar Unit Motion658048 +Node: Move to Beginning or End660371 +Node: Specified Dates661504 +Node: Scroll Calendar662392 +Node: Mark and Region664183 +Node: General Calendar666089 +Node: LaTeX Calendar667697 +Node: Holidays669711 +Node: Sunrise/Sunset672813 +Node: Lunar Phases675852 +Node: Other Calendars677237 +Node: Calendar Systems678724 +Node: To Other Calendar681835 +Node: From Other Calendar683826 +Node: Mayan Calendar686131 +Node: Diary689326 +Node: Diary Commands691075 +Node: Format of Diary File694398 +Node: Date Formats697268 +Node: Adding to Diary699842 +Node: Special Diary Entries701473 +Node: Calendar Customization706812 +Node: Calendar Customizing707674 +Node: Holiday Customizing710909 +Node: Date Display Format717396 +Node: Time Display Format718354 +Node: Daylight Savings719492 +Node: Diary Customizing722680 +Node: Hebrew/Islamic Entries727301 +Node: Fancy Diary Display730641 +Node: Included Diary Files732557 +Node: Sexp Diary Entries733538 +Node: Appt Customizing738628 +Node: Sorting739674 +Node: Shell744480 +Node: Single Shell745773 +Node: Interactive Shell747387 +Node: Shell Mode751152 +Node: Terminal emulator753643 +Node: Term Mode755952 +Node: Paging in Term756866 +Node: Narrowing757664 +Node: Hardcopy759614 +Node: Recursive Edit760586 +Node: Dissociated Press763573 +Node: CONX766136 +Node: Amusements767160 +Node: Emulation767640 +Node: Customization769500 +Node: Minor Modes771316 +Node: Variables772948 +Node: Examining774904 +Node: Easy Customization776365 +Node: Customization Groups777379 +Node: Changing an Option780308 +Node: Face Customization786578 +Node: Specific Customization788342 +Node: Edit Options790949 +Node: Locals792533 +Node: File Variables795712 +Node: Keyboard Macros800262 +Node: Basic Kbd Macro802433 +Node: Save Kbd Macro804365 +Node: Kbd Macro Query806023 +Node: Key Bindings807965 +Node: Keymaps808839 +Node: Rebinding812689 +Node: Interactive Rebinding813388 +Node: Programmatic Rebinding815577 +Node: Key Bindings Using Strings818384 +Node: Disabling820011 +Node: Syntax821790 +Node: Syntax Entry822671 +Node: Syntax Change826755 +Node: Init File828924 +Node: Init Syntax830388 +Node: Init Examples832739 +Node: Terminal Init836929 +Node: Audible Bell838666 +Node: Faces842097 +Node: Frame Components846939 +Node: X Resources847384 +Node: Geometry Resources849043 +Node: Iconic Resources851491 +Node: Resource List851963 +Node: Face Resources858470 +Node: Widgets862147 +Node: Menubar Resources863086 +Node: Quitting864600 +Node: Lossage867578 +Node: Stuck Recursive868222 +Node: Screen Garbled868928 +Node: Text Garbled870062 +Node: Unasked-for Search870701 +Node: Emergency Escape871486 +Node: Total Frustration873265 +Node: Bugs873896 +Node: Glossary883457 +Node: Manifesto915111 +Node: Key Index938588 +Node: Command Index964515 +Node: Variable Index1007101 +Node: Concept Index1023187  End Tag Table diff --git a/info/xemacs.info-1 b/info/xemacs.info-1 index ad6342f..b87fb89 100644 --- a/info/xemacs.info-1 +++ b/info/xemacs.info-1 @@ -945,18 +945,16 @@ Window menu bar at the top of the frame makes shortcuts to several of the commands available (*note Pull-down Menus::). - * If you are running XEmacs under a graphical windowing system, a - toolbar at the top of the frame, just under the menu bar if it - exists, provides "one-touch" shortcuts to several commands. (Not - yet documented.) + * Under a graphical windowing system, a toolbar at the top of the + frame, just under the menu bar if it exists, provides "one-touch" + shortcuts to several commands. (Not yet documented.) - * If you are running XEmacs under a graphical windowing system, a - gutter at the top (under the toolbar) and/or bottom of the frame - provides advanced GUI facilities like tab controls for rapid - switching among related windows and progress bars for - time-consuming operations like downloads across the Internet. - Gutters are an experimental feature introduced in XEmacs version - 21.2. (Not yet documented.) + * Under a graphical windowing system, a gutter at the top (under the + toolbar) and/or bottom of the frame provides advanced GUI + facilities like tab controls for rapid switching among related + windows and progress bars for time-consuming operations like + downloads across the Internet. Gutters are an experimental feature + introduced in XEmacs version 21.2. (Not yet documented.) You can subdivide the XEmacs frame into multiple text windows, and use each window for a different file (*note Windows::). Multiple XEmacs @@ -981,8 +979,11 @@ visible in all XEmacs windows containing that buffer. * Point:: The place in the text where editing commands operate. * Echo Area:: Short messages appear at the bottom of the frame. * Mode Line:: Interpreting the mode line. +* GUI Components:: Menubar, toolbars, gutters. * XEmacs under X:: Some information on using XEmacs under the X Window System. +* XEmacs under MS Windows:: Some information on using XEmacs under + Microsoft Windows.  File: xemacs.info, Node: Point, Next: Echo Area, Prev: Frame, Up: Frame diff --git a/info/xemacs.info-2 b/info/xemacs.info-2 index 8bad2e1..786e236 100644 --- a/info/xemacs.info-2 +++ b/info/xemacs.info-2 @@ -30,7 +30,7 @@ versions, except that the sections entitled "The GNU Manifesto", translation approved by the author instead of in the original English.  -File: xemacs.info, Node: Mode Line, Next: XEmacs under X, Prev: Echo Area, Up: Frame +File: xemacs.info, Node: Mode Line, Next: GUI Components, Prev: Echo Area, Up: Frame The Mode Line ============= @@ -122,7 +122,198 @@ terminal supports it); `nil' means no inverse video. The default is appropriately.  -File: xemacs.info, Node: XEmacs under X, Prev: Mode Line, Up: Frame +File: xemacs.info, Node: GUI Components, Next: XEmacs under X, Prev: Mode Line, Up: Frame + +GUI Components +============== + + When executed in a graphical windowing environment such as the X +Window System or Microsoft Windows, XEmacs displays several graphical +user interface components such as scrollbars, menubars, toolbars, and +gutters. By default there is a vertical scrollbar at the right of each +frame, and at the top of the frame there is a menubar, a toolbar, and a +gutter, in that order. Gutters can contain any of several widgets, but +the default configuration puts a set of "notebook tabs" which you can +use as a shortcut for selecting any of several related buffers in a +given frame. Operating the GUI components is "obvious": click on the +menubar to pull down a menu, on a button in the toolbar to invoke a +function, and on a tab in the gutter to switch buffers. + +* Menu: + +* Menubar Basics:: How XEmacs uses the menubar. +* Scrollbar Basics:: How XEmacs uses scrollbars. +* Toolbar Basics:: How XEmacs uses toolbars. +* Gutter Basics:: How XEmacs uses gutters. +* Inhibiting:: What if you don't like GUI? +* Customizing:: Position, orientation, and appearance of GUI objects. + + +File: xemacs.info, Node: Menubar Basics, Next: Scrollbar Basics, Up: GUI Components + +The XEmacs Menubar +================== + + The XEmacs menubar is intended to be conformant to the usual +conventions for menubars, although conformance is not yet perfect. The +menu at the extreme right is the `Help' menu, which should always be +available. It provides access to all the XEmacs help facilities +available through `C-h', as well as samples of various configuration +files like `~/.Xdefaults' and `~/.emacs'. At the extreme left is the +`Files' menu, which provides the usual file reading, writing, and +printing operations, as well as operations like revert buffer from most +recent save. The next menu from the left is the `Edit' menu, which +provides the `Undo' operation as well as cutting and pasting, +searching, and keyboard macro definition and execution. + + XEmacs provides a very dynamic environment, and the Lisp language +makes for highly flexible applications. The menubar reflects this: +many menus (eg, the `Buffers' menu, *note Buffers Menu::) contain items +determined by the current state of XEmacs, and most major modes and many +minor modes add items to menus and even whole menus to the menubar. In +fact, some applications like w3.el and VM provide so many menus that +they define a whole new menubar and add a button that allows convenient +switching between the "XEmacs menubar" and the "application menubar". +Such applications normally bind themselves to a particular frame, and +this switching only takes place on frames where such an application is +active (ie, the current window of the frame is displaying a buffer in +the appropriate major mode). + + Other menus which are typically available are the `Options', +`Tools', `Buffers', `Apps', and `Mule' menus. For detailed +descriptions of these menus, *Note Pull-down Menus::. (In 21.2 +XEmacsen, the `Mule' menu will be moved under `Options'.) + + +File: xemacs.info, Node: Scrollbar Basics, Next: Toolbar Basics, Prev: Menubar Basics, Up: GUI Components + +XEmacs Scrollbars +================= + + XEmacs scrollbars provide the usual interface. Arrow buttons at +either end allow for line by line scrolling, including autorepeat. +Clicking in the scrollbar itself provides scrolling by windowsfull, +depending on which side of the slider is clicked. The slider itself +may be dragged for smooth scrolling. + + The position of the slider corresponds to the position of the window +in the buffer. In particular, the length of the slider is proportional +to the fraction of the buffer which appears in the window. + + The presence of the scrollbars is under control of the application or +may be customized by the user. By default a vertical scrollbar is +present in all windows (except the minibuffer), and there is no +horizontal scrollbar. + + +File: xemacs.info, Node: Toolbar Basics, Next: Gutter Basics, Prev: Scrollbar Basics, Up: GUI Components + +XEmacs Toolbars +=============== + + XEmacs has a default toolbar which provides shortcuts for some of the +commonly used operations (such as opening files) and applications (such +as the Info manual reader). Operations which require arguments will pop +up dialogs to get them. + + The position of the default toolbar can be customized. Also, several +toolbars may be present simultaneously (in different positions). VM, +for example, provides an application toolbar which shortcuts for +mail-specific operations like sending, saving, and deleting messages. + + +File: xemacs.info, Node: Gutter Basics, Next: Inhibiting, Prev: Toolbar Basics, Up: GUI Components + +XEmacs Gutters +============== + + Gutters are the most flexible of the GUI components described in this +section. In theory, the other GUI components could be implemented by +customizing a gutter, but in practice the other components were +introduced earlier and have their own special implementations. Gutters +tend to be more transient than the other components. Buffer tabs, for +example, change every time the selected buffer in the frame changes. +And for progress gauges a gutter to contain the gauge is typically +created on the fly when needed, then destroyed when the operation whose +staus is being displayed is completed. + + Buffer tabs, having somewhat complex behavior, deserve a closer look. +By default, a row of buffer tabs is displayed at the top of every frame. +(The tabs could be placed in the bottom gutter, but would be oriented +the same way and look rather odd. The horizontal orientation makes +putting them in a side gutter utterly impractical.) The buffer +displayed in the current window of a frame can be changed to a specific +buffer by clicking [mouse-1] on the corresponding tab in the gutter. + + Each tab contains the name of its buffer. The tab for the current +buffer in each frame is displayed in raised relief. The list of buffers +chosen for display in the buffer tab row is derived by filtering the +buffer list (like the `Buffers' menu). The list starts out with all +existing buffers, with more recently selected buffers coming earlier in +the list. + + Then "uninteresting" buffers, like internal XEmacs buffers, the +`*Message Log*' buffer, and so on are deleted from the list. Next, the +frame's selected buffer is determined. Buffers with a different major +mode from the selected buffer are removed from the list. Finally, if +the list is too long, the least recently used buffers are deleted from +the list. By default up to 6 most recently used buffers with the same +mode are displayed on tabs in the gutter. + + +File: xemacs.info, Node: Inhibiting, Next: Customizing, Prev: Gutter Basics, Up: GUI Components + +Inhibiting Display of GUI Components +==================================== + + Use of GUI facilities is a personal thing. Almost everyone agrees +that drawing via keyboard-based "turtle graphics" is acceptable to +hardly anyone if a mouse is available, but conversely emulating a +keyboard with a screenful of buttons is a painful experience. But +between those extremes the complete novice will require a fair amount +of time before toolbars and menus become dispensable, but many an +"Ancien Haquer" sees them as a complete waste of precious frame space +that could be filled with text. + + Display of all of the GUI components created by XEmacs can be +inhibited through the use of Customize. Customize can be accessed +through `Options | Customize' in the menu bar, or via `M-x customize'. +Then navigate through the Customize tree to `Emacs | Environment'. +Scrollbar and toolbar visibility is controlled via the `Display' group, +options `Scrollbars visible' and `Toolbar visible' respectively. +Gutter visibility is controlled by group `Gutter', option `Visible'. + + Or they can be controlled directly by `M-x customize-variable', by +changing the values of the variables `menubar-visible-p', +`scrollbars-visible-p', `toolbar-visible-p', or +`gutter-buffers-tab-visible-p' respectively. (The strange form of the +last variable is due to the fact that gutters are often used to display +transient widgets like progress gauges, which you probably don't want +to inhibit. It is more likely that you want to inhibit the default +display of the buffers tab widget, which is what that variable controls. +This interface is subject to change depending on developer experience +and user feedback.) + + Control of frame configuration can controlled automatically +according to various parameters such as buffer or frame because these +are "specifiers" *Note Specifiers: (lispref)Specifiers. Using these +features requires programming in Lisp; Customize is not yet that +sophisticated. Also, components that appear in various positions and +orientations can have display suppressed according to position. `C-h a +visible-p' gives a list of variables which can be customized. E.g., to +control the visibility of specifically the left-side toolbar only, +customize `left-toolbar-visible-p'. + + +File: xemacs.info, Node: Customizing, Prev: Inhibiting, Up: GUI Components + +Changing the Position, Orientation, and Appearance of GUI Components +==================================================================== + + #### Not documented yet. + + +File: xemacs.info, Node: XEmacs under X, Next: XEmacs under MS Windows, Prev: GUI Components, Up: Frame Using XEmacs Under the X Window System ====================================== @@ -191,6 +382,19 @@ applies: things, and the title is simply what appears above the window.)  +File: xemacs.info, Node: XEmacs under MS Windows, Prev: XEmacs under X, Up: Frame + +Using XEmacs Under Microsoft Windows +==================================== + + Use of XEmacs under MS Windows is not separately documented here, but +most operations available under the X Window System are also available +with MS Windows. + + Where possible, native MS Windows GUI components and capabilities are +used in XEmacs. + + File: xemacs.info, Node: Keystrokes, Next: Pull-down Menus, Prev: Frame, Up: Top Keystrokes, Key Sequences, and Key Bindings @@ -885,295 +1089,3 @@ When you select a menu item, Emacs executes the equivalent command. For some of the menu items, there are sub-menus which you will need to select. - -File: xemacs.info, Node: Options Menu, Next: Buffers Menu, Prev: Apps Menu, Up: Pull-down Menus - -The Options Menu ----------------- - - The Options pull-down menu contains the Read Only, Case Sensitive -Search, Overstrike, Auto Delete Selection, Teach Extended Commands, -Syntax Highlighting, Paren Highlighting, Font, Size, Weight, Buffers -Menu Length..., Buffers Sub-Menus and Save Options menu items. When -you select a menu item, Emacs executes the equivalent command. For -some of the menu items, there are sub-menus which you will need to -select. - -Read Only - Selecting this item will cause the buffer to visit the file in a - read-only mode. Changes to the file will not be allowed. This is - equivalent to the Emacs command `toggle-read-only' (`C-x C-q'). - -Case Sensitive Search - Selecting this item will cause searches to be case-sensitive. If - its not selected then searches will ignore case. This option is - local to the buffer. - -Overstrike - After selecting this item, when you type letters they will replace - existing text on a one-to-one basis, rather than pushing it to the - right. At the end of a line, such characters extend the line. - Before a tab, such characters insert until the tab is filled in. - This is the same as Emacs command `quoted-insert' (`C-q'). - -Auto Delete Selection - Selecting this item will cause automatic deletion of the selected - region. The typed text will replace the selection if the selection - is active (i.e. if its highlighted). If the option is not selected - then the typed text is just inserted at the point. - -Teach Extended Commands - After you select this item, any time you execute a command with - `M-x'which has a shorter keybinding, you will be shown the - alternate binding before the command executes. - -Syntax Highlighting - You can customize your init file to include the font-lock mode so - that when you select this item, the comments will be displayed in - one face, strings in another, reserved words in another, and so - on. *Note Init File::. When Fonts is selected, different parts of - the program will appear in different Fonts. When Colors is - selected, then the program will be displayed in different colors. - Selecting None causes the program to appear in just one Font and - Color. Selecting Less resets the Fonts and Colors to a fast, - minimal set of decorations. Selecting More resets the Fonts and - Colors to a larger set of decorations. For example, if Less is - selected (which is the default setting) then you might have all - comments in green color. Whereas, if More is selected then a - function name in the comments themselves might appear in a - different Color or Font. - -Paren Highlighting - After selecting Blink from this item, if you place the cursor on a - parenthesis, the matching parenthesis will blink. If you select - Highlight and place the cursor on a parenthesis, the whole - expression of the parenthesis under the cursor will be highlighted. - Selecting None will turn off the options (regarding Paren - Highlighting) which you had selected earlier. - -Font - You can select any Font for your program by choosing from one of - the available Fonts. - -Size - You can select any size ranging from 2 to 24 by selecting the - appropriate option. - -Weight - You can choose either Bold or Medium for the weight. - -Buffers Menu Length... - Prompts you for the number of buffers to display. Then it will - display that number of most recently selected buffers. - -Buffers Sub-Menus - After selection of this item the Buffers menu will contain several - commands, as submenus of each buffer line. If this item is - unselected, then there are no submenus for each buffer line, the - only command available will be selecting that buffer. - -Save Options - Selecting this item will save the current settings of your Options - menu to your init file. *Note Init File::. - - -File: xemacs.info, Node: Buffers Menu, Next: Tools Menu, Prev: Options Menu, Up: Pull-down Menus - -The Buffers Menu ----------------- - - The Buffers menu provides a selection of up to ten buffers and the -item List All Buffers, which provides a Buffer List. *Note List -Buffers::, for more information. - - -File: xemacs.info, Node: Tools Menu, Next: Help Menu, Prev: Buffers Menu, Up: Pull-down Menus - -The Tools Menu --------------- - - The Tools pull-down menu contains the Grep..., Compile..., Shell -Command..., Shell Command on Region..., Debug(GDB)... and -Debug(DBX)... menu items, and the Compare, Merge, Apply Patch and Tags -sub-menus. When you select a menu item, Emacs executes the equivalent -command. For some of the menu items, there are sub-menus which you -will need to select. - - -File: xemacs.info, Node: Help Menu, Next: Menu Customization, Prev: Tools Menu, Up: Pull-down Menus - -The Help Menu -------------- - - The Help Menu gives you access to Emacs Info and provides a menu -equivalent for each of the choices you have when using `C-h'. *Note -Help::, for more information. - - The Help menu also gives access to UNIX online manual pages via the -UNIX Manual Page option. - - -File: xemacs.info, Node: Menu Customization, Prev: Help Menu, Up: Pull-down Menus - -Customizing XEmacs Menus ------------------------- - - You can customize any of the pull-down menus by adding or removing -menu items and disabling or enabling existing menu items. - - The following functions are available: -`add-menu: (MENU-PATH MENU-NAME MENU-ITEMS &optional BEFORE)' - Add a menu to the menu bar or one of its submenus. - -`add-menu-item: (MENU-PATH ITEM-NAME FUNCTION' - ENABLED-P &optional BEFORE) Add a menu item to a menu, creating - the menu first if necessary. - -`delete-menu-item: (PATH)' - Remove the menu item defined by PATH from the menu hierarchy. - -`disable-menu-item: (PATH)' - Disable the specified menu item. - -`enable-menu-item: (PATH)' - Enable the specified previously disabled menu item. - -`relabel-menu-item: (PATH NEW-NAME)' - Change the string of the menu item specified by PATH to NEW-NAME. - - Use the function `add-menu' to add a new menu or submenu. If a menu -or submenu of the given name exists already, it is changed. - - MENU-PATH identifies the menu under which the new menu should be -inserted. It is a list of strings; for example, `("File")' names the -top-level File menu. `("File" "Foo")' names a hypothetical submenu of -File. If MENU-PATH is `nil', the menu is added to the menu bar itself. - - MENU-NAME is the string naming the menu to be added. - - MENU-ITEMS is a list of menu item descriptions. Each menu item -should be a vector of three elements: - - * A string, which is the name of the menu item - - * A symbol naming a command, or a form to evaluate - - * `t' or `nil' to indicate whether the item is selectable - - The optional argument BEFORE is the name of the menu before which -the new menu or submenu should be added. If the menu is already -present, it is not moved. - - The function `add-menu-item' adds a menu item to the specified menu, -creating the menu first if necessary. If the named item already -exists, the menu remains unchanged. - - MENU-PATH identifies the menu into which the new menu item should be -inserted. It is a list of strings; for example, `("File")' names the -top-level File menu. `("File" "Foo")' names a hypothetical submenu of -File. - - ITEM-NAME is the string naming the menu item to add. - - FUNCTION is the command to invoke when this menu item is selected. -If it is a symbol, it is invoked with `call-interactively', in the same -way that functions bound to keys are invoked. If it is a list, the -list is simply evaluated. - - ENABLED-P controls whether the item is selectable or not. It should -be `t', `nil', or a form to evaluate to decide. This form will be -evaluated just before the menu is displayed, and the menu item will be -selectable if that form returns non-`nil'. - - For example, to make the `rename-file' command available from the -File menu, use the following code: - - (add-menu-item '("File") "Rename File" 'rename-file t) - - To add a submenu of file management commands using a File Management -item, use the following code: - - (add-menu-item '("File" "File Management") "Copy File" 'copy-file t) - (add-menu-item '("File" "File Management") "Delete File" 'delete-file t) - (add-menu-item '("File" "File Management") "Rename File" 'rename-file t) - - The optional BEFORE argument is the name of a menu item before which -the new item should be added. If the item is already present, it is -not moved. - - To remove a specified menu item from the menu hierarchy, use -`delete-menu-item'. - - PATH is a list of strings that identify the position of the menu -item in the menu hierarchy. `("File" "Save")' means the menu item -called Save under the top level File menu. `("Menu" "Foo" "Item")' -means the menu item called Item under the Foo submenu of Menu. - - To disable a menu item, use `disable-menu-item'. The disabled menu -item is grayed and can no longer be selected. To make the item -selectable again, use `enable-menu-item'. `disable-menu-item' and -`enable-menu-item' both have the argument PATH. - - To change the string of the specified menu item, use -`relabel-menu-item'. This function also takes the argument PATH. - - NEW-NAME is the string to which the menu item will be changed. - - -File: xemacs.info, Node: Entering Emacs, Next: Exiting, Prev: Pull-down Menus, Up: Top - -Entering and Exiting Emacs -************************** - - The usual way to invoke XEmacs is to type `xemacs ' at the -shell. XEmacs clears the screen and then displays an initial advisory -message and copyright notice. You can begin typing XEmacs commands -immediately afterward. - - Some operating systems insist on discarding all type-ahead when -XEmacs starts up; they give XEmacs no way to prevent this. Therefore, -it is advisable to wait until XEmacs clears the screen before typing -your first editing command. - - If you run XEmacs from a shell window under the X Window System, run -it in the background with `xemacs&'. This way, XEmacs does not tie up -the shell window, so you can use that to run other shell commands while -XEmacs operates its own X windows. You can begin typing XEmacs commands -as soon as you direct your keyboard input to the XEmacs frame. - - Before Emacs reads the first command, you have not had a chance to -give a command to specify a file to edit. Since Emacs must always have -a current buffer for editing, it presents a buffer, by default, a buffer -named `*scratch*'. The buffer is in Lisp Interaction mode; you can use -it to type Lisp expressions and evaluate them, or you can ignore that -capability and simply doodle. (You can specify a different major mode -for this buffer by setting the variable `initial-major-mode' in your -init file. *Note Init File::.) - - It is possible to specify files to be visited, Lisp files to be -loaded, and functions to be called, by giving Emacs arguments in the -shell command line. *Note Command Switches::. But we don't recommend -doing this. The feature exists mainly for compatibility with other -editors. - - Many other editors are designed to be started afresh each time you -want to edit. You edit one file and then exit the editor. The next -time you want to edit either another file or the same one, you must run -the editor again. With these editors, it makes sense to use a -command-line argument to say which file to edit. - - But starting a new Emacs each time you want to edit a different file -does not make sense. For one thing, this would be annoyingly slow. For -another, this would fail to take advantage of Emacs's ability to visit -more than one file in a single editing session. And it would lose the -other accumulated context, such as registers, undo history, and the mark -ring. - - The recommended way to use XEmacs is to start it only once, just -after you log in, and do all your editing in the same Emacs session. -Each time you want to edit a different file, you visit it with the -existing Emacs, which eventually comes to have many files in it ready -for editing. Usually you do not kill the Emacs until you are about to -log out. *Note Files::, for more information on visiting more than one -file. - diff --git a/info/xemacs.info-3 b/info/xemacs.info-3 index 6c41e8f..f3f6e3a 100644 --- a/info/xemacs.info-3 +++ b/info/xemacs.info-3 @@ -30,6 +30,298 @@ versions, except that the sections entitled "The GNU Manifesto", translation approved by the author instead of in the original English.  +File: xemacs.info, Node: Options Menu, Next: Buffers Menu, Prev: Apps Menu, Up: Pull-down Menus + +The Options Menu +---------------- + + The Options pull-down menu contains the Read Only, Case Sensitive +Search, Overstrike, Auto Delete Selection, Teach Extended Commands, +Syntax Highlighting, Paren Highlighting, Font, Size, Weight, Buffers +Menu Length..., Buffers Sub-Menus and Save Options menu items. When +you select a menu item, Emacs executes the equivalent command. For +some of the menu items, there are sub-menus which you will need to +select. + +Read Only + Selecting this item will cause the buffer to visit the file in a + read-only mode. Changes to the file will not be allowed. This is + equivalent to the Emacs command `toggle-read-only' (`C-x C-q'). + +Case Sensitive Search + Selecting this item will cause searches to be case-sensitive. If + its not selected then searches will ignore case. This option is + local to the buffer. + +Overstrike + After selecting this item, when you type letters they will replace + existing text on a one-to-one basis, rather than pushing it to the + right. At the end of a line, such characters extend the line. + Before a tab, such characters insert until the tab is filled in. + This is the same as Emacs command `quoted-insert' (`C-q'). + +Auto Delete Selection + Selecting this item will cause automatic deletion of the selected + region. The typed text will replace the selection if the selection + is active (i.e. if its highlighted). If the option is not selected + then the typed text is just inserted at the point. + +Teach Extended Commands + After you select this item, any time you execute a command with + `M-x'which has a shorter keybinding, you will be shown the + alternate binding before the command executes. + +Syntax Highlighting + You can customize your init file to include the font-lock mode so + that when you select this item, the comments will be displayed in + one face, strings in another, reserved words in another, and so + on. *Note Init File::. When Fonts is selected, different parts of + the program will appear in different Fonts. When Colors is + selected, then the program will be displayed in different colors. + Selecting None causes the program to appear in just one Font and + Color. Selecting Less resets the Fonts and Colors to a fast, + minimal set of decorations. Selecting More resets the Fonts and + Colors to a larger set of decorations. For example, if Less is + selected (which is the default setting) then you might have all + comments in green color. Whereas, if More is selected then a + function name in the comments themselves might appear in a + different Color or Font. + +Paren Highlighting + After selecting Blink from this item, if you place the cursor on a + parenthesis, the matching parenthesis will blink. If you select + Highlight and place the cursor on a parenthesis, the whole + expression of the parenthesis under the cursor will be highlighted. + Selecting None will turn off the options (regarding Paren + Highlighting) which you had selected earlier. + +Font + You can select any Font for your program by choosing from one of + the available Fonts. + +Size + You can select any size ranging from 2 to 24 by selecting the + appropriate option. + +Weight + You can choose either Bold or Medium for the weight. + +Buffers Menu Length... + Prompts you for the number of buffers to display. Then it will + display that number of most recently selected buffers. + +Buffers Sub-Menus + After selection of this item the Buffers menu will contain several + commands, as submenus of each buffer line. If this item is + unselected, then there are no submenus for each buffer line, the + only command available will be selecting that buffer. + +Save Options + Selecting this item will save the current settings of your Options + menu to your init file. *Note Init File::. + + +File: xemacs.info, Node: Buffers Menu, Next: Tools Menu, Prev: Options Menu, Up: Pull-down Menus + +The Buffers Menu +---------------- + + The Buffers menu provides a selection of up to ten buffers and the +item List All Buffers, which provides a Buffer List. *Note List +Buffers::, for more information. + + +File: xemacs.info, Node: Tools Menu, Next: Help Menu, Prev: Buffers Menu, Up: Pull-down Menus + +The Tools Menu +-------------- + + The Tools pull-down menu contains the Grep..., Compile..., Shell +Command..., Shell Command on Region..., Debug(GDB)... and +Debug(DBX)... menu items, and the Compare, Merge, Apply Patch and Tags +sub-menus. When you select a menu item, Emacs executes the equivalent +command. For some of the menu items, there are sub-menus which you +will need to select. + + +File: xemacs.info, Node: Help Menu, Next: Menu Customization, Prev: Tools Menu, Up: Pull-down Menus + +The Help Menu +------------- + + The Help Menu gives you access to Emacs Info and provides a menu +equivalent for each of the choices you have when using `C-h'. *Note +Help::, for more information. + + The Help menu also gives access to UNIX online manual pages via the +UNIX Manual Page option. + + +File: xemacs.info, Node: Menu Customization, Prev: Help Menu, Up: Pull-down Menus + +Customizing XEmacs Menus +------------------------ + + You can customize any of the pull-down menus by adding or removing +menu items and disabling or enabling existing menu items. + + The following functions are available: +`add-menu: (MENU-PATH MENU-NAME MENU-ITEMS &optional BEFORE)' + Add a menu to the menu bar or one of its submenus. + +`add-menu-item: (MENU-PATH ITEM-NAME FUNCTION' + ENABLED-P &optional BEFORE) Add a menu item to a menu, creating + the menu first if necessary. + +`delete-menu-item: (PATH)' + Remove the menu item defined by PATH from the menu hierarchy. + +`disable-menu-item: (PATH)' + Disable the specified menu item. + +`enable-menu-item: (PATH)' + Enable the specified previously disabled menu item. + +`relabel-menu-item: (PATH NEW-NAME)' + Change the string of the menu item specified by PATH to NEW-NAME. + + Use the function `add-menu' to add a new menu or submenu. If a menu +or submenu of the given name exists already, it is changed. + + MENU-PATH identifies the menu under which the new menu should be +inserted. It is a list of strings; for example, `("File")' names the +top-level File menu. `("File" "Foo")' names a hypothetical submenu of +File. If MENU-PATH is `nil', the menu is added to the menu bar itself. + + MENU-NAME is the string naming the menu to be added. + + MENU-ITEMS is a list of menu item descriptions. Each menu item +should be a vector of three elements: + + * A string, which is the name of the menu item + + * A symbol naming a command, or a form to evaluate + + * `t' or `nil' to indicate whether the item is selectable + + The optional argument BEFORE is the name of the menu before which +the new menu or submenu should be added. If the menu is already +present, it is not moved. + + The function `add-menu-item' adds a menu item to the specified menu, +creating the menu first if necessary. If the named item already +exists, the menu remains unchanged. + + MENU-PATH identifies the menu into which the new menu item should be +inserted. It is a list of strings; for example, `("File")' names the +top-level File menu. `("File" "Foo")' names a hypothetical submenu of +File. + + ITEM-NAME is the string naming the menu item to add. + + FUNCTION is the command to invoke when this menu item is selected. +If it is a symbol, it is invoked with `call-interactively', in the same +way that functions bound to keys are invoked. If it is a list, the +list is simply evaluated. + + ENABLED-P controls whether the item is selectable or not. It should +be `t', `nil', or a form to evaluate to decide. This form will be +evaluated just before the menu is displayed, and the menu item will be +selectable if that form returns non-`nil'. + + For example, to make the `rename-file' command available from the +File menu, use the following code: + + (add-menu-item '("File") "Rename File" 'rename-file t) + + To add a submenu of file management commands using a File Management +item, use the following code: + + (add-menu-item '("File" "File Management") "Copy File" 'copy-file t) + (add-menu-item '("File" "File Management") "Delete File" 'delete-file t) + (add-menu-item '("File" "File Management") "Rename File" 'rename-file t) + + The optional BEFORE argument is the name of a menu item before which +the new item should be added. If the item is already present, it is +not moved. + + To remove a specified menu item from the menu hierarchy, use +`delete-menu-item'. + + PATH is a list of strings that identify the position of the menu +item in the menu hierarchy. `("File" "Save")' means the menu item +called Save under the top level File menu. `("Menu" "Foo" "Item")' +means the menu item called Item under the Foo submenu of Menu. + + To disable a menu item, use `disable-menu-item'. The disabled menu +item is grayed and can no longer be selected. To make the item +selectable again, use `enable-menu-item'. `disable-menu-item' and +`enable-menu-item' both have the argument PATH. + + To change the string of the specified menu item, use +`relabel-menu-item'. This function also takes the argument PATH. + + NEW-NAME is the string to which the menu item will be changed. + + +File: xemacs.info, Node: Entering Emacs, Next: Exiting, Prev: Pull-down Menus, Up: Top + +Entering and Exiting Emacs +************************** + + The usual way to invoke XEmacs is to type `xemacs ' at the +shell. XEmacs clears the screen and then displays an initial advisory +message and copyright notice. You can begin typing XEmacs commands +immediately afterward. + + Some operating systems insist on discarding all type-ahead when +XEmacs starts up; they give XEmacs no way to prevent this. Therefore, +it is advisable to wait until XEmacs clears the screen before typing +your first editing command. + + If you run XEmacs from a shell window under the X Window System, run +it in the background with `xemacs&'. This way, XEmacs does not tie up +the shell window, so you can use that to run other shell commands while +XEmacs operates its own X windows. You can begin typing XEmacs commands +as soon as you direct your keyboard input to the XEmacs frame. + + Before Emacs reads the first command, you have not had a chance to +give a command to specify a file to edit. Since Emacs must always have +a current buffer for editing, it presents a buffer, by default, a buffer +named `*scratch*'. The buffer is in Lisp Interaction mode; you can use +it to type Lisp expressions and evaluate them, or you can ignore that +capability and simply doodle. (You can specify a different major mode +for this buffer by setting the variable `initial-major-mode' in your +init file. *Note Init File::.) + + It is possible to specify files to be visited, Lisp files to be +loaded, and functions to be called, by giving Emacs arguments in the +shell command line. *Note Command Switches::. But we don't recommend +doing this. The feature exists mainly for compatibility with other +editors. + + Many other editors are designed to be started afresh each time you +want to edit. You edit one file and then exit the editor. The next +time you want to edit either another file or the same one, you must run +the editor again. With these editors, it makes sense to use a +command-line argument to say which file to edit. + + But starting a new Emacs each time you want to edit a different file +does not make sense. For one thing, this would be annoyingly slow. For +another, this would fail to take advantage of Emacs's ability to visit +more than one file in a single editing session. And it would lose the +other accumulated context, such as registers, undo history, and the mark +ring. + + The recommended way to use XEmacs is to start it only once, just +after you log in, and do all your editing in the same Emacs session. +Each time you want to edit a different file, you visit it with the +existing Emacs, which eventually comes to have many files in it ready +for editing. Usually you do not kill the Emacs until you are about to +log out. *Note Files::, for more information on visiting more than one +file. + + File: xemacs.info, Node: Exiting, Next: Command Switches, Prev: Entering Emacs, Up: Top Exiting Emacs @@ -150,9 +442,14 @@ command line arguments for specifying a file when Emacs is started are seldom needed. Emacs accepts command-line arguments that specify files to visit, -functions to call, and other activities and operating modes. If you are -running XEmacs under the X window system, a number of standard Xt -command line arguments are available as well. +functions to call, and other activities and operating modes. If you +are running XEmacs under the X window system, a number of standard Xt +command line arguments are available, as well as a few X parameters +that are XEmacs-specific. + + Options with long names with a single initial hyphen are also +recognized with the GNU double initial hyphen syntax. (The reverse is +not true.) The following subsections list: * Command line arguments that you can always use @@ -197,7 +494,8 @@ must be at the front of the list if they are used. what `M-x insert-buffer' does; *Note Misc File Ops::. `-kill' - Exit from Emacs without asking for confirmation. + Exit from Emacs without asking for confirmation. Always the last + argument processed, no matter where it appears in the command line. `-version' `-V' @@ -216,6 +514,18 @@ Command Line Arguments (Beginning of Line Only) command line. If more than one of them appears, they must appear in the order in which they appear in this table. +`--show-dump-id' +`-sd' + Print the ID for the new portable dumper's dump file on the + terminal and exit. (Prints an error message and exits if XEmacs + was not configured `--pdump'.) + +`--no-dump-file' +`-nd' + Don't load the dump file. Roughly equivalent to old temacs. + (Ignored if XEmacs was not configured `--pdump'.) + +`--terminal FILE' `-t FILE' Use FILE instead of the terminal for input and output. This implies the `-nw' option, documented below. @@ -237,6 +547,7 @@ order in which they appear in this table. processed. In addition, auto-saving is not done except in buffers for which it has been explicitly requested. +`--no-windows' `-nw' Start up XEmacs in TTY mode (using the TTY XEmacs was started from), rather than trying to connect to an X display. Note that @@ -285,7 +596,7 @@ order in which they appear in this table. `-u USER' Equivalent to `-user-init-file ~USER/.xemacs/init.el -user-init-directory ~USER/.xemacs', or `-user-init-file - ~USER/.emacs -user-init-directory ~USER/.xemacs'. whichever init + ~USER/.emacs -user-init-directory ~USER/.xemacs', whichever init file comes first. *Note Init File::. Note that the init file can get access to the command line argument @@ -933,288 +1244,3 @@ effect. The default is initially `nil'. *Note Locals::. *Note Display Vars::, for additional variables that affect how text is displayed. - -File: xemacs.info, Node: Position Info, Next: Arguments, Prev: Continuation Lines, Up: Basic - -Cursor Position Information -=========================== - - If you are accustomed to other display editors, you may be surprised -that Emacs does not always display the page number or line number of -point in the mode line. In Emacs, this information is only rarely -needed, and a number of commands are available to compute and print it. -Since text is stored in a way that makes it difficult to compute the -information, it is not displayed all the time. - -`M-x what-page' - Print page number of point, and line number within page. - -`M-x what-line' - Print line number of point in the buffer. - -`M-x line-number-mode' - Toggle automatic display of current line number. - -`M-=' - Print number of lines and characters in the current region - (`count-lines-region'). *Note Mark::, for information about the - region. - -`C-x =' - Print character code of character after point, character position - of point, and column of point (`what-cursor-position'). - - There are several commands for printing line numbers: - - * `M-x what-line' counts lines from the beginning of the file and - prints the line number point is on. The first line of the file is - line number 1. You can use these numbers as arguments to `M-x - goto-line'. - - * `M-x what-page' counts pages from the beginning of the file, and - counts lines within the page, printing both of them. *Note - Pages::, for the command `C-x l', which counts the lines in the - current page. - - * `M-=' (`count-lines-region') prints the number of lines in the - region (*note Mark::). *Note Pages::, for the command `C-x l' - which counts the lines in the - - The command `C-x =' (`what-cursor-position') can be used to find out -the column that the cursor is in, and other miscellaneous information -about point. It prints a line in the echo area that looks like this: - - Char: c (0143, 99, 0x63) point=18862 of 24800(76%) column 53 - -(In fact, this is the output produced when point is before `column 53' -in the example.) - - The four values after `Char:' describe the character that follows -point, first by showing it and then by giving its character code in -octal, decimal and hex. - - `point=' is followed by the position of point expressed as a -character count. The front of the buffer counts as position 1, one -character later as 2, and so on. The next, larger number is the total -number of characters in the buffer. Afterward in parentheses comes the -position expressed as a percentage of the total size. - - `column' is followed by the horizontal position of point, in columns -from the left edge of the window. - - If the buffer has been narrowed, making some of the text at the -beginning and the end temporarily invisible, `C-x =' prints additional -text describing the current visible range. For example, it might say: - - Char: c (0143, 99, 0x63) point=19674 of 24575(80%) <19591 - 19703> column 69 - -where the two extra numbers give the smallest and largest character -position that point is allowed to assume. The characters between those -two positions are the visible ones. *Note Narrowing::. - - If point is at the end of the buffer (or the end of the visible -part), `C-x =' omits any description of the character after point. The -output looks like - - point=563026 of 563025(100%) column 0 - - -File: xemacs.info, Node: Arguments, Prev: Position Info, Up: Basic - -Numeric Arguments -================= - - In mathematics and computer usage, the word "argument" means "data -provided to a function or operation." Any Emacs command can be given a -"numeric argument" (also called a "prefix argument"). Some commands -interpret the argument as a repetition count. For example, giving an -argument of ten to the key `C-f' (the command `forward-char', move -forward one character) moves forward ten characters. With these -commands, no argument is equivalent to an argument of one. Negative -arguments are allowed. Often they tell a command to move or act in -the opposite direction. - - If your keyboard has a key (labelled with a diamond on -Sun-type keyboards and labelled `Alt' on some other keyboards), the -easiest way to specify a numeric argument is to type digits and/or a -minus sign while holding down the key. For example, - M-5 C-n - -would move down five lines. The characters `Meta-1', `Meta-2', and so -on, as well as `Meta--', do this because they are keys bound to -commands (`digit-argument' and `negative-argument') that are defined to -contribute to an argument for the next command. Digits and `-' -modified with Control, or Control and Meta, also specify numeric -arguments. - - Another way of specifying an argument is to use the `C-u' -(`universal-argument') command followed by the digits of the argument. -With `C-u', you can type the argument digits without holding down -modifier keys; `C-u' works on all terminals. To type a negative -argument, type a minus sign after `C-u'. Just a minus sign without -digits normally means -1. - - `C-u' followed by a character which is neither a digit nor a minus -sign has the special meaning of "multiply by four". It multiplies the -argument for the next command by four. `C-u' twice multiplies it by -sixteen. Thus, `C-u C-u C-f' moves forward sixteen characters. This -is a good way to move forward "fast", since it moves about 1/5 of a line -in the usual size frame. Other useful combinations are `C-u C-n', `C-u -C-u C-n' (move down a good fraction of a frame), `C-u C-u C-o' (make "a -lot" of blank lines), and `C-u C-k' (kill four lines). - - Some commands care only about whether there is an argument and not -about its value. For example, the command `M-q' (`fill-paragraph') with -no argument fills text; with an argument, it justifies the text as well. -(*Note Filling::, for more information on `M-q'.) Just `C-u' is a -handy way of providing an argument for such commands. - - Some commands use the value of the argument as a repeat count, but do -something peculiar when there is no argument. For example, the command -`C-k' (`kill-line') with argument N kills N lines, including their -terminating newlines. But `C-k' with no argument is special: it kills -the text up to the next newline, or, if point is right at the end of -the line, it kills the newline itself. Thus, two `C-k' commands with -no arguments can kill a non-blank line, just like `C-k' with an -argument of one. (*Note Killing::, for more information on `C-k'.) - - A few commands treat a plain `C-u' differently from an ordinary -argument. A few others may treat an argument of just a minus sign -differently from an argument of -1. These unusual cases are described -when they come up; they are always for reasons of convenience of use of -the individual command. - - You can use a numeric argument to insert multiple copies of a -character. This is straightforward unless the character is a digit; for -example, `C-u 6 4 a' inserts 64 copies of the character `a'. But this -does not work for inserting digits; `C-u 6 4 1' specifies an argument -of 641, rather than inserting anything. To separate the digit to -insert from the argument, type another `C-u'; for example, `C-u 6 4 C-u -1' does insert 64 copies of the character `1'. - - We use the term "prefix argument" as well as "numeric argument" to -emphasize that you type the argument before the command, and to -distinguish these arguments from minibuffer arguments that come after -the command. - - -File: xemacs.info, Node: Undo, Next: Minibuffer, Prev: Basic, Up: Top - -Undoing Changes -*************** - - Emacs allows you to undo all changes you make to the text of a -buffer, up to a certain amount of change (8000 characters). Each -buffer records changes individually, and the undo command always -applies to the current buffer. Usually each editing command makes a -separate entry in the undo records, but some commands such as -`query-replace' make many entries, and very simple commands such as -self-inserting characters are often grouped to make undoing less -tedious. - -`C-x u' - Undo one batch of changes (usually, one command's worth) (`undo'). - -`C-_' - The same. - - The command `C-x u' or `C-_' allows you to undo changes. The first -time you give this command, it undoes the last change. Point moves to -the text affected by the undo, so you can see what was undone. - - Consecutive repetitions of the `C-_' or `C-x u' commands undo -earlier and earlier changes, back to the limit of what has been -recorded. If all recorded changes have already been undone, the undo -command prints an error message and does nothing. - - Any command other than an undo command breaks the sequence of undo -commands. Starting at this moment, the previous undo commands are -considered ordinary changes that can themselves be undone. Thus, you -can redo changes you have undone by typing `C-f' or any other command -that have no important effect, and then using more undo commands. - - If you notice that a buffer has been modified accidentally, the -easiest way to recover is to type `C-_' repeatedly until the stars -disappear from the front of the mode line. When that happens, all the -modifications you made have been canceled. If you do not remember -whether you changed the buffer deliberately, type `C-_' once. When you -see Emacs undo the last change you made, you probably remember why you -made it. If the change was an accident, leave it undone. If it was -deliberate, redo the change as described in the preceding paragraph. - - Whenever an undo command makes the stars disappear from the mode -line, the buffer contents is the same as it was when the file was last -read in or saved. - - Not all buffers record undo information. Buffers whose names start -with spaces don't; these buffers are used internally by Emacs and its -extensions to hold text that users don't normally look at or edit. -Minibuffers, help buffers, and documentation buffers also don't record -undo information. - - Emacs can remember at most 8000 or so characters of deleted or -modified text in any one buffer for reinsertion by the undo command. -There is also a limit on the number of individual insert, delete, or -change actions that Emacs can remember. - - There are two keys to run the `undo' command, `C-x u' and `C-_', -because on some keyboards, it is not obvious how to type `C-_'. `C-x u' -is an alternative you can type in the same fashion on any terminal. - - -File: xemacs.info, Node: Minibuffer, Next: M-x, Prev: Undo, Up: Top - -The Minibuffer -************** - - The "minibuffer" is the facility used by XEmacs commands to read -arguments more complicated than a single number. Minibuffer arguments -can be file names, buffer names, Lisp function names, XEmacs command -names, Lisp expressions, and many other things, depending on the command -reading the argument. You can use the usual XEmacs editing commands in -the minibuffer to edit the argument text. - - When the minibuffer is in use, it appears in the echo area, and the -cursor moves there. The beginning of the minibuffer line displays a -"prompt" which says what kind of input you should supply and how it -will be used. Often this prompt is derived from the name of the command -that the argument is for. The prompt normally ends with a colon. - - Sometimes a "default argument" appears in parentheses after the -colon; it, too, is part of the prompt. The default is used as the -argument value if you enter an empty argument (e.g., by just typing -). For example, commands that read buffer names always show a -default, which is the name of the buffer that will be used if you type -just . - - The simplest way to enter a minibuffer argument is to type the text -you want, terminated by which exits the minibuffer. You can -cancel the command that wants the argument, and get out of the -minibuffer, by typing `C-g'. - - Since the minibuffer uses the screen space of the echo area, it can -conflict with other ways XEmacs customarily uses the echo area. Here is -how XEmacs handles such conflicts: - - * If a command gets an error while you are in the minibuffer, this - does not cancel the minibuffer. However, the echo area is needed - for the error message and therefore the minibuffer itself is - hidden for a while. It comes back after a few seconds, or as soon - as you type anything. - - * If in the minibuffer you use a command whose purpose is to print a - message in the echo area, such as `C-x =', the message is printed - normally, and the minibuffer is hidden for a while. It comes back - after a few seconds, or as soon as you type anything. - - * Echoing of keystrokes does not take place while the minibuffer is - in use. - -* Menu: - -* File: Minibuffer File. Entering file names with the minibuffer. -* Edit: Minibuffer Edit. How to edit in the minibuffer. -* Completion:: An abbreviation facility for minibuffer input. -* Minibuffer History:: Reusing recent minibuffer arguments. -* Repetition:: Re-executing commands that used the minibuffer. - diff --git a/info/xemacs.info-4 b/info/xemacs.info-4 index 75997b9..53fc1cd 100644 --- a/info/xemacs.info-4 +++ b/info/xemacs.info-4 @@ -30,6 +30,291 @@ versions, except that the sections entitled "The GNU Manifesto", translation approved by the author instead of in the original English.  +File: xemacs.info, Node: Position Info, Next: Arguments, Prev: Continuation Lines, Up: Basic + +Cursor Position Information +=========================== + + If you are accustomed to other display editors, you may be surprised +that Emacs does not always display the page number or line number of +point in the mode line. In Emacs, this information is only rarely +needed, and a number of commands are available to compute and print it. +Since text is stored in a way that makes it difficult to compute the +information, it is not displayed all the time. + +`M-x what-page' + Print page number of point, and line number within page. + +`M-x what-line' + Print line number of point in the buffer. + +`M-x line-number-mode' + Toggle automatic display of current line number. + +`M-=' + Print number of lines and characters in the current region + (`count-lines-region'). *Note Mark::, for information about the + region. + +`C-x =' + Print character code of character after point, character position + of point, and column of point (`what-cursor-position'). + + There are several commands for printing line numbers: + + * `M-x what-line' counts lines from the beginning of the file and + prints the line number point is on. The first line of the file is + line number 1. You can use these numbers as arguments to `M-x + goto-line'. + + * `M-x what-page' counts pages from the beginning of the file, and + counts lines within the page, printing both of them. *Note + Pages::, for the command `C-x l', which counts the lines in the + current page. + + * `M-=' (`count-lines-region') prints the number of lines in the + region (*note Mark::). *Note Pages::, for the command `C-x l' + which counts the lines in the + + The command `C-x =' (`what-cursor-position') can be used to find out +the column that the cursor is in, and other miscellaneous information +about point. It prints a line in the echo area that looks like this: + + Char: c (0143, 99, 0x63) point=18862 of 24800(76%) column 53 + +(In fact, this is the output produced when point is before `column 53' +in the example.) + + The four values after `Char:' describe the character that follows +point, first by showing it and then by giving its character code in +octal, decimal and hex. + + `point=' is followed by the position of point expressed as a +character count. The front of the buffer counts as position 1, one +character later as 2, and so on. The next, larger number is the total +number of characters in the buffer. Afterward in parentheses comes the +position expressed as a percentage of the total size. + + `column' is followed by the horizontal position of point, in columns +from the left edge of the window. + + If the buffer has been narrowed, making some of the text at the +beginning and the end temporarily invisible, `C-x =' prints additional +text describing the current visible range. For example, it might say: + + Char: c (0143, 99, 0x63) point=19674 of 24575(80%) <19591 - 19703> column 69 + +where the two extra numbers give the smallest and largest character +position that point is allowed to assume. The characters between those +two positions are the visible ones. *Note Narrowing::. + + If point is at the end of the buffer (or the end of the visible +part), `C-x =' omits any description of the character after point. The +output looks like + + point=563026 of 563025(100%) column 0 + + +File: xemacs.info, Node: Arguments, Prev: Position Info, Up: Basic + +Numeric Arguments +================= + + In mathematics and computer usage, the word "argument" means "data +provided to a function or operation." Any Emacs command can be given a +"numeric argument" (also called a "prefix argument"). Some commands +interpret the argument as a repetition count. For example, giving an +argument of ten to the key `C-f' (the command `forward-char', move +forward one character) moves forward ten characters. With these +commands, no argument is equivalent to an argument of one. Negative +arguments are allowed. Often they tell a command to move or act in +the opposite direction. + + If your keyboard has a key (labelled with a diamond on +Sun-type keyboards and labelled `Alt' on some other keyboards), the +easiest way to specify a numeric argument is to type digits and/or a +minus sign while holding down the key. For example, + M-5 C-n + +would move down five lines. The characters `Meta-1', `Meta-2', and so +on, as well as `Meta--', do this because they are keys bound to +commands (`digit-argument' and `negative-argument') that are defined to +contribute to an argument for the next command. Digits and `-' +modified with Control, or Control and Meta, also specify numeric +arguments. + + Another way of specifying an argument is to use the `C-u' +(`universal-argument') command followed by the digits of the argument. +With `C-u', you can type the argument digits without holding down +modifier keys; `C-u' works on all terminals. To type a negative +argument, type a minus sign after `C-u'. Just a minus sign without +digits normally means -1. + + `C-u' followed by a character which is neither a digit nor a minus +sign has the special meaning of "multiply by four". It multiplies the +argument for the next command by four. `C-u' twice multiplies it by +sixteen. Thus, `C-u C-u C-f' moves forward sixteen characters. This +is a good way to move forward "fast", since it moves about 1/5 of a line +in the usual size frame. Other useful combinations are `C-u C-n', `C-u +C-u C-n' (move down a good fraction of a frame), `C-u C-u C-o' (make "a +lot" of blank lines), and `C-u C-k' (kill four lines). + + Some commands care only about whether there is an argument and not +about its value. For example, the command `M-q' (`fill-paragraph') with +no argument fills text; with an argument, it justifies the text as well. +(*Note Filling::, for more information on `M-q'.) Just `C-u' is a +handy way of providing an argument for such commands. + + Some commands use the value of the argument as a repeat count, but do +something peculiar when there is no argument. For example, the command +`C-k' (`kill-line') with argument N kills N lines, including their +terminating newlines. But `C-k' with no argument is special: it kills +the text up to the next newline, or, if point is right at the end of +the line, it kills the newline itself. Thus, two `C-k' commands with +no arguments can kill a non-blank line, just like `C-k' with an +argument of one. (*Note Killing::, for more information on `C-k'.) + + A few commands treat a plain `C-u' differently from an ordinary +argument. A few others may treat an argument of just a minus sign +differently from an argument of -1. These unusual cases are described +when they come up; they are always for reasons of convenience of use of +the individual command. + + You can use a numeric argument to insert multiple copies of a +character. This is straightforward unless the character is a digit; for +example, `C-u 6 4 a' inserts 64 copies of the character `a'. But this +does not work for inserting digits; `C-u 6 4 1' specifies an argument +of 641, rather than inserting anything. To separate the digit to +insert from the argument, type another `C-u'; for example, `C-u 6 4 C-u +1' does insert 64 copies of the character `1'. + + We use the term "prefix argument" as well as "numeric argument" to +emphasize that you type the argument before the command, and to +distinguish these arguments from minibuffer arguments that come after +the command. + + +File: xemacs.info, Node: Undo, Next: Minibuffer, Prev: Basic, Up: Top + +Undoing Changes +*************** + + Emacs allows you to undo all changes you make to the text of a +buffer, up to a certain amount of change (8000 characters). Each +buffer records changes individually, and the undo command always +applies to the current buffer. Usually each editing command makes a +separate entry in the undo records, but some commands such as +`query-replace' make many entries, and very simple commands such as +self-inserting characters are often grouped to make undoing less +tedious. + +`C-x u' + Undo one batch of changes (usually, one command's worth) (`undo'). + +`C-_' + The same. + + The command `C-x u' or `C-_' allows you to undo changes. The first +time you give this command, it undoes the last change. Point moves to +the text affected by the undo, so you can see what was undone. + + Consecutive repetitions of the `C-_' or `C-x u' commands undo +earlier and earlier changes, back to the limit of what has been +recorded. If all recorded changes have already been undone, the undo +command prints an error message and does nothing. + + Any command other than an undo command breaks the sequence of undo +commands. Starting at this moment, the previous undo commands are +considered ordinary changes that can themselves be undone. Thus, you +can redo changes you have undone by typing `C-f' or any other command +that have no important effect, and then using more undo commands. + + If you notice that a buffer has been modified accidentally, the +easiest way to recover is to type `C-_' repeatedly until the stars +disappear from the front of the mode line. When that happens, all the +modifications you made have been canceled. If you do not remember +whether you changed the buffer deliberately, type `C-_' once. When you +see Emacs undo the last change you made, you probably remember why you +made it. If the change was an accident, leave it undone. If it was +deliberate, redo the change as described in the preceding paragraph. + + Whenever an undo command makes the stars disappear from the mode +line, the buffer contents is the same as it was when the file was last +read in or saved. + + Not all buffers record undo information. Buffers whose names start +with spaces don't; these buffers are used internally by Emacs and its +extensions to hold text that users don't normally look at or edit. +Minibuffers, help buffers, and documentation buffers also don't record +undo information. + + Emacs can remember at most 8000 or so characters of deleted or +modified text in any one buffer for reinsertion by the undo command. +There is also a limit on the number of individual insert, delete, or +change actions that Emacs can remember. + + There are two keys to run the `undo' command, `C-x u' and `C-_', +because on some keyboards, it is not obvious how to type `C-_'. `C-x u' +is an alternative you can type in the same fashion on any terminal. + + +File: xemacs.info, Node: Minibuffer, Next: M-x, Prev: Undo, Up: Top + +The Minibuffer +************** + + The "minibuffer" is the facility used by XEmacs commands to read +arguments more complicated than a single number. Minibuffer arguments +can be file names, buffer names, Lisp function names, XEmacs command +names, Lisp expressions, and many other things, depending on the command +reading the argument. You can use the usual XEmacs editing commands in +the minibuffer to edit the argument text. + + When the minibuffer is in use, it appears in the echo area, and the +cursor moves there. The beginning of the minibuffer line displays a +"prompt" which says what kind of input you should supply and how it +will be used. Often this prompt is derived from the name of the command +that the argument is for. The prompt normally ends with a colon. + + Sometimes a "default argument" appears in parentheses after the +colon; it, too, is part of the prompt. The default is used as the +argument value if you enter an empty argument (e.g., by just typing +). For example, commands that read buffer names always show a +default, which is the name of the buffer that will be used if you type +just . + + The simplest way to enter a minibuffer argument is to type the text +you want, terminated by which exits the minibuffer. You can +cancel the command that wants the argument, and get out of the +minibuffer, by typing `C-g'. + + Since the minibuffer uses the screen space of the echo area, it can +conflict with other ways XEmacs customarily uses the echo area. Here is +how XEmacs handles such conflicts: + + * If a command gets an error while you are in the minibuffer, this + does not cancel the minibuffer. However, the echo area is needed + for the error message and therefore the minibuffer itself is + hidden for a while. It comes back after a few seconds, or as soon + as you type anything. + + * If in the minibuffer you use a command whose purpose is to print a + message in the echo area, such as `C-x =', the message is printed + normally, and the minibuffer is hidden for a while. It comes back + after a few seconds, or as soon as you type anything. + + * Echoing of keystrokes does not take place while the minibuffer is + in use. + +* Menu: + +* File: Minibuffer File. Entering file names with the minibuffer. +* Edit: Minibuffer Edit. How to edit in the minibuffer. +* Completion:: An abbreviation facility for minibuffer input. +* Minibuffer History:: Reusing recent minibuffer arguments. +* Repetition:: Re-executing commands that used the minibuffer. + + File: xemacs.info, Node: Minibuffer File, Next: Minibuffer Edit, Prev: Minibuffer, Up: Minibuffer Minibuffers for File Names @@ -908,322 +1193,3 @@ all behave as if they had been given a prefix argument. symbol property listed in the Apropos buffer, you can click on it with `Mouse-2' or move there and type . - -File: xemacs.info, Node: Library Keywords, Next: Help Mode, Prev: Apropos, Up: Help - -Keyword Search for Lisp Libraries -================================= - - The `C-h p' command lets you search the standard Emacs Lisp -libraries by topic keywords. Here is a partial list of keywords you can -use: - - abbrev abbreviation handling, typing shortcuts, macros - bib code related to the `bib' bibliography processor - c C, C++, and Objective-C language support - calendar calendar and time management support - comm communications, networking, remote access to files - data support for editing files of data - docs support for Emacs documentation - dumped files preloaded into Emacs - emulations emulations of other editors - extensions Emacs Lisp language extensions - faces support for multiple fonts - frames support for Emacs frames and window systems - games games, jokes and amusements - hardware support for interfacing with exotic hardware - help support for on-line help systems - hypermedia support for links between text or other media types - i18n internationalization and alternate character-set support - internal code for Emacs internals, build process, defaults - languages specialized modes for editing programming languages - lisp Lisp support, including Emacs Lisp - local code local to your site - maint maintenance aids for the Emacs development group - mail modes for electronic-mail handling - matching various sorts of searching and matching - mouse mouse support - mule multi-language extensions - news support for netnews reading and posting - oop support for object-oriented programming - outlines support for hierarchical outlining - processes process, subshell, compilation, and job control support - terminals support for terminal types - tex code related to the TeX formatter - tools programming tools - unix front-ends/assistants for, or emulators of, UNIX features - vms support code for vms - wp word processing - - -File: xemacs.info, Node: Help Mode, Next: Misc Help, Prev: Library Keywords, Up: Help - -Help Mode Commands -================== - - Help buffers provide the commands of View mode (*note Misc File -Ops::), plus a few special commands of their own. - -`' - Scroll forward. - -`' -`' - Scroll backward. - - When a command name (*note Running Commands by Name: M-x.) or -variable name (*note Variables::) appears in the documentation, it -normally appears inside paired single-quotes. - - -File: xemacs.info, Node: Misc Help, Prev: Help Mode, Up: Help - -Other Help Commands -=================== - - `C-h i' (`info') runs the Info program, which is used for browsing -through structured documentation files. The entire XEmacs manual is -available within Info. Eventually all the documentation of the GNU -system will be available. Type `h' after entering Info to run a -tutorial on using Info. - - If you specify a numeric argument, `C-h i' prompts for the name of a -documentation file. This way, you can browse a file which doesn't have -an entry in the top-level Info menu. It is also handy when you need to -get to the documentation quickly, and you know the exact name of the -file. - - There are two special help commands for accessing XEmacs -documentation through Info. `C-h C-f FUNCTION ' enters Info and -goes straight to the documentation of the XEmacs function FUNCTION. -`C-h C-k KEY' enters Info and goes straight to the documentation of the -key KEY. These two keys run the commands `Info-elisp-ref' and -`Info-goto-emacs-key-command-node'. - - If something surprising happens, and you are not sure what commands -you typed, use `C-h l' (`view-lossage'). `C-h l' prints the last 100 -command characters you typed in. If you see commands that you don't -know, you can use `C-h c' to find out what they do. - - XEmacs has several major modes. Each mode redefines a few keys and -makes a few other changes in how editing works. `C-h m' -(`describe-mode') prints documentation on the current major mode, which -normally describes all the commands that are changed in this mode. - - `C-h b' (`describe-bindings') and `C-h s' (`describe-syntax') -present information about the current XEmacs mode that is not covered -by `C-h m'. `C-h b' displays a list of all the key bindings currently -in effect, with the local bindings of the current major mode first, -followed by the global bindings (*note Key Bindings::). `C-h s' -displays the contents of the syntax table with explanations of each -character's syntax (*note Syntax::). - - You can get a similar list for a particular prefix key by typing -`C-h' after the prefix key. (There are a few prefix keys for which -this does not work--those that provide their own bindings for `C-h'. -One of these is , because ` C-h' is actually `C-M-h', which -marks a defun.) - - The other `C-h' options display various files of useful information. -`C-h C-w' (`describe-no-warranty') displays the full details on the -complete absence of warranty for XEmacs. `C-h n' (`view-emacs-news') -displays the file `xemacs/etc/NEWS', which contains documentation on -XEmacs changes arranged chronologically. `C-h F' (`xemacs-local-faq') -displays local version of the XEmacs -frequently-answered-questions-list. `C-h t' (`help-with-tutorial') -displays the learn-by-doing XEmacs tutorial. `C-h C-c' -(`describe-copying') displays the file `xemacs/etc/COPYING', which -tells you the conditions you must obey in distributing copies of -XEmacs. `C-h C-d' (`describe-distribution') displays another file named -`xemacs/etc/DISTRIB', which tells you how you can order a copy of the -latest version of XEmacs. - - -File: xemacs.info, Node: Mark, Next: Mouse Selection, Prev: Help, Up: Top - -Selecting Text -************** - - Many Emacs commands operate on an arbitrary contiguous part of the -current buffer. You can select text in two ways: - - * You use special keys to select text by defining a region between - point and the mark. - - * If you are running XEmacs under X, you can also select text with - the mouse. - -The Mark and the Region -======================= - - To specify the text for a command to operate on, set "the mark" at -one end of it, and move point to the other end. The text between point -and the mark is called "the region". You can move point or the mark to -adjust the boundaries of the region. It doesn't matter which one is -set first chronologically, or which one comes earlier in the text. - - Once the mark has been set, it remains until it is set again at -another place. The mark remains fixed with respect to the preceding -character if text is inserted or deleted in a buffer. Each Emacs -buffer has its own mark; when you return to a buffer that had been -selected previously, it has the same mark it had before. - - Many commands that insert text, such as `C-y' (`yank') and `M-x -insert-buffer', position the mark at one end of the inserted text--the -opposite end from where point is positioned, so that the region -contains the text just inserted. - - Aside from delimiting the region, the mark is useful for marking a -spot that you may want to go back to. To make this feature more useful, -Emacs remembers 16 previous locations of the mark in the `mark ring'. - -* Menu: - -* Setting Mark:: Commands to set the mark. -* Using Region:: Summary of ways to operate on contents of the region. -* Marking Objects:: Commands to put region around textual units. -* Mark Ring:: Previous mark positions saved so you can go back there. - - -File: xemacs.info, Node: Setting Mark, Next: Using Region, Prev: Mark, Up: Mark - -Setting the Mark ----------------- - - Here are some commands for setting the mark: - -`C-' - Set the mark where point is (`set-mark-command'). - -`C-@' - The same. - -`C-x C-x' - Interchange mark and point (`exchange-point-and-mark'). - -`C-<' - Pushes a mark at the beginning of the buffer. - -`C->' - Pushes a mark at the end of the buffer. - - For example, to convert part of the buffer to all upper-case, you -can use the `C-x C-u' (`upcase-region') command, which operates on the -text in the region. First go to the beginning of the text you want to -capitalize and type `C-' to put the mark there, then move to the -end, and then type `C-x C-u' to capitalize the selected region. You -can also set the mark at the end of the text, move to the beginning, -and then type `C-x C-u'. Most commands that operate on the text in the -region have the word `region' in their names. - - The most common way to set the mark is with the `C-' command -(`set-mark-command'). This command sets the mark where point is. You -can then move point away, leaving the mark behind. It is actually -incorrect to speak of the character `C-'; there is no such -character. When you type while holding down , you get the -character `C-@' on most terminals. This character is actually bound to -`set-mark-command'. But unless you are unlucky enough to have a -terminal where typing `C-' does not produce `C-@', you should -think of this character as `C-'. - - Since terminals have only one cursor, Emacs cannot show you where the -mark is located. Most people use the mark soon after they set it, before -they forget where it is. But you can see where the mark is with the -command `C-x C-x' (`exchange-point-and-mark') which puts the mark where -point was and point where the mark was. The extent of the region is -unchanged, but the cursor and point are now at the previous location of -the mark. - - Another way to set the mark is to push the mark to the beginning of a -buffer while leaving point at its original location. If you supply an -argument to `C-<' (`mark-beginning-of-buffer'), the mark is pushed N/10 -of the way from the true beginning of the buffer. You can also set the -mark at the end of a buffer with `C->' (`mark-end-of-buffer'). It -pushes the mark to the end of the buffer, leaving point alone. -Supplying an argument to the command pushes the mark N/10 of the way -from the true end of the buffer. - - If you are using XEmacs under the X window system, you can set the -variable `zmacs-regions' to `t'. This makes the current region (defined -by point and mark) highlight and makes it available as the X clipboard -selection, which means you can use the menu bar items on it. *Note -Active Regions::, for more information. - - `C-x C-x' is also useful when you are satisfied with the location of -point but want to move the mark; do `C-x C-x' to put point there and -then you can move it. A second use of `C-x C-x', if necessary, puts -the mark at the new location with point back at its original location. - - -File: xemacs.info, Node: Using Region, Next: Marking Objects, Prev: Setting Mark, Up: Mark - -Operating on the Region ------------------------ - - Once you have created an active region, you can do many things to -the text in it: - * Kill it with `C-w' (*note Killing::). - - * Save it in a register with `C-x r s' (*note Registers::). - - * Save it in a buffer or a file (*note Accumulating Text::). - - * Convert case with `C-x C-l' or `C-x C-u' - (*note Case::). - - * Evaluate it as Lisp code with `M-x eval-region' (*note Lisp - Eval::). - - * Fill it as text with `M-q' (*note Filling::). - - * Print hardcopy with `M-x print-region' (*note Hardcopy::). - - * Indent it with `C-x ' or `C-M-\' (*note Indentation::). - - -File: xemacs.info, Node: Marking Objects, Next: Mark Ring, Prev: Using Region, Up: Mark - -Commands to Mark Textual Objects --------------------------------- - - There are commands for placing point and the mark around a textual -object such as a word, list, paragraph or page. - -`M-@' - Set mark after end of next word (`mark-word'). This command and - the following one do not move point. - -`C-M-@' - Set mark after end of next Lisp expression (`mark-sexp'). - -`M-h' - Put region around current paragraph (`mark-paragraph'). - -`C-M-h' - Put region around current Lisp defun (`mark-defun'). - -`C-x h' - Put region around entire buffer (`mark-whole-buffer'). - -`C-x C-p' - Put region around current page (`mark-page'). - - `M-@' (`mark-word') puts the mark at the end of the next word, while -`C-M-@' (`mark-sexp') puts it at the end of the next Lisp expression. -These characters sometimes save you some typing. - - A number of commands are available that set both point and mark and -thus delimit an object in the buffer. `M-h' (`mark-paragraph') moves -point to the beginning of the paragraph that surrounds or follows -point, and puts the mark at the end of that paragraph (*note -Paragraphs::). You can then indent, case-convert, or kill the whole -paragraph. In the same fashion, `C-M-h' (`mark-defun') puts point -before and the mark after the current or following defun (*note -Defuns::). `C-x C-p' (`mark-page') puts point before the current page -(or the next or previous, depending on the argument), and mark at the -end (*note Pages::). The mark goes after the terminating page -delimiter (to include it), while point goes after the preceding page -delimiter (to exclude it). Finally, `C-x h' (`mark-whole-buffer') sets -up the entire buffer as the region by putting point at the beginning -and the mark at the end. - diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 5fa22ce..4536485 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,7 @@ +2000-12-31 Martin Buchholz + + * XEmacs 21.2.39 is released. + 2000-12-05 Martin Buchholz * XEmacs 21.2.38 is released. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 379143a..9f3de07 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,50 @@ +2000-12-31 Martin Buchholz + + * XEmacs 21.2.39 is released. + +2000-12-27 Martin Buchholz + + * byte-optimize.el (byte-optimize-cond): + (byte-optimize-cond-1): New. + Rewrite `cond' in terms of `if' and `or', which are easier to optimize. + Optimizes (cond (x nil)) ==> nil. + Provide better diagnostic on malformed expr like (cond foo). + +2000-12-20 Stephen J. Turnbull + + * mule/mule-coding.el: + mule/mule-cmds.el (reset-language-environment, + set-language-environment-coding-systems): + Safer default coding-priority-list, corresponding to src/file-coding.h. + +2000-12-03 Jorma Laaksonen + + * package-admin.el: Allow package removal from + early-package-load-path. + +2000-12-15 Andreas Jaeger + + * about.el (about-maintainer-info): Update my entry. + +2000-12-11 Matt Tucker + + * packages.el (locate-library): Add support for bzip2 + compressed .el files. + +2000-12-12 Andy Piper + + * package-net.el: new file. + +2000-12-01 Enrico Scholz + + * font-lock.el: Add missing C++ keywords. + +2000-12-08 Adrian Aichner + + * simple.el (indent-for-comment): Preserve indentation of comments + starting in column 0, as documented in (Info-goto-node + "(xemacs)Comments"). Update docstring accordingly. + 2000-12-05 Martin Buchholz * XEmacs 21.2.38 is released. diff --git a/lisp/about.el b/lisp/about.el index ea2061c..ac32ccb 100644 --- a/lisp/about.el +++ b/lisp/about.el @@ -990,9 +990,6 @@ looking for a job involving lisp programming, French and Russian.") (widget-insert ".\n")) (aj (widget-insert "\ -In the XEmacs team I'm responsible for the packages which means mainly -applying patches and packaging the packages. - I'm a software developer working for the SuSE Labs of the Linux distributor SuSE. My main task is to improve the GNU C library.") (widget-insert ".\n")) @@ -1207,7 +1204,7 @@ Beta tester and last hacker of calendar.\n") (about-show-linked-info 'chr "\ Maintainer of the XEmacs FAQ and proud author of `zap-up-to-char'.\n") (about-show-linked-info 'aj "\ -`Package Patch Tender', beta tester and GNU libc developer.\n") +Former `Package Patch Tender', beta tester and GNU libc developer.\n") (flet ((print-short (name addr &optional shortinfo) (concat (about-with-face name 'italic) diff --git a/lisp/byte-optimize.el b/lisp/byte-optimize.el index b6c1daa..ff6edde 100644 --- a/lisp/byte-optimize.el +++ b/lisp/byte-optimize.el @@ -939,41 +939,23 @@ (byte-optimize-predicate form) (nth 1 form)))) +;;; For the byte optimizer, `cond' is just overly sweet syntactic sugar. +;;; So we rewrite (cond ...) in terms of `if' and `or', +;;; which are easier to optimize. (defun byte-optimize-cond (form) - ;; if any clauses have a literal nil as their test, throw them away. - ;; if any clause has a literal non-nil constant as its test, throw - ;; away all following clauses. - (let (rest) - ;; This must be first, to reduce (cond (t ...) (nil)) to (progn t ...) - (while (setq rest (assq nil (cdr form))) - (setq form (delq rest (copy-sequence form)))) - (if (memq nil (cdr form)) - (setq form (delq nil (copy-sequence form)))) - (setq rest form) - (while (setq rest (cdr rest)) - (cond ((byte-compile-trueconstp (car-safe (car rest))) - (cond ((eq rest (cdr form)) - (setq form - (if (cdr (car rest)) - (if (cdr (cdr (car rest))) - (cons 'progn (cdr (car rest))) - (nth 1 (car rest))) - (car (car rest))))) - ((cdr rest) - (setq form (copy-sequence form)) - (setcdr (memq (car rest) form) nil))) - (setq rest nil))))) - ;; - ;; Turn (cond (( )) ... ) into (or (cond ... )) - (if (eq 'cond (car-safe form)) - (let ((clauses (cdr form))) - (if (and (consp (car clauses)) - (null (cdr (car clauses)))) - (list 'or (car (car clauses)) - (byte-optimize-cond - (cons (car form) (cdr (cdr form))))) - form)) - form)) + (byte-optimize-cond-1 (cdr form))) + +(defun byte-optimize-cond-1 (clauses) + (cond + ((null clauses) nil) + ((consp (car clauses)) + (nconc + (case (length (car clauses)) + (1 `(or ,(nth 0 (car clauses)))) + (2 `(if ,(nth 0 (car clauses)) ,(nth 1 (car clauses)))) + (t `(if ,(nth 0 (car clauses)) (progn ,@(cdr (car clauses)))))) + (when (cdr clauses) (list (byte-optimize-cond-1 (cdr clauses)))))) + (t (error "malformed cond clause %s" (car clauses))))) (defun byte-optimize-if (form) ;; (if ) ==> diff --git a/lisp/font-lock.el b/lisp/font-lock.el index 5a9452c..edc5964 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el @@ -2099,22 +2099,38 @@ START should be at the beginning of a line." (c++-keywords ; ("break" "continue" "do" "else" "for" "if" "return" "switch" "while" ; "asm" "catch" "delete" "new" "operator" "sizeof" "this" "throw" "try" -; "protected" "private" "public") - (concat "asm\\|break\\|c\\(atch\\|ontinue\\)\\|d\\(elete\\|o\\)\\|" - "else\\|for\\|if\\|new\\|" - "p\\(r\\(ivate\\|otected\\)\\|ublic\\)\\|return\\|" - "s\\(izeof\\|witch\\)\\|t\\(h\\(is\\|row\\)\\|ry\\)\\|while")) +; "protected" "private" "public" "const_cast" "dynamic_cast" "reinterpret_cast" +; "static_cast" "and" "bitor" "or" "xor" "compl" "bitand" "and_eq" +; "or_eq" "xor_eq" "not" "not_eq" "typeid" "false" "true") + (concat "a\\(nd\\(\\|_eq\\)\\|sm\\)\\|" + "b\\(it\\(or\\|and\\)\\|reak\\)\\|" + "c\\(atch\\|o\\(mpl\\|n\\(tinue\\|st_cast\\)\\)\\)\\|" + "d\\(elete\\|o\\|ynamic_cast\\)\\|" + "else\\|" + "f\\(alse\\|or\\)\\|if\\|" + "n\\(ew\\|ot\\(\\|_eq\\)\\)\\|" + "p\\(r\\(ivate\\|otected\\)\\|ublic\\)\\|" + "or\\(\\|_eq\\)\\|" + "re\\(interpret_cast\\|turn\\)\\|" + "s\\(izeof\\|tatic_cast\\|witch\\)\\|" + "t\\(h\\(is\\|row\\)\\|r\\(ue\\|y\\)\\|ypeid\\)\\|" + "xor\\(\\|_eq\\)\\|while")) (c++-type-types ; ("auto" "extern" "register" "static" "typedef" "struct" "union" "enum" ; "signed" "unsigned" "short" "long" "int" "char" "float" "double" ; "void" "volatile" "const" "class" "inline" "friend" "bool" -; "virtual" "complex" "template") +; "virtual" "complex" "template" "explicit" "mutable" "export" "namespace" +; "using" "typename" "wchar_t") (concat "auto\\|bool\\|c\\(har\\|lass\\|o\\(mplex\\|nst\\)\\)\\|" - "double\\|e\\(num\\|xtern\\)\\|f\\(loat\\|riend\\)\\|" - "in\\(line\\|t\\)\\|long\\|register\\|" + "double\\|" + "e\\(num\\|x\\(p\\(licit\\|ort\\)\\|tern\\)\\)\\|" + "f\\(loat\\|riend\\)\\|" + "in\\(line\\|t\\)\\|long\\|mutable\\|namespace\\|register\\|" "s\\(hort\\|igned\\|t\\(atic\\|ruct\\)\\)\\|" - "t\\(emplate\\|ypedef\\)\\|un\\(ion\\|signed\\)\\|" - "v\\(irtual\\|o\\(id\\|latile\\)\\)")) ; 11 ()s deep. + "t\\(emplate\\|ype\\(def\\|name\\)\\)\\|" + "u\\(\\(n\\(ion\\|signed\\)\\|sing\\)\\)\\|" + "v\\(irtual\\|o\\(id\\|latile\\)\\)\\|" + "wchar_t")) ; 11 ()s deep. (ctoken "\\(\\sw\\|\\s_\\|[:~*&]\\)+") ) (setq c-font-lock-keywords-1 diff --git a/lisp/lisp-mnt.el b/lisp/lisp-mnt.el index ab1aa09..3b1adbb 100644 --- a/lisp/lisp-mnt.el +++ b/lisp/lisp-mnt.el @@ -343,7 +343,7 @@ The return value has the form (NAME . ADDRESS)." (defun lm-version (&optional file) "Return the version listed in file FILE, or current buffer if FILE is nil. -This can befound in an RCS or SCCS header to crack it out of." +This can be found in an RCS or SCCS header to crack it out of." (save-excursion (if file (find-file file)) diff --git a/lisp/mule/mule-cmds.el b/lisp/mule/mule-cmds.el index d07ff15..c63bc97 100644 --- a/lisp/mule/mule-cmds.el +++ b/lisp/mule/mule-cmds.el @@ -689,52 +689,68 @@ The default status is as follows: bound to each category are as follows coding category coding system -------------------------------------------------- - iso-8-2 iso-8859-1 - iso-8-1 iso-8859-1 iso-7 iso-2022-7bit - iso-lock-shift iso-2022-lock - iso-8-designate iso-2022-8bit-ss2 no-conversion raw-text + utf-8 utf-8 + iso-8-1 iso-8859-1 + iso-8-2 ctext (iso-8859-1 alias) + iso-8-designate ctext (iso-8859-1 alias) + iso-lock-shift iso-2022-lock shift-jis shift_jis big5 big5 - ucs-4 ---- - utf-8 ---- + ucs-4 iso-10646-ucs-4 " +;; The old table (from FSF synch?) was not what we use (cf mule-coding.el), +;; and as documented iso-8-designate is inconsistent with iso-2022-8bit-ss2. +;; The order of priorities of coding categories and the coding system +;; bound to each category are as follows +;; coding category coding system +;; -------------------------------------------------- +;; iso-8-2 iso-8859-1 +;; iso-8-1 iso-8859-1 +;; iso-7 iso-2022-7bit +;; iso-lock-shift iso-2022-lock +;; iso-8-designate iso-2022-8bit-ss2 +;; no-conversion raw-text +;; shift-jis shift_jis +;; big5 big5 +;; ucs-4 ---- +;; utf-8 ---- (interactive) - ;; This function formerly set default-enable-multibyte-characters to t, - ;; but that is incorrect. It should not alter the unibyte/multibyte choice. - (set-coding-category-system 'iso-7 'iso-2022-7bit) + (set-coding-category-system 'iso-7 'iso-2022-7) (set-coding-category-system 'iso-8-1 'iso-8859-1) - (set-coding-category-system 'iso-8-2 'iso-8859-1) + (set-coding-category-system 'iso-8-2 'ctext) (set-coding-category-system 'iso-lock-shift 'iso-2022-lock) - (set-coding-category-system 'iso-8-designate 'iso-2022-8bit-ss2) + (set-coding-category-system 'iso-8-designate 'ctext) (set-coding-category-system 'no-conversion 'raw-text) (set-coding-category-system 'shift-jis 'shift_jis) (set-coding-category-system 'big5 'big5) + ;; #### Can we now assume the existence of the 10646 coding systems? + ;; #### These lists need to be synched with the ones in mule-coding.el. (cond ((eq (coding-system-type (coding-category-system 'utf-8)) 'utf-8) (set-coding-category-system 'ucs-4 'iso-10646-ucs-4) (set-coding-category-system 'utf-8 'utf-8) (set-coding-priority-list - '(iso-8-1 + '(iso-7 + no-conversion + utf-8 + iso-8-1 iso-8-2 - iso-7 - iso-lock-shift iso-8-designate - utf-8 - ucs-4 - no-conversion + iso-lock-shift shift-jis - big5)) + big5 + ucs-4)) ) (t (set-coding-priority-list - '(iso-8-1 + '(iso-7 + no-conversion + iso-8-1 iso-8-2 - iso-7 - iso-lock-shift iso-8-designate - no-conversion + iso-lock-shift shift-jis big5)) )) @@ -867,7 +883,17 @@ specifies the character set for the major languages of Western Europe." "Do various coding system setups for language environment LANGUAGE-NAME. The optional arg EOL-TYPE specifies the eol-type of the default value -of buffer-file-coding-system set by this function." +of buffer-file-coding-system set by this function. + +Note that `coding-priority-list' is not reset first; thus changing language +environment allows recognition of coding systems from previously set language +environments. (This will not work if the desired coding systems are from the +same category. E.g., starting with a Hebrew language environment, ISO 8859-8 +will be recognized. If you shift to Russian, ISO 8859-8 will be shadowed by +ISO 8859-5, and cannot be automatically recognized without resetting the +language environment to Hebrew. However, if you shift from Japanese to +Russian, ISO-2022-JP will continue to be automatically recognized, since +ISO-8859-5 and ISO-2022-JP are different coding categories.)" (let* ((priority (get-language-info language-name 'coding-priority)) (default-coding (car priority))) (if priority diff --git a/lisp/mule/mule-coding.el b/lisp/mule/mule-coding.el index 281e980..0608850 100644 --- a/lisp/mule/mule-coding.el +++ b/lisp/mule/mule-coding.el @@ -174,9 +174,19 @@ ;; initialize the coding categories to something semi-reasonable ;; so that the remaining Lisp files can contain extended characters. ;; (They will be in ISO-7 format) - -(set-coding-priority-list '(iso-8-2 iso-8-designate iso-8-1 - iso-7 iso-lock-shift no-conversion)) +;; #### This list needs to be synched with the ones in mule-cmds.el. + +(set-coding-priority-list '(iso-7 + no-conversion + ;; utf-8 + iso-8-1 + iso-8-2 + iso-8-designate + iso-lock-shift + shift-jis + big5 + ;; ucs-4 + )) (set-coding-category-system 'iso-7 'iso-2022-7) (set-coding-category-system 'iso-8-designate 'ctext) diff --git a/lisp/package-admin.el b/lisp/package-admin.el index 2f971ea..d13a853 100644 --- a/lisp/package-admin.el +++ b/lisp/package-admin.el @@ -165,13 +165,13 @@ or return a location appropriate for the package otherwise." (featurep package-feature) (setq autoload-dir (feature-file package-feature)) (setq autoload-dir (file-name-directory autoload-dir)) - (member autoload-dir late-package-load-path)) + (member autoload-dir (append early-package-load-path late-package-load-path))) ;; Find the corresponding entry in late-package (setq pkg-dir (car-safe (member-if (lambda (h) (string-match (concat "^" (regexp-quote h)) autoload-dir)) - late-packages)))) + (append (cdr early-packages) late-packages))))) (if pkg-dir pkg-dir ;; Ok we need to guess diff --git a/lisp/packages.el b/lisp/packages.el index 780d9a0..810b1f7 100644 --- a/lisp/packages.el +++ b/lisp/packages.el @@ -202,8 +202,10 @@ is used instead of `load-path'." (member 'crypt-find-file-hook find-file-hooks))) ;; Compression involved. (if nosuffix - '("" ".gz" ".Z") - '(".elc" ".elc.gz" "elc.Z" ".el" ".el.gz" ".el.Z" "" ".gz" ".Z"))) + '("" ".gz" ".Z" ".bz2") + '(".elc" ".elc.gz" "elc.Z" ".elc.bz2" + ".el" ".el.gz" ".el.Z" ".el.bz2" + "" ".gz" ".Z" ".bz2"))) (t ;; No compression. (if nosuffix diff --git a/lisp/replace.el b/lisp/replace.el index 6d7c7ee..ec2ce62 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -394,8 +394,8 @@ default is t.") If a match spreads across multiple lines, all those lines are shown. -If variable `list-matching-lines-whole-buffer' is non-nil, the entire buffer is -searched, otherwise search begins at point. +If variable `list-matching-lines-whole-buffer' is non-nil, the entire +buffer is searched, otherwise search begins at point. Each line is displayed with NLINES lines before and after, or -NLINES before if NLINES is negative. diff --git a/lisp/simple.el b/lisp/simple.el index 51cc77d..38fd6fa 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -2544,7 +2544,8 @@ If nil, use `comment-end' instead." :group 'fill-comments) (defun indent-for-comment () - "Indent this line's comment to comment column, or insert an empty comment." + "Indent this line's comment to comment column, or insert an empty +comment. Comments starting in column 0 are not moved." (interactive "*") (let* ((empty (save-excursion (beginning-of-line) (looking-at "[ \t]*$"))) @@ -2571,13 +2572,19 @@ If nil, use `comment-end' instead." (skip-syntax-backward "^ " (match-beginning 0))))) (setq begpos (point)) ;; Compute desired indent. - (if (= (current-column) - (setq indent (funcall comment-indent-function))) - (goto-char begpos) + ;; XEmacs change: Preserve indentation of comments starting in + ;; column 0, as documented. + (cond + ((= (current-column) 0) + (goto-char begpos)) + ((= (current-column) + (setq indent (funcall comment-indent-function))) + (goto-char begpos)) + (t ;; If that's different from current, change it. (skip-chars-backward " \t") (delete-region (point) begpos) - (indent-to indent)) + (indent-to indent))) ;; An existing comment? (if cpos (progn (goto-char cpos) diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 07d6f5d..71cbd9d 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog @@ -1,3 +1,23 @@ +2000-12-31 Martin Buchholz + + * XEmacs 21.2.39 is released. + +2000-12-30 Andy Piper + + * xlwtabs.c: remove assertion definitions and put them in + lwlib-internal.h. This has the effect of enabling assertions which + should have been done from the very start. + (TabsShuffleRows): fix duff assertion. + (PreferredSize3): use dimensions throughout. + (PreferredSize2): ditto. + (TabLayout): ditto. + (DrawFrame): be clever about the enclosing frame if the child + height is 0. + (TabsResize): don't configure children that are no visible + anyway. Make sure geometry calculations don't end up negative. + + * lwlib-internal.h: put in assertion definitions. + 2000-12-05 Martin Buchholz * XEmacs 21.2.38 is released. diff --git a/lwlib/lwlib-internal.h b/lwlib/lwlib-internal.h index 85dff5a..b202230 100644 --- a/lwlib/lwlib-internal.h +++ b/lwlib/lwlib-internal.h @@ -3,6 +3,20 @@ #include "lwlib.h" +#ifdef USE_ASSERTIONS +/* Highly dubious kludge */ +/* (thanks, Jamie, I feel better now -- ben) */ +void assert_failed (const char *, int, const char *); +# define abort() (assert_failed (__FILE__, __LINE__, "abort()")) +# define assert(x) ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, #x)) +#else +# ifdef DEBUG_XEMACS +# define assert(x) ((x) ? (void) 0 : (void) abort ()) +# else +# define assert(x) +# endif +#endif + /* This represents a single widget within a widget tree. All the widgets in a widget tree are chained through the `next' field. `info' is a back pointer to the widget tree. */ diff --git a/lwlib/xlwtabs.c b/lwlib/xlwtabs.c index 65af1ee..32c282c 100644 --- a/lwlib/xlwtabs.c +++ b/lwlib/xlwtabs.c @@ -66,6 +66,8 @@ #include #include #include + +#include "lwlib-internal.h" #include "../src/xmu.h" #include "xlwtabsP.h" #include "xlwgcs.h" @@ -267,7 +269,7 @@ static void DrawHighlight( TabsWidget tw, Widget child, Bool undraw) ; static void UndrawTab( TabsWidget tw, Widget child) ; static void TabWidth( Widget w) ; -static int TabLayout( TabsWidget, int wid, int hgt, Dimension *r_hgt, +static int TabLayout( TabsWidget, Dimension wid, Dimension hgt, Dimension *r_hgt, Bool query_only) ; static void GetPreferredSizes(TabsWidget) ; static void MaxChild(TabsWidget, Widget except, Dimension, Dimension) ; @@ -275,9 +277,9 @@ static void TabsShuffleRows( TabsWidget tw) ; static int PreferredSize( TabsWidget, Dimension *reply_width, Dimension *reply_height, Dimension *reply_cw, Dimension *reply_ch) ; -static int PreferredSize2( TabsWidget, int cw, int ch, +static int PreferredSize2( TabsWidget, Dimension cw, Dimension ch, Dimension *rw, Dimension *rh) ; -static int PreferredSize3( TabsWidget, int wid, int hgt, +static int PreferredSize3( TabsWidget, Dimension wid, Dimension hgt, Dimension *rw, Dimension *rh) ; static void MakeSizeRequest(TabsWidget) ; @@ -392,20 +394,6 @@ TabsClassRec tabsClassRec = { WidgetClass tabsWidgetClass = (WidgetClass)&tabsClassRec; - - -#ifdef DEBUG -#ifdef __STDC__ -#define assert(e) \ - if(!(e)) fprintf(stderr,"yak! %s at %s:%d\n",#e,__FILE__,__LINE__) -#else -#define assert(e) \ - if(!(e)) fprintf(stderr,"yak! e at %s:%d\n",__FILE__,__LINE__) -#endif -#else -#define assert(e) -#endif - #define TabsNumChildren(tw) (((TabsWidget)tw)->composite.num_children) #define TabVisible(tab) \ (XtIsManaged(tab) && \ @@ -570,18 +558,20 @@ TabsResize(Widget w) tw->tabs.child_width = cw = tw->core.width - 2 * SHADWID ; tw->tabs.child_height = ch = - tw->core.height - tw->tabs.tab_total - 2 * SHADWID ; - + tw->core.height < (tw->tabs.tab_total + 2 * SHADWID) ? 0 : + tw->core.height - tw->tabs.tab_total - 2 * SHADWID ; for(i=0, childP=tw->composite.children; i < num_children; ++i, ++childP) - if( TabVisible(*childP) ) + if( XtIsManaged(*childP) ) { tab = (TabsConstraints) (*childP)->core.constraints ; bw = (*childP)->core.border_width ; - XtConfigureWidget(*childP, SHADWID,tw->tabs.tab_total+SHADWID, - cw-bw*2,ch-bw*2, bw) ; + /* Don't do anything if we can't see any of the child. */ + if (ch >= bw*2 && ch > 0 && cw >= bw*2 && cw > 0) + XtConfigureWidget(*childP, SHADWID,tw->tabs.tab_total+SHADWID, + cw-bw*2,ch-bw*2, bw) ; } if( XtIsRealized(w) ) { XClearWindow(XtDisplay((Widget)tw), XtWindow((Widget)tw)) ; @@ -873,7 +863,8 @@ TabsGeometryManager(Widget w, XtWidgetGeometry *req, XtWidgetGeometry *reply) myrequest.width = wid ; myrequest.height = hgt ; myrequest.request_mode = CWWidth | CWHeight ; - + + assert (wid > 0 && hgt > 0); /* If child is only querying, or if we're going to have to * offer the child a compromise, then make this a query only. */ @@ -1505,8 +1496,26 @@ DrawFrame(TabsWidget tw) GC botgc = tw->tabs.botGC ; Dimension s = SHADWID ; Dimension ch = tw->tabs.child_height ; - Draw3dBox((Widget)tw, 0,tw->tabs.tab_total, - tw->core.width, ch+2*s, s, topgc, botgc) ; + if (ch > 0) + Draw3dBox((Widget)tw, 0,tw->tabs.tab_total, + tw->core.width, ch+2*s, s, topgc, botgc) ; + else + { + Widget w = tw->tabs.topWidget ; + if (w != NULL) + { + TabsConstraints tab = (TabsConstraints) w->core.constraints ; + Draw3dBox((Widget)tw, 0,tw->core.height - 2*s, + tab->tabs.x, 2*s, s, topgc, botgc); + Draw3dBox((Widget)tw, tab->tabs.x + tab->tabs.width, + tw->core.height - 2*s, + tw->core.width - tab->tabs.x - tab->tabs.width, 2*s, s, + topgc, botgc); + } + else + Draw3dBox((Widget)tw, 0,tw->core.height - 2*s, + tw->core.width, 2*s, s, topgc, botgc) ; + } } @@ -1712,7 +1721,10 @@ TabWidth(Widget w) */ static int -TabLayout(TabsWidget tw, int wid, int hgt, Dimension *reply_height, Bool query_only) +TabLayout(TabsWidget tw, + Dimension wid, + Dimension hgt, + Dimension *reply_height, Bool query_only) { int i, row, done = 0, display_rows = 0 ; int num_children = tw->composite.num_children ; @@ -1817,7 +1829,7 @@ MaxChild(TabsWidget tw, Widget except, Dimension cw, Dimension ch) XtWidgetGeometry preferred ; for(i=tw->composite.num_children; --i >=0; ++childP) - if( XtIsManaged(*childP) && *childP != except ) + if( TabVisible (*childP) /*XtIsManaged(*childP)*/ && *childP != except ) { (void) XtQueryGeometry(*childP, NULL, &preferred) ; cw = Max(cw, preferred.width + preferred.border_width * 2 ) ; @@ -1859,7 +1871,7 @@ TabsShuffleRows(TabsWidget tw) { display_rows = tw->tabs.numRows ; real_rows = tw->tabs.realRows ; - assert( display_rows >= real_rows ) ; + assert( display_rows <= real_rows ) ; if( real_rows > 1 ) { @@ -1959,18 +1971,22 @@ PreferredSize( static int PreferredSize2( TabsWidget tw, - int cw, /* child width, height */ - int ch, + Dimension cw, /* child width, height */ + Dimension ch, Dimension *reply_width, /* total widget size */ Dimension *reply_height) { Dimension s = SHADWID ; + int ret; /* make room for shadow frame */ cw += s*2 ; ch += s*2 ; - return PreferredSize3(tw, cw, ch, reply_width, reply_height) ; + ret = PreferredSize3(tw, cw, ch, reply_width, reply_height) ; + + assert (*reply_width > 0 && *reply_height > 0); + return ret; } @@ -1979,8 +1995,8 @@ PreferredSize2( static int PreferredSize3( TabsWidget tw, - int wid, /* child width, height */ - int hgt, + Dimension wid, /* child width, height */ + Dimension hgt, Dimension *reply_width, /* total widget size */ Dimension *reply_height) { diff --git a/man/ChangeLog b/man/ChangeLog index 5bd2293..cb32e69 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,16 @@ +2000-12-31 Martin Buchholz + + * XEmacs 21.2.39 is released. + +2000-12-05 Stephen J. Turnbull + + * internals/internals.texi (General Coding Rules): further document + usage of symsinit.h. Reorder slightly. + +2000-11-29 Stephen J. Turnbull + + * xemacs/packages.texi (Creating Packages): new node. + 2000-12-05 Martin Buchholz * XEmacs 21.2.38 is released. diff --git a/man/internals/internals.texi b/man/internals/internals.texi index a59e3c1..d4bbfd2 100644 --- a/man/internals/internals.texi +++ b/man/internals/internals.texi @@ -1721,21 +1721,6 @@ been found by compiling with C++. The ability to use both C and C++ tools means that a greater variety of development tools are available to the developer. -Almost every module contains a @code{syms_of_*()} function and a -@code{vars_of_*()} function. The former declares any Lisp primitives -you have defined and defines any symbols you will be using. The latter -declares any global Lisp variables you have added and initializes global -C variables in the module. For each such function, declare it in -@file{symsinit.h} and make sure it's called in the appropriate place in -@file{emacs.c}. @strong{Important}: There are stringent requirements on -exactly what can go into these functions. See the comment in -@file{emacs.c}. The reason for this is to avoid obscure unwanted -interactions during initialization. If you don't follow these rules, -you'll be sorry! If you want to do anything that isn't allowed, create -a @code{complex_vars_of_*()} function for it. Doing this is tricky, -though: You have to make sure your function is called at the right time -so that all the initialization dependencies work out. - Every module includes @file{} (angle brackets so that @samp{--srcdir} works correctly; @file{config.h} may or may not be in the same directory as the C sources) and @file{lisp.h}. @file{config.h} @@ -1753,6 +1738,24 @@ directory using @samp{../work/configure}. There will be two different @file{config.h} files. Which one will be used if you @samp{#include "config.h"}? +Almost every module contains a @code{syms_of_*()} function and a +@code{vars_of_*()} function. The former declares any Lisp primitives +you have defined and defines any symbols you will be using. The latter +declares any global Lisp variables you have added and initializes global +C variables in the module. @strong{Important}: There are stringent +requirements on exactly what can go into these functions. See the +comment in @file{emacs.c}. The reason for this is to avoid obscure +unwanted interactions during initialization. If you don't follow these +rules, you'll be sorry! If you want to do anything that isn't allowed, +create a @code{complex_vars_of_*()} function for it. Doing this is +tricky, though: you have to make sure your function is called at the +right time so that all the initialization dependencies work out. + +Declare each function of these kinds in @file{symsinit.h}. Make sure +it's called in the appropriate place in @file{emacs.c}. You never need +to include @file{symsinit.h} directly, because it is included by +@file{lisp.h}. + @strong{All global and static variables that are to be modifiable must be declared uninitialized.} This means that you may not use the ``declare with initializer'' form for these variables, such as @code{int @@ -5865,7 +5868,7 @@ differences though: @enumerate @item We do not use the mark bit (which does not exist for C structures -anyway), we use a big hash table instead. +anyway); we use a big hash table instead. @item We do not use the mark function of lrecords but instead rely on the @@ -5882,7 +5885,7 @@ The hash table doubles as a map object to pdump_entry_list_elmt (i.e. allows us to look up a pdump_entry_list_elmt with the object it points to). Entries are added with @code{pdump_add_entry()} and looked up with @code{pdump_get_entry()}. There is no need for entry removal. The hash -value is computed quite basically from the object pointer by +value is computed quite simply from the object pointer by @code{pdump_make_hash()}. The roots for the marking are: @@ -5893,7 +5896,7 @@ the @code{staticpro}'ed variables (there is a special @code{staticpro_nodump()} call for protected variables we do not want to dump). @item -the @code{pdump_wire}'d variables (@code{staticpro} is equivalent to +the @code{pdump_wire}'d variables (@code{staticpro()} is equivalent to @code{staticpro_nodump()} + @code{pdump_wire()}). @item @@ -5925,7 +5928,7 @@ real world alignment requirements are powers of two. @item the C compiler is required to adjust the size of a struct so that you -can have an array of them next to each other. This means you can have a +can have an array of them next to each other. This means you can have an upper bound of the alignment requirements of a given structure by looking at which power of two its size is a multiple. @@ -5943,14 +5946,14 @@ first. This ensures the best packing. The maximum alignment requirement we take into account is 2^8. @code{pdump_allocate_offset()} only has to do a linear allocation, -starting at offset 256 (this leaves room for the header and keep the +starting at offset 256 (this leaves room for the header and keeps the alignments happy). @node The header, Data dumping, Address allocation, Dumping phase @subsection The header The next step creates the file and writes a header with a signature and -some random informations in it (number of staticpro, number of assigned +some random information in it (number of staticpro, number of assigned lrecord types, etc...). The reloc_address field, which indicates at which address the file should be loaded if we want to avoid post-reload relocation, is set to 0. It then seeks to offset 256 (base offset for @@ -5985,7 +5988,7 @@ the lrecord_implementation_table array a vector of all the offsets to the objects in the file that include a description (for faster relocation at reload time) @item -the pdump_wired and pdump_wired_list arrays +the pdump_wire and pdump_wire_list arrays @end enumerate For each of the arrays we write both the pointer to the variables and @@ -5993,7 +5996,7 @@ the relocated offset of the object they point to. Since these variables are global, the pointers are still valid when restarting the program and are used to regenerate the global pointers. -The @code{pdump_wired_list} array is a special case. The variables it +The @code{pdump_wire_list} array is a special case. The variables it points to are the head of weak linked lists of lisp objects of the same type. Not all objects of this list are dumped so the relocated pointer we associate with them points to the first dumped object of the list, or