\1f
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
\1f
Tag Table:
(Indirect)
Node: Assignment\7f36505
Node: Generalized Variables\7f37746
Node: Basic Setf\7f39053
-Node: Modify Macros\7f46306
-Node: Customizing Setf\7f53515
-Node: Variable Bindings\7f60804
-Node: Dynamic Bindings\7f61385
-Node: Lexical Bindings\7f62275
-Node: Function Bindings\7f66379
-Node: Macro Bindings\7f68766
-Node: Conditionals\7f71689
-Node: Blocks and Exits\7f74772
-Node: Iteration\7f77828
-Node: Loop Facility\7f83301
-Node: Loop Basics\7f84228
-Node: Loop Examples\7f86828
-Node: For Clauses\7f89087
-Node: Iteration Clauses\7f100964
-Node: Accumulation Clauses\7f102805
-Node: Other Clauses\7f105149
-Node: Multiple Values\7f111218
-Node: Macros\7f113111
-Node: Declarations\7f116329
-Node: Symbols\7f124815
-Node: Property Lists\7f125096
-Node: Creating Symbols\7f127287
-Node: Numbers\7f129365
-Node: Predicates on Numbers\7f129845
-Node: Numerical Functions\7f130874
-Node: Random Numbers\7f135101
-Node: Implementation Parameters\7f137810
-Node: Sequences\7f141382
-Node: Sequence Basics\7f142055
-Node: Mapping over Sequences\7f145633
-Node: Sequence Functions\7f151487
-Node: Searching Sequences\7f157662
-Node: Sorting Sequences\7f160699
-Node: Lists\7f163247
-Node: List Functions\7f163672
-Node: Substitution of Expressions\7f167935
-Node: Lists as Sets\7f169821
-Node: Association Lists\7f173883
-Node: Hash Tables\7f175586
-Node: Structures\7f175806
-Node: Assertions\7f190589
-Node: Efficiency Concerns\7f193532
-Node: Common Lisp Compatibility\7f199859
-Node: Old CL Compatibility\7f203015
-Node: Porting Common Lisp\7f207398
-Node: Function Index\7f218409
-Node: Variable Index\7f229558
+Node: Modify Macros\7f46305
+Node: Customizing Setf\7f53514
+Node: Variable Bindings\7f60803
+Node: Dynamic Bindings\7f61384
+Node: Lexical Bindings\7f62274
+Node: Function Bindings\7f66378
+Node: Macro Bindings\7f68765
+Node: Conditionals\7f71688
+Node: Blocks and Exits\7f74771
+Node: Iteration\7f77827
+Node: Loop Facility\7f83300
+Node: Loop Basics\7f84227
+Node: Loop Examples\7f86827
+Node: For Clauses\7f89086
+Node: Iteration Clauses\7f100963
+Node: Accumulation Clauses\7f102804
+Node: Other Clauses\7f105148
+Node: Multiple Values\7f111217
+Node: Macros\7f113110
+Node: Declarations\7f116328
+Node: Symbols\7f124814
+Node: Property Lists\7f125095
+Node: Creating Symbols\7f127286
+Node: Numbers\7f129364
+Node: Predicates on Numbers\7f129844
+Node: Numerical Functions\7f130873
+Node: Random Numbers\7f135100
+Node: Implementation Parameters\7f137809
+Node: Sequences\7f141381
+Node: Sequence Basics\7f142054
+Node: Mapping over Sequences\7f145632
+Node: Sequence Functions\7f151486
+Node: Searching Sequences\7f157661
+Node: Sorting Sequences\7f160698
+Node: Lists\7f163246
+Node: List Functions\7f163671
+Node: Substitution of Expressions\7f167934
+Node: Lists as Sets\7f169820
+Node: Association Lists\7f173882
+Node: Hash Tables\7f175585
+Node: Structures\7f175805
+Node: Assertions\7f190588
+Node: Efficiency Concerns\7f193511
+Node: Common Lisp Compatibility\7f199838
+Node: Old CL Compatibility\7f202994
+Node: Porting Common Lisp\7f207377
+Node: Function Index\7f218388
+Node: Variable Index\7f229537
\1f
End Tag Table
*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.
\1f
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
\1f
Tag Table:
(Indirect)
Node: Top\7f1776
-Node: A History of Emacs\7f7030
-Node: Through Version 18\7f8555
-Node: Lucid Emacs\7f12003
-Node: GNU Emacs 19\7f15021
-Node: GNU Emacs 20\7f17204
-Node: XEmacs\7f17631
-Node: XEmacs From the Outside\7f20810
-Node: The Lisp Language\7f22577
-Node: XEmacs From the Perspective of Building\7f32120
-Node: XEmacs From the Inside\7f38245
-Node: The XEmacs Object System (Abstractly Speaking)\7f46627
-Node: How Lisp Objects Are Represented in C\7f60713
-Node: Rules When Writing New C Code\7f65390
-Node: General Coding Rules\7f66194
-Node: Writing Lisp Primitives\7f71915
-Node: Adding Global Lisp Variables\7f83084
-Node: Coding for Mule\7f86722
-Node: Character-Related Data Types\7f87701
-Node: Working With Character and Byte Positions\7f90698
-Node: Conversion to and from External Data\7f94463
-Node: General Guidelines for Writing Mule-Aware Code\7f100604
-Node: An Example of Mule-Aware Code\7f103292
-Node: Techniques for XEmacs Developers\7f105273
-Node: A Summary of the Various XEmacs Modules\7f113220
-Node: Low-Level Modules\7f114040
-Node: Basic Lisp Modules\7f121501
-Node: Modules for Standard Editing Operations\7f128095
-Node: Editor-Level Control Flow Modules\7f133983
-Node: Modules for the Basic Displayable Lisp Objects\7f137494
-Node: Modules for other Display-Related Lisp Objects\7f140447
-Node: Modules for the Redisplay Mechanism\7f141788
-Node: Modules for Interfacing with the File System\7f144160
-Node: Modules for Other Aspects of the Lisp Interpreter and Object System\7f147858
-Node: Modules for Interfacing with the Operating System\7f153311
-Node: Modules for Interfacing with X Windows\7f160867
-Node: Modules for Internationalization\7f164350
-Node: Allocation of Objects in XEmacs Lisp\7f166987
-Node: Introduction to Allocation\7f167508
-Node: Garbage Collection\7f171194
-Node: GCPROing\7f172350
-Node: Garbage Collection - Step by Step\7f179354
-Node: Invocation\7f179746
-Node: garbage_collect_1\7f182759
-Node: mark_object\7f192239
-Node: gc_sweep\7f194051
-Node: sweep_lcrecords_1\7f199114
-Node: compact_string_chars\7f200109
-Node: sweep_strings\7f202289
-Node: sweep_bit_vectors_1\7f203254
-Node: Integers and Characters\7f203930
-Node: Allocation from Frob Blocks\7f204682
-Node: lrecords\7f206286
-Node: Low-level allocation\7f218512
-Node: Cons\7f222619
-Node: Vector\7f223345
-Node: Bit Vector\7f223922
-Node: Symbol\7f224415
-Node: Marker\7f224769
-Node: String\7f225324
-Node: Compiled Function\7f228937
-Node: Dumping\7f229106
-Node: Overview\7f231327
-Node: Data descriptions\7f231897
-Node: Dumping phase\7f233902
-Node: Object inventory\7f234305
-Node: Address allocation\7f237159
-Node: The header\7f238546
-Node: Data dumping\7f239054
-Node: Pointers dumping\7f239715
-Node: Reloading phase\7f240933
-Node: Remaining issues\7f242694
-Node: Events and the Event Loop\7f243655
-Node: Introduction to Events\7f244105
-Node: Main Loop\7f246054
-Node: Specifics of the Event Gathering Mechanism\7f249629
-Node: Specifics About the Emacs Event\7f262082
-Node: The Event Stream Callback Routines\7f262337
-Node: Other Event Loop Functions\7f262582
-Node: Converting Events\7f263722
-Node: Dispatching Events; The Command Builder\7f264331
-Node: Evaluation; Stack Frames; Bindings\7f264566
-Node: Evaluation\7f264908
-Node: Dynamic Binding; The specbinding Stack; Unwind-Protects\7f271463
-Node: Simple Special Forms\7f273847
-Node: Catch and Throw\7f274630
-Node: Symbols and Variables\7f277205
-Node: Introduction to Symbols\7f277469
-Node: Obarrays\7f278537
-Node: Symbol Values\7f282070
-Node: Buffers and Textual Representation\7f284358
-Node: Introduction to Buffers\7f285016
-Node: The Text in a Buffer\7f287722
-Node: Buffer Lists\7f294872
-Node: Markers and Extents\7f296823
-Node: Bufbytes and Emchars\7f299088
-Node: The Buffer Object\7f299303
-Node: MULE Character Sets and Encodings\7f302783
-Node: Character Sets\7f303845
-Node: Encodings\7f307330
-Node: Japanese EUC (Extended Unix Code)\7f308397
-Node: JIS7\7f309229
-Node: Internal Mule Encodings\7f310579
-Node: Internal String Encoding\7f312409
-Node: Internal Character Encoding\7f314554
-Node: CCL\7f316278
-Node: The Lisp Reader and Compiler\7f323031
-Node: Lstreams\7f323244
-Node: Creating an Lstream\7f324275
-Node: Lstream Types\7f325502
-Node: Lstream Functions\7f325754
-Node: Lstream Methods\7f329320
-Node: Consoles; Devices; Frames; Windows\7f332462
-Node: Introduction to Consoles; Devices; Frames; Windows\7f332777
-Node: Point\7f335310
-Node: Window Hierarchy\7f336589
-Node: The Window Object\7f341041
-Node: The Redisplay Mechanism\7f344478
-Node: Critical Redisplay Sections\7f345270
-Node: Line Start Cache\7f346257
-Node: Redisplay Piece by Piece\7f349493
-Node: Extents\7f351530
-Node: Introduction to Extents\7f352064
-Node: Extent Ordering\7f353206
-Node: Format of the Extent Info\7f354447
-Node: Zero-Length Extents\7f356334
-Node: Mathematics of Extent Ordering\7f357734
-Node: Extent Fragments\7f362491
-Node: Faces\7f363577
-Node: Glyphs\7f363693
-Node: Specifiers\7f366712
-Node: Menus\7f366841
-Node: Subprocesses\7f369099
-Node: Interface to X Windows\7f371075
-Node: Index\7f371246
+Node: A History of Emacs\7f7040
+Node: Through Version 18\7f8565
+Node: Lucid Emacs\7f12013
+Node: GNU Emacs 19\7f15031
+Node: GNU Emacs 20\7f17214
+Node: XEmacs\7f17641
+Node: XEmacs From the Outside\7f20820
+Node: The Lisp Language\7f22587
+Node: XEmacs From the Perspective of Building\7f32130
+Node: XEmacs From the Inside\7f38255
+Node: The XEmacs Object System (Abstractly Speaking)\7f46637
+Node: How Lisp Objects Are Represented in C\7f60723
+Node: Rules When Writing New C Code\7f65400
+Node: General Coding Rules\7f66204
+Node: Writing Lisp Primitives\7f72014
+Node: Adding Global Lisp Variables\7f83183
+Node: Coding for Mule\7f86821
+Node: Character-Related Data Types\7f87800
+Node: Working With Character and Byte Positions\7f90797
+Node: Conversion to and from External Data\7f94562
+Node: General Guidelines for Writing Mule-Aware Code\7f100703
+Node: An Example of Mule-Aware Code\7f103391
+Node: Techniques for XEmacs Developers\7f105372
+Node: A Summary of the Various XEmacs Modules\7f113319
+Node: Low-Level Modules\7f114139
+Node: Basic Lisp Modules\7f121600
+Node: Modules for Standard Editing Operations\7f128194
+Node: Editor-Level Control Flow Modules\7f134082
+Node: Modules for the Basic Displayable Lisp Objects\7f137593
+Node: Modules for other Display-Related Lisp Objects\7f140546
+Node: Modules for the Redisplay Mechanism\7f141887
+Node: Modules for Interfacing with the File System\7f144259
+Node: Modules for Other Aspects of the Lisp Interpreter and Object System\7f147957
+Node: Modules for Interfacing with the Operating System\7f153410
+Node: Modules for Interfacing with X Windows\7f160966
+Node: Modules for Internationalization\7f164449
+Node: Allocation of Objects in XEmacs Lisp\7f167086
+Node: Introduction to Allocation\7f167607
+Node: Garbage Collection\7f171293
+Node: GCPROing\7f172449
+Node: Garbage Collection - Step by Step\7f179453
+Node: Invocation\7f179845
+Node: garbage_collect_1\7f182858
+Node: mark_object\7f192338
+Node: gc_sweep\7f194150
+Node: sweep_lcrecords_1\7f199213
+Node: compact_string_chars\7f200208
+Node: sweep_strings\7f202388
+Node: sweep_bit_vectors_1\7f203353
+Node: Integers and Characters\7f204029
+Node: Allocation from Frob Blocks\7f204781
+Node: lrecords\7f206385
+Node: Low-level allocation\7f218611
+Node: Cons\7f222718
+Node: Vector\7f223444
+Node: Bit Vector\7f224021
+Node: Symbol\7f224514
+Node: Marker\7f224868
+Node: String\7f225423
+Node: Compiled Function\7f229036
+Node: Dumping\7f229205
+Node: Overview\7f231426
+Node: Data descriptions\7f231996
+Node: Dumping phase\7f234001
+Node: Object inventory\7f234404
+Node: Address allocation\7f237257
+Node: The header\7f238646
+Node: Data dumping\7f239153
+Node: Pointers dumping\7f239814
+Node: Reloading phase\7f241029
+Node: Remaining issues\7f242790
+Node: Events and the Event Loop\7f243751
+Node: Introduction to Events\7f244201
+Node: Main Loop\7f246150
+Node: Specifics of the Event Gathering Mechanism\7f249725
+Node: Specifics About the Emacs Event\7f262178
+Node: The Event Stream Callback Routines\7f262433
+Node: Other Event Loop Functions\7f262678
+Node: Converting Events\7f263818
+Node: Dispatching Events; The Command Builder\7f264427
+Node: Evaluation; Stack Frames; Bindings\7f264662
+Node: Evaluation\7f265004
+Node: Dynamic Binding; The specbinding Stack; Unwind-Protects\7f271559
+Node: Simple Special Forms\7f273943
+Node: Catch and Throw\7f274726
+Node: Symbols and Variables\7f277301
+Node: Introduction to Symbols\7f277565
+Node: Obarrays\7f278633
+Node: Symbol Values\7f282166
+Node: Buffers and Textual Representation\7f284454
+Node: Introduction to Buffers\7f285112
+Node: The Text in a Buffer\7f287818
+Node: Buffer Lists\7f294968
+Node: Markers and Extents\7f296919
+Node: Bufbytes and Emchars\7f299184
+Node: The Buffer Object\7f299399
+Node: MULE Character Sets and Encodings\7f302879
+Node: Character Sets\7f303941
+Node: Encodings\7f307426
+Node: Japanese EUC (Extended Unix Code)\7f308493
+Node: JIS7\7f309325
+Node: Internal Mule Encodings\7f310675
+Node: Internal String Encoding\7f312505
+Node: Internal Character Encoding\7f314650
+Node: CCL\7f316374
+Node: The Lisp Reader and Compiler\7f323127
+Node: Lstreams\7f323340
+Node: Creating an Lstream\7f324371
+Node: Lstream Types\7f325598
+Node: Lstream Functions\7f325850
+Node: Lstream Methods\7f329416
+Node: Consoles; Devices; Frames; Windows\7f332558
+Node: Introduction to Consoles; Devices; Frames; Windows\7f332873
+Node: Point\7f335406
+Node: Window Hierarchy\7f336685
+Node: The Window Object\7f341137
+Node: The Redisplay Mechanism\7f344574
+Node: Critical Redisplay Sections\7f345366
+Node: Line Start Cache\7f346353
+Node: Redisplay Piece by Piece\7f349589
+Node: Extents\7f351626
+Node: Introduction to Extents\7f352160
+Node: Extent Ordering\7f353302
+Node: Format of the Extent Info\7f354543
+Node: Zero-Length Extents\7f356430
+Node: Mathematics of Extent Ordering\7f357830
+Node: Extent Fragments\7f362587
+Node: Faces\7f363673
+Node: Glyphs\7f363789
+Node: Specifiers\7f365976
+Node: Menus\7f366105
+Node: Subprocesses\7f368363
+Node: Interface to the X Window System\7f370349
+Node: Lucid Widget Library\7f370630
+Node: Generic Widget Interface\7f371921
+Node: Scrollbars\7f375480
+Node: Menubars\7f375623
+Node: Checkboxes and Radio Buttons\7f375766
+Node: Progress Bars\7f375952
+Node: Tab Controls\7f376112
+Node: Index\7f376233
\1f
End Tag Table
* Specifiers::
* Menus::
* Subprocesses::
-* Interface to X Windows::
+* Interface to the X Window System::
* Index::
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 `<config.h>' (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
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
\1f
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
\1f
Tag Table:
(Indirect)
Node: Top\7f2366
-Node: Copying\7f48665
-Node: Introduction\7f67823
-Node: Caveats\7f69414
-Node: Lisp History\7f71093
-Node: Conventions\7f72349
-Node: Some Terms\7f73164
-Node: nil and t\7f73885
-Node: Evaluation Notation\7f75562
-Node: Printing Notation\7f76475
-Node: Error Messages\7f77349
-Node: Buffer Text Notation\7f77790
-Node: Format of Descriptions\7f78665
-Node: A Sample Function Description\7f79519
-Node: A Sample Variable Description\7f83505
-Node: Acknowledgements\7f84413
-Node: Lisp Data Types\7f86391
-Node: Printed Representation\7f88946
-Node: Comments\7f90988
-Node: Primitive Types\7f91885
-Node: Programming Types\7f93544
-Node: Integer Type\7f95496
-Node: Floating Point Type\7f96533
-Node: Character Type\7f97152
-Node: Symbol Type\7f105056
-Node: Sequence Type\7f107751
-Node: Cons Cell Type\7f109270
-Node: Dotted Pair Notation\7f113754
-Node: Association List Type\7f115875
-Node: Array Type\7f116758
-Node: String Type\7f118224
-Node: Vector Type\7f120905
-Node: Bit Vector Type\7f121677
-Node: Function Type\7f122539
-Node: Macro Type\7f123652
-Node: Primitive Function Type\7f124349
-Node: Compiled-Function Type\7f125875
-Node: Autoload Type\7f126429
-Node: Char Table Type\7f127443
-Node: Hash Table Type\7f127617
-Node: Range Table Type\7f128772
-Node: Weak List Type\7f129625
-Node: Editing Types\7f129775
-Node: Buffer Type\7f131402
-Node: Marker Type\7f133429
-Node: Extent Type\7f134153
-Node: Window Type\7f135421
-Node: Frame Type\7f136832
-Node: Device Type\7f137627
-Node: Console Type\7f138453
-Node: Window Configuration Type\7f139654
-Node: Event Type\7f140352
-Node: Process Type\7f140516
-Node: Stream Type\7f141551
-Node: Keymap Type\7f142674
-Node: Syntax Table Type\7f143212
-Node: Display Table Type\7f144235
-Node: Database Type\7f144674
-Node: Charset Type\7f144840
-Node: Coding System Type\7f145004
-Node: ToolTalk Message Type\7f145188
-Node: ToolTalk Pattern Type\7f145387
-Node: Window-System Types\7f145559
-Node: Face Type\7f146705
-Node: Glyph Type\7f146836
-Node: Specifier Type\7f146992
-Node: Font Instance Type\7f147165
-Node: Color Instance Type\7f147355
-Node: Image Instance Type\7f147552
-Node: Toolbar Button Type\7f147750
-Node: Subwindow Type\7f147943
-Node: X Resource Type\7f148122
-Node: Type Predicates\7f148275
-Node: Equality Predicates\7f157404
-Node: Numbers\7f162215
-Node: Integer Basics\7f163670
-Node: Float Basics\7f166019
-Node: Predicates on Numbers\7f167761
-Node: Comparison of Numbers\7f169394
-Node: Numeric Conversions\7f173215
-Node: Arithmetic Operations\7f174681
-Node: Rounding Operations\7f180820
-Node: Bitwise Operations\7f181933
-Node: Math Functions\7f190979
-Node: Random Numbers\7f193512
-Node: Strings and Characters\7f195278
-Node: String Basics\7f196731
-Node: Predicates for Strings\7f199149
-Node: Creating Strings\7f199912
-Node: Predicates for Characters\7f205253
-Node: Character Codes\7f206324
-Node: Text Comparison\7f207744
-Node: String Conversion\7f211189
-Node: Modifying Strings\7f214859
-Node: String Properties\7f215500
-Node: Formatting Strings\7f216145
-Node: Character Case\7f225763
-Node: Case Tables\7f229317
-Node: Char Tables\7f233288
-Node: Char Table Types\7f234680
-Node: Working With Char Tables\7f236265
-Node: Lists\7f238282
-Node: Cons Cells\7f239405
-Node: Lists as Boxes\7f240741
-Node: List-related Predicates\7f243383
-Node: List Elements\7f245085
-Node: Building Lists\7f250114
-Node: Modifying Lists\7f256106
-Node: Setcar\7f256918
-Node: Setcdr\7f259349
-Node: Rearrangement\7f261870
-Node: Sets And Lists\7f267456
-Node: Association Lists\7f271684
-Ref: Association Lists-Footnote-1\7f280975
-Node: Property Lists\7f281180
-Node: Working With Normal Plists\7f282728
-Node: Working With Lax Plists\7f285065
-Node: Converting Plists To/From Alists\7f287345
-Node: Weak Lists\7f288693
-Node: Sequences Arrays Vectors\7f290856
-Node: Sequence Functions\7f293492
-Node: Arrays\7f297151
-Node: Array Functions\7f300215
-Node: Vectors\7f302748
-Node: Vector Functions\7f304246
-Node: Bit Vectors\7f306817
-Node: Bit Vector Functions\7f307662
-Node: Symbols\7f309961
-Node: Symbol Components\7f311010
-Node: Definitions\7f315183
-Node: Creating Symbols\7f317408
-Node: Symbol Properties\7f324442
-Node: Plists and Alists\7f325969
-Node: Object Plists\7f327718
-Node: Other Plists\7f330478
-Node: Evaluation\7f332277
-Node: Intro Eval\7f333082
-Ref: Intro Eval-Footnote-1\7f336435
-Node: Eval\7f336570
-Node: Forms\7f340988
-Node: Self-Evaluating Forms\7f342147
-Node: Symbol Forms\7f343660
-Node: Classifying Lists\7f344577
-Node: Function Indirection\7f345333
-Node: Function Forms\7f348432
-Node: Macro Forms\7f349429
-Node: Special Forms\7f351029
-Node: Autoloading\7f353338
-Node: Quoting\7f353836
-Node: Control Structures\7f355197
-Node: Sequencing\7f356817
-Node: Conditionals\7f359682
-Node: Combining Conditions\7f363105
-Node: Iteration\7f366375
-Node: Nonlocal Exits\7f368154
-Node: Catch and Throw\7f368856
-Node: Examples of Catch\7f372695
-Node: Errors\7f374714
-Node: Signaling Errors\7f376203
-Node: Processing of Errors\7f384950
-Node: Handling Errors\7f387229
-Node: Error Symbols\7f394470
-Node: Cleanups\7f398426
-Node: Variables\7f402204
-Node: Global Variables\7f403973
-Node: Constant Variables\7f405049
-Node: Local Variables\7f405675
-Node: Void Variables\7f410612
-Node: Defining Variables\7f414128
-Node: Accessing Variables\7f421292
-Node: Setting Variables\7f422717
-Node: Variable Scoping\7f427236
-Node: Scope\7f428835
-Node: Extent\7f430360
-Node: Impl of Scope\7f431839
-Node: Using Scoping\7f433802
-Node: Buffer-Local Variables\7f435324
-Node: Intro to Buffer-Local\7f436160
-Node: Creating Buffer-Local\7f438703
-Node: Default Value\7f444602
-Node: Variable Aliases\7f447745
-Node: Functions\7f449596
-Node: What Is a Function\7f450690
-Node: Lambda Expressions\7f454736
-Node: Lambda Components\7f455646
-Node: Simple Lambda\7f457478
-Node: Argument List\7f459135
-Node: Function Documentation\7f462863
-Node: Function Names\7f464805
-Node: Defining Functions\7f467378
-Node: Calling Functions\7f470418
-Node: Mapping Functions\7f474266
-Node: Anonymous Functions\7f476954
-Node: Function Cells\7f480199
-Node: Inline Functions\7f485017
-Node: Related Topics\7f486827
-Node: Macros\7f487880
-Node: Simple Macro\7f489164
-Node: Expansion\7f489899
-Node: Compiling Macros\7f492903
-Node: Defining Macros\7f494739
-Node: Backquote\7f496056
-Node: Problems with Macros\7f498453
-Node: Argument Evaluation\7f499148
-Node: Surprising Local Vars\7f502063
-Node: Eval During Expansion\7f504131
-Node: Repeated Expansion\7f505824
-Node: Customization\7f507740
-Node: Common Keywords\7f508209
-Node: Group Definitions\7f511054
-Node: Variable Definitions\7f513246
-Node: Customization Types\7f518236
-Node: Simple Types\7f519671
-Node: Composite Types\7f521828
-Node: Splicing into Lists\7f526518
-Node: Type Keywords\7f528353
-Node: Loading\7f531873
-Node: How Programs Do Loading\7f533548
-Node: Autoload\7f542674
-Node: Repeated Loading\7f548744
-Node: Named Features\7f550857
-Node: Unloading\7f557287
-Node: Hooks for Loading\7f559443
-Node: Byte Compilation\7f560160
-Node: Speed of Byte-Code\7f562077
-Node: Compilation Functions\7f563284
-Node: Docs and Compilation\7f569941
-Node: Dynamic Loading\7f572594
-Node: Eval During Compile\7f574958
-Node: Compiled-Function Objects\7f576223
-Node: Disassembly\7f581024
-Node: Debugging\7f588278
-Node: Debugger\7f589690
-Node: Error Debugging\7f590835
-Node: Infinite Loops\7f593588
-Node: Function Debugging\7f594832
-Node: Explicit Debug\7f597632
-Node: Using Debugger\7f598403
-Node: Debugger Commands\7f600265
-Node: Invoking the Debugger\7f604582
-Node: Internals of Debugger\7f608497
-Node: Syntax Errors\7f613384
-Node: Excess Open\7f614632
-Node: Excess Close\7f616507
-Node: Compilation Errors\7f617928
-Node: Edebug\7f619216
-Node: Using Edebug\7f621324
-Node: Instrumenting\7f624021
-Node: Edebug Execution Modes\7f627510
-Node: Jumping\7f630620
-Node: Edebug Misc\7f632963
-Node: Breakpoints\7f634352
-Node: Global Break Condition\7f637158
-Node: Embedded Breakpoints\7f638113
-Node: Trapping Errors\7f639068
-Node: Edebug Views\7f641144
-Node: Edebug Eval\7f643109
-Node: Eval List\7f644286
-Node: Reading in Edebug\7f647671
-Node: Printing in Edebug\7f648470
-Node: Tracing\7f650185
-Node: Coverage Testing\7f652073
-Node: The Outside Context\7f654114
-Node: Checking Whether to Stop\7f655063
-Node: Edebug Display Update\7f655710
-Node: Edebug Recursive Edit\7f657733
-Node: Instrumenting Macro Calls\7f659388
-Node: Specification List\7f661870
-Node: Backtracking\7f671281
-Node: Debugging Backquote\7f673219
-Node: Specification Examples\7f676925
-Node: Edebug Options\7f678992
-Node: Read and Print\7f684331
-Node: Streams Intro\7f685308
-Node: Input Streams\7f687326
-Node: Input Functions\7f692227
-Node: Output Streams\7f694287
-Node: Output Functions\7f698338
-Node: Output Variables\7f702638
-Node: Minibuffers\7f707439
-Node: Intro to Minibuffers\7f708591
-Node: Text from Minibuffer\7f710779
-Node: Object from Minibuffer\7f715873
-Node: Minibuffer History\7f719966
-Node: Completion\7f722945
-Node: Basic Completion\7f724920
-Node: Minibuffer Completion\7f729803
-Node: Completion Commands\7f733380
-Node: High-Level Completion\7f738037
-Node: Reading File Names\7f742786
-Node: Programmed Completion\7f746478
-Node: Yes-or-No Queries\7f748860
-Node: Multiple Queries\7f754597
-Node: Reading a Password\7f758664
-Node: Minibuffer Misc\7f760007
-Node: Command Loop\7f764887
-Node: Command Overview\7f766231
-Node: Defining Commands\7f769509
-Node: Using Interactive\7f770257
-Node: Interactive Codes\7f775030
-Node: Interactive Examples\7f780822
-Node: Interactive Call\7f782136
-Node: Command Loop Info\7f787551
-Node: Events\7f792530
-Node: Event Types\7f793991
-Node: Event Contents\7f795914
-Node: Event Predicates\7f800390
-Node: Accessing Mouse Event Positions\7f801708
-Node: Frame-Level Event Position Info\7f802407
-Node: Window-Level Event Position Info\7f803447
-Node: Event Text Position Info\7f805211
-Node: Event Glyph Position Info\7f807703
-Node: Event Toolbar Position Info\7f809026
-Node: Other Event Position Info\7f809697
-Node: Accessing Other Event Info\7f810106
-Node: Working With Events\7f811726
-Node: Converting Events\7f817727
-Node: Reading Input\7f821126
-Node: Key Sequence Input\7f822128
-Node: Reading One Event\7f824763
-Node: Dispatching an Event\7f827587
-Node: Quoted Character Input\7f828038
-Node: Peeking and Discarding\7f829386
-Node: Waiting\7f833290
-Node: Quitting\7f835604
-Node: Prefix Command Arguments\7f840012
-Node: Recursive Editing\7f845099
-Node: Disabling Commands\7f849894
-Node: Command History\7f851962
-Node: Keyboard Macros\7f853699
-Node: Keymaps\7f855916
-Node: Keymap Terminology\7f857493
-Node: Format of Keymaps\7f860422
-Node: Creating Keymaps\7f860833
-Node: Inheritance and Keymaps\7f862913
-Node: Key Sequences\7f865285
-Node: Prefix Keys\7f870081
-Node: Active Keymaps\7f873666
-Node: Key Lookup\7f883037
-Node: Functions for Key Lookup\7f888200
-Node: Changing Key Bindings\7f893901
-Node: Key Binding Commands\7f901063
-Node: Scanning Keymaps\7f903128
-Node: Other Keymap Functions\7f911696
-Node: Menus\7f912318
-Node: Menu Format\7f912910
-Node: Menubar Format\7f921556
-Node: Menubar\7f922181
-Node: Modifying Menus\7f925294
-Node: Menu Filters\7f930638
-Node: Pop-Up Menus\7f932534
-Node: Menu Accelerators\7f934862
-Node: Creating Menu Accelerators\7f935618
-Node: Keyboard Menu Traversal\7f936978
-Node: Menu Accelerator Functions\7f937705
-Node: Buffers Menu\7f940781
-Node: Dialog Boxes\7f942075
-Node: Dialog Box Format\7f942242
-Node: Dialog Box Functions\7f943667
-Node: Toolbar\7f944064
-Node: Toolbar Intro\7f944499
-Node: Creating Toolbar\7f946899
-Node: Toolbar Descriptor Format\7f947816
-Node: Specifying the Toolbar\7f952313
-Node: Other Toolbar Variables\7f955920
-Node: Gutter\7f960348
-Node: Gutter Intro\7f960937
-Node: Creating Gutter\7f962940
-Node: Gutter Descriptor Format\7f965827
-Node: Specifying a Gutter\7f970284
-Node: Other Gutter Variables\7f973819
-Node: Common Gutter Widgets\7f978206
-Node: Buffer Tabs\7f979198
-Node: Progress Bars\7f979339
-Node: Scrollbars\7f979484
-Node: Drag and Drop\7f979619
-Node: Supported Protocols\7f980695
-Node: OffiX DND\7f981198
-Node: CDE dt\7f982205
-Node: MSWindows OLE\7f982796
-Node: Loose ends\7f982967
-Node: Drop Interface\7f983359
-Node: Drag Interface\7f984381
-Node: Modes\7f984555
-Node: Major Modes\7f985506
-Node: Major Mode Conventions\7f988421
-Node: Example Major Modes\7f994376
-Node: Auto Major Mode\7f1002409
-Node: Mode Help\7f1009857
-Node: Derived Modes\7f1010958
-Node: Minor Modes\7f1013149
-Node: Minor Mode Conventions\7f1014451
-Node: Keymaps and Minor Modes\7f1017314
-Node: Modeline Format\7f1018149
-Node: Modeline Data\7f1019917
-Node: Modeline Variables\7f1025070
-Node: %-Constructs\7f1029786
-Node: Hooks\7f1032773
-Node: Documentation\7f1039533
-Node: Documentation Basics\7f1040956
-Node: Accessing Documentation\7f1044006
-Node: Keys in Documentation\7f1050287
-Node: Describing Characters\7f1053770
-Node: Help Functions\7f1056119
-Node: Obsoleteness\7f1062569
-Node: Files\7f1065561
-Node: Visiting Files\7f1067486
-Node: Visiting Functions\7f1068991
-Node: Subroutines of Visiting\7f1074149
-Node: Saving Buffers\7f1076222
-Node: Reading from Files\7f1082315
-Node: Writing to Files\7f1084476
-Node: File Locks\7f1087193
-Node: Information about Files\7f1090260
-Node: Testing Accessibility\7f1091021
-Node: Kinds of Files\7f1094761
-Node: Truenames\7f1096442
-Node: File Attributes\7f1097444
-Node: Changing File Attributes\7f1102583
-Node: File Names\7f1108005
-Node: File Name Components\7f1109578
-Node: Directory Names\7f1112023
-Node: Relative File Names\7f1115253
-Node: File Name Expansion\7f1116223
-Node: Unique File Names\7f1119977
-Node: File Name Completion\7f1121592
-Node: User Name Completion\7f1124860
-Node: Contents of Directories\7f1126267
-Node: Create/Delete Dirs\7f1129580
-Node: Magic File Names\7f1130686
-Node: Partial Files\7f1136334
-Node: Intro to Partial Files\7f1136562
-Node: Creating a Partial File\7f1137802
-Node: Detached Partial Files\7f1138738
-Node: Format Conversion\7f1139860
-Node: Files and MS-DOS\7f1145358
-Node: Backups and Auto-Saving\7f1147422
-Node: Backup Files\7f1148097
-Node: Making Backups\7f1149494
-Node: Rename or Copy\7f1152243
-Node: Numbered Backups\7f1154736
-Node: Backup Names\7f1156971
-Node: Auto-Saving\7f1160263
-Node: Reverting\7f1168424
-Node: Buffers\7f1171759
-Node: Buffer Basics\7f1173175
-Node: Current Buffer\7f1175228
-Node: Buffer Names\7f1179932
-Node: Buffer File Name\7f1183139
-Node: Buffer Modification\7f1187258
-Node: Modification Time\7f1189501
-Node: Read Only Buffers\7f1192876
-Node: The Buffer List\7f1196115
-Node: Creating Buffers\7f1200932
-Node: Killing Buffers\7f1203078
-Node: Indirect Buffers\7f1206910
-Node: Windows\7f1209484
-Node: Basic Windows\7f1210962
-Node: Splitting Windows\7f1214060
-Node: Deleting Windows\7f1219386
-Node: Selecting Windows\7f1223304
-Node: Cyclic Window Ordering\7f1227527
-Node: Buffers and Windows\7f1232682
-Node: Displaying Buffers\7f1234460
-Node: Choosing Window\7f1239799
-Node: Window Point\7f1247717
-Node: Window Start\7f1249787
-Node: Vertical Scrolling\7f1254586
-Node: Horizontal Scrolling\7f1260784
-Node: Size of Window\7f1264313
-Node: Position of Window\7f1269031
-Node: Resizing Windows\7f1271284
-Node: Window Configurations\7f1276722
-Node: Frames\7f1280219
-Node: Creating Frames\7f1282560
-Node: Frame Properties\7f1283900
-Node: Property Access\7f1284716
-Node: Initial Properties\7f1285623
-Node: X Frame Properties\7f1288109
-Node: Size and Position\7f1292743
-Node: Frame Name\7f1294741
-Node: Frame Titles\7f1295655
-Node: Deleting Frames\7f1297479
-Node: Finding All Frames\7f1298454
-Node: Frames and Windows\7f1301682
-Node: Minibuffers and Frames\7f1304464
-Node: Input Focus\7f1305382
-Node: Visibility of Frames\7f1308487
-Node: Raising and Lowering\7f1310477
-Node: Frame Configurations\7f1312853
-Node: Frame Hooks\7f1313910
-Node: Consoles and Devices\7f1315715
-Node: Basic Console Functions\7f1318458
-Node: Basic Device Functions\7f1318881
-Node: Console Types and Device Classes\7f1319727
-Node: Connecting to a Console or Device\7f1321994
-Node: The Selected Console and Device\7f1324178
-Node: Console and Device I/O\7f1325204
-Node: Positions\7f1325968
-Node: Point\7f1326937
-Node: Motion\7f1330027
-Node: Character Motion\7f1330794
-Node: Word Motion\7f1333031
-Node: Buffer End Motion\7f1334532
-Node: Text Lines\7f1336069
-Node: Screen Lines\7f1340970
-Node: List Motion\7f1345033
-Node: Skipping Characters\7f1348515
-Node: Excursions\7f1350734
-Node: Narrowing\7f1353774
-Node: Markers\7f1359105
-Node: Overview of Markers\7f1360011
-Node: Predicates on Markers\7f1364703
-Node: Creating Markers\7f1365949
-Node: Information from Markers\7f1370149
-Node: Changing Markers\7f1371247
-Node: The Mark\7f1372775
-Node: The Region\7f1381278
-Node: Text\7f1386964
-Node: Near Point\7f1389663
-Node: Buffer Contents\7f1393850
-Node: Comparing Text\7f1395256
-Node: Insertion\7f1396664
-Node: Commands for Insertion\7f1400574
-Node: Deletion\7f1403468
-Node: User-Level Deletion\7f1407062
-Node: The Kill Ring\7f1411222
-Node: Kill Ring Concepts\7f1413396
-Node: Kill Functions\7f1414450
-Node: Yank Commands\7f1416373
-Node: Low-Level Kill Ring\7f1418244
-Node: Internals of Kill Ring\7f1421330
-Node: Undo\7f1424110
-Node: Maintaining Undo\7f1428447
-Node: Filling\7f1431065
-Node: Margins\7f1437059
-Node: Auto Filling\7f1441082
-Node: Sorting\7f1442263
-Node: Columns\7f1451577
-Node: Indentation\7f1454658
-Node: Primitive Indent\7f1455437
-Node: Mode-Specific Indent\7f1456762
-Node: Region Indent\7f1459294
-Node: Relative Indent\7f1462241
-Node: Indent Tabs\7f1464623
-Node: Motion by Indent\7f1465944
-Node: Case Changes\7f1466723
-Node: Text Properties\7f1470076
-Node: Examining Properties\7f1471889
-Node: Changing Properties\7f1473772
-Node: Property Search\7f1477363
-Node: Special Properties\7f1482082
-Node: Saving Properties\7f1482363
-Node: Substitution\7f1485505
-Node: Registers\7f1488775
-Node: Transposition\7f1491358
-Node: Change Hooks\7f1492252
-Node: Transformations\7f1494292
-Node: Searching and Matching\7f1499396
-Node: String Search\7f1500527
-Node: Regular Expressions\7f1505508
-Node: Syntax of Regexps\7f1506875
-Node: Regexp Example\7f1521478
-Node: Regexp Search\7f1523648
-Node: POSIX Regexps\7f1529979
-Node: Search and Replace\7f1532056
-Node: Match Data\7f1535421
-Node: Simple Match Data\7f1536551
-Node: Replacing Match\7f1540816
-Node: Entire Match Data\7f1543497
-Node: Saving Match Data\7f1545735
-Node: Searching and Case\7f1547123
-Node: Standard Regexps\7f1549157
-Node: Syntax Tables\7f1551355
-Node: Syntax Basics\7f1552469
-Node: Syntax Descriptors\7f1555441
-Node: Syntax Class Table\7f1557291
-Node: Syntax Flags\7f1563329
-Node: Syntax Table Functions\7f1566546
-Node: Motion and Syntax\7f1570834
-Node: Parsing Expressions\7f1572286
-Node: Standard Syntax Tables\7f1578355
-Node: Syntax Table Internals\7f1579199
-Node: Abbrevs\7f1580225
-Node: Abbrev Mode\7f1582028
-Node: Abbrev Tables\7f1582748
-Node: Defining Abbrevs\7f1584287
-Node: Abbrev Files\7f1586208
-Node: Abbrev Expansion\7f1587991
-Node: Standard Abbrev Tables\7f1592622
-Node: Extents\7f1593781
-Node: Intro to Extents\7f1595024
-Node: Creating and Modifying Extents\7f1599016
-Node: Extent Endpoints\7f1600597
-Node: Finding Extents\7f1603860
-Node: Mapping Over Extents\7f1607982
-Node: Extent Properties\7f1614105
-Node: Detached Extents\7f1624266
-Node: Extent Parents\7f1626125
-Node: Duplicable Extents\7f1627819
-Node: Extents and Events\7f1631040
-Node: Atomic Extents\7f1632947
-Node: Specifiers\7f1633394
-Node: Introduction to Specifiers\7f1635507
-Node: Specifiers In-Depth\7f1637817
-Node: Specifier Instancing\7f1642729
-Node: Specifier Types\7f1645991
-Node: Adding Specifications\7f1651065
-Node: Retrieving Specifications\7f1660486
-Node: Specifier Tag Functions\7f1664231
-Node: Specifier Instancing Functions\7f1667465
-Node: Specifier Example\7f1670872
-Node: Creating Specifiers\7f1674028
-Node: Specifier Validation Functions\7f1678345
-Node: Other Specification Functions\7f1680731
-Node: Faces and Window-System Objects\7f1684552
-Node: Faces\7f1684876
-Node: Merging Faces\7f1686493
-Node: Basic Face Functions\7f1688454
-Node: Face Properties\7f1690602
-Node: Face Convenience Functions\7f1700875
-Node: Other Face Display Functions\7f1704095
-Node: Fonts\7f1704907
-Node: Font Specifiers\7f1705608
-Node: Font Instances\7f1706793
-Node: Font Instance Names\7f1707760
-Node: Font Instance Size\7f1708601
-Node: Font Instance Characteristics\7f1709887
-Node: Font Convenience Functions\7f1711065
-Node: Colors\7f1712355
-Node: Color Specifiers\7f1712795
-Node: Color Instances\7f1715155
-Node: Color Instance Properties\7f1715899
-Node: Color Convenience Functions\7f1716525
-Node: Glyphs\7f1717578
-Node: Glyph Functions\7f1719179
-Node: Creating Glyphs\7f1719586
-Node: Glyph Properties\7f1732226
-Node: Glyph Convenience Functions\7f1741393
-Node: Glyph Dimensions\7f1745340
-Node: Images\7f1746420
-Node: Image Specifiers\7f1746869
-Node: Image Instantiator Conversion\7f1762360
-Node: Image Instances\7f1763725
-Node: Image Instance Types\7f1764476
-Node: Image Instance Functions\7f1767241
-Node: Glyph Types\7f1774298
-Node: Mouse Pointer\7f1776070
-Node: Redisplay Glyphs\7f1779073
-Node: Subwindows\7f1780106
-Node: Annotations\7f1780349
-Node: Annotation Basics\7f1781365
-Node: Annotation Primitives\7f1785303
-Node: Annotation Properties\7f1786642
-Node: Locating Annotations\7f1789682
-Node: Margin Primitives\7f1790519
-Node: Annotation Hooks\7f1792413
-Node: Display\7f1793073
-Node: Refresh Screen\7f1794051
-Node: Truncation\7f1796245
-Node: The Echo Area\7f1798770
-Node: Warnings\7f1805207
-Node: Invisible Text\7f1809643
-Node: Selective Display\7f1812222
-Node: Overlay Arrow\7f1816348
-Node: Temporary Displays\7f1817701
-Node: Blinking\7f1821822
-Node: Usual Display\7f1824006
-Node: Display Tables\7f1826555
-Node: Display Table Format\7f1827359
-Node: Active Display Table\7f1828801
-Node: Character Descriptors\7f1832796
-Node: Beeping\7f1833553
-Node: Hash Tables\7f1838319
-Node: Introduction to Hash Tables\7f1838927
-Node: Working With Hash Tables\7f1845486
-Node: Weak Hash Tables\7f1846603
-Node: Range Tables\7f1848620
-Node: Introduction to Range Tables\7f1849309
-Node: Working With Range Tables\7f1849755
-Node: Databases\7f1850714
-Node: Connecting to a Database\7f1851013
-Node: Working With a Database\7f1852120
-Node: Other Database Functions\7f1852994
-Node: Processes\7f1853563
-Node: Subprocess Creation\7f1855787
-Node: Synchronous Processes\7f1859238
-Node: MS-DOS Subprocesses\7f1865960
-Node: Asynchronous Processes\7f1867034
-Node: Deleting Processes\7f1871391
-Node: Process Information\7f1873262
-Node: Input to Processes\7f1877354
-Node: Signals to Processes\7f1880049
-Node: Output from Processes\7f1884864
-Node: Process Buffers\7f1885676
-Node: Filter Functions\7f1888555
-Node: Accepting Output\7f1894146
-Node: Sentinels\7f1895673
-Node: Process Window Size\7f1899163
-Node: Transaction Queues\7f1899512
-Node: Network\7f1901210
-Node: System Interface\7f1903844
-Node: Starting Up\7f1905114
-Node: Start-up Summary\7f1905708
-Node: Init File\7f1909262
-Node: Terminal-Specific\7f1911643
-Node: Command Line Arguments\7f1914802
-Node: Getting Out\7f1918291
-Node: Killing XEmacs\7f1918860
-Node: Suspending XEmacs\7f1920528
-Node: System Environment\7f1923907
-Node: User Identification\7f1930088
-Node: Time of Day\7f1933617
-Node: Time Conversion\7f1936404
-Node: Timers\7f1941646
-Node: Terminal Input\7f1943819
-Node: Input Modes\7f1944322
-Node: Translating Input\7f1946781
-Node: Recording Input\7f1950946
-Node: Terminal Output\7f1953046
-Node: Flow Control\7f1956667
-Node: Batch Mode\7f1960629
-Node: X-Windows\7f1962011
-Node: X Selections\7f1962882
-Node: X Server\7f1965633
-Node: Resources\7f1966084
-Node: Server Data\7f1971395
-Node: Grabs\7f1972602
-Node: X Miscellaneous\7f1974182
-Node: ToolTalk Support\7f1976567
-Node: XEmacs ToolTalk API Summary\7f1976784
-Node: Sending Messages\7f1978084
-Node: Example of Sending Messages\7f1978335
-Node: Elisp Interface for Sending Messages\7f1979397
-Node: Receiving Messages\7f1985993
-Node: Example of Receiving Messages\7f1986216
-Node: Elisp Interface for Receiving Messages\7f1987052
-Node: LDAP Support\7f1990909
-Node: Building XEmacs with LDAP support\7f1991403
-Node: XEmacs LDAP API\7f1992380
-Node: LDAP Variables\7f1993432
-Node: The High-Level LDAP API\7f1996032
-Node: The Low-Level LDAP API\7f1999505
-Node: The LDAP Lisp Object\7f2000336
-Node: Opening and Closing a LDAP Connection\7f2000891
-Node: Low-level Operations on a LDAP Server\7f2002697
-Node: LDAP Internationalization\7f2005421
-Node: LDAP Internationalization Variables\7f2006326
-Node: Encoder/Decoder Functions\7f2008057
-Node: Syntax of Search Filters\7f2009094
-Node: PostgreSQL Support\7f2010392
-Node: Building XEmacs with PostgreSQL support\7f2010787
-Node: XEmacs PostgreSQL libpq API\7f2012134
-Node: libpq Lisp Variables\7f2014013
-Node: libpq Lisp Symbols and DataTypes\7f2016977
-Node: Synchronous Interface Functions\7f2030217
-Node: Asynchronous Interface Functions\7f2034708
-Node: Large Object Support\7f2038213
-Node: Other libpq Functions\7f2038840
-Node: Unimplemented libpq Functions\7f2041875
-Node: XEmacs PostgreSQL libpq Examples\7f2047194
-Node: Internationalization\7f2053285
-Node: I18N Levels 1 and 2\7f2053628
-Node: I18N Level 3\7f2054334
-Node: Level 3 Basics\7f2054615
-Node: Level 3 Primitives\7f2055448
-Node: Dynamic Messaging\7f2057054
-Node: Domain Specification\7f2057517
-Node: Documentation String Extraction\7f2059187
-Node: I18N Level 4\7f2060105
-Node: MULE\7f2060297
-Node: Internationalization Terminology\7f2061346
-Node: Charsets\7f2073545
-Node: Charset Properties\7f2074241
-Node: Basic Charset Functions\7f2078956
-Node: Charset Property Functions\7f2081137
-Node: Predefined Charsets\7f2083207
-Node: MULE Characters\7f2086127
-Node: Composite Characters\7f2087002
-Node: Coding Systems\7f2088269
-Node: Coding System Types\7f2090409
-Node: ISO 2022\7f2094393
-Node: EOL Conversion\7f2106668
-Node: Coding System Properties\7f2107840
-Node: Basic Coding System Functions\7f2112163
-Node: Coding System Property Functions\7f2114197
-Node: Encoding and Decoding Text\7f2114755
-Node: Detection of Textual Encoding\7f2115891
-Node: Big5 and Shift-JIS Functions\7f2117427
-Node: Predefined Coding Systems\7f2118579
-Node: CCL\7f2130673
-Node: CCL Syntax\7f2133777
-Node: CCL Statements\7f2135353
-Node: CCL Expressions\7f2140001
-Node: Calling CCL\7f2142540
-Node: CCL Examples\7f2145545
-Node: Category Tables\7f2145682
-Node: Tips\7f2148041
-Node: Style Tips\7f2148682
-Node: Compilation Tips\7f2158201
-Node: Documentation Tips\7f2160115
-Node: Comment Tips\7f2165624
-Node: Library Headers\7f2168626
-Node: Building XEmacs and Object Allocation\7f2172598
-Node: Building XEmacs\7f2173481
-Node: Pure Storage\7f2180059
-Node: Garbage Collection\7f2182847
-Node: Standard Errors\7f2193690
-Node: Standard Buffer-Local Variables\7f2197899
-Node: Standard Keymaps\7f2200532
-Node: Standard Hooks\7f2204266
-Node: Index\7f2211766
+Node: Copying\7f49116
+Node: Introduction\7f68274
+Node: Caveats\7f69865
+Node: Lisp History\7f71544
+Node: Conventions\7f72800
+Node: Some Terms\7f73615
+Node: nil and t\7f74336
+Node: Evaluation Notation\7f76013
+Node: Printing Notation\7f76926
+Node: Error Messages\7f77800
+Node: Buffer Text Notation\7f78241
+Node: Format of Descriptions\7f79116
+Node: A Sample Function Description\7f79970
+Node: A Sample Variable Description\7f83956
+Node: Acknowledgements\7f84864
+Node: Lisp Data Types\7f86842
+Node: Printed Representation\7f89397
+Node: Comments\7f91439
+Node: Primitive Types\7f92336
+Node: Programming Types\7f93995
+Node: Integer Type\7f95947
+Node: Floating Point Type\7f96984
+Node: Character Type\7f97603
+Node: Symbol Type\7f105507
+Node: Sequence Type\7f108202
+Node: Cons Cell Type\7f109721
+Node: Dotted Pair Notation\7f114205
+Node: Association List Type\7f116326
+Node: Array Type\7f117209
+Node: String Type\7f118675
+Node: Vector Type\7f121356
+Node: Bit Vector Type\7f122128
+Node: Function Type\7f122990
+Node: Macro Type\7f124103
+Node: Primitive Function Type\7f124800
+Node: Compiled-Function Type\7f126326
+Node: Autoload Type\7f126880
+Node: Char Table Type\7f127894
+Node: Hash Table Type\7f128068
+Node: Range Table Type\7f129223
+Node: Weak List Type\7f130076
+Node: Editing Types\7f130226
+Node: Buffer Type\7f131853
+Node: Marker Type\7f133880
+Node: Extent Type\7f134604
+Node: Window Type\7f135872
+Node: Frame Type\7f137283
+Node: Device Type\7f138078
+Node: Console Type\7f138904
+Node: Window Configuration Type\7f140105
+Node: Event Type\7f140803
+Node: Process Type\7f140967
+Node: Stream Type\7f142002
+Node: Keymap Type\7f143125
+Node: Syntax Table Type\7f143663
+Node: Display Table Type\7f144686
+Node: Database Type\7f145125
+Node: Charset Type\7f145291
+Node: Coding System Type\7f145455
+Node: ToolTalk Message Type\7f145639
+Node: ToolTalk Pattern Type\7f145838
+Node: Window-System Types\7f146010
+Node: Face Type\7f147156
+Node: Glyph Type\7f147287
+Node: Specifier Type\7f147443
+Node: Font Instance Type\7f147616
+Node: Color Instance Type\7f147806
+Node: Image Instance Type\7f148003
+Node: Toolbar Button Type\7f148201
+Node: Subwindow Type\7f148394
+Node: X Resource Type\7f148573
+Node: Type Predicates\7f148726
+Node: Equality Predicates\7f157855
+Node: Numbers\7f162666
+Node: Integer Basics\7f164121
+Node: Float Basics\7f166470
+Node: Predicates on Numbers\7f168212
+Node: Comparison of Numbers\7f169845
+Node: Numeric Conversions\7f173666
+Node: Arithmetic Operations\7f175132
+Node: Rounding Operations\7f181271
+Node: Bitwise Operations\7f182384
+Node: Math Functions\7f191430
+Node: Random Numbers\7f193963
+Node: Strings and Characters\7f195729
+Node: String Basics\7f197182
+Node: Predicates for Strings\7f199600
+Node: Creating Strings\7f200363
+Node: Predicates for Characters\7f205704
+Node: Character Codes\7f206775
+Node: Text Comparison\7f208195
+Node: String Conversion\7f211640
+Node: Modifying Strings\7f215310
+Node: String Properties\7f215951
+Node: Formatting Strings\7f216596
+Node: Character Case\7f226214
+Node: Case Tables\7f229768
+Node: Char Tables\7f233739
+Node: Char Table Types\7f235131
+Node: Working With Char Tables\7f236716
+Node: Lists\7f238733
+Node: Cons Cells\7f239856
+Node: Lists as Boxes\7f241192
+Node: List-related Predicates\7f243834
+Node: List Elements\7f245536
+Node: Building Lists\7f250565
+Node: Modifying Lists\7f256557
+Node: Setcar\7f257369
+Node: Setcdr\7f259800
+Node: Rearrangement\7f262321
+Node: Sets And Lists\7f267907
+Node: Association Lists\7f272135
+Ref: Association Lists-Footnote-1\7f281426
+Node: Property Lists\7f281631
+Node: Working With Normal Plists\7f283179
+Node: Working With Lax Plists\7f285516
+Node: Converting Plists To/From Alists\7f287796
+Node: Weak Lists\7f289144
+Node: Sequences Arrays Vectors\7f291307
+Node: Sequence Functions\7f293943
+Node: Arrays\7f297602
+Node: Array Functions\7f300666
+Node: Vectors\7f303199
+Node: Vector Functions\7f304697
+Node: Bit Vectors\7f307268
+Node: Bit Vector Functions\7f308113
+Node: Symbols\7f310412
+Node: Symbol Components\7f311461
+Node: Definitions\7f315644
+Node: Creating Symbols\7f317869
+Node: Symbol Properties\7f324903
+Node: Plists and Alists\7f326430
+Node: Object Plists\7f328179
+Node: Other Plists\7f330939
+Node: Evaluation\7f332738
+Node: Intro Eval\7f333543
+Ref: Intro Eval-Footnote-1\7f336896
+Node: Eval\7f337031
+Node: Forms\7f341449
+Node: Self-Evaluating Forms\7f342608
+Node: Symbol Forms\7f344121
+Node: Classifying Lists\7f345038
+Node: Function Indirection\7f345794
+Node: Function Forms\7f348893
+Node: Macro Forms\7f349890
+Node: Special Forms\7f351490
+Node: Autoloading\7f353799
+Node: Quoting\7f354297
+Node: Control Structures\7f355658
+Node: Sequencing\7f357278
+Node: Conditionals\7f360143
+Node: Combining Conditions\7f363566
+Node: Iteration\7f366836
+Node: Nonlocal Exits\7f368615
+Node: Catch and Throw\7f369317
+Node: Examples of Catch\7f373156
+Node: Errors\7f375175
+Node: Signaling Errors\7f376664
+Node: Processing of Errors\7f385411
+Node: Handling Errors\7f387690
+Node: Error Symbols\7f394931
+Node: Cleanups\7f398887
+Node: Variables\7f402665
+Node: Global Variables\7f404434
+Node: Constant Variables\7f405510
+Node: Local Variables\7f406136
+Node: Void Variables\7f411073
+Node: Defining Variables\7f414589
+Node: Accessing Variables\7f421753
+Node: Setting Variables\7f423178
+Node: Variable Scoping\7f427697
+Node: Scope\7f429296
+Node: Extent\7f430821
+Node: Impl of Scope\7f432300
+Node: Using Scoping\7f434263
+Node: Buffer-Local Variables\7f435785
+Node: Intro to Buffer-Local\7f436621
+Node: Creating Buffer-Local\7f439164
+Node: Default Value\7f445063
+Node: Variable Aliases\7f448206
+Node: Functions\7f450057
+Node: What Is a Function\7f451151
+Node: Lambda Expressions\7f455197
+Node: Lambda Components\7f456107
+Node: Simple Lambda\7f457939
+Node: Argument List\7f459596
+Node: Function Documentation\7f463324
+Node: Function Names\7f465266
+Node: Defining Functions\7f467839
+Node: Calling Functions\7f470879
+Node: Mapping Functions\7f474727
+Node: Anonymous Functions\7f477415
+Node: Function Cells\7f480660
+Node: Inline Functions\7f485478
+Node: Related Topics\7f487288
+Node: Macros\7f488341
+Node: Simple Macro\7f489625
+Node: Expansion\7f490360
+Node: Compiling Macros\7f493364
+Node: Defining Macros\7f495200
+Node: Backquote\7f496517
+Node: Problems with Macros\7f498914
+Node: Argument Evaluation\7f499609
+Node: Surprising Local Vars\7f502524
+Node: Eval During Expansion\7f504592
+Node: Repeated Expansion\7f506285
+Node: Customization\7f508201
+Node: Common Keywords\7f508670
+Node: Group Definitions\7f511515
+Node: Variable Definitions\7f513707
+Node: Customization Types\7f518697
+Node: Simple Types\7f520132
+Node: Composite Types\7f522289
+Node: Splicing into Lists\7f526979
+Node: Type Keywords\7f528814
+Node: Loading\7f532334
+Node: How Programs Do Loading\7f534009
+Node: Autoload\7f543135
+Node: Repeated Loading\7f549205
+Node: Named Features\7f551318
+Node: Unloading\7f557748
+Node: Hooks for Loading\7f559904
+Node: Byte Compilation\7f560621
+Node: Speed of Byte-Code\7f562614
+Node: Compilation Functions\7f563821
+Node: Docs and Compilation\7f570478
+Node: Dynamic Loading\7f573131
+Node: Eval During Compile\7f575495
+Node: Compiled-Function Objects\7f576760
+Node: Disassembly\7f581561
+Node: Different Behavior\7f588842
+Node: Debugging\7f590187
+Node: Debugger\7f591599
+Node: Error Debugging\7f592744
+Node: Infinite Loops\7f595497
+Node: Function Debugging\7f596741
+Node: Explicit Debug\7f599541
+Node: Using Debugger\7f600312
+Node: Debugger Commands\7f602174
+Node: Invoking the Debugger\7f606491
+Node: Internals of Debugger\7f610406
+Node: Syntax Errors\7f615293
+Node: Excess Open\7f616541
+Node: Excess Close\7f618416
+Node: Compilation Errors\7f619837
+Node: Edebug\7f621125
+Node: Using Edebug\7f623233
+Node: Instrumenting\7f625930
+Node: Edebug Execution Modes\7f629419
+Node: Jumping\7f632529
+Node: Edebug Misc\7f634872
+Node: Breakpoints\7f636261
+Node: Global Break Condition\7f639067
+Node: Embedded Breakpoints\7f640022
+Node: Trapping Errors\7f640977
+Node: Edebug Views\7f643053
+Node: Edebug Eval\7f645018
+Node: Eval List\7f646195
+Node: Reading in Edebug\7f649580
+Node: Printing in Edebug\7f650379
+Node: Tracing\7f652094
+Node: Coverage Testing\7f653982
+Node: The Outside Context\7f656023
+Node: Checking Whether to Stop\7f656972
+Node: Edebug Display Update\7f657619
+Node: Edebug Recursive Edit\7f659642
+Node: Instrumenting Macro Calls\7f661297
+Node: Specification List\7f663779
+Node: Backtracking\7f673190
+Node: Debugging Backquote\7f675128
+Node: Specification Examples\7f678834
+Node: Edebug Options\7f680901
+Node: Read and Print\7f686240
+Node: Streams Intro\7f687217
+Node: Input Streams\7f689235
+Node: Input Functions\7f694136
+Node: Output Streams\7f696196
+Node: Output Functions\7f700247
+Node: Output Variables\7f704547
+Node: Minibuffers\7f709348
+Node: Intro to Minibuffers\7f710500
+Node: Text from Minibuffer\7f712688
+Node: Object from Minibuffer\7f717782
+Node: Minibuffer History\7f721875
+Node: Completion\7f724854
+Node: Basic Completion\7f726829
+Node: Minibuffer Completion\7f731712
+Node: Completion Commands\7f735289
+Node: High-Level Completion\7f739946
+Node: Reading File Names\7f744695
+Node: Programmed Completion\7f748387
+Node: Yes-or-No Queries\7f750769
+Node: Multiple Queries\7f756506
+Node: Reading a Password\7f760573
+Node: Minibuffer Misc\7f761916
+Node: Command Loop\7f766796
+Node: Command Overview\7f768140
+Node: Defining Commands\7f771418
+Node: Using Interactive\7f772166
+Node: Interactive Codes\7f776939
+Node: Interactive Examples\7f782731
+Node: Interactive Call\7f784045
+Node: Command Loop Info\7f789460
+Node: Events\7f794439
+Node: Event Types\7f795900
+Node: Event Contents\7f797823
+Node: Event Predicates\7f802299
+Node: Accessing Mouse Event Positions\7f803617
+Node: Frame-Level Event Position Info\7f804316
+Node: Window-Level Event Position Info\7f805356
+Node: Event Text Position Info\7f807120
+Node: Event Glyph Position Info\7f809612
+Node: Event Toolbar Position Info\7f810935
+Node: Other Event Position Info\7f811606
+Node: Accessing Other Event Info\7f812015
+Node: Working With Events\7f813635
+Node: Converting Events\7f819636
+Node: Reading Input\7f823035
+Node: Key Sequence Input\7f824037
+Node: Reading One Event\7f826672
+Node: Dispatching an Event\7f829496
+Node: Quoted Character Input\7f829947
+Node: Peeking and Discarding\7f831295
+Node: Waiting\7f835199
+Node: Quitting\7f837513
+Node: Prefix Command Arguments\7f841921
+Node: Recursive Editing\7f847008
+Node: Disabling Commands\7f851803
+Node: Command History\7f853871
+Node: Keyboard Macros\7f855608
+Node: Keymaps\7f857825
+Node: Keymap Terminology\7f859402
+Node: Format of Keymaps\7f862331
+Node: Creating Keymaps\7f862742
+Node: Inheritance and Keymaps\7f864822
+Node: Key Sequences\7f867194
+Node: Prefix Keys\7f871990
+Node: Active Keymaps\7f875575
+Node: Key Lookup\7f884946
+Node: Functions for Key Lookup\7f890109
+Node: Changing Key Bindings\7f895810
+Node: Key Binding Commands\7f902972
+Node: Scanning Keymaps\7f905037
+Node: Other Keymap Functions\7f913606
+Node: Menus\7f914228
+Node: Menu Format\7f914820
+Node: Menubar Format\7f923466
+Node: Menubar\7f924091
+Node: Modifying Menus\7f927204
+Node: Menu Filters\7f932548
+Node: Pop-Up Menus\7f934444
+Node: Menu Accelerators\7f936772
+Node: Creating Menu Accelerators\7f937528
+Node: Keyboard Menu Traversal\7f938888
+Node: Menu Accelerator Functions\7f939615
+Node: Buffers Menu\7f942691
+Node: Dialog Boxes\7f943985
+Node: Dialog Box Format\7f944152
+Node: Dialog Box Functions\7f945577
+Node: Toolbar\7f945974
+Node: Toolbar Intro\7f946409
+Node: Creating Toolbar\7f948809
+Node: Toolbar Descriptor Format\7f949726
+Node: Specifying the Toolbar\7f954223
+Node: Other Toolbar Variables\7f957830
+Node: Gutter\7f962258
+Node: Gutter Intro\7f962847
+Node: Creating Gutter\7f964850
+Node: Gutter Descriptor Format\7f967737
+Node: Specifying a Gutter\7f972194
+Node: Other Gutter Variables\7f975729
+Node: Common Gutter Widgets\7f980116
+Node: Buffer Tabs\7f981108
+Node: Progress Bars\7f981249
+Node: Scrollbars\7f981394
+Node: Drag and Drop\7f981529
+Node: Supported Protocols\7f982605
+Node: OffiX DND\7f983108
+Node: CDE dt\7f984115
+Node: MSWindows OLE\7f984706
+Node: Loose ends\7f984877
+Node: Drop Interface\7f985269
+Node: Drag Interface\7f986291
+Node: Modes\7f986465
+Node: Major Modes\7f987416
+Node: Major Mode Conventions\7f990331
+Node: Example Major Modes\7f996286
+Node: Auto Major Mode\7f1004319
+Node: Mode Help\7f1011769
+Node: Derived Modes\7f1012870
+Node: Minor Modes\7f1015061
+Node: Minor Mode Conventions\7f1016363
+Node: Keymaps and Minor Modes\7f1019226
+Node: Modeline Format\7f1020061
+Node: Modeline Data\7f1021829
+Node: Modeline Variables\7f1026982
+Node: %-Constructs\7f1031698
+Node: Hooks\7f1034685
+Node: Documentation\7f1041445
+Node: Documentation Basics\7f1042868
+Node: Accessing Documentation\7f1045919
+Node: Keys in Documentation\7f1052200
+Node: Describing Characters\7f1055683
+Node: Help Functions\7f1058032
+Node: Obsoleteness\7f1064482
+Node: Files\7f1067474
+Node: Visiting Files\7f1069399
+Node: Visiting Functions\7f1070904
+Node: Subroutines of Visiting\7f1076062
+Node: Saving Buffers\7f1078135
+Node: Reading from Files\7f1084228
+Node: Writing to Files\7f1086389
+Node: File Locks\7f1089106
+Node: Information about Files\7f1092173
+Node: Testing Accessibility\7f1092934
+Node: Kinds of Files\7f1096674
+Node: Truenames\7f1098355
+Node: File Attributes\7f1099357
+Node: Changing File Attributes\7f1104496
+Node: File Names\7f1109918
+Node: File Name Components\7f1111491
+Node: Directory Names\7f1113936
+Node: Relative File Names\7f1117166
+Node: File Name Expansion\7f1118136
+Node: Unique File Names\7f1121890
+Node: File Name Completion\7f1123505
+Node: User Name Completion\7f1126773
+Node: Contents of Directories\7f1128180
+Node: Create/Delete Dirs\7f1131493
+Node: Magic File Names\7f1132599
+Node: Partial Files\7f1138247
+Node: Intro to Partial Files\7f1138475
+Node: Creating a Partial File\7f1139715
+Node: Detached Partial Files\7f1140651
+Node: Format Conversion\7f1141773
+Node: Files and MS-DOS\7f1147271
+Node: Backups and Auto-Saving\7f1149335
+Node: Backup Files\7f1150010
+Node: Making Backups\7f1151407
+Node: Rename or Copy\7f1154156
+Node: Numbered Backups\7f1156649
+Node: Backup Names\7f1158884
+Node: Auto-Saving\7f1162176
+Node: Reverting\7f1170338
+Node: Buffers\7f1173674
+Node: Buffer Basics\7f1175090
+Node: Current Buffer\7f1177143
+Node: Buffer Names\7f1181847
+Node: Buffer File Name\7f1185054
+Node: Buffer Modification\7f1189173
+Node: Modification Time\7f1191416
+Node: Read Only Buffers\7f1194791
+Node: The Buffer List\7f1198030
+Node: Creating Buffers\7f1202847
+Node: Killing Buffers\7f1204993
+Node: Indirect Buffers\7f1208825
+Node: Windows\7f1211399
+Node: Basic Windows\7f1212877
+Node: Splitting Windows\7f1215975
+Node: Deleting Windows\7f1221301
+Node: Selecting Windows\7f1225219
+Node: Cyclic Window Ordering\7f1229442
+Node: Buffers and Windows\7f1234597
+Node: Displaying Buffers\7f1236375
+Node: Choosing Window\7f1241714
+Node: Window Point\7f1249632
+Node: Window Start\7f1251702
+Node: Vertical Scrolling\7f1256501
+Node: Horizontal Scrolling\7f1262699
+Node: Size of Window\7f1266228
+Node: Position of Window\7f1270946
+Node: Resizing Windows\7f1273199
+Node: Window Configurations\7f1278637
+Node: Frames\7f1282134
+Node: Creating Frames\7f1284475
+Node: Frame Properties\7f1285815
+Node: Property Access\7f1286631
+Node: Initial Properties\7f1287538
+Node: X Frame Properties\7f1290024
+Node: Size and Position\7f1294658
+Node: Frame Name\7f1296656
+Node: Frame Titles\7f1297570
+Node: Deleting Frames\7f1299394
+Node: Finding All Frames\7f1300369
+Node: Frames and Windows\7f1303597
+Node: Minibuffers and Frames\7f1306379
+Node: Input Focus\7f1307297
+Node: Visibility of Frames\7f1310402
+Node: Raising and Lowering\7f1312392
+Node: Frame Configurations\7f1314768
+Node: Frame Hooks\7f1315825
+Node: Consoles and Devices\7f1317630
+Node: Basic Console Functions\7f1320373
+Node: Basic Device Functions\7f1320796
+Node: Console Types and Device Classes\7f1321642
+Node: Connecting to a Console or Device\7f1323909
+Node: The Selected Console and Device\7f1326093
+Node: Console and Device I/O\7f1327119
+Node: Positions\7f1327883
+Node: Point\7f1328852
+Node: Motion\7f1331942
+Node: Character Motion\7f1332709
+Node: Word Motion\7f1334946
+Node: Buffer End Motion\7f1336336
+Node: Text Lines\7f1337873
+Node: Screen Lines\7f1342774
+Node: List Motion\7f1346837
+Node: Skipping Characters\7f1350320
+Node: Excursions\7f1352539
+Node: Narrowing\7f1355579
+Node: Markers\7f1360910
+Node: Overview of Markers\7f1361816
+Node: Predicates on Markers\7f1366508
+Node: Creating Markers\7f1367754
+Node: Information from Markers\7f1371954
+Node: Changing Markers\7f1373052
+Node: The Mark\7f1374580
+Node: The Region\7f1383083
+Node: Text\7f1388769
+Node: Near Point\7f1391468
+Node: Buffer Contents\7f1395655
+Node: Comparing Text\7f1397061
+Node: Insertion\7f1398469
+Node: Commands for Insertion\7f1402379
+Node: Deletion\7f1405273
+Node: User-Level Deletion\7f1408923
+Node: The Kill Ring\7f1413083
+Node: Kill Ring Concepts\7f1415257
+Node: Kill Functions\7f1416311
+Node: Yank Commands\7f1418234
+Node: Low-Level Kill Ring\7f1420105
+Node: Internals of Kill Ring\7f1423191
+Node: Undo\7f1425971
+Node: Maintaining Undo\7f1430308
+Node: Filling\7f1432926
+Node: Margins\7f1438920
+Node: Auto Filling\7f1442943
+Node: Sorting\7f1444124
+Node: Columns\7f1453438
+Node: Indentation\7f1456519
+Node: Primitive Indent\7f1457298
+Node: Mode-Specific Indent\7f1458623
+Node: Region Indent\7f1461155
+Node: Relative Indent\7f1464102
+Node: Indent Tabs\7f1466484
+Node: Motion by Indent\7f1467805
+Node: Case Changes\7f1468584
+Node: Text Properties\7f1471937
+Node: Examining Properties\7f1473750
+Node: Changing Properties\7f1475633
+Node: Property Search\7f1479224
+Node: Special Properties\7f1483943
+Node: Saving Properties\7f1484224
+Node: Substitution\7f1487366
+Node: Registers\7f1490636
+Node: Transposition\7f1493219
+Node: Change Hooks\7f1494113
+Node: Transformations\7f1496153
+Node: Searching and Matching\7f1501257
+Node: String Search\7f1502388
+Node: Regular Expressions\7f1507369
+Node: Syntax of Regexps\7f1508736
+Node: Regexp Example\7f1523339
+Node: Regexp Search\7f1525509
+Node: POSIX Regexps\7f1531846
+Node: Search and Replace\7f1533923
+Node: Match Data\7f1537288
+Node: Simple Match Data\7f1538418
+Node: Replacing Match\7f1542683
+Node: Entire Match Data\7f1545364
+Node: Saving Match Data\7f1547602
+Node: Searching and Case\7f1548990
+Node: Standard Regexps\7f1551024
+Node: Syntax Tables\7f1553222
+Node: Syntax Basics\7f1554336
+Node: Syntax Descriptors\7f1557308
+Node: Syntax Class Table\7f1559158
+Node: Syntax Flags\7f1565196
+Node: Syntax Table Functions\7f1568413
+Node: Motion and Syntax\7f1572701
+Node: Parsing Expressions\7f1574153
+Node: Standard Syntax Tables\7f1580251
+Node: Syntax Table Internals\7f1581095
+Node: Abbrevs\7f1582121
+Node: Abbrev Mode\7f1583925
+Node: Abbrev Tables\7f1584645
+Node: Defining Abbrevs\7f1586184
+Node: Abbrev Files\7f1588105
+Node: Abbrev Expansion\7f1589888
+Node: Standard Abbrev Tables\7f1594519
+Node: Extents\7f1595678
+Node: Intro to Extents\7f1596921
+Node: Creating and Modifying Extents\7f1600913
+Node: Extent Endpoints\7f1602494
+Node: Finding Extents\7f1605757
+Node: Mapping Over Extents\7f1609879
+Node: Extent Properties\7f1616002
+Node: Detached Extents\7f1626163
+Node: Extent Parents\7f1628022
+Node: Duplicable Extents\7f1629716
+Node: Extents and Events\7f1632937
+Node: Atomic Extents\7f1634844
+Node: Specifiers\7f1635291
+Node: Introduction to Specifiers\7f1637404
+Node: Specifiers In-Depth\7f1639714
+Node: Specifier Instancing\7f1644626
+Node: Specifier Types\7f1647888
+Node: Adding Specifications\7f1652962
+Node: Retrieving Specifications\7f1662383
+Node: Specifier Tag Functions\7f1666128
+Node: Specifier Instancing Functions\7f1669362
+Node: Specifier Example\7f1672769
+Node: Creating Specifiers\7f1675925
+Node: Specifier Validation Functions\7f1680242
+Node: Other Specification Functions\7f1682628
+Node: Faces and Window-System Objects\7f1686449
+Node: Faces\7f1686773
+Node: Merging Faces\7f1688390
+Node: Basic Face Functions\7f1690351
+Node: Face Properties\7f1692499
+Node: Face Convenience Functions\7f1702772
+Node: Other Face Display Functions\7f1705992
+Node: Fonts\7f1706804
+Node: Font Specifiers\7f1707505
+Node: Font Instances\7f1708690
+Node: Font Instance Names\7f1709657
+Node: Font Instance Size\7f1710498
+Node: Font Instance Characteristics\7f1711784
+Node: Font Convenience Functions\7f1712962
+Node: Colors\7f1714252
+Node: Color Specifiers\7f1714692
+Node: Color Instances\7f1717052
+Node: Color Instance Properties\7f1717796
+Node: Color Convenience Functions\7f1718422
+Node: Glyphs\7f1719475
+Node: Glyph Functions\7f1721076
+Node: Creating Glyphs\7f1721483
+Node: Glyph Properties\7f1734123
+Node: Glyph Convenience Functions\7f1743290
+Node: Glyph Dimensions\7f1747237
+Node: Images\7f1748317
+Node: Image Specifiers\7f1748766
+Node: Image Instantiator Conversion\7f1764257
+Node: Image Instances\7f1765622
+Node: Image Instance Types\7f1766373
+Node: Image Instance Functions\7f1769138
+Node: Glyph Types\7f1776195
+Node: Mouse Pointer\7f1777967
+Node: Redisplay Glyphs\7f1780970
+Node: Subwindows\7f1782003
+Node: Annotations\7f1782246
+Node: Annotation Basics\7f1783262
+Node: Annotation Primitives\7f1787200
+Node: Annotation Properties\7f1788539
+Node: Locating Annotations\7f1791579
+Node: Margin Primitives\7f1792416
+Node: Annotation Hooks\7f1794310
+Node: Display\7f1794970
+Node: Refresh Screen\7f1795948
+Node: Truncation\7f1798142
+Node: The Echo Area\7f1800667
+Node: Warnings\7f1807110
+Node: Invisible Text\7f1811546
+Node: Selective Display\7f1814125
+Node: Overlay Arrow\7f1818251
+Node: Temporary Displays\7f1819604
+Node: Blinking\7f1823725
+Node: Usual Display\7f1825909
+Node: Display Tables\7f1828458
+Node: Display Table Format\7f1829262
+Node: Active Display Table\7f1830704
+Node: Character Descriptors\7f1834699
+Node: Beeping\7f1835456
+Node: Hash Tables\7f1840222
+Node: Introduction to Hash Tables\7f1840830
+Node: Working With Hash Tables\7f1847389
+Node: Weak Hash Tables\7f1848506
+Node: Range Tables\7f1850523
+Node: Introduction to Range Tables\7f1851212
+Node: Working With Range Tables\7f1851658
+Node: Databases\7f1852617
+Node: Connecting to a Database\7f1852916
+Node: Working With a Database\7f1854023
+Node: Other Database Functions\7f1854897
+Node: Processes\7f1855466
+Node: Subprocess Creation\7f1857690
+Node: Synchronous Processes\7f1861141
+Node: MS-DOS Subprocesses\7f1867863
+Node: Asynchronous Processes\7f1868937
+Node: Deleting Processes\7f1873294
+Node: Process Information\7f1875165
+Node: Input to Processes\7f1879257
+Node: Signals to Processes\7f1881952
+Node: Output from Processes\7f1886767
+Node: Process Buffers\7f1887579
+Node: Filter Functions\7f1890458
+Node: Accepting Output\7f1896049
+Node: Sentinels\7f1897576
+Node: Process Window Size\7f1901066
+Node: Transaction Queues\7f1901415
+Node: Network\7f1903113
+Node: System Interface\7f1905747
+Node: Starting Up\7f1907017
+Node: Start-up Summary\7f1907611
+Node: Init File\7f1911165
+Node: Terminal-Specific\7f1913546
+Node: Command Line Arguments\7f1916705
+Node: Getting Out\7f1920194
+Node: Killing XEmacs\7f1920763
+Node: Suspending XEmacs\7f1922431
+Node: System Environment\7f1925810
+Node: User Identification\7f1931991
+Node: Time of Day\7f1935520
+Node: Time Conversion\7f1938307
+Node: Timers\7f1943549
+Node: Terminal Input\7f1945722
+Node: Input Modes\7f1946225
+Node: Translating Input\7f1948684
+Node: Recording Input\7f1952849
+Node: Terminal Output\7f1954949
+Node: Flow Control\7f1958570
+Node: Batch Mode\7f1962532
+Node: X-Windows\7f1963914
+Node: X Selections\7f1964785
+Node: X Server\7f1967536
+Node: Resources\7f1967987
+Node: Server Data\7f1973298
+Node: Grabs\7f1974505
+Node: X Miscellaneous\7f1976085
+Node: ToolTalk Support\7f1978470
+Node: XEmacs ToolTalk API Summary\7f1978687
+Node: Sending Messages\7f1979987
+Node: Example of Sending Messages\7f1980238
+Node: Elisp Interface for Sending Messages\7f1981300
+Node: Receiving Messages\7f1987896
+Node: Example of Receiving Messages\7f1988119
+Node: Elisp Interface for Receiving Messages\7f1988955
+Node: LDAP Support\7f1992812
+Node: Building XEmacs with LDAP support\7f1993306
+Node: XEmacs LDAP API\7f1994283
+Node: LDAP Variables\7f1995335
+Node: The High-Level LDAP API\7f1997935
+Node: The Low-Level LDAP API\7f2001408
+Node: The LDAP Lisp Object\7f2002239
+Node: Opening and Closing a LDAP Connection\7f2002794
+Node: Low-level Operations on a LDAP Server\7f2004600
+Node: LDAP Internationalization\7f2007324
+Node: LDAP Internationalization Variables\7f2008229
+Node: Encoder/Decoder Functions\7f2009960
+Node: Syntax of Search Filters\7f2010997
+Node: PostgreSQL Support\7f2012295
+Node: Building XEmacs with PostgreSQL support\7f2012690
+Node: XEmacs PostgreSQL libpq API\7f2014037
+Node: libpq Lisp Variables\7f2015916
+Node: libpq Lisp Symbols and DataTypes\7f2018880
+Node: Synchronous Interface Functions\7f2032120
+Node: Asynchronous Interface Functions\7f2036611
+Node: Large Object Support\7f2040116
+Node: Other libpq Functions\7f2040743
+Node: Unimplemented libpq Functions\7f2043778
+Node: XEmacs PostgreSQL libpq Examples\7f2049097
+Node: Internationalization\7f2055188
+Node: I18N Levels 1 and 2\7f2055531
+Node: I18N Level 3\7f2056237
+Node: Level 3 Basics\7f2056518
+Node: Level 3 Primitives\7f2057351
+Node: Dynamic Messaging\7f2058957
+Node: Domain Specification\7f2059420
+Node: Documentation String Extraction\7f2061090
+Node: I18N Level 4\7f2062008
+Node: MULE\7f2062200
+Node: Internationalization Terminology\7f2063249
+Node: Charsets\7f2075448
+Node: Charset Properties\7f2076144
+Node: Basic Charset Functions\7f2080859
+Node: Charset Property Functions\7f2083040
+Node: Predefined Charsets\7f2085110
+Node: MULE Characters\7f2088030
+Node: Composite Characters\7f2088905
+Node: Coding Systems\7f2090172
+Node: Coding System Types\7f2092312
+Node: ISO 2022\7f2096296
+Node: EOL Conversion\7f2108571
+Node: Coding System Properties\7f2109743
+Node: Basic Coding System Functions\7f2114066
+Node: Coding System Property Functions\7f2116100
+Node: Encoding and Decoding Text\7f2116658
+Node: Detection of Textual Encoding\7f2117794
+Node: Big5 and Shift-JIS Functions\7f2119330
+Node: Predefined Coding Systems\7f2120482
+Node: CCL\7f2132576
+Node: CCL Syntax\7f2135680
+Node: CCL Statements\7f2137256
+Node: CCL Expressions\7f2141904
+Node: Calling CCL\7f2144443
+Node: CCL Examples\7f2147448
+Node: Category Tables\7f2147585
+Node: Tips\7f2149944
+Node: Style Tips\7f2150585
+Node: Compilation Tips\7f2160104
+Node: Documentation Tips\7f2162018
+Node: Comment Tips\7f2167527
+Node: Library Headers\7f2170530
+Node: Building XEmacs and Object Allocation\7f2174502
+Node: Building XEmacs\7f2175385
+Node: Pure Storage\7f2181963
+Node: Garbage Collection\7f2184751
+Node: Standard Errors\7f2195594
+Node: Standard Buffer-Local Variables\7f2199803
+Node: Standard Keymaps\7f2202438
+Node: Standard Hooks\7f2206172
+Node: Index\7f2213672
\1f
End Tag Table
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
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.
\1f
File: lispref.info, Node: Definitions, Next: Creating Symbols, Prev: Symbol Components, Up: Symbols
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
\1f
Tag Table:
(Indirect)
Node: Less Cluttered Menu Entry\7f168360
Node: Menu Example\7f168985
Node: Other Info Files\7f170506
-Node: Cross References\7f172362
-Node: References\7f173319
-Node: Cross Reference Commands\7f175066
-Node: Cross Reference Parts\7f176125
-Node: xref\7f178961
-Node: Reference Syntax\7f179760
-Node: One Argument\7f181414
-Node: Two Arguments\7f182426
-Node: Three Arguments\7f183541
-Node: Four and Five Arguments\7f185932
-Node: Top Node Naming\7f188344
-Node: ref\7f189354
-Node: pxref\7f190744
-Node: inforef\7f193126
-Node: uref\7f194419
-Node: Marking Text\7f195418
-Node: Indicating\7f196042
-Node: Useful Highlighting\7f197947
-Node: code\7f199336
-Node: kbd\7f202374
-Node: key\7f204244
-Node: samp\7f205577
-Node: var\7f207164
-Node: file\7f208957
-Node: dfn\7f209564
-Node: cite\7f210474
-Node: url\7f210928
-Node: email\7f211492
-Node: Emphasis\7f212304
-Node: emph & strong\7f213204
-Node: Smallcaps\7f214190
-Node: Fonts\7f215517
-Node: Customized Highlighting\7f216605
-Node: Customized Highlighting-Footnotes\7f219420
-Ref: Customized Highlighting-Footnote-1\7f219514
-Node: Quotations and Examples\7f219640
-Node: Block Enclosing Commands\7f221262
-Node: quotation\7f223287
-Node: example\7f224377
-Node: noindent\7f226432
-Node: Lisp Example\7f227896
-Node: Lisp Example-Footnotes\7f228598
-Ref: Lisp Example-Footnote-1\7f228670
-Node: smallexample & smalllisp\7f228788
-Node: display\7f230813
-Node: format\7f231445
-Node: exdent\7f231906
-Node: flushleft & flushright\7f232986
-Node: cartouche\7f234252
-Node: Lists and Tables\7f235019
-Node: Introducing Lists\7f235695
-Node: itemize\7f237360
-Node: enumerate\7f239507
-Node: Two-column Tables\7f242012
-Node: table\7f242701
-Node: ftable vtable\7f245134
-Node: itemx\7f246235
-Node: Multi-column Tables\7f247246
-Node: Multitable Column Widths\7f247917
-Node: Multitable Rows\7f249371
-Node: Indices\7f251148
-Node: Index Entries\7f252298
-Node: Predefined Indices\7f253431
-Node: Indexing Commands\7f254428
-Node: Combining Indices\7f258968
-Node: syncodeindex\7f260331
-Node: synindex\7f261993
-Node: New Indices\7f262518
-Node: Insertions\7f264343
-Node: Braces Atsigns\7f265527
-Node: Inserting An Atsign\7f266079
-Node: Inserting Braces\7f266353
-Node: Inserting Space\7f266716
-Node: Not Ending a Sentence\7f267220
-Node: Ending a Sentence\7f268574
-Node: Multiple Spaces\7f269703
-Node: dmn\7f270922
-Node: Inserting Accents\7f272129
-Node: Dots Bullets\7f273886
-Node: dots\7f274708
-Node: bullet\7f275232
-Node: TeX and copyright\7f275629
-Node: tex\7f276196
-Node: copyright symbol\7f276612
-Node: pounds\7f276872
-Node: minus\7f277236
-Node: math\7f278158
-Node: Glyphs\7f278886
-Node: Glyphs Summary\7f279999
-Node: result\7f280627
-Node: expansion\7f281112
-Node: Print Glyph\7f282068
-Node: Error Glyph\7f282945
-Node: Equivalence\7f283778
-Node: Point Glyph\7f284466
-Node: Images\7f286023
-Node: Breaks\7f287690
-Node: Break Commands\7f289121
-Node: Line Breaks\7f289962
-Node: - and hyphenation\7f290980
-Node: w\7f292230
-Node: sp\7f292943
-Node: page\7f293352
-Node: group\7f293729
-Node: need\7f295472
-Node: Definition Commands\7f296202
-Node: Def Cmd Template\7f297773
-Node: Optional Arguments\7f300770
-Node: deffnx\7f302358
-Node: Def Cmds in Detail\7f303313
-Node: Functions Commands\7f304423
-Node: Variables Commands\7f307428
-Node: Typed Functions\7f309514
-Node: Typed Variables\7f313056
-Node: Abstract Objects\7f315039
-Node: Data Types\7f320264
-Node: Def Cmd Conventions\7f321519
-Node: Sample Function Definition\7f322082
-Node: Footnotes\7f324966
-Node: Footnotes-Footnotes\7f325354
-Ref: Footnotes-Footnote-1\7f325420
-Node: Footnote Commands\7f325700
-Node: Footnote Commands-Footnotes\7f327197
-Ref: Footnote Commands-Footnote-1\7f327279
-Node: Footnote Styles\7f327315
-Node: Conditionals\7f329901
-Node: Conditional Commands\7f330712
-Node: Conditional Not Commands\7f332205
-Node: Raw Formatter Commands\7f332950
-Node: set clear value\7f334780
-Node: ifset ifclear\7f335581
-Node: value\7f338760
-Node: value Example\7f340172
-Node: Macros\7f341750
-Node: Defining Macros\7f342455
-Node: Invoking Macros\7f343544
-Node: Format/Print Hardcopy\7f344650
-Node: Use TeX\7f346487
-Node: Format with tex/texindex\7f347115
-Node: Format with texi2dvi\7f350756
-Node: Print with lpr\7f351347
-Node: Within Emacs\7f352201
-Node: Texinfo Mode Printing\7f353120
-Node: Compile-Command\7f356530
-Node: Requirements Summary\7f357418
-Node: Preparing for TeX\7f358731
-Node: Overfull hboxes\7f361518
-Node: smallbook\7f363077
-Node: A4 Paper\7f364595
-Node: Cropmarks and Magnification\7f365820
-Node: Create an Info File\7f367761
-Node: makeinfo advantages\7f369064
-Node: Invoking makeinfo\7f369980
-Node: makeinfo options\7f370668
-Node: Pointer Validation\7f376152
-Node: makeinfo in Emacs\7f377496
-Node: texinfo-format commands\7f380054
-Node: Batch Formatting\7f381325
-Node: Tag and Split Files\7f382541
-Node: Install an Info File\7f385895
-Node: Directory file\7f386713
-Node: New Info File\7f388581
-Node: Other Info Directories\7f389642
-Node: Installing Dir Entries\7f392857
-Node: Invoking install-info\7f394850
-Node: Command List\7f397265
-Node: Tips\7f435235
-Node: Sample Texinfo File\7f446645
-Node: Sample Permissions\7f448764
-Node: Inserting Permissions\7f449807
-Node: ifinfo Permissions\7f452113
-Node: Titlepage Permissions\7f453734
-Node: Include Files\7f454996
-Node: Using Include Files\7f456083
-Node: texinfo-multiple-files-update\7f458038
-Node: Include File Requirements\7f460399
-Node: Sample Include File\7f461644
-Node: Include Files Evolution\7f463163
-Node: Headings\7f465134
-Node: Headings Introduced\7f465771
-Node: Heading Format\7f467659
-Node: Heading Choice\7f470111
-Node: Custom Headings\7f471483
-Node: Catching Mistakes\7f475811
-Node: makeinfo Preferred\7f477100
-Node: Debugging with Info\7f478005
-Node: Debugging with TeX\7f481351
-Node: Using texinfo-show-structure\7f485631
-Node: Using occur\7f488730
-Node: Running Info-Validate\7f490267
-Node: Using Info-validate\7f491328
-Node: Unsplit\7f493170
-Node: Tagifying\7f494216
-Node: Splitting\7f495068
-Node: Refilling Paragraphs\7f496684
-Node: Refilling Paragraphs-Footnotes\7f498338
-Ref: Refilling Paragraphs-Footnote-1\7f498426
-Node: Command Syntax\7f498589
-Node: Obtaining TeX\7f501546
-Node: Command and Variable Index\7f503659
-Node: Concept Index\7f519511
+Node: Cross References\7f172374
+Node: References\7f173331
+Node: Cross Reference Commands\7f175078
+Node: Cross Reference Parts\7f176137
+Node: xref\7f178973
+Node: Reference Syntax\7f179772
+Node: One Argument\7f181426
+Node: Two Arguments\7f182438
+Node: Three Arguments\7f183553
+Node: Four and Five Arguments\7f185944
+Node: Top Node Naming\7f188356
+Node: ref\7f189366
+Node: pxref\7f190756
+Node: inforef\7f193138
+Node: uref\7f194431
+Node: Marking Text\7f195430
+Node: Indicating\7f196054
+Node: Useful Highlighting\7f197959
+Node: code\7f199348
+Node: kbd\7f202386
+Node: key\7f204256
+Node: samp\7f205589
+Node: var\7f207176
+Node: file\7f208969
+Node: dfn\7f209576
+Node: cite\7f210486
+Node: url\7f210940
+Node: email\7f211504
+Node: Emphasis\7f212316
+Node: emph & strong\7f213216
+Node: Smallcaps\7f214202
+Node: Fonts\7f215529
+Node: Customized Highlighting\7f216617
+Node: Customized Highlighting-Footnotes\7f219432
+Ref: Customized Highlighting-Footnote-1\7f219526
+Node: Quotations and Examples\7f219652
+Node: Block Enclosing Commands\7f221274
+Node: quotation\7f223299
+Node: example\7f224389
+Node: noindent\7f226444
+Node: Lisp Example\7f227908
+Node: Lisp Example-Footnotes\7f228610
+Ref: Lisp Example-Footnote-1\7f228682
+Node: smallexample & smalllisp\7f228800
+Node: display\7f230825
+Node: format\7f231457
+Node: exdent\7f231918
+Node: flushleft & flushright\7f232998
+Node: cartouche\7f234264
+Node: Lists and Tables\7f235031
+Node: Introducing Lists\7f235707
+Node: itemize\7f237372
+Node: enumerate\7f239519
+Node: Two-column Tables\7f242024
+Node: table\7f242713
+Node: ftable vtable\7f245146
+Node: itemx\7f246247
+Node: Multi-column Tables\7f247258
+Node: Multitable Column Widths\7f247929
+Node: Multitable Rows\7f249383
+Node: Indices\7f251160
+Node: Index Entries\7f252310
+Node: Predefined Indices\7f253443
+Node: Indexing Commands\7f254440
+Node: Combining Indices\7f258980
+Node: syncodeindex\7f260343
+Node: synindex\7f262005
+Node: New Indices\7f262530
+Node: Insertions\7f264355
+Node: Braces Atsigns\7f265539
+Node: Inserting An Atsign\7f266091
+Node: Inserting Braces\7f266365
+Node: Inserting Space\7f266728
+Node: Not Ending a Sentence\7f267232
+Node: Ending a Sentence\7f268586
+Node: Multiple Spaces\7f269715
+Node: dmn\7f270934
+Node: Inserting Accents\7f272141
+Node: Dots Bullets\7f273898
+Node: dots\7f274720
+Node: bullet\7f275244
+Node: TeX and copyright\7f275641
+Node: tex\7f276208
+Node: copyright symbol\7f276624
+Node: pounds\7f276884
+Node: minus\7f277248
+Node: math\7f278170
+Node: Glyphs\7f278898
+Node: Glyphs Summary\7f280011
+Node: result\7f280639
+Node: expansion\7f281124
+Node: Print Glyph\7f282080
+Node: Error Glyph\7f282957
+Node: Equivalence\7f283790
+Node: Point Glyph\7f284478
+Node: Images\7f286035
+Node: Breaks\7f287702
+Node: Break Commands\7f289133
+Node: Line Breaks\7f289974
+Node: - and hyphenation\7f290992
+Node: w\7f292242
+Node: sp\7f292955
+Node: page\7f293364
+Node: group\7f293741
+Node: need\7f295484
+Node: Definition Commands\7f296214
+Node: Def Cmd Template\7f297785
+Node: Optional Arguments\7f300782
+Node: deffnx\7f302370
+Node: Def Cmds in Detail\7f303325
+Node: Functions Commands\7f304435
+Node: Variables Commands\7f307440
+Node: Typed Functions\7f309526
+Node: Typed Variables\7f313068
+Node: Abstract Objects\7f315051
+Node: Data Types\7f320276
+Node: Def Cmd Conventions\7f321531
+Node: Sample Function Definition\7f322094
+Node: Footnotes\7f324978
+Node: Footnotes-Footnotes\7f325366
+Ref: Footnotes-Footnote-1\7f325432
+Node: Footnote Commands\7f325712
+Node: Footnote Commands-Footnotes\7f327209
+Ref: Footnote Commands-Footnote-1\7f327291
+Node: Footnote Styles\7f327327
+Node: Conditionals\7f329913
+Node: Conditional Commands\7f330724
+Node: Conditional Not Commands\7f332217
+Node: Raw Formatter Commands\7f332962
+Node: set clear value\7f334792
+Node: ifset ifclear\7f335593
+Node: value\7f338772
+Node: value Example\7f340184
+Node: Macros\7f341762
+Node: Defining Macros\7f342467
+Node: Invoking Macros\7f343556
+Node: Format/Print Hardcopy\7f344662
+Node: Use TeX\7f346499
+Node: Format with tex/texindex\7f347127
+Node: Format with texi2dvi\7f350768
+Node: Print with lpr\7f351359
+Node: Within Emacs\7f352213
+Node: Texinfo Mode Printing\7f353132
+Node: Compile-Command\7f356542
+Node: Requirements Summary\7f357430
+Node: Preparing for TeX\7f358743
+Node: Overfull hboxes\7f361530
+Node: smallbook\7f363089
+Node: A4 Paper\7f364607
+Node: Cropmarks and Magnification\7f365832
+Node: Create an Info File\7f367773
+Node: makeinfo advantages\7f369076
+Node: Invoking makeinfo\7f369992
+Node: makeinfo options\7f370680
+Node: Pointer Validation\7f376164
+Node: makeinfo in Emacs\7f377508
+Node: texinfo-format commands\7f380066
+Node: Batch Formatting\7f381337
+Node: Tag and Split Files\7f382553
+Node: Install an Info File\7f385907
+Node: Directory file\7f386725
+Node: New Info File\7f388593
+Node: Other Info Directories\7f389654
+Node: Installing Dir Entries\7f392869
+Node: Invoking install-info\7f394862
+Node: Command List\7f397277
+Node: Tips\7f435247
+Node: Sample Texinfo File\7f446657
+Node: Sample Permissions\7f448776
+Node: Inserting Permissions\7f449819
+Node: ifinfo Permissions\7f452125
+Node: Titlepage Permissions\7f453746
+Node: Include Files\7f455008
+Node: Using Include Files\7f456095
+Node: texinfo-multiple-files-update\7f458050
+Node: Include File Requirements\7f460411
+Node: Sample Include File\7f461656
+Node: Include Files Evolution\7f463175
+Node: Headings\7f465146
+Node: Headings Introduced\7f465783
+Node: Heading Format\7f467671
+Node: Heading Choice\7f470123
+Node: Custom Headings\7f471495
+Node: Catching Mistakes\7f475823
+Node: makeinfo Preferred\7f477112
+Node: Debugging with Info\7f478017
+Node: Debugging with TeX\7f481363
+Node: Using texinfo-show-structure\7f485643
+Node: Using occur\7f488742
+Node: Running Info-Validate\7f490279
+Node: Using Info-validate\7f491340
+Node: Unsplit\7f493182
+Node: Tagifying\7f494228
+Node: Splitting\7f495080
+Node: Refilling Paragraphs\7f496696
+Node: Refilling Paragraphs-Footnotes\7f498350
+Ref: Refilling Paragraphs-Footnote-1\7f498438
+Node: Command Syntax\7f498601
+Node: Obtaining TeX\7f501558
+Node: Command and Variable Index\7f503671
+Node: Concept Index\7f519523
\1f
End Tag Table
\1f
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
\1f
Tag Table:
(Indirect)
Node: Q1.0.12\7f26012
Node: Q1.0.13\7f26380
Node: Q1.0.14\7f26629
-Node: Q1.1.1\7f27139
-Node: Q1.1.2\7f28181
-Node: Q1.1.3\7f28574
-Node: Q1.2.1\7f29525
-Node: Q1.2.2\7f30581
-Node: Q1.2.3\7f31015
-Node: Q1.3.1\7f32099
-Node: Q1.3.2\7f32750
-Node: Q1.3.3\7f33214
-Node: Q1.3.4\7f33455
-Node: Q1.3.5\7f34228
-Node: Q1.3.6\7f36633
-Node: Q1.3.7\7f38164
-Node: Q1.4.1\7f39099
-Node: Q1.4.2\7f39961
-Node: Q1.4.3\7f40302
-Node: Q1.4.4\7f40721
-Node: Q1.4.5\7f42261
-Node: Q1.4.6\7f42565
-Node: Installation\7f43558
-Node: Q2.0.1\7f46133
-Node: Q2.0.2\7f46933
-Node: Q2.0.3\7f48701
-Node: Q2.0.4\7f49999
-Node: Q2.0.5\7f50591
-Node: Q2.0.6\7f50939
-Node: Q2.0.7\7f51320
-Node: Q2.0.8\7f51701
-Node: Q2.0.9\7f53278
-Node: Q2.0.10\7f54716
-Node: Q2.0.11\7f55560
-Node: Q2.0.12\7f56501
-Node: Q2.0.13\7f58024
-Node: Q2.0.14\7f58513
-Node: Q2.1.1\7f59571
-Node: Q2.1.2\7f62313
-Node: Q2.1.3\7f63490
-Node: Q2.1.4\7f64783
-Node: Q2.1.5\7f65582
-Node: Q2.1.6\7f65944
-Node: Q2.1.7\7f66421
-Node: Q2.1.8\7f66774
-Node: Q2.1.9\7f68308
-Node: Q2.1.10\7f68730
-Node: Q2.1.11\7f69487
-Node: Q2.1.12\7f70352
-Node: Q2.1.13\7f71307
-Node: Q2.1.14\7f72338
-Node: Q2.1.15\7f73449
-Node: Q2.1.16\7f80481
-Node: Q2.1.17\7f81175
-Node: Q2.1.18\7f81772
-Node: Q2.1.19\7f81899
-Node: Q2.1.20\7f82429
-Node: Q2.1.21\7f82811
-Node: Q2.1.22\7f83004
-Node: Q2.1.23\7f84301
-Node: Q2.1.24\7f84969
-Node: Q2.1.25\7f85441
-Node: Customization\7f86076
-Node: Q3.0.1\7f90914
-Node: Q3.0.2\7f91620
-Node: Q3.0.3\7f92184
-Node: Q3.0.4\7f92601
-Node: Q3.0.5\7f93434
-Node: Q3.0.6\7f94215
-Node: Q3.0.7\7f94795
-Node: Q3.0.8\7f95459
-Node: Q3.0.9\7f96417
-Node: Q3.1.1\7f96978
-Node: Q3.1.2\7f97715
-Node: Q3.1.3\7f98146
-Node: Q3.1.4\7f98335
-Node: Q3.1.5\7f98524
-Node: Q3.1.6\7f98908
-Node: Q3.1.7\7f99617
-Node: Q3.1.8\7f101841
-Node: Q3.2.1\7f102383
-Node: Q3.2.2\7f104036
-Node: Q3.2.3\7f104835
-Node: Q3.2.4\7f105437
-Node: Q3.2.5\7f106471
-Node: Q3.2.6\7f106938
-Node: Q3.3.1\7f107863
-Node: Q3.3.2\7f108293
-Node: Q3.3.3\7f108924
-Node: Q3.3.4\7f109305
-Node: Q3.3.5\7f110406
-Node: Q3.4.1\7f111900
-Node: Q3.4.2\7f112543
-Node: Q3.5.1\7f113055
-Node: Q3.5.2\7f114504
-Node: Q3.5.3\7f114922
-Node: Q3.5.4\7f115760
-Node: Q3.5.5\7f116592
-Node: Q3.5.6\7f117732
-Node: Q3.5.7\7f118722
-Node: Q3.5.8\7f120162
-Node: Q3.5.9\7f120909
-Node: Q3.5.10\7f121689
-Node: Q3.5.11\7f122325
-Node: Q3.6.1\7f122878
-Node: Q3.6.2\7f123623
-Node: Q3.6.3\7f124051
-Node: Q3.7.1\7f124551
-Node: Q3.7.2\7f125439
-Node: Q3.7.3\7f126098
-Node: Q3.7.4\7f126520
-Node: Q3.7.5\7f126863
-Node: Q3.7.6\7f127331
-Node: Q3.7.7\7f128046
-Node: Q3.7.8\7f129066
-Node: Q3.8.1\7f129485
-Node: Q3.8.2\7f129945
-Node: Q3.8.3\7f130408
-Node: Q3.8.4\7f131014
-Node: Q3.8.5\7f131733
-Node: Q3.9.1\7f132518
-Node: Q3.9.2\7f133458
-Node: Q3.9.3\7f134056
-Node: Q3.9.4\7f134718
-Node: Q3.10.1\7f135597
-Node: Q3.10.2\7f136415
-Node: Q3.10.3\7f137420
-Node: Q3.10.4\7f138148
-Node: Q3.10.5\7f138531
-Node: Subsystems\7f139583
-Node: Q4.0.1\7f142070
-Node: Q4.0.2\7f142595
-Node: Q4.0.3\7f143153
-Node: Q4.0.4\7f143474
-Node: Q4.0.5\7f143716
-Node: Q4.0.6\7f143947
-Node: Q4.0.7\7f144535
-Node: Q4.0.8\7f144860
-Node: Q4.0.9\7f146087
-Node: Q4.0.10\7f148125
-Node: Q4.0.11\7f148614
-Node: Q4.0.12\7f149492
-Node: Q4.1.1\7f150465
-Node: Q4.1.2\7f150868
-Node: Q4.1.3\7f151195
-Node: Q4.2.1\7f151504
-Node: Q4.2.2\7f152134
-Node: Q4.2.3\7f152374
-Node: Q4.2.4\7f152918
-Node: Q4.3.1\7f153571
-Node: Q4.3.2\7f154155
-Node: Q4.3.3\7f155636
-Node: Q4.3.4\7f155908
-Node: Q4.3.5\7f156585
-Node: Q4.4.1\7f157213
-Node: Q4.4.2\7f158699
-Node: Q4.5.1\7f159903
-Node: Q4.6.1\7f160672
-Node: Q4.7.1\7f165932
-Node: Q4.7.2\7f166887
-Node: Q4.7.3\7f167184
-Node: Q4.7.4\7f167370
-Node: Q4.7.5\7f168254
-Node: Q4.7.6\7f169895
-Node: Miscellaneous\7f170184
-Node: Q5.0.1\7f173597
-Node: Q5.0.2\7f174336
-Node: Q5.0.3\7f175190
-Node: Q5.0.4\7f175892
-Node: Q5.0.5\7f176831
-Node: Q5.0.6\7f178811
-Node: Q5.0.7\7f179468
-Node: Q5.0.8\7f180073
-Node: Q5.0.9\7f180592
-Node: Q5.0.10\7f181106
-Node: Q5.0.11\7f181354
-Node: Q5.0.12\7f181892
-Node: Q5.0.13\7f182809
-Node: Q5.0.14\7f183493
-Node: Q5.0.15\7f184258
-Node: Q5.0.16\7f184555
-Node: Q5.0.17\7f185067
-Node: Q5.0.18\7f185332
-Node: Q5.0.19\7f185526
-Node: Q5.0.20\7f185950
-Node: Q5.1.1\7f186865
-Node: Q5.1.2\7f188934
-Node: Q5.1.3\7f189670
-Node: Q5.1.4\7f193064
-Node: Q5.1.5\7f193599
-Node: Q5.1.6\7f195723
-Node: Q5.1.7\7f197209
-Node: Q5.1.8\7f198802
-Node: Q5.1.9\7f199354
-Node: Q5.1.10\7f200239
-Node: Q5.1.11\7f201370
-Node: Q5.2.1\7f201919
-Node: Q5.2.2\7f202489
-Node: Q5.2.3\7f202906
-Node: Q5.2.4\7f203141
-Node: Q5.3.1\7f204051
-Node: Q5.3.2\7f205272
-Node: Q5.3.3\7f206048
-Node: Q5.3.4\7f206532
-Node: Q5.3.5\7f207199
-Node: Q5.3.6\7f208068
-Node: Q5.3.7\7f208313
-Node: Q5.3.8\7f210503
-Node: Q5.3.9\7f210750
-Node: Q5.3.10\7f211703
-Node: Q5.3.11\7f213787
-Node: Q5.3.12\7f215378
-Node: MS Windows\7f216652
-Node: Q6.0.1\7f218129
-Node: Q6.0.2\7f218876
-Node: Q6.0.3\7f219341
-Node: Q6.0.4\7f219621
-Node: Q6.1.1\7f221900
-Node: Q6.1.2\7f222771
-Node: Q6.1.3\7f223226
-Node: Q6.1.4\7f223508
-Node: Q6.1.5\7f223886
-Node: Q6.1.6\7f224754
-Node: Q6.2.1\7f227060
-Node: Q6.2.2\7f227961
-Node: Q6.2.3\7f228373
-Node: Q6.3.1\7f228662
-Node: Q6.3.2\7f229756
-Node: Q6.3.3\7f232937
-Node: Q6.4.1\7f233206
-Node: Current Events\7f234541
-Node: Q7.0.1\7f235195
-Node: Q7.0.2\7f235834
-Node: Q7.0.3\7f236907
-Node: Q7.0.4\7f237135
+Node: Q1.1.1\7f27141
+Node: Q1.1.2\7f28183
+Node: Q1.1.3\7f28576
+Node: Q1.2.1\7f29527
+Node: Q1.2.2\7f30583
+Node: Q1.2.3\7f31017
+Node: Q1.3.1\7f32101
+Node: Q1.3.2\7f32752
+Node: Q1.3.3\7f33216
+Node: Q1.3.4\7f33457
+Node: Q1.3.5\7f34230
+Node: Q1.3.6\7f36635
+Node: Q1.3.7\7f38166
+Node: Q1.4.1\7f39101
+Node: Q1.4.2\7f39963
+Node: Q1.4.3\7f40304
+Node: Q1.4.4\7f40723
+Node: Q1.4.5\7f42263
+Node: Q1.4.6\7f42567
+Node: Installation\7f43560
+Node: Q2.0.1\7f46135
+Node: Q2.0.2\7f46935
+Node: Q2.0.3\7f48703
+Node: Q2.0.4\7f50001
+Node: Q2.0.5\7f50593
+Node: Q2.0.6\7f50941
+Node: Q2.0.7\7f51322
+Node: Q2.0.8\7f51703
+Node: Q2.0.9\7f53280
+Node: Q2.0.10\7f54718
+Node: Q2.0.11\7f55562
+Node: Q2.0.12\7f56503
+Node: Q2.0.13\7f58026
+Node: Q2.0.14\7f58515
+Node: Q2.1.1\7f59573
+Node: Q2.1.2\7f62315
+Node: Q2.1.3\7f63492
+Node: Q2.1.4\7f64785
+Node: Q2.1.5\7f65584
+Node: Q2.1.6\7f65946
+Node: Q2.1.7\7f66423
+Node: Q2.1.8\7f66776
+Node: Q2.1.9\7f68310
+Node: Q2.1.10\7f68732
+Node: Q2.1.11\7f69489
+Node: Q2.1.12\7f70354
+Node: Q2.1.13\7f71309
+Node: Q2.1.14\7f72340
+Node: Q2.1.15\7f73451
+Node: Q2.1.16\7f80483
+Node: Q2.1.17\7f81177
+Node: Q2.1.18\7f81774
+Node: Q2.1.19\7f81901
+Node: Q2.1.20\7f82431
+Node: Q2.1.21\7f82813
+Node: Q2.1.22\7f83006
+Node: Q2.1.23\7f84303
+Node: Q2.1.24\7f84971
+Node: Q2.1.25\7f85443
+Node: Customization\7f86078
+Node: Q3.0.1\7f90916
+Node: Q3.0.2\7f91622
+Node: Q3.0.3\7f92186
+Node: Q3.0.4\7f92603
+Node: Q3.0.5\7f93436
+Node: Q3.0.6\7f94217
+Node: Q3.0.7\7f94797
+Node: Q3.0.8\7f95461
+Node: Q3.0.9\7f96419
+Node: Q3.1.1\7f96980
+Node: Q3.1.2\7f97717
+Node: Q3.1.3\7f98148
+Node: Q3.1.4\7f98337
+Node: Q3.1.5\7f98526
+Node: Q3.1.6\7f98910
+Node: Q3.1.7\7f99619
+Node: Q3.1.8\7f101843
+Node: Q3.2.1\7f102385
+Node: Q3.2.2\7f104038
+Node: Q3.2.3\7f104837
+Node: Q3.2.4\7f105439
+Node: Q3.2.5\7f106473
+Node: Q3.2.6\7f106940
+Node: Q3.3.1\7f107865
+Node: Q3.3.2\7f108295
+Node: Q3.3.3\7f108926
+Node: Q3.3.4\7f109307
+Node: Q3.3.5\7f110408
+Node: Q3.4.1\7f111902
+Node: Q3.4.2\7f112545
+Node: Q3.5.1\7f113057
+Node: Q3.5.2\7f114506
+Node: Q3.5.3\7f114924
+Node: Q3.5.4\7f115762
+Node: Q3.5.5\7f116594
+Node: Q3.5.6\7f117734
+Node: Q3.5.7\7f118724
+Node: Q3.5.8\7f120164
+Node: Q3.5.9\7f120911
+Node: Q3.5.10\7f121691
+Node: Q3.5.11\7f122327
+Node: Q3.6.1\7f122880
+Node: Q3.6.2\7f123625
+Node: Q3.6.3\7f124053
+Node: Q3.7.1\7f124553
+Node: Q3.7.2\7f125441
+Node: Q3.7.3\7f126100
+Node: Q3.7.4\7f126522
+Node: Q3.7.5\7f126865
+Node: Q3.7.6\7f127333
+Node: Q3.7.7\7f128048
+Node: Q3.7.8\7f129068
+Node: Q3.8.1\7f129487
+Node: Q3.8.2\7f129947
+Node: Q3.8.3\7f130410
+Node: Q3.8.4\7f131016
+Node: Q3.8.5\7f131735
+Node: Q3.9.1\7f132520
+Node: Q3.9.2\7f133460
+Node: Q3.9.3\7f134058
+Node: Q3.9.4\7f134720
+Node: Q3.10.1\7f135599
+Node: Q3.10.2\7f136417
+Node: Q3.10.3\7f137422
+Node: Q3.10.4\7f138150
+Node: Q3.10.5\7f138533
+Node: Subsystems\7f139585
+Node: Q4.0.1\7f142072
+Node: Q4.0.2\7f142597
+Node: Q4.0.3\7f143155
+Node: Q4.0.4\7f143476
+Node: Q4.0.5\7f143718
+Node: Q4.0.6\7f143949
+Node: Q4.0.7\7f144537
+Node: Q4.0.8\7f144862
+Node: Q4.0.9\7f146089
+Node: Q4.0.10\7f148127
+Node: Q4.0.11\7f148616
+Node: Q4.0.12\7f149494
+Node: Q4.1.1\7f150467
+Node: Q4.1.2\7f150870
+Node: Q4.1.3\7f151197
+Node: Q4.2.1\7f151506
+Node: Q4.2.2\7f152136
+Node: Q4.2.3\7f152376
+Node: Q4.2.4\7f152920
+Node: Q4.3.1\7f153573
+Node: Q4.3.2\7f154157
+Node: Q4.3.3\7f155638
+Node: Q4.3.4\7f155910
+Node: Q4.3.5\7f156587
+Node: Q4.4.1\7f157215
+Node: Q4.4.2\7f158701
+Node: Q4.5.1\7f159905
+Node: Q4.6.1\7f160674
+Node: Q4.7.1\7f165934
+Node: Q4.7.2\7f166889
+Node: Q4.7.3\7f167186
+Node: Q4.7.4\7f167372
+Node: Q4.7.5\7f168256
+Node: Q4.7.6\7f169897
+Node: Miscellaneous\7f170186
+Node: Q5.0.1\7f173599
+Node: Q5.0.2\7f174338
+Node: Q5.0.3\7f175192
+Node: Q5.0.4\7f175894
+Node: Q5.0.5\7f176833
+Node: Q5.0.6\7f178813
+Node: Q5.0.7\7f179470
+Node: Q5.0.8\7f180075
+Node: Q5.0.9\7f180594
+Node: Q5.0.10\7f181108
+Node: Q5.0.11\7f181356
+Node: Q5.0.12\7f181894
+Node: Q5.0.13\7f182811
+Node: Q5.0.14\7f183495
+Node: Q5.0.15\7f184260
+Node: Q5.0.16\7f184557
+Node: Q5.0.17\7f185069
+Node: Q5.0.18\7f185334
+Node: Q5.0.19\7f185528
+Node: Q5.0.20\7f185952
+Node: Q5.1.1\7f186867
+Node: Q5.1.2\7f188936
+Node: Q5.1.3\7f189672
+Node: Q5.1.4\7f193066
+Node: Q5.1.5\7f193601
+Node: Q5.1.6\7f195725
+Node: Q5.1.7\7f197211
+Node: Q5.1.8\7f198804
+Node: Q5.1.9\7f199356
+Node: Q5.1.10\7f200241
+Node: Q5.1.11\7f201372
+Node: Q5.2.1\7f201921
+Node: Q5.2.2\7f202491
+Node: Q5.2.3\7f202908
+Node: Q5.2.4\7f203143
+Node: Q5.3.1\7f204053
+Node: Q5.3.2\7f205274
+Node: Q5.3.3\7f206050
+Node: Q5.3.4\7f206534
+Node: Q5.3.5\7f207201
+Node: Q5.3.6\7f208070
+Node: Q5.3.7\7f208315
+Node: Q5.3.8\7f210505
+Node: Q5.3.9\7f210752
+Node: Q5.3.10\7f211705
+Node: Q5.3.11\7f213789
+Node: Q5.3.12\7f215380
+Node: MS Windows\7f216654
+Node: Q6.0.1\7f218131
+Node: Q6.0.2\7f218878
+Node: Q6.0.3\7f219343
+Node: Q6.0.4\7f219623
+Node: Q6.1.1\7f221902
+Node: Q6.1.2\7f222773
+Node: Q6.1.3\7f223228
+Node: Q6.1.4\7f223510
+Node: Q6.1.5\7f223888
+Node: Q6.1.6\7f224756
+Node: Q6.2.1\7f227062
+Node: Q6.2.2\7f227963
+Node: Q6.2.3\7f228375
+Node: Q6.3.1\7f228664
+Node: Q6.3.2\7f229758
+Node: Q6.3.3\7f232939
+Node: Q6.4.1\7f233208
+Node: Current Events\7f234543
+Node: Q7.0.1\7f235197
+Node: Q7.0.2\7f235836
+Node: Q7.0.3\7f236909
+Node: Q7.0.4\7f237137
\1f
End Tag Table
\1f
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.
\1f
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
\1f
Tag Table:
(Indirect)
Node: Distrib\7f36072
Node: Intro\7f37736
Node: Frame\7f40607
-Node: Point\7f44551
-Node: Echo Area\7f46518
-Node: Mode Line\7f48895
-Node: XEmacs under X\7f53326
-Node: Keystrokes\7f56503
-Node: Intro to Keystrokes\7f57347
-Node: Representing Keystrokes\7f59450
-Node: Key Sequences\7f60807
-Node: String Key Sequences\7f64148
-Node: Meta Key\7f64531
-Node: Super and Hyper Keys\7f66004
-Node: Character Representation\7f72249
-Node: Commands\7f73269
-Node: Pull-down Menus\7f76118
-Node: File Menu\7f79467
-Node: Edit Menu\7f83289
-Node: Apps Menu\7f85672
-Node: Options Menu\7f86162
-Node: Buffers Menu\7f90180
-Node: Tools Menu\7f90487
-Node: Help Menu\7f90978
-Node: Menu Customization\7f91379
-Node: Entering Emacs\7f95609
-Node: Exiting\7f98506
-Node: Command Switches\7f102979
-Node: Startup Paths\7f112343
-Node: Basic\7f119673
-Node: Inserting Text\7f121077
-Node: Moving Point\7f124073
-Node: Erasing\7f127679
-Node: Basic Files\7f128984
-Node: Basic Help\7f130906
-Node: Blank Lines\7f131501
-Node: Continuation Lines\7f133077
-Node: Position Info\7f134744
-Node: Arguments\7f138160
-Node: Undo\7f142259
-Node: Minibuffer\7f145206
-Node: Minibuffer File\7f147816
-Node: Minibuffer Edit\7f149621
-Node: Completion\7f152562
-Node: Completion Example\7f154493
-Node: Completion Commands\7f155588
-Node: Strict Completion\7f158564
-Node: Completion Options\7f160345
-Node: Minibuffer History\7f161853
-Node: Repetition\7f165037
-Node: M-x\7f167882
-Node: Help\7f172976
-Node: Help Summary\7f174386
-Node: Key Help\7f177172
-Node: Name Help\7f178131
-Node: Apropos\7f180776
-Node: Library Keywords\7f183895
-Node: Help Mode\7f186216
-Node: Misc Help\7f186713
-Node: Mark\7f189861
-Node: Setting Mark\7f191715
-Node: Using Region\7f194837
-Node: Marking Objects\7f195574
-Node: Mark Ring\7f197412
-Node: Mouse Selection\7f199128
-Node: Additional Mouse Operations\7f201135
-Node: Killing\7f205339
-Node: Yanking\7f210975
-Node: Kill Ring\7f211778
-Node: Appending Kills\7f213380
-Node: Earlier Kills\7f215417
-Node: Using X Selections\7f218030
-Node: X Clipboard Selection\7f219280
-Node: X Selection Commands\7f221457
-Node: X Cut Buffers\7f222543
-Node: Active Regions\7f223902
-Node: Accumulating Text\7f228482
-Node: Rectangles\7f231555
-Node: Registers\7f235074
-Node: RegPos\7f236528
-Node: RegText\7f237684
-Node: RegRect\7f238790
-Node: RegConfig\7f239669
-Node: RegNumbers\7f240609
-Node: RegFiles\7f241327
-Node: Bookmarks\7f241985
-Node: Display\7f245357
-Node: Scrolling\7f246852
-Node: Horizontal Scrolling\7f250995
-Node: Selective Display\7f252190
-Node: Display Vars\7f253409
-Node: Search\7f256087
-Node: Incremental Search\7f257280
-Node: Non-Incremental Search\7f266208
-Node: Word Search\7f267650
-Node: Regexp Search\7f269268
-Node: Regexps\7f271638
-Node: Search Case\7f285635
-Node: Replace\7f286416
-Node: Unconditional Replace\7f287364
-Node: Regexp Replace\7f288499
-Node: Replacement and Case\7f289434
-Node: Query Replace\7f290414
-Node: Other Repeating Search\7f293641
-Node: Fixit\7f294896
-Node: Kill Errors\7f295476
-Node: Transpose\7f296809
-Node: Fixing Case\7f299213
-Node: Spelling\7f299859
-Node: Files\7f301320
-Node: File Names\7f302630
-Node: Visiting\7f306967
-Node: Saving\7f313799
-Node: Backup\7f318722
-Node: Backup Names\7f320118
-Node: Backup Deletion\7f321601
-Node: Backup Copying\7f322751
-Node: Interlocking\7f324457
-Node: Reverting\7f328585
-Node: Auto Save\7f330497
-Node: Auto Save Files\7f331464
-Node: Auto Save Control\7f333305
-Node: Recover\7f335143
-Node: Version Control\7f336298
-Node: Concepts of VC\7f338336
-Node: Editing with VC\7f339946
-Node: Variables for Check-in/out\7f345202
-Node: Log Entries\7f347101
-Node: Change Logs and VC\7f348281
-Node: Old Versions\7f351548
-Node: VC Status\7f353551
-Node: Renaming and VC\7f355265
-Node: Snapshots\7f355944
-Node: Making Snapshots\7f356445
-Node: Snapshot Caveats\7f357738
-Node: Version Headers\7f359547
-Node: ListDir\7f362246
-Node: Comparing Files\7f364295
-Node: Dired\7f365828
-Node: Dired Enter\7f366499
-Node: Dired Edit\7f367324
-Node: Dired Deletion\7f369071
-Node: Dired Immed\7f372294
-Node: Misc File Ops\7f373570
-Node: Buffers\7f376058
-Node: Select Buffer\7f378216
-Node: List Buffers\7f380011
-Node: Misc Buffer\7f381769
-Node: Kill Buffer\7f383412
-Node: Several Buffers\7f384542
-Node: Windows\7f388409
-Node: Basic Window\7f389120
-Node: Split Window\7f390839
-Node: Other Window\7f392972
-Node: Pop Up Window\7f395403
-Node: Change Window\7f396908
-Node: Mule\7f399816
-Node: Mule Intro\7f401079
-Node: Language Environments\7f402095
-Node: Input Methods\7f404202
-Node: Select Input Method\7f407922
-Node: Coding Systems\7f410077
-Node: Recognize Coding\7f414263
-Node: Specify Coding\7f417589
-Node: Major Modes\7f422520
-Node: Choosing Modes\7f424739
-Node: Indentation\7f427129
-Node: Indentation Commands\7f429224
-Node: Tab Stops\7f431953
-Node: Just Spaces\7f433802
-Node: Text\7f434617
-Node: Text Mode\7f436600
-Node: Nroff Mode\7f438679
-Node: TeX Mode\7f440322
-Node: TeX Editing\7f442574
-Node: TeX Print\7f446008
-Node: Outline Mode\7f449227
-Node: Outline Format\7f450708
-Node: Outline Motion\7f453508
-Node: Outline Visibility\7f455061
-Node: Words\7f457982
-Node: Sentences\7f460929
-Node: Paragraphs\7f463125
-Node: Pages\7f465413
-Node: Filling\7f468013
-Node: Auto Fill\7f468584
-Node: Fill Commands\7f470731
-Node: Fill Prefix\7f472896
-Node: Case\7f475084
-Node: Programs\7f477112
-Node: Program Modes\7f479662
-Node: Lists\7f481894
-Node: Defuns\7f487734
-Node: Grinding\7f490387
-Node: Basic Indent\7f491015
-Node: Multi-line Indent\7f493036
-Node: Lisp Indent\7f494652
-Node: C Indent\7f498102
-Node: Matching\7f503342
-Node: Comments\7f504864
-Node: Balanced Editing\7f511316
-Node: Lisp Completion\7f512330
-Node: Documentation\7f513345
-Node: Change Log\7f514584
-Node: Tags\7f517162
-Node: Tag Syntax\7f518811
-Node: Create Tags Table\7f522755
-Node: Etags Regexps\7f526815
-Node: Select Tags Table\7f531473
-Node: Find Tag\7f535246
-Node: Tags Search\7f538210
-Node: List Tags\7f541666
-Node: Fortran\7f542695
-Node: Fortran Motion\7f543771
-Node: Fortran Indent\7f544591
-Node: ForIndent Commands\7f545276
-Node: ForIndent Num\7f546421
-Node: ForIndent Conv\7f547695
-Node: ForIndent Vars\7f548471
-Node: Fortran Comments\7f549639
-Node: Fortran Columns\7f553237
-Node: Fortran Abbrev\7f554660
-Node: Asm Mode\7f555569
-Node: Running\7f556121
-Node: Compilation\7f557090
-Node: Lisp Modes\7f561940
-Node: Lisp Libraries\7f563213
-Node: Loading\7f563767
-Node: Compiling Libraries\7f568227
-Node: Mocklisp\7f571118
-Node: Lisp Eval\7f571795
-Node: Lisp Debug\7f575435
-Node: Lisp Interaction\7f580862
-Node: External Lisp\7f582217
-Node: Packages\7f584291
-Node: Package Terminology\7f585110
-Node: Using Packages\7f586468
-Node: Building Packages\7f595346
-Node: Available Packages\7f597895
-Node: Abbrevs\7f603278
-Node: Defining Abbrevs\7f605477
-Node: Expanding Abbrevs\7f607924
-Node: Editing Abbrevs\7f610626
-Node: Saving Abbrevs\7f612499
-Node: Dynamic Abbrevs\7f614454
-Node: Picture\7f615756
-Node: Basic Picture\7f618189
-Node: Insert in Picture\7f620474
-Node: Tabs in Picture\7f621896
-Node: Rectangles in Picture\7f623417
-Node: Sending Mail\7f625325
-Node: Mail Format\7f627036
-Node: Mail Headers\7f628386
-Node: Mail Mode\7f634794
-Node: Reading Mail\7f638407
-Node: Calendar/Diary\7f639982
-Node: Calendar Motion\7f641654
-Node: Calendar Unit Motion\7f642537
-Node: Move to Beginning or End\7f644860
-Node: Specified Dates\7f645993
-Node: Scroll Calendar\7f646881
-Node: Mark and Region\7f648672
-Node: General Calendar\7f650578
-Node: LaTeX Calendar\7f652186
-Node: Holidays\7f654200
-Node: Sunrise/Sunset\7f657302
-Node: Lunar Phases\7f660341
-Node: Other Calendars\7f661726
-Node: Calendar Systems\7f663213
-Node: To Other Calendar\7f666324
-Node: From Other Calendar\7f668315
-Node: Mayan Calendar\7f670620
-Node: Diary\7f673815
-Node: Diary Commands\7f675564
-Node: Format of Diary File\7f678887
-Node: Date Formats\7f681757
-Node: Adding to Diary\7f684331
-Node: Special Diary Entries\7f685962
-Node: Calendar Customization\7f691301
-Node: Calendar Customizing\7f692163
-Node: Holiday Customizing\7f695398
-Node: Date Display Format\7f701885
-Node: Time Display Format\7f702843
-Node: Daylight Savings\7f703981
-Node: Diary Customizing\7f707169
-Node: Hebrew/Islamic Entries\7f711790
-Node: Fancy Diary Display\7f715130
-Node: Included Diary Files\7f717046
-Node: Sexp Diary Entries\7f718027
-Node: Appt Customizing\7f723117
-Node: Sorting\7f724163
-Node: Shell\7f728969
-Node: Single Shell\7f730262
-Node: Interactive Shell\7f731876
-Node: Shell Mode\7f735641
-Node: Terminal emulator\7f738132
-Node: Term Mode\7f740441
-Node: Paging in Term\7f741355
-Node: Narrowing\7f742153
-Node: Hardcopy\7f744103
-Node: Recursive Edit\7f745075
-Node: Dissociated Press\7f748062
-Node: CONX\7f750625
-Node: Amusements\7f751649
-Node: Emulation\7f752129
-Node: Customization\7f753989
-Node: Minor Modes\7f755805
-Node: Variables\7f757437
-Node: Examining\7f759393
-Node: Easy Customization\7f760854
-Node: Customization Groups\7f761868
-Node: Changing an Option\7f764797
-Node: Face Customization\7f771067
-Node: Specific Customization\7f772831
-Node: Edit Options\7f775438
-Node: Locals\7f777022
-Node: File Variables\7f780201
-Node: Keyboard Macros\7f784751
-Node: Basic Kbd Macro\7f786922
-Node: Save Kbd Macro\7f788854
-Node: Kbd Macro Query\7f790512
-Node: Key Bindings\7f792454
-Node: Keymaps\7f793328
-Node: Rebinding\7f797178
-Node: Interactive Rebinding\7f797877
-Node: Programmatic Rebinding\7f800066
-Node: Key Bindings Using Strings\7f802873
-Node: Disabling\7f804500
-Node: Syntax\7f806279
-Node: Syntax Entry\7f807160
-Node: Syntax Change\7f811244
-Node: Init File\7f813413
-Node: Init Syntax\7f814877
-Node: Init Examples\7f817228
-Node: Terminal Init\7f821418
-Node: Audible Bell\7f823155
-Node: Faces\7f826586
-Node: Frame Components\7f831428
-Node: X Resources\7f831873
-Node: Geometry Resources\7f833532
-Node: Iconic Resources\7f835980
-Node: Resource List\7f836452
-Node: Face Resources\7f842959
-Node: Widgets\7f846636
-Node: Menubar Resources\7f847575
-Node: Quitting\7f849089
-Node: Lossage\7f852067
-Node: Stuck Recursive\7f852711
-Node: Screen Garbled\7f853417
-Node: Text Garbled\7f854551
-Node: Unasked-for Search\7f855190
-Node: Emergency Escape\7f855975
-Node: Total Frustration\7f857754
-Node: Bugs\7f858385
-Node: Glossary\7f867946
-Node: Manifesto\7f899600
-Node: Key Index\7f923077
-Node: Command Index\7f949004
-Node: Variable Index\7f991590
-Node: Concept Index\7f1007676
+Node: Point\7f44652
+Node: Echo Area\7f46619
+Node: Mode Line\7f48996
+Node: GUI Components\7f53427
+Node: Menubar Basics\7f54657
+Node: Scrollbar Basics\7f56573
+Node: Toolbar Basics\7f57464
+Node: Gutter Basics\7f58131
+Node: Inhibiting\7f60185
+Node: Customizing\7f62556
+Node: XEmacs under X\7f62805
+Node: XEmacs under MS Windows\7f66019
+Node: Keystrokes\7f66434
+Node: Intro to Keystrokes\7f67278
+Node: Representing Keystrokes\7f69381
+Node: Key Sequences\7f70738
+Node: String Key Sequences\7f74079
+Node: Meta Key\7f74462
+Node: Super and Hyper Keys\7f75935
+Node: Character Representation\7f82180
+Node: Commands\7f83200
+Node: Pull-down Menus\7f86049
+Node: File Menu\7f89398
+Node: Edit Menu\7f93220
+Node: Apps Menu\7f95603
+Node: Options Menu\7f96093
+Node: Buffers Menu\7f100111
+Node: Tools Menu\7f100418
+Node: Help Menu\7f100909
+Node: Menu Customization\7f101310
+Node: Entering Emacs\7f105540
+Node: Exiting\7f108437
+Node: Command Switches\7f112910
+Node: Startup Paths\7f122932
+Node: Basic\7f130262
+Node: Inserting Text\7f131666
+Node: Moving Point\7f134662
+Node: Erasing\7f138268
+Node: Basic Files\7f139573
+Node: Basic Help\7f141495
+Node: Blank Lines\7f142090
+Node: Continuation Lines\7f143666
+Node: Position Info\7f145333
+Node: Arguments\7f148749
+Node: Undo\7f152848
+Node: Minibuffer\7f155795
+Node: Minibuffer File\7f158405
+Node: Minibuffer Edit\7f160210
+Node: Completion\7f163151
+Node: Completion Example\7f165082
+Node: Completion Commands\7f166177
+Node: Strict Completion\7f169153
+Node: Completion Options\7f170934
+Node: Minibuffer History\7f172442
+Node: Repetition\7f175626
+Node: M-x\7f178471
+Node: Help\7f183565
+Node: Help Summary\7f184975
+Node: Key Help\7f187761
+Node: Name Help\7f188720
+Node: Apropos\7f191365
+Node: Library Keywords\7f194484
+Node: Help Mode\7f196805
+Node: Misc Help\7f197302
+Node: Mark\7f200450
+Node: Setting Mark\7f202304
+Node: Using Region\7f205426
+Node: Marking Objects\7f206163
+Node: Mark Ring\7f208001
+Node: Mouse Selection\7f209717
+Node: Additional Mouse Operations\7f211724
+Node: Killing\7f215928
+Node: Yanking\7f221564
+Node: Kill Ring\7f222367
+Node: Appending Kills\7f223969
+Node: Earlier Kills\7f226006
+Node: Using X Selections\7f228619
+Node: X Clipboard Selection\7f229869
+Node: X Selection Commands\7f232046
+Node: X Cut Buffers\7f233132
+Node: Active Regions\7f234491
+Node: Accumulating Text\7f239071
+Node: Rectangles\7f242144
+Node: Registers\7f245663
+Node: RegPos\7f247117
+Node: RegText\7f248273
+Node: RegRect\7f249379
+Node: RegConfig\7f250258
+Node: RegNumbers\7f251198
+Node: RegFiles\7f251916
+Node: Bookmarks\7f252574
+Node: Display\7f255946
+Node: Scrolling\7f257441
+Node: Horizontal Scrolling\7f261584
+Node: Selective Display\7f262779
+Node: Display Vars\7f263998
+Node: Search\7f266676
+Node: Incremental Search\7f267869
+Node: Non-Incremental Search\7f276797
+Node: Word Search\7f278239
+Node: Regexp Search\7f279857
+Node: Regexps\7f282227
+Node: Search Case\7f296224
+Node: Replace\7f297005
+Node: Unconditional Replace\7f297953
+Node: Regexp Replace\7f299088
+Node: Replacement and Case\7f300023
+Node: Query Replace\7f301003
+Node: Other Repeating Search\7f304230
+Node: Fixit\7f305485
+Node: Kill Errors\7f306065
+Node: Transpose\7f307398
+Node: Fixing Case\7f309802
+Node: Spelling\7f310448
+Node: Files\7f311909
+Node: File Names\7f313219
+Node: Visiting\7f317556
+Node: Saving\7f324388
+Node: Backup\7f329311
+Node: Backup Names\7f330707
+Node: Backup Deletion\7f332190
+Node: Backup Copying\7f333340
+Node: Interlocking\7f335046
+Node: Reverting\7f339174
+Node: Auto Save\7f341086
+Node: Auto Save Files\7f342053
+Node: Auto Save Control\7f343894
+Node: Recover\7f345732
+Node: Version Control\7f346887
+Node: Concepts of VC\7f348925
+Node: Editing with VC\7f350535
+Node: Variables for Check-in/out\7f355791
+Node: Log Entries\7f357690
+Node: Change Logs and VC\7f358870
+Node: Old Versions\7f362137
+Node: VC Status\7f364140
+Node: Renaming and VC\7f365854
+Node: Snapshots\7f366533
+Node: Making Snapshots\7f367034
+Node: Snapshot Caveats\7f368327
+Node: Version Headers\7f370136
+Node: ListDir\7f372835
+Node: Comparing Files\7f374884
+Node: Dired\7f376417
+Node: Dired Enter\7f377088
+Node: Dired Edit\7f377913
+Node: Dired Deletion\7f379660
+Node: Dired Immed\7f382883
+Node: Misc File Ops\7f384159
+Node: Buffers\7f386647
+Node: Select Buffer\7f388805
+Node: List Buffers\7f390600
+Node: Misc Buffer\7f392358
+Node: Kill Buffer\7f394001
+Node: Several Buffers\7f395131
+Node: Windows\7f398998
+Node: Basic Window\7f399709
+Node: Split Window\7f401428
+Node: Other Window\7f403561
+Node: Pop Up Window\7f405992
+Node: Change Window\7f407497
+Node: Mule\7f410405
+Node: Mule Intro\7f411668
+Node: Language Environments\7f412684
+Node: Input Methods\7f414791
+Node: Select Input Method\7f418511
+Node: Coding Systems\7f420666
+Node: Recognize Coding\7f424852
+Node: Specify Coding\7f428178
+Node: Major Modes\7f433109
+Node: Choosing Modes\7f435328
+Node: Indentation\7f437718
+Node: Indentation Commands\7f439813
+Node: Tab Stops\7f442542
+Node: Just Spaces\7f444391
+Node: Text\7f445206
+Node: Text Mode\7f447189
+Node: Nroff Mode\7f449268
+Node: TeX Mode\7f450911
+Node: TeX Editing\7f453163
+Node: TeX Print\7f456597
+Node: Outline Mode\7f459816
+Node: Outline Format\7f461297
+Node: Outline Motion\7f464097
+Node: Outline Visibility\7f465650
+Node: Words\7f468571
+Node: Sentences\7f471518
+Node: Paragraphs\7f473714
+Node: Pages\7f476002
+Node: Filling\7f478602
+Node: Auto Fill\7f479173
+Node: Fill Commands\7f481320
+Node: Fill Prefix\7f483485
+Node: Case\7f485673
+Node: Programs\7f487701
+Node: Program Modes\7f490251
+Node: Lists\7f492483
+Node: Defuns\7f498323
+Node: Grinding\7f500976
+Node: Basic Indent\7f501604
+Node: Multi-line Indent\7f503625
+Node: Lisp Indent\7f505241
+Node: C Indent\7f508691
+Node: Matching\7f513931
+Node: Comments\7f515453
+Node: Balanced Editing\7f521905
+Node: Lisp Completion\7f522919
+Node: Documentation\7f523934
+Node: Change Log\7f525173
+Node: Tags\7f527751
+Node: Tag Syntax\7f529400
+Node: Create Tags Table\7f533344
+Node: Etags Regexps\7f537404
+Node: Select Tags Table\7f542062
+Node: Find Tag\7f545835
+Node: Tags Search\7f548799
+Node: List Tags\7f552255
+Node: Fortran\7f553284
+Node: Fortran Motion\7f554360
+Node: Fortran Indent\7f555180
+Node: ForIndent Commands\7f555865
+Node: ForIndent Num\7f557010
+Node: ForIndent Conv\7f558284
+Node: ForIndent Vars\7f559060
+Node: Fortran Comments\7f560228
+Node: Fortran Columns\7f563826
+Node: Fortran Abbrev\7f565249
+Node: Asm Mode\7f566158
+Node: Running\7f566710
+Node: Compilation\7f567679
+Node: Lisp Modes\7f572529
+Node: Lisp Libraries\7f573802
+Node: Loading\7f574356
+Node: Compiling Libraries\7f578816
+Node: Mocklisp\7f581707
+Node: Lisp Eval\7f582384
+Node: Lisp Debug\7f586024
+Node: Lisp Interaction\7f591451
+Node: External Lisp\7f592806
+Node: Packages\7f594880
+Node: Package Terminology\7f595735
+Node: Using Packages\7f597093
+Node: Building Packages\7f605971
+Node: Creating Packages\7f608514
+Node: Available Packages\7f613514
+Node: Abbrevs\7f618787
+Node: Defining Abbrevs\7f620986
+Node: Expanding Abbrevs\7f623433
+Node: Editing Abbrevs\7f626135
+Node: Saving Abbrevs\7f628008
+Node: Dynamic Abbrevs\7f629963
+Node: Picture\7f631265
+Node: Basic Picture\7f633698
+Node: Insert in Picture\7f635983
+Node: Tabs in Picture\7f637405
+Node: Rectangles in Picture\7f638926
+Node: Sending Mail\7f640834
+Node: Mail Format\7f642545
+Node: Mail Headers\7f643895
+Node: Mail Mode\7f650303
+Node: Reading Mail\7f653916
+Node: Calendar/Diary\7f655491
+Node: Calendar Motion\7f657165
+Node: Calendar Unit Motion\7f658048
+Node: Move to Beginning or End\7f660371
+Node: Specified Dates\7f661504
+Node: Scroll Calendar\7f662392
+Node: Mark and Region\7f664183
+Node: General Calendar\7f666089
+Node: LaTeX Calendar\7f667697
+Node: Holidays\7f669711
+Node: Sunrise/Sunset\7f672813
+Node: Lunar Phases\7f675852
+Node: Other Calendars\7f677237
+Node: Calendar Systems\7f678724
+Node: To Other Calendar\7f681835
+Node: From Other Calendar\7f683826
+Node: Mayan Calendar\7f686131
+Node: Diary\7f689326
+Node: Diary Commands\7f691075
+Node: Format of Diary File\7f694398
+Node: Date Formats\7f697268
+Node: Adding to Diary\7f699842
+Node: Special Diary Entries\7f701473
+Node: Calendar Customization\7f706812
+Node: Calendar Customizing\7f707674
+Node: Holiday Customizing\7f710909
+Node: Date Display Format\7f717396
+Node: Time Display Format\7f718354
+Node: Daylight Savings\7f719492
+Node: Diary Customizing\7f722680
+Node: Hebrew/Islamic Entries\7f727301
+Node: Fancy Diary Display\7f730641
+Node: Included Diary Files\7f732557
+Node: Sexp Diary Entries\7f733538
+Node: Appt Customizing\7f738628
+Node: Sorting\7f739674
+Node: Shell\7f744480
+Node: Single Shell\7f745773
+Node: Interactive Shell\7f747387
+Node: Shell Mode\7f751152
+Node: Terminal emulator\7f753643
+Node: Term Mode\7f755952
+Node: Paging in Term\7f756866
+Node: Narrowing\7f757664
+Node: Hardcopy\7f759614
+Node: Recursive Edit\7f760586
+Node: Dissociated Press\7f763573
+Node: CONX\7f766136
+Node: Amusements\7f767160
+Node: Emulation\7f767640
+Node: Customization\7f769500
+Node: Minor Modes\7f771316
+Node: Variables\7f772948
+Node: Examining\7f774904
+Node: Easy Customization\7f776365
+Node: Customization Groups\7f777379
+Node: Changing an Option\7f780308
+Node: Face Customization\7f786578
+Node: Specific Customization\7f788342
+Node: Edit Options\7f790949
+Node: Locals\7f792533
+Node: File Variables\7f795712
+Node: Keyboard Macros\7f800262
+Node: Basic Kbd Macro\7f802433
+Node: Save Kbd Macro\7f804365
+Node: Kbd Macro Query\7f806023
+Node: Key Bindings\7f807965
+Node: Keymaps\7f808839
+Node: Rebinding\7f812689
+Node: Interactive Rebinding\7f813388
+Node: Programmatic Rebinding\7f815577
+Node: Key Bindings Using Strings\7f818384
+Node: Disabling\7f820011
+Node: Syntax\7f821790
+Node: Syntax Entry\7f822671
+Node: Syntax Change\7f826755
+Node: Init File\7f828924
+Node: Init Syntax\7f830388
+Node: Init Examples\7f832739
+Node: Terminal Init\7f836929
+Node: Audible Bell\7f838666
+Node: Faces\7f842097
+Node: Frame Components\7f846939
+Node: X Resources\7f847384
+Node: Geometry Resources\7f849043
+Node: Iconic Resources\7f851491
+Node: Resource List\7f851963
+Node: Face Resources\7f858470
+Node: Widgets\7f862147
+Node: Menubar Resources\7f863086
+Node: Quitting\7f864600
+Node: Lossage\7f867578
+Node: Stuck Recursive\7f868222
+Node: Screen Garbled\7f868928
+Node: Text Garbled\7f870062
+Node: Unasked-for Search\7f870701
+Node: Emergency Escape\7f871486
+Node: Total Frustration\7f873265
+Node: Bugs\7f873896
+Node: Glossary\7f883457
+Node: Manifesto\7f915111
+Node: Key Index\7f938588
+Node: Command Index\7f964515
+Node: Variable Index\7f1007101
+Node: Concept Index\7f1023187
\1f
End Tag Table
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
* 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.
\1f
File: xemacs.info, Node: Point, Next: Echo Area, Prev: Frame, Up: Frame
translation approved by the author instead of in the original English.
\1f
-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
=============
appropriately.
\1f
-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.
+
+\1f
+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'.)
+
+\1f
+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.
+
+\1f
+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.
+
+\1f
+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.
+
+\1f
+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'.
+
+\1f
+File: xemacs.info, Node: Customizing, Prev: Inhibiting, Up: GUI Components
+
+Changing the Position, Orientation, and Appearance of GUI Components
+====================================================================
+
+ #### Not documented yet.
+
+\1f
+File: xemacs.info, Node: XEmacs under X, Next: XEmacs under MS Windows, Prev: GUI Components, Up: Frame
Using XEmacs Under the X Window System
======================================
things, and the title is simply what appears above the window.)
\1f
+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.
+
+\1f
File: xemacs.info, Node: Keystrokes, Next: Pull-down Menus, Prev: Frame, Up: Top
Keystrokes, Key Sequences, and Key Bindings
For some of the menu items, there are sub-menus which you will need to
select.
-\1f
-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::.
-
-\1f
-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.
-
-\1f
-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.
-
-\1f
-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.
-
-\1f
-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.
-
-\1f
-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 <RET>' 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.
-
translation approved by the author instead of in the original English.
\1f
+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::.
+
+\1f
+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.
+
+\1f
+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.
+
+\1f
+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.
+
+\1f
+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.
+
+\1f
+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 <RET>' 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.
+
+\1f
File: xemacs.info, Node: Exiting, Next: Command Switches, Prev: Entering Emacs, Up: Top
Exiting Emacs
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
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'
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.
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
`-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
*Note Display Vars::, for additional variables that affect how text
is displayed.
-\1f
-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
-
-\1f
-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 <META> 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 <META> 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.
-
-\1f
-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.
-
-\1f
-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
-<RET>). 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 <RET>.
-
- The simplest way to enter a minibuffer argument is to type the text
-you want, terminated by <RET> 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.
-
translation approved by the author instead of in the original English.
\1f
+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
+
+\1f
+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 <META> 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 <META> 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.
+
+\1f
+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.
+
+\1f
+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
+<RET>). 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 <RET>.
+
+ The simplest way to enter a minibuffer argument is to type the text
+you want, terminated by <RET> 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.
+
+\1f
File: xemacs.info, Node: Minibuffer File, Next: Minibuffer Edit, Prev: Minibuffer, Up: Minibuffer
Minibuffers for File Names
symbol property listed in the Apropos buffer, you can click on it with
`Mouse-2' or move there and type <RET>.
-\1f
-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
-
-\1f
-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.
-
-`<SPC>'
- Scroll forward.
-
-`<DEL>'
-`<BS>'
- 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.
-
-\1f
-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 <RET>' 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 <ESC>, because `<ESC> 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.
-
-\1f
-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.
-
-\1f
-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-<SPC>'
- 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-<SPC>' 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-<SPC>' 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-<SPC>'; there is no such
-character. When you type <SPC> while holding down <CTRL>, 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-<SPC>' does not produce `C-@', you should
-think of this character as `C-<SPC>'.
-
- 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.
-
-\1f
-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 <TAB>' or `C-M-\' (*note Indentation::).
-
-\1f
-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.
-
+2000-12-31 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.39 is released.
+
2000-12-05 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.38 is released.
+2000-12-31 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.39 is released.
+
+2000-12-27 Martin Buchholz <martin@xemacs.org>
+
+ * 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 <stephen@xemacs.org>
+
+ * 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 <jorma.laaksonen@hut.fi>
+
+ * package-admin.el: Allow package removal from
+ early-package-load-path.
+
+2000-12-15 Andreas Jaeger <aj@suse.de>
+
+ * about.el (about-maintainer-info): Update my entry.
+
+2000-12-11 Matt Tucker <tuck@whistlingfish.net>
+
+ * packages.el (locate-library): Add support for bzip2
+ compressed .el files.
+
+2000-12-12 Andy Piper <andy@xemacs.org>
+
+ * package-net.el: new file.
+
+2000-12-01 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+
+ * font-lock.el: Add missing C++ keywords.
+
+2000-12-08 Adrian Aichner <adrian@xemacs.org>
+
+ * 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 <martin@xemacs.org>
* XEmacs 21.2.38 is released.
(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"))
(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)
(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 (( <x> )) ... ) into (or <x> (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 <true-constant> <then> <else...>) ==> <then>
(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
(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))
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))
))
"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
;; 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)
(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
(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
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.
: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]*$")))
(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)
+2000-12-31 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.39 is released.
+
+2000-12-30 Andy Piper <andy@xemacs.org>
+
+ * 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 <martin@xemacs.org>
* XEmacs 21.2.38 is released.
#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. */
#include <X11/Xlib.h>
#include <X11/IntrinsicP.h>
#include <X11/StringDefs.h>
+
+#include "lwlib-internal.h"
#include "../src/xmu.h"
#include "xlwtabsP.h"
#include "xlwgcs.h"
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) ;
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) ;
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) && \
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)) ;
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.
*/
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) ;
+ }
}
*/
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 ;
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 ) ;
{
display_rows = tw->tabs.numRows ;
real_rows = tw->tabs.realRows ;
- assert( display_rows >= real_rows ) ;
+ assert( display_rows <= real_rows ) ;
if( real_rows > 1 )
{
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;
}
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)
{
+2000-12-31 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.39 is released.
+
+2000-12-05 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * internals/internals.texi (General Coding Rules): further document
+ usage of symsinit.h. Reorder slightly.
+
+2000-11-29 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * xemacs/packages.texi (Creating Packages): new node.
+
2000-12-05 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.38 is released.
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{<config.h>} (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}
@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
@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
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:
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
@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.
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
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
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