-This is Info file ../info/info.info, produced by Makeinfo version 1.68
-from the input file info.texi.
+This is ../info/info.info, produced by makeinfo version 4.0 from
+info.texi.
INFO-DIR-SECTION Texinfo documentation system
START-INFO-DIR-ENTRY
you to the `Previous' node. When you get there, you can do an `n'
again to return here.
- This all probably seems insultingly simple so far, but *do not* be
+ This all probably seems insultingly simple so far, but _do not_ be
led into skimming. Things will get more complicated soon. Also, do
not try a new command until you are told it is time to. Otherwise, you
may make Info skip past an important warning that was coming up.
When you type the space, the two lines that were at the bottom of
the screen appear at the top, followed by more lines. Delete takes the
-two lines from the top and moves them to the bottom, *usually*, but if
+two lines from the top and moves them to the bottom, _usually_, but if
there are not a full screen's worth of lines above them they may not
make it all the way to the bottom.
by looking at it, then the node does not have a menu and the `m'
command is not available.
- The command to go to one of the subnodes is `m'--but *do not do it
-yet!* Before you use `m', you must understand the difference between
+ The command to go to one of the subnodes is `m'--but _do not do it
+yet!_ Before you use `m', you must understand the difference between
commands and arguments. So far, you have learned several commands that
do not need arguments. When you type one, Info processes it and is
instantly ready for another command. The `m' command is different: it
other hand, is usually used to "stay on the same level but go backwards"
You can go back to the node `Help-M' by typing the command `u' for
-"Up". That puts you at the *front* of the node--to get back to where
+"Up". That puts you at the _front_ of the node--to get back to where
you were reading you have to type some <SPC>s.
>> Now type `u' to move back up to `Help-M'.
Then follow directions again and you will end up back here.
- Note the difference between `l' and `p': `l' moves to where *you*
+ Note the difference between `l' and `p': `l' moves to where _you_
last were, whereas `p' always moves to the node which the header says
is the `Previous' node (from this node, to `Help-M').
which leads (directly, or indirectly through other menus), to all the
nodes that exist.
- >> Try doing a `d', then do an `l' to return here (yes, *do*
+ >> Try doing a `d', then do an `l' to return here (yes, _do_
return).
Sometimes, in Info documentation, you will see a cross reference.
This chapter describes various advanced Info commands, and how to
write an Info as distinct from a Texinfo file. (However, in most
-cases, writing a Texinfo file is better, since you can use it *both* to
+cases, writing a Texinfo file is better, since you can use it _both_ to
generate an Info file and to make a printed manual. *Note Overview of
Texinfo: (texinfo)Top.)
this node has one but you cannot see it), and it ends with either a
<^_>, a <^L>, or the end of file. Note: If you put in a <^L> to end a
new node, be sure that there is a <^_> after it to start the next one,
-since <^L> cannot *start* a node. Also, a nicer way to make a node
-boundary be a page boundary as well is to put a <^L> *right after* the
+since <^L> cannot _start_ a node. Also, a nicer way to make a node
+boundary be a page boundary as well is to put a <^L> _right after_ the
<^_>.
The <^_> starting a node must be followed by a newline or a <^L>
The Info Directory is simply the menu of the node `(dir)Top'--that
is, node `Top' in file `.../info/dir'. You can put new entries in that
-menu just like any other menu. The Info Directory is *not* the same as
+menu just like any other menu. The Info Directory is _not_ the same as
the file directory called `info'. It happens that many of Info's files
live on that file directory, but they do not have to; and files on that
directory are not automatically listed in the Info Directory node.
Also, although the Info node graph is claimed to be a "hierarchy",
-in fact it can be *any* directed graph. Shared structures and pointer
+in fact it can be _any_ directed graph. Shared structures and pointer
cycles are perfectly possible, and can be used if they are appropriate
to the meaning to be expressed. There is no need for all the nodes in
a file to form a connected structure. In fact, this file has two
A cross reference can be placed anywhere in the text, unlike a menu
item which must go at the front of a line. A cross reference looks
like a menu item except that it has `*note' instead of `*'. It
-*cannot* be terminated by a `)', because `)''s are so often part of
+_cannot_ be terminated by a `)', because `)''s are so often part of
node names. If you wish to enclose a cross reference in parentheses,
terminate it with a period first. Here are two examples of cross
references pointers:
\1f
Tag Table:
-Node: Top\7f1093
-Node: Getting Started\7f1638
-Node: Help-Small-Screen\7f2386
-Node: Help\7f4135
-Node: Help-P\7f5165
-Node: Help-^L\7f6027
-Node: Help-M\7f8905
-Node: Help-FOO\7f14885
-Node: Help-Adv\7f15623
-Node: Help-Cross\7f18298
-Node: Help-Q\7f18944
-Node: Advanced Info\7f19571
-Node: Expert\7f20549
-Node: Add\7f23063
-Node: Menus\7f26423
-Node: Cross-refs\7f29297
-Node: Tags\7f29999
-Node: Checking\7f31301
-Node: Emacs Info Variables\7f32254
-Node: Creating an Info File\7f33244
+Node: Top\7f1067
+Node: Getting Started\7f1612
+Node: Help-Small-Screen\7f2360
+Node: Help\7f4109
+Node: Help-P\7f5139
+Node: Help-^L\7f6001
+Node: Help-M\7f8879
+Node: Help-FOO\7f14859
+Node: Help-Adv\7f15597
+Node: Help-Cross\7f18272
+Node: Help-Q\7f18918
+Node: Advanced Info\7f19545
+Node: Expert\7f20523
+Node: Add\7f23037
+Node: Menus\7f26397
+Node: Cross-refs\7f29271
+Node: Tags\7f29973
+Node: Checking\7f31275
+Node: Emacs Info Variables\7f32228
+Node: Creating an Info File\7f33218
\1f
End Tag Table
-This is Info file ../info/internals.info, produced by Makeinfo version
-1.68 from the input file internals/internals.texi.
+This is ../info/internals.info, produced by makeinfo version 4.0 from
+internals/internals.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
\1f
Indirect:
-internals.info-1: 1796
-internals.info-2: 45950
-internals.info-3: 93024
-internals.info-4: 141398
-internals.info-5: 183429
-internals.info-6: 232850
-internals.info-7: 281580
-internals.info-8: 331037
+internals.info-1: 1770
+internals.info-2: 45926
+internals.info-3: 92999
+internals.info-4: 141367
+internals.info-5: 183398
+internals.info-6: 232819
+internals.info-7: 281549
+internals.info-8: 331006
\1f
Tag Table:
(Indirect)
-Node: Top\7f1796
-Node: A History of Emacs\7f6376
-Node: Through Version 18\7f7901
-Node: Lucid Emacs\7f11322
-Node: GNU Emacs 19\7f14340
-Node: GNU Emacs 20\7f16523
-Node: XEmacs\7f16950
-Node: XEmacs From the Outside\7f20129
-Node: The Lisp Language\7f21897
-Node: XEmacs From the Perspective of Building\7f31442
-Node: XEmacs From the Inside\7f37567
-Node: The XEmacs Object System (Abstractly Speaking)\7f45950
-Node: How Lisp Objects Are Represented in C\7f60038
-Node: Rules When Writing New C Code\7f68600
-Node: General Coding Rules\7f69404
-Node: Writing Lisp Primitives\7f74564
-Node: Adding Global Lisp Variables\7f85734
-Node: Coding for Mule\7f89372
-Node: Character-Related Data Types\7f90351
-Node: Working With Character and Byte Positions\7f93024
-Node: Conversion to and from External Data\7f96774
-Node: General Guidelines for Writing Mule-Aware Code\7f101655
-Node: An Example of Mule-Aware Code\7f103686
-Node: Techniques for XEmacs Developers\7f105673
-Node: A Summary of the Various XEmacs Modules\7f109446
-Node: Low-Level Modules\7f110266
-Node: Basic Lisp Modules\7f117788
-Node: Modules for Standard Editing Operations\7f126112
-Node: Editor-Level Control Flow Modules\7f132000
-Node: Modules for the Basic Displayable Lisp Objects\7f135447
-Node: Modules for other Display-Related Lisp Objects\7f137969
-Node: Modules for the Redisplay Mechanism\7f139047
-Node: Modules for Interfacing with the File System\7f141398
-Node: Modules for Other Aspects of the Lisp Interpreter and Object System\7f145096
-Node: Modules for Interfacing with the Operating System\7f150550
-Node: Modules for Interfacing with X Windows\7f158211
-Node: Modules for Internationalization\7f161647
-Node: Allocation of Objects in XEmacs Lisp\7f164284
-Node: Introduction to Allocation\7f164838
-Node: Garbage Collection\7f170301
-Node: GCPROing\7f173254
-Node: Garbage Collection - Step by Step\7f180065
-Node: Invocation\7f180457
-Node: garbage_collect_1\7f183429
-Node: mark_object\7f192909
-Node: gc_sweep\7f194721
-Node: sweep_lcrecords_1\7f199784
-Node: compact_string_chars\7f200779
-Node: sweep_strings\7f202959
-Node: sweep_bit_vectors_1\7f203924
-Node: Integers and Characters\7f204600
-Node: Allocation from Frob Blocks\7f205352
-Node: lrecords\7f206956
-Node: Low-level allocation\7f219418
-Node: Pure Space\7f223586
-Node: Cons\7f223761
-Node: Vector\7f224477
-Node: Bit Vector\7f225054
-Node: Symbol\7f225547
-Node: Marker\7f226116
-Node: String\7f226671
-Node: Compiled Function\7f230286
-Node: Events and the Event Loop\7f230455
-Node: Introduction to Events\7f230934
-Node: Main Loop\7f232850
-Node: Specifics of the Event Gathering Mechanism\7f236426
-Node: Specifics About the Emacs Event\7f248879
-Node: The Event Stream Callback Routines\7f249134
-Node: Other Event Loop Functions\7f249379
-Node: Converting Events\7f250519
-Node: Dispatching Events; The Command Builder\7f251128
-Node: Evaluation; Stack Frames; Bindings\7f251363
-Node: Evaluation\7f251705
-Node: Dynamic Binding; The specbinding Stack; Unwind-Protects\7f258245
-Node: Simple Special Forms\7f260629
-Node: Catch and Throw\7f261411
-Node: Symbols and Variables\7f263986
-Node: Introduction to Symbols\7f264250
-Node: Obarrays\7f265288
-Node: Symbol Values\7f268821
-Node: Buffers and Textual Representation\7f271109
-Node: Introduction to Buffers\7f271767
-Node: The Text in a Buffer\7f274430
-Node: Buffer Lists\7f281580
-Node: Markers and Extents\7f283531
-Node: Bufbytes and Emchars\7f285796
-Node: The Buffer Object\7f286011
-Node: MULE Character Sets and Encodings\7f289491
-Node: Character Sets\7f290553
-Node: Encodings\7f293996
-Node: Japanese EUC (Extended Unix Code)\7f295063
-Node: JIS7\7f295877
-Node: Internal Mule Encodings\7f297227
-Node: Internal String Encoding\7f299057
-Node: Internal Character Encoding\7f301170
-Node: CCL\7f302894
-Node: The Lisp Reader and Compiler\7f309646
-Node: Lstreams\7f309859
-Node: Creating an Lstream\7f310890
-Node: Lstream Types\7f312100
-Node: Lstream Functions\7f312352
-Node: Lstream Methods\7f315921
-Node: Consoles; Devices; Frames; Windows\7f319064
-Node: Introduction to Consoles; Devices; Frames; Windows\7f319379
-Node: Point\7f321871
-Node: Window Hierarchy\7f323150
-Node: The Window Object\7f327600
-Node: The Redisplay Mechanism\7f331037
-Node: Critical Redisplay Sections\7f331829
-Node: Line Start Cache\7f332784
-Node: Redisplay Piece by Piece\7f336021
-Node: Extents\7f338057
-Node: Introduction to Extents\7f338595
-Node: Extent Ordering\7f339721
-Node: Format of the Extent Info\7f340962
-Node: Zero-Length Extents\7f342850
-Node: Mathematics of Extent Ordering\7f344248
-Node: Extent Fragments\7f349005
-Node: Faces\7f350092
-Node: Glyphs\7f350208
-Node: Specifiers\7f353226
-Node: Menus\7f353355
-Node: Subprocesses\7f355613
-Node: Interface to X Windows\7f357589
-Node: Index\7f357760
+Node: Top\7f1770
+Node: A History of Emacs\7f6352
+Node: Through Version 18\7f7877
+Node: Lucid Emacs\7f11298
+Node: GNU Emacs 19\7f14316
+Node: GNU Emacs 20\7f16499
+Node: XEmacs\7f16926
+Node: XEmacs From the Outside\7f20105
+Node: The Lisp Language\7f21873
+Node: XEmacs From the Perspective of Building\7f31418
+Node: XEmacs From the Inside\7f37543
+Node: The XEmacs Object System (Abstractly Speaking)\7f45926
+Node: How Lisp Objects Are Represented in C\7f60014
+Node: Rules When Writing New C Code\7f68576
+Node: General Coding Rules\7f69380
+Node: Writing Lisp Primitives\7f74540
+Node: Adding Global Lisp Variables\7f85709
+Node: Coding for Mule\7f89347
+Node: Character-Related Data Types\7f90326
+Node: Working With Character and Byte Positions\7f92999
+Node: Conversion to and from External Data\7f96749
+Node: General Guidelines for Writing Mule-Aware Code\7f101630
+Node: An Example of Mule-Aware Code\7f103661
+Node: Techniques for XEmacs Developers\7f105648
+Node: A Summary of the Various XEmacs Modules\7f109415
+Node: Low-Level Modules\7f110235
+Node: Basic Lisp Modules\7f117757
+Node: Modules for Standard Editing Operations\7f126081
+Node: Editor-Level Control Flow Modules\7f131969
+Node: Modules for the Basic Displayable Lisp Objects\7f135416
+Node: Modules for other Display-Related Lisp Objects\7f137938
+Node: Modules for the Redisplay Mechanism\7f139016
+Node: Modules for Interfacing with the File System\7f141367
+Node: Modules for Other Aspects of the Lisp Interpreter and Object System\7f145065
+Node: Modules for Interfacing with the Operating System\7f150519
+Node: Modules for Interfacing with X Windows\7f158180
+Node: Modules for Internationalization\7f161616
+Node: Allocation of Objects in XEmacs Lisp\7f164253
+Node: Introduction to Allocation\7f164807
+Node: Garbage Collection\7f170270
+Node: GCPROing\7f173223
+Node: Garbage Collection - Step by Step\7f180034
+Node: Invocation\7f180426
+Node: garbage_collect_1\7f183398
+Node: mark_object\7f192878
+Node: gc_sweep\7f194690
+Node: sweep_lcrecords_1\7f199753
+Node: compact_string_chars\7f200748
+Node: sweep_strings\7f202928
+Node: sweep_bit_vectors_1\7f203893
+Node: Integers and Characters\7f204569
+Node: Allocation from Frob Blocks\7f205321
+Node: lrecords\7f206925
+Node: Low-level allocation\7f219387
+Node: Pure Space\7f223555
+Node: Cons\7f223730
+Node: Vector\7f224446
+Node: Bit Vector\7f225023
+Node: Symbol\7f225516
+Node: Marker\7f226085
+Node: String\7f226640
+Node: Compiled Function\7f230255
+Node: Events and the Event Loop\7f230424
+Node: Introduction to Events\7f230903
+Node: Main Loop\7f232819
+Node: Specifics of the Event Gathering Mechanism\7f236395
+Node: Specifics About the Emacs Event\7f248848
+Node: The Event Stream Callback Routines\7f249103
+Node: Other Event Loop Functions\7f249348
+Node: Converting Events\7f250488
+Node: Dispatching Events; The Command Builder\7f251097
+Node: Evaluation; Stack Frames; Bindings\7f251332
+Node: Evaluation\7f251674
+Node: Dynamic Binding; The specbinding Stack; Unwind-Protects\7f258214
+Node: Simple Special Forms\7f260598
+Node: Catch and Throw\7f261380
+Node: Symbols and Variables\7f263955
+Node: Introduction to Symbols\7f264219
+Node: Obarrays\7f265257
+Node: Symbol Values\7f268790
+Node: Buffers and Textual Representation\7f271078
+Node: Introduction to Buffers\7f271736
+Node: The Text in a Buffer\7f274399
+Node: Buffer Lists\7f281549
+Node: Markers and Extents\7f283500
+Node: Bufbytes and Emchars\7f285765
+Node: The Buffer Object\7f285980
+Node: MULE Character Sets and Encodings\7f289460
+Node: Character Sets\7f290522
+Node: Encodings\7f293965
+Node: Japanese EUC (Extended Unix Code)\7f295032
+Node: JIS7\7f295846
+Node: Internal Mule Encodings\7f297196
+Node: Internal String Encoding\7f299026
+Node: Internal Character Encoding\7f301139
+Node: CCL\7f302863
+Node: The Lisp Reader and Compiler\7f309615
+Node: Lstreams\7f309828
+Node: Creating an Lstream\7f310859
+Node: Lstream Types\7f312069
+Node: Lstream Functions\7f312321
+Node: Lstream Methods\7f315890
+Node: Consoles; Devices; Frames; Windows\7f319033
+Node: Introduction to Consoles; Devices; Frames; Windows\7f319348
+Node: Point\7f321840
+Node: Window Hierarchy\7f323119
+Node: The Window Object\7f327569
+Node: The Redisplay Mechanism\7f331006
+Node: Critical Redisplay Sections\7f331798
+Node: Line Start Cache\7f332753
+Node: Redisplay Piece by Piece\7f335990
+Node: Extents\7f338026
+Node: Introduction to Extents\7f338564
+Node: Extent Ordering\7f339690
+Node: Format of the Extent Info\7f340931
+Node: Zero-Length Extents\7f342819
+Node: Mathematics of Extent Ordering\7f344217
+Node: Extent Fragments\7f348974
+Node: Faces\7f350061
+Node: Glyphs\7f350177
+Node: Specifiers\7f353195
+Node: Menus\7f353324
+Node: Subprocesses\7f355582
+Node: Interface to X Windows\7f357558
+Node: Index\7f357729
\1f
End Tag Table
-This is Info file ../info/internals.info, produced by Makeinfo version
-1.68 from the input file internals/internals.texi.
+This is ../info/internals.info, produced by makeinfo version 4.0 from
+internals/internals.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
* Index:: Index including concepts, functions, variables,
and other terms.
- -- The Detailed Node Listing --
+ --- The Detailed Node Listing ---
Here are other nodes that are inferiors of those already listed,
mentioned here so you can get to them in one step:
would be impossible to pre-determine and pre-specify the information for
all possible configurations.
- In fact, the `s/' and `m/' files are basically *evil*, since they
+ In fact, the `s/' and `m/' files are basically _evil_, since they
contain unmaintainable platform-specific hard-coded information.
XEmacs has been moving in the direction of having all system-specific
information be determined dynamically by `configure'. Perhaps someday
features of your system) from template files. You then run `make',
which compiles the auxiliary code and programs in `lib-src/' and
`lwlib/' and the main XEmacs executable in `src/'. The result of
-compiling and linking is an executable called `temacs', which is *not*
+compiling and linking is an executable called `temacs', which is _not_
the final XEmacs executable. `temacs' by itself is not intended to
function as an editor or even display any windows on the screen, and if
you simply run it, it will exit immediately. The `Makefile' runs
-This is Info file ../info/internals.info, produced by Makeinfo version
-1.68 from the input file internals/internals.texi.
+This is ../info/internals.info, produced by makeinfo version 4.0 from
+internals/internals.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
some extents when the text they are referring to is deleted) are
temporary. Note that some permanent objects, such as faces and coding
systems, cannot be deleted. Note also that windows are unique in that
-they can be *undeleted* after having previously been deleted. (This
+they can be _undeleted_ after having previously been deleted. (This
happens as a result of restoring a window configuration.)
Note that many types of objects have a "read syntax", i.e. a way of
1. 31 bits can be used for Lisp Integers.
- 2. *Any* pointer can be represented directly, and no bit masking
+ 2. _Any_ pointer can be represented directly, and no bit masking
operations are necessary.
The disadvantages are:
reason for this is that standard C doesn't let you "construct" a
structure (but GCC does). Granted, this sometimes isn't too convenient;
for the case of integers, at least, you can use the function
-`make_int()', which constructs and *returns* an integer Lisp object.
+`make_int()', which constructs and _returns_ an integer Lisp object.
Note that the `XSETTYPE()' macros are also affected by
`ERROR_CHECK_TYPECHECK' and make sure that the structure is of the
right type in the case of record types, where the type is contained in
Defining the C function is not enough to make a Lisp primitive
available; you must also create the Lisp symbol for the primitive (the
-symbol is "interned"; *note Obarrays::.) and store a suitable subr
+symbol is "interned"; *note Obarrays::) and store a suitable subr
object in its function cell. (If you don't do this, the primitive won't
be seen by Lisp code.) The code looks like this:
Whether or not you `DEFVAR_LISP()' a variable, you need to
initialize it in the `vars_of_*()' function; otherwise it will end up
-as all zeroes, which is the integer 0 (*not* `nil'), and this is
+as all zeroes, which is the integer 0 (_not_ `nil'), and this is
probably not what you want. Also, if the variable is not
`DEFVAR_LISP()'ed, *you must call* `staticpro()' on the C variable in
the `vars_of_*()' function. Otherwise, the garbage-collection
-This is Info file ../info/internals.info, produced by Makeinfo version
-1.68 from the input file internals/internals.texi.
+This is ../info/internals.info, produced by makeinfo version 4.0 from
+internals/internals.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
This section contains some general guidance on how to write
Mule-aware code, as well as some pitfalls you should avoid.
-*Never use `char' and `char *'.*
+_Never use `char' and `char *'._
In XEmacs, the use of `char' and `char *' is almost always a
mistake. If you want to manipulate an Emacs character from "C",
use `Emchar'. If you want to examine a specific octet in the
pointer to move through the internal text, use `Bufbyte *'. Also
note that you almost certainly do not need `Emchar *'.
-*Be careful not to confuse `Charcount', `Bytecount', and `Bufpos'.*
+_Be careful not to confuse `Charcount', `Bytecount', and `Bufpos'._
The whole point of using different types is to avoid confusion
about the use of certain variables. Lest this effect be
nullified, you need to be careful about using the right types.
-*Always convert external data*
+_Always convert external data_
It is extremely important to always convert external data, because
XEmacs can crash if unexpected 8bit sequences are copied to its
internal buffers literally.
The basic rule is that you should assume builds using `--srcdir'
and the `#include <...>' syntax needs to be used when the
to-be-included generated file is in a potentially different
- directory *at compile time*. The non-obvious C rule is that
- `#include "..."' means to search for the included file in the
- same directory as the including file, *not* in the current
- directory.
+ directory _at compile time_. The non-obvious C rule is that
+ `#include "..."' means to search for the included file in the same
+ directory as the including file, _not_ in the current directory.
- * Header files should *not* include `<config.h>' and `"lisp.h"'. It
+ * Header files should _not_ include `<config.h>' and `"lisp.h"'. It
is the responsibility of the `.c' files that use it to do so.
* If the header uses `INLINE', either directly or through
should be made constant, and before all other Emacs files and all
libraries. In particular, the allocation modules `gmalloc.c',
`alloca.c', etc. are normally placed past `lastfile.c', and all of the
-files that implement Xt widget classes *must* be placed after
+files that implement Xt widget classes _must_ be placed after
`lastfile.c' because they contain various structures that must be
statically initialized and into which Xt writes at various times.)
`pre-crt0.c' and `lastfile.c' contain exported symbols that are used to
primitives and other special forms such as `while', `if', `eval',
`let', `and', `or', `progn', etc.; handling of non-local exits,
unwind-protects, and exception handlers; entering the debugger; methods
-for the subr Lisp object type; etc. It does *not* include the `read'
+for the subr Lisp object type; etc. It does _not_ include the `read'
function, the `print' function, or the handling of symbols and obarrays.
`backtrace.h' contains some structures related to stack frames and
`bytecode.c' implements the byte-code interpreter and
compiled-function objects, and `bytecode.h' contains associated
-structures. Note that the byte-code *compiler* is written in Lisp.
+structures. Note that the byte-code _compiler_ is written in Lisp.
\1f
File: internals.info, Node: Modules for Standard Editing Operations, Next: Editor-Level Control Flow Modules, Prev: Basic Lisp Modules, Up: A Summary of the Various XEmacs Modules
are permanent objects and stored in various ordered lists); retrieve or
change buffer properties; etc. It also contains the definitions of all
the built-in buffer-local variables (which can be viewed as buffer
-properties). It does *not* contain code to manipulate buffer-local
+properties). It does _not_ contain code to manipulate buffer-local
variables (that's in `symbols.c', described above); or code to
manipulate the text in a buffer.
Note that the choice of whether to use `event-Xt.c' or `event-tty.c'
is made at compile time! Or at the very latest, it is made at startup
-time. `event-Xt.c' handles events for *both* X and TTY frames;
+time. `event-Xt.c' handles events for _both_ X and TTY frames;
`event-tty.c' is only used when X support is not compiled into XEmacs.
The reason for this is that there is only one event loop in XEmacs:
thus, it needs to be able to receive events from all different kinds of
-This is Info file ../info/internals.info, produced by Makeinfo version
-1.68 from the input file internals/internals.texi.
+This is ../info/internals.info, produced by makeinfo version 4.0 from
+internals/internals.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
* Vectors have their size field munged, so anything that looks at
this field will fail.
- * Note that `XFOOBAR()' macros *will* work correctly on object
+ * Note that `XFOOBAR()' macros _will_ work correctly on object
pointers with their mark bit set, because the logical shift
operations that remove the tag also remove the mark bit.
1. For every `GCPRON', there have to be declarations of `struct gcpro
gcpro1, gcpro2', etc.
- 2. You *must* `UNGCPRO' anything that's `GCPRO'ed, and you *must not*
+ 2. You _must_ `UNGCPRO' anything that's `GCPRO'ed, and you _must not_
`UNGCPRO' if you haven't `GCPRO'ed. Getting either of these wrong
will lead to crashes, often in completely random places unrelated
to where the problem lies.
with `struct gcpro ngcpro1, ngcpro2', etc.), `NNGCPRON', etc.
This avoids compiler warnings about shadowed locals.
- 7. It is *always* better to err on the side of extra `GCPRO's rather
+ 7. It is _always_ better to err on the side of extra `GCPRO's rather
than too few. The extra cycles spent on this are almost never
going to make a whit of difference in the speed of anything.
One exception from this rule is if you ever plan to change the
parameter value, and store a new object in it. In that case, you
- *must* `GCPRO' the parameter, because otherwise the new object
+ _must_ `GCPRO' the parameter, because otherwise the new object
will not be protected.
So, if you create any Lisp objects (remember, this happens in all
sorts of circumstances, e.g. with `Fcons()', etc.), you are
- responsible for `GCPRO'ing them, unless you are *absolutely sure*
+ responsible for `GCPRO'ing them, unless you are _absolutely sure_
that there's no possibility that a garbage-collection can occur
while you need to use the object. Even then, consider `GCPRO'ing.
whenever a QUIT can occur where execution can continue past this.
(Remember, this is almost anywhere.)
- 10. If you have the *least smidgeon of doubt* about whether you need
+ 10. If you have the _least smidgeon of doubt_ about whether you need
to `GCPRO', you should `GCPRO'.
11. Beware of `GCPRO'ing something that is uninitialized. If you have
The first thing that anyone should know about garbage collection is:
when and how the garbage collector is invoked. One might think that this
could happen every time new memory is allocated, e.g. new objects are
-created, but this is *not* the case. Instead, we have the following
+created, but this is _not_ the case. Instead, we have the following
situation:
The entry point of any process of garbage collection is an invocation
of the function `garbage_collect_1' in file `alloc.c'. The invocation
-can occur *explicitly* by calling the function `Fgarbage_collect' (in
+can occur _explicitly_ by calling the function `Fgarbage_collect' (in
addition this function provides information about the freed memory), or
-can occur *implicitly* in four different situations:
+can occur _implicitly_ in four different situations:
1. In function `main_1' in file `emacs.c'. This function is called at
each startup of xemacs. The garbage collection is invoked after all
initial creations are completed, but only if a special internal
-This is Info file ../info/internals.info, produced by Makeinfo version
-1.68 from the input file internals/internals.texi.
+This is ../info/internals.info, produced by makeinfo version 4.0 from
+internals/internals.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
WARNING #1: The finalize method is also called at the end of the
dump phase; this time with the for_disksave parameter set to
- non-zero. The object is *not* about to disappear, so you have to
- make sure to *not* free any extra `malloc()'ed memory if you're
+ non-zero. The object is _not_ about to disappear, so you have to
+ make sure to _not_ free any extra `malloc()'ed memory if you're
going to need it later. (Also, signal an error if there are any
operating-system and window-system resources here, because they
can't be dumped.)
`for_disksave' proviso), we've gotten nastily burned in some cases
by not doing this.
- WARNING #2: The finalize method is *only* called for lcrecords,
- *not* for simply lrecords. If you need a finalize method for
+ WARNING #2: The finalize method is _only_ called for lcrecords,
+ _not_ for simply lrecords. If you need a finalize method for
simple lrecords, you have to stick it in the
`ADDITIONAL_FREE_foo()' macro in `alloc.c'.
- WARNING #3: Things are in an *extremely* bizarre state when
+ WARNING #3: Things are in an _extremely_ bizarre state when
`ADDITIONAL_FREE_foo()' is called, so you have to be incredibly
careful when writing one of these functions. See the comment in
`gc_sweep()'. If you ever have to add one of these, consider
5. A "hash" method. This is used to hash objects when they are to be
compared with `equal'. The rule here is that if two objects are
- `equal', they *must* hash to the same value; i.e. your hash
+ `equal', they _must_ hash to the same value; i.e. your hash
function should use some subset of the sub-fields of the object
that are compared in the "equal" method. If you specify this
method as `NULL', the object's pointer will be used as the hash,
- which will *fail* if the object has an `equal' method, so don't do
+ which will _fail_ if the object has an `equal' method, so don't do
this.
To hash a sub-Lisp-object, call `internal_hash()'. Bump the depth
statistics on memory allocation appropriately. This is used to good
effect by some extremely commonly-used code, to avoid generating extra
objects and thereby triggering GC sooner. However, you have to be
-*extremely* careful when doing this. If you mess this up, you will get
+_extremely_ careful when doing this. If you mess this up, you will get
BADLY BURNED, and it has happened before.
\1f
all are threaded through the variable `all_vectors'. Vectors are
marked strangely during garbage collection, by kludging the size field.
Note that the `struct Lisp_Vector' is declared with its `contents'
-field being a *stretchy* array of one element. It is actually
+field being a _stretchy_ array of one element. It is actually
`malloc()'ed with the right size, however, and access to any element
through the `contents' array works fine.
-This is Info file ../info/internals.info, produced by Makeinfo version
-1.68 from the input file internals/internals.texi.
+This is ../info/internals.info, produced by makeinfo version 4.0 from
+internals/internals.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
system-specific event loop can be operating at a time, and must be able
to receive all kinds of events simultaneously. For the two existing
event loops (implemented in `event-tty.c' and `event-Xt.c',
-respectively), the TTY event loop *only* handles TTY consoles, while
-the Xt event loop handles *both* TTY and X consoles. This situation is
+respectively), the TTY event loop _only_ handles TTY consoles, while
+the Xt event loop handles _both_ TTY and X consoles. This situation is
different from all of the output handlers, where you simply have one
per console type.
for the buffer text will be freed, but it will still be sitting on the
heap, taking up virtual memory, and will not be released back to the
operating system. (However, if you have compiled XEmacs with rel-alloc,
-the situation is different. In this case, the space *will* be released
+the situation is different. In this case, the space _will_ be released
back to the operating system. However, this tends to result in a
noticeable speed penalty.)
Astute readers may notice that the text in a buffer is represented as
-an array of *bytes*, while (at least in the MULE case) an Emchar is a
+an array of _bytes_, while (at least in the MULE case) an Emchar is a
19-bit integer, which clearly cannot fit in a byte. This means (of
course) that the text in a buffer uses a different representation from
an Emchar: specifically, the 19-bit Emchar becomes a series of one to
so, adding the size of the gap to it. By convention, memory
indices begin at 1, just like buffer positions and byte indices,
and when referring to the position that is "at" the gap, we always
- use the memory position at the *beginning*, not at the end, of the
+ use the memory position at the _beginning_, not at the end, of the
gap.
3. Fetch the appropriate bytes at the determined memory position.
-This is Info file ../info/internals.info, produced by Makeinfo version
-1.68 from the input file internals/internals.texi.
+This is ../info/internals.info, produced by makeinfo version 4.0 from
+internals/internals.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
For example, Latin-1 is a 96-character charset, and JISX0208 (the
Japanese national character set) is a 94x94-character charset.
- [Note that, although the ranges above define the *valid* position
+ [Note that, although the ranges above define the _valid_ position
codes for a charset, some of the slots in a particular charset may in
fact be empty. This is the case for JISX0208, for example, where (e.g.)
all the slots whose first position code is in the range 118 - 127 are
If a frame contains multiple windows (panes), they are always created
by splitting an existing window along the horizontal or vertical axis.
Terminology is a bit confusing here: to "split a window horizontally"
-means to create two side-by-side windows, i.e. to make a *vertical* cut
+means to create two side-by-side windows, i.e. to make a _vertical_ cut
in a window. Likewise, to "split a window vertically" means to create
-two windows, one above the other, by making a *horizontal* cut.
+two windows, one above the other, by making a _horizontal_ cut.
If you split a window and then split again along the same axis, you
will end up with a number of panes all arranged along the same axis.
5. All functions that accept windows must be prepared to accept
combination windows, and do something sane (e.g. signal an error
- if so). Combination windows *do* escape to the Lisp level.
+ if so). Combination windows _do_ escape to the Lisp level.
6. All windows have three fields governing their contents: these are
"hchild" (a list of horizontally-arrayed children), "vchild" (a
-This is Info file ../info/internals.info, produced by Makeinfo version
-1.68 from the input file internals/internals.texi.
+This is ../info/internals.info, produced by makeinfo version 4.0 from
+internals/internals.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
A list of extents is maintained as a double gap array: one gap array
is ordered by start index (the "display order") and the other is
ordered by end index (the "e-order"). Note that positions in an extent
-list should logically be conceived of as referring *to* a particular
+list should logically be conceived of as referring _to_ a particular
extent (as is the norm in programs) rather than sitting between two
extents. Note also that callers of these functions should not be aware
of the fact that the extent list is implemented as an array, except for
range; this is equivalent to treating a point P as the range [P,
P].
- * In the case of an *extent* overlapping a point or range, the extent
+ * In the case of an _extent_ overlapping a point or range, the extent
is normally treated as having closed endpoints. This applies
consistently in the discussion of stacks of extents and such below.
Note that this definition of overlap is not necessarily consistent
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
\1f
Indirect:
-lispref.info-1: 2392
-lispref.info-2: 48399
-lispref.info-3: 96940
-lispref.info-4: 146799
-lispref.info-5: 195524
-lispref.info-6: 243218
-lispref.info-7: 291479
-lispref.info-8: 340637
-lispref.info-9: 387481
-lispref.info-10: 436941
-lispref.info-11: 485107
-lispref.info-12: 534860
-lispref.info-13: 582765
-lispref.info-14: 630980
-lispref.info-15: 679231
-lispref.info-16: 728946
-lispref.info-17: 777683
-lispref.info-18: 824473
-lispref.info-19: 871529
-lispref.info-20: 920263
-lispref.info-21: 969627
-lispref.info-22: 1016468
-lispref.info-23: 1063481
-lispref.info-24: 1112883
-lispref.info-25: 1162561
-lispref.info-26: 1212459
-lispref.info-27: 1261682
-lispref.info-28: 1310457
-lispref.info-29: 1359900
-lispref.info-30: 1401211
-lispref.info-31: 1450363
-lispref.info-32: 1499577
-lispref.info-33: 1549161
-lispref.info-34: 1597345
-lispref.info-35: 1642981
-lispref.info-36: 1684300
-lispref.info-37: 1729247
-lispref.info-38: 1778943
-lispref.info-39: 1828005
-lispref.info-40: 1877390
-lispref.info-41: 1927286
-lispref.info-42: 1976277
-lispref.info-43: 2020786
-lispref.info-44: 2059165
+lispref.info-1: 2366
+lispref.info-2: 48385
+lispref.info-3: 96924
+lispref.info-4: 146766
+lispref.info-5: 195600
+lispref.info-6: 243285
+lispref.info-7: 291568
+lispref.info-8: 340704
+lispref.info-9: 387518
+lispref.info-10: 436970
+lispref.info-11: 485198
+lispref.info-12: 534963
+lispref.info-13: 582862
+lispref.info-14: 631085
+lispref.info-15: 679339
+lispref.info-16: 729095
+lispref.info-17: 777846
+lispref.info-18: 824696
+lispref.info-19: 871747
+lispref.info-20: 920477
+lispref.info-21: 969899
+lispref.info-22: 1016818
+lispref.info-23: 1063845
+lispref.info-24: 1113244
+lispref.info-25: 1162926
+lispref.info-26: 1212836
+lispref.info-27: 1262059
+lispref.info-28: 1310826
+lispref.info-29: 1360263
+lispref.info-30: 1401598
+lispref.info-31: 1450741
+lispref.info-32: 1499954
+lispref.info-33: 1549528
+lispref.info-34: 1597705
+lispref.info-35: 1643337
+lispref.info-36: 1684653
+lispref.info-37: 1729594
+lispref.info-38: 1779281
+lispref.info-39: 1828385
+lispref.info-40: 1877789
+lispref.info-41: 1927673
+lispref.info-42: 1976664
+lispref.info-43: 2020556
+lispref.info-44: 2058892
\1f
Tag Table:
(Indirect)
-Node: Top\7f2392
-Node: Copying\7f48399
-Node: Introduction\7f67557
-Node: Caveats\7f69148
-Node: Lisp History\7f70879
-Node: Conventions\7f72135
-Node: Some Terms\7f72950
-Node: nil and t\7f73671
-Node: Evaluation Notation\7f75348
-Node: Printing Notation\7f76261
-Node: Error Messages\7f77135
-Node: Buffer Text Notation\7f77576
-Node: Format of Descriptions\7f78451
-Node: A Sample Function Description\7f79305
-Node: A Sample Variable Description\7f83291
-Node: Acknowledgements\7f84199
-Node: Lisp Data Types\7f86177
-Node: Printed Representation\7f88732
-Node: Comments\7f90775
-Node: Primitive Types\7f91673
-Node: Programming Types\7f93332
-Node: Integer Type\7f95284
-Node: Floating Point Type\7f96321
-Node: Character Type\7f96940
-Node: Symbol Type\7f104846
-Node: Sequence Type\7f107541
-Node: Cons Cell Type\7f109062
-Node: Dotted Pair Notation\7f113545
-Node: Association List Type\7f115666
-Node: Array Type\7f116549
-Node: String Type\7f118015
-Node: Vector Type\7f120696
-Node: Bit Vector Type\7f121468
-Node: Function Type\7f122330
-Node: Macro Type\7f123446
-Node: Primitive Function Type\7f124143
-Node: Compiled-Function Type\7f125670
-Node: Autoload Type\7f126224
-Node: Char Table Type\7f127238
-Node: Hash Table Type\7f127412
-Node: Range Table Type\7f128567
-Node: Weak List Type\7f129420
-Node: Editing Types\7f129570
-Node: Buffer Type\7f131197
-Node: Marker Type\7f133233
-Node: Extent Type\7f133957
-Node: Window Type\7f135225
-Node: Frame Type\7f136636
-Node: Device Type\7f137431
-Node: Console Type\7f138257
-Node: Window Configuration Type\7f139458
-Node: Event Type\7f140156
-Node: Process Type\7f140320
-Node: Stream Type\7f141355
-Node: Keymap Type\7f142480
-Node: Syntax Table Type\7f143018
-Node: Display Table Type\7f144042
-Node: Database Type\7f144481
-Node: Charset Type\7f144647
-Node: Coding System Type\7f144811
-Node: ToolTalk Message Type\7f144995
-Node: ToolTalk Pattern Type\7f145194
-Node: Window-System Types\7f145366
-Node: Face Type\7f146512
-Node: Glyph Type\7f146643
-Node: Specifier Type\7f146799
-Node: Font Instance Type\7f146972
-Node: Color Instance Type\7f147162
-Node: Image Instance Type\7f147359
-Node: Toolbar Button Type\7f147557
-Node: Subwindow Type\7f147750
-Node: X Resource Type\7f147929
-Node: Type Predicates\7f148082
-Node: Equality Predicates\7f157212
-Node: Numbers\7f162017
-Node: Integer Basics\7f163472
-Node: Float Basics\7f165822
-Node: Predicates on Numbers\7f167564
-Node: Comparison of Numbers\7f169197
-Node: Numeric Conversions\7f173018
-Node: Arithmetic Operations\7f174484
-Node: Rounding Operations\7f179949
-Node: Bitwise Operations\7f181054
-Node: Math Functions\7f189989
-Node: Random Numbers\7f192305
-Node: Strings and Characters\7f194071
-Node: String Basics\7f195524
-Node: Predicates for Strings\7f197946
-Node: Creating Strings\7f198709
-Node: Predicates for Characters\7f204037
-Node: Character Codes\7f205108
-Node: Text Comparison\7f206521
-Node: String Conversion\7f209883
-Node: Modifying Strings\7f213561
-Node: String Properties\7f214202
-Node: Formatting Strings\7f214845
-Node: Character Case\7f224453
-Node: Case Tables\7f227600
-Node: Char Tables\7f231499
-Node: Char Table Types\7f232891
-Node: Working With Char Tables\7f234466
-Node: Lists\7f236415
-Node: Cons Cells\7f237538
-Node: Lists as Boxes\7f238874
-Node: List-related Predicates\7f241516
-Node: List Elements\7f243218
-Node: Building Lists\7f248247
-Node: Modifying Lists\7f254242
-Node: Setcar\7f255054
-Node: Setcdr\7f257475
-Node: Rearrangement\7f259985
-Node: Sets And Lists\7f265544
-Node: Association Lists\7f269773
-Node: Property Lists\7f279274
-Node: Working With Normal Plists\7f280822
-Node: Working With Lax Plists\7f283090
-Node: Converting Plists To/From Alists\7f285330
-Node: Weak Lists\7f286678
-Node: Sequences Arrays Vectors\7f288843
-Node: Sequence Functions\7f291479
-Node: Arrays\7f295140
-Node: Array Functions\7f298205
-Node: Vectors\7f300738
-Node: Vector Functions\7f302236
-Node: Bit Vectors\7f304810
-Node: Bit Vector Functions\7f305655
-Node: Symbols\7f307906
-Node: Symbol Components\7f308955
-Node: Definitions\7f313134
-Node: Creating Symbols\7f315359
-Node: Symbol Properties\7f322397
-Node: Plists and Alists\7f323913
-Node: Symbol Plists\7f325663
-Node: Other Plists\7f327473
-Node: Evaluation\7f329251
-Node: Intro Eval\7f330056
-Node: Eval\7f333547
-Node: Forms\7f337967
-Node: Self-Evaluating Forms\7f339124
-Node: Symbol Forms\7f340637
-Node: Classifying Lists\7f341554
-Node: Function Indirection\7f342310
-Node: Function Forms\7f345425
-Node: Macro Forms\7f346424
-Node: Special Forms\7f348024
-Node: Autoloading\7f350358
-Node: Quoting\7f350856
-Node: Control Structures\7f352219
-Node: Sequencing\7f353841
-Node: Conditionals\7f356706
-Node: Combining Conditions\7f360129
-Node: Iteration\7f363399
-Node: Nonlocal Exits\7f365184
-Node: Catch and Throw\7f365886
-Node: Examples of Catch\7f369730
-Node: Errors\7f371749
-Node: Signaling Errors\7f373238
-Node: Processing of Errors\7f377969
-Node: Handling Errors\7f380249
-Node: Error Symbols\7f387481
-Node: Cleanups\7f391438
-Node: Variables\7f395218
-Node: Global Variables\7f396987
-Node: Constant Variables\7f398063
-Node: Local Variables\7f398689
-Node: Void Variables\7f403633
-Node: Defining Variables\7f407144
-Node: Accessing Variables\7f414309
-Node: Setting Variables\7f415735
-Node: Variable Scoping\7f420254
-Node: Scope\7f421853
-Node: Extent\7f423378
-Node: Impl of Scope\7f424857
-Node: Using Scoping\7f426820
-Node: Buffer-Local Variables\7f428342
-Node: Intro to Buffer-Local\7f429178
-Node: Creating Buffer-Local\7f431721
-Node: Default Value\7f436941
-Node: Variable Aliases\7f440085
-Node: Functions\7f441871
-Node: What Is a Function\7f442965
-Node: Lambda Expressions\7f447012
-Node: Lambda Components\7f447922
-Node: Simple Lambda\7f449754
-Node: Argument List\7f451413
-Node: Function Documentation\7f455141
-Node: Function Names\7f457083
-Node: Defining Functions\7f459657
-Node: Calling Functions\7f462699
-Node: Mapping Functions\7f466548
-Node: Anonymous Functions\7f469196
-Node: Function Cells\7f472441
-Node: Inline Functions\7f477251
-Node: Related Topics\7f479061
-Node: Macros\7f480114
-Node: Simple Macro\7f481398
-Node: Expansion\7f482133
-Node: Compiling Macros\7f485107
-Node: Defining Macros\7f486945
-Node: Backquote\7f488263
-Node: Problems with Macros\7f490661
-Node: Argument Evaluation\7f491356
-Node: Surprising Local Vars\7f494257
-Node: Eval During Expansion\7f496325
-Node: Repeated Expansion\7f498019
-Node: Customization\7f499930
-Node: Common Keywords\7f500399
-Node: Group Definitions\7f503244
-Node: Variable Definitions\7f505437
-Node: Customization Types\7f510420
-Node: Simple Types\7f511856
-Node: Composite Types\7f514013
-Node: Splicing into Lists\7f518703
-Node: Type Keywords\7f520538
-Node: Loading\7f524058
-Node: How Programs Do Loading\7f525731
-Node: Autoload\7f534860
-Node: Repeated Loading\7f540940
-Node: Named Features\7f543054
-Node: Unloading\7f549487
-Node: Hooks for Loading\7f551643
-Node: Byte Compilation\7f552360
-Node: Speed of Byte-Code\7f554277
-Node: Compilation Functions\7f555484
-Node: Docs and Compilation\7f561873
-Node: Dynamic Loading\7f564526
-Node: Eval During Compile\7f566890
-Node: Compiled-Function Objects\7f568155
-Node: Disassembly\7f572954
-Node: Debugging\7f580208
-Node: Debugger\7f581620
-Node: Error Debugging\7f582765
-Node: Infinite Loops\7f585518
-Node: Function Debugging\7f586762
-Node: Explicit Debug\7f589552
-Node: Using Debugger\7f590324
-Node: Debugger Commands\7f592188
-Node: Invoking the Debugger\7f596505
-Node: Internals of Debugger\7f600420
-Node: Syntax Errors\7f605297
-Node: Excess Open\7f606545
-Node: Excess Close\7f608420
-Node: Compilation Errors\7f609841
-Node: Edebug\7f611129
-Node: Using Edebug\7f613236
-Node: Instrumenting\7f615933
-Node: Edebug Execution Modes\7f619422
-Node: Jumping\7f622532
-Node: Edebug Misc\7f624875
-Node: Breakpoints\7f626264
-Node: Global Break Condition\7f629070
-Node: Embedded Breakpoints\7f630025
-Node: Trapping Errors\7f630980
-Node: Edebug Views\7f633056
-Node: Edebug Eval\7f635021
-Node: Eval List\7f636198
-Node: Reading in Edebug\7f639583
-Node: Printing in Edebug\7f640382
-Node: Tracing\7f642097
-Node: Coverage Testing\7f643983
-Node: The Outside Context\7f646024
-Node: Checking Whether to Stop\7f646973
-Node: Edebug Display Update\7f647619
-Node: Edebug Recursive Edit\7f649641
-Node: Instrumenting Macro Calls\7f651295
-Node: Specification List\7f653777
-Node: Backtracking\7f663188
-Node: Debugging Backquote\7f665126
-Node: Specification Examples\7f668832
-Node: Edebug Options\7f670899
-Node: Read and Print\7f676236
-Node: Streams Intro\7f677213
-Node: Input Streams\7f679231
-Node: Input Functions\7f684132
-Node: Output Streams\7f686192
-Node: Output Functions\7f690244
-Node: Output Variables\7f694544
-Node: Minibuffers\7f699343
-Node: Intro to Minibuffers\7f700495
-Node: Text from Minibuffer\7f702685
-Node: Object from Minibuffer\7f707562
-Node: Minibuffer History\7f710769
-Node: Completion\7f713748
-Node: Basic Completion\7f715723
-Node: Minibuffer Completion\7f720735
-Node: Completion Commands\7f724302
-Node: High-Level Completion\7f728946
-Node: Reading File Names\7f732970
-Node: Programmed Completion\7f736654
-Node: Yes-or-No Queries\7f739036
-Node: Multiple Queries\7f744732
-Node: Reading a Password\7f748800
-Node: Minibuffer Misc\7f750137
-Node: Command Loop\7f755010
-Node: Command Overview\7f756356
-Node: Defining Commands\7f759640
-Node: Using Interactive\7f760388
-Node: Interactive Codes\7f765162
-Node: Interactive Examples\7f770966
-Node: Interactive Call\7f772280
-Node: Command Loop Info\7f777683
-Node: Events\7f782662
-Node: Event Types\7f784122
-Node: Event Contents\7f786045
-Node: Event Predicates\7f790521
-Node: Accessing Mouse Event Positions\7f791846
-Node: Frame-Level Event Position Info\7f792545
-Node: Window-Level Event Position Info\7f793585
-Node: Event Text Position Info\7f795349
-Node: Event Glyph Position Info\7f797841
-Node: Event Toolbar Position Info\7f799164
-Node: Other Event Position Info\7f799835
-Node: Accessing Other Event Info\7f800244
-Node: Working With Events\7f801864
-Node: Converting Events\7f807792
-Node: Reading Input\7f810745
-Node: Key Sequence Input\7f811747
-Node: Reading One Event\7f813701
-Node: Dispatching an Event\7f816462
-Node: Quoted Character Input\7f816913
-Node: Peeking and Discarding\7f818261
-Node: Waiting\7f822165
-Node: Quitting\7f824473
-Node: Prefix Command Arguments\7f828881
-Node: Recursive Editing\7f833968
-Node: Disabling Commands\7f838765
-Node: Command History\7f840833
-Node: Keyboard Macros\7f842572
-Node: Keymaps\7f844790
-Node: Keymap Terminology\7f846367
-Node: Format of Keymaps\7f849297
-Node: Creating Keymaps\7f849708
-Node: Inheritance and Keymaps\7f851787
-Node: Key Sequences\7f854159
-Node: Prefix Keys\7f858729
-Node: Active Keymaps\7f862314
-Node: Key Lookup\7f871529
-Node: Functions for Key Lookup\7f876693
-Node: Changing Key Bindings\7f882396
-Node: Key Binding Commands\7f889283
-Node: Scanning Keymaps\7f891349
-Node: Other Keymap Functions\7f899861
-Node: Menus\7f900483
-Node: Menu Format\7f901025
-Node: Menubar Format\7f909610
-Node: Menubar\7f910235
-Node: Modifying Menus\7f913349
-Node: Menu Filters\7f918367
-Node: Pop-Up Menus\7f920263
-Node: Menu Accelerators\7f922469
-Node: Creating Menu Accelerators\7f923191
-Node: Keyboard Menu Traversal\7f924509
-Node: Menu Accelerator Functions\7f925236
-Node: Buffers Menu\7f928271
-Node: Dialog Boxes\7f929565
-Node: Dialog Box Format\7f929732
-Node: Dialog Box Functions\7f931102
-Node: Toolbar\7f931500
-Node: Toolbar Intro\7f931825
-Node: Toolbar Descriptor Format\7f934236
-Node: Specifying the Toolbar\7f938730
-Node: Other Toolbar Variables\7f942338
-Node: Scrollbars\7f946765
-Node: Drag and Drop\7f946901
-Node: Supported Protocols\7f947977
-Node: OffiX DND\7f948480
-Node: CDE dt\7f949487
-Node: MSWindows OLE\7f950078
-Node: Loose ends\7f950249
-Node: Drop Interface\7f950641
-Node: Drag Interface\7f951663
-Node: Modes\7f951837
-Node: Major Modes\7f952788
-Node: Major Mode Conventions\7f955704
-Node: Example Major Modes\7f961659
-Node: Auto Major Mode\7f969627
-Node: Mode Help\7f977077
-Node: Derived Modes\7f978178
-Node: Minor Modes\7f980369
-Node: Minor Mode Conventions\7f981671
-Node: Keymaps and Minor Modes\7f984535
-Node: Modeline Format\7f985370
-Node: Modeline Data\7f987139
-Node: Modeline Variables\7f991411
-Node: %-Constructs\7f996127
-Node: Hooks\7f999038
-Node: Documentation\7f1005802
-Node: Documentation Basics\7f1007225
-Node: Accessing Documentation\7f1010277
-Node: Keys in Documentation\7f1016468
-Node: Describing Characters\7f1019931
-Node: Help Functions\7f1022285
-Node: Obsoleteness\7f1028728
-Node: Files\7f1031722
-Node: Visiting Files\7f1033647
-Node: Visiting Functions\7f1035152
-Node: Subroutines of Visiting\7f1040200
-Node: Saving Buffers\7f1042276
-Node: Reading from Files\7f1048369
-Node: Writing to Files\7f1050526
-Node: File Locks\7f1053243
-Node: Information about Files\7f1056296
-Node: Testing Accessibility\7f1057057
-Node: Kinds of Files\7f1060797
-Node: Truenames\7f1062478
-Node: File Attributes\7f1063481
-Node: Changing File Attributes\7f1068621
-Node: File Names\7f1074027
-Node: File Name Components\7f1075636
-Node: Directory Names\7f1078737
-Node: Relative File Names\7f1082190
-Node: File Name Expansion\7f1083268
-Node: Unique File Names\7f1087175
-Node: File Name Completion\7f1088790
-Node: User Name Completion\7f1091451
-Node: Contents of Directories\7f1092791
-Node: Create/Delete Dirs\7f1096104
-Node: Magic File Names\7f1097210
-Node: Partial Files\7f1102840
-Node: Intro to Partial Files\7f1103068
-Node: Creating a Partial File\7f1104308
-Node: Detached Partial Files\7f1105243
-Node: Format Conversion\7f1106365
-Node: Files and MS-DOS\7f1112883
-Node: Backups and Auto-Saving\7f1114947
-Node: Backup Files\7f1115622
-Node: Making Backups\7f1117019
-Node: Rename or Copy\7f1119768
-Node: Numbered Backups\7f1122261
-Node: Backup Names\7f1124506
-Node: Auto-Saving\7f1127789
-Node: Reverting\7f1135931
-Node: Buffers\7f1139089
-Node: Buffer Basics\7f1140504
-Node: Current Buffer\7f1142557
-Node: Buffer Names\7f1147247
-Node: Buffer File Name\7f1150452
-Node: Buffer Modification\7f1154572
-Node: Modification Time\7f1156768
-Node: Read Only Buffers\7f1160143
-Node: The Buffer List\7f1162561
-Node: Creating Buffers\7f1167391
-Node: Killing Buffers\7f1169540
-Node: Indirect Buffers\7f1173271
-Node: Windows\7f1175843
-Node: Basic Windows\7f1177321
-Node: Splitting Windows\7f1180419
-Node: Deleting Windows\7f1187290
-Node: Selecting Windows\7f1189971
-Node: Cyclic Window Ordering\7f1193100
-Node: Buffers and Windows\7f1197724
-Node: Displaying Buffers\7f1199565
-Node: Choosing Window\7f1204743
-Node: Window Point\7f1212459
-Node: Window Start\7f1214505
-Node: Vertical Scrolling\7f1218995
-Node: Horizontal Scrolling\7f1225132
-Node: Size of Window\7f1228641
-Node: Position of Window\7f1233359
-Node: Resizing Windows\7f1235599
-Node: Window Configurations\7f1241028
-Node: Frames\7f1244453
-Node: Creating Frames\7f1246222
-Node: Frame Properties\7f1247563
-Node: Property Access\7f1248379
-Node: Initial Properties\7f1249228
-Node: X Frame Properties\7f1251714
-Node: Size and Position\7f1256348
-Node: Frame Name\7f1258344
-Node: Frame Titles\7f1259258
-Node: Deleting Frames\7f1261082
-Node: Finding All Frames\7f1261682
-Node: Frames and Windows\7f1263676
-Node: Minibuffers and Frames\7f1265381
-Node: Input Focus\7f1266300
-Node: Visibility of Frames\7f1269378
-Node: Raising and Lowering\7f1271297
-Node: Frame Configurations\7f1273674
-Node: Frame Hooks\7f1274268
-Node: Consoles and Devices\7f1276075
-Node: Basic Console Functions\7f1278819
-Node: Basic Device Functions\7f1279242
-Node: Console Types and Device Classes\7f1279958
-Node: Connecting to a Console or Device\7f1282155
-Node: The Selected Console and Device\7f1284318
-Node: Console and Device I/O\7f1285344
-Node: Positions\7f1286108
-Node: Point\7f1287077
-Node: Motion\7f1290170
-Node: Character Motion\7f1290937
-Node: Word Motion\7f1293174
-Node: Buffer End Motion\7f1294675
-Node: Text Lines\7f1296172
-Node: Screen Lines\7f1300767
-Node: List Motion\7f1304830
-Node: Skipping Characters\7f1308238
-Node: Excursions\7f1310457
-Node: Narrowing\7f1313492
-Node: Markers\7f1318819
-Node: Overview of Markers\7f1319721
-Node: Predicates on Markers\7f1324414
-Node: Creating Markers\7f1325660
-Node: Information from Markers\7f1329697
-Node: Changing Markers\7f1330795
-Node: The Mark\7f1332173
-Node: The Region\7f1340667
-Node: Text\7f1346354
-Node: Near Point\7f1349056
-Node: Buffer Contents\7f1353243
-Node: Comparing Text\7f1354649
-Node: Insertion\7f1356057
-Node: Commands for Insertion\7f1359900
-Node: Deletion\7f1362858
-Node: User-Level Deletion\7f1366455
-Node: The Kill Ring\7f1370585
-Node: Kill Ring Concepts\7f1372759
-Node: Kill Functions\7f1373813
-Node: Yank Commands\7f1375718
-Node: Low-Level Kill Ring\7f1377589
-Node: Internals of Kill Ring\7f1380375
-Node: Undo\7f1383155
-Node: Maintaining Undo\7f1387484
-Node: Filling\7f1390104
-Node: Margins\7f1396100
-Node: Auto Filling\7f1400030
-Node: Sorting\7f1401211
-Node: Columns\7f1410512
-Node: Indentation\7f1413028
-Node: Primitive Indent\7f1413807
-Node: Mode-Specific Indent\7f1415051
-Node: Region Indent\7f1417562
-Node: Relative Indent\7f1420510
-Node: Indent Tabs\7f1422892
-Node: Motion by Indent\7f1424214
-Node: Case Changes\7f1424993
-Node: Text Properties\7f1428244
-Node: Examining Properties\7f1430059
-Node: Changing Properties\7f1431926
-Node: Property Search\7f1435521
-Node: Special Properties\7f1440232
-Node: Saving Properties\7f1440513
-Node: Substitution\7f1443655
-Node: Registers\7f1446926
-Node: Transposition\7f1449469
-Node: Change Hooks\7f1450363
-Node: Transformations\7f1452403
-Node: Searching and Matching\7f1456788
-Node: String Search\7f1457919
-Node: Regular Expressions\7f1462643
-Node: Syntax of Regexps\7f1464010
-Node: Regexp Example\7f1478390
-Node: Regexp Search\7f1480560
-Node: POSIX Regexps\7f1486648
-Node: Search and Replace\7f1488483
-Node: Match Data\7f1491848
-Node: Simple Match Data\7f1492978
-Node: Replacing Match\7f1497243
-Node: Entire Match Data\7f1499577
-Node: Saving Match Data\7f1501568
-Node: Searching and Case\7f1502951
-Node: Standard Regexps\7f1504985
-Node: Syntax Tables\7f1507183
-Node: Syntax Basics\7f1508299
-Node: Syntax Descriptors\7f1511274
-Node: Syntax Class Table\7f1513124
-Node: Syntax Flags\7f1519162
-Node: Syntax Table Functions\7f1522379
-Node: Motion and Syntax\7f1526243
-Node: Parsing Expressions\7f1527695
-Node: Standard Syntax Tables\7f1533764
-Node: Syntax Table Internals\7f1534608
-Node: Abbrevs\7f1535635
-Node: Abbrev Mode\7f1537439
-Node: Abbrev Tables\7f1538159
-Node: Defining Abbrevs\7f1539692
-Node: Abbrev Files\7f1541597
-Node: Abbrev Expansion\7f1543371
-Node: Standard Abbrev Tables\7f1548002
-Node: Extents\7f1549161
-Node: Intro to Extents\7f1550404
-Node: Creating and Modifying Extents\7f1554398
-Node: Extent Endpoints\7f1555907
-Node: Finding Extents\7f1559172
-Node: Mapping Over Extents\7f1562923
-Node: Extent Properties\7f1569041
-Node: Detached Extents\7f1579185
-Node: Extent Parents\7f1581044
-Node: Duplicable Extents\7f1582739
-Node: Extents and Events\7f1585962
-Node: Atomic Extents\7f1587870
-Node: Specifiers\7f1588317
-Node: Introduction to Specifiers\7f1590120
-Node: Specifiers In-Depth\7f1592430
-Node: Specifier Instancing\7f1597345
-Node: Specifier Types\7f1600607
-Node: Adding Specifications\7f1605681
-Node: Retrieving Specifications\7f1615044
-Node: Specifier Tag Functions\7f1618779
-Node: Specifier Instancing Functions\7f1622013
-Node: Specifier Example\7f1625420
-Node: Creating Specifiers\7f1628526
-Node: Specifier Validation Functions\7f1630775
-Node: Other Specification Functions\7f1633159
-Node: Faces and Window-System Objects\7f1636978
-Node: Faces\7f1637302
-Node: Merging Faces\7f1638921
-Node: Basic Face Functions\7f1640882
-Node: Face Properties\7f1642981
-Node: Face Convenience Functions\7f1652540
-Node: Other Face Display Functions\7f1655673
-Node: Fonts\7f1656486
-Node: Font Specifiers\7f1657187
-Node: Font Instances\7f1657428
-Node: Font Instance Names\7f1658395
-Node: Font Instance Size\7f1659236
-Node: Font Instance Characteristics\7f1660522
-Node: Font Convenience Functions\7f1661691
-Node: Colors\7f1662981
-Node: Color Specifiers\7f1663421
-Node: Color Instances\7f1663648
-Node: Color Instance Properties\7f1664392
-Node: Color Convenience Functions\7f1665018
-Node: Glyphs\7f1666071
-Node: Glyph Functions\7f1667663
-Node: Creating Glyphs\7f1668070
-Node: Glyph Properties\7f1669657
-Node: Glyph Convenience Functions\7f1678824
-Node: Glyph Dimensions\7f1682771
-Node: Images\7f1683851
-Node: Image Specifiers\7f1684300
-Node: Image Instantiator Conversion\7f1695724
-Node: Image Instances\7f1697089
-Node: Image Instance Types\7f1697840
-Node: Image Instance Functions\7f1700495
-Node: Glyph Types\7f1705065
-Node: Mouse Pointer\7f1706837
-Node: Redisplay Glyphs\7f1709840
-Node: Subwindows\7f1710873
-Node: Annotations\7f1711116
-Node: Annotation Basics\7f1712133
-Node: Annotation Primitives\7f1716071
-Node: Annotation Properties\7f1717400
-Node: Locating Annotations\7f1720440
-Node: Margin Primitives\7f1721277
-Node: Annotation Hooks\7f1723171
-Node: Display\7f1723831
-Node: Refresh Screen\7f1724809
-Node: Truncation\7f1726720
-Node: The Echo Area\7f1729247
-Node: Warnings\7f1735683
-Node: Invisible Text\7f1740119
-Node: Selective Display\7f1742699
-Node: Overlay Arrow\7f1746826
-Node: Temporary Displays\7f1748180
-Node: Blinking\7f1752301
-Node: Usual Display\7f1754485
-Node: Display Tables\7f1757035
-Node: Display Table Format\7f1757839
-Node: Active Display Table\7f1759283
-Node: Character Descriptors\7f1760475
-Node: Beeping\7f1761233
-Node: Hash Tables\7f1765999
-Node: Introduction to Hash Tables\7f1766607
-Node: Working With Hash Tables\7f1772632
-Node: Weak Hash Tables\7f1773749
-Node: Range Tables\7f1775548
-Node: Introduction to Range Tables\7f1776237
-Node: Working With Range Tables\7f1776668
-Node: Databases\7f1777553
-Node: Connecting to a Database\7f1777852
-Node: Working With a Database\7f1778943
-Node: Other Database Functions\7f1779801
-Node: Processes\7f1780375
-Node: Subprocess Creation\7f1782599
-Node: Synchronous Processes\7f1785892
-Node: MS-DOS Subprocesses\7f1792590
-Node: Asynchronous Processes\7f1793664
-Node: Deleting Processes\7f1797368
-Node: Process Information\7f1799239
-Node: Input to Processes\7f1803167
-Node: Signals to Processes\7f1805436
-Node: Output from Processes\7f1809856
-Node: Process Buffers\7f1810668
-Node: Filter Functions\7f1813537
-Node: Accepting Output\7f1819104
-Node: Sentinels\7f1820631
-Node: Process Window Size\7f1824124
-Node: Transaction Queues\7f1824473
-Node: Network\7f1826171
-Node: System Interface\7f1828005
-Node: Starting Up\7f1829275
-Node: Start-up Summary\7f1829869
-Node: Init File\7f1833423
-Node: Terminal-Specific\7f1835807
-Node: Command Line Arguments\7f1838966
-Node: Getting Out\7f1842455
-Node: Killing XEmacs\7f1843024
-Node: Suspending XEmacs\7f1844693
-Node: System Environment\7f1848009
-Node: User Identification\7f1854674
-Node: Time of Day\7f1858204
-Node: Time Conversion\7f1860993
-Node: Timers\7f1866035
-Node: Terminal Input\7f1868208
-Node: Input Modes\7f1868711
-Node: Translating Input\7f1871124
-Node: Recording Input\7f1875289
-Node: Terminal Output\7f1877390
-Node: Flow Control\7f1881013
-Node: Batch Mode\7f1884806
-Node: X-Windows\7f1886188
-Node: X Selections\7f1887000
-Node: X Server\7f1889210
-Node: Resources\7f1889611
-Node: Server Data\7f1894752
-Node: Grabs\7f1895959
-Node: X Miscellaneous\7f1897540
-Node: ToolTalk Support\7f1899925
-Node: XEmacs ToolTalk API Summary\7f1900142
-Node: Sending Messages\7f1901442
-Node: Example of Sending Messages\7f1901693
-Node: Elisp Interface for Sending Messages\7f1902755
-Node: Receiving Messages\7f1909148
-Node: Example of Receiving Messages\7f1909371
-Node: Elisp Interface for Receiving Messages\7f1910207
-Node: LDAP Support\7f1914032
-Node: Building XEmacs with LDAP support\7f1914528
-Node: XEmacs LDAP API\7f1915506
-Node: LDAP Variables\7f1916236
-Node: The High-Level LDAP API\7f1918713
-Node: The Low-Level LDAP API\7f1919826
-Node: The LDAP Lisp Object\7f1920100
-Node: Opening and Closing a LDAP Connection\7f1920653
-Node: Searching on a LDAP Server (Low-level)\7f1922436
-Node: Syntax of Search Filters\7f1923831
-Node: Internationalization\7f1925129
-Node: I18N Levels 1 and 2\7f1925466
-Node: I18N Level 3\7f1926172
-Node: Level 3 Basics\7f1926453
-Node: Level 3 Primitives\7f1927286
-Node: Dynamic Messaging\7f1928892
-Node: Domain Specification\7f1929355
-Node: Documentation String Extraction\7f1931258
-Node: I18N Level 4\7f1932176
-Node: MULE\7f1932368
-Node: Internationalization Terminology\7f1933479
-Node: Charsets\7f1942018
-Node: Charset Properties\7f1942714
-Node: Basic Charset Functions\7f1947400
-Node: Charset Property Functions\7f1949581
-Node: Predefined Charsets\7f1951624
-Node: MULE Characters\7f1954544
-Node: Composite Characters\7f1955391
-Node: ISO 2022\7f1956645
-Node: Coding Systems\7f1962367
-Node: Coding System Types\7f1964289
-Node: EOL Conversion\7f1966108
-Node: Coding System Properties\7f1967291
-Node: Basic Coding System Functions\7f1971143
-Node: Coding System Property Functions\7f1973047
-Node: Encoding and Decoding Text\7f1973605
-Node: Detection of Textual Encoding\7f1974741
-Node: Big5 and Shift-JIS Functions\7f1976277
-Node: CCL\7f1977365
-Node: CCL Syntax\7f1980469
-Node: CCL Statements\7f1982057
-Node: CCL Expressions\7f1986705
-Node: Calling CCL\7f1989857
-Node: CCL Examples\7f1992847
-Node: Category Tables\7f1992984
-Node: Tips\7f1995343
-Node: Style Tips\7f1995984
-Node: Compilation Tips\7f2005504
-Node: Documentation Tips\7f2007420
-Node: Comment Tips\7f2012929
-Node: Library Headers\7f2015931
-Node: Building XEmacs and Object Allocation\7f2019903
-Node: Building XEmacs\7f2020786
-Node: Pure Storage\7f2027121
-Node: Garbage Collection\7f2029909
-Node: Standard Errors\7f2041048
-Node: Standard Buffer-Local Variables\7f2045257
-Node: Standard Keymaps\7f2047933
-Node: Standard Hooks\7f2051665
-Node: Index\7f2059165
+Node: Top\7f2366
+Node: Copying\7f48385
+Node: Introduction\7f67543
+Node: Caveats\7f69134
+Node: Lisp History\7f70865
+Node: Conventions\7f72121
+Node: Some Terms\7f72936
+Node: nil and t\7f73657
+Node: Evaluation Notation\7f75334
+Node: Printing Notation\7f76247
+Node: Error Messages\7f77121
+Node: Buffer Text Notation\7f77562
+Node: Format of Descriptions\7f78437
+Node: A Sample Function Description\7f79291
+Node: A Sample Variable Description\7f83277
+Node: Acknowledgements\7f84185
+Node: Lisp Data Types\7f86163
+Node: Printed Representation\7f88718
+Node: Comments\7f90760
+Node: Primitive Types\7f91657
+Node: Programming Types\7f93316
+Node: Integer Type\7f95268
+Node: Floating Point Type\7f96305
+Node: Character Type\7f96924
+Node: Symbol Type\7f104830
+Node: Sequence Type\7f107525
+Node: Cons Cell Type\7f109044
+Node: Dotted Pair Notation\7f113528
+Node: Association List Type\7f115649
+Node: Array Type\7f116532
+Node: String Type\7f117998
+Node: Vector Type\7f120679
+Node: Bit Vector Type\7f121451
+Node: Function Type\7f122313
+Node: Macro Type\7f123426
+Node: Primitive Function Type\7f124123
+Node: Compiled-Function Type\7f125649
+Node: Autoload Type\7f126203
+Node: Char Table Type\7f127217
+Node: Hash Table Type\7f127391
+Node: Range Table Type\7f128546
+Node: Weak List Type\7f129399
+Node: Editing Types\7f129549
+Node: Buffer Type\7f131176
+Node: Marker Type\7f133203
+Node: Extent Type\7f133927
+Node: Window Type\7f135195
+Node: Frame Type\7f136606
+Node: Device Type\7f137401
+Node: Console Type\7f138227
+Node: Window Configuration Type\7f139428
+Node: Event Type\7f140126
+Node: Process Type\7f140290
+Node: Stream Type\7f141325
+Node: Keymap Type\7f142448
+Node: Syntax Table Type\7f142986
+Node: Display Table Type\7f144009
+Node: Database Type\7f144448
+Node: Charset Type\7f144614
+Node: Coding System Type\7f144778
+Node: ToolTalk Message Type\7f144962
+Node: ToolTalk Pattern Type\7f145161
+Node: Window-System Types\7f145333
+Node: Face Type\7f146479
+Node: Glyph Type\7f146610
+Node: Specifier Type\7f146766
+Node: Font Instance Type\7f146939
+Node: Color Instance Type\7f147129
+Node: Image Instance Type\7f147326
+Node: Toolbar Button Type\7f147524
+Node: Subwindow Type\7f147717
+Node: X Resource Type\7f147896
+Node: Type Predicates\7f148049
+Node: Equality Predicates\7f157178
+Node: Numbers\7f161983
+Node: Integer Basics\7f163438
+Node: Float Basics\7f165787
+Node: Predicates on Numbers\7f167529
+Node: Comparison of Numbers\7f169162
+Node: Numeric Conversions\7f172983
+Node: Arithmetic Operations\7f174449
+Node: Rounding Operations\7f179914
+Node: Bitwise Operations\7f181019
+Node: Math Functions\7f190065
+Node: Random Numbers\7f192381
+Node: Strings and Characters\7f194147
+Node: String Basics\7f195600
+Node: Predicates for Strings\7f198018
+Node: Creating Strings\7f198781
+Node: Predicates for Characters\7f204098
+Node: Character Codes\7f205169
+Node: Text Comparison\7f206582
+Node: String Conversion\7f209944
+Node: Modifying Strings\7f213620
+Node: String Properties\7f214261
+Node: Formatting Strings\7f214904
+Node: Character Case\7f224522
+Node: Case Tables\7f227668
+Node: Char Tables\7f231566
+Node: Char Table Types\7f232958
+Node: Working With Char Tables\7f234533
+Node: Lists\7f236482
+Node: Cons Cells\7f237605
+Node: Lists as Boxes\7f238941
+Node: List-related Predicates\7f241583
+Node: List Elements\7f243285
+Node: Building Lists\7f248314
+Node: Modifying Lists\7f254306
+Node: Setcar\7f255118
+Node: Setcdr\7f257539
+Node: Rearrangement\7f260050
+Node: Sets And Lists\7f265636
+Node: Association Lists\7f269864
+Ref: Association Lists-Footnote-1\7f279159
+Node: Property Lists\7f279364
+Node: Working With Normal Plists\7f280912
+Node: Working With Lax Plists\7f283180
+Node: Converting Plists To/From Alists\7f285420
+Node: Weak Lists\7f286768
+Node: Sequences Arrays Vectors\7f288932
+Node: Sequence Functions\7f291568
+Node: Arrays\7f295227
+Node: Array Functions\7f298291
+Node: Vectors\7f300824
+Node: Vector Functions\7f302322
+Node: Bit Vectors\7f304893
+Node: Bit Vector Functions\7f305738
+Node: Symbols\7f307988
+Node: Symbol Components\7f309037
+Node: Definitions\7f313210
+Node: Creating Symbols\7f315435
+Node: Symbol Properties\7f322469
+Node: Plists and Alists\7f323985
+Node: Symbol Plists\7f325734
+Node: Other Plists\7f327543
+Node: Evaluation\7f329321
+Node: Intro Eval\7f330126
+Ref: Intro Eval-Footnote-1\7f333479
+Node: Eval\7f333614
+Node: Forms\7f338032
+Node: Self-Evaluating Forms\7f339191
+Node: Symbol Forms\7f340704
+Node: Classifying Lists\7f341621
+Node: Function Indirection\7f342377
+Node: Function Forms\7f345488
+Node: Macro Forms\7f346485
+Node: Special Forms\7f348085
+Node: Autoloading\7f350394
+Node: Quoting\7f350892
+Node: Control Structures\7f352253
+Node: Sequencing\7f353873
+Node: Conditionals\7f356738
+Node: Combining Conditions\7f360161
+Node: Iteration\7f363431
+Node: Nonlocal Exits\7f365210
+Node: Catch and Throw\7f365912
+Node: Examples of Catch\7f369751
+Node: Errors\7f371770
+Node: Signaling Errors\7f373259
+Node: Processing of Errors\7f377998
+Node: Handling Errors\7f380277
+Node: Error Symbols\7f387518
+Node: Cleanups\7f391474
+Node: Variables\7f395252
+Node: Global Variables\7f397021
+Node: Constant Variables\7f398097
+Node: Local Variables\7f398723
+Node: Void Variables\7f403660
+Node: Defining Variables\7f407176
+Node: Accessing Variables\7f414340
+Node: Setting Variables\7f415765
+Node: Variable Scoping\7f420284
+Node: Scope\7f421883
+Node: Extent\7f423408
+Node: Impl of Scope\7f424887
+Node: Using Scoping\7f426850
+Node: Buffer-Local Variables\7f428372
+Node: Intro to Buffer-Local\7f429208
+Node: Creating Buffer-Local\7f431751
+Node: Default Value\7f436970
+Node: Variable Aliases\7f440113
+Node: Functions\7f441898
+Node: What Is a Function\7f442992
+Node: Lambda Expressions\7f447038
+Node: Lambda Components\7f447948
+Node: Simple Lambda\7f449780
+Node: Argument List\7f451437
+Node: Function Documentation\7f455165
+Node: Function Names\7f457107
+Node: Defining Functions\7f459680
+Node: Calling Functions\7f462720
+Node: Mapping Functions\7f466569
+Node: Anonymous Functions\7f469257
+Node: Function Cells\7f472502
+Node: Inline Functions\7f477312
+Node: Related Topics\7f479122
+Node: Macros\7f480175
+Node: Simple Macro\7f481459
+Node: Expansion\7f482194
+Node: Compiling Macros\7f485198
+Node: Defining Macros\7f487034
+Node: Backquote\7f488351
+Node: Problems with Macros\7f490748
+Node: Argument Evaluation\7f491443
+Node: Surprising Local Vars\7f494358
+Node: Eval During Expansion\7f496426
+Node: Repeated Expansion\7f498119
+Node: Customization\7f500035
+Node: Common Keywords\7f500504
+Node: Group Definitions\7f503349
+Node: Variable Definitions\7f505541
+Node: Customization Types\7f510524
+Node: Simple Types\7f511959
+Node: Composite Types\7f514116
+Node: Splicing into Lists\7f518806
+Node: Type Keywords\7f520641
+Node: Loading\7f524161
+Node: How Programs Do Loading\7f525836
+Node: Autoload\7f534963
+Node: Repeated Loading\7f541042
+Node: Named Features\7f543155
+Node: Unloading\7f549587
+Node: Hooks for Loading\7f551743
+Node: Byte Compilation\7f552460
+Node: Speed of Byte-Code\7f554377
+Node: Compilation Functions\7f555584
+Node: Docs and Compilation\7f561971
+Node: Dynamic Loading\7f564624
+Node: Eval During Compile\7f566988
+Node: Compiled-Function Objects\7f568253
+Node: Disassembly\7f573051
+Node: Debugging\7f580305
+Node: Debugger\7f581717
+Node: Error Debugging\7f582862
+Node: Infinite Loops\7f585615
+Node: Function Debugging\7f586859
+Node: Explicit Debug\7f589649
+Node: Using Debugger\7f590420
+Node: Debugger Commands\7f592282
+Node: Invoking the Debugger\7f596599
+Node: Internals of Debugger\7f600514
+Node: Syntax Errors\7f605401
+Node: Excess Open\7f606649
+Node: Excess Close\7f608524
+Node: Compilation Errors\7f609945
+Node: Edebug\7f611233
+Node: Using Edebug\7f613341
+Node: Instrumenting\7f616038
+Node: Edebug Execution Modes\7f619527
+Node: Jumping\7f622637
+Node: Edebug Misc\7f624980
+Node: Breakpoints\7f626369
+Node: Global Break Condition\7f629175
+Node: Embedded Breakpoints\7f630130
+Node: Trapping Errors\7f631085
+Node: Edebug Views\7f633161
+Node: Edebug Eval\7f635126
+Node: Eval List\7f636303
+Node: Reading in Edebug\7f639688
+Node: Printing in Edebug\7f640487
+Node: Tracing\7f642202
+Node: Coverage Testing\7f644088
+Node: The Outside Context\7f646129
+Node: Checking Whether to Stop\7f647078
+Node: Edebug Display Update\7f647725
+Node: Edebug Recursive Edit\7f649748
+Node: Instrumenting Macro Calls\7f651403
+Node: Specification List\7f653885
+Node: Backtracking\7f663296
+Node: Debugging Backquote\7f665234
+Node: Specification Examples\7f668940
+Node: Edebug Options\7f671007
+Node: Read and Print\7f676344
+Node: Streams Intro\7f677321
+Node: Input Streams\7f679339
+Node: Input Functions\7f684240
+Node: Output Streams\7f686300
+Node: Output Functions\7f690351
+Node: Output Variables\7f694651
+Node: Minibuffers\7f699450
+Node: Intro to Minibuffers\7f700602
+Node: Text from Minibuffer\7f702790
+Node: Object from Minibuffer\7f707665
+Node: Minibuffer History\7f710892
+Node: Completion\7f713871
+Node: Basic Completion\7f715846
+Node: Minibuffer Completion\7f720875
+Node: Completion Commands\7f724452
+Node: High-Level Completion\7f729095
+Node: Reading File Names\7f733119
+Node: Programmed Completion\7f736803
+Node: Yes-or-No Queries\7f739185
+Node: Multiple Queries\7f744922
+Node: Reading a Password\7f748989
+Node: Minibuffer Misc\7f750326
+Node: Command Loop\7f755196
+Node: Command Overview\7f756540
+Node: Defining Commands\7f759818
+Node: Using Interactive\7f760566
+Node: Interactive Codes\7f765339
+Node: Interactive Examples\7f771131
+Node: Interactive Call\7f772445
+Node: Command Loop Info\7f777846
+Node: Events\7f782825
+Node: Event Types\7f784285
+Node: Event Contents\7f786208
+Node: Event Predicates\7f790684
+Node: Accessing Mouse Event Positions\7f792009
+Node: Frame-Level Event Position Info\7f792708
+Node: Window-Level Event Position Info\7f793748
+Node: Event Text Position Info\7f795512
+Node: Event Glyph Position Info\7f798004
+Node: Event Toolbar Position Info\7f799327
+Node: Other Event Position Info\7f799998
+Node: Accessing Other Event Info\7f800407
+Node: Working With Events\7f802027
+Node: Converting Events\7f808015
+Node: Reading Input\7f810968
+Node: Key Sequence Input\7f811970
+Node: Reading One Event\7f813924
+Node: Dispatching an Event\7f816685
+Node: Quoted Character Input\7f817136
+Node: Peeking and Discarding\7f818484
+Node: Waiting\7f822388
+Node: Quitting\7f824696
+Node: Prefix Command Arguments\7f829104
+Node: Recursive Editing\7f834191
+Node: Disabling Commands\7f838987
+Node: Command History\7f841055
+Node: Keyboard Macros\7f842792
+Node: Keymaps\7f845009
+Node: Keymap Terminology\7f846586
+Node: Format of Keymaps\7f849515
+Node: Creating Keymaps\7f849926
+Node: Inheritance and Keymaps\7f852005
+Node: Key Sequences\7f854377
+Node: Prefix Keys\7f858947
+Node: Active Keymaps\7f862532
+Node: Key Lookup\7f871747
+Node: Functions for Key Lookup\7f876910
+Node: Changing Key Bindings\7f882607
+Node: Key Binding Commands\7f889504
+Node: Scanning Keymaps\7f891569
+Node: Other Keymap Functions\7f900080
+Node: Menus\7f900702
+Node: Menu Format\7f901244
+Node: Menubar Format\7f909829
+Node: Menubar\7f910454
+Node: Modifying Menus\7f913567
+Node: Menu Filters\7f918581
+Node: Pop-Up Menus\7f920477
+Node: Menu Accelerators\7f922682
+Node: Creating Menu Accelerators\7f923404
+Node: Keyboard Menu Traversal\7f924722
+Node: Menu Accelerator Functions\7f925449
+Node: Buffers Menu\7f928484
+Node: Dialog Boxes\7f929778
+Node: Dialog Box Format\7f929945
+Node: Dialog Box Functions\7f931315
+Node: Toolbar\7f931712
+Node: Toolbar Intro\7f932037
+Node: Toolbar Descriptor Format\7f934447
+Node: Specifying the Toolbar\7f938941
+Node: Other Toolbar Variables\7f942546
+Node: Scrollbars\7f946973
+Node: Drag and Drop\7f947109
+Node: Supported Protocols\7f948185
+Node: OffiX DND\7f948688
+Node: CDE dt\7f949695
+Node: MSWindows OLE\7f950286
+Node: Loose ends\7f950457
+Node: Drop Interface\7f950849
+Node: Drag Interface\7f951871
+Node: Modes\7f952045
+Node: Major Modes\7f952996
+Node: Major Mode Conventions\7f955911
+Node: Example Major Modes\7f961866
+Node: Auto Major Mode\7f969899
+Node: Mode Help\7f977347
+Node: Derived Modes\7f978448
+Node: Minor Modes\7f980639
+Node: Minor Mode Conventions\7f981941
+Node: Keymaps and Minor Modes\7f984804
+Node: Modeline Format\7f985639
+Node: Modeline Data\7f987407
+Node: Modeline Variables\7f991677
+Node: %-Constructs\7f996393
+Node: Hooks\7f999304
+Node: Documentation\7f1006066
+Node: Documentation Basics\7f1007489
+Node: Accessing Documentation\7f1010539
+Node: Keys in Documentation\7f1016818
+Node: Describing Characters\7f1020297
+Node: Help Functions\7f1022646
+Node: Obsoleteness\7f1029097
+Node: Files\7f1032091
+Node: Visiting Files\7f1034016
+Node: Visiting Functions\7f1035521
+Node: Subroutines of Visiting\7f1040568
+Node: Saving Buffers\7f1042641
+Node: Reading from Files\7f1048734
+Node: Writing to Files\7f1050891
+Node: File Locks\7f1053608
+Node: Information about Files\7f1056661
+Node: Testing Accessibility\7f1057422
+Node: Kinds of Files\7f1061162
+Node: Truenames\7f1062843
+Node: File Attributes\7f1063845
+Node: Changing File Attributes\7f1068984
+Node: File Names\7f1074390
+Node: File Name Components\7f1075999
+Node: Directory Names\7f1079100
+Node: Relative File Names\7f1082553
+Node: File Name Expansion\7f1083631
+Node: Unique File Names\7f1087538
+Node: File Name Completion\7f1089153
+Node: User Name Completion\7f1091814
+Node: Contents of Directories\7f1093154
+Node: Create/Delete Dirs\7f1096467
+Node: Magic File Names\7f1097573
+Node: Partial Files\7f1103203
+Node: Intro to Partial Files\7f1103431
+Node: Creating a Partial File\7f1104671
+Node: Detached Partial Files\7f1105606
+Node: Format Conversion\7f1106728
+Node: Files and MS-DOS\7f1113244
+Node: Backups and Auto-Saving\7f1115308
+Node: Backup Files\7f1115983
+Node: Making Backups\7f1117380
+Node: Rename or Copy\7f1120129
+Node: Numbered Backups\7f1122622
+Node: Backup Names\7f1124866
+Node: Auto-Saving\7f1128158
+Node: Reverting\7f1136300
+Node: Buffers\7f1139458
+Node: Buffer Basics\7f1140875
+Node: Current Buffer\7f1142928
+Node: Buffer Names\7f1147616
+Node: Buffer File Name\7f1150821
+Node: Buffer Modification\7f1154940
+Node: Modification Time\7f1157133
+Node: Read Only Buffers\7f1160508
+Node: The Buffer List\7f1162926
+Node: Creating Buffers\7f1167756
+Node: Killing Buffers\7f1169902
+Node: Indirect Buffers\7f1173633
+Node: Windows\7f1176205
+Node: Basic Windows\7f1177683
+Node: Splitting Windows\7f1180781
+Node: Deleting Windows\7f1187670
+Node: Selecting Windows\7f1190350
+Node: Cyclic Window Ordering\7f1193479
+Node: Buffers and Windows\7f1198103
+Node: Displaying Buffers\7f1199944
+Node: Choosing Window\7f1205120
+Node: Window Point\7f1212836
+Node: Window Start\7f1214882
+Node: Vertical Scrolling\7f1219372
+Node: Horizontal Scrolling\7f1225509
+Node: Size of Window\7f1229018
+Node: Position of Window\7f1233736
+Node: Resizing Windows\7f1235976
+Node: Window Configurations\7f1241405
+Node: Frames\7f1244830
+Node: Creating Frames\7f1246599
+Node: Frame Properties\7f1247940
+Node: Property Access\7f1248756
+Node: Initial Properties\7f1249605
+Node: X Frame Properties\7f1252091
+Node: Size and Position\7f1256725
+Node: Frame Name\7f1258721
+Node: Frame Titles\7f1259635
+Node: Deleting Frames\7f1261459
+Node: Finding All Frames\7f1262059
+Node: Frames and Windows\7f1264053
+Node: Minibuffers and Frames\7f1265758
+Node: Input Focus\7f1266676
+Node: Visibility of Frames\7f1269753
+Node: Raising and Lowering\7f1271672
+Node: Frame Configurations\7f1274048
+Node: Frame Hooks\7f1274642
+Node: Consoles and Devices\7f1276447
+Node: Basic Console Functions\7f1279191
+Node: Basic Device Functions\7f1279614
+Node: Console Types and Device Classes\7f1280330
+Node: Connecting to a Console or Device\7f1282527
+Node: The Selected Console and Device\7f1284690
+Node: Console and Device I/O\7f1285716
+Node: Positions\7f1286480
+Node: Point\7f1287449
+Node: Motion\7f1290539
+Node: Character Motion\7f1291306
+Node: Word Motion\7f1293543
+Node: Buffer End Motion\7f1295044
+Node: Text Lines\7f1296541
+Node: Screen Lines\7f1301136
+Node: List Motion\7f1305199
+Node: Skipping Characters\7f1308607
+Node: Excursions\7f1310826
+Node: Narrowing\7f1313858
+Node: Markers\7f1319183
+Node: Overview of Markers\7f1320089
+Node: Predicates on Markers\7f1324781
+Node: Creating Markers\7f1326027
+Node: Information from Markers\7f1330064
+Node: Changing Markers\7f1331162
+Node: The Mark\7f1332540
+Node: The Region\7f1341034
+Node: Text\7f1346721
+Node: Near Point\7f1349420
+Node: Buffer Contents\7f1353607
+Node: Comparing Text\7f1355013
+Node: Insertion\7f1356421
+Node: Commands for Insertion\7f1360263
+Node: Deletion\7f1363219
+Node: User-Level Deletion\7f1366814
+Node: The Kill Ring\7f1370975
+Node: Kill Ring Concepts\7f1373149
+Node: Kill Functions\7f1374203
+Node: Yank Commands\7f1376108
+Node: Low-Level Kill Ring\7f1377979
+Node: Internals of Kill Ring\7f1380765
+Node: Undo\7f1383545
+Node: Maintaining Undo\7f1387874
+Node: Filling\7f1390494
+Node: Margins\7f1396488
+Node: Auto Filling\7f1400417
+Node: Sorting\7f1401598
+Node: Columns\7f1410898
+Node: Indentation\7f1413414
+Node: Primitive Indent\7f1414193
+Node: Mode-Specific Indent\7f1415437
+Node: Region Indent\7f1417948
+Node: Relative Indent\7f1420896
+Node: Indent Tabs\7f1423278
+Node: Motion by Indent\7f1424599
+Node: Case Changes\7f1425378
+Node: Text Properties\7f1428629
+Node: Examining Properties\7f1430442
+Node: Changing Properties\7f1432309
+Node: Property Search\7f1435900
+Node: Special Properties\7f1440611
+Node: Saving Properties\7f1440892
+Node: Substitution\7f1444034
+Node: Registers\7f1447304
+Node: Transposition\7f1449847
+Node: Change Hooks\7f1450741
+Node: Transformations\7f1452781
+Node: Searching and Matching\7f1457166
+Node: String Search\7f1458297
+Node: Regular Expressions\7f1463021
+Node: Syntax of Regexps\7f1464388
+Node: Regexp Example\7f1478767
+Node: Regexp Search\7f1480937
+Node: POSIX Regexps\7f1487025
+Node: Search and Replace\7f1488860
+Node: Match Data\7f1492225
+Node: Simple Match Data\7f1493355
+Node: Replacing Match\7f1497620
+Node: Entire Match Data\7f1499954
+Node: Saving Match Data\7f1501945
+Node: Searching and Case\7f1503326
+Node: Standard Regexps\7f1505360
+Node: Syntax Tables\7f1507558
+Node: Syntax Basics\7f1508672
+Node: Syntax Descriptors\7f1511644
+Node: Syntax Class Table\7f1513494
+Node: Syntax Flags\7f1519532
+Node: Syntax Table Functions\7f1522749
+Node: Motion and Syntax\7f1526613
+Node: Parsing Expressions\7f1528065
+Node: Standard Syntax Tables\7f1534134
+Node: Syntax Table Internals\7f1534978
+Node: Abbrevs\7f1536004
+Node: Abbrev Mode\7f1537807
+Node: Abbrev Tables\7f1538527
+Node: Defining Abbrevs\7f1540060
+Node: Abbrev Files\7f1541965
+Node: Abbrev Expansion\7f1543738
+Node: Standard Abbrev Tables\7f1548369
+Node: Extents\7f1549528
+Node: Intro to Extents\7f1550771
+Node: Creating and Modifying Extents\7f1554765
+Node: Extent Endpoints\7f1556272
+Node: Finding Extents\7f1559535
+Node: Mapping Over Extents\7f1563284
+Node: Extent Properties\7f1569401
+Node: Detached Extents\7f1579545
+Node: Extent Parents\7f1581404
+Node: Duplicable Extents\7f1583099
+Node: Extents and Events\7f1586320
+Node: Atomic Extents\7f1588227
+Node: Specifiers\7f1588674
+Node: Introduction to Specifiers\7f1590481
+Node: Specifiers In-Depth\7f1592791
+Node: Specifier Instancing\7f1597705
+Node: Specifier Types\7f1600967
+Node: Adding Specifications\7f1606041
+Node: Retrieving Specifications\7f1615403
+Node: Specifier Tag Functions\7f1619138
+Node: Specifier Instancing Functions\7f1622372
+Node: Specifier Example\7f1625779
+Node: Creating Specifiers\7f1628885
+Node: Specifier Validation Functions\7f1631134
+Node: Other Specification Functions\7f1633518
+Node: Faces and Window-System Objects\7f1637337
+Node: Faces\7f1637661
+Node: Merging Faces\7f1639278
+Node: Basic Face Functions\7f1641239
+Node: Face Properties\7f1643337
+Node: Face Convenience Functions\7f1652896
+Node: Other Face Display Functions\7f1656026
+Node: Fonts\7f1656839
+Node: Font Specifiers\7f1657540
+Node: Font Instances\7f1657781
+Node: Font Instance Names\7f1658748
+Node: Font Instance Size\7f1659589
+Node: Font Instance Characteristics\7f1660875
+Node: Font Convenience Functions\7f1662044
+Node: Colors\7f1663334
+Node: Color Specifiers\7f1663774
+Node: Color Instances\7f1664001
+Node: Color Instance Properties\7f1664745
+Node: Color Convenience Functions\7f1665371
+Node: Glyphs\7f1666424
+Node: Glyph Functions\7f1668016
+Node: Creating Glyphs\7f1668423
+Node: Glyph Properties\7f1670010
+Node: Glyph Convenience Functions\7f1679177
+Node: Glyph Dimensions\7f1683124
+Node: Images\7f1684204
+Node: Image Specifiers\7f1684653
+Node: Image Instantiator Conversion\7f1696075
+Node: Image Instances\7f1697440
+Node: Image Instance Types\7f1698191
+Node: Image Instance Functions\7f1700846
+Node: Glyph Types\7f1705415
+Node: Mouse Pointer\7f1707187
+Node: Redisplay Glyphs\7f1710190
+Node: Subwindows\7f1711223
+Node: Annotations\7f1711466
+Node: Annotation Basics\7f1712482
+Node: Annotation Primitives\7f1716420
+Node: Annotation Properties\7f1717749
+Node: Locating Annotations\7f1720789
+Node: Margin Primitives\7f1721626
+Node: Annotation Hooks\7f1723520
+Node: Display\7f1724180
+Node: Refresh Screen\7f1725158
+Node: Truncation\7f1727069
+Node: The Echo Area\7f1729594
+Node: Warnings\7f1736029
+Node: Invisible Text\7f1740465
+Node: Selective Display\7f1743044
+Node: Overlay Arrow\7f1747170
+Node: Temporary Displays\7f1748523
+Node: Blinking\7f1752644
+Node: Usual Display\7f1754829
+Node: Display Tables\7f1757378
+Node: Display Table Format\7f1758182
+Node: Active Display Table\7f1759624
+Node: Character Descriptors\7f1760816
+Node: Beeping\7f1761573
+Node: Hash Tables\7f1766339
+Node: Introduction to Hash Tables\7f1766947
+Node: Working With Hash Tables\7f1772970
+Node: Weak Hash Tables\7f1774087
+Node: Range Tables\7f1775886
+Node: Introduction to Range Tables\7f1776575
+Node: Working With Range Tables\7f1777006
+Node: Databases\7f1777891
+Node: Connecting to a Database\7f1778190
+Node: Working With a Database\7f1779281
+Node: Other Database Functions\7f1780139
+Node: Processes\7f1780713
+Node: Subprocess Creation\7f1782937
+Node: Synchronous Processes\7f1786226
+Node: MS-DOS Subprocesses\7f1792944
+Node: Asynchronous Processes\7f1794018
+Node: Deleting Processes\7f1797731
+Node: Process Information\7f1799602
+Node: Input to Processes\7f1803528
+Node: Signals to Processes\7f1805818
+Node: Output from Processes\7f1810238
+Node: Process Buffers\7f1811050
+Node: Filter Functions\7f1813917
+Node: Accepting Output\7f1819487
+Node: Sentinels\7f1821014
+Node: Process Window Size\7f1824504
+Node: Transaction Queues\7f1824853
+Node: Network\7f1826551
+Node: System Interface\7f1828385
+Node: Starting Up\7f1829655
+Node: Start-up Summary\7f1830249
+Node: Init File\7f1833803
+Node: Terminal-Specific\7f1836184
+Node: Command Line Arguments\7f1839343
+Node: Getting Out\7f1842832
+Node: Killing XEmacs\7f1843401
+Node: Suspending XEmacs\7f1845070
+Node: System Environment\7f1848412
+Node: User Identification\7f1855079
+Node: Time of Day\7f1858608
+Node: Time Conversion\7f1861395
+Node: Timers\7f1866435
+Node: Terminal Input\7f1868608
+Node: Input Modes\7f1869111
+Node: Translating Input\7f1871524
+Node: Recording Input\7f1875689
+Node: Terminal Output\7f1877789
+Node: Flow Control\7f1881412
+Node: Batch Mode\7f1885204
+Node: X-Windows\7f1886586
+Node: X Selections\7f1887398
+Node: X Server\7f1889608
+Node: Resources\7f1890009
+Node: Server Data\7f1895150
+Node: Grabs\7f1896357
+Node: X Miscellaneous\7f1897938
+Node: ToolTalk Support\7f1900323
+Node: XEmacs ToolTalk API Summary\7f1900540
+Node: Sending Messages\7f1901840
+Node: Example of Sending Messages\7f1902091
+Node: Elisp Interface for Sending Messages\7f1903153
+Node: Receiving Messages\7f1909546
+Node: Example of Receiving Messages\7f1909769
+Node: Elisp Interface for Receiving Messages\7f1910605
+Node: LDAP Support\7f1914430
+Node: Building XEmacs with LDAP support\7f1914926
+Node: XEmacs LDAP API\7f1915904
+Node: LDAP Variables\7f1916634
+Node: The High-Level LDAP API\7f1919110
+Node: The Low-Level LDAP API\7f1920215
+Node: The LDAP Lisp Object\7f1920489
+Node: Opening and Closing a LDAP Connection\7f1921042
+Node: Searching on a LDAP Server (Low-level)\7f1922825
+Node: Syntax of Search Filters\7f1924218
+Node: Internationalization\7f1925516
+Node: I18N Levels 1 and 2\7f1925853
+Node: I18N Level 3\7f1926559
+Node: Level 3 Basics\7f1926840
+Node: Level 3 Primitives\7f1927673
+Node: Dynamic Messaging\7f1929279
+Node: Domain Specification\7f1929742
+Node: Documentation String Extraction\7f1931645
+Node: I18N Level 4\7f1932563
+Node: MULE\7f1932755
+Node: Internationalization Terminology\7f1933866
+Node: Charsets\7f1942405
+Node: Charset Properties\7f1943101
+Node: Basic Charset Functions\7f1947787
+Node: Charset Property Functions\7f1949968
+Node: Predefined Charsets\7f1952011
+Node: MULE Characters\7f1954931
+Node: Composite Characters\7f1955778
+Node: ISO 2022\7f1957032
+Node: Coding Systems\7f1962754
+Node: Coding System Types\7f1964676
+Node: EOL Conversion\7f1966495
+Node: Coding System Properties\7f1967678
+Node: Basic Coding System Functions\7f1971530
+Node: Coding System Property Functions\7f1973434
+Node: Encoding and Decoding Text\7f1973992
+Node: Detection of Textual Encoding\7f1975128
+Node: Big5 and Shift-JIS Functions\7f1976664
+Node: CCL\7f1977752
+Node: CCL Syntax\7f1980856
+Node: CCL Statements\7f1982444
+Node: CCL Expressions\7f1987092
+Node: Calling CCL\7f1989631
+Node: CCL Examples\7f1992620
+Node: Category Tables\7f1992757
+Node: Tips\7f1995116
+Node: Style Tips\7f1995757
+Node: Compilation Tips\7f2005276
+Node: Documentation Tips\7f2007190
+Node: Comment Tips\7f2012699
+Node: Library Headers\7f2015701
+Node: Building XEmacs and Object Allocation\7f2019673
+Node: Building XEmacs\7f2020556
+Node: Pure Storage\7f2026891
+Node: Garbage Collection\7f2029679
+Node: Standard Errors\7f2040818
+Node: Standard Buffer-Local Variables\7f2045027
+Node: Standard Keymaps\7f2047660
+Node: Standard Hooks\7f2051392
+Node: Index\7f2058892
\1f
End Tag Table
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
* Index:: Index including concepts, functions, variables,
and other terms.
- -- The Detailed Node Listing --
+ --- The Detailed Node Listing ---
Here are other nodes that are inferiors of those already listed,
mentioned here so you can get to them in one step:
* Classifying Lists:: How to distinguish various sorts of list forms.
* Function Forms:: Forms that call functions.
* Macro Forms:: Forms that call macros.
-* Special Forms:: "Special forms" are idiosyncratic primitives,
+* Special Forms:: ``Special forms'' are idiosyncratic primitives,
most of them extremely important.
* Autoloading:: Functions set up to load files
containing their real definitions.
* Events:: What input looks like when you read it.
* Reading Input:: How to read input events from the keyboard or mouse.
* Waiting:: Waiting for user input or elapsed time.
-* Quitting:: How `C-g' works. How to catch or defer quitting.
+* Quitting:: How C-g works. How to catch or defer quitting.
* Prefix Command Arguments:: How the commands to set prefix args work.
* Recursive Editing:: Entering a recursive edit,
and why you usually shouldn't.
is visited.
* Buffer Modification:: A buffer is "modified" if it needs to be saved.
* Modification Time:: Determining whether the visited file was changed
- "behind XEmacs's back".
+ ``behind XEmacs's back''.
* Read Only Buffers:: Modifying text is not allowed in a
read-only buffer.
* The Buffer List:: How to look at all the existing buffers.
* Information from Markers:: Finding the marker's buffer or character
position.
* Changing Markers:: Moving the marker to a new buffer or position.
-* The Mark:: How "the mark" is implemented with a marker.
-* The Region:: How to access "the region".
+* The Mark:: How ``the mark'' is implemented with a marker.
+* The Region:: How to access ``the region''.
Text
(under user control) in a wide variety
of contexts.
* Specifiers In-Depth:: Gory details about specifier innards.
-* Specifier Instancing:: Instancing means obtaining the "value" of
+* Specifier Instancing:: Instancing means obtaining the ``value'' of
a specifier in a particular context.
* Specifier Types:: Specifiers come in different flavors.
-* Adding Specifications:: Specifications control a specifier's "value"
+* Adding Specifications:: Specifications control a specifier's ``value''
by giving conditions under which a
particular value is valid.
* Retrieving Specifications:: Querying a specifier's specifications.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
The special forms `defvar' and `defconst' also set the default value
(if they set the variable at all), rather than any local value.
- - Function: default-value SYMBOL
+ - Function: default-value symbol
This function returns SYMBOL's default value. This is the value
that is seen in buffers that do not have their own values for this
variable. If SYMBOL is not buffer-local, this is equivalent to
- `symbol-value' (*note Accessing Variables::.).
+ `symbol-value' (*note Accessing Variables::).
- - Function: default-boundp SYMBOL
+ - Function: default-boundp symbol
The function `default-boundp' tells you whether SYMBOL's default
value is nonvoid. If `(default-boundp 'foo)' returns `nil', then
`(default-value 'foo)' would get an error.
`default-boundp' is to `default-value' as `boundp' is to
`symbol-value'.
- - Special Form: setq-default SYMBOL VALUE
+ - Special Form: setq-default symbol value
This sets the default value of SYMBOL to VALUE. It does not
evaluate SYMBOL, but does evaluate VALUE. The value of the
`setq-default' form is VALUE.
(default-value 'local)
=> another-default
- - Function: set-default SYMBOL VALUE
+ - Function: set-default symbol value
This function is like `setq-default', except that SYMBOL is
evaluated.
returned. Any time you change the value of the former variable, the
value of the latter is actually changed. This is useful in cases where
you want to rename a variable but still make old code work (*note
-Obsoleteness::.).
+Obsoleteness::).
- - Function: defvaralias VARIABLE ALIAS
+ - Function: defvaralias variable alias
This function defines VARIABLE as an alias for ALIAS.
Thenceforth, any operations performed on VARIABLE will actually be
performed on ALIAS. Both VARIABLE and ALIAS should be symbols.
variable, a variable that has a buffer-local value in any buffer,
or the symbols `nil' or `t'.
- - Function: variable-alias VARIABLE
+ - Function: variable-alias variable
If VARIABLE is aliased to another variable, this function returns
that variable. VARIABLE should be a symbol. If VARIABLE is not
aliased, this function returns `nil'.
- - Function: indirect-variable OBJECT
+ - Function: indirect-variable object
This function returns the variable at the end of OBJECT's
variable-alias chain. If OBJECT is a symbol, follow all variable
aliases and return the final (non-aliased) symbol. If OBJECT is
A "command" is an object that `command-execute' can invoke; it is
a possible definition for a key sequence. Some functions are
commands; a function written in Lisp is a command if it contains an
- interactive declaration (*note Defining Commands::.). Such a
+ interactive declaration (*note Defining Commands::). Such a
function can be called from Lisp expressions like other functions;
in this case, the fact that the function is a command makes no
difference.
A "compiled function" is a function that has been compiled by the
byte compiler. *Note Compiled-Function Type::.
- - Function: subrp OBJECT
+ - Function: subrp object
This function returns `t' if OBJECT is a built-in function (i.e.,
a Lisp primitive).
(subrp (symbol-function 'message))
=> t
- - Function: compiled-function-p OBJECT
+ - Function: compiled-function-p object
This function returns `t' if OBJECT is a compiled function. For
example:
It is not often useful to write a lambda expression as the CAR of a
form in this way. You can get the same result, of making local
variables and giving them values, using the special form `let' (*note
-Local Variables::.). And `let' is clearer and easier to use. In
+Local Variables::). And `let' is clearer and easier to use. In
practice, lambda expressions are either stored as the function
definitions of symbols, to produce named functions, or passed as
-arguments to other functions (*note Anonymous Functions::.).
+arguments to other functions (*note Anonymous Functions::).
However, calls to explicit lambda expressions were very useful in the
old days of Lisp, before the special form `let' was invented. At that
source file, but since these spaces come before the starting
double-quote, they are not part of the string. Some people make a
practice of indenting any additional lines of the string so that the
-text lines up in the program source. *This is a mistake.* The
+text lines up in the program source. _This is a mistake._ The
indentation of the following lines is inside the string; what looks
nice in the source code will look ugly when displayed by the help
commands.
However, a symbol can serve as the name of a function. This happens
when you put the function in the symbol's "function cell" (*note Symbol
-Components::.). Then the symbol itself becomes a valid, callable
+Components::). Then the symbol itself becomes a valid, callable
function, equivalent to the list or subr-object that its function cell
refers to. The contents of the function cell are also called the
symbol's "function definition". The procedure of using a symbol's
distinguish.
Even so, keep in mind that a function need not have a unique name.
-While a given function object *usually* appears in the function cell of
+While a given function object _usually_ appears in the function cell of
only one symbol, this is just a matter of convenience. It is easy to
store it in several symbols using `fset'; then each of the symbols is
equally well a name for the same function.
is called "defining a function", and it is done with the `defun'
special form.
- - Special Form: defun NAME ARGUMENT-LIST BODY-FORMS
+ - Special Form: defun name argument-list body-forms
`defun' is the usual way to define new Lisp functions. It defines
the symbol NAME as a function that looks like this:
`defun' stores this lambda expression in the function cell of
NAME. It returns the value NAME, but usually we ignore this value.
- As described previously (*note Lambda Expressions::.),
+ As described previously (*note Lambda Expressions::),
ARGUMENT-LIST is a list of argument names and may include the
keywords `&optional' and `&rest'. Also, the first two forms in
BODY-FORMS may be a documentation string and an interactive
distinguish deliberate redefinition from unintentional
redefinition.
- - Function: define-function NAME DEFINITION
- - Function: defalias NAME DEFINITION
+ - Function: define-function name definition
+ - Function: defalias name definition
These equivalent special forms define the symbol NAME as a
function, with definition DEFINITION (which can be any valid Lisp
function).
specific function name is being defined--especially where that
name appears explicitly in the source file being loaded. This is
because `define-function' and `defalias' record which file defined
- the function, just like `defun'. (*note Unloading::.).
+ the function, just like `defun'. (*note Unloading::).
By contrast, in programs that manipulate function definitions for
other purposes, it is better to use `fset', which does not keep
run time which function to call. To do that, use the functions
`funcall' and `apply'.
- - Function: funcall FUNCTION &rest ARGUMENTS
+ - Function: funcall function &rest arguments
`funcall' calls FUNCTION with ARGUMENTS, and returns whatever
FUNCTION returns.
that you can use any expression to obtain the function to be
called. It also means that `funcall' does not see the expressions
you write for the ARGUMENTS, only their values. These values are
- *not* evaluated a second time in the act of calling FUNCTION;
+ _not_ evaluated a second time in the act of calling FUNCTION;
`funcall' enters the normal procedure for calling a function at the
place where the arguments have already been evaluated.
Compare these example with the examples of `apply'.
- - Function: apply FUNCTION &rest ARGUMENTS
+ - Function: apply function &rest arguments
`apply' calls FUNCTION with ARGUMENTS, just like `funcall' but
with one difference: the last of ARGUMENTS is a list of arguments
to give to FUNCTION, rather than a single argument. We also say
function as the argument. Here are two different kinds of no-op
function:
- - Function: identity ARG
+ - Function: identity arg
This function returns ARG and has no side effects.
- - Function: ignore &rest ARGS
+ - Function: ignore &rest args
This function ignores any arguments and returns `nil'.
\1f
Mapping functions should never modify the sequence being mapped over.
The results are unpredictable.
- - Function: mapcar FUNCTION SEQUENCE
+ - Function: mapcar function sequence
`mapcar' applies FUNCTION to each element of SEQUENCE in turn, and
returns a list of the results.
=> (2 3 4)
(mapcar 'char-to-string "abc")
=> ("a" "b" "c")
-
+
;; Call each function in `my-hooks'.
(mapcar 'funcall my-hooks)
-
+
(defun mapcar* (f &rest args)
"Apply FUNCTION to successive cars of all ARGS.
Return the list of results."
(apply 'mapcar* f
;; Recurse for rest of elements.
(mapcar 'cdr args)))))
-
+
(mapcar* 'cons '(a b c) '(1 2 3 4))
=> ((a . 1) (b . 2) (c . 3))
- - Function: mapconcat FUNCTION SEQUENCE SEPARATOR
+ - Function: mapconcat function sequence separator
`mapconcat' applies FUNCTION to each element of SEQUENCE: the
results, which must be strings, are concatenated. Between each
pair of result strings, `mapconcat' inserts the string SEPARATOR.
'(The cat in the hat)
" ")
=> "The cat in the hat"
-
+
(mapconcat (function (lambda (x) (format "%c" (1+ x))))
"HAL-8000"
"")
=> (lambda (x) (+ 12 x))
This computes a list that looks like `(lambda (x) (+ 12 x))' and makes
-it the value (*not* the function definition!) of `silly'.
+it the value (_not_ the function definition!) of `silly'.
Here is how we might call this function:
(funcall silly 1)
=> 13
-(It does *not* work to write `(silly 1)', because this function is not
-the *function definition* of `silly'. We have not given `silly' any
+(It does _not_ work to write `(silly 1)', because this function is not
+the _function definition_ of `silly'. We have not given `silly' any
function definition, just a value as a variable.)
Most of the time, anonymous functions are constants that appear in
In such cases, we usually use the special form `function' instead of
simple quotation to quote the anonymous function.
- - Special Form: function FUNCTION-OBJECT
+ - Special Form: function function-object
This special form returns FUNCTION-OBJECT without evaluating it.
In this, it is equivalent to `quote'. However, it serves as a
note to the XEmacs Lisp compiler that FUNCTION-OBJECT is intended
See also the function `indirect-function' in *Note Function
Indirection::.
- - Function: symbol-function SYMBOL
+ - Function: symbol-function symbol
This returns the object in the function cell of SYMBOL. If the
symbol's function cell is void, a `void-function' error is
signaled.
`fboundp'. After you have given a symbol a function definition, you
can make it void once more using `fmakunbound'.
- - Function: fboundp SYMBOL
+ - Function: fboundp symbol
This function returns `t' if the symbol has an object in its
function cell, `nil' otherwise. It does not check that the object
is a legitimate function.
- - Function: fmakunbound SYMBOL
+ - Function: fmakunbound symbol
This function makes SYMBOL's function cell void, so that a
subsequent attempt to access this cell will cause a `void-function'
error. (See also `makunbound', in *Note Local Variables::.)
(foo 1)
error--> Symbol's function definition is void: foo
- - Function: fset SYMBOL OBJECT
+ - Function: fset symbol object
This function stores OBJECT in the function cell of SYMBOL. The
result is OBJECT. Normally OBJECT should be a function or the
name of a function, but this is not checked.
(list 'setq var (list '1+ var)))
When this is called with `(inc x)', the argument `var' has the value
-`x'--*not* the *value* of `x'. The body of the macro uses this to
+`x'--_not_ the _value_ of `x'. The body of the macro uses this to
construct the expansion, which is `(setq x (1+ x))'. Once the macro
definition returns this expansion, Lisp proceeds to evaluate it, thus
incrementing `x'.
You can see the expansion of a given macro call by calling
`macroexpand'.
- - Function: macroexpand FORM &optional ENVIRONMENT
+ - Function: macroexpand form &optional environment
This function expands FORM, if it is a macro call. If the result
is another macro call, it is expanded in turn, until something
which is not a macro call results. That is the value returned by
(defmacro inc (var)
(list 'setq var (list '1+ var)))
=> inc
-
+
(macroexpand '(inc r))
=> (setq r (1+ r))
-
+
(defmacro inc2 (var1 var2)
(list 'progn (list 'inc var1) (list 'inc var2)))
=> inc2
-
+
(macroexpand '(inc2 r s))
=> (progn (inc r) (inc s)) ; `inc' not expanded here.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
the file. This is in case the file needs the required packages for
proper compilation. One way to ensure that necessary macro definitions
are available during compilation is to require the files that define
-them (*note Named Features::.). To avoid loading the macro definition
-files when someone *runs* the compiled program, write
+them (*note Named Features::). To avoid loading the macro definition
+files when someone _runs_ the compiled program, write
`eval-when-compile' around the `require' calls (*note Eval During
-Compile::.).
+Compile::).
\1f
File: lispref.info, Node: Defining Macros, Next: Backquote, Prev: Compiling Macros, Up: Macros
Lisp macros have names, and they are usually defined with the special
form `defmacro'.
- - Special Form: defmacro NAME ARGUMENT-LIST BODY-FORMS...
+ - Special Form: defmacro name argument-list body-forms...
`defmacro' defines the symbol NAME as a macro that looks like this:
(macro lambda ARGUMENT-LIST . BODY-FORMS)
The shape and meaning of ARGUMENT-LIST is the same as in a
function, and the keywords `&rest' and `&optional' may be used
- (*note Argument List::.). Macros may have a documentation string,
+ (*note Argument List::). Macros may have a documentation string,
but any `interactive' declaration is ignored since macros cannot be
called interactively.
Backquote allows you to quote a list, but selectively evaluate
elements of that list. In the simplest case, it is identical to the
-special form `quote' (*note Quoting::.). For example, these two forms
+special form `quote' (*note Quoting::). For example, these two forms
yield identical results:
`(a list of (+ 2 3) elements)
(cons 'while (cons (list '<= var final)
(append body (list (list 'inc var)))))))
=> for
+
(for i from 1 to 3 do
(setq square (* i i))
(princ (format "\n%d %d" i square)))
==>
-
(let ((i 1))
(while (<= i 3)
(setq square (* i i))
(princ (format "%d %d" i square))
(inc i)))
-
-
- -|1 1
+
+ -|1 1
-|2 4
-|3 9
=> nil
(defmacro for (var from init to final do &rest body)
"Execute a simple for loop: (for i from 1 to 10 do (print i))."
-
- `(let ((,var ,init)
+ `(let ((,var ,init)
(max ,final))
(while (<= ,var max)
,@body
binding made by `for'.
The way to correct this is to use an uninterned symbol instead of
-`max' (*note Creating Symbols::.). The uninterned symbol can be bound
+`max' (*note Creating Symbols::). The uninterned symbol can be bound
and referred to just like any other symbol, but since it is created by
`for', we know that it cannot already appear in the user's program.
Since it is not interned, there is no way the user can put it into the
Another problem can happen if you evaluate any of the macro argument
expressions during the computation of the expansion, such as by calling
-`eval' (*note Eval::.). If the argument is supposed to refer to the
+`eval' (*note Eval::). If the argument is supposed to refer to the
user's variables, you may have trouble if the user happens to use a
variable with the same name as one of the macro arguments. Inside the
macro body, the macro argument binding is the most local binding of this
(defmacro empty-object ()
(list 'quote (cons nil nil)))
-
+
(defun initialize (condition)
(let ((object (empty-object)))
(if condition
The way to declare new customization groups is with `defgroup'.
- - Macro: defgroup GROUP MEMBERS DOC [KEYWORD VALUE]...
+ - Macro: defgroup group members doc [keyword value]...
Declare GROUP as a customization group containing MEMBERS. Do not
quote the symbol GROUP. The argument DOC specifies the
documentation string for the group.
are `custom-variable' for a variable, `custom-face' for a face,
and `custom-group' for a group.
- In addition to the common keywords (*note Common Keywords::.), you
+ In addition to the common keywords (*note Common Keywords::), you
can use this keyword in `defgroup':
`:prefix PREFIX'
Use `defcustom' to declare user-editable variables.
- - Macro: defcustom OPTION DEFAULT DOC [KEYWORD VALUE]...
+ - Macro: defcustom option default doc [keyword value]...
Declare OPTION as a customizable user option variable. Do not
quote OPTION. The argument DOC specifies the documentation string
for the variable.
symbol, one of the customization type names defined in the following
sections. After this symbol come a number of arguments, depending on
the symbol. Between the type symbol and its arguments, you can
-optionally write keyword-value pairs (*note Type Keywords::.).
+optionally write keyword-value pairs (*note Type Keywords::).
Some of the type symbols do not use any arguments; those are called
"simple types". For a simple type, if you do not use any keyword-value
* Autoload:: Setting up a function to autoload.
* Repeated Loading:: Precautions about loading a file twice.
* Named Features:: Loading a library if it isn't already loaded.
-* Unloading:: How to "unload" a library that was loaded.
+* Unloading:: How to ``unload'' a library that was loaded.
* Hooks for Loading:: Providing code to be run when
particular libraries are loaded.
XEmacs Lisp has several interfaces for loading. For example,
`autoload' creates a placeholder object for a function in a file;
trying to call the autoloading function loads the file to get the
-function's real definition (*note Autoload::.). `require' loads a file
-if it isn't already loaded (*note Named Features::.). Ultimately, all
+function's real definition (*note Autoload::). `require' loads a file
+if it isn't already loaded (*note Named Features::). Ultimately, all
these facilities call the `load' function to do the work.
- - Function: load FILENAME &optional MISSING-OK NOMESSAGE NOSUFFIX
+ - Function: load filename &optional missing-ok nomessage nosuffix
This function finds and opens a file of Lisp code, evaluates all
the forms in it, and closes the file.
should bind `load-path' locally with `let' around the calls to
`load'.
- - Function: locate-file FILENAME PATH-LIST &optional SUFFIXES MODE
+ - Function: locate-file filename path-list &optional suffixes mode
This function searches for a file in the same way that `load' does,
and returns the file found (if any). (In fact, `load' uses this
function to search through `load-path'.) It searches for FILENAME
you will have to call `locate-file-clear-hashing' to get it back
on track. See that function for details.
- - Function: locate-file-clear-hashing PATH
+ - Function: locate-file-clear-hashing path
This function clears the hash records for the specified list of
directories. `locate-file' uses a hashing scheme to speed lookup,
and will correctly track the following environmental changes:
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
most convenient way to make a function autoload, but only for packages
installed along with Emacs.
- - Function: autoload FUNCTION FILENAME &optional DOCSTRING INTERACTIVE
- TYPE
+ - Function: autoload function filename &optional docstring interactive
+ type
This function defines the function (or macro) named FUNCTION so as
to load automatically from FILENAME. The string FILENAME
specifies the file to load to get the real definition of FUNCTION.
In this case, `"prolog"' is the name of the file to load, 169681
refers to the documentation string in the `DOC' file (*note
- Documentation Basics::.), `t' means the function is interactive,
+ Documentation Basics::), `t' means the function is interactive,
and `nil' that it is not a macro or a keymap.
The autoloaded file usually contains other definitions and may
The same magic comment can copy any kind of form into `loaddefs.el'.
If the form following the magic comment is not a function definition,
it is copied verbatim. You can also use a magic comment to execute a
-form at build time *without* executing it when the file itself is
+form at build time _without_ executing it when the file itself is
loaded. To do this, write the form "on the same line" as the magic
comment. Since it is in a comment, it does nothing when you load the
source file; but `update-file-autoloads' copies it to `loaddefs.el',
(cons '(leif-mode " Leif") minor-mode-alist)))
To add an element to a list just once, use `add-to-list' (*note
-Setting Variables::.).
+Setting Variables::).
Occasionally you will want to test explicitly whether a library has
already been loaded. Here's one way to test, in a library, whether it
'comint)' will henceforth know that nothing needs to be done.
When `require' is used at top level in a file, it takes effect when
-you byte-compile that file (*note Byte Compilation::.) as well as when
+you byte-compile that file (*note Byte Compilation::) as well as when
you load it. This is in case the required package contains macros that
the byte compiler must know about.
`provide' call, so the subsequent `require' call does nothing while
loading.
- - Function: provide FEATURE
+ - Function: provide feature
This function announces that FEATURE is now loaded, or being
loaded, into the current XEmacs session. This means that the
facilities associated with FEATURE are or will be available for
or `provide' calls that occurred during the load are undone.
*Note Autoload::.
- - Function: require FEATURE &optional FILENAME
+ - Function: require feature &optional filename
This function checks whether FEATURE is present in the current
XEmacs session (using `(featurep FEATURE)'; see below). If it is
not, then `require' loads FILENAME with `load'. If FILENAME is
If loading the file fails to provide FEATURE, `require' signals an
error, `Required feature FEATURE was not provided'.
- - Function: featurep FEXP
+ - Function: featurep fexp
This function returns `t' if feature FEXP is present in this
Emacs. Use this to conditionalize execution of lisp code based on
the presence or absence of emacs or environment extensions.
reclaim memory for other Lisp objects. To do this, use the function
`unload-feature':
- - Command: unload-feature FEATURE &optional FORCE
+ - Command: unload-feature feature &optional force
This command unloads the library that provided feature FEATURE.
It undefines all functions, macros, and variables defined in that
library with `defconst', `defvar', `defun', `defmacro',
load the file. But it does execute any `require' calls at top level in
the file. One way to ensure that necessary macro definitions are
available during compilation is to `require' the file that defines them
-(*note Named Features::.). To avoid loading the macro definition files
-when someone *runs* the compiled program, write `eval-when-compile'
-around the `require' calls (*note Eval During Compile::.).
+(*note Named Features::). To avoid loading the macro definition files
+when someone _runs_ the compiled program, write `eval-when-compile'
+around the `require' calls (*note Eval During Compile::).
- - Function: byte-compile SYMBOL
+ - Function: byte-compile symbol
This function byte-compiles the function definition of SYMBOL,
replacing the previous definition with the compiled one. The
function definition of SYMBOL must be the actual code for the
except for certain primitives that are coded as special
instructions.
- - Command: compile-defun &optional ARG
+ - Command: compile-defun &optional arg
This command reads the defun containing point, compiles it, and
evaluates the result. If you use this on a defun that is actually
a function definition, the effect is to install a compiled version
If ARG is non-`nil', the result is inserted in the current buffer
after the form; otherwise, it is printed in the minibuffer.
- - Command: byte-compile-file FILENAME &optional LOAD
+ - Command: byte-compile-file filename &optional load
This function compiles a file of Lisp code named FILENAME into a
file of byte-code. The output file's name is made by appending
`c' to the end of FILENAME.
-rw-r--r-- 1 lewis 791 Oct 5 20:31 push.el
-rw-r--r-- 1 lewis 638 Oct 8 20:25 push.elc
- - Command: byte-recompile-directory DIRECTORY &optional FLAG
+ - Command: byte-recompile-directory directory &optional flag
This function recompiles every `.el' file in DIRECTORY that needs
recompilation. A file needs recompilation if a `.elc' file exists
but is older than the `.el' file.
normally `nil', but is bound to `t' by
`batch-byte-recompile-directory'.
- - Function: byte-code INSTRUCTIONS CONSTANTS STACK-SIZE
+ - Function: byte-code instructions constants stack-size
This function actually interprets byte-code. Don't call this
function yourself. Only the byte compiler knows how to generate
valid calls to this function.
If this is non-`nil', the byte compiler generates compiled files
that are set up for dynamic function loading.
- - Function: fetch-bytecode FUNCTION
+ - Function: fetch-bytecode function
This immediately finishes loading the definition of FUNCTION from
its byte-compiled file, if it is not fully loaded already. The
argument FUNCTION may be a compiled-function object or a function
These features permit you to write code to be evaluated during
compilation of a program.
- - Special Form: eval-and-compile BODY
+ - Special Form: eval-and-compile body
This form marks BODY to be evaluated both when you compile the
containing code and when you run it (whether compiled or not).
preferable if there is a substantial amount of code to be executed
in this way.
- - Special Form: eval-when-compile BODY
+ - Special Form: eval-when-compile body
This form marks BODY to be evaluated at compile time and not when
the compiled program is loaded. The result of evaluation by the
compiler becomes a constant which appears in the compiled program.
The documentation string (if any); otherwise, `nil'. The value may
be a number or a list, in case the documentation string is stored
in a file. Use the function `documentation' to get the real
- documentation string (*note Accessing Documentation::.).
+ documentation string (*note Accessing Documentation::).
INTERACTIVE
The interactive spec (if any). This can be a string or a Lisp
The primitive way to create a compiled-function object is with
`make-byte-code':
- - Function: make-byte-code ARGLIST INSTRUCTIONS CONSTANTS STACK-SIZE
- &optional DOC-STRING INTERACTIVE
+ - Function: make-byte-code arglist instructions constants stack-size
+ &optional doc-string interactive
This function constructs and returns a compiled-function object
with the specified attributes.
- *Please note:* Unlike all other Emacs-lisp functions, calling this
- with five arguments is *not* the same as calling it with six
+ _Please note:_ Unlike all other Emacs-lisp functions, calling this
+ with five arguments is _not_ the same as calling it with six
arguments, the last of which is `nil'. If the INTERACTIVE arg is
specified as `nil', then that means that this function was defined
with `(interactive)'. If the arg is not specified, then that means
The following primitives are provided for accessing the elements of
a compiled-function object.
- - Function: compiled-function-arglist FUNCTION
+ - Function: compiled-function-arglist function
This function returns the argument list of compiled-function object
FUNCTION.
- - Function: compiled-function-instructions FUNCTION
+ - Function: compiled-function-instructions function
This function returns a string describing the byte-code
instructions of compiled-function object FUNCTION.
- - Function: compiled-function-constants FUNCTION
+ - Function: compiled-function-constants function
This function returns the vector of Lisp objects referenced by
compiled-function object FUNCTION.
- - Function: compiled-function-stack-size FUNCTION
+ - Function: compiled-function-stack-size function
This function returns the maximum stack size needed by
compiled-function object FUNCTION.
- - Function: compiled-function-doc-string FUNCTION
+ - Function: compiled-function-doc-string function
This function returns the doc string of compiled-function object
FUNCTION, if available.
- - Function: compiled-function-interactive FUNCTION
+ - Function: compiled-function-interactive function
This function returns the interactive spec of compiled-function
object FUNCTION, if any. The return value is `nil' or a
two-element list, the first element of which is the symbol
`interactive' and the second element is the interactive spec (a
string or Lisp form).
- - Function: compiled-function-domain FUNCTION
+ - Function: compiled-function-domain function
This function returns the domain of compiled-function object
FUNCTION, if any. The result will be a string or `nil'. *Note
Domain Specification::.
ordinary Lisp variables, by transferring values between variables and
the stack.
- - Command: disassemble OBJECT &optional STREAM
+ - Command: disassemble object &optional stream
This function prints the disassembled code for OBJECT. If STREAM
is supplied, then output goes there. Otherwise, the disassembled
code is printed to the stream `standard-output'. The argument
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
called shortly before the problem, step quickly over the call to that
function, and then step through its caller.
- - Command: debug-on-entry FUNCTION-NAME
+ - Command: debug-on-entry function-name
This function requests FUNCTION-NAME to invoke the debugger each
time it is called. It works by inserting the form `(debug
'debug)' into the function definition as the first form.
(debug (quote debug))
(if (zerop n) 1 (* n (fact (1- n)))))
- - Command: cancel-debug-on-entry FUNCTION-NAME
+ - Command: cancel-debug-on-entry function-name
This function undoes the effect of `debug-on-entry' on
FUNCTION-NAME. When called interactively, it prompts for
FUNCTION-NAME in the minibuffer. If FUNCTION-NAME is `nil' or the
additional form can be evaluated and its value ignored. (If the value
of `(debug)' isn't ignored, it will alter the execution of the
program!) The most common suitable places are inside a `progn' or an
-implicit `progn' (*note Sequencing::.).
+implicit `progn' (*note Sequencing::).
\1f
File: lispref.info, Node: Using Debugger, Next: Debugger Commands, Prev: Explicit Debug, Up: Debugger
windows to examine the buffer that was being edited at the time of the
error, switch buffers, visit files, or do any other sort of editing.
However, the debugger is a recursive editing level (*note Recursive
-Editing::.) and it is wise to go back to the backtrace buffer and exit
+Editing::) and it is wise to go back to the backtrace buffer and exit
the debugger (with the `q' command) when you are finished with it.
Exiting the debugger gets out of the recursive edit and kills the
backtrace buffer.
Here we describe fully the function used to invoke the debugger.
- - Function: debug &rest DEBUGGER-ARGS
+ - Function: debug &rest debugger-args
This function enters the debugger. It switches buffers to a buffer
named `*Backtrace*' (or `*Backtrace*<2>' if it is the second
recursive entry to the debugger, etc.), and fills it with
was called. The convention for arguments is detailed in the
description of `debug'.
- - Command: backtrace &optional STREAM DETAILED
+ - Command: backtrace &optional stream detailed
This function prints a trace of Lisp function calls currently
active. This is the function used by `debug' to fill up the
`*Backtrace*' buffer. It is written in C, since it must have
(list 'testing (backtrace))))))))
=> nil
-
+
----------- Buffer: backtrace-output ------------
backtrace()
(list ...computing arguments...)
The `d' command in the debugger works by setting this variable.
- - Function: backtrace-debug LEVEL FLAG
+ - Function: backtrace-debug level flag
This function sets the debug-on-exit flag of the stack frame LEVEL
levels down the stack, giving it the value FLAG. If FLAG is
non-`nil', this will cause the debugger to be entered when that
another global variable is that the data will never carry over to a
subsequent command invocation.
- - Function: backtrace-frame FRAME-NUMBER
+ - Function: backtrace-frame frame-number
The function `backtrace-frame' is intended for use in Lisp
debuggers. It returns information about what computation is
happening in the stack frame FRAME-NUMBER levels down.
compiled, and point shows how far the byte compiler was able to read.
If the error was due to invalid Lisp syntax, point shows exactly
-where the invalid syntax was *detected*. The cause of the error is not
+where the invalid syntax was _detected_. The cause of the error is not
necessarily near by! Use the techniques in the previous section to find
the error.
* Provide rudimentary coverage testing and display of frequency
counts.
+
The first three sections should tell you enough about Edebug to
enable you to use it.
it instruments the definition before evaluating it. (The source code
itself is not modified.) If the variable `edebug-all-defs' is
non-`nil', that inverts the meaning of the prefix argument: then
-`C-M-x' instruments the definition *unless* it has a prefix argument.
+`C-M-x' instruments the definition _unless_ it has a prefix argument.
The default value of `edebug-all-defs' is `nil'. The command `M-x
edebug-all-defs' toggles the value of the variable `edebug-all-defs'.
If `edebug-all-defs' is non-`nil', then the commands `eval-region',
`eval-current-buffer', and `eval-buffer' also instrument any
definitions they evaluate. Similarly, `edebug-all-forms' controls
-whether `eval-region' should instrument *any* form, even non-defining
+whether `eval-region' should instrument _any_ form, even non-defining
forms. This doesn't apply to loading or evaluations in the minibuffer.
The command `M-x edebug-all-forms' toggles this option.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
-------
In addition to automatic stepping through source code, which is also
-called *tracing* (see *Note Edebug Execution Modes::), Edebug can
+called _tracing_ (see *Note Edebug Execution Modes::), Edebug can
produce a traditional trace listing of execution in a separate buffer,
`*edebug-trace*'.
section explains precisely how it fails. Edebug operation unavoidably
alters some data in XEmacs, and this can interfere with debugging
certain programs. Also notice that Edebug's protection against change
-of outside data means that any side effects *intended* by the user in
+of outside data means that any side effects _intended_ by the user in
the course of debugging will be defeated.
* Menu:
Edebug is active, `executing-macro' is bound to
`edebug-continue-kbd-macro'.
+
\1f
File: lispref.info, Node: Edebug Display Update, Next: Edebug Recursive Edit, Prev: Checking Whether to Stop, Up: The Outside Context
* The Edebug Display Update, is saved and restored if
`edebug-save-windows' is non-`nil'. It is not restored on error
- or quit, but the outside selected window *is* reselected even on
+ or quit, but the outside selected window _is_ reselected even on
error or quit in case a `save-excursion' is active. If the value
of `edebug-save-windows' is a list, only the listed windows are
saved and restored.
* `cursor-in-echo-area' is locally bound to `nil' so that the cursor
shows up in the window.
+
\1f
File: lispref.info, Node: Edebug Recursive Edit, Prev: Edebug Display Update, Up: The Outside Context
While Edebug is active, `defining-kbd-macro' is bound to
`edebug-continue-kbd-macro'.
+
\1f
File: lispref.info, Node: Instrumenting Macro Calls, Next: Edebug Options, Prev: The Outside Context, Up: Edebug
explain the format of macro call arguments by using `def-edebug-spec' to
define an "Edebug specification" for each macro.
- - Macro: def-edebug-spec MACRO SPECIFICATION
+ - Macro: def-edebug-spec macro specification
Specify which expressions of a call to macro MACRO are forms to be
evaluated. For simple macros, the SPECIFICATION often looks very
similar to the formal argument list of the macro definition, but
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
An `end-of-file' error is signaled if reading encounters an
unterminated list, vector, or string.
- - Function: read &optional STREAM
+ - Function: read &optional stream
This function reads one textual Lisp expression from STREAM,
returning it as a Lisp object. This is the basic Lisp input
function.
- - Function: read-from-string STRING &optional START END
+ - Function: read-from-string string &optional start end
This function reads the first textual Lisp expression from the
text in STRING. It returns a cons cell whose CAR is that
expression, and whose CDR is an integer giving the position of the
Finally, we show the use of a function as an output stream. The
function `eat-output' takes each character that it is given and conses
-it onto the front of the list `last-output' (*note Building Lists::.).
+it onto the front of the list `last-output' (*note Building Lists::).
At the end, the list contains all the characters output, but in reverse
order.
the previous section for a description of output streams.) If STREAM
is `nil' or omitted, it defaults to the value of `standard-output'.
- - Function: print OBJECT &optional STREAM
+ - Function: print object &optional stream
The `print' function is a convenient way of printing. It outputs
the printed representation of OBJECT to STREAM, printing in
addition one newline before OBJECT and another after it. Quoting
-|
=> " came back"
- - Function: prin1 OBJECT &optional STREAM
+ - Function: prin1 object &optional stream
This function outputs the printed representation of OBJECT to
STREAM. It does not print newlines to separate output as `print'
does, but it does use quoting characters just like `print'. It
-| The\ cat\ in"the hat"" came back"
=> " came back"
- - Function: princ OBJECT &optional STREAM
+ - Function: princ object &optional stream
This function outputs the printed representation of OBJECT to
STREAM. It returns OBJECT.
-| The cat in the "hat"
=> " in the \"hat\""
- - Function: terpri &optional STREAM
+ - Function: terpri &optional stream
This function outputs a newline to STREAM. The name stands for
"terminate print".
- - Function: write-char CHARACTER &optional STREAM
+ - Function: write-char character &optional stream
This function outputs CHARACTER to STREAM. It returns CHARACTER.
- - Function: prin1-to-string OBJECT &optional NOESCAPE
+ - Function: prin1-to-string object &optional noescape
This function returns a string containing the text that `prin1'
would have printed for the same argument.
objects will be written in `#[...]' form instead of in
`#<compiled-function [...]>' form, and two-element lists of the
form `(quote object)' will be written as the equivalent `'object'.
- Do not *set* this variable; bind it instead.
+ Do not _set_ this variable; bind it instead.
- Variable: print-length
The value of this variable is the maximum number of elements of a
===========================
In most ways, a minibuffer is a normal XEmacs buffer. Most
-operations *within* a buffer, such as editing commands, work normally
+operations _within_ a buffer, such as editing commands, work normally
in a minibuffer. However, many operations for managing buffers do not
apply to minibuffers. The name of a minibuffer always has the form
` *Minibuf-NUMBER', and it cannot be changed. Minibuffers are
`enable-recursive-minibuffers'.
Like other buffers, a minibuffer may use any of several local keymaps
-(*note Keymaps::.); these contain various exit commands and in some
-cases completion commands (*note Completion::.).
+(*note Keymaps::); these contain various exit commands and in some cases
+completion commands (*note Completion::).
* `minibuffer-local-map' is for ordinary input (no completion).
reading the arguments for a command, in the `interactive' spec. *Note
Defining Commands::.
- - Function: read-from-minibuffer PROMPT-STRING &optional
- INITIAL-CONTENTS KEYMAP READ HIST ABBREV-TABLE DEFAULT
+ - Function: read-from-minibuffer prompt-string &optional
+ initial-contents keymap read hist abbrev-table default
This function is the most general way to get input through the
minibuffer. By default, it accepts arbitrary text and returns it
as a string; however, if READ is non-`nil', then it uses `read' to
- convert the text into a Lisp object (*note Input Functions::.).
+ convert the text into a Lisp object (*note Input Functions::).
The first thing this function does is to activate a minibuffer and
display it with PROMPT-STRING as the prompt. This value must be a
applications such as completion.
The argument ABBREV-TABLE specifies `local-abbrev-table' in the
- minibuffer (*note Standard Abbrev Tables::.).
+ minibuffer (*note Standard Abbrev Tables::).
The argument HIST specifies which history list variable to use for
saving the input and for history commands used in the minibuffer.
from the minibuffer on other occasions. However, if user is
supposed to edit default value, INITIAL-CONTENTS may be preferred.
- - Function: read-string PROMPT &optional INITIAL HISTORY
+ - Function: read-string prompt &optional initial history
This function reads a string from the minibuffer and returns it.
The arguments PROMPT and INITIAL are used as in
`read-from-minibuffer'. The keymap used is `minibuffer-local-map'.
This section describes functions for reading Lisp objects with the
minibuffer.
- - Function: read-minibuffer PROMPT &optional INITIAL
+ - Function: read-minibuffer prompt &optional initial
This function reads a Lisp object using the minibuffer, and
returns it without evaluating it. The arguments PROMPT and
INITIAL are used as in `read-from-minibuffer'.
"Enter an expression: " (format "%s" '(testing)))
;; Here is how the minibuffer is displayed:
-
+
---------- Buffer: Minibuffer ----------
Enter an expression: (testing)-!-
---------- Buffer: Minibuffer ----------
The user can type <RET> immediately to use the initial input as a
default, or can edit the input.
- - Function: eval-minibuffer PROMPT &optional INITIAL
+ - Function: eval-minibuffer prompt &optional initial
This function reads a Lisp expression using the minibuffer,
evaluates it, then returns the result. The arguments PROMPT and
INITIAL are used as in `read-from-minibuffer'.
==
(eval (read-minibuffer PROMPT INITIAL))
- - Function: edit-and-eval-command PROMPT FORM
+ - Function: edit-and-eval-command prompt form
This function reads a Lisp expression in the minibuffer, and then
evaluates it. The difference between this command and
`eval-minibuffer' is that here the initial FORM is not optional
;; After evaluation of the preceding expression,
;; the following appears in the minibuffer:
-
+
---------- Buffer: Minibuffer ----------
Please edit: (forward-word 1)-!-
---------- Buffer: Minibuffer ----------
chapter so as to keep them near the higher-level completion features
that do use the minibuffer.
- - Function: try-completion STRING COLLECTION &optional PREDICATE
+ - Function: try-completion string collection &optional predicate
This function returns the longest common substring of all possible
completions of STRING in COLLECTION. The value of COLLECTION must
be an alist, an obarray, or a function that implements a virtual
longest initial sequence common to all the permissible completions
that match.
- If COLLECTION is an alist (*note Association Lists::.), the CARs
- of the alist elements form the set of permissible completions.
+ If COLLECTION is an alist (*note Association Lists::), the CARs of
+ the alist elements form the set of permissible completions.
- If COLLECTION is an obarray (*note Creating Symbols::.), the names
+ If COLLECTION is an obarray (*note Creating Symbols::), the names
of all symbols in the obarray form the set of permissible
completions. The global variable `obarray' holds an obarray
containing the names of all interned Lisp symbols.
of one argument. It is used to test each possible match, and the
match is accepted only if PREDICATE returns non-`nil'. The
argument given to PREDICATE is either a cons cell from the alist
- (the CAR of which is a string) or else it is a symbol (*not* a
+ (the CAR of which is a string) or else it is a symbol (_not_ a
symbol name) from the obarray.
You can also use a symbol that is a function as COLLECTION. Then
"foo"
'(("foobar1" 1) ("barfoo" 2) ("foobaz" 3) ("foobar2" 4)))
=> "fooba"
-
+
(try-completion "foo" '(("barfoo" 2) ("foo" 3)))
=> t
(defun test (s)
(> (length (car s)) 6))
=> test
-
(try-completion
"foo"
'(("foobar1" 1) ("barfoo" 2) ("foobaz" 3) ("foobar2" 4))
'test)
=> "foobar"
- - Function: all-completions STRING COLLECTION &optional PREDICATE
- NOSPACE
+ - Function: all-completions string collection &optional predicate
+ nospace
This function returns a list of all possible completions of
STRING. The arguments to this function are the same as those of
`try-completion'.
(defun test (s)
(> (length (car s)) 6))
=> test
-
+
(all-completions
"foo"
'(("foobar1" 1) ("barfoo" 2) ("foobaz" 3) ("foobar2" 4))
This section describes the basic interface for reading from the
minibuffer with completion.
- - Function: completing-read PROMPT COLLECTION &optional PREDICATE
- REQUIRE-MATCH INITIAL HIST DEFAULT
+ - Function: completing-read prompt collection &optional predicate
+ require-match initial hist default
This function reads a string in the minibuffer, assisting the user
by providing completion. It activates the minibuffer with prompt
PROMPT, which must be a string. If INITIAL is non-`nil',
"Complete a foo: "
'(("foobar1" 1) ("barfoo" 2) ("foobaz" 3) ("foobar2" 4))
nil t "fo")
-
+
;; After evaluation of the preceding expression,
;; the following appears in the minibuffer:
`minibuffer-complete'
with other characters bound as in `minibuffer-local-map' (*note
- Text from Minibuffer::.).
+ Text from Minibuffer::).
- Variable: minibuffer-local-must-match-map
`completing-read' uses this value as the local keymap when an
- Command: minibuffer-complete-and-exit
This function completes the minibuffer contents, and exits if
confirmation is not required, i.e., if
- `minibuffer-completion-confirm' is `nil'. If confirmation *is*
+ `minibuffer-completion-confirm' is `nil'. If confirmation _is_
required, it is given by repeating this command immediately--the
command is programmed to work without confirmation when run twice
in succession.
list of completions is displayed as text in a buffer named
`*Completions*'.
- - Function: display-completion-list COMPLETIONS
+ - Function: display-completion-list completions
This function displays COMPLETIONS to the stream in
`standard-output', usually a buffer. (*Note Read and Print::, for
more information about streams.) The argument COMPLETIONS is
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
reading the arguments for a command, in the `interactive' spec. *Note
Defining Commands::.
- - Function: read-buffer PROMPT &optional DEFAULT EXISTING
+ - Function: read-buffer prompt &optional default existing
This function reads the name of a buffer and returns it as a
string. The argument DEFAULT is the default name to use, the
value to return if the user exits with an empty minibuffer. If
;; The user types `minibuffer.t <RET>'.
=> "minibuffer.texi"
- - Function: read-command PROMPT
+ - Function: read-command prompt
This function reads the name of a command and returns it as a Lisp
symbol. The argument PROMPT is used as in `read-from-minibuffer'.
Recall that a command is anything for which `commandp' returns
(intern (completing-read PROMPT obarray
'commandp t nil))
- - Function: read-variable PROMPT
+ - Function: read-variable prompt
This function reads the name of a user variable and returns it as a
symbol.
a file name. It provides special features including automatic insertion
of the default directory.
- - Function: read-file-name PROMPT &optional DIRECTORY DEFAULT EXISTING
- INITIAL
+ - Function: read-file-name prompt &optional directory default existing
+ initial
This function reads a file name in the minibuffer, prompting with
PROMPT and providing completion. If DEFAULT is non-`nil', then
the function returns DEFAULT if the user just types <RET>.
Strictly speaking, `yes-or-no-p' uses the minibuffer and `y-or-n-p'
does not; but it seems best to describe them together.
- - Function: y-or-n-p PROMPT
+ - Function: y-or-n-p prompt
This function asks the user a question, expecting input in the echo
area. It returns `t' if the user types `y', `nil' if the user
types `n'. This function also accepts <SPC> to mean yes and <DEL>
This function does not actually use the minibuffer, since it does
not allow editing of the answer. It actually uses the echo area
- (*note The Echo Area::.), which uses the same screen space as the
+ (*note The Echo Area::), which uses the same screen space as the
minibuffer. The cursor moves to the echo area while the question
is being asked.
;; After evaluation of the preceding expression,
;; the following prompt appears in the echo area:
-
+
---------- Echo area ----------
Do you need a lift? (y or n)
---------- Echo area ----------
;; If the user then types `q', the following appears:
+
---------- Echo area ----------
Please answer y or n. Do you need a lift? (y or n)
---------- Echo area ----------
;; When the user types a valid answer,
;; it is displayed after the question:
+
---------- Echo area ----------
Do you need a lift? (y or n) y
---------- Echo area ----------
We show successive lines of echo area messages, but only one
actually appears on the screen at a time.
- - Function: yes-or-no-p PROMPT
+ - Function: yes-or-no-p prompt
This function asks the user a question, expecting input in the
minibuffer. It returns `t' if the user enters `yes', `nil' if the
user types `no'. The user must type <RET> to finalize the
;; After evaluation of the preceding expression,
;; the following prompt appears,
;; with an empty minibuffer:
-
+
---------- Buffer: minibuffer ----------
Do you really want to remove everything? (yes or no)
---------- Buffer: minibuffer ----------
Do you really want to remove everything? (yes or no)
---------- Buffer: minibuffer ----------
- - Function: yes-or-no-p-dialog-box PROMPT
+ - Function: yes-or-no-p-dialog-box prompt
This function asks the user a "y or n" question with a popup dialog
box. It returns `t' if the answer is "yes". PROMPT is the string
to display to ask the question.
are replaced with the following functions, so that menu items bring up
dialog boxes instead of minibuffer questions.
- - Function: y-or-n-p-maybe-dialog-box PROMPT
+ - Function: y-or-n-p-maybe-dialog-box prompt
This function asks user a "y or n" question, using either a dialog
box or the minibuffer, as appropriate.
- - Function: yes-or-no-p-maybe-dialog-box PROMPT
+ - Function: yes-or-no-p-maybe-dialog-box prompt
This function asks user a "yes or no" question, using either a
dialog box or the minibuffer, as appropriate.
each question individually. This gives the user certain convenient
facilities such as the ability to answer the whole series at once.
- - Function: map-y-or-n-p PROMPTER ACTOR LIST &optional HELP
- ACTION-ALIST
+ - Function: map-y-or-n-p prompter actor list &optional help
+ action-alist
This function, new in Emacs 19, asks the user a series of
questions, reading a single-character answer in the echo area for
each one.
If `map-y-or-n-p' is called in a command that was invoked using the
mouse--more precisely, if `last-nonmenu-event' (*note Command Loop
- Info::.) is either `nil' or a list--then it uses a dialog box or
+ Info::) is either `nil' or a list--then it uses a dialog box or
pop-up menu to ask the question. In this case, it does not use
keyboard input or the echo area. You can force use of the mouse
or use of keyboard input by binding `last-nonmenu-event' to a
To read a password to pass to another program, you can use the
function `read-passwd'.
- - Function: read-passwd PROMPT &optional CONFIRM DEFAULT
+ - Function: read-passwd prompt &optional confirm default
This function reads a password, prompting with PROMPT. It does
not echo the password as the user types it; instead, it echoes `.'
for each character in the password.
- Command: self-insert-and-exit
This command exits the active minibuffer after inserting the last
character typed on the keyboard (found in `last-command-char';
- *note Command Loop Info::.).
+ *note Command Loop Info::).
- - Command: previous-history-element N
+ - Command: previous-history-element n
This command replaces the minibuffer contents with the value of the
Nth previous (older) history element.
- - Command: next-history-element N
+ - Command: next-history-element n
This command replaces the minibuffer contents with the value of the
Nth more recent history element.
- - Command: previous-matching-history-element PATTERN
+ - Command: previous-matching-history-element pattern
This command replaces the minibuffer contents with the value of the
previous (older) history element that matches PATTERN (a regular
expression).
- - Command: next-matching-history-element PATTERN
+ - Command: next-matching-history-element pattern
This command replaces the minibuffer contents with the value of
the next (newer) history element that matches PATTERN (a regular
expression).
- Variable: minibuffer-help-form
The current value of this variable is used to rebind `help-form'
- locally inside the minibuffer (*note Help Functions::.).
+ locally inside the minibuffer (*note Help Functions::).
- Function: active-minibuffer-window
This function returns the currently active minibuffer window, or
`nil' if none is currently active.
- - Function: minibuffer-window &optional FRAME
+ - Function: minibuffer-window &optional frame
This function returns the minibuffer window used for frame FRAME.
If FRAME is `nil', that stands for the current frame. Note that
the minibuffer window used by a frame need not be part of that
frame--a frame that has no minibuffer of its own necessarily uses
some other frame's minibuffer window.
- - Function: window-minibuffer-p WINDOW
+ - Function: window-minibuffer-p window
This function returns non-`nil' if WINDOW is a minibuffer window.
It is not correct to determine whether a given window is a
because there can be more than one minibuffer window if there is more
than one frame.
- - Function: minibuffer-window-active-p WINDOW
+ - Function: minibuffer-window-active-p window
This function returns non-`nil' if WINDOW, assumed to be a
minibuffer window, is currently active.
minibuffer, it scrolls this window.
Finally, some functions and variables deal with recursive minibuffers
-(*note Recursive Editing::.):
+(*note Recursive Editing::):
- Function: minibuffer-depth
This function returns the current depth of activations of the
* Events:: What input looks like when you read it.
* Reading Input:: How to read input events from the keyboard or mouse.
* Waiting:: Waiting for user input or elapsed time.
-* Quitting:: How `C-g' works. How to catch or defer quitting.
+* Quitting:: How C-g works. How to catch or defer quitting.
* Prefix Command Arguments:: How the commands to set prefix args work.
* Recursive Editing:: Entering a recursive edit,
and why you usually shouldn't.
translation should be a keyboard macro or an interactively callable
function. If the key is `M-x', then it reads the name of another
command, which it then calls. This is done by the command
-`execute-extended-command' (*note Interactive Call::.).
+`execute-extended-command' (*note Interactive Call::).
To execute a command requires first reading the arguments for it.
-This is done by calling `command-execute' (*note Interactive Call::.).
+This is done by calling `command-execute' (*note Interactive Call::).
For commands written in Lisp, the `interactive' specification says how
to read the arguments. This may use the prefix argument (*note Prefix
-Command Arguments::.) or may read with prompting in the minibuffer
-(*note Minibuffers::.). For example, the command `find-file' has an
+Command Arguments::) or may read with prompting in the minibuffer
+(*note Minibuffers::). For example, the command `find-file' has an
`interactive' specification which says to read a file name using the
minibuffer. The command's function body does not use the minibuffer;
if you call this command from Lisp code as a function, you must supply
If the command is a string or vector (i.e., a keyboard macro) then
`execute-kbd-macro' is used to execute it. You can call this function
-yourself (*note Keyboard Macros::.).
+yourself (*note Keyboard Macros::).
To terminate the execution of a running command, type `C-g'. This
-character causes "quitting" (*note Quitting::.).
+character causes "quitting" (*note Quitting::).
- Variable: pre-command-hook
The editor command loop runs this normal hook before each command.
This section describes how to write the `interactive' form that
makes a Lisp function an interactively-callable command.
- - Special Form: interactive ARG-DESCRIPTOR
+ - Special Form: interactive arg-descriptor
This special form declares that the function in which it appears
is a command, and that it may therefore be called interactively
(via `M-x' or by entering a key sequence bound to it). The
output; if subprocess output arrives while the command is waiting
for input, it could relocate point and the mark.
- Here's an example of what *not* to do:
+ Here's an example of what _not_ to do:
(interactive
(list (region-beginning) (region-end)
The prompt string can use `%' to include previous argument values
(starting with the first argument) in the prompt. This is done
- using `format' (*note Formatting Strings::.). For example, here
- is how you could read the name of an existing buffer followed by a
+ using `format' (*note Formatting Strings::). For example, here is
+ how you could read the name of an existing buffer followed by a
new name to give to that buffer:
(interactive "bBuffer to rename: \nsRename buffer %s to: ")
prompt string (starting with the first character that is not `*',
`@', or `_').
- - Function: function-interactive FUNCTION
+ - Function: function-interactive function
This function retrieves the interactive specification of FUNCTION,
which may be any funcallable object. The specification will be
returned as the list of the symbol `interactive' and the specs. If
Completion
Provide completion. <TAB>, <SPC>, and <RET> perform name
completion because the argument is read using `completing-read'
- (*note Completion::.). `?' displays a list of possible
- completions.
+ (*note Completion::). `?' displays a list of possible completions.
Existing
Require the name of an existing object. An invalid name is not
`b'
The name of an existing buffer. By default, uses the name of the
- current buffer (*note Buffers::.). Existing, Completion, Default,
+ current buffer (*note Buffers::). Existing, Completion, Default,
Prompt.
`B'
Completion, Prompt.
`d'
- The position of point, as an integer (*note Point::.). No I/O.
+ The position of point, as an integer (*note Point::). No I/O.
`D'
A directory name. The default is the current default directory of
the current buffer, `default-directory' (*note System
- Environment::.). Existing, Completion, Default, Prompt.
+ Environment::). Existing, Completion, Default, Prompt.
`e'
The last mouse-button or misc-user event in the key sequence that
such event.
`f'
- A file name of an existing file (*note File Names::.). The default
+ A file name of an existing file (*note File Names::). The default
directory is `default-directory'. Existing, Completion, Default,
Prompt.
Prompt.
`k'
- A key sequence (*note Keymap Terminology::.). This keeps reading
+ A key sequence (*note Keymap Terminology::). This keeps reading
events until a command (or undefined command) is found in the
current key maps. The key sequence argument is represented as a
vector of events. The cursor does not move into the echo area.
`s'
Arbitrary text, read in the minibuffer and returned as a string
- (*note Text from Minibuffer::.). Terminate the input with either
+ (*note Text from Minibuffer::). Terminate the input with either
<LFD> or <RET>. (`C-q' may be used to include either of these
characters in the input.) Prompt.
`command-execute' calls `call-interactively', which reads the arguments
and calls the command. You can also call these functions yourself.
- - Function: commandp OBJECT
+ - Function: commandp object
Returns `t' if OBJECT is suitable for calling interactively; that
is, if OBJECT is a command. Otherwise, returns `nil'.
A symbol is `commandp' if its function definition is `commandp'.
Keys and keymaps are not commands. Rather, they are used to look
- up commands (*note Keymaps::.).
+ up commands (*note Keymaps::).
See `documentation' in *Note Accessing Documentation::, for a
realistic example of using `commandp'.
- - Function: call-interactively COMMAND &optional RECORD-FLAG
+ - Function: call-interactively command &optional record-flag
This function calls the interactively callable function COMMAND,
reading arguments according to its interactive calling
specifications. An error is signaled if COMMAND is not a function
the command is added only if it uses the minibuffer to read an
argument. *Note Command History::.
- - Function: command-execute COMMAND &optional RECORD-FLAG
+ - Function: command-execute command &optional record-flag
This function executes COMMAND as an editing command. The
argument COMMAND must satisfy the `commandp' predicate; i.e., it
must be an interactively callable function or a keyboard macro.
Such a definition is handled by loading the specified library and
then rechecking the definition of the symbol.
- - Command: execute-extended-command PREFIX-ARGUMENT
+ - Command: execute-extended-command prefix-argument
This function reads a command name from the minibuffer using
- `completing-read' (*note Completion::.). Then it uses
+ `completing-read' (*note Completion::). Then it uses
`command-execute' to call the specified command. Whatever that
command returns becomes the value of `execute-extended-command'.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
is the nearest character equivalent to it (or `nil' if there is no
character equivalent). `last-command-char' is the character that
`self-insert-command' will insert in the buffer. Remember that
- there is *not* a one-to-one mapping between keyboard events and
+ there is _not_ a one-to-one mapping between keyboard events and
XEmacs characters: many keyboard events have no corresponding
character, and when the Mule feature is available, most characters
can not be input on standard keyboards, except possibly with help
For information about how exactly the XEmacs command loop works,
*Note Reading Input::.
- - Function: eventp OBJECT
+ - Function: eventp object
This function returns non-`nil' if EVENT is an input event.
* Menu:
modifiers
Which modifier keys were pressed. The special business
- mentioned above for the shift key does *not* apply to mouse
+ mentioned above for the shift key does _not_ apply to mouse
events.
x
modifiers
Which modifier keys were pressed. The special business
- mentioned above for the shift key does *not* apply to mouse
+ mentioned above for the shift key does _not_ apply to mouse
events.
misc-user event
modifiers
Which modifier keys were pressed. The special business
- mentioned above for the shift key does *not* apply to mouse
+ mentioned above for the shift key does _not_ apply to mouse
events.
x
The object to pass to the function. The function and object
are set when the event is created.
- - Function: event-type EVENT
+ - Function: event-type event
Return the type of EVENT.
This will be a symbol; one of
The following predicates return whether an object is an event of a
particular type.
- - Function: key-press-event-p OBJECT
+ - Function: key-press-event-p object
This is true if OBJECT is a key-press event.
- - Function: button-event-p OBJECT OBJECT
+ - Function: button-event-p object object
This is true if OBJECT is a mouse button-press or button-release
event.
- - Function: button-press-event-p OBJECT
+ - Function: button-press-event-p object
This is true if OBJECT is a mouse button-press event.
- - Function: button-release-event-p OBJECT
+ - Function: button-release-event-p object
This is true if OBJECT is a mouse button-release event.
- - Function: motion-event-p OBJECT
+ - Function: motion-event-p object
This is true if OBJECT is a mouse motion event.
- - Function: mouse-event-p OBJECT
+ - Function: mouse-event-p object
This is true if OBJECT is a mouse button-press, button-release or
motion event.
- - Function: eval-event-p OBJECT
+ - Function: eval-event-p object
This is true if OBJECT is an eval event.
- - Function: misc-user-event-p OBJECT
+ - Function: misc-user-event-p object
This is true if OBJECT is a misc-user event.
- - Function: process-event-p OBJECT
+ - Function: process-event-p object
This is true if OBJECT is a process event.
- - Function: timeout-event-p OBJECT
+ - Function: timeout-event-p object
This is true if OBJECT is a timeout event.
- - Function: event-live-p OBJECT
+ - Function: event-live-p object
This is true if OBJECT is any event that has not been deallocated.
\1f
The following functions return frame-level information about where a
mouse event occurred.
- - Function: event-frame EVENT
+ - Function: event-frame event
This function returns the "channel" or frame that the given mouse
motion, button press, button release, or misc-user event occurred
in. This will be `nil' for non-mouse events.
- - Function: event-x-pixel EVENT
+ - Function: event-x-pixel event
This function returns the X position in pixels of the given mouse
event. The value returned is relative to the frame the event
occurred in. This will signal an error if the event is not a
mouse event.
- - Function: event-y-pixel EVENT
+ - Function: event-y-pixel event
This function returns the Y position in pixels of the given mouse
event. The value returned is relative to the frame the event
occurred in. This will signal an error if the event is not a
The following functions return window-level information about where
a mouse event occurred.
- - Function: event-window EVENT
+ - Function: event-window event
Given a mouse motion, button press, button release, or misc-user
event, compute and return the window on which that event occurred.
This may be `nil' if the event occurred in the border or over a
toolbar. The modeline is considered to be within the window it
describes.
- - Function: event-buffer EVENT
+ - Function: event-buffer event
Given a mouse motion, button press, button release, or misc-user
event, compute and return the buffer of the window on which that
event occurred. This may be `nil' if the event occurred in the
`event-window' and then calling `window-buffer' on the result if
it is a window.
- - Function: event-window-x-pixel EVENT
+ - Function: event-window-x-pixel event
This function returns the X position in pixels of the given mouse
event. The value returned is relative to the window the event
occurred in. This will signal an error if the event is not a
mouse-motion, button-press, button-release, or misc-user event.
- - Function: event-window-y-pixel EVENT
+ - Function: event-window-y-pixel event
This function returns the Y position in pixels of the given mouse
event. The value returned is relative to the window the event
occurred in. This will signal an error if the event is not a
The following functions return information about the text (including
the modeline) that a mouse event occurred over or near.
- - Function: event-over-text-area-p EVENT
+ - Function: event-over-text-area-p event
Given a mouse-motion, button-press, button-release, or misc-user
event, this function returns `t' if the event is over the text
area of a window. Otherwise, `nil' is returned. The modeline is
not considered to be part of the text area.
- - Function: event-over-modeline-p EVENT
+ - Function: event-over-modeline-p event
Given a mouse-motion, button-press, button-release, or misc-user
event, this function returns `t' if the event is over the modeline
of a window. Otherwise, `nil' is returned.
- - Function: event-x EVENT
+ - Function: event-x event
This function returns the X position of the given mouse-motion,
button-press, button-release, or misc-user event in characters.
This is relative to the window the event occurred over.
- - Function: event-y EVENT
+ - Function: event-y event
This function returns the Y position of the given mouse-motion,
button-press, button-release, or misc-user event in characters.
This is relative to the window the event occurred over.
- - Function: event-point EVENT
+ - Function: event-point event
This function returns the character position of the given
mouse-motion, button-press, button-release, or misc-user event.
If the event did not occur over a window, or did not occur over
text, then this returns `nil'. Otherwise, it returns an index
into the buffer visible in the event's window.
- - Function: event-closest-point EVENT
+ - Function: event-closest-point event
This function returns the character position of the given
mouse-motion, button-press, button-release, or misc-user event.
If the event did not occur over a window or over text, it returns
The following functions return information about the glyph (if any)
that a mouse event occurred over.
- - Function: event-over-glyph-p EVENT
+ - Function: event-over-glyph-p event
Given a mouse-motion, button-press, button-release, or misc-user
event, this function returns `t' if the event is over a glyph.
Otherwise, `nil' is returned.
- - Function: event-glyph-extent EVENT
+ - Function: event-glyph-extent event
If the given mouse-motion, button-press, button-release, or
misc-user event happened on top of a glyph, this returns its
extent; else `nil' is returned.
- - Function: event-glyph-x-pixel EVENT
+ - Function: event-glyph-x-pixel event
Given a mouse-motion, button-press, button-release, or misc-user
event over a glyph, this function returns the X position of the
pointer relative to the upper left of the glyph. If the event is
not over a glyph, it returns `nil'.
- - Function: event-glyph-y-pixel EVENT
+ - Function: event-glyph-y-pixel event
Given a mouse-motion, button-press, button-release, or misc-user
event over a glyph, this function returns the Y position of the
pointer relative to the upper left of the glyph. If the event is
Event Toolbar Position Info
...........................
- - Function: event-over-toolbar-p EVENT
+ - Function: event-over-toolbar-p event
Given a mouse-motion, button-press, button-release, or misc-user
event, this function returns `t' if the event is over a toolbar.
Otherwise, `nil' is returned.
- - Function: event-toolbar-button EVENT
+ - Function: event-toolbar-button event
If the given mouse-motion, button-press, button-release, or
misc-user event happened on top of a toolbar button, this function
returns the button. Otherwise, `nil' is returned.
Other Event Position Info
.........................
- - Function: event-over-border-p EVENT
+ - Function: event-over-border-p event
Given a mouse-motion, button-press, button-release, or misc-user
event, this function returns `t' if the event is over an internal
toolbar. Otherwise, `nil' is returned.
The following functions allow access to the contents of events other
than the position info described in the previous section.
- - Function: event-timestamp EVENT
+ - Function: event-timestamp event
This function returns the timestamp of the given event object.
- - Function: event-device EVENT
+ - Function: event-device event
This function returns the device that the given event occurred on.
- - Function: event-key EVENT
+ - Function: event-key event
This function returns the Keysym of the given key-press event.
This will be the ASCII code of a printing character, or a symbol.
- - Function: event-button EVENT
+ - Function: event-button event
This function returns the button-number of the given button-press
or button-release event.
- - Function: event-modifiers EVENT
+ - Function: event-modifiers event
This function returns a list of symbols, the names of the modifier
keys which were down when the given mouse or keyboard event was
produced.
- - Function: event-modifier-bits EVENT
+ - Function: event-modifier-bits event
This function returns a number representing the modifier keys
which were down when the given mouse or keyboard event was
produced.
- - Function: event-function EVENT
+ - Function: event-function event
This function returns the callback function of the given timeout,
misc-user, or eval event.
- - Function: event-object EVENT
+ - Function: event-object event
This function returns the callback function argument of the given
timeout, misc-user, or eval event.
- - Function: event-process EVENT
+ - Function: event-process event
This function returns the process of the given process event.
\1f
either an event object or `nil', creating the event object first in the
latter case.
- - Function: make-event &optional TYPE PLIST
+ - Function: make-event &optional type plist
This function creates a new event structure. If no arguments are
specified, the created event will be empty. To specify the event
type, use the TYPE argument. The allowed types are `empty',
The event timestamp, a non-negative integer. Allowed for all
types of events.
- *WARNING*: the event object returned by this function may be a
+ _WARNING_: the event object returned by this function may be a
reused one; see the function `deallocate-event'.
The events created by `make-event' can be used as non-interactive
;; Create an empty event.
(make-event)
=> #<empty-event>
-
+
;; Try creating a key-press event.
(make-event 'key-press)
error--> Undefined key for keypress event
-
+
;; Creating a key-press event, try 2
(make-event 'key-press '(key home))
=> #<keypress-event home>
-
+
;; Create a key-press event of dubious fame.
(make-event 'key-press '(key escape modifiers (meta alt control shift)))
=> #<keypress-event control-meta-alt-shift-escape>
-
+
;; Create a M-button1 event at coordinates defined by variables
;; X and Y.
(make-event 'button-press `(button 1 modifiers (meta) x ,x y ,y))
=> #<buttondown-event meta-button1>
-
+
;; Create a similar button-release event.
(make-event 'button-release `(button 1 modifiers (meta) x ,x y ,x))
=> #<buttonup-event meta-button1up>
-
+
;; Create a mouse-motion event.
(make-event 'motion '(x 20 y 30))
=> #<motion-event 20, 30>
(append '(modifiers nil)
(event-properties EVENT)))
- - Function: copy-event EVENT1 &optional EVENT2
+ - Function: copy-event event1 &optional event2
This function makes a copy of the given event object. If a second
argument is given, the first event is copied into the second and
the second is returned. If the second argument is not supplied
(or is `nil') then a new event will be made.
- - Function: deallocate-event EVENT
+ - Function: deallocate-event event
This function allows the given event structure to be reused. You
*MUST NOT* use this event object after calling this function with
it. You will lose. It is not necessary to call this function, as
events and other ways of representing keys. These are useful when
working with ASCII strings and with keymaps.
- - Function: character-to-event CH &optional EVENT DEVICE
+ - Function: character-to-event ch &optional event device
This function converts a numeric ASCII value to an event structure,
replete with modifier bits. CH is the character to convert, and
EVENT is the event object to fill in. This function contains
strictly inverse functions, since events contain much more
information than the ASCII character set can encode.
- - Function: event-to-character EVENT &optional ALLOW-EXTRA-MODIFIERS
- ALLOW-META ALLOW-NON-ASCII
+ - Function: event-to-character event &optional allow-extra-modifiers
+ allow-meta allow-non-ascii
This function returns the closest ASCII approximation to EVENT.
If the event isn't a keypress, this returns `nil'.
ambiguous, as both use the high bit; <M-x> and <oslash> will be
indistinguishable.
- - Function: events-to-keys EVENTS &optional NO-MICE
+ - Function: events-to-keys events &optional no-mice
Given a vector of event objects, this function returns a vector of
key descriptors, or a string (if they all fit in the ASCII range).
Optional arg NO-MICE means that button events are not allowed.
`read-key-sequence'; for example, `describe-key' uses it to read the
key to describe.
- - Function: read-key-sequence PROMPT
+ - Function: read-key-sequence prompt
This function reads a sequence of keystrokes or mouse clicks and
returns it as a vector of events. It keeps reading events until
it has accumulated a full key sequence; that is, enough to specify
actions), and other events, which serve as communication between XEmacs
and the window system.
- - Function: next-event &optional EVENT PROMPT
+ - Function: next-event &optional event prompt
This function reads and returns the next available event from the
window system or terminal driver, waiting if necessary until an
event is available. Pass this object to `dispatch-event' to
In most cases, the function `next-command-event' is more
appropriate.
- - Function: next-command-event &optional EVENT
+ - Function: next-command-event &optional event
This function returns the next available "user" event from the
window system or terminal driver. Pass this object to
`dispatch-event' to handle it. If an event object is supplied, it
compatibility with Emacs 18, and is most likely the wrong thing
for you to be using: consider using `next-command-event' instead.
- - Function: enqueue-eval-event FUNCTION OBJECT
+ - Function: enqueue-eval-event function object
This function adds an eval event to the back of the queue. The
eval event will be the next event read after all pending events.
Dispatching an Event
--------------------
- - Function: dispatch-event EVENT
+ - Function: dispatch-event event
Given an event object returned by `next-event', this function
executes it. This is the basic function that makes XEmacs respond
to user input; it also deals with notifications from the window
character conveniently, either literally or as an octal character code.
The command `quoted-insert' uses this function.
- - Function: read-quoted-char &optional PROMPT
+ - Function: read-quoted-char &optional prompt
This function is like `read-char', except that if the first
character read is an octal digit (0-7), it reads up to two more
octal digits (but stopping if a non-octal digit is found) and
- Variable: last-input-char
If the value of `last-input-event' is a keyboard event, then this
is the nearest ASCII equivalent to it. Remember that there is
- *not* a 1:1 mapping between keyboard events and ASCII characters:
+ _not_ a 1:1 mapping between keyboard events and ASCII characters:
the set of keyboard events is much larger, so writing code that
examines this variable to determine what key has been typed is bad
practice, unless you are certain that it will be one of a small
two arguments to specify the time (one integer and one float value),
instead of a single argument that can be either an integer or a float.
- - Function: sit-for SECONDS &optional NODISP
+ - Function: sit-for seconds &optional nodisp
This function performs redisplay (provided there is no pending
input from the user), then waits SECONDS seconds, or until input is
available. The result is `t' if `sit-for' waited the full time
The usual purpose of `sit-for' is to give the user time to read
text that you display.
- - Function: sleep-for SECONDS
+ - Function: sleep-for seconds
This function simply pauses for SECONDS seconds without updating
the display. This function pays no attention to available input.
It returns `nil'.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
In the minibuffer, `C-g' has a different definition: it aborts out
of the minibuffer. This means, in effect, that it exits the minibuffer
and then quits. (Simply quitting would return to the command loop
-*within* the minibuffer.) The reason why `C-g' does not quit directly
+_within_ the minibuffer.) The reason why `C-g' does not quit directly
when the command reader is reading input is so that its meaning can be
redefined in the minibuffer in this way. `C-g' following a prefix key
is not redefined in the minibuffer, and it has its normal effect of
value of the prefix argument directly in the variable
`current-prefix-arg', but this is less clean.
- - Function: prefix-numeric-value ARG
+ - Function: prefix-numeric-value arg
This function returns the numeric meaning of a valid raw prefix
argument value, ARG. The argument may be a symbol, a number, or a
list. If it is `nil', the value 1 is returned; if it is `-', the
returned.
- Variable: current-prefix-arg
- This variable holds the raw prefix argument for the *current*
+ This variable holds the raw prefix argument for the _current_
command. Commands may examine it directly, but the usual way to
access it is with `(interactive "P")'.
- Variable: prefix-arg
The value of this variable is the raw prefix argument for the
- *next* editing command. Commands that specify prefix arguments for
+ _next_ editing command. Commands that specify prefix arguments for
the following command work by setting this variable.
Do not call the functions `universal-argument', `digit-argument', or
`negative-argument' unless you intend to let the user enter the prefix
-argument for the *next* command.
+argument for the _next_ command.
- Command: universal-argument
This command reads input and specifies a prefix argument for the
following command. Don't call this command yourself unless you
know what you are doing.
- - Command: digit-argument ARG
+ - Command: digit-argument arg
This command adds to the prefix argument for the following
command. The argument ARG is the raw prefix argument as it was
before this command; it is used to compute the updated prefix
argument. Don't call this command yourself unless you know what
you are doing.
- - Command: negative-argument ARG
+ - Command: negative-argument arg
This command adds to the numeric argument for the next command.
The argument ARG is the raw prefix argument as it was before this
command; its value is negated to form the new prefix argument.
`recursive-edit'. This function contains the command loop; it also
contains a call to `catch' with tag `exit', which makes it possible to
exit the recursive editing level by throwing to `exit' (*note Catch and
-Throw::.). If you throw a value other than `t', then `recursive-edit'
+Throw::). If you throw a value other than `t', then `recursive-edit'
returns normally to the function that called it. The command `C-M-c'
(`exit-recursive-edit') does this. Throwing a `t' value causes
`recursive-edit' to quit, so that control returns to the command loop
when a disabled command is invoked interactively. Disabling a command
has no effect on calling it as a function from Lisp programs.
- - Command: enable-command COMMAND
+ - Command: enable-command command
Allow COMMAND to be executed without special confirmation from now
on, and (if the user confirms) alter the user's `.emacs' file so
that this will apply to future sessions.
- - Command: disable-command COMMAND
+ - Command: disable-command command
Require special confirmation to execute COMMAND from now on, and
(if the user confirms) alter the user's `.emacs' file so that this
will apply to future sessions.
represented as a form to evaluate. It continues to accumulate all
complex commands for the duration of the editing session, but all
but the first (most recent) thirty elements are deleted when a
- garbage collection takes place (*note Garbage Collection::.).
+ garbage collection takes place (*note Garbage Collection::).
command-history
=> ((switch-to-buffer "chistory.texi")
(find-tag "repeat-complex-command"))
This history list is actually a special case of minibuffer history
-(*note Minibuffer History::.), with one special twist: the elements are
+(*note Minibuffer History::), with one special twist: the elements are
expressions rather than strings.
There are a number of commands devoted to the editing and recall of
considered a command and made the definition of a key. The Lisp
representation of a keyboard macro is a string or vector containing the
events. Don't confuse keyboard macros with Lisp macros (*note
-Macros::.).
+Macros::).
- - Function: execute-kbd-macro MACRO &optional COUNT
+ - Function: execute-kbd-macro macro &optional count
This function executes MACRO as a sequence of events. If MACRO is
a string or vector, then the events in it are executed exactly as
- if they had been input by the user. The sequence is *not*
+ if they had been input by the user. The sequence is _not_
expected to be a single key sequence; normally a keyboard macro
definition consists of several key sequences concatenated.
execution by the command loop). Given an event (or an event type) and a
keymap, XEmacs can get the event's definition. Events mapped in keymaps
include keypresses, button presses, and button releases (*note
-Events::.).
+Events::).
A sequence of input events that form a unit is called a "key
sequence", or "key" for short. A sequence of one event is always a key
bindings. Note that this is different from Emacs 18 and FSF Emacs,
where keymaps are lists.
- - Function: keymapp OBJECT
+ - Function: keymapp object
This function returns `t' if OBJECT is a keymap, `nil' otherwise.
\1f
Here we describe the functions for creating keymaps.
- - Function: make-keymap &optional NAME
+ - Function: make-keymap &optional name
This function constructs and returns a new keymap object. All
entries in it are `nil', meaning "command undefined".
as in `set-keymap-name'. This name is only a debugging
convenience; it is not used except when printing the keymap.
- - Function: make-sparse-keymap &optional NAME
+ - Function: make-sparse-keymap &optional name
This function constructs and returns a new keymap object. All
entries in it are `nil', meaning "command undefined". The only
difference between this function and `make-keymap' is that this
as in `set-keymap-name'. This name is only a debugging
convenience; it is not used except when printing the keymap.
- - Function: set-keymap-name KEYMAP NEW-NAME
+ - Function: set-keymap-name keymap new-name
This function assigns a "name" to a keymap. The name is only a
debugging convenience; it is not used except when printing the
keymap.
- - Function: keymap-name KEYMAP
+ - Function: keymap-name keymap
This function returns the "name" of a keymap, as assigned using
`set-keymap-name'.
- - Function: copy-keymap KEYMAP
+ - Function: copy-keymap keymap
This function returns a copy of KEYMAP. Any keymaps that appear
directly as bindings in KEYMAP are also copied recursively, and so
on to any number of levels. However, recursive copying does not
`(current-global-map)' is the default parent of all keymaps.
- - Function: set-keymap-parents KEYMAP PARENTS
+ - Function: set-keymap-parents keymap parents
This function sets the parent keymaps of KEYMAP to the list
PARENTS.
`define-key' to change KEYMAP, that affects the bindings in that
map, but has no effect on any of the keymaps in PARENTS.
- - Function: keymap-parents KEYMAP
+ - Function: keymap-parents keymap
This function returns the list of parent keymaps of KEYMAP, or
`nil' if KEYMAP has no parents.
neither the keymap's parents nor the current global map are searched for
key bindings.
- - Function: set-keymap-default-binding KEYMAP COMMAND
+ - Function: set-keymap-default-binding keymap command
This function sets the default binding of KEYMAP to COMMAND, or
`nil' if no default is desired.
- - Function: keymap-default-binding KEYMAP
+ - Function: keymap-default-binding keymap
This function returns the default binding of KEYMAP, or `nil' if
it has none.
object, as returned by the `next-command-event' and `read-key-sequence'
functions.
- Note that in this context, the keystroke `control-b' is *not*
+ Note that in this context, the keystroke `control-b' is _not_
represented by the number 2 (the ASCII code for `^B') or the character
`?\^B'. See below.
system. If you're talking to XEmacs through a TTY connection, you
don't get any of these features.
- - Function: event-matches-key-specifier-p EVENT KEY-SPECIFIER
+ - Function: event-matches-key-specifier-p event key-specifier
This function returns non-`nil' if EVENT matches KEY-SPECIFIER,
which can be any valid form representing a key sequence. This can
be useful, e.g., to determine if the user pressed `help-char' or
* `esc-map' is an evil hack that is present for compatibility
purposes with Emacs 18. Defining a key in `esc-map' is equivalent
to defining the same key in `global-map' but with the <META>
- prefix added. You should *not* use this in your code. (This map is
+ prefix added. You should _not_ use this in your code. (This map is
also the function definition of `ESC-prefix'.)
The binding of a prefix key is the keymap to use for looking up the
(key-binding "\C-p6")
=> nil
- - Function: define-prefix-command SYMBOL &optional MAPVAR
+ - Function: define-prefix-command symbol &optional mapvar
This function defines SYMBOL as a prefix command: it creates a
keymap and stores it as SYMBOL's function definition. Storing the
symbol as the binding of a key makes the key a prefix key that has
* the current global map.
Note that if `overriding-local-map' or
-`overriding-terminal-local-map' is non-`nil', *only* those two maps and
+`overriding-terminal-local-map' is non-`nil', _only_ those two maps and
the current global map are searched.
The procedure for searching a single keymap is called "key lookup";
*Note Standard Keymaps::, for a list of standard keymaps.
- - Function: current-keymaps &optional EVENT-OR-KEYS
+ - Function: current-keymaps &optional event-or-keys
This function returns a list of the current keymaps that will be
searched for bindings. This lists keymaps such as the current
local map and the minor-mode maps, but does not list the parents
This function returns a list of the keymaps of currently enabled
minor modes.
- - Function: use-global-map KEYMAP
+ - Function: use-global-map keymap
This function makes KEYMAP the new current global keymap. It
returns `nil'.
It is very unusual to change the global keymap.
- - Function: use-local-map KEYMAP &optional BUFFER
+ - Function: use-local-map keymap &optional buffer
This function makes KEYMAP the new local keymap of BUFFER. BUFFER
defaults to the current buffer. If KEYMAP is `nil', then the
buffer has no local keymap. `use-local-map' returns `nil'. Most
normal mechanism if there is no binding for that click. This
buffer's value of `mode-motion-hook' will be consulted instead of
the `mode-motion-hook' of the buffer of the window under the mouse.
- You should *bind* this, not set it.
+ You should _bind_ this, not set it.
- Variable: overriding-local-map
If non-`nil', this variable holds a keymap to use instead of the
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
its function definition is invalid as a function. It is, however,
valid as a key binding. If the definition is a keyboard macro,
then the symbol is also valid as an argument to `command-execute'
- (*note Interactive Call::.).
+ (*note Interactive Call::).
The symbol `undefined' is worth special mention: it means to treat
the key as undefined. Strictly speaking, the key is defined, and
Here are the functions and variables pertaining to key lookup.
- - Function: lookup-key KEYMAP KEY &optional ACCEPT-DEFAULTS
+ - Function: lookup-key keymap key &optional accept-defaults
This function returns the definition of KEY in KEYMAP. If the
string or vector KEY is not a valid key sequence according to the
prefix keys specified in KEYMAP (which means it is "too long" and
Unlike `read-key-sequence', this function does not modify the
specified events in ways that discard information (*note Key
- Sequence Input::.). In particular, it does not convert letters to
+ Sequence Input::). In particular, it does not convert letters to
lower case.
- Command: undefined
this, invoking this key sequence causes a "key undefined" error,
just as if the key sequence had no binding.
- - Function: key-binding KEY &optional ACCEPT-DEFAULTS
+ - Function: key-binding key &optional accept-defaults
This function returns the binding for KEY in the current keymaps,
trying all the active keymaps. The result is `nil' if KEY is
undefined in the keymaps.
(key-binding [escape escape escape])
=> keyboard-escape-quit
- - Function: local-key-binding KEY &optional ACCEPT-DEFAULTS
+ - Function: local-key-binding key &optional accept-defaults
This function returns the binding for KEY in the current local
keymap, or `nil' if it is undefined there.
The argument ACCEPT-DEFAULTS controls checking for default
bindings, as in `lookup-key' (above).
- - Function: global-key-binding KEY &optional ACCEPT-DEFAULTS
+ - Function: global-key-binding key &optional accept-defaults
This function returns the binding for command KEY in the current
global keymap, or `nil' if it is undefined there.
The argument ACCEPT-DEFAULTS controls checking for default
bindings, as in `lookup-key' (above).
- - Function: minor-mode-key-binding KEY &optional ACCEPT-DEFAULTS
+ - Function: minor-mode-key-binding key &optional accept-defaults
This function returns a list of all the active minor mode bindings
of KEY. More precisely, it returns an alist of pairs `(MODENAME .
BINDING)', where MODENAME is the variable that enables the minor
This variable is the meta-prefix character code. It is used when
translating a two-character sequence to a meta character so it can
be looked up in a keymap. For useful results, the value should be
- a prefix event (*note Prefix Keys::.). The default value is
- `?\^[' (integer 27), which is the ASCII character usually produced
- by the <ESC> key.
+ a prefix event (*note Prefix Keys::). The default value is `?\^['
+ (integer 27), which is the ASCII character usually produced by the
+ <ESC> key.
As long as the value of `meta-prefix-char' remains `?\^[', key
lookup translates `<ESC> b' into `M-b', which is normally defined
meta-prefix-char ; The default value.
=> ?\^[ ; Under XEmacs 20.
=> 27 ; Under XEmacs 19.
-
(key-binding "\eb")
=> backward-word
-
?\C-x ; The print representation
; of a character.
=> ?\^X ; Under XEmacs 20.
=> 24 ; Under XEmacs 19.
-
(setq meta-prefix-char 24)
=> 24
-
(key-binding "\C-xb")
=> backward-word ; Now, typing `C-x b' is
; like typing `M-b'.
global binding with a local one). If you change the current buffer's
local map, that usually affects all buffers using the same major mode.
The `global-set-key' and `local-set-key' functions are convenient
-interfaces for these operations (*note Key Binding Commands::.). You
+interfaces for these operations (*note Key Binding Commands::). You
can also use `define-key', a more general function; then you must
specify explicitly the map to change.
The way to specify the key sequence that you want to rebind is
-described above (*note Key Sequences::.).
+described above (*note Key Sequences::).
For the functions below, an error is signaled if KEYMAP is not a
keymap or if KEY is not a string or vector representing a key sequence.
You can use event types (symbols) as shorthand for events that are
lists.
- - Function: define-key KEYMAP KEY BINDING
+ - Function: define-key keymap key binding
This function sets the binding for KEY in KEYMAP. (If KEY is more
than one event long, the change is actually made in another keymap
reached from KEYMAP.) The argument BINDING can be any Lisp
(setq map (make-sparse-keymap))
=> #<keymap 0 entries 0xbee>
-
(define-key map "\C-f" 'forward-char)
=> forward-char
-
map
=> #<keymap 1 entry 0xbee>
(describe-bindings-internal map)
=> ; (Inserted in buffer)
C-f forward-char
-
+
;; Build sparse submap for `C-x' and bind `f' in that.
(define-key map "\C-xf" 'forward-word)
=> forward-word
-
map
=> #<keymap 2 entries 0xbee>
(describe-bindings-internal map)
C-x << Prefix Command >>
C-x f forward-word
-
+
;; Bind `C-p' to the `ctl-x-map'.
(define-key map "\C-p" ctl-x-map)
;; `ctl-x-map'
=> #<keymap Control-X-prefix 77 entries 0x3bf>
-
+
;; Bind `C-f' to `foo' in the `ctl-x-map'.
(define-key map "\C-p\C-f" 'foo)
=> foo
-
map
=> #<keymap 3 entries 0xbee>
(describe-bindings-internal map)
changing an entry in `ctl-x-map', and this has the effect of changing
the bindings of both `C-p C-f' and `C-x C-f' in the default global map.
- - Function: substitute-key-definition OLDDEF NEWDEF KEYMAP &optional
- OLDMAP
+ - Function: substitute-key-definition olddef newdef keymap &optional
+ oldmap
This function replaces OLDDEF with NEWDEF for any keys in KEYMAP
that were bound to OLDDEF. In other words, OLDDEF is replaced
with NEWDEF wherever it appears. The function returns `nil'.
are globally bound to the standard deletion command.
- - Function: suppress-keymap KEYMAP &optional NODIGITS
+ - Function: suppress-keymap keymap &optional nodigits
This function changes the contents of the full keymap KEYMAP by
making all the printing characters undefined. More precisely, it
binds them to the command `undefined'. This makes ordinary
The `suppress-keymap' function does not make it impossible to
modify a buffer, as it does not suppress commands such as `yank'
and `quoted-insert'. To prevent any modification of a buffer, make
- it read-only (*note Read Only Buffers::.).
+ it read-only (*note Read Only Buffers::).
Since this function modifies KEYMAP, you would normally use it on
a newly created keymap. Operating on an existing keymap that is
from the file `emacs/lisp/dired.el', showing how the local keymap
for Dired mode is set up:
- ...
+ ...
(setq dired-mode-map (make-keymap))
(suppress-keymap dired-mode-map)
(define-key dired-mode-map "r" 'dired-rename-file)
redefines the first (leftmost) mouse button, typed with the Meta key, to
set point where you click.
- - Command: global-set-key KEY DEFINITION
+ - Command: global-set-key key definition
This function sets the binding of KEY in the current global map to
DEFINITION.
==
(define-key (current-global-map) KEY DEFINITION)
- - Command: global-unset-key KEY
+ - Command: global-unset-key key
This function removes the binding of KEY from the current global
map.
(global-unset-key "\C-l")
=> nil
-
(global-set-key "\C-l\C-l" 'redraw-display)
=> nil
==
(define-key (current-global-map) KEY nil)
- - Command: local-set-key KEY DEFINITION
+ - Command: local-set-key key definition
This function sets the binding of KEY in the current local keymap
to DEFINITION.
==
(define-key (current-local-map) KEY DEFINITION)
- - Command: local-unset-key KEY
+ - Command: local-unset-key key
This function removes the binding of KEY from the current local
map.
keymaps, or all keys within a keymap, for the sake of printing help
information.
- - Function: accessible-keymaps KEYMAP &optional PREFIX
+ - Function: accessible-keymaps keymap &optional prefix
This function returns a list of all the keymaps that can be
accessed (via prefix keys) from KEYMAP. The value is an
association list with elements of the form `(KEY . MAP)', where
8 entries 0x3ef>)
2 entries 0x3f5>))
- - Function: map-keymap FUNCTION KEYMAP &optional SORT-FIRST
+ - Function: map-keymap function keymap &optional sort-first
This function applies FUNCTION to each element of `KEYMAP'.
FUNCTION will be called with two arguments: a key-description
list, and the binding. The order in which the elements of the
the function more than once.
The function will not be called on elements of this keymap's
- parents (*note Inheritance and Keymaps::.) or upon keymaps which
+ parents (*note Inheritance and Keymaps::) or upon keymaps which
are contained within this keymap (multi-character definitions).
It will be called on <META> characters since they are not really
two-character sequences.
canonical order. Otherwise, they will be passed in hash (that is,
random) order, which is faster.
- - Function: keymap-fullness KEYMAP
+ - Function: keymap-fullness keymap
This function returns the number of bindings in the keymap.
- - Function: where-is-internal DEFINITION &optional KEYMAPS FIRSTONLY
- NOINDIRECT EVENT-OR-KEYS
+ - Function: where-is-internal definition &optional keymaps firstonly
+ noindirect event-or-keys
This function returns a list of key sequences (of any length) that
are bound to DEFINITION in a set of keymaps.
(where-is-internal 'describe-function)
=> ([(control h) d] [(control h) f] [f1 d] [f1 f])
- - Function: describe-bindings-internal MAP &optional ALL SHADOW PREFIX
- MOUSE-ONLY-P
+ - Function: describe-bindings-internal map &optional all shadow prefix
+ mouse-only-p
This function inserts (into the current buffer) a list of all
defined keys and their definitions in MAP. Optional second
argument ALL says whether to include even "uninteresting"
`describe-bindings-internal' is used to implement the help command
`describe-bindings'.
- - Command: describe-bindings PREFIX MOUSE-ONLY-P
+ - Command: describe-bindings prefix mouse-only-p
This function creates a listing of all defined keys and their
definitions. It writes the listing in a buffer named `*Help*' and
displays it in a window.
Other Keymap Functions
======================
- - Function: set-keymap-prompt KEYMAP NEW-PROMPT
+ - Function: set-keymap-prompt keymap new-prompt
This function sets the "prompt" of KEYMAP to string NEW-PROMPT, or
`nil' if no prompt is desired. The prompt is shown in the
echo-area when reading a key-sequence to be looked-up in this
keymap.
- - Function: keymap-prompt KEYMAP &optional USE-INHERITED
+ - Function: keymap-prompt keymap &optional use-inherited
This function returns the "prompt" of the given keymap. If
USE-INHERITED is non-`nil', any parent keymaps will also be
searched for a prompt.
`current-menubar', and then calling `set-menubar-dirty-flag'. Note
that these functions copy their argument using `copy-sequence'.
- - Function: set-menubar MENUBAR
+ - Function: set-menubar menubar
This function sets the default menubar to be MENUBAR (*note Menu
- Format::.). This is the menubar that will be visible in buffers
+ Format::). This is the menubar that will be visible in buffers
that have not defined their own, buffer-local menubar.
- - Function: set-buffer-menubar MENUBAR
+ - Function: set-buffer-menubar menubar
This function sets the buffer-local menubar to be MENUBAR. This
does not change the menubar in any buffers other than the current
one.
menu. `("Menu" "Foo" "Item")' means the menu item called "Item" under
the "Foo" submenu of "Menu".
- - Function: add-submenu MENU-PATH SUBMENU &optional BEFORE
+ - Function: add-submenu menu-path submenu &optional before
This function adds a menu to the menubar or one of its submenus.
If the named menu exists already, it is changed.
inserted. If MENU-PATH is `nil', then the menu will be added to
the menubar itself.
- SUBMENU is the new menu to add (*note Menu Format::.).
+ SUBMENU is the new menu to add (*note Menu Format::).
BEFORE, if provided, is the name of a menu before which this menu
should be added, if this menu is not on its parent already. If
the menu is already present, it will not be moved.
- - Function: add-menu-button MENU-PATH MENU-LEAF &optional BEFORE
+ - Function: add-menu-button menu-path menu-leaf &optional before
This function adds a menu item to some menu, creating the menu
first if necessary. If the named item exists already, it is
changed.
MENU-PATH identifies the menu under which the new menu item should
be inserted.
- MENU-LEAF is a menubar leaf node (*note Menu Format::.).
+ MENU-LEAF is a menubar leaf node (*note Menu Format::).
BEFORE, if provided, is the name of a menu before which this item
should be added, if this item is not on the menu already. If the
item is already present, it will not be moved.
- - Function: delete-menu-item MENU-ITEM-PATH
+ - Function: delete-menu-item menu-item-path
This function removes the menu item specified by MENU-ITEM-PATH
from the menu hierarchy.
- - Function: enable-menu-item MENU-ITEM-PATH
+ - Function: enable-menu-item menu-item-path
This function makes the menu item specified by MENU-ITEM-PATH be
selectable.
- - Function: disable-menu-item MENU-ITEM-PATH
+ - Function: disable-menu-item menu-item-path
This function makes the menu item specified by MENU-ITEM-PATH be
unselectable.
- - Function: relabel-menu-item MENU-ITEM-PATH NEW-NAME
+ - Function: relabel-menu-item menu-item-path new-name
This function changes the string of the menu item specified by
MENU-ITEM-PATH. NEW-NAME is the string that the menu item will be
printed as from now on.
The following function can be used to search for a particular item in
a menubar specification, given a path to the item.
- - Function: find-menu-item MENUBAR MENU-ITEM-PATH &optional PARENT
+ - Function: find-menu-item menubar menu-item-path &optional parent
This function searches MENUBAR for the item given by
MENU-ITEM-PATH starting from PARENT (`nil' means start at the top
of MENUBAR). This function returns `(ITEM . PARENT)', where
existing code can be understood. You should not use these functions in
new code.
- - Function: add-menu MENU-PATH MENU-NAME MENU-ITEMS &optional BEFORE
+ - Function: add-menu menu-path menu-name menu-items &optional before
This function adds a menu to the menubar or one of its submenus.
If the named menu exists already, it is changed. This is
obsolete; use `add-submenu' instead.
MENU-NAME is the string naming the menu to be added; MENU-ITEMS is
a list of menu items, strings, and submenus. These two arguments
are the same as the first and following elements of a menu
- description (*note Menu Format::.).
+ description (*note Menu Format::).
BEFORE, if provided, is the name of a menu before which this menu
should be added, if this menu is not on its parent already. If the
menu is already present, it will not be moved.
- - Function: add-menu-item MENU-PATH ITEM-NAME FUNCTION ENABLED-P
- &optional BEFORE
+ - Function: add-menu-item menu-path item-name function enabled-p
+ &optional before
This function adds a menu item to some menu, creating the menu
first if necessary. If the named item exists already, it is
changed. This is obsolete; use `add-menu-button' instead.
MENU-PATH identifies the menu under which the new menu item should
be inserted. ITEM-NAME, FUNCTION, and ENABLED-P are the first,
second, and third elements of a menu item vector (*note Menu
- Format::.).
+ Format::).
BEFORE, if provided, is the name of a menu item before which this
item should be added, if this item is not on the menu already. If
`default-menubar'. You may want to use them in your own menubar
description.
- - Function: file-menu-filter MENU-ITEMS
+ - Function: file-menu-filter menu-items
This function changes the arguments and sensitivity of these File
menu items:
`Delete Frame'
Sensitive only when there is more than one visible frame.
- - Function: edit-menu-filter MENU-ITEMS
+ - Function: edit-menu-filter menu-items
This function changes the arguments and sensitivity of these Edit
menu items:
Sensitive only when there is undo information. While in the
midst of an undo, this is changed to `Undo More'.
- - Function: buffers-menu-filter MENU-ITEMS
+ - Function: buffers-menu-filter menu-items
This function sets up the Buffers menu. *Note Buffers Menu::, for
more information.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
the buffer in question between two lines of dashes containing the buffer
name. In addition, `-!-' indicates the location of point. (The symbol
for point, of course, is not part of the text in the buffer; it
-indicates the place *between* two characters where point is located.)
+indicates the place _between_ two characters where point is located.)
---------- Buffer: foo ----------
This is the -!-contents of foo.
Here is a description of an imaginary function `foo':
- - Function: foo INTEGER1 &optional INTEGER2 &rest INTEGERS
+ - Function: foo integer1 &optional integer2 &rest integers
The function `foo' subtracts INTEGER1 from INTEGER2, then adds all
the rest of the arguments to the result. If INTEGER2 is not
supplied, then the number 19 is used by default.
When you evaluate an expression interactively, the Lisp interpreter
first reads the textual representation of it, producing a Lisp object,
-and then evaluates that object (*note Evaluation::.). However,
+and then evaluates that object (*note Evaluation::). However,
evaluation and reading are separate activities. Reading returns the
Lisp object represented by the text that is read; the object may or may
not be evaluated later. *Note Input Functions::, for a description of
The `#@COUNT' construct, which skips the next COUNT characters, is
useful for program-generated comments containing binary data. The
XEmacs Lisp byte compiler uses this in its output files (*note Byte
-Compilation::.). It isn't meant for source files, however.
+Compilation::). It isn't meant for source files, however.
*Note Comment Tips::, for conventions for formatting comments.
machines, in particular 64-bit machines such as the DEC Alpha, may
provide a wider range.) It is important to note that the XEmacs Lisp
arithmetic functions do not check for overflow. Thus `(1+ 134217727)'
-is -134217728 on most machines. (However, you *will* get an error if
+is -134217728 on most machines. (However, you _will_ get an error if
you attempt to read an out-of-range number using the Lisp reader.)
The read syntax for integers is a sequence of (base ten) digits with
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
Pop-Up Menus
============
- - Function: popup-menu MENU-DESC
+ - Function: popup-menu menu-desc
This function pops up a menu specified by MENU-DESC, which is a
- menu description (*note Menu Format::.). The menu is displayed at
+ menu description (*note Menu Format::). The menu is displayed at
the current mouse position.
- Function: popup-menu-up-p
The following convenience functions are provided for displaying
pop-up menus.
- - Function: popup-buffer-menu EVENT
+ - Function: popup-buffer-menu event
This function pops up a copy of the `Buffers' menu (from the
menubar) where the mouse is clicked.
- - Function: popup-menubar-menu EVENT
+ - Function: popup-menubar-menu event
This function pops up a copy of menu that also appears in the
menubar.
then all buffers will be shown. Setting this to a large number or
`nil' will slow down menu responsiveness.
- - Function: format-buffers-menu-line BUFFER
+ - Function: format-buffers-menu-line buffer
This function returns a string to represent BUFFER in the
`Buffers' menu. `nil' means the buffer shouldn't be listed. You
can redefine this.
Dialog Box Functions
====================
- - Function: popup-dialog-box DBOX-DESC
+ - Function: popup-dialog-box dbox-desc
This function pops up a dialog box. DBOX-DESC describes how the
- dialog box will appear (*note Dialog Box Format::.).
+ dialog box will appear (*note Dialog Box Format::).
*Note Yes-or-No Queries::, for functions to ask a yes/no question
using a dialog box.
the frame, and two or more different edges can be displaying toolbars
simultaneously. The contents, thickness, and visibility of the
toolbars can be controlled separately, and the values can be
-per-buffer, per-frame, etc., using specifiers (*note Specifiers::.).
+per-buffer, per-frame, etc., using specifiers (*note Specifiers::).
Normally, there is one toolbar displayed in a frame. Usually, this
is the standard toolbar, but certain modes will override this and
area. If omitted, it defaults to a device-specific value (8
pixels for X devices).
- - Function: toolbar-make-button-list UP &optional DOWN DISABLED CAP-UP
- CAP-DOWN CAP-DISABLED
+ - Function: toolbar-make-button-list up &optional down disabled cap-up
+ cap-down cap-disabled
This function calls `make-glyph' on each arg and returns a list of
the results. This is useful for setting the first argument of a
toolbar button descriptor (typically, the result of this function
is assigned to a symbol, which is specified as the first argument
of the toolbar button descriptor).
- - Function: check-toolbar-button-syntax BUTTON &optional NOERROR
+ - Function: check-toolbar-button-syntax button &optional noerror
Verify the syntax of entry BUTTON in a toolbar description list.
If you want to verify the syntax of a toolbar description list as a
whole, use `check-valid-instantiator' with a specifier type of
`right-toolbar-width', and the visibility status is controlled by the
specifiers `top-toolbar-visible-p', `bottom-toolbar-visible-p',
`left-toolbar-visible-p', and `right-toolbar-visible-p' (*note Other
-Toolbar Variables::.).
+Toolbar Variables::).
- - Function: set-default-toolbar-position POSITION
+ - Function: set-default-toolbar-position position
This function sets the position that the `default-toolbar' will be
displayed at. Valid positions are the symbols `top', `bottom',
`left' and `right'. What this actually does is set the fallback
same thing for the position-specific thickness and visibility
specifiers, which inherit from one of `default-toolbar-height' or
`default-toolbar-width', and from `default-toolbar-visible-p',
- respectively (*note Other Toolbar Variables::.).
+ respectively (*note Other Toolbar Variables::).
- Function: default-toolbar-position
This function returns the position that the `default-toolbar' will
- Specifier: right-toolbar
Specifier for the toolbar at the right edge of the frame.
- - Function: toolbar-specifier-p OBJECT
+ - Function: toolbar-specifier-p object
This function returns non-nil if OBJECT is a toolbar specifier.
Toolbar specifiers are the actual objects contained in the toolbar
variables described above, and their valid instantiators are
- toolbar descriptors (*note Toolbar Descriptor Format::.).
+ toolbar descriptors (*note Toolbar Descriptor Format::).
\1f
File: lispref.info, Node: Other Toolbar Variables, Prev: Specifying the Toolbar, Up: Toolbar
Drag and Drop
*************
- *WARNING*: the Drag'n'Drop API is still under development and the
+ _WARNING_: the Drag'n'Drop API is still under development and the
interface may change! The current implementation is considered
experimental.
OffiX DND
---------
- *WARNING*: If you compile in OffiX, you may not be able to use
+ _WARNING_: If you compile in OffiX, you may not be able to use
multiple X displays successfully. If the two servers are from
different vendors, the results may be unpredictable.
modify the old one to serve two purposes, since it may become harder to
use and maintain. Instead, copy and rename an existing major mode
definition and alter the copy--or define a "derived mode" (*note
-Derived Modes::.). For example, Rmail Edit mode, which is in
+Derived Modes::). For example, Rmail Edit mode, which is in
`emacs/lisp/rmailedit.el', is a major mode that is very similar to Text
mode except that it provides three additional commands. Its definition
is distinct from that of Text mode, but was derived from it.
;; Create mode-specific tables.
(defvar text-mode-syntax-table nil
"Syntax table used while in text mode.")
-
+
(if text-mode-syntax-table
() ; Do not change the table if it is already set up.
(setq text-mode-syntax-table (make-syntax-table))
(modify-syntax-entry ?\" ". " text-mode-syntax-table)
(modify-syntax-entry ?\\ ". " text-mode-syntax-table)
(modify-syntax-entry ?' "w " text-mode-syntax-table))
-
+
(defvar text-mode-abbrev-table nil
"Abbrev table used while in text mode.")
(define-abbrev-table 'text-mode-abbrev-table ())
-
+
(defvar text-mode-map nil) ; Create a mode-specific keymap.
(if text-mode-map
(defun text-mode ()
"Major mode for editing text intended for humans to read.
Special commands: \\{text-mode-map}
-
Turning on text-mode runs the hook `text-mode-hook'."
(interactive)
(kill-all-local-variables)
-
- (use-local-map text-mode-map) ; This provides the local keymap.
+ (use-local-map text-mode-map) ; This provides the local keymap.
(setq mode-name "Text") ; This name goes into the modeline.
(setq major-mode 'text-mode) ; This is how `describe-mode'
; finds the doc string to print.
(defvar lisp-mode-syntax-table nil "")
(defvar emacs-lisp-mode-syntax-table nil "")
(defvar lisp-mode-abbrev-table nil "")
-
+
(if (not emacs-lisp-mode-syntax-table) ; Do not change the table
; if it is already set.
(let ((i 0))
(setq emacs-lisp-mode-syntax-table (make-syntax-table))
-
- ;; Set syntax of chars up to 0 to class of chars that are
+
+ ;; Set syntax of chars up to 0 to class of chars that are
;; part of symbol names but not words.
;; (The number 0 is `48' in the ASCII character set.)
(while (< i ?0)
(modify-syntax-entry i "_ " emacs-lisp-mode-syntax-table)
(setq i (1+ i)))
...
-
- ;; Set the syntax for other characters.
+ ;; Set the syntax for other characters.
(modify-syntax-entry ? " " emacs-lisp-mode-syntax-table)
(modify-syntax-entry ?\t " " emacs-lisp-mode-syntax-table)
...
-
- (modify-syntax-entry ?\( "() " emacs-lisp-mode-syntax-table)
+ (modify-syntax-entry ?\( "() " emacs-lisp-mode-syntax-table)
(modify-syntax-entry ?\) ")( " emacs-lisp-mode-syntax-table)
...))
;; Create an abbrev table for lisp-mode.
;; The Emacs Lisp mode syntax table always exists, but
;; the Lisp Mode syntax table is created the first time a
;; mode that needs it is called. This is to save space.
-
- (progn (setq lisp-mode-syntax-table
+ (progn (setq lisp-mode-syntax-table
(copy-syntax-table emacs-lisp-mode-syntax-table))
;; Change some entries for Lisp mode.
(modify-syntax-entry ?\| "\" "
lisp-mode-syntax-table)
(modify-syntax-entry ?\] "_ "
lisp-mode-syntax-table)))
-
- (set-syntax-table lisp-mode-syntax-table)))
+ (set-syntax-table lisp-mode-syntax-table)))
(setq local-abbrev-table lisp-mode-abbrev-table)
...)
`comment-indent-function'. The code to set these variables is the rest
of `lisp-mode-variables'.
- (make-local-variable 'paragraph-start)
+ (make-local-variable 'paragraph-start)
;; Having `^' is not clean, but `page-delimiter'
;; has them too, and removing those is a pain.
(setq paragraph-start (concat "^$\\|" page-delimiter))
...
-
- (make-local-variable 'comment-indent-function)
+ (make-local-variable 'comment-indent-function)
(setq comment-indent-function 'lisp-comment-indent))
Each of the different Lisp modes has a slightly different keymap.
Delete converts tabs to spaces as it moves back.
Blank lines separate paragraphs. Semicolons start comments.
\\{emacs-lisp-mode-map}
-
Entry to this mode runs the hook `emacs-lisp-mode-hook'."
(interactive)
(kill-all-local-variables)
(use-local-map emacs-lisp-mode-map) ; This provides the local keymap.
(set-syntax-table emacs-lisp-mode-syntax-table)
-
- (setq major-mode 'emacs-lisp-mode) ; This is how `describe-mode'
+ (setq major-mode 'emacs-lisp-mode) ; This is how `describe-mode'
; finds out what to describe.
(setq mode-name "Emacs-Lisp") ; This goes into the modeline.
(lisp-mode-variables nil) ; This defines various variables.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
anything in particular. Other major modes are defined in effect
by comparison with this one--their definitions say what to change,
starting from Fundamental mode. The `fundamental-mode' function
- does *not* run any hooks; you're not supposed to customize it.
+ does _not_ run any hooks; you're not supposed to customize it.
(If you want Emacs to behave differently in Fundamental mode,
- change the *global* state of Emacs.)
+ change the _global_ state of Emacs.)
- - Command: normal-mode &optional FIND-FILE
+ - Command: normal-mode &optional find-file
This function establishes the proper major mode and local variable
bindings for the current buffer. First it calls `set-auto-mode',
then it runs `hack-local-variables' to parse, and bind or evaluate
property are those such as Dired and Rmail that are useful only
with text that has been specially prepared.
- - Function: set-buffer-major-mode BUFFER
+ - Function: set-buffer-major-mode buffer
This function sets the major mode of BUFFER to the value of
`default-major-mode'. If that variable is `nil', it uses the
current buffer's major mode (if that is suitable).
- Variable: auto-mode-alist
This variable contains an association list of file name patterns
- (regular expressions; *note Regular Expressions::.) and
+ (regular expressions; *note Regular Expressions::) and
corresponding major mode functions. Usually, the file name
patterns test for suffixes, such as `.el' and `.c', but this need
not be the case. An ordinary element of the alist looks like
(("^/tmp/fol/" . text-mode)
("\\.texinfo\\'" . texinfo-mode)
("\\.texi\\'" . texinfo-mode)
-
- ("\\.el\\'" . emacs-lisp-mode)
+ ("\\.el\\'" . emacs-lisp-mode)
("\\.c\\'" . c-mode)
("\\.h\\'" . c-mode)
...)
When you visit a file whose expanded file name (*note File Name
- Expansion::.) matches a REGEXP, `set-auto-mode' calls the
+ Expansion::) matches a REGEXP, `set-auto-mode' calls the
corresponding MODE-FUNCTION. This feature enables XEmacs to select
the proper major mode for most files.
This variable is applicable only when the `auto-mode-alist' does
not indicate which major mode to use.
- - Function: hack-local-variables &optional FORCE
+ - Function: hack-local-variables &optional force
This function parses, and binds or evaluates as appropriate, any
local variables for the current buffer.
It's often useful to define a new major mode in terms of an existing
one. An easy way to do this is to use `define-derived-mode'.
- - Macro: define-derived-mode VARIANT PARENT NAME DOCSTRING BODY...
+ - Macro: define-derived-mode variant parent name docstring body...
This construct defines VARIANT as a major mode command, using NAME
as the string form of the mode name.
(> (prefix-numeric-value arg) 0)))
* Add an element to `minor-mode-alist' for each minor mode (*note
- Modeline Variables::.). This element should be a list of the
+ Modeline Variables::). This element should be a list of the
following form:
(MODE-VARIABLE STRING)
The modeline of a window is normally updated whenever a different
buffer is shown in the window, or when the buffer's modified-status
changes from `nil' to `t' or vice-versa. If you modify any of the
-variables referenced by `modeline-format' (*note Modeline
-Variables::.), you may want to force an update of the modeline so as to
-display the new information.
+variables referenced by `modeline-format' (*note Modeline Variables::),
+you may want to force an update of the modeline so as to display the
+new information.
- - Function: redraw-modeline &optional ALL
+ - Function: redraw-modeline &optional all
Force redisplay of the current buffer's modeline. If ALL is
non-`nil', then force redisplay of all modelines.
`mode-line-format'. The data structure is called a "modeline
construct", and it is built in recursive fashion out of simpler modeline
constructs. The same data structure is used for constructing frame
-titles (*note Frame Titles::.).
+titles (*note Frame Titles::).
- Variable: modeline-format
The value of this variable is a modeline construct with overall
If you do alter `modeline-format' itself, the new value should use
the same variables that appear in the default value (*note Modeline
-Variables::.), rather than duplicating their contents or displaying the
+Variables::), rather than duplicating their contents or displaying the
information in another fashion. This way, customizations made by the
user or by Lisp programs (such as `display-time' and major modes) via
changes to those variables remain effective.
The recommended way to add a hook function to a normal hook is by
calling `add-hook' (see below). The hook functions may be any of the
valid kinds of functions that `funcall' accepts (*note What Is a
-Function::.). Most normal hook variables are initially void;
-`add-hook' knows how to deal with this.
+Function::). Most normal hook variables are initially void; `add-hook'
+knows how to deal with this.
As for abnormal hooks, those whose names end in `-function' have a
value that is a single function. Those whose names end in `-hooks'
to customize the behavior of the mode, by overriding the local variable
assignments already made by the mode. But hooks are used in other
contexts too. For example, the hook `suspend-hook' runs just before
-XEmacs suspends itself (*note Suspending XEmacs::.).
+XEmacs suspends itself (*note Suspending XEmacs::).
Here's an expression that uses a mode hook to turn on Auto Fill mode
when in Lisp Interaction mode:
particular hooks. This function calls the hook functions you have
added with `add-hooks'.
- - Function: run-hooks &rest HOOKVAR
+ - Function: run-hooks &rest hookvar
This function takes one or more hook variable names as arguments,
and runs each hook in turn. Each HOOKVAR argument should be a
symbol that is a hook variable. These arguments are processed in
(run-hooks 'emacs-lisp-mode-hook)
- - Function: add-hook HOOK FUNCTION &optional APPEND LOCAL
+ - Function: add-hook hook function &optional append local
This function is the handy way to add function FUNCTION to hook
variable HOOK. The argument FUNCTION may be any valid Lisp
function with the proper number of arguments. For example,
buffer-local, then the value of LOCAL makes no difference--the
hook function is always global.
- - Function: remove-hook HOOK FUNCTION &optional LOCAL
+ - Function: remove-hook hook function &optional local
This function removes FUNCTION from the hook variable HOOK.
If LOCAL is non-`nil', that says to remove FUNCTION from the local
itself is not buffer-local, then the value of LOCAL makes no
difference.
- - Function: make-local-hook HOOK
+ - Function: make-local-hook hook
This function makes the hook variable `hook' local to the current
buffer. When a hook variable is local, it can have local and
global hook functions, and `run-hooks' runs all of them.
the function or variable that it describes:
* The documentation for a function is stored in the function
- definition itself (*note Lambda Expressions::.). The function
+ definition itself (*note Lambda Expressions::). The function
`documentation' knows how to extract it.
* The documentation for a variable is stored in the variable's
stored in the "internal doc file" `DOC'. The documentation for
functions and variables loaded during the XEmacs session from
byte-compiled files is stored in those very same byte-compiled files
-(*note Docs and Compilation::.).
+(*note Docs and Compilation::).
XEmacs does not keep documentation strings in memory unless
necessary. Instead, XEmacs maintains, for preloaded symbols, an
Access to Documentation Strings
===============================
- - Function: documentation-property SYMBOL PROPERTY &optional VERBATIM
+ - Function: documentation-property symbol property &optional verbatim
This function returns the documentation string that is recorded in
SYMBOL's property list under property PROPERTY. It retrieves the
text from a file if necessary, and runs `substitute-command-keys'
(documentation-property 'command-line-processed
'variable-documentation)
=> "t once command line has been processed"
-
(symbol-plist 'command-line-processed)
=> (variable-documentation 188902)
- - Function: documentation FUNCTION &optional VERBATIM
+ - Function: documentation function &optional verbatim
This function returns the documentation string of FUNCTION. It
reads the text from a file if necessary. Then (unless VERBATIM is
non-`nil') it calls `substitute-command-keys', to return a value
(let ((describe-func
(function
(lambda (s)
-
- ;; Print description of symbol.
+ ;; Print description of symbol.
(if (fboundp s) ; It is a function.
(princ
(format "%s\t%s\n%s\n\n" s
keys " "))
"Keys: none"))
"Function")
-
- (or (documentation s)
+ (or (documentation s)
"not documented"))))
(if (boundp s) ; It is a variable.
-
- (princ
+ (princ
(format "%s\t%s\n%s\n\n" s
(if (user-variable-p s)
"Option " "Variable")
-
- (or (documentation-property
+ (or (documentation-property
s 'variable-documentation)
"not documented")))))))
sym-list)
-
- ;; Build a list of symbols that match pattern.
+
+ ;; Build a list of symbols that match pattern.
(mapatoms (function
(lambda (sym)
(if (string-match pattern (symbol-name sym))
(setq sym-list (cons sym sym-list))))))
-
- ;; Display the data.
+
+ ;; Display the data.
(with-output-to-temp-buffer "*Help*"
(mapcar describe-func (sort sym-list 'string<))
(print-help-return-message))))
---------- Buffer: *Help* ----------
goal-column Option
*Semipermanent goal column for vertical motion, as set by C-x C-n, or nil.
-
+
set-goal-column Command: C-x C-n
Set the current horizontal position as a goal for C-n and C-p.
-
Those commands will move to this position in the line moved to
rather than trying to keep the same horizontal position.
With a non-nil argument, clears out the goal column
so that C-n and C-p resume vertical motion.
The goal column is stored in the variable `goal-column'.
-
+
temporary-goal-column Variable
Current goal column for vertical motion.
It is the column where point was
When the `track-eol' feature is doing its job, the value is 9999.
---------- Buffer: *Help* ----------
- - Function: Snarf-documentation FILENAME
+ - Function: Snarf-documentation filename
This function is used only during XEmacs initialization, just
before the runnable XEmacs is dumped. It finds the file offsets
of the documentation strings stored in the file FILENAME, and
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
*Please note:* Each `\' must be doubled when written in a string in
XEmacs Lisp.
- - Function: substitute-command-keys STRING
+ - Function: substitute-command-keys string
This function scans STRING for the above special sequences and
replaces them by what they stand for, returning the result as a
string. This permits display of documentation that refers
(substitute-command-keys
"To abort recursive edit, type: \\[abort-recursive-edit]")
=> "To abort recursive edit, type: C-]"
-
+
(substitute-command-keys
"The keys that are defined for the minibuffer here are:
\\{minibuffer-local-must-match-map}")
RET minibuffer-complete-and-exit
C-g abort-recursive-edit
"
+
(substitute-command-keys
"To abort a recursive edit from the minibuffer, type\
\\<minibuffer-local-must-match-map>\\[abort-recursive-edit].")
=> "To abort a recursive edit from the minibuffer, type C-g."
-
+
(substitute-command-keys
"Substrings of the form \\=\\{MAPVAR} are replaced by summaries
\(made by describe-bindings) of the value of MAPVAR, taken as a keymap.
characters. The description of a non-whitespace printing character is
the character itself.
- - Function: key-description SEQUENCE
+ - Function: key-description sequence
This function returns a string containing the XEmacs standard
notation for the input events in SEQUENCE. The argument SEQUENCE
may be a string, vector or list. *Note Events::, for more
information about valid events. See also the examples for
`single-key-description', below.
- - Function: single-key-description KEY
+ - Function: single-key-description key
This function returns a string describing KEY in the standard
XEmacs notation for keyboard input. A normal printing character
appears as itself, but a control character turns into a string
(single-key-description ?\C-x)
=> "C-x"
-
(key-description "\C-x \M-y \n \t \r \f123")
=> "C-x SPC M-y SPC LFD SPC TAB SPC RET SPC C-l 1 2 3"
-
(single-key-description 'kp_next)
=> "kp_next"
-
(single-key-description '(shift button1))
=> "Sh-button1"
- - Function: text-char-description CHARACTER
+ - Function: text-char-description character
This function returns a string describing CHARACTER in the
standard XEmacs notation for characters that appear in text--like
`single-key-description', except that control characters are
(text-char-description ?\C-c)
=> "^C"
-
(text-char-description ?\M-m)
=> "M-m"
-
(text-char-description ?\C-\M-m)
=> "M-^M"
`help'. For more information about them, see *Note Help: (emacs)Help.
Here we describe some program-level interfaces to the same information.
- - Command: apropos REGEXP &optional DO-ALL PREDICATE
+ - Command: apropos regexp &optional do-all predicate
This function finds all symbols whose names contain a match for the
regular expression REGEXP, and returns a list of them (*note
- Regular Expressions::.). It also displays the symbols in a buffer
+ Regular Expressions::). It also displays the symbols in a buffer
named `*Help*', each with a one-line description.
If DO-ALL is non-`nil', then `apropos' also shows key bindings for
=> (Buffer-menu-execute command-execute exec-directory
exec-path execute-extended-command execute-kbd-macro
executing-kbd-macro executing-macro)
-
+
(apropos "exec" nil 'commandp)
=> (Buffer-menu-execute execute-extended-command)
(define-key global-map "\C-h" 'help-command)
(fset 'help-command help-map)
- - Function: print-help-return-message &optional FUNCTION
+ - Function: print-help-return-message &optional function
This function builds a string that explains how to restore the
previous state of the windows after a help command. After
building the message, it applies FUNCTION to it if FUNCTION is
what the input is for and how to enter it properly.
Entry to the minibuffer binds this variable to the value of
- `minibuffer-help-form' (*note Minibuffer Misc::.).
+ `minibuffer-help-form' (*note Minibuffer Misc::).
- Variable: prefix-help-command
This variable holds a function to print help for a prefix
Lisp lets you mark a function or variable as "obsolete", and indicate
what should be used instead.
- - Function: make-obsolete FUNCTION NEW
+ - Function: make-obsolete function new
This function indicates that FUNCTION is an obsolete function, and
the function NEW should be used instead. The byte compiler will
issue a warning to this effect when it encounters a usage of the
should be a descriptive statement, such as "use FOO or BAR
instead" or "this function is unnecessary".
- - Function: make-obsolete-variable VARIABLE NEW
+ - Function: make-obsolete-variable variable new
This is like `make-obsolete' but is for variables instead of
functions.
- - Function: define-obsolete-function-alias OLDFUN NEWFUN
+ - Function: define-obsolete-function-alias oldfun newfun
This function combines `make-obsolete' and `define-function',
declaring OLDFUN to be an obsolete variant of NEWFUN and defining
OLDFUN as an alias for NEWFUN.
- - Function: define-obsolete-variable-alias OLDVAR NEWVAR
+ - Function: define-obsolete-variable-alias oldvar newvar
This is like `define-obsolete-function-alias' but for variables.
Note that you should not normally put obsoleteness information
documentation of the new function, making it more likely that he will
use the new function.
- - Function: function-obsoleteness-doc FUNCTION
+ - Function: function-obsoleteness-doc function
If FUNCTION is obsolete, this function returns a string describing
this. This is the message that is printed out during byte
compilation or in the function's documentation. If FUNCTION is
not obsolete, `nil' is returned.
- - Function: variable-obsoleteness-doc VARIABLE
+ - Function: variable-obsoleteness-doc variable
This is like `function-obsoleteness-doc' but for variables.
The obsoleteness information is stored internally by putting a
temporary buffer. Visiting the file is not necessary and takes longer.
*Note Reading from Files::.
- - Command: find-file FILENAME
+ - Command: find-file filename
This command selects a buffer visiting the file FILENAME, using an
existing buffer if there is one, and otherwise creating a new
buffer and reading the file into it. It also returns that buffer.
When `find-file' is called interactively, it prompts for FILENAME
in the minibuffer.
- - Function: find-file-noselect FILENAME &optional NOWARN
+ - Function: find-file-noselect filename &optional nowarn
This function is the guts of all the file-visiting functions. It
finds or creates a buffer visiting the file FILENAME, and returns
it. It uses an existing buffer if there is one, and otherwise
are suppressed.
The `find-file-noselect' function calls `after-find-file' after
- reading the file (*note Subroutines of Visiting::.). That function
+ reading the file (*note Subroutines of Visiting::). That function
sets the buffer major mode, parses local variables, warns the user
if there exists an auto-save file more recent than the file just
visited, and finishes by running the functions in
(find-file-noselect "/etc/fstab")
=> #<buffer fstab>
- - Command: find-file-other-window FILENAME
+ - Command: find-file-other-window filename
This command selects a buffer visiting the file FILENAME, but does
so in a window other than the selected window. It may use another
existing window or split a window; see *Note Displaying Buffers::.
When this command is called interactively, it prompts for FILENAME.
- - Command: find-file-read-only FILENAME
+ - Command: find-file-read-only filename
This command selects a buffer visiting the file FILENAME, like
`find-file', but it marks the buffer as read-only. *Note Read
Only Buffers::, for related functions and variables.
When this command is called interactively, it prompts for FILENAME.
- - Command: view-file FILENAME
+ - Command: view-file filename
This command visits FILENAME in View mode, and displays it in a
recursive edit, returning to the previous buffer when done. View
mode is a mode that allows you to skim rapidly through the file
`after-find-file' functions as subroutines. Sometimes it is useful to
call them directly.
- - Function: create-file-buffer FILENAME
+ - Function: create-file-buffer filename
This function creates a suitably named buffer for visiting
FILENAME, and returns it. It uses FILENAME (sans directory) as
the name if that name is free; otherwise, it appends a string such
as `<2>' to get an unused name. See also *Note Creating Buffers::.
- *Please note:* `create-file-buffer' does *not* associate the new
+ *Please note:* `create-file-buffer' does _not_ associate the new
buffer with a file and does not select the buffer. It also does
not use the default major mode.
=> #<buffer foo<3>>
This function is used by `find-file-noselect'. It uses
- `generate-new-buffer' (*note Creating Buffers::.).
+ `generate-new-buffer' (*note Creating Buffers::).
- - Function: after-find-file &optional ERROR WARN NOAUTO
+ - Function: after-find-file &optional error warn noauto
This function sets the buffer major mode, and parses local
- variables (*note Auto Major Mode::.). It is called by
+ variables (*note Auto Major Mode::). It is called by
`find-file-noselect' and by the default revert function (*note
- Reverting::.).
+ Reverting::).
If reading the file got an error because the file does not exist,
but its directory does exist, the caller should pass a non-`nil'
buffer do not change the file until you "save" the buffer, which means
copying the contents of the buffer into the file.
- - Command: save-buffer &optional BACKUP-OPTION
+ - Command: save-buffer &optional backup-option
This function saves the contents of the current buffer in its
visited file if the buffer has been modified since it was last
visited or saved. Otherwise it does nothing.
`save-buffer' function unconditionally backs up the previous
version of the file before saving it.
- - Command: save-some-buffers &optional SAVE-SILENTLY-P EXITING
+ - Command: save-some-buffers &optional save-silently-p exiting
This command saves some modified file-visiting buffers. Normally
it asks the user about each buffer. But if SAVE-SILENTLY-P is
non-`nil', it saves all the file-visiting buffers without querying
variable is automatically local in all buffers. Normally, Mail
mode (used for editing outgoing mail) sets this to `t'.
- - Command: write-file FILENAME
+ - Command: write-file filename
This function writes the current buffer into file FILENAME, makes
the buffer visit that file, and marks it not modified. Then it
renames the buffer based on FILENAME, appending a string like `<2>'
- User Option: require-final-newline
This variable determines whether files may be written out that do
- *not* end with a newline. If the value of the variable is `t',
+ _not_ end with a newline. If the value of the variable is `t',
then `save-buffer' silently adds a newline at the end of the file
whenever the buffer being saved does not already end in one. If
the value of the variable is non-`nil', but not `t', then
the `insert-file-contents' function. Don't use the user-level command
`insert-file' in a Lisp program, as that sets the mark.
- - Function: insert-file-contents FILENAME &optional VISIT BEG END
- REPLACE
+ - Function: insert-file-contents filename &optional visit beg end
+ replace
This function inserts the contents of file FILENAME into the
current buffer after point. It returns a list of the absolute
file name and the length of the data inserted. An error is
functions. Don't use these functions to write to files that are being
visited; that could cause confusion in the mechanisms for visiting.
- - Command: append-to-file START END FILENAME
+ - Command: append-to-file start end filename
This function appends the contents of the region delimited by
START and END in the current buffer to the end of file FILENAME.
If that file does not exist, it is created. If that file exists
An error is signaled if FILENAME specifies a nonwritable file, or
a nonexistent file in a directory where files cannot be created.
- - Command: write-region START END FILENAME &optional APPEND VISIT
+ - Command: write-region start end filename &optional append visit
This function writes the region delimited by START and END in the
current buffer into the file specified by FILENAME.
modification of a buffer visiting a file changed on disk catches some
cases of simultaneous editing; see *Note Modification Time::.
- - Function: file-locked-p &optional FILENAME
+ - Function: file-locked-p &optional filename
This function returns `nil' if the file FILENAME is not locked by
this XEmacs process. It returns `t' if it is locked by this
XEmacs, and it returns the name of the user who has locked it if it
(file-locked-p "foo")
=> nil
- - Function: lock-buffer &optional FILENAME
+ - Function: lock-buffer &optional filename
This function locks the file FILENAME, if the current buffer is
modified. The argument FILENAME defaults to the current buffer's
visited file. Nothing is done if the current buffer is not
the file should not be locked, so this function does nothing. It
also does nothing if the current buffer is not visiting a file.
- - Function: ask-user-about-lock FILE OTHER-USER
+ - Function: ask-user-about-lock file other-user
This function is called when the user tries to modify FILE, but it
is locked by another user named OTHER-USER. The value it returns
determines what happens next:
These functions test for permission to access a file in specific
ways.
- - Function: file-exists-p FILENAME
+ - Function: file-exists-p filename
This function returns `t' if a file named FILENAME appears to
exist. This does not mean you can necessarily read the file, only
that you can find out its attributes. (On Unix, this is true if
prevent you from finding the attributes of the file, this function
returns `nil'.
- - Function: file-readable-p FILENAME
+ - Function: file-readable-p filename
This function returns `t' if a file named FILENAME exists and you
can read it. It returns `nil' otherwise.
(file-readable-p "/usr/spool/mqueue")
=> nil
- - Function: file-executable-p FILENAME
+ - Function: file-executable-p filename
This function returns `t' if a file named FILENAME exists and you
can execute it. It returns `nil' otherwise. If the file is a
directory, execute permission means you can check the existence and
attributes of files inside the directory, and open those files if
their modes permit.
- - Function: file-writable-p FILENAME
+ - Function: file-writable-p filename
This function returns `t' if the file FILENAME can be written or
created by you, and `nil' otherwise. A file is writable if the
file exists and you can write it. It is creatable if it does not
(file-writable-p "~/no-such-dir/foo")
=> nil
- - Function: file-accessible-directory-p DIRNAME
+ - Function: file-accessible-directory-p dirname
This function returns `t' if you have permission to open existing
files in the directory whose name as a file is DIRNAME; otherwise
(or if there is no such directory), it returns `nil'. The value
we can deduce that any attempt to read a file in `/foo/' will give
an error.
- - Function: file-ownership-preserved-p FILENAME
+ - Function: file-ownership-preserved-p filename
This function returns `t' if deleting the file FILENAME and then
creating it anew would keep the file's owner unchanged.
- - Function: file-newer-than-file-p FILENAME1 FILENAME2
+ - Function: file-newer-than-file-p filename1 filename2
This function returns `t' if the file FILENAME1 is newer than file
FILENAME2. If FILENAME1 does not exist, it returns `nil'. If
FILENAME2 does not exist, it returns `t'.
This section describes how to distinguish various kinds of files,
such as directories, symbolic links, and ordinary files.
- - Function: file-symlink-p FILENAME
+ - Function: file-symlink-p filename
If the file FILENAME is a symbolic link, the `file-symlink-p'
function returns the file name to which it is linked. This may be
the name of a text file, a directory, or even another symbolic
=> "/pub/bin"
- - Function: file-directory-p FILENAME
+ - Function: file-directory-p filename
This function returns `t' if FILENAME is the name of an existing
directory, `nil' otherwise.
(substitute-in-file-name "$HOME"))
=> t
- - Function: file-regular-p FILENAME
+ - Function: file-regular-p filename
This function returns `t' if the file FILENAME exists and is a
regular file (not a directory, symbolic link, named pipe,
terminal, or other I/O device).
---------
The "truename" of a file is the name that you get by following
-symbolic links until none remain, then expanding to get rid of `.' and
+symbolic links until none remain, then expanding to get rid of `.' and
`..' as components. Strictly speaking, a file need not have a unique
truename; the number of distinct truenames a file has is equal to the
number of hard links to the file. However, truenames are useful
because they eliminate symbolic links as a cause of name variation.
- - Function: file-truename FILENAME &optional DEFAULT
+ - Function: file-truename filename &optional default
The function `file-truename' returns the true name of the file
FILENAME. This is the name that you get by following symbolic
links until none remain.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
the number of names, the inode number, the size, and the times of access
and modification.
- - Function: file-modes FILENAME
+ - Function: file-modes filename
This function returns the mode bits of FILENAME, as an integer.
The mode bits are also called the file permissions, and they
specify access control in the usual Unix fashion. If the
% ls -l diffs
-rw-rw-rw- 1 lewis 0 3063 Oct 30 16:00 diffs
- - Function: file-nlinks FILENAME
+ - Function: file-nlinks filename
This functions returns the number of names (i.e., hard links) that
file FILENAME has. If the file does not exist, then this function
returns `nil'. Note that symbolic links have no effect on this
(file-nlinks "doesnt-exist")
=> nil
- - Function: file-attributes FILENAME
+ - Function: file-attributes filename
This function returns a list of attributes of file FILENAME. If
the specified file cannot be opened, it returns `nil'.
1. The number of names the file has. Alternate names, also
known as hard links, can be created by using the
`add-name-to-file' function (*note Changing File
- Attributes::.).
+ Attributes::).
2. The file's UID.
* Replace the old file without confirmation if OK-IF-ALREADY-EXISTS
is any other value.
- - Command: add-name-to-file OLDNAME NEWNAME &optional
- OK-IF-ALREADY-EXISTS
+ - Command: add-name-to-file oldname newname &optional
+ ok-if-already-exists
This function gives the file named OLDNAME the additional name
NEWNAME. This means that NEWNAME becomes a new "hard link" to
OLDNAME.
See also `file-nlinks' in *Note File Attributes::.
- - Command: rename-file FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS
+ - Command: rename-file filename newname &optional ok-if-already-exists
This command renames the file FILENAME as NEWNAME.
If FILENAME has additional names aside from FILENAME, it continues
NEWNAME in the minibuffer; also, it requests confirmation if
NEWNAME already exists.
- - Command: copy-file OLDNAME NEWNAME &optional OK-IF-EXISTS TIME
+ - Command: copy-file oldname newname &optional ok-if-exists time
This command copies the file OLDNAME to NEWNAME. An error is
signaled if OLDNAME does not exist.
NEWNAME in the minibuffer; also, it requests confirmation if
NEWNAME already exists.
- - Command: delete-file FILENAME
+ - Command: delete-file filename
This command deletes the file FILENAME, like the shell command `rm
FILENAME'. If the file has multiple names, it continues to exist
under the other names.
See also `delete-directory' in *Note Create/Delete Dirs::.
- - Command: make-symbolic-link FILENAME NEWNAME &optional OK-IF-EXISTS
+ - Command: make-symbolic-link filename newname &optional ok-if-exists
This command makes a symbolic link to FILENAME, named NEWNAME.
This is like the shell command `ln -s FILENAME NEWNAME'.
NEWNAME in the minibuffer; also, it requests confirmation if
NEWNAME already exists.
- - Function: define-logical-name VARNAME STRING
+ - Function: define-logical-name varname string
This function defines the logical name NAME to have the value
STRING. It is available only on VMS.
- - Function: set-file-modes FILENAME MODE
+ - Function: set-file-modes filename mode
This function sets mode bits of FILENAME to MODE (which must be an
integer). Only the low 12 bits of MODE are used.
- - Function: set-default-file-modes MODE
+ - Function: set-default-file-modes mode
This function sets the default file protection for new files
created by XEmacs and its subprocesses. Every file created with
XEmacs initially has this protection. On Unix, the default
omits the version number. Version numbers are found mostly in
directory lists.
- - Function: file-name-directory FILENAME
+ - Function: file-name-directory filename
This function returns the directory part of FILENAME (or `nil' if
FILENAME does not include a directory part). On Unix, the
function returns a string ending in a slash. On VMS, it returns a
(file-name-directory "[X]FOO.TMP") ; VMS example
=> "[X]"
- - Function: file-name-nondirectory FILENAME
+ - Function: file-name-nondirectory filename
This function returns the nondirectory part of FILENAME.
(file-name-nondirectory "lewis/foo")
(file-name-nondirectory "[X]FOO.TMP")
=> "FOO.TMP"
- - Function: file-name-sans-versions FILENAME &optional
- KEEP-BACKUP-VERSION
+ - Function: file-name-sans-versions filename &optional
+ keep-backup-version
This function returns FILENAME without any file version numbers,
backup version numbers, or trailing tildes.
(file-name-sans-versions "foo;23")
=> "foo"
- - Function: file-name-sans-extension FILENAME
+ - Function: file-name-sans-extension filename
This function returns FILENAME minus its "extension," if any. The
extension, in a file name, is the part that starts with the last
`.' in the last name component. For example,
names. They do nothing special with environment variable substitutions
such as `$HOME', and the constructs `~', and `..'.
- - Function: file-name-as-directory FILENAME
+ - Function: file-name-as-directory filename
This function returns a string representing FILENAME in a form
that the operating system will interpret as the name of a
directory. In Unix, this means appending a slash to the string.
(file-name-as-directory "~rms/lewis")
=> "~rms/lewis/"
- - Function: directory-file-name DIRNAME
+ - Function: directory-file-name dirname
This function returns a string representing DIRNAME in a form that
the operating system will interpret as the name of a file. On
Unix, this means removing a final slash from the string. On VMS,
If you wish to convert a directory name to its abbreviation, use this
function:
- - Function: abbreviate-file-name DIRNAME &optional HACK-HOMEDIR
+ - Function: abbreviate-file-name dirname &optional hack-homedir
This function applies abbreviations from `directory-abbrev-alist'
to its argument, and substitutes `~' for the user's home directory.
name. On Unix, an absolute file name starts with a slash or a tilde
(`~'), and a relative one does not. The rules on VMS are complicated.
- - Function: file-name-absolute-p FILENAME
+ - Function: file-name-absolute-p filename
This function returns `t' if file FILENAME is an absolute file
name, `nil' otherwise. On VMS, this function understands both
Unix syntax and VMS syntax.
be expanded. Expansion also simplifies file names by eliminating
redundancies such as `./' and `NAME/../'.
- - Function: expand-file-name FILENAME &optional DIRECTORY
+ - Function: expand-file-name filename &optional directory
This function converts FILENAME to an absolute file name. If
DIRECTORY is supplied, it is the directory to start with if
FILENAME is relative. (The value of DIRECTORY should itself be an
`~/' at the beginning is expanded into the user's home directory.
A `/' or `~' following a `/'.
- Note that `expand-file-name' does *not* expand environment
+ Note that `expand-file-name' does _not_ expand environment
variables; only `substitute-in-file-name' does that.
- - Function: file-relative-name FILENAME &optional DIRECTORY
+ - Function: file-relative-name filename &optional directory
This function does the inverse of expansion--it tries to return a
relative name that is equivalent to FILENAME when interpreted
relative to DIRECTORY.
default-directory
=> "/user/lewis/manual/"
- - Function: substitute-in-file-name FILENAME
+ - Function: substitute-in-file-name filename
This function replaces environment variable references in FILENAME
with the environment variable values. Following standard Unix
shell syntax, `$' is the prefix to substitute an environment
Note that the `temp-directory' function does not exist under FSF
Emacs.
- - Function: make-temp-name PREFIX
+ - Function: make-temp-name prefix
This function generates a temporary file name starting with
PREFIX. The Emacs process number forms part of the result, so
there is no danger of generating a name being used by another
This section describes low-level subroutines for completing a file
name. For other completion functions, see *Note Completion::.
- - Function: file-name-all-completions PARTIAL-FILENAME DIRECTORY
+ - Function: file-name-all-completions partial-filename directory
This function returns a list of all possible completions for a file
whose name starts with PARTIAL-FILENAME in directory DIRECTORY.
The order of the completions is the order of the files in the
(file-name-all-completions "fo" "")
=> ("foo")
- - Function: file-name-completion FILENAME DIRECTORY
+ - Function: file-name-completion filename directory
This function completes the file name FILENAME in directory
DIRECTORY. It returns the longest prefix common to all file names
in directory DIRECTORY that start with FILENAME.
This section describes low-level subroutines for completing a user
name. For other completion functions, see *Note Completion::.
- - Function: user-name-all-completions PARTIAL-USERNAME
+ - Function: user-name-all-completions partial-username
This function returns a list of all possible completions for a user
whose name starts with PARTIAL-USERNAME. The order of the
completions is unpredictable and conveys no useful information.
The argument PARTIAL-USERNAME must be a partial user name
containing no tilde character and no slash.
- - Function: user-name-completion USERNAME
+ - Function: user-name-completion username
This function completes the user name USERNAME. It returns the
longest prefix common to all user names that start with USERNAME.
function returns `t'. The function returns `nil' if no user name
starting with USERNAME exists.
- - Function: user-name-completion-1 USERNAME
+ - Function: user-name-completion-1 username
This function completes the user name USERNAME, like
`user-name-completion', differing only in the return value. This
function returns the cons of the completion returned by
latter case, it can optionally display information about each file,
depending on the value of switches passed to the `ls' command.
- - Function: directory-files DIRECTORY &optional FULL-NAME MATCH-REGEXP
- NOSORT FILES-ONLY
+ - Function: directory-files directory &optional full-name match-regexp
+ nosort files-only
This function returns a list of the names of the files in the
directory DIRECTORY. By default, the list is in alphabetical
order.
An error is signaled if DIRECTORY is not the name of a directory
that can be read.
- - Function: insert-directory FILE SWITCHES &optional WILDCARD
- FULL-DIRECTORY-P
+ - Function: insert-directory file switches &optional wildcard
+ full-directory-p
This function inserts (in the current buffer) a directory listing
for directory FILE, formatted with `ls' according to SWITCHES. It
leaves point after the inserted text.
with `delete-file'. These special functions exist to create and delete
directories.
- - Command: make-directory DIRNAME &optional PARENTS
+ - Command: make-directory dirname &optional parents
This function creates a directory named DIRNAME. Interactively,
the default choice of directory to create is the current default
directory for file names. That is useful when you have visited a
create parent directories if they don't exist. (Interactively, this
always happens.)
- - Command: delete-directory DIRNAME
+ - Command: delete-directory dirname
This function deletes the directory named DIRNAME. The function
`delete-file' does not work for files that are directories; you
must use `delete-directory' in that case.
- Variable: inhibit-file-name-operation
The operation for which certain handlers are presently inhibited.
- - Function: find-file-name-handler FILE OPERATION
+ - Function: find-file-name-handler file operation
This function returns the handler function for file name FILE, or
`nil' if there is none. The argument OPERATION should be the
operation to be performed on the file--the value you will pass to
the handler as its first argument when you call it. The operation
is needed for comparison with `inhibit-file-name-operation'.
- - Function: file-local-copy FILENAME
+ - Function: file-local-copy filename
This function copies file FILENAME to an ordinary non-magic file,
if it isn't one already.
If FILENAME is an ordinary file name, not magic, then this function
does nothing and returns `nil'.
- - Function: unhandled-file-name-directory FILENAME
+ - Function: unhandled-file-name-directory filename
This function returns the name of a directory that is not magic.
It uses the directory part of FILENAME if that is not magic.
Otherwise, it asks the handler what to do.
Creating a Partial File
-----------------------
- - Function: make-file-part &optional START END NAME BUFFER
+ - Function: make-file-part &optional start end name buffer
Make a file part on buffer BUFFER out of the region. Call it
NAME. This command creates a new buffer containing the contents
of the region and marks the buffer as referring to the specified
encoding functions for the formats listed in `buffer-file-format', in
the order of appearance in the list.
- - Function: format-write-file FILE FORMAT
+ - Function: format-write-file file format
This command writes the current buffer contents into the file FILE
in format FORMAT, and makes that format the default for future
saves of the buffer. The argument FORMAT is a list of format
names.
- - Function: format-find-file FILE FORMAT
+ - Function: format-find-file file format
This command finds the file FILE, converting it according to
format FORMAT. It also makes FORMAT the default if the buffer is
saved later.
`nil', no conversion takes place. Interactively, typing just
<RET> for FORMAT specifies `nil'.
- - Function: format-insert-file FILE FORMAT &optional BEG END
+ - Function: format-insert-file file format &optional beg end
This command inserts the contents of file FILE, converting it
according to format FORMAT. If BEG and END are non-`nil', they
specify which part of the file to read, as in
- `insert-file-contents' (*note Reading from Files::.).
+ `insert-file-contents' (*note Reading from Files::).
The return value is like what `insert-file-contents' returns: a
list of the absolute file name and the length of the data inserted
`nil', no conversion takes place. Interactively, typing just
<RET> for FORMAT specifies `nil'.
- - Function: format-find-file FILE FORMAT
+ - Function: format-find-file file format
This command finds the file FILE, converting it according to
format FORMAT. It also makes FORMAT the default if the buffer is
saved later.
`nil', no conversion takes place. Interactively, typing just
<RET> for FORMAT specifies `nil'.
- - Function: format-insert-file FILE FORMAT &optional BEG END
+ - Function: format-insert-file file format &optional beg end
This command inserts the contents of file FILE, converting it
according to format FORMAT. If BEG and END are non-`nil', they
specify which part of the file to read, as in
- `insert-file-contents' (*note Reading from Files::.).
+ `insert-file-contents' (*note Reading from Files::).
The return value is like what `insert-file-contents' returns: a
list of the absolute file name and the length of the data inserted
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
file type of the buffer's visited file. The value is `nil' for
text, `t' for binary.
- - Function: find-buffer-file-type FILENAME
+ - Function: find-buffer-file-type filename
This function determines whether file FILENAME is a text file or a
binary file. It returns `nil' for text, `t' for binary.
don't indicate anything in particular. Its value should be `nil'
for text, or `t' for binary.
- - Command: find-file-text FILENAME
+ - Command: find-file-text filename
Like `find-file', but treat the file as text regardless of its
name.
- - Command: find-file-binary FILENAME
+ - Command: find-file-binary filename
Like `find-file', but treat the file as binary regardless of its
name.
variables have the value 2, then the backups numbered 1 and 2 are kept
as old versions and those numbered 5 and 7 are kept as new versions;
backup version 3 is excess. The function `find-backup-file-name'
-(*note Backup Names::.) is responsible for determining which backup
+(*note Backup Names::) is responsible for determining which backup
versions to delete, but does not delete them itself.
- User Option: trim-versions-without-asking
customize the naming conventions for backup files by redefining them.
If you change one, you probably need to change the rest.
- - Function: backup-file-name-p FILENAME
+ - Function: backup-file-name-p filename
This function returns a non-`nil' value if FILENAME is a possible
name for a backup file. A file with the name FILENAME need not
exist; the function just checks the name.
(backup-file-name-p "foo")
=> nil
-
(backup-file-name-p "foo~")
=> 3
This simple expression is placed in a separate function to make it
easy to redefine for customization.
- - Function: make-backup-file-name FILENAME
+ - Function: make-backup-file-name filename
This function returns a string that is the name to use for a
non-numbered backup file for file FILENAME. On Unix, this is just
FILENAME with a tilde appended.
(defun make-backup-file-name (filename)
(concat "." filename "~"))
-
+
(make-backup-file-name "backups.texi")
=> ".backups.texi~"
- - Function: find-backup-file-name FILENAME
+ - Function: find-backup-file-name filename
This function computes the file name for a new backup file for
FILENAME. It may also propose certain existing backup files for
deletion. `find-backup-file-name' returns a list whose CAR is the
(find-backup-file-name "~rms/foo")
=> ("~rms/foo.~5~" "~rms/foo.~3~")
- - Function: file-newest-backup FILENAME
+ - Function: file-newest-backup filename
This function returns the name of the most recent backup file for
FILENAME, or `nil' if that file has no backup files.
buffer-auto-save-file-name
=> "/xcssun/users/rms/lewis/#files.texi#"
- - Command: auto-save-mode ARG
+ - Command: auto-save-mode arg
When used interactively without an argument, this command is a
toggle switch: it turns on auto-saving of the current buffer if it
is off, and vice-versa. With an argument ARG, the command turns
auto-saving on if the value of ARG is `t', a nonempty list, or a
positive integer. Otherwise, it turns auto-saving off.
- - Function: auto-save-file-name-p FILENAME
+ - Function: auto-save-file-name-p filename
This function returns a non-`nil' value if FILENAME is a string
that could be the name of an auto-save file. It works based on
knowledge of the naming convention for auto-save files: a name that
If this variable is non-`nil', buffers that are visiting files
have auto-saving enabled by default. Otherwise, they do not.
- - Command: do-auto-save &optional NO-MESSAGE CURRENT-ONLY
+ - Command: do-auto-save &optional no-message current-only
This function auto-saves all buffers that need to be auto-saved.
It saves all buffers for which auto-saving is enabled and that
have been changed since the previous auto-save.
version of the file with the `revert-buffer' command. *Note Reverting
a Buffer: (emacs)Reverting.
- - Command: revert-buffer &optional CHECK-AUTO-SAVE NOCONFIRM
+ - Command: revert-buffer &optional check-auto-save noconfirm
This command replaces the buffer text with the text of the visited
file on disk. This action undoes all changes since the file was
visited or saved.
* Buffer File Name:: The buffer file name indicates which file is visited.
* Buffer Modification:: A buffer is "modified" if it needs to be saved.
* Modification Time:: Determining whether the visited file was changed
- "behind XEmacs's back".
+ ``behind XEmacs's back''.
* Read Only Buffers:: Modifying text is not allowed in a read-only buffer.
* The Buffer List:: How to look at all the existing buffers.
* Creating Buffers:: Functions that create buffers.
variables related to the display of buffers in windows, see *Note
Buffers and Windows::.
- - Function: bufferp OBJECT
+ - Function: bufferp object
This function returns `t' if OBJECT is a buffer, `nil' otherwise.
\1f
time, one of them is designated as the "current buffer". This is the
buffer in which most editing takes place, because most of the primitives
for examining or changing text in a buffer operate implicitly on the
-current buffer (*note Text::.). Normally the buffer that is displayed
-on the screen in the selected window is the current buffer, but this is
-not always so: a Lisp program can designate any buffer as current
+current buffer (*note Text::). Normally the buffer that is displayed on
+the screen in the selected window is the current buffer, but this is not
+always so: a Lisp program can designate any buffer as current
temporarily in order to operate on its contents, without changing what
is displayed on the screen.
(unless, of course, that is the subroutine's purpose). Therefore, you
should normally use `set-buffer' within a `save-excursion' that will
restore the current buffer when your function is done (*note
-Excursions::.). Here is an example, the code for the command
+Excursions::). Here is an example, the code for the command
`append-to-buffer' (with the documentation string abridged):
(defun append-to-buffer (buffer start end)
It is not reliable to change the current buffer back with
`set-buffer', because that won't do the job if a quit happens while the
-wrong buffer is current. Here is what *not* to do:
+wrong buffer is current. Here is what _not_ to do:
(let (buffer-read-only
(obuf (current-buffer)))
(current-buffer)
=> #<buffer buffers.texi>
- - Function: set-buffer BUFFER-OR-NAME
+ - Function: set-buffer buffer-or-name
This function makes BUFFER-OR-NAME the current buffer. It does
not display the buffer in the currently selected window or in any
other window, so the user cannot necessarily see the buffer. But
`buffer-menu' commands don't mention them. A name starting with space
also initially disables recording undo information; see *Note Undo::.
- - Function: buffer-name &optional BUFFER
+ - Function: buffer-name &optional buffer
This function returns the name of BUFFER as a string. If BUFFER
is not supplied, it defaults to the current buffer.
foo
=> #<killed buffer>
- - Command: rename-buffer NEWNAME &optional UNIQUE
+ - Command: rename-buffer newname &optional unique
This function renames the current buffer to NEWNAME. An error is
signaled if NEWNAME is not a string, or if there is already a
buffer with that name. The function returns `nil'.
to some other name, thus making it possible to create a second
shell buffer under the name `*shell*'.
- - Function: get-buffer BUFFER-OR-NAME
+ - Function: get-buffer buffer-or-name
This function returns the buffer specified by BUFFER-OR-NAME. If
BUFFER-OR-NAME is a string and there is no buffer with that name,
the value is `nil'. If BUFFER-OR-NAME is a buffer, it is returned
See also the function `get-buffer-create' in *Note Creating
Buffers::.
- - Function: generate-new-buffer-name STARTING-NAME &optional IGNORE
+ - Function: generate-new-buffer-name starting-name &optional ignore
This function returns a name that would be unique for a new
buffer--but does not create the buffer. It starts with
STARTING-NAME, and produces a name not currently in use for any
the buffer name are distinct and can be set independently. *Note
Visiting Files::.
- - Function: buffer-file-name &optional BUFFER
+ - Function: buffer-file-name &optional buffer
This function returns the absolute file name of the file that
BUFFER is visiting. If BUFFER is not visiting any file,
`buffer-file-name' returns `nil'. If BUFFER is not supplied, it
accessible on the system. See the function `file-attributes', in
*Note File Attributes::, for more information about them.
- - Function: get-file-buffer FILENAME
+ - Function: get-file-buffer filename
This function returns the buffer visiting file FILENAME. If there
is no such buffer, it returns `nil'. The argument FILENAME, which
- must be a string, is expanded (*note File Name Expansion::.), then
+ must be a string, is expanded (*note File Name Expansion::), then
compared against the visited file names of all live buffers.
(get-file-buffer "buffers.texi")
visiting the same file name. In such cases, this function returns
the first such buffer in the buffer list.
- - Command: set-visited-file-name FILENAME
+ - Command: set-visited-file-name filename
If FILENAME is a non-empty string, this function changes the name
of the file visited in current buffer to FILENAME. (If the buffer
- had no visited file, this gives it one.) The *next time* the
+ had no visited file, this gives it one.) The _next time_ the
buffer is saved it will go in the newly-specified file. This
command marks the buffer as modified, since it does not (as far as
XEmacs knows) match the contents of FILENAME, even if it matched
set to `t' whenever you alter the contents of the buffer, and cleared
to `nil' when you save it. Thus, the flag shows whether there are
unsaved changes. The flag value is normally shown in the modeline
-(*note Modeline Variables::.), and controls saving (*note Saving
-Buffers::.) and auto-saving (*note Auto-Saving::.).
+(*note Modeline Variables::), and controls saving (*note Saving
+Buffers::) and auto-saving (*note Auto-Saving::).
Some Lisp programs set the flag explicitly. For example, the
function `set-visited-file-name' sets the flag to `t', because the text
The functions that modify the contents of buffers are described in
*Note Text::.
- - Function: buffer-modified-p &optional BUFFER
+ - Function: buffer-modified-p &optional buffer
This function returns `t' if the buffer BUFFER has been modified
since it was last read in from a file or saved, or `nil'
otherwise. If BUFFER is not supplied, the current buffer is
tested.
- - Function: set-buffer-modified-p FLAG
+ - Function: set-buffer-modified-p flag
This function marks the current buffer as modified if FLAG is
non-`nil', or as unmodified if the flag is `nil'.
(set-buffer-modified-p (buffer-modified-p))
- - Command: not-modified &optional ARG
+ - Command: not-modified &optional arg
This command marks the current buffer as unmodified, and not
needing to be saved. (If ARG is non-`nil', the buffer is instead
marked as modified.) Don't use this function in programs, since it
prints a message in the echo area; use `set-buffer-modified-p'
(above) instead.
- - Function: buffer-modified-tick &optional BUFFER
+ - Function: buffer-modified-tick &optional buffer
This function returns BUFFER`s modification-count. This is a
counter that increments every time the buffer is modified. If
BUFFER is `nil' (or omitted), the current buffer is used.
XEmacs therefore checks the file's modification time using the functions
described below before saving the file.
- - Function: verify-visited-file-modtime BUFFER
+ - Function: verify-visited-file-modtime buffer
This function compares what BUFFER has recorded for the
modification time of its visited file against the actual
modification time of the file as recorded by the operating system.
format that `file-attributes' uses to return time values; see
*Note File Attributes::.)
- - Function: set-visited-file-modtime &optional TIME
+ - Function: set-visited-file-modtime &optional time
This function updates the buffer's record of the last modification
time of the visited file, to the value specified by TIME if TIME
is not `nil', and otherwise to the last modification time of the
normally, or if the file itself has been changed for some known
benign reason.
- - Function: ask-user-about-supersession-threat FILENAME
+ - Function: ask-user-about-supersession-threat filename
This function is used to ask a user how to proceed after an
attempt to modify an obsolete buffer visiting file FILENAME. An
"obsolete buffer" is an unmodified buffer for which the associated
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
Note that the different buffer lists all contain the same elements.
It is only the order of those elements that is different.
- - Function: buffer-list &optional FRAME
+ - Function: buffer-list &optional frame
This function returns a list of all buffers, including those whose
names begin with a space. The elements are actual buffers, not
their names. The order of the list is specific to FRAME, which
This list is a copy of a list used inside XEmacs; modifying it has
no effect on the buffers.
- - Function: other-buffer &optional BUFFER-OR-NAME FRAME VISIBLE-OK
+ - Function: other-buffer &optional buffer-or-name frame visible-ok
This function returns the first buffer in the buffer list other
than BUFFER-OR-NAME, in FRAME's ordering for the buffer list.
(FRAME defaults to the current frame. If FRAME is `t', then the
VISIBLE-OK is the second argument instead of the third. FSF Emacs
19.
- - Command: list-buffers &optional FILES-ONLY
+ - Command: list-buffers &optional files-only
This function displays a listing of the names of existing buffers.
It clears the buffer `*Buffer List*', then inserts the listing
into that buffer and displays it in a window. `list-buffers' is
intended for interactive use, and is described fully in `The XEmacs
Reference Manual'. It returns `nil'.
- - Command: bury-buffer &optional BUFFER-OR-NAME
+ - Command: bury-buffer &optional buffer-or-name
This function puts BUFFER-OR-NAME at the end of the buffer list
without changing the order of any of the other buffers on the list.
This buffer therefore becomes the least desirable candidate for
buffer and gives it a unique name.
Other functions you can use to create buffers include
-`with-output-to-temp-buffer' (*note Temporary Displays::.) and
-`create-file-buffer' (*note Visiting Files::.). Starting a subprocess
-can also create a buffer (*note Processes::.).
+`with-output-to-temp-buffer' (*note Temporary Displays::) and
+`create-file-buffer' (*note Visiting Files::). Starting a subprocess
+can also create a buffer (*note Processes::).
- - Function: get-buffer-create NAME
+ - Function: get-buffer-create name
This function returns a buffer named NAME. It returns an existing
buffer with that name, if one exists; otherwise, it creates a new
buffer. The buffer does not become the current buffer--this
variable `default-major-mode' is handled at a higher level. *Note
Auto Major Mode::.
- - Function: generate-new-buffer NAME
+ - Function: generate-new-buffer name
This function returns a newly created, empty buffer, but does not
make it current. If there is no buffer named NAME, then that is
the name of the new buffer. If that name is in use, this function
buffer has been killed, you can either use this feature or the function
`buffer-live-p'.
- - Function: buffer-live-p BUFFER
+ - Function: buffer-live-p buffer
This function returns `nil' if BUFFER is deleted, and `t'
otherwise.
- - Command: kill-buffer BUFFER-OR-NAME
+ - Command: kill-buffer buffer-or-name
This function kills the buffer BUFFER-OR-NAME, freeing all its
memory for use as space for other buffers. (Emacs version 18 and
older was unable to return the memory to the operating system.)
Killing an indirect buffer has no effect on its base buffer. Killing
the base buffer kills all its indirect children.
- - Command: make-indirect-buffer BASE-BUFFER NAME
+ - Command: make-indirect-buffer base-buffer name
This creates an indirect buffer named NAME whose base buffer is
BASE-BUFFER. The argument BASE-BUFFER may be a buffer or a string.
(make-indirect-buffer "*scratch*" "indirect")
=> #<buffer "indirect">
- - Function: buffer-base-buffer &optional BUFFER
+ - Function: buffer-base-buffer &optional buffer
This function returns the base buffer of BUFFER. If BUFFER is not
indirect, the value is `nil'. Otherwise, the value is another
buffer, which is never an indirect buffer. If BUFFER is not
(buffer-base-buffer (get-buffer "indirect"))
=> #<buffer "*scratch*">
- - Function: buffer-indirect-children &optional BUFFER
+ - Function: buffer-indirect-children &optional buffer
This function returns a list of all indirect buffers whose base
buffer is BUFFER. If BUFFER is indirect, the return value will
always be nil; see `make-indirect-buffer'. If BUFFER is not
For practical purposes, a window exists only while it is displayed in
a frame. Once removed from the frame, the window is effectively deleted
-and should not be used, *even though there may still be references to
-it* from other Lisp objects. Restoring a saved window configuration is
+and should not be used, _even though there may still be references to
+it_ from other Lisp objects. Restoring a saved window configuration is
the only way for a window no longer on the screen to come back to life.
(*Note Deleting Windows::.)
*Note Display::, for information on how the contents of the window's
buffer are displayed in the window.
- - Function: windowp OBJECT
+ - Function: windowp object
This function returns `t' if OBJECT is a window.
\1f
The functions described here are the primitives used to split a
window into two windows. Two higher level functions sometimes split a
window, but not always: `pop-to-buffer' and `display-buffer' (*note
-Displaying Buffers::.).
+Displaying Buffers::).
The functions described here do not accept a buffer as an argument.
The two "halves" of the split window initially display the same buffer
previously visible in the window that was split.
- - Function: one-window-p &optional NO-MINI ALL-FRAMES
+ - Function: one-window-p &optional no-mini all-frames
This function returns non-`nil' if there is only one window. The
argument NO-MINI, if non-`nil', means don't count the minibuffer
even if it is active; otherwise, the minibuffer window is
WINDOW's frame are counted, excluding the minibuffer in use
if it lies in some other frame.
- - Command: split-window &optional WINDOW SIZE HORIZONTAL
+ - Command: split-window &optional window size horizontal
This function splits WINDOW into two windows. The original window
WINDOW remains the selected window, but occupies only part of its
former screen area. The rest is occupied by a newly created
=> #<window 8 on windows.texi>
(window-edges) ; Edges in order:
=> (0 0 80 50) ; left-top-right-bottom
-
+
;; Returns window created
(setq w2 (split-window w 15))
=> #<window 28 on windows.texi>
-
(window-edges w2)
=> (0 15 80 50) ; Bottom window;
; top is line 15
-
(window-edges w)
=> (0 0 80 15) ; Top window
The frame looks like this:
- __________
+ __________
| | line 0
| w |
|__________|
(setq w3 (split-window w 35 t))
=> #<window 32 on windows.texi>
-
(window-edges w3)
=> (35 0 80 15) ; Left edge at column 35
-
(window-edges w)
=> (0 0 35 15) ; Right edge at column 35
-
(window-edges w2)
=> (0 15 80 50) ; Bottom window unchanged
Now, the screen looks like this:
- column 35
+ column 35
__________
| | | line 0
| w | w3 |
or `|' characters. The display table can specify alternative
border characters; see *Note Display Tables::.
- - Command: split-window-vertically &optional SIZE
+ - Command: split-window-vertically &optional size
This function splits the selected window into two windows, one
above the other, leaving the selected window with SIZE lines.
(interactive "P")
(split-window nil (and arg (prefix-numeric-value arg))))
- - Command: split-window-horizontally &optional SIZE
+ - Command: split-window-horizontally &optional size
This function splits the selected window into two windows
side-by-side, leaving the selected window with SIZE columns.
(interactive "P")
(split-window nil (and arg (prefix-numeric-value arg)) t))
- - Function: one-window-p &optional NO-MINI ALL-FRAMES
+ - Function: one-window-p &optional no-mini all-frames
This function returns non-`nil' if there is only one window. The
argument NO-MINI, if non-`nil', means don't count the minibuffer
even if it is active; otherwise, the minibuffer window is
appear on the screen, but continues to exist as a Lisp object until
there are no references to it. There is no way to cancel the deletion
of a window aside from restoring a saved window configuration (*note
-Window Configurations::.). Restoring a window configuration also
+Window Configurations::). Restoring a window configuration also
deletes any windows that aren't part of that configuration.
When you delete a window, the space it took up is given to one
adjacent sibling. (In Emacs version 18, the space was divided evenly
among all the siblings.)
- - Function: window-live-p WINDOW
+ - Function: window-live-p window
This function returns `nil' if WINDOW is deleted, and `t'
otherwise.
*Warning:* Erroneous information or fatal errors may result from
using a deleted window as if it were live.
- - Command: delete-window &optional WINDOW
+ - Command: delete-window &optional window
This function removes WINDOW from the display. If WINDOW is
omitted, then the selected window is deleted. An error is signaled
if there is only one window when `delete-window' is called.
When `delete-window' is called interactively, WINDOW defaults to
the selected window.
- - Command: delete-other-windows &optional WINDOW
+ - Command: delete-other-windows &optional window
This function makes WINDOW the only window on its frame, by
deleting the other windows in that frame. If WINDOW is omitted or
`nil', then the selected window is used by default.
The result is `nil'.
- - Command: delete-windows-on BUFFER &optional FRAME
+ - Command: delete-windows-on buffer &optional frame
This function deletes all windows showing BUFFER. If there are no
windows showing BUFFER, it does nothing.
When a window is selected, the buffer in the window becomes the
current buffer, and the cursor will appear in it.
- - Function: selected-window &optional DEVICE
+ - Function: selected-window &optional device
This function returns the selected window. This is the window in
which the cursor appears and to which many commands apply. Each
separate device can have its own selected window, which is
argument DEVICE specifies which device to return the selected
window for, and defaults to the selected device.
- - Function: select-window WINDOW &optional NORECORD
+ - Function: select-window window &optional norecord
This function makes WINDOW the selected window. The cursor then
appears in WINDOW (on redisplay). The buffer being displayed in
WINDOW is immediately designated the current buffer.
(select-window w)
=> #<window 65 on windows.texi>
- - Macro: save-selected-window FORMS...
+ - Macro: save-selected-window forms...
This macro records the selected window, executes FORMS in
sequence, then restores the earlier selected window. It does not
save or restore anything about the sizes, arrangement or contents
The following functions choose one of the windows on the screen,
offering various criteria for the choice.
- - Function: get-lru-window &optional FRAME
+ - Function: get-lru-window &optional frame
This function returns the window least recently "used" (that is,
selected). The selected window is always the most recently used
window.
* If it is a frame, consider windows on that frame.
- - Function: get-largest-window &optional FRAME
+ - Function: get-largest-window &optional frame
This function returns the window with the largest area (height
times width). If there are no side-by-side windows, then this is
the window with the most lines. A minibuffer window is never a
In general, within each set of siblings at any level in the window tree,
the order is left to right, or top to bottom.
- - Function: next-window &optional WINDOW MINIBUF ALL-FRAMES
+ - Function: next-window &optional window minibuf all-frames
This function returns the window following WINDOW in the cyclic
ordering of windows. This is the window that `C-x o' would select
if typed when WINDOW is selected. If WINDOW is the only window
(next-window (next-window (selected-window)))
=> #<window 56 on windows.texi>
- - Function: previous-window &optional WINDOW MINIBUF ALL-FRAMES
+ - Function: previous-window &optional window minibuf all-frames
This function returns the window preceding WINDOW in the cyclic
ordering of windows. The other arguments specify which windows to
include in the cycle, as in `next-window'.
- - Command: other-window COUNT &optional FRAME
+ - Command: other-window count &optional frame
This function selects the COUNTth following window in the cyclic
order. If count is negative, then it selects the -COUNTth
preceding window. It returns `nil'.
* If it is any other value, then the behavior is undefined.
- - Function: walk-windows PROC &optional MINIBUF ALL-FRAMES
+ - Function: walk-windows proc &optional minibuf all-frames
This function cycles through all windows, calling `proc' once for
each window with the window as its sole argument.
to use than these, but they employ heuristics in choosing or creating a
window; use these functions when you need complete control.
- - Function: set-window-buffer WINDOW BUFFER-OR-NAME
+ - Function: set-window-buffer window buffer-or-name
This function makes WINDOW display BUFFER-OR-NAME as its contents.
It returns `nil'.
(set-window-buffer (selected-window) "foo")
=> nil
- - Function: window-buffer &optional WINDOW
+ - Function: window-buffer &optional window
This function returns the buffer that WINDOW is displaying. If
WINDOW is omitted, this function returns the buffer for the
selected window.
(window-buffer)
=> #<buffer windows.texi>
- - Function: get-buffer-window BUFFER-OR-NAME &optional FRAME
+ - Function: get-buffer-window buffer-or-name &optional frame
This function returns a window currently displaying
BUFFER-OR-NAME, or `nil' if there is none. If there are several
such windows, then the function returns the first one in the
current so that a Lisp program can access or modify it; they are too
drastic for that purpose, since they change the display of buffers in
windows, which is gratuitous and will surprise the user. Instead, use
-`set-buffer' (*note Current Buffer::.) and `save-excursion' (*note
-Excursions::.), which designate buffers as current for programmed
-access without affecting the display of buffers in windows.
+`set-buffer' (*note Current Buffer::) and `save-excursion' (*note
+Excursions::), which designate buffers as current for programmed access
+without affecting the display of buffers in windows.
- - Command: switch-to-buffer BUFFER-OR-NAME &optional NORECORD
+ - Command: switch-to-buffer buffer-or-name &optional norecord
This function makes BUFFER-OR-NAME the current buffer, and also
displays the buffer in the selected window. This means that a
human can see the buffer and subsequent keyboard commands will
the binding of `C-x b'. It is also used frequently in programs.
It always returns `nil'.
- - Command: switch-to-buffer-other-window BUFFER-OR-NAME
+ - Command: switch-to-buffer-other-window buffer-or-name
This function makes BUFFER-OR-NAME the current buffer and displays
it in a window not currently selected. It then selects that
window. The handling of the buffer is the same as in
already displaying the buffer, then it continues to do so, but
another window is nonetheless found to display it in as well.
- - Function: pop-to-buffer BUFFER-OR-NAME &optional OTHER-WINDOW
- ON-FRAME
+ - Function: pop-to-buffer buffer-or-name &optional other-window
+ on-frame
This function makes BUFFER-OR-NAME the current buffer and switches
to it in some window, preferably not the window previously
selected. The "popped-to" window becomes the selected window
An example use of this function is found at the end of *Note
Filter Functions::.
- - Command: replace-buffer-in-windows BUFFER
+ - Command: replace-buffer-in-windows buffer
This function replaces BUFFER with some other buffer in all
windows displaying it. The other buffer used is chosen with
`other-buffer'. In the usual applications of this function, you
and commands use this subroutine. Here we describe how to use
`display-buffer' and how to customize it.
- - Command: display-buffer BUFFER-OR-NAME &optional NOT-THIS-WINDOW
+ - Command: display-buffer buffer-or-name &optional not-this-window
This command makes BUFFER-OR-NAME appear in some window, like
`pop-to-buffer', but it does not select that window and does not
make the buffer current. The identity of the selected window is
XEmacs will not automatically change which buffer appears in the
window, such as `display-buffer' might normally do.
- - Function: window-dedicated-p WINDOW
+ - Function: window-dedicated-p window
This function returns WINDOW's dedicated object, usually `t' or
`nil'.
- - Function: set-window-buffer-dedicated WINDOW BUFFER
+ - Function: set-window-buffer-dedicated window buffer
This function makes WINDOW display BUFFER and be dedicated to that
buffer. Then XEmacs will not automatically change which buffer
appears in WINDOW. If BUFFER is `nil', this function makes WINDOW
The default value of this variable is
`special-display-popup-frame'.
- - Function: special-display-popup-frame BUFFER
+ - Function: special-display-popup-frame buffer
This function makes BUFFER visible in a frame of its own. If
BUFFER is already displayed in a window in some frame, it makes
the frame visible and raises it, to use that window. Otherwise, it
A window can be marked as "dedicated" to its buffer. Then
`display-buffer' does not try to use that window.
- - Function: window-dedicated-p WINDOW
+ - Function: window-dedicated-p window
This function returns `t' if WINDOW is marked as dedicated;
otherwise `nil'.
- - Function: set-window-dedicated-p WINDOW FLAG
+ - Function: set-window-dedicated-p window flag
This function marks WINDOW as dedicated if FLAG is non-`nil', and
nondedicated otherwise.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
when the user switches to another buffer, the cursor jumps to the
position of point in that buffer.
- - Function: window-point WINDOW
+ - Function: window-point window
This function returns the current position of point in WINDOW.
For a nonselected window, this is the value point would have (in
that window's buffer) if that window were selected.
"top-level" value of point, outside of any `save-excursion' forms.
But that value is hard to find.
- - Function: set-window-point WINDOW POSITION
+ - Function: set-window-point window position
This function positions point in WINDOW at position POSITION in
WINDOW's buffer.
the upper left corner of the window. It is usually, but not
inevitably, at the beginning of a text line.
- - Function: window-start &optional WINDOW
+ - Function: window-start &optional window
This function returns the display-start position of window WINDOW.
If WINDOW is `nil', the selected window is used. For example,
For a realistic example, see the description of `count-lines' in
*Note Text Lines::.
- - Function: window-end &optional WINDOW
+ - Function: window-end &optional window
This function returns the position of the end of the display in
window WINDOW. If WINDOW is `nil', the selected window is used.
correct. In a future version, `window-end' will return `nil' in
that case.
- - Function: set-window-start WINDOW POSITION &optional NOFORCE
+ - Function: set-window-start window position &optional noforce
This function sets the display-start position of WINDOW to
POSITION in WINDOW's buffer. It returns POSITION.
at the next redisplay, then redisplay computes a new window-start
position that works well with point, and thus POSITION is not used.
- - Function: pos-visible-in-window-p &optional POSITION WINDOW
+ - Function: pos-visible-in-window-p &optional position window
This function returns `t' if POSITION is within the range of text
currently visible on the screen in WINDOW. It returns `nil' if
POSITION is scrolled vertically out of view. The argument
unpredictable results if the current buffer is different from the buffer
that is displayed in the selected window. *Note Current Buffer::.
- - Command: scroll-up &optional COUNT
+ - Command: scroll-up &optional count
This function scrolls the text in the selected window upward COUNT
lines. If COUNT is negative, scrolling is actually downward.
`scroll-up' returns `nil'.
- - Command: scroll-down &optional COUNT
+ - Command: scroll-down &optional count
This function scrolls the text in the selected window downward
COUNT lines. If COUNT is negative, scrolling is actually upward.
`scroll-down' returns `nil'.
- - Command: scroll-other-window &optional COUNT
+ - Command: scroll-other-window &optional count
This function scrolls the text in another window upward COUNT
lines. Negative values of COUNT, or `nil', are handled as in
`scroll-up'.
bottom of the window appear instead at the top. The default value
is `2'.
- - Command: recenter &optional COUNT
+ - Command: recenter &optional count
This function scrolls the selected window to put the text where
point is located at a specified vertical position within the
window.
to how far left you can scroll, but eventually all the text will
disappear off the left edge.
- - Command: scroll-left COUNT
+ - Command: scroll-left count
This function scrolls the selected window COUNT columns to the
left (or to the right if COUNT is negative). The return value is
the total amount of leftward horizontal scrolling in effect after
the change--just like the value returned by `window-hscroll'
(below).
- - Command: scroll-right COUNT
+ - Command: scroll-right count
This function scrolls the selected window COUNT columns to the
right (or to the left if COUNT is negative). The return value is
the total amount of leftward horizontal scrolling in effect after
normal position where the total leftward scrolling is zero,
attempts to scroll any farther right have no effect.
- - Function: window-hscroll &optional WINDOW
+ - Function: window-hscroll &optional window
This function returns the total leftward horizontal scrolling of
WINDOW--the number of columns by which the text in WINDOW is
scrolled left past the left margin.
(window-hscroll)
=> 5
- - Function: set-window-hscroll WINDOW COLUMNS
+ - Function: set-window-hscroll window columns
This function sets the number of columns from the left margin that
WINDOW is scrolled to the value of COLUMNS. The argument COLUMNS
should be zero or positive; if not, it is taken as zero.
The following functions return size information about a window:
- - Function: window-height &optional WINDOW
+ - Function: window-height &optional window
This function returns the number of lines in WINDOW, including its
modeline but not including the horizontal scrollbar, if any (this
is different from `window-pixel-height'). If WINDOW is `nil', the
(window-height)
=> 20
- - Function: window-width &optional WINDOW
+ - Function: window-width &optional window
This function returns the number of columns in WINDOW, not
including any left margin, right margin, or vertical scrollbar
(this is different from `window-pixel-width'). If WINDOW is
not for full-frame windows. You can change this using the variables
`truncate-lines' and `truncate-partial-width-windows'.)
- - Function: window-pixel-height &optional WINDOW
+ - Function: window-pixel-height &optional window
This function returns the height of WINDOW in pixels, including
its modeline and horizontal scrollbar, if any. If WINDOW is
`nil', the function uses the selected window.
(window-pixel-height)
=> 300
- - Function: window-pixel-width &optional WINDOW
+ - Function: window-pixel-width &optional window
This function returns the width of WINDOW in pixels, including any
left margin, right margin, or vertical scrollbar that may be
displayed alongside it. If WINDOW is `nil', the function uses the
(window-pixel-height)
=> 600
- - Function: window-text-area-pixel-height &optional WINDOW
+ - Function: window-text-area-pixel-height &optional window
This function returns the height in pixels of the text displaying
portion of WINDOW, which defaults to the selected window. Unlike
`window-pixel-height', the space occupied by the modeline and
horizontal scrollbar, if any, is not counted.
- - Function: window-text-area-pixel-width &optional WINDOW
+ - Function: window-text-area-pixel-width &optional window
This function returns the width in pixels of the text displaying
portion of WINDOW, which defaults to the selected window. Unlike
`window-pixel-width', the space occupied by the vertical scrollbar
and divider, if any, is not counted.
- - Function: window-displayed-text-pixel-height &optional WINDOW
- NOCLIPPED
+ - Function: window-displayed-text-pixel-height &optional window
+ noclipped
This function returns the height in pixels of the text displayed in
WINDOW, which defaults to the selected window. Unlike
`window-text-area-pixel-height', any blank space below the end of
windows within a frame, and the relative location of a window in
comparison to other windows in the same frame.
- - Function: window-pixel-edges &optional WINDOW
+ - Function: window-pixel-edges &optional window
This function returns a list of the pixel edge coordinates of
WINDOW. If WINDOW is `nil', the selected window is used.
make sense in a world with variable-width and variable-height lines, as
are allowed in XEmacs.
- - Function: window-highest-p WINDOW
+ - Function: window-highest-p window
This function returns non-`nil' if WINDOW is along the top of its
frame.
- - Function: window-lowest-p WINDOW
+ - Function: window-lowest-p window
This function returns non-`nil' if WINDOW is along the bottom of
its frame.
- - Function: window-text-area-pixel-edges &optional WINDOW
+ - Function: window-text-area-pixel-edges &optional window
This function allows one to determine the location of the
text-displaying portion of WINDOW, which defaults to the selected
window, with respect to the top left corner of the window. It
window size. XEmacs does not permit overlapping windows or gaps between
windows, so resizing one window affects other windows.
- - Command: enlarge-window SIZE &optional HORIZONTAL WINDOW
+ - Command: enlarge-window size &optional horizontal window
This function makes the selected window SIZE lines taller,
stealing lines from neighboring windows. It takes the lines from
one window at a time until that window is used up, then takes from
`enlarge-window' returns `nil'.
- - Command: enlarge-window-horizontally COLUMNS
+ - Command: enlarge-window-horizontally columns
This function makes the selected window COLUMNS wider. It could
be defined as follows:
(defun enlarge-window-horizontally (columns)
(enlarge-window columns t))
- - Command: enlarge-window-pixels COUNT &optional SIDE WINDOW
+ - Command: enlarge-window-pixels count &optional side window
This function makes the selected window COUNT pixels larger. When
called from Lisp, optional second argument SIDE non-`nil' means to
grow sideways COUNT pixels, and optional third argument WINDOW
specifies the window to change instead of the selected window.
- - Command: shrink-window SIZE &optional HORIZONTAL WINDOW
+ - Command: shrink-window size &optional horizontal window
This function is like `enlarge-window' but negates the argument
SIZE, making the selected window smaller by giving lines (or
columns) to the other windows. If the window shrinks below
If WINDOW is non-`nil', it specifies a window to change instead of
the selected window.
- - Command: shrink-window-horizontally COLUMNS
+ - Command: shrink-window-horizontally columns
This function makes the selected window COLUMNS narrower. It
could be defined as follows:
(defun shrink-window-horizontally (columns)
(shrink-window columns t))
- - Command: shrink-window-pixels COUNT &optional SIDE WINDOW
+ - Command: shrink-window-pixels count &optional side window
This function makes the selected window COUNT pixels smaller.
When called from Lisp, optional second argument SIDE non-`nil'
means to shrink sideways COUNT pixels, and optional third argument
the positions of point and the mark. An exception is made for
point in the current buffer, whose value is not saved.
- - Function: set-window-configuration CONFIGURATION
+ - Function: set-window-configuration configuration
This function restores the configuration of XEmacs's windows and
buffers to the state specified by CONFIGURATION. The argument
CONFIGURATION must be a value that was previously returned by
...)
(set-window-configuration config)))
- - Special Form: save-window-excursion FORMS...
+ - Special Form: save-window-excursion forms...
This special form records the window configuration, executes FORMS
in sequence, then restores the earlier window configuration. The
window configuration includes the value of point and the portion
=> do-something
;; The frame is now split again.
- - Function: window-configuration-p OBJECT
+ - Function: window-configuration-p object
This function returns `t' if OBJECT is a window configuration.
Primitives to look inside of window configurations would make sense,
display multiple X window frames at the same time, each in its own X
window.
- - Function: framep OBJECT
+ - Function: framep object
This predicate returns `t' if OBJECT is a frame, and `nil'
otherwise.
To create a new frame, call the function `make-frame'.
- - Function: make-frame &optional PROPS DEVICE
+ - Function: make-frame &optional props device
This function creates a new frame on DEVICE, if DEVICE permits
creation of frames. (An X server does; an ordinary terminal does
not (yet).) DEVICE defaults to the selected device if omitted.
These functions let you read and change the properties of a frame.
- - Function: frame-properties &optional FRAME
+ - Function: frame-properties &optional frame
This function returns a plist listing all the properties of FRAME
and their values.
- - Function: frame-property FRAME PROPERTY &optional DEFAULT
+ - Function: frame-property frame property &optional default
This function returns FRAME's value for the property PROPERTY.
- - Function: set-frame-properties FRAME PLIST
+ - Function: set-frame-properties frame plist
This function alters the properties of frame FRAME based on the
elements of property list PLIST. If you don't mention a property
in PLIST, its value doesn't change.
- - Function: set-frame-property FRAME PROP VAL
+ - Function: set-frame-property frame prop val
This function sets the property PROP of frame FRAME to the value
VAL.
then POS is positive!
`icon-left'
- The screen position of the left edge *of the frame's icon*, in
+ The screen position of the left edge _of the frame's icon_, in
pixels, counting from the left edge of the screen. This takes
effect if and when the frame is iconified.
`icon-top'
- The screen position of the top edge *of the frame's icon*, in
+ The screen position of the top edge _of the frame's icon_, in
pixels, counting from the top edge of the screen. This takes
effect if and when the frame is iconified.
Here are some special features for working with sizes and positions:
- - Function: set-frame-position FRAME LEFT TOP
+ - Function: set-frame-position frame left top
This function sets the position of the top left corner of FRAME to
LEFT and TOP. These arguments are measured in pixels, and count
from the top left corner of the screen. Negative property values
count up or rightward from the top left corner of the screen.
- - Function: frame-height &optional FRAME
- - Function: frame-width &optional FRAME
+ - Function: frame-height &optional frame
+ - Function: frame-width &optional frame
These functions return the height and width of FRAME, measured in
lines and columns. If you don't supply FRAME, they use the
selected frame.
- - Function: frame-pixel-height &optional FRAME
- - Function: frame-pixel-width &optional FRAME
+ - Function: frame-pixel-height &optional frame
+ - Function: frame-pixel-width &optional frame
These functions return the height and width of FRAME, measured in
pixels. If you don't supply FRAME, they use the selected frame.
- - Function: set-frame-size FRAME COLS ROWS &optional PRETEND
+ - Function: set-frame-size frame cols rows &optional pretend
This function sets the size of FRAME, measured in characters; COLS
and ROWS specify the new width and height. (If PRETEND is
non-nil, it means that redisplay should act as if the frame's size
not normally change over the lifetime of a frame. It is perfectly
allowable, and quite common, for multiple frames to have the same name.
- - Function: frame-name &optional FRAME
+ - Function: frame-name &optional frame
This function returns the name of FRAME, which defaults to the
selected frame if not specified. The name of a frame can also be
obtained from the frame's properties. *Note Frame Properties::.
frame, when you have not explicitly specified the frame title.
This title appears in the icon itself.
- - Function: x-set-frame-icon-pixmap FRAME PIXMAP &optional MASK
+ - Function: x-set-frame-icon-pixmap frame pixmap &optional mask
This function sets the icon of the given frame to the given image
instance, which should be an image instance object (as returned by
`make-image-instance'), a glyph object (as returned by
them. A deleted frame cannot appear on the screen, but continues to
exist as a Lisp object until there are no references to it.
- - Command: delete-frame &optional FRAME
+ - Command: delete-frame &optional frame
This function deletes the frame FRAME. By default, FRAME is the
selected frame.
- - Function: frame-live-p FRAME
+ - Function: frame-live-p frame
The function `frame-live-p' returns non-`nil' if the frame FRAME
has not been deleted.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
buffers. The list that you get is newly created, so modifying the
list doesn't have any effect on the internals of XEmacs.
- - Function: device-frame-list &optional DEVICE
+ - Function: device-frame-list &optional device
This function returns a list of all frames on DEVICE. If DEVICE
is `nil', the selected device will be used.
- - Function: visible-frame-list &optional DEVICE
+ - Function: visible-frame-list &optional device
This function returns a list of just the currently visible frames.
If DEVICE is specified only frames on that device will be returned.
*Note Visibility of Frames::. (TTY frames always count as
"visible", even though only the selected one is actually
displayed.)
- - Function: next-frame &optional FRAME MINIBUF
+ - Function: next-frame &optional frame minibuf
The function `next-frame' lets you cycle conveniently through all
the frames from an arbitrary starting point. It returns the "next"
frame after FRAME in the cycle. If FRAME is omitted or `nil', it
anything else
Consider all frames.
- - Function: previous-frame &optional FRAME MINIBUF
+ - Function: previous-frame &optional frame minibuf
Like `next-frame', but cycles through all frames in the opposite
direction.
Each window is part of one and only one frame; you can get the frame
with `window-frame'.
- - Function: frame-root-window &optional FRAME
+ - Function: frame-root-window &optional frame
This returns the root window of frame FRAME. FRAME defaults to
the selected frame if not specified.
- - Function: window-frame &optional WINDOW
+ - Function: window-frame &optional window
This function returns the frame that WINDOW is on. WINDOW
defaults to the selected window if omitted.
the lower right corner (always the minibuffer window, if the frame has
one), and then it moves back to the top.
- - Function: frame-top-window FRAME
+ - Function: frame-top-window frame
This returns the topmost, leftmost window of frame FRAME.
At any time, exactly one window on any frame is "selected within the
frame also selects this window. You can get the frame's current
selected window with `frame-selected-window'.
- - Function: frame-selected-window &optional FRAME
+ - Function: frame-selected-window &optional frame
This function returns the window on FRAME that is selected within
FRAME. FRAME defaults to the selected frame if not specified.
Normally, each frame has its own minibuffer window at the bottom,
which is used whenever that frame is selected. If the frame has a
minibuffer, you can get it with `minibuffer-window' (*note Minibuffer
-Misc::.).
+Misc::).
However, you can also create a frame with no minibuffer. Such a
frame must use the minibuffer window of some other frame. When you
moves from device to device, the selected frame on each device is
remembered and restored when the focus moves back to that device.
- - Function: selected-frame &optional DEVICE
+ - Function: selected-frame &optional device
This function returns the selected frame on DEVICE. If DEVICE is
not specified, the selected device will be used. If no frames
exist on the device, `nil' is returned.
Only the selected terminal frame is actually displayed on the terminal.
Each terminal screen except for the initial one has a number, and the
number of the selected frame appears in the mode line after the word
-`XEmacs' (*note Modeline Variables::.).
+`XEmacs' (*note Modeline Variables::).
- - Function: select-frame FRAME
+ - Function: select-frame frame
This function selects frame FRAME, temporarily disregarding the
focus of the X server if any. The selection of FRAME lasts until
the next time the user does something to select a different frame,
`set-buffer'. In order to effect a permanent focus change use
`focus-frame'.
- - Function: focus-frame FRAME
+ - Function: focus-frame frame
This function selects FRAME and gives it the window system focus.
The operation of `focus-frame' is not affected by the value of
`focus-follows-mouse'.
- - Macro: save-selected-frame FORMS...
+ - Macro: save-selected-frame forms...
This macro records the selected frame, executes FORMS in sequence,
then restores the earlier selected frame. The value returned is
the value of the last form.
- - Macro: with-selected-frame FRAME FORMS...
+ - Macro: with-selected-frame frame forms...
This macro records the selected frame, then selects FRAME and
executes FORMS in sequence. After the last form is finished, the
earlier selected frame is restored. The value returned is the
Visibility is meaningless for TTY frames, since only the selected
one is actually displayed in any case.
- - Command: make-frame-visible &optional FRAME
+ - Command: make-frame-visible &optional frame
This function makes frame FRAME visible. If you omit FRAME, it
makes the selected frame visible.
- - Command: make-frame-invisible &optional FRAME
+ - Command: make-frame-invisible &optional frame
This function makes frame FRAME invisible.
- - Command: iconify-frame &optional FRAME
+ - Command: iconify-frame &optional frame
This function iconifies frame FRAME.
- - Command: deiconify-frame &optional FRAME
+ - Command: deiconify-frame &optional frame
This function de-iconifies frame FRAME. Under X, this is
equivalent to `make-frame-visible'.
- - Function: frame-visible-p FRAME
+ - Function: frame-visible-p frame
This returns whether FRAME is currently "visible" (actually in use
for display). A frame that is not visible is not updated, and, if
it works through a window system, may not show at all.
- - Function: frame-iconified-p FRAME
+ - Function: frame-iconified-p frame
This returns whether FRAME is iconified. Not all window managers
use icons; some merely unmap the window, so this function is not
the inverse of `frame-visible-p'. It is possible for a frame to
functionality of this function is obtained through
`frame-visible-p'.)
- - Function: frame-totally-visible-p FRAME
+ - Function: frame-totally-visible-p frame
This returns whether FRAME is not obscured by any other X windows.
On TTY frames, this is the same as `frame-visible-p'.
You can raise and lower XEmacs's X windows with these functions:
- - Command: raise-frame &optional FRAME
+ - Command: raise-frame &optional frame
This function raises frame FRAME.
- - Command: lower-frame &optional FRAME
+ - Command: lower-frame &optional frame
This function lowers frame FRAME.
You can also specify auto-raise (raising automatically when a frame
Auto-raising and auto-lowering is implemented through functions
attached to `select-frame-hook' and `deselect-frame-hook' (*note Frame
-Hooks::.). Under normal circumstances, you should not call these
+Hooks::). Under normal circumstances, you should not call these
functions directly.
- Function: default-select-frame-hook
This function returns a frame configuration list that describes
the current arrangement of frames and their contents.
- - Function: set-frame-configuration CONFIGURATION
+ - Function: set-frame-configuration configuration
This function restores the state of frames described in
CONFIGURATION.
- Variable: select-frame-hook
This is a normal hook that is run just after a frame is selected.
The function `default-select-frame-hook', which implements
- auto-raising (*note Raising and Lowering::.), is normally attached
+ auto-raising (*note Raising and Lowering::), is normally attached
to this hook.
Note that calling `select-frame' does not necessarily set the
This is a normal hook that is run just before a frame is deselected
(and another frame is selected). The function
`default-deselect-frame-hook', which implements auto-lowering
- (*note Raising and Lowering::.), is normally attached to this hook.
+ (*note Raising and Lowering::), is normally attached to this hook.
- Variable: map-frame-hook
This hook is called each time a frame is mapped (i.e. made
specifying which device the function pertains to. If the argument is
omitted, it defaults to the selected device (see below).
- - Function: consolep OBJECT
+ - Function: consolep object
This returns non-`nil' if OBJECT is a console.
- - Function: devicep OBJECT
+ - Function: devicep object
This returns non-`nil' if OBJECT is a device.
* Menu:
- Function: console-list
This function returns a list of all existing consoles.
- - Function: console-device-list &optional CONSOLE
+ - Function: console-device-list &optional console
This function returns a list of all devices on CONSOLE. If
CONSOLE is `nil', the selected console will be used.
- Function: device-list
This function returns a list of all existing devices.
- - Function: device-or-frame-p OBJECT
+ - Function: device-or-frame-p object
This function returns non-`nil' if OBJECT is a device or frame.
This function is useful because devices and frames are similar in
many respects and many functions can operate on either one.
- - Function: device-frame-list DEVICE
+ - Function: device-frame-list device
This function returns a list of all frames on DEVICE.
- - Function: frame-device FRAME
+ - Function: frame-device frame
This function returns the device that FRAME is on.
\1f
`mono'
A device that can only display two colors (e.g. black and white).
- - Function: device-type DEVICE
+ - Function: device-type device
This function returns the type of DEVICE. This is a symbol whose
name is one of the device types mentioned above.
- - Function: device-or-frame-type DEVICE-OR-FRAME
+ - Function: device-or-frame-type device-or-frame
This function returns the type of DEVICE-OR-FRAME.
- - Function: device-class DEVICE
+ - Function: device-class device
This function returns the class (color behavior) of DEVICE. This
is a symbol whose name is one of the device classes mentioned
above.
- - Function: valid-device-type-p DEVICE-TYPE
+ - Function: valid-device-type-p device-type
This function returns whether DEVICE-TYPE (which should be a
symbol) species a valid device type.
- - Function: valid-device-class-p DEVICE-CLASS
+ - Function: valid-device-class-p device-class
This function returns whether DEVICE-CLASS (which should be a
symbol) species a valid device class.
Connecting to a Console or Device
=================================
- - Function: make-device &optional TYPE DEVICE-DATA
+ - Function: make-device &optional type device-data
This function creates a new device.
The following two functions create devices of specific types and are
written in terms of `make-device'.
- - Function: make-tty-device &optional TTY TERMINAL-TYPE
+ - Function: make-tty-device &optional tty terminal-type
This function creates a new tty device on TTY. This also creates
the tty's first frame. TTY should be a string giving the name of
a tty device file (e.g. `/dev/ttyp3' under SunOS et al.), as
If it is `nil', the terminal type will be inferred from the
`TERM' environment variable.
- - Function: make-x-device &optional DISPLAY ARGV-LIST
+ - Function: make-x-device &optional display argv-list
This function creates a new device connected to DISPLAY. Optional
argument ARGV-LIST is a list of strings describing command line
options.
- - Function: delete-device DEVICE
+ - Function: delete-device device
This function deletes DEVICE, permanently eliminating it from use.
This disconnects XEmacs's connection to the device.
This variable, if non-`nil', should contain a list of functions,
which are called when a device is deleted.
- - Function: console-live-p OBJECT
+ - Function: console-live-p object
This function returns non-`nil' if OBJECT is a console that has
not been deleted.
- - Function: device-live-p OBJECT
+ - Function: device-live-p object
This function returns non-`nil' if OBJECT is a device that has not
been deleted.
- - Function: device-x-display DEVICE
+ - Function: device-x-display device
This function returns the X display which DEVICE is connected to,
if DEVICE is an X device.
The Selected Console and Device
===============================
- - Function: select-console CONSOLE
+ - Function: select-console console
This function selects the console CONSOLE. Subsequent editing
commands apply to its selected device, selected frame, and selected
window. The selection of CONSOLE lasts until the next time the
- Function: selected-console
This function returns the console which is currently active.
- - Function: select-device DEVICE
+ - Function: select-device device
This function selects the device DEVICE.
- - Function: selected-device &optional CONSOLE
+ - Function: selected-device &optional console
This function returns the device which is currently active. If
optional CONSOLE is non-`nil', this function returns the device
that would be currently active if CONSOLE were the selected
Console and Device I/O
======================
- - Function: console-disable-input CONSOLE
+ - Function: console-disable-input console
This function disables input on console CONSOLE.
- - Function: console-enable-input CONSOLE
+ - Function: console-enable-input console
This function enables input on console CONSOLE.
Each device has a "baud rate" value associated with it. On most
systems, changing this value will affect the amount of padding and
other strategic decisions made during redisplay.
- - Function: device-baud-rate &optional DEVICE
+ - Function: device-baud-rate &optional device
This function returns the output baud rate of DEVICE.
- - Function: set-device-baud-rate DEVICE RATE
+ - Function: set-device-baud-rate device rate
This function sets the output baud rate of DEVICE to RATE.
\1f
the character on which the cursor sits.
The value of point is a number between 1 and the buffer size plus 1.
-If narrowing is in effect (*note Narrowing::.), then point is
-constrained to fall within the accessible portion of the buffer
-(possibly at one end of it).
+If narrowing is in effect (*note Narrowing::), then point is constrained
+to fall within the accessible portion of the buffer (possibly at one end
+of it).
Each buffer has its own value of point, which is independent of the
value of point in other buffers. Each window also has a value of point,
so the distinction is rarely important. *Note Window Point::, for more
details.
- - Function: point &optional BUFFER
+ - Function: point &optional buffer
This function returns the value of point in BUFFER, as an integer.
BUFFER defaults to the current buffer if omitted.
(point)
=> 175
- - Function: point-min &optional BUFFER
+ - Function: point-min &optional buffer
This function returns the minimum accessible value of point in
BUFFER. This is normally 1, but if narrowing is in effect, it is
the position of the start of the region that you narrowed to.
(*Note Narrowing::.) BUFFER defaults to the current buffer if
omitted.
- - Function: point-max &optional BUFFER
+ - Function: point-max &optional buffer
This function returns the maximum accessible value of point in
BUFFER. This is `(1+ (buffer-size buffer))', unless narrowing is
in effect, in which case it is the position of the end of the
- region that you narrowed to. (*note Narrowing::.). BUFFER
- defaults to the current buffer if omitted.
+ region that you narrowed to. (*note Narrowing::). BUFFER defaults
+ to the current buffer if omitted.
- - Function: buffer-end FLAG &optional BUFFER
+ - Function: buffer-end flag &optional buffer
This function returns `(point-min buffer)' if FLAG is less than 1,
`(point-max buffer)' otherwise. The argument FLAG must be a
number. BUFFER defaults to the current buffer if omitted.
- - Function: buffer-size &optional BUFFER
+ - Function: buffer-size &optional buffer
This function returns the total number of characters in BUFFER.
- In the absence of any narrowing (*note Narrowing::.), `point-max'
+ In the absence of any narrowing (*note Narrowing::), `point-max'
returns a value one larger than this. BUFFER defaults to the
current buffer if omitted.
These functions move point based on a count of characters.
`goto-char' is the fundamental primitive; the other functions use that.
- - Command: goto-char POSITION &optional BUFFER
+ - Command: goto-char position &optional buffer
This function sets point in `buffer' to the value POSITION. If
POSITION is less than 1, it moves point to the beginning of the
buffer. If POSITION is greater than the length of the buffer, it
`goto-char' returns POSITION.
- - Command: forward-char &optional COUNT BUFFER
+ - Command: forward-char &optional count buffer
This function moves point COUNT characters forward, towards the
end of the buffer (or backward, towards the beginning of the
buffer, if COUNT is negative). If the function attempts to move
In an interactive call, COUNT is the numeric prefix argument.
- - Command: backward-char &optional COUNT BUFFER
+ - Command: backward-char &optional count buffer
This function moves point COUNT characters backward, towards the
beginning of the buffer (or forward, towards the end of the
buffer, if COUNT is negative). If the function attempts to move
These functions for parsing words use the syntax table to decide
whether a given character is part of a word. *Note Syntax Tables::.
- - Command: forward-word COUNT &optional BUFFER
+ - Command: forward-word count &optional buffer
This function moves point forward COUNT words (or backward if
COUNT is negative). Normally it returns `t'. If this motion
encounters the beginning or end of the buffer, or the limits of the
In an interactive call, COUNT is set to the numeric prefix
argument.
- - Command: backward-word COUNT &optional BUFFER
+ - Command: backward-word count &optional buffer
This function is just like `forward-word', except that it moves
backward until encountering the front of a word, rather than
forward. BUFFER defaults to the current buffer if omitted.
documented here to warn you not to use them in Lisp programs, because
they set the mark and display messages in the echo area.
- - Command: beginning-of-buffer &optional N
+ - Command: beginning-of-buffer &optional n
This function moves point to the beginning of the buffer (or the
limits of the accessible portion, when narrowing is in effect),
setting the mark at the previous position. If N is non-`nil',
Don't use this function in Lisp programs!
- - Command: end-of-buffer &optional N
+ - Command: end-of-buffer &optional n
This function moves point to the end of the buffer (or the limits
of the accessible portion, when narrowing is in effect), setting
the mark at the previous position. If N is non-`nil', then it puts
the width of the window, by line continuation in display, or by how
tabs and control characters are displayed.
- - Command: goto-line LINE
+ - Command: goto-line line
This function moves point to the front of the LINEth line,
counting from line 1 at beginning of the buffer. If LINE is less
than 1, it moves point to the beginning of the buffer. If LINE is
greater than the number of lines in the buffer, it moves point to
- the end of the buffer--that is, the *end of the last line* of the
+ the end of the buffer--that is, the _end of the last line_ of the
buffer. This is the only case in which `goto-line' does not
necessarily move to the beginning of a line.
In an interactive call, LINE is the numeric prefix argument if one
has been provided. Otherwise LINE is read in the minibuffer.
- - Command: beginning-of-line &optional COUNT BUFFER
+ - Command: beginning-of-line &optional count buffer
This function moves point to the beginning of the current line.
With an argument COUNT not `nil' or 1, it moves forward COUNT-1
lines and then to the beginning of the line. BUFFER defaults to
accessible portion, if narrowing is in effect), it positions point
there. No error is signaled.
- - Command: end-of-line &optional COUNT BUFFER
+ - Command: end-of-line &optional count buffer
This function moves point to the end of the current line. With an
argument COUNT not `nil' or 1, it moves forward COUNT-1 lines and
then to the end of the line. BUFFER defaults to the current
accessible portion, if narrowing is in effect), it positions point
there. No error is signaled.
- - Command: forward-line &optional COUNT BUFFER
+ - Command: forward-line &optional count buffer
This function moves point forward COUNT lines, to the beginning of
the line. If COUNT is negative, it moves point -COUNT lines
backward, to the beginning of a line. If COUNT is zero, it moves
In an interactive call, COUNT is the numeric prefix argument.
- - Function: count-lines START END
+ - Function: count-lines start end
This function returns the number of lines between the positions
START and END in the current buffer. If START and END are equal,
then it returns 0. Otherwise it returns at least 1, even if START
use them heavily, Emacs provides caches which may improve the
performance of your code. *Note cache-long-line-scans: Text Lines.
- - Function: vertical-motion COUNT &optional WINDOW PIXELS
+ - Function: vertical-motion count &optional window pixels
This function moves point to the start of the frame line COUNT
frame lines down from the frame line containing point. If COUNT
is negative, it moves up instead. The optional second argument
WINDOW's point. (This differs from FSF Emacs, which buggily always
sets current buffer's point, regardless of WINDOW.)
- - Function: vertical-motion-pixels COUNT &optional WINDOW HOW
+ - Function: vertical-motion-pixels count &optional window how
This function moves point to the start of the frame line PIXELS
vertical pixels down from the frame line containing point, or up if
PIXELS is negative. The optional second argument WINDOW is the
least PIXELS. Any other value indicates that the motion should be
as close as possible to PIXELS.
- - Command: move-to-window-line COUNT &optional WINDOW
+ - Command: move-to-window-line count &optional window
This function moves point with respect to the text currently
displayed in WINDOW, which defaults to the selected window. It
moves point to the beginning of the screen line COUNT screen lines
sexps. For user-level commands, see *Note Lists and Sexps:
(emacs)Lists and Sexps.
- - Command: forward-list &optional ARG
+ - Command: forward-list &optional arg
This function moves forward across ARG balanced groups of
parentheses. (Other syntactic entities such as words or paired
string quotes are ignored.) ARG defaults to 1 if omitted. If ARG
is negative, move backward across that many groups of parentheses.
- - Command: backward-list &optional ARG
+ - Command: backward-list &optional arg
This function moves backward across ARG balanced groups of
parentheses. (Other syntactic entities such as words or paired
string quotes are ignored.) ARG defaults to 1 if omitted. If ARG
is negative, move forward across that many groups of parentheses.
- - Command: up-list ARG
+ - Command: up-list arg
This function moves forward out of ARG levels of parentheses. A
negative argument means move backward but still to a less deep
spot.
- - Command: down-list ARG
+ - Command: down-list arg
This function moves forward into ARG levels of parentheses. A
negative argument means move backward but still go deeper in
parentheses (-ARG levels).
- - Command: forward-sexp &optional ARG
+ - Command: forward-sexp &optional arg
This function moves forward across ARG balanced expressions.
Balanced expressions include both those delimited by parentheses
and other kinds, such as words and string constants. ARG defaults
(concat "foo " (car x) y-!- z)
---------- Buffer: foo ----------
- - Command: backward-sexp &optional ARG
+ - Command: backward-sexp &optional arg
This function moves backward across ARG balanced expressions. ARG
defaults to 1 if omitted. If ARG is negative, move forward across
that many balanced expressions.
- - Command: beginning-of-defun &optional ARG
+ - Command: beginning-of-defun &optional arg
This function moves back to the ARGth beginning of a defun. If
ARG is negative, this actually moves forward, but it still moves
to the beginning of a defun, not to the end of one. ARG defaults
to 1 if omitted.
- - Command: end-of-defun &optional ARG
+ - Command: end-of-defun &optional arg
This function moves forward to the ARGth end of a defun. If ARG
is negative, this actually moves backward, but it still moves to
the end of a defun, not to the beginning of one. ARG defaults to
characters. For example, they are often used to skip whitespace. For
related functions, see *Note Motion and Syntax::.
- - Function: skip-chars-forward CHARACTER-SET &optional LIMIT BUFFER
+ - Function: skip-chars-forward character-set &optional limit buffer
This function moves point in BUFFER forward, skipping over a given
set of characters. It examines the character following point,
then advances point if the character matches CHARACTER-SET. This
comes back" twice.
---------- Buffer: foo ----------
- - Function: skip-chars-backward CHARACTER-SET &optional LIMIT BUFFER
+ - Function: skip-chars-backward character-set &optional limit buffer
This function moves point backward, skipping characters that match
CHARACTER-SET, until LIMIT. It just like `skip-chars-forward'
except for the direction of motion.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
The forms for saving and restoring the configuration of windows are
described elsewhere (see *Note Window Configurations:: and *note Frame
-Configurations::.).
+Configurations::).
- - Special Form: save-excursion FORMS...
+ - Special Form: save-excursion forms...
The `save-excursion' special form saves the identity of the current
buffer and the values of point and the mark in it, evaluates
FORMS, and finally restores the buffer and its saved values of
point and the mark. All three saved values are restored even in
case of an abnormal exit via `throw' or error (*note Nonlocal
- Exits::.).
+ Exits::).
The `save-excursion' special form is the standard way to switch
buffers or move point within one part of a program and avoid
correspondences altered by functions such as `switch-to-buffer'.
One way to restore these correspondences, and the selected window,
is to use `save-window-excursion' inside `save-excursion' (*note
- Window Configurations::.).
+ Window Configurations::).
The value returned by `save-excursion' is the result of the last of
FORMS, or `nil' if no FORMS are given.
(goto-char old-pnt)
(set-marker (mark-marker) old-mark)))
- - Special Form: save-current-buffer FORMS...
+ - Special Form: save-current-buffer forms...
This special form is similar to `save-excursion' but it only saves
and restores the current buffer. Beginning with XEmacs 20.3,
`save-current-buffer' is a primitive.
- - Special Form: with-current-buffer BUFFER FORMS...
+ - Special Form: with-current-buffer buffer forms...
This special form evaluates FORMS with BUFFER as the current
buffer. It returns the value of the last form.
- - Special Form: with-temp-file FILE FORMS...
+ - Special Form: with-temp-file file forms...
This special form creates a new buffer, evaluates FORMS there, and
writes the buffer to FILE. It returns the value of the last form
evaluated.
- - Special Form: save-selected-window FORMS...
+ - Special Form: save-selected-window forms...
This special form is similar to `save-excursion' but it saves and
restores the selected window and nothing else.
The commands for saving buffers are unaffected by narrowing; they
save the entire buffer regardless of any narrowing.
- - Command: narrow-to-region START END &optional BUFFER
+ - Command: narrow-to-region start end &optional buffer
This function sets the accessible portion of BUFFER to start at
START and end at END. Both arguments should be character
positions. BUFFER defaults to the current buffer if omitted.
In an interactive call, START and END are set to the bounds of the
current region (point and the mark, with the smallest first).
- - Command: narrow-to-page &optional MOVE-COUNT
+ - Command: narrow-to-page &optional move-count
This function sets the accessible portion of the current buffer to
include just the current page. An optional first argument
MOVE-COUNT non-`nil' means to move forward or backward by
MOVE-COUNT pages and then narrow. The variable `page-delimiter'
- specifies where pages start and end (*note Standard Regexps::.).
+ specifies where pages start and end (*note Standard Regexps::).
In an interactive call, MOVE-COUNT is set to the numeric prefix
argument.
- - Command: widen &optional BUFFER
+ - Command: widen &optional buffer
This function cancels any narrowing in BUFFER, so that the entire
contents are accessible. This is called "widening". It is
equivalent to the following expression:
BUFFER defaults to the current buffer if omitted.
- - Special Form: save-restriction BODY...
+ - Special Form: save-restriction body...
This special form saves the current bounds of the accessible
portion, evaluates the BODY forms, and finally restores the saved
bounds, thus restoring the same state of narrowing (or absence
thereof) formerly in effect. The state of narrowing is restored
even in the event of an abnormal exit via `throw' or error (*note
- Nonlocal Exits::.). Therefore, this construct is a clean way to
+ Nonlocal Exits::). Therefore, this construct is a clean way to
narrow a buffer temporarily.
The value returned by `save-restriction' is that returned by the
restrictions it saved from), but it does not restore the identity
of the current buffer.
- `save-restriction' does *not* restore point and the mark; use
+ `save-restriction' does _not_ restore point and the mark; use
`save-excursion' for that. If you use both `save-restriction' and
`save-excursion' together, `save-excursion' should come first (on
the outside). Otherwise, the old point value would be restored
* Creating Markers:: Making empty markers or markers at certain places.
* Information from Markers:: Finding the marker's buffer or character position.
* Changing Markers:: Moving the marker to a new buffer or position.
-* The Mark:: How "the mark" is implemented with a marker.
-* The Region:: How to access "the region".
+* The Mark:: How ``the mark'' is implemented with a marker.
+* The Region:: How to access ``the region''.
\1f
File: lispref.info, Node: Overview of Markers, Next: Predicates on Markers, Up: Markers
the characters immediately before and after the deleted text. Inserting
text at the position of a marker normally leaves the marker in front of
the new text--unless it is inserted with `insert-before-markers' (*note
-Insertion::.).
+Insertion::).
Insertion and deletion in a buffer must check all the markers and
relocate them if necessary. This slows processing in a buffer with a
marker. The latter tests are useful in connection with the arithmetic
functions that work with any of markers, integers, or characters.
- - Function: markerp OBJECT
+ - Function: markerp object
This function returns `t' if OBJECT is a marker, `nil' otherwise.
Note that integers are not markers, even though many functions
will accept either a marker or an integer.
- - Function: integer-or-marker-p OBJECT
+ - Function: integer-or-marker-p object
This function returns `t' if OBJECT is an integer or a marker,
`nil' otherwise.
- - Function: integer-char-or-marker-p OBJECT
+ - Function: integer-char-or-marker-p object
This function returns `t' if OBJECT is an integer, a character, or
a marker, `nil' otherwise.
- - Function: number-or-marker-p OBJECT
+ - Function: number-or-marker-p object
This function returns `t' if OBJECT is a number (either kind) or a
marker, `nil' otherwise.
- - Function: number-char-or-marker-p OBJECT
+ - Function: number-char-or-marker-p object
This function returns `t' if OBJECT is a number (either kind), a
character, or a marker, `nil' otherwise.
(make-marker)
=> #<marker in no buffer>
- - Function: point-marker &optional DONT-COPY-P BUFFER
+ - Function: point-marker &optional dont-copy-p buffer
This function returns a marker that points to the present position
of point in BUFFER, which defaults to the current buffer. *Note
Point::. For an example, see `copy-marker', below.
modifying the position of this marker will move point. It is
illegal to change the buffer of it, or make it point nowhere.
- - Function: point-min-marker &optional BUFFER
+ - Function: point-min-marker &optional buffer
This function returns a new marker that points to the beginning of
the accessible portion of BUFFER, which defaults to the current
buffer. This will be the beginning of the buffer unless narrowing
is in effect. *Note Narrowing::.
- - Function: point-max-marker &optional BUFFER
+ - Function: point-max-marker &optional buffer
This function returns a new marker that points to the end of the
accessible portion of BUFFER, which defaults to the current
buffer. This will be the end of the buffer unless narrowing is in
(point-max-marker)
=> #<marker at 200 in markers.texi>
- - Function: copy-marker MARKER-OR-INTEGER
+ - Function: copy-marker marker-or-integer
If passed a marker as its argument, `copy-marker' returns a new
marker that points to the same place and the same buffer as does
MARKER-OR-INTEGER. If passed an integer as its argument,
This section describes the functions for accessing the components of
a marker object.
- - Function: marker-position MARKER
+ - Function: marker-position marker
This function returns the position that MARKER points to, or `nil'
if it points nowhere.
- - Function: marker-buffer MARKER
+ - Function: marker-buffer marker
This function returns the buffer that MARKER points into, or `nil'
if it points nowhere.
moving it--otherwise, confusing things may happen in other parts of
Emacs.
- - Function: set-marker MARKER POSITION &optional BUFFER
+ - Function: set-marker marker position &optional buffer
This function moves MARKER to POSITION in BUFFER. If BUFFER is
not provided, it defaults to the current buffer.
(set-marker m 0 b)
=> #<marker at 1 in foo>
- - Function: move-marker MARKER POSITION &optional BUFFER
+ - Function: move-marker marker position &optional buffer
This is another name for `set-marker'.
\1f
maximum number of entries in the mark ring; once the list becomes this
long, adding a new element deletes the last element.
- - Function: mark &optional FORCE BUFFER
+ - Function: mark &optional force buffer
This function returns BUFFER's mark position as an integer.
BUFFER defaults to the current buffer if omitted.
If you are using this in an editing command, you are most likely
making a mistake; see the documentation of `set-mark' below.
- - Function: mark-marker INACTIVE-P BUFFER
+ - Function: mark-marker inactive-p buffer
This function returns BUFFER's mark. BUFFER defaults to the
current buffer if omitted. This is the very marker that records
the mark location inside XEmacs, not a copy. Therefore, changing
other than the one of which it is the mark. If you do, it will
yield perfectly consistent, but rather odd, results.
- - Function: set-mark POSITION &optional BUFFER
+ - Function: set-mark position &optional buffer
This function sets `buffer''s mark to POSITION, and activates the
mark. BUFFER defaults to the current buffer if omitted. The old
- value of the mark is *not* pushed onto the mark ring.
+ value of the mark is _not_ pushed onto the mark ring.
*Please note:* Use this function only if you want the user to see
that the mark has moved, and you want the previous mark position to
(forward-line 1)
(delete-region beg (point))).
- - Command: exchange-point-and-mark &optional DONT-ACTIVATE-REGION
+ - Command: exchange-point-and-mark &optional dont-activate-region
This function exchanges the positions of point and the mark. It
is intended for interactive use. The mark is also activated
unless DONT-ACTIVATE-REGION is non-`nil'.
- - Function: push-mark &optional POSITION NOMSG ACTIVATE BUFFER
+ - Function: push-mark &optional position nomsg activate buffer
This function sets BUFFER's mark to POSITION, and pushes a copy of
the previous mark onto `mark-ring'. BUFFER defaults to the
current buffer if omitted. If POSITION is `nil', then the value
If the last global mark pushed was not in BUFFER, also push
POSITION on the global mark ring (see below).
- The function `push-mark' normally *does not* activate the mark.
+ The function `push-mark' normally _does not_ activate the mark.
To do that, specify `t' for the argument ACTIVATE.
A `Mark set' message is displayed unless NOMSG is non-`nil'.
specify the bounds explicitly as arguments and automatically respects
the user's setting for ZMACS-REGIONS. (*Note Interactive Codes::.)
- - Function: region-beginning &optional BUFFER
+ - Function: region-beginning &optional buffer
This function returns the position of the beginning of BUFFER's
region (as an integer). This is the position of either point or
the mark, whichever is smaller. BUFFER defaults to the current
If the mark does not point anywhere, an error is signaled. Note
that this function ignores whether the region is active.
- - Function: region-end &optional BUFFER
+ - Function: region-end &optional buffer
This function returns the position of the end of BUFFER's region
(as an integer). This is the position of either point or the mark,
whichever is larger. BUFFER defaults to the current buffer if
- Variable: zmacs-deactivate-region-hook
This normal hook is called when an active region becomes inactive.
(Calling `zmacs-deactivate-region' when the region is inactive will
- *not* cause this hook to be called.) If ZMACS-REGIONS is false,
+ _not_ cause this hook to be called.) If ZMACS-REGIONS is false,
this hook will never get called.
- Variable: zmacs-update-region-hook
buffer. Most examine, insert, or delete text in the current buffer,
often in the vicinity of point. Many are interactive. All the
functions that change the text provide for undoing the changes (*note
-Undo::.).
+Undo::).
Many text-related functions operate on a region of text defined by
two buffer positions passed in arguments named START and END. These
-arguments should be either markers (*note Markers::.) or numeric
-character positions (*note Positions::.). The order of these arguments
+arguments should be either markers (*note Markers::) or numeric
+character positions (*note Positions::). The order of these arguments
does not matter; it is all right for START to be the end of the region
and END the beginning. For example, `(delete-region 1 10)' and
`(delete-region 10 1)' are equivalent. An `args-out-of-range' error is
usually did not have these optional BUFFER arguments and always
operated on the current buffer.)
- - Function: char-after &optional POSITION BUFFER
+ - Function: char-after &optional position buffer
This function returns the character in the buffer at (i.e.,
immediately after) position POSITION. If POSITION is out of range
for this purpose, either before the beginning of the buffer, or at
(char-to-string (char-after 1))
=> "@"
- - Function: char-before &optional POSITION BUFFER
+ - Function: char-before &optional position buffer
This function returns the character in the current buffer
immediately before position POSITION. If POSITION is out of range
for this purpose, either at or before the beginning of the buffer,
POSITION is point. If optional argument BUFFER is `nil', the
current buffer is assumed.
- - Function: following-char &optional BUFFER
+ - Function: following-char &optional buffer
This function returns the character following point in the buffer.
This is similar to `(char-after (point))'. However, if point is at
the end of the buffer, then the result of `following-char' is 0.
(char-to-string (following-char))
=> "c"
- - Function: preceding-char &optional BUFFER
+ - Function: preceding-char &optional buffer
This function returns the character preceding point in the buffer.
See above, under `following-char', for an example. If point is at
the beginning of the buffer, `preceding-char' returns 0. If
optional argument BUFFER is `nil', the current buffer is assumed.
- - Function: bobp &optional BUFFER
+ - Function: bobp &optional buffer
This function returns `t' if point is at the beginning of the
buffer. If narrowing is in effect, this means the beginning of the
accessible portion of the text. If optional argument BUFFER is
`nil', the current buffer is assumed. See also `point-min' in
*Note Point::.
- - Function: eobp &optional BUFFER
+ - Function: eobp &optional buffer
This function returns `t' if point is at the end of the buffer.
If narrowing is in effect, this means the end of accessible
portion of the text. If optional argument BUFFER is `nil', the
current buffer is assumed. See also `point-max' in *Note Point::.
- - Function: bolp &optional BUFFER
+ - Function: bolp &optional buffer
This function returns `t' if point is at the beginning of a line.
If optional argument BUFFER is `nil', the current buffer is
assumed. *Note Text Lines::. The beginning of the buffer (or its
accessible portion) always counts as the beginning of a line.
- - Function: eolp &optional BUFFER
+ - Function: eolp &optional buffer
This function returns `t' if point is at the end of a line. The
end of the buffer is always considered the end of a line. If
optional argument BUFFER is `nil', the current buffer is assumed.
This section describes two functions that allow a Lisp program to
convert any portion of the text in the buffer into a string.
- - Function: buffer-substring START END &optional BUFFER
- - Function: buffer-string START END &optional BUFFER
+ - Function: buffer-substring start end &optional buffer
+ - Function: buffer-string start end &optional buffer
These functions are equivalent and return a string containing a
copy of the text of the region defined by positions START and END
in the buffer. If the arguments are not positions in the
This function lets you compare portions of the text in a buffer,
without copying them into strings first.
- - Function: compare-buffer-substrings BUFFER1 START1 END1 BUFFER2
- START2 END2
+ - Function: compare-buffer-substrings buffer1 start1 end1 buffer2
+ start2 end2
This function lets you compare two substrings of the same buffer
or two different buffers. The first three arguments specify one
substring, giving a buffer and two positions within the buffer.
Insertion relocates markers that point at positions after the
insertion point, so that they stay with the surrounding text (*note
-Markers::.). When a marker points at the place of insertion, insertion
+Markers::). When a marker points at the place of insertion, insertion
normally doesn't relocate the marker, so that it points to the
beginning of the inserted text; however, certain special functions such
as `insert-before-markers' relocate such markers to point after the
characters specified as separate arguments, not part of a string or
buffer, inherit their text properties from the neighboring text.
- - Function: insert &rest ARGS
+ - Function: insert &rest args
This function inserts the strings and/or characters ARGS into the
current buffer, at point, moving point forward. In other words, it
inserts the text before point. An error is signaled unless all
ARGS are either strings or characters. The value is `nil'.
- - Function: insert-before-markers &rest ARGS
+ - Function: insert-before-markers &rest args
This function inserts the strings and/or characters ARGS into the
current buffer, at point, moving point forward. An error is
signaled unless all ARGS are either strings or characters. The
relocates markers initially pointing at the insertion point, to
point after the inserted text.
- - Function: insert-string STRING &optional BUFFER
+ - Function: insert-string string &optional buffer
This function inserts STRING into BUFFER before point. BUFFER
defaults to the current buffer if omitted. This function is
chiefly useful if you want to insert a string in a buffer other
than the current one (otherwise you could just use `insert').
- - Function: insert-char CHARACTER COUNT &optional BUFFER
+ - Function: insert-char character count &optional buffer
This function inserts COUNT instances of CHARACTER into BUFFER
before point. COUNT must be a number, and CHARACTER must be a
character. The value is `nil'. If optional argument BUFFER is
`nil', the current buffer is assumed. (In FSF Emacs, the third
argument is called INHERIT and refers to text properties.)
- - Function: insert-buffer-substring FROM-BUFFER-OR-NAME &optional
- START END
+ - Function: insert-buffer-substring from-buffer-or-name &optional
+ start end
This function inserts a portion of buffer FROM-BUFFER-OR-NAME
(which must already exist) into the current buffer before point.
The text inserted is the region from START and END. (These
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
commands intended primarily for the user but useful also in Lisp
programs.
- - Command: insert-buffer FROM-BUFFER-OR-NAME
+ - Command: insert-buffer from-buffer-or-name
This command inserts the entire contents of FROM-BUFFER-OR-NAME
(which must exist) into the current buffer after point. It leaves
the mark after the inserted text. The value is `nil'.
- - Command: self-insert-command COUNT
+ - Command: self-insert-command count
This command inserts the last character typed; it does so COUNT
times, before point, and returns `nil'. Most printing characters
are bound to this command. In routine use, `self-insert-command'
This command calls `auto-fill-function' whenever that is non-`nil'
and the character inserted is a space or a newline (*note Auto
- Filling::.).
+ Filling::).
This command performs abbrev expansion if Abbrev mode is enabled
and the inserted character does not have word-constituent syntax.
This is also responsible for calling `blink-paren-function' when
the inserted character has close parenthesis syntax (*note
- Blinking::.).
+ Blinking::).
- - Command: newline &optional NUMBER-OF-NEWLINES
+ - Command: newline &optional number-of-newlines
This command inserts newlines into the current buffer before point.
If NUMBER-OF-NEWLINES is supplied, that many newline characters
are inserted.
=============
Deletion means removing part of the text in a buffer, without saving
-it in the kill ring (*note The Kill Ring::.). Deleted text can't be
-yanked, but can be reinserted using the undo mechanism (*note Undo::.).
+it in the kill ring (*note The Kill Ring::). Deleted text can't be
+yanked, but can be reinserted using the undo mechanism (*note Undo::).
Some deletion functions do save text in the kill ring in some special
cases.
All of the deletion functions operate on the current buffer, and all
return a value of `nil'.
- - Function: erase-buffer &optional BUFFER
+ - Function: erase-buffer &optional buffer
This function deletes the entire text of BUFFER, leaving it empty.
If the buffer is read-only, it signals a `buffer-read-only'
error. Otherwise, it deletes the text without asking for any
future text is not really related to the former text, and its size
should not be compared with that of the former text.
- - Command: delete-region START END &optional BUFFER
+ - Command: delete-region start end &optional buffer
This command deletes the text in BUFFER in the region defined by
START and END. The value is `nil'. If optional argument BUFFER
is `nil', the current buffer is assumed.
- - Command: delete-char COUNT &optional KILLP
+ - Command: delete-char count &optional killp
This command deletes COUNT characters directly after point, or
before point if COUNT is negative. If KILLP is non-`nil', then it
saves the deleted characters in the kill ring.
The value returned is always `nil'.
- - Command: delete-backward-char COUNT &optional KILLP
+ - Command: delete-backward-char count &optional killp
This command deletes COUNT characters directly before point, or
after point if COUNT is negative. If KILLP is non-`nil', then it
saves the deleted characters in the kill ring.
The value returned is always `nil'.
- - Command: backward-delete-char-untabify COUNT &optional KILLP
+ - Command: backward-delete-char-untabify count &optional killp
This command deletes COUNT characters backward, changing tabs into
spaces. When the next character to be deleted is a tab, it is
first replaced with the proper number of spaces to preserve
You thought
---------- Buffer: foo ----------
- - Command: delete-indentation &optional JOIN-FOLLOWING-P
+ - Command: delete-indentation &optional join-following-p
This function joins the line point is on to the previous line,
deleting any whitespace at the join and in some cases replacing it
with one space. If JOIN-FOLLOWING-P is non-`nil',
(delete-indentation)
=> nil
+
---------- Buffer: foo ----------
When in the course of human-!- events, it becomes necessary
---------- Buffer: foo ----------
This has too many -!-spaces
This has too many spaces at the start of (-!- this list)
---------- Buffer: foo ----------
-
+
(fixup-whitespace)
=> nil
(fixup-whitespace)
=> nil
-
+
---------- Buffer: foo ----------
This has too many spaces
This has too many spaces at the start of (this list)
treat it as a ring.
Some people think this use of the word "kill" is unfortunate, since
-it refers to operations that specifically *do not* destroy the entities
+it refers to operations that specifically _do not_ destroy the entities
"killed". This is in sharp contrast to ordinary life, in which death
is permanent and "killed" entities do not come back to life.
Therefore, other metaphors have been proposed. For example, the term
previous command was a kill command, and if so appends the killed text
to the most recent entry.
- - Command: kill-region START END
+ - Command: kill-region start end
This function kills the text in the region defined by START and
END. The text is deleted but saved in the kill ring, along with
its text properties. The value is always `nil'.
This is convenient because it lets the user use all the kill
commands to copy text into the kill ring from a read-only buffer.
- - Command: copy-region-as-kill START END
+ - Command: copy-region-as-kill start end
This command saves the region defined by START and END on the kill
ring (including text properties), but does not delete the text
from the buffer. It returns `nil'. It also indicates the extent
"Yanking" means reinserting an entry of previously killed text from
the kill ring. The text properties are copied too.
- - Command: yank &optional ARG
+ - Command: yank &optional arg
This command inserts before point the text in the first entry in
the kill ring. It positions the mark at the beginning of that
text, and point at the end.
`yank' does not alter the contents of the kill ring or rotate it.
It returns `nil'.
- - Command: yank-pop ARG
+ - Command: yank-pop arg
This command replaces the just-yanked entry from the kill ring
with a different entry from the kill ring.
care of interaction with X Window selections. They do not exist in
Emacs version 18.
- - Function: current-kill N &optional DO-NOT-MOVE
+ - Function: current-kill n &optional do-not-move
The function `current-kill' rotates the yanking pointer which
designates the "front" of the kill ring by N places (from newer
kills to older ones), and returns the text at that place in the
`current-kill' calls the value of `interprogram-paste-function'
(documented below) before consulting the kill ring.
- - Function: kill-new STRING
+ - Function: kill-new string
This function puts the text STRING into the kill ring as a new
entry at the front of the ring. It discards the oldest entry if
appropriate. It also invokes the value of
`interprogram-cut-function' (see below).
- - Function: kill-append STRING BEFORE-P
+ - Function: kill-append string before-p
This function appends the text STRING to the first entry in the
kill ring. Normally STRING goes at the end of the entry, but if
BEFORE-P is non-`nil', it goes at the beginning. This function
`query-replace' calls `undo-boundary' after each replacement, so
that the user can undo individual replacements one by one.
- - Function: primitive-undo COUNT LIST
+ - Function: primitive-undo count list
This is the basic function for undoing elements of an undo list.
It undoes the first COUNT elements of LIST, returning the rest of
LIST. You could write this function in Lisp, but it is convenient
disable undo recording with the following two functions, or by setting
`buffer-undo-list' yourself.
- - Command: buffer-enable-undo &optional BUFFER-OR-NAME
+ - Command: buffer-enable-undo &optional buffer-or-name
This command enables recording undo information for buffer
BUFFER-OR-NAME, so that subsequent changes can be undone. If no
argument is supplied, then the current buffer is used. This
In an interactive call, BUFFER-OR-NAME is the current buffer. You
cannot specify any other buffer.
- - Function: buffer-disable-undo &optional BUFFER
- - Function: buffer-flush-undo &optional BUFFER
+ - Function: buffer-disable-undo &optional buffer
+ - Function: buffer-flush-undo &optional buffer
This function discards the undo list of BUFFER, and disables
further recording of undo information. As a result, it is no
longer possible to undo either previous changes or any subsequent
precisely. The width is controlled by the variable `fill-column'. For
ease of reading, lines should be no longer than 70 or so columns.
- You can use Auto Fill mode (*note Auto Filling::.) to fill text
+ You can use Auto Fill mode (*note Auto Filling::) to fill text
automatically as you insert it, but changes to existing text may leave
it improperly filled. Then you must fill the text explicitly.
Most of the commands in this section return values that are not
meaningful. All the functions that do filling take note of the current
left margin, current right margin, and current justification style
-(*note Margins::.). If the current justification style is `none', the
+(*note Margins::). If the current justification style is `none', the
filling functions don't actually do anything.
Several of the filling functions have an argument JUSTIFY. If it is
When you call the filling functions interactively, using a prefix
argument implies the value `full' for JUSTIFY.
- - Command: fill-paragraph JUSTIFY
+ - Command: fill-paragraph justify
This command fills the paragraph at or after point. If JUSTIFY is
non-`nil', each line is justified as well. It uses the ordinary
paragraph motion commands to find paragraph boundaries. *Note
Paragraphs: (xemacs)Paragraphs.
- - Command: fill-region START END &optional JUSTIFY
+ - Command: fill-region start end &optional justify
This command fills each of the paragraphs in the region from START
to END. It justifies as well if JUSTIFY is non-`nil'.
The variable `paragraph-separate' controls how to distinguish
paragraphs. *Note Standard Regexps::.
- - Command: fill-individual-paragraphs START END &optional JUSTIFY
- MAIL-FLAG
+ - Command: fill-individual-paragraphs start end &optional justify
+ mail-flag
This command fills each paragraph in the region according to its
individual fill prefix. Thus, if the lines of a paragraph were
indented with spaces, the filled paragraph will remain indented in
This variable alters the action of `fill-individual-paragraphs' as
described above.
- - Command: fill-region-as-paragraph START END &optional JUSTIFY
+ - Command: fill-region-as-paragraph start end &optional justify
This command considers a region of text as a paragraph and fills
it. If the region was made up of many paragraphs, the blank lines
between paragraphs are removed. This function justifies as well
no fill prefix uses the indentation of the second line of the
paragraph as the fill prefix.
- - Command: justify-current-line HOW EOP NOSQUEEZE
+ - Command: justify-current-line how eop nosqueeze
This command inserts spaces between the words of the current line
so that the line ends exactly at `fill-column'. It returns `nil'.
lines. Its value should be an integer, which is a number of
columns. All the filling, justification and centering commands
are affected by this variable, including Auto Fill mode (*note
- Auto Filling::.).
+ Auto Filling::).
As a practical matter, if you are writing text for other people to
read, you should set `fill-column' to no more than 70. Otherwise
The default value for `default-fill-column' is 70.
- - Command: set-left-margin FROM TO MARGIN
+ - Command: set-left-margin from to margin
This sets the `left-margin' property on the text from FROM to TO
to the value MARGIN. If Auto Fill mode is enabled, this command
also refills the region to fit the new margin.
- - Command: set-right-margin FROM TO MARGIN
+ - Command: set-right-margin from to margin
This sets the `right-margin' property on the text from FROM to TO
to the value MARGIN. If Auto Fill mode is enabled, this command
also refills the region to fit the new margin.
`fill-column' variable, minus the value of the `right-margin'
property of the character after point.
- - Command: move-to-left-margin &optional N FORCE
+ - Command: move-to-left-margin &optional n force
This function moves point to the left margin of the current line.
The column moved to is determined by calling the function
`current-left-margin'. If the argument N is non-`nil',
If FORCE is non-`nil', that says to fix the line's indentation if
that doesn't match the left margin value.
- - Function: delete-to-left-margin FROM TO
+ - Function: delete-to-left-margin from to
This function removes left margin indentation from the text
between FROM and TO. The amount of indentation to delete is
determined by calling `current-left-margin'. In no case does this
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
If XEmacs was not compiled with MULE support, the range of this integer
will always be 0 to 255 - eight bits, or one byte. (Integers outside
this range are accepted but silently truncated; however, you should
-most decidedly *not* rely on this, because it will not work under
+most decidedly _not_ rely on this, because it will not work under
XEmacs with MULE support.) When MULE support is present, the range of
character codes is much larger. (Currently, 19 bits are used.)
will never find character codes above 255 in a non-MULE XEmacs.
Individual characters are not often used in programs. It is far more
-common to work with *strings*, which are sequences composed of
+common to work with _strings_, which are sequences composed of
characters. *Note String Type::.
The read syntax for characters begins with a question mark, followed
really integers, the printed representation of a character is a decimal
number. This is also a possible read syntax for a character, but
writing characters that way in Lisp programs is a very bad idea. You
-should *always* use the special read syntax formats that XEmacs Lisp
+should _always_ use the special read syntax formats that XEmacs Lisp
provides for characters.
The usual read syntax for alphanumeric characters is a question mark
You can use the same syntax for punctuation characters, but it is
often a good idea to add a `\' so that the Emacs commands for editing
Lisp code don't get confused. For example, `?\ ' is the way to write
-the space character. If the character is `\', you *must* use a second
+the space character. If the character is `\', you _must_ use a second
`\' to quote it: `?\\'. XEmacs 20 always prints punctuation characters
with a `\' in front of them, to avoid confusion.
There is also a character read syntax beginning with `\M-'. This
sets the high bit of the character code (same as adding 128 to the
character code). For example, `?\M-A' stands for the character with
-character code 193, or 128 plus 65. You should *not* use this syntax
+character code 193, or 128 plus 65. You should _not_ use this syntax
in your programs. It is a holdover of yet another confoundance disease
from earlier Emacsen. (This was used to represent keyboard input with
the <META> key set, thus the `M'; however, it conflicts with the
Arrays are further subdivided into strings, vectors, and bit vectors.
Vectors can hold elements of any type, but string elements must be
characters, and bit vector elements must be either 0 or 1. However, the
-characters in a string can have extents (*note Extents::.) and text
-properties (*note Text Properties::.) like characters in a buffer;
+characters in a string can have extents (*note Extents::) and text
+properties (*note Text Properties::) like characters in a buffer;
vectors do not support extents or text properties even when their
elements happen to be characters.
Here is another diagram of the same list, `(rose violet buttercup)',
sketched in a different manner:
- --------------- ---------------- -------------------
+ --------------- ---------------- -------------------
| car | cdr | | car | cdr | | car | cdr |
| rose | o-------->| violet | o-------->| buttercup | nil |
| | | | | | | | |
functions in Lisp are primarily Lisp objects, and only secondarily the
text which represents them. These Lisp objects are lambda expressions:
lists whose first element is the symbol `lambda' (*note Lambda
-Expressions::.).
+Expressions::).
In most programming languages, it is impossible to have a function
without a name. In Lisp, a function has no intrinsic name. A lambda
expression is also called an "anonymous function" (*note Anonymous
-Functions::.). A named function in Lisp is actually a symbol with a
-valid function in its function cell (*note Defining Functions::.).
+Functions::). A named function in Lisp is actually a symbol with a
+valid function in its function cell (*note Defining Functions::).
Most of the time, functions are called when their names are written
in Lisp expressions in Lisp programs. However, you can construct or
"subrs" or "built-in functions". (The word "subr" is derived from
"subroutine".) Most primitive functions evaluate all their arguments
when they are called. A primitive function that does not evaluate all
-its arguments is called a "special form" (*note Special Forms::.).
+its arguments is called a "special form" (*note Special Forms::).
It does not matter to the caller of a function whether the function
is primitive. However, this does matter if you try to substitute a
-----------
A "buffer" is an object that holds text that can be edited (*note
-Buffers::.). Most buffers hold the contents of a disk file (*note
-Files::.) so they can be edited, but some are used for other purposes.
+Buffers::). Most buffers hold the contents of a disk file (*note
+Files::) so they can be edited, but some are used for other purposes.
Most buffers are also meant to be seen by the user, and therefore
-displayed, at some time, in a window (*note Windows::.). But a buffer
+displayed, at some time, in a window (*note Windows::). But a buffer
need not be displayed in any window.
The contents of a buffer are much like a string, but buffers are not
object.
Each buffer has a designated position called "point" (*note
-Positions::.). At any time, one buffer is the "current buffer". Most
+Positions::). At any time, one buffer is the "current buffer". Most
editing commands act on the contents of the current buffer in the
neighborhood of point. Many of the standard Emacs functions manipulate
or test the characters in the current buffer; a whole chapter in this
-manual is devoted to describing these functions (*note Text::.).
+manual is devoted to describing these functions (*note Text::).
Several other data structures are associated with each buffer:
- * a local syntax table (*note Syntax Tables::.);
+ * a local syntax table (*note Syntax Tables::);
- * a local keymap (*note Keymaps::.);
+ * a local keymap (*note Keymaps::);
- * a local variable binding list (*note Buffer-Local Variables::.);
+ * a local variable binding list (*note Buffer-Local Variables::);
- * a list of extents (*note Extents::.);
+ * a list of extents (*note Extents::);
* and various other related properties.
The object `nil', in addition to its other meanings, may be used as
a stream. It stands for the value of the variable `standard-input' or
`standard-output'. Also, the object `t' as a stream specifies input
-using the minibuffer (*note Minibuffers::.) or output in the echo area
-(*note The Echo Area::.).
+using the minibuffer (*note Minibuffers::) or output in the echo area
+(*note The Echo Area::).
Streams have no special printed representation or read syntax, and
print as whatever primitive type they are.
Under XEmacs 20, a "syntax table" is a particular type of char
table. Under XEmacs 19, a syntax table a vector of 256 integers. In
both cases, each element defines how one character is interpreted when
-it appears in a buffer. For example, in C mode (*note Major Modes::.),
+it appears in a buffer. For example, in C mode (*note Major Modes::),
the `+' character is punctuation, but in Lisp mode it is a valid
character in a symbol. These modes specify different interpretations by
changing the syntax table entry for `+'.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
The sorting functions described in this section all rearrange text in
a buffer. This is in contrast to the function `sort', which rearranges
-the order of the elements of a list (*note Rearrangement::.). The
+the order of the elements of a list (*note Rearrangement::). The
values returned by these functions are not meaningful.
- - Function: sort-subr REVERSE NEXTRECFUN ENDRECFUN &optional
- STARTKEYFUN ENDKEYFUN
+ - Function: sort-subr reverse nextrecfun endrecfun &optional
+ startkeyfun endkeyfun
This function is the general text-sorting routine that divides a
buffer into records and sorts them. Most of the commands in this
section use this function.
(skip-chars-forward "\n \t\f")))
'forward-paragraph)
- - Command: sort-regexp-fields REVERSE RECORD-REGEXP KEY-REGEXP START
- END
+ - Command: sort-regexp-fields reverse record-regexp key-regexp start
+ end
This command sorts the region between START and END alphabetically
as specified by RECORD-REGEXP and KEY-REGEXP. If REVERSE is a
negative integer, then sorting is in reverse order.
If you call `sort-regexp-fields' interactively, it prompts for
RECORD-REGEXP and KEY-REGEXP in the minibuffer.
- - Command: sort-lines REVERSE START END
+ - Command: sort-lines reverse start end
This command alphabetically sorts lines in the region between
START and END. If REVERSE is non-`nil', the sort is in reverse
order.
- - Command: sort-paragraphs REVERSE START END
+ - Command: sort-paragraphs reverse start end
This command alphabetically sorts paragraphs in the region between
START and END. If REVERSE is non-`nil', the sort is in reverse
order.
- - Command: sort-pages REVERSE START END
+ - Command: sort-pages reverse start end
This command alphabetically sorts pages in the region between
START and END. If REVERSE is non-`nil', the sort is in reverse
order.
- - Command: sort-fields FIELD START END
+ - Command: sort-fields field start end
This command sorts lines in the region between START and END,
comparing them alphabetically by the FIELDth field of each line.
Fields are separated by whitespace and numbered starting from 1.
If FIELD is negative, sorting is by the -FIELDth field from the
end of the line. This command is useful for sorting tables.
- - Command: sort-numeric-fields FIELD START END
+ - Command: sort-numeric-fields field start end
This command sorts lines in the region between START and END,
comparing them numerically by the FIELDth field of each line. The
specified field must contain a number in each line of the region.
If FIELD is negative, sorting is by the -FIELDth field from the
end of the line. This command is useful for sorting tables.
- - Command: sort-columns REVERSE &optional BEG END
+ - Command: sort-columns reverse &optional beg end
This command sorts the lines in the region between BEG and END,
comparing them alphabetically by a certain range of columns. The
column positions of BEG and END bound the range of columns to sort
For an example of using `current-column', see the description of
`count-lines' in *Note Text Lines::.
- - Function: move-to-column COLUMN &optional FORCE
+ - Function: move-to-column column &optional force
This function moves point to COLUMN in the current line. The
calculation of COLUMN takes into account the widths of the
displayed representations of the characters between the start of
contents are entirely blank, then this is the horizontal position
of the end of the line.
- - Command: indent-to COLUMN &optional MINIMUM
+ - Command: indent-to column &optional minimum
This function indents from point with tabs and spaces until COLUMN
is reached. If MINIMUM is specified and non-`nil', then at least
that many spaces are inserted even if this requires going beyond
This section describes commands that indent all the lines in the
region. They return unpredictable values.
- - Command: indent-region START END TO-COLUMN
+ - Command: indent-region start end to-column
This command indents each nonblank line starting between START
(inclusive) and END (exclusive). If TO-COLUMN is `nil',
`indent-region' indents each nonblank line by calling the current
`indent-region' with a non-`nil' argument TO-COLUMN has a
different meaning and does not use this variable.
- - Command: indent-rigidly START END COUNT
+ - Command: indent-rigidly start end count
This command indents all lines starting between START (inclusive)
and END (exclusive) sideways by COUNT columns. This "preserves
the shape" of the affected region, moving it as a rigid unit.
`indent-rigidly' to indent the text copied from the message being
replied to.
- - Function: indent-code-rigidly START END COLUMNS &optional
- NOCHANGE-REGEXP
+ - Function: indent-code-rigidly start end columns &optional
+ nochange-regexp
This is like `indent-rigidly', except that it doesn't alter lines
that start within strings or comments.
This section describes two commands that indent the current line
based on the contents of previous lines.
- - Command: indent-relative &optional UNINDENTED-OK
+ - Command: indent-relative &optional unindented-ok
This command inserts whitespace at point, extending to the same
column as the next "indent point" of the previous nonblank line.
An indent point is a non-whitespace character following
typewriter. The feature works by inserting an appropriate number of
spaces and tab characters to reach the next tab stop column; it does not
affect the display of tab characters in the buffer (*note Usual
-Display::.). Note that the <TAB> character as input uses this tab stop
+Display::). Note that the <TAB> character as input uses this tab stop
feature only in a few major modes, such as Text mode.
- Command: tab-to-tab-stop
the current line (which is the line in which point is located).
It returns `nil'.
- - Command: backward-to-indentation ARG
+ - Command: backward-to-indentation arg
This command moves point backward ARG lines and then to the first
nonblank character on that line. It returns `nil'.
- - Command: forward-to-indentation ARG
+ - Command: forward-to-indentation arg
This command moves point forward ARG lines and then to the first
nonblank character on that line. It returns `nil'.
on strings and characters. *Note Case Tables::, for how to customize
which characters are upper or lower case and how to convert them.
- - Command: capitalize-region START END
+ - Command: capitalize-region start end
This function capitalizes all words in the region defined by START
and END. To capitalize means to convert each word's first
character to upper case and convert the rest of each word to lower
This Is The Contents Of The 5th Foo.
---------- Buffer: foo ----------
- - Command: downcase-region START END
+ - Command: downcase-region start end
This function converts all of the letters in the region defined by
START and END to lower case. The function returns `nil'.
When `downcase-region' is called interactively, START and END are
point and the mark, with the smallest first.
- - Command: upcase-region START END
+ - Command: upcase-region start end
This function converts all of the letters in the region defined by
START and END to upper case. The function returns `nil'.
When `upcase-region' is called interactively, START and END are
point and the mark, with the smallest first.
- - Command: capitalize-word COUNT
+ - Command: capitalize-word count
This function capitalizes COUNT words after point, moving point
over as it does. To capitalize means to convert each word's first
character to upper case and convert the rest of each word to lower
When `capitalize-word' is called interactively, COUNT is set to
the numeric prefix argument.
- - Command: downcase-word COUNT
+ - Command: downcase-word count
This function converts the COUNT words after point to all lower
case, moving point over as it does. If COUNT is negative, it
converts the -COUNT previous words but does not move point. The
When `downcase-word' is called interactively, COUNT is set to the
numeric prefix argument.
- - Command: upcase-word COUNT
+ - Command: upcase-word count
This function converts the COUNT words after point to all upper
case, moving point over as it does. If COUNT is negative, it
converts the -COUNT previous words but does not move point. The
===============
Text properties are an alternative interface to extents (*note
-Extents::.), and are built on top of them. They are useful when you
+Extents::), and are built on top of them. They are useful when you
want to view textual properties as being attached to the characters
themselves rather than to intervals of characters. The text property
interface is compatible with FSF Emacs.
Each character position in a buffer or a string can have a "text
property list", much like the property list of a symbol (*note Property
-Lists::.). The properties belong to a particular character at a
+Lists::). The properties belong to a particular character at a
particular place, such as, the letter `T' at the beginning of this
sentence or the first `o' in `foo'--if the same character occurs in two
different places, the two occurrences generally have different
positions in a string start from 0, whereas positions in a buffer start
from 1.)
- - Function: get-text-property POS PROP &optional OBJECT
+ - Function: get-text-property pos prop &optional object
This function returns the value of the PROP property of the
character after position POS in OBJECT (a buffer or string). The
argument OBJECT is optional and defaults to the current buffer.
- - Function: get-char-property POS PROP &optional OBJECT
+ - Function: get-char-property pos prop &optional object
This function is like `get-text-property', except that it checks
all extents, not just text-property extents.
- - Function: text-properties-at POSITION &optional OBJECT
+ - Function: text-properties-at position &optional object
This function returns the entire property list of the character at
POSITION in the string or buffer OBJECT. If OBJECT is `nil', it
defaults to the current buffer.
Since text properties are considered part of the buffer's contents,
and can affect how the buffer looks on the screen, any change in the
text properties is considered a buffer modification. Buffer text
-property changes are undoable (*note Undo::.).
+property changes are undoable (*note Undo::).
- - Function: put-text-property START END PROP VALUE &optional OBJECT
+ - Function: put-text-property start end prop value &optional object
This function sets the PROP property to VALUE for the text between
START and END in the string or buffer OBJECT. If OBJECT is `nil',
it defaults to the current buffer.
- - Function: add-text-properties START END PROPS &optional OBJECT
+ - Function: add-text-properties start end props &optional object
This function modifies the text properties for the text between
START and END in the string or buffer OBJECT. If OBJECT is `nil',
it defaults to the current buffer.
The argument PROPS specifies which properties to change. It
- should have the form of a property list (*note Property Lists::.):
+ should have the form of a property list (*note Property Lists::):
a list whose elements include the property names followed
alternately by the corresponding values.
(add-text-properties START END
'(comment t face highlight))
- - Function: remove-text-properties START END PROPS &optional OBJECT
+ - Function: remove-text-properties start end props &optional object
This function deletes specified text properties from the text
between START and END in the string or buffer OBJECT. If OBJECT
is `nil', it defaults to the current buffer.
The argument PROPS specifies which properties to delete. It
- should have the form of a property list (*note Property Lists::.):
+ should have the form of a property list (*note Property Lists::):
a list whose elements are property names alternating with
corresponding values. But only the names matter--the values that
accompany them are ignored. For example, here's how to remove the
property's value; `nil' otherwise (if PROPS is `nil' or if no
character in the specified text had any of those properties).
- - Function: set-text-properties START END PROPS &optional OBJECT
+ - Function: set-text-properties start end props &optional object
This function completely replaces the text property list for the
text between START and END in the string or buffer OBJECT. If
OBJECT is `nil', it defaults to the current buffer.
(set-text-properties START END nil)
See also the function `buffer-substring-without-properties' (*note
-Buffer Contents::.) which copies text from the buffer but does not copy
+Buffer Contents::) which copies text from the buffer but does not copy
its properties.
\1f
position returned by these functions is between two characters with
different properties.
- - Function: next-property-change POS &optional OBJECT LIMIT
+ - Function: next-property-change pos &optional object limit
The function scans the text forward from position POS in the
string or buffer OBJECT till it finds a change in some text
property, then returns the position of the change. In other
Process text from point to NEXT-CHANGE...
(goto-char next-change)))
- - Function: next-single-property-change POS PROP &optional OBJECT LIMIT
+ - Function: next-single-property-change pos prop &optional object limit
The function scans the text forward from position POS in the
string or buffer OBJECT till it finds a change in the PROP
property, then returns the position of the change. In other
it is a position greater than or equal to POS; it equals POS only
if LIMIT equals POS.
- - Function: previous-property-change POS &optional OBJECT LIMIT
+ - Function: previous-property-change pos &optional object limit
This is like `next-property-change', but scans back from POS
instead of forward. If the value is non-`nil', it is a position
less than or equal to POS; it equals POS only if LIMIT equals POS.
- - Function: previous-single-property-change POS PROP &optional OBJECT
- LIMIT
+ - Function: previous-single-property-change pos prop &optional object
+ limit
This is like `next-single-property-change', but scans back from
POS instead of forward. If the value is non-`nil', it is a
position less than or equal to POS; it equals POS only if LIMIT
equals POS.
- - Function: text-property-any START END PROP VALUE &optional OBJECT
+ - Function: text-property-any start end prop value &optional object
This function returns non-`nil' if at least one character between
START and END has a property PROP whose value is VALUE. More
precisely, it returns the position of the first such character.
buffer to scan. Positions are relative to OBJECT. The default
for OBJECT is the current buffer.
- - Function: text-property-not-all START END PROP VALUE &optional OBJECT
+ - Function: text-property-not-all start end prop value &optional object
This function returns non-`nil' if at least one character between
START and END has a property PROP whose value differs from VALUE.
More precisely, it returns the position of the first such
The following functions replace characters within a specified region
based on their character codes.
- - Function: subst-char-in-region START END OLD-CHAR NEW-CHAR &optional
- NOUNDO
+ - Function: subst-char-in-region start end old-char new-char &optional
+ noundo
This function replaces all occurrences of the character OLD-CHAR
with the character NEW-CHAR in the region of the current buffer
defined by START and END.
If NOUNDO is non-`nil', then `subst-char-in-region' does not
record the change for undo and does not mark the buffer as
modified. This feature is used for controlling selective display
- (*note Selective Display::.).
+ (*note Selective Display::).
`subst-char-in-region' does not move point and returns `nil'.
ThXs Xs the contents of the buffer before.
---------- Buffer: foo ----------
- - Function: translate-region START END TABLE
+ - Function: translate-region start end table
This function applies a translation table to the characters in the
buffer between positions START and END. The translation table
TABLE can be either a string, a vector, or a char-table.
represents a rectangle; its elements are strings, one per line of
the rectangle.
- - Function: get-register REG
+ - Function: get-register reg
This function returns the contents of the register REG, or `nil'
if it has no contents.
- - Function: set-register REG VALUE
+ - Function: set-register reg value
This function sets the contents of register REG to VALUE. A
register can be set to any value, but the other register functions
expect only certain data types. The return value is VALUE.
- - Command: view-register REG
+ - Command: view-register reg
This command displays what is contained in register REG.
- - Command: insert-register REG &optional BEFOREP
+ - Command: insert-register reg &optional beforep
This command inserts contents of register REG into the current
buffer.
This subroutine is used by the transposition commands.
- - Function: transpose-regions START1 END1 START2 END2 &optional
- LEAVE-MARKERS
+ - Function: transpose-regions start1 end1 start2 end2 &optional
+ leave-markers
This function exchanges two nonoverlapping portions of the buffer.
Arguments START1 and END1 specify the bounds of one portion and
arguments START2 and END2 specify the bounds of the other portion.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
Emacs Lisp interface to MD5 consists of a single function `md5':
- - Function: md5 OBJECT &optional START END
+ - Function: md5 object &optional start end
This function returns the MD5 message digest of OBJECT, a buffer
or string.
The Lisp interface to base64 consists of four functions:
- - Function: base64-encode-region BEG END &optional NO-LINE-BREAK
+ - Function: base64-encode-region beg end &optional no-line-break
This function encodes the region between BEG and END of the
current buffer to base64 format. This means that the original
region is deleted, and replaced with its base64 equivalent.
The function can also be used interactively, in which case it
works on the currently active region.
- - Function: base64-encode-string STRING
+ - Function: base64-encode-string string
This function encodes STRING to base64, and returns the encoded
string.
(base64-encode-string "fubar")
=> "ZnViYXI="
- - Function: base64-decode-region BEG END
+ - Function: base64-decode-region beg end
This function decodes the region between BEG and END of the
current buffer. The region should be in base64 encoding.
;; Decode a base64 buffer, and replace it with the decoded version
(base64-decode-region (point-min) (point-max))
- - Function: base64-decode-string STRING
+ - Function: base64-decode-string string
This function decodes STRING to base64, and returns the decoded
string. STRING should be valid base64-encoded text.
interactively. If you do so, they prompt for the search string; LIMIT
and NOERROR are set to `nil', and REPEAT is set to 1.
- - Command: search-forward STRING &optional LIMIT NOERROR REPEAT
+ - Command: search-forward string &optional limit noerror repeat
This function searches forward from point for an exact match for
STRING. If successful, it sets point to the end of the occurrence
found, and returns the new value of point. If no match is found,
succeed, the function succeeds, moving point and returning its new
value. Otherwise the search fails.
- - Command: search-backward STRING &optional LIMIT NOERROR REPEAT
+ - Command: search-backward string &optional limit noerror repeat
This function searches backward from point for STRING. It is just
like `search-forward' except that it searches backwards and leaves
point at the beginning of the match.
- - Command: word-search-forward STRING &optional LIMIT NOERROR REPEAT
+ - Command: word-search-forward string &optional limit noerror repeat
This function searches forward from point for a "word" match for
STRING. If it finds a match, it sets point to the end of the
match found, and returns the new value of point.
If REPEAT is non-`nil', then the search is repeated that many
times. Point is positioned at the end of the last match.
- - Command: word-search-backward STRING &optional LIMIT NOERROR REPEAT
+ - Command: word-search-backward string &optional limit noerror repeat
This function searches backward from point for a word match to
STRING. This function is just like `word-search-forward' except
that it searches backward and normally leaves point at the
For example, `f' is not a special character, so it is ordinary, and
therefore `f' is a regular expression that matches the string `f' and
-no other string. (It does *not* match the string `ff'.) Likewise, `o'
+no other string. (It does _not_ match the string `ff'.) Likewise, `o'
is a regular expression that matches only `o'.
Any two regular expressions A and B can be concatenated. The result
matches one `f' followed by any number of `o's. The case of zero
`o's is allowed: `fo*' does match `f'.
- `*' always applies to the *smallest* possible preceding
+ `*' always applies to the _smallest_ possible preceding
expression. Thus, `fo*' has a repeating `o', not a repeating `fo'.
The matcher processes a `*' construct by matching, immediately, as
`[^ ... ]'
`[^' begins a "complement character set", which matches any
character except the ones specified. Thus, `[^a-z0-9A-Z]' matches
- all characters *except* letters and digits.
+ all characters _except_ letters and digits.
`^' is not special in a character set unless it is the first
character. The character following the `^' is treated as if it
that matches only `[', and so on.
Note that `\' also has special meaning in the read syntax of Lisp
- strings (*note String Type::.), and must be quoted with `\'. For
+ strings (*note String Type::), and must be quoted with `\'. For
example, the regular expression that matches the `\' character is
`\\'. To write a Lisp string that contains the characters `\\',
Lisp syntax requires you to quote each `\' with another `\'.
separate word.
`\B'
- matches the empty string, but *not* at the beginning or end of a
+ matches the empty string, but _not_ at the beginning or end of a
word.
`\<'
`\'. If an invalid regular expression is passed to any of the search
functions, an `invalid-regexp' error is signaled.
- - Function: regexp-quote STRING
+ - Function: regexp-quote string
This function returns a regular expression string that matches
exactly STRING and nothing else. This allows you to request an
exact string match when calling a function that wants a regular
(emacs)Regexp Search. Here we describe only the search functions
useful in programs. The principal one is `re-search-forward'.
- - Command: re-search-forward REGEXP &optional LIMIT NOERROR REPEAT
+ - Command: re-search-forward regexp &optional limit noerror repeat
This function searches forward in the current buffer for a string
of text that is matched by the regular expression REGEXP. The
function skips over any amount of text that is not matched by
comes back" twice.
---------- Buffer: foo ----------
- - Command: re-search-backward REGEXP &optional LIMIT NOERROR REPEAT
+ - Command: re-search-backward regexp &optional limit noerror repeat
This function searches backward in the current buffer for a string
of text that is matched by the regular expression REGEXP, leaving
point at the beginning of the first text found.
feature for matching regexps from end to beginning. It's not
worth the trouble of implementing that.
- - Function: string-match REGEXP STRING &optional START
+ - Function: string-match regexp string &optional start
This function returns the index of the start of the first match for
the regular expression REGEXP in STRING, or `nil' if there is no
match. If START is non-`nil', the search starts at that index in
(match-end 0)
=> 32
- - Function: split-string STRING &optional PATTERN
+ - Function: split-string string &optional pattern
This function splits STRING to substrings delimited by PATTERN,
and returns a list of substrings. If PATTERN is omitted, it
defaults to `[ \f\t\n\r\v]+', which means that it splits STRING by
(split-string ":a::b:c" ":")
=> ("" "a" "" "b" "c")
- - Function: split-path PATH
+ - Function: split-path path
This function splits a search path into a list of strings. The
path components are separated with the characters specified with
`path-separator'. Under Unix, `path-separator' will normally be
`:', while under Windows, it will be `;'.
- - Function: looking-at REGEXP
+ - Function: looking-at regexp
This function determines whether the text in the current buffer
directly following point matches the regular expression REGEXP.
"Directly following" means precisely that: the search is
The usual regular expression functions do backtracking when necessary
to handle the `\|' and repetition constructs, but they continue this
-only until they find *some* match. Then they succeed and report the
+only until they find _some_ match. Then they succeed and report the
first match found.
This section describes alternative search functions which perform the
In Emacs versions prior to 19.29, these functions did not exist, and
the functions described above implemented full POSIX backtracking.
- - Function: posix-search-forward REGEXP &optional LIMIT NOERROR REPEAT
+ - Function: posix-search-forward regexp &optional limit noerror repeat
This is like `re-search-forward' except that it performs the full
backtracking specified by the POSIX standard for regular expression
matching.
- - Function: posix-search-backward REGEXP &optional LIMIT NOERROR REPEAT
+ - Function: posix-search-backward regexp &optional limit noerror repeat
This is like `re-search-backward' except that it performs the full
backtracking specified by the POSIX standard for regular expression
matching.
- - Function: posix-looking-at REGEXP
+ - Function: posix-looking-at regexp
This is like `looking-at' except that it performs the full
backtracking specified by the POSIX standard for regular expression
matching.
- - Function: posix-string-match REGEXP STRING &optional START
+ - Function: posix-string-match regexp string &optional start
This is like `string-match' except that it performs the full
backtracking specified by the POSIX standard for regular expression
matching.
Search and Replace
==================
- - Function: perform-replace FROM-STRING REPLACEMENTS QUERY-FLAG
- REGEXP-FLAG DELIMITED-FLAG &optional REPEAT-COUNT MAP
+ - Function: perform-replace from-string replacements query-flag
+ regexp-flag delimited-flag &optional repeat-count map
This function is the guts of `query-replace' and related commands.
It searches for occurrences of FROM-STRING and replaces some or
all of them. If QUERY-FLAG is `nil', it replaces all occurrences;
subexpressions--after a simple string search, the only information
available is about the entire match.
- - Function: match-string COUNT &optional IN-STRING
+ - Function: match-string count &optional in-string
This function returns, as a string, the text matched in the last
search or match operation. It returns the entire text if COUNT is
zero, or just the portion corresponding to the COUNTth
make sure that the current buffer when you call `match-string' is
the one in which you did the searching or matching.
- - Function: match-beginning COUNT
+ - Function: match-beginning count
This function returns the position of the start of text matched by
the last regular expression searched for, or a subexpression of it.
The value is `nil' for a subexpression inside a `\|' alternative
that wasn't used in the match.
- - Function: match-end COUNT
+ - Function: match-end count
This function is like `match-beginning' except that it returns the
position of the end of the match, rather than the position of the
beginning.
This function replaces the text matched by the last search with
REPLACEMENT.
- - Function: replace-match REPLACEMENT &optional FIXEDCASE LITERAL
- STRING
+ - Function: replace-match replacement &optional fixedcase literal
+ string
This function replaces the text in the buffer (or in STRING) that
was matched by the last search. It replaces that text with
REPLACEMENT.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
#<marker at 13 in foo>
#<marker at 17 in foo>)
- - Function: set-match-data MATCH-LIST
+ - Function: set-match-data match-list
This function sets the match data from the elements of MATCH-LIST,
which should be a list that was the value of a previous call to
`match-data'.
You can save and restore the match data with `save-match-data':
- - Macro: save-match-data BODY...
+ - Macro: save-match-data body...
This special form executes BODY, saving and restoring the match
data around it.
(set-match-data data)))
Emacs automatically saves and restores the match data when it runs
-process filter functions (*note Filter Functions::.) and process
-sentinels (*note Sentinels::.).
+process filter functions (*note Filter Functions::) and process
+sentinels (*note Sentinels::).
\1f
File: lispref.info, Node: Searching and Case, Next: Standard Regexps, Prev: Match Data, Up: Searching and Matching
The default value is `"^\014"' (i.e., `"^^L"' or `"^\C-l"'); this
matches a line that starts with a formfeed character.
- The following two regular expressions should *not* assume the match
+ The following two regular expressions should _not_ assume the match
always starts at the beginning of a line; they should not use `^' to
anchor the match. Most often, the paragraph commands do check for a
match only at the beginning of a line, which means that `^' would be
- Variable: paragraph-start
This is the regular expression for recognizing the beginning of a
- line that starts *or* separates paragraphs. The default value is
+ line that starts _or_ separates paragraphs. The default value is
`"[ \t\n\f]"', which matches a line starting with a space, tab,
newline, or form feed (after its left margin).
character. This information is used by the parsing commands, the
complex movement commands, and others to determine where words, symbols,
and other syntactic constructs begin and end. The current syntax table
-controls the meaning of the word motion functions (*note Word Motion::.)
-and the list motion functions (*note List Motion::.) as well as the
+controls the meaning of the word motion functions (*note Word Motion::)
+and the list motion functions (*note List Motion::) as well as the
functions in this chapter.
* Menu:
used by the parsing commands, the complex movement commands, and others
to determine where words, symbols, and other syntactic constructs begin
and end. The current syntax table controls the meaning of the word
-motion functions (*note Word Motion::.) and the list motion functions
-(*note List Motion::.) as well as the functions in this chapter.
+motion functions (*note Word Motion::) and the list motion functions
+(*note List Motion::) as well as the functions in this chapter.
Under XEmacs 20, a syntax table is a particular subtype of the
-primitive char table type (*note Char Tables::.), and each element of
-the char table is an integer that encodes the syntax of the character in
+primitive char table type (*note Char Tables::), and each element of the
+char table is an integer that encodes the syntax of the character in
question, or a cons of such an integer and a matching character (for
characters with parenthesis syntax).
alphabetic characters in the range 128 to 255. Just changing the
standard syntax for these characters affects all major modes.
- - Function: syntax-table-p OBJECT
+ - Function: syntax-table-p object
This function returns `t' if OBJECT is a vector of length 256
elements. This means that the vector may be a syntax table.
However, according to this test, any vector of length 256 is
All the flags except `p' are used to describe multi-character
comment delimiters. The digit flags indicate that a character can
-*also* be part of a comment sequence, in addition to the syntactic
+_also_ be part of a comment sequence, in addition to the syntactic
properties associated with its character class. The flags are
independent of the class and each other for the sake of characters such
-as `*' in C mode, which is a punctuation character, *and* the second
-character of a start-of-comment sequence (`/*'), *and* the first
+as `*' in C mode, which is a punctuation character, _and_ the second
+character of a start-of-comment sequence (`/*'), _and_ the first
character of an end-of-comment sequence (`*/').
The flags for a character C are:
In this section we describe functions for creating, accessing and
altering syntax tables.
- - Function: make-syntax-table &optional TABLE
+ - Function: make-syntax-table &optional table
This function creates a new syntax table. Character codes 0
through 31 and 128 through 255 are set up to inherit from the
standard syntax table. The other character codes are set up by
Most major mode syntax tables are created in this way.
- - Function: copy-syntax-table &optional TABLE
+ - Function: copy-syntax-table &optional table
This function constructs a copy of TABLE and returns it. If TABLE
is not supplied (or is `nil'), it returns a copy of the current
syntax table. Otherwise, an error is signaled if TABLE is not a
syntax table.
- - Command: modify-syntax-entry CHAR SYNTAX-DESCRIPTOR &optional TABLE
+ - Command: modify-syntax-entry char syntax-descriptor &optional table
This function sets the syntax entry for CHAR according to
SYNTAX-DESCRIPTOR. The syntax is changed only for TABLE, which
defaults to the current buffer's syntax table, and not in any
(modify-syntax-entry ?/ ". 14")
=> nil
- - Function: char-syntax CHARACTER
+ - Function: char-syntax character
This function returns the syntax class of CHARACTER, represented
- by its mnemonic designator character. This *only* returns the
+ by its mnemonic designator character. This _only_ returns the
class, not any matching parenthesis or flags.
An error is signaled if CHAR is not a character.
(char-to-string (char-syntax ?\())
=> "("
- - Function: set-syntax-table TABLE &optional BUFFER
+ - Function: set-syntax-table table &optional buffer
This function makes TABLE the syntax table for BUFFER, which
defaults to the current buffer if omitted. It returns TABLE.
- - Function: syntax-table &optional BUFFER
+ - Function: syntax-table &optional buffer
This function returns the syntax table for BUFFER, which defaults
to the current buffer if omitted.
certain syntax classes. None of these functions exists in Emacs
version 18 or earlier.
- - Function: skip-syntax-forward SYNTAXES &optional LIMIT BUFFER
+ - Function: skip-syntax-forward syntaxes &optional limit buffer
This function moves point forward across characters having syntax
classes mentioned in SYNTAXES. It stops when it encounters the
end of the buffer, or position LIMIT (if specified), or a
character it is not supposed to skip. Optional argument BUFFER
defaults to the current buffer if omitted.
- - Function: skip-syntax-backward SYNTAXES &optional LIMIT BUFFER
+ - Function: skip-syntax-backward syntaxes &optional limit buffer
This function moves point backward across characters whose syntax
classes are mentioned in SYNTAXES. It stops when it encounters
the beginning of the buffer, or position LIMIT (if specified), or a
defaults to the current buffer if omitted.
- - Function: backward-prefix-chars &optional BUFFER
+ - Function: backward-prefix-chars &optional buffer
This function moves point backward over any number of characters
with expression prefix syntax. This includes both characters in
the expression prefix syntax class, and characters with the `p'
for C expressions when in C mode. *Note List Motion::, for convenient
higher-level functions for moving over balanced expressions.
- - Function: parse-partial-sexp START LIMIT &optional TARGET-DEPTH
- STOP-BEFORE STATE STOP-COMMENT BUFFER
+ - Function: parse-partial-sexp start limit &optional target-depth
+ stop-before state stop-comment buffer
This function parses a sexp in the current buffer starting at
START, not scanning past LIMIT. It stops at position LIMIT or
when certain criteria described below are met, and sets point to
This function is most often used to compute indentation for
languages that have nested parentheses.
- - Function: scan-lists FROM COUNT DEPTH &optional BUFFER NOERROR
+ - Function: scan-lists from count depth &optional buffer noerror
This function scans forward COUNT balanced parenthetical groupings
from character number FROM. It returns the character position
where the scan stops.
If optional arg NOERROR is non-`nil', `scan-lists' will return
`nil' instead of signalling an error.
- - Function: scan-sexps FROM COUNT &optional BUFFER NOERROR
+ - Function: scan-sexps from count &optional buffer noerror
This function scans forward COUNT sexps from character position
FROM. It returns the character position where the scan stops.
You can use `forward-comment' to move forward or backward over one
comment or several comments.
- - Function: forward-comment COUNT &optional BUFFER
+ - Function: forward-comment count &optional buffer
This function moves point forward across COUNT comments (backward,
if COUNT is negative). If it finds anything other than a comment
or whitespace, it stops, leaving point at the place where it
of one character: the syntax class, possible matching character, and
flags. Lisp programs don't usually work with the elements directly; the
Lisp-level syntax table functions usually work with syntax descriptors
-(*note Syntax Descriptors::.).
+(*note Syntax Descriptors::).
The low 8 bits of each element of a syntax table indicate the syntax
class.
An abbrev table is represented as an obarray containing a symbol for
each abbreviation. The symbol's name is the abbreviation; its value is
the expansion; its function definition is the hook function to do the
-expansion (*note Defining Abbrevs::.); its property list cell contains
+expansion (*note Defining Abbrevs::); its property list cell contains
the use count, the number of times the abbreviation has been expanded.
Because these symbols are not interned in the usual obarray, they will
never appear as the result of reading a Lisp expression; in fact,
This function creates and returns a new, empty abbrev table--an
obarray containing no symbols. It is a vector filled with zeros.
- - Function: clear-abbrev-table TABLE
+ - Function: clear-abbrev-table table
This function undefines all the abbrevs in abbrev table TABLE,
leaving it empty. The function returns `nil'.
- - Function: define-abbrev-table TABNAME DEFINITIONS
+ - Function: define-abbrev-table tabname definitions
This function defines TABNAME (a symbol) as an abbrev table name,
i.e., as a variable whose value is an abbrev table. It defines
abbrevs in the table according to DEFINITIONS, a list of elements
This is a list of symbols whose values are abbrev tables.
`define-abbrev-table' adds the new abbrev table name to this list.
- - Function: insert-abbrev-table-description NAME &optional HUMAN
+ - Function: insert-abbrev-table-description name &optional human
This function inserts before point a description of the abbrev
table named NAME. The argument NAME is a symbol whose value is an
abbrev table. The value is always `nil'.
`define-abbrev' is the low-level basic function, while `add-abbrev' is
used by commands that ask for information from the user.
- - Function: add-abbrev TABLE TYPE ARG
+ - Function: add-abbrev table type arg
This function adds an abbreviation to abbrev table TABLE based on
information from the user. The argument TYPE is a string
describing in English the kind of abbrev this will be (typically,
abbrev, or `nil' if the user declines to confirm redefining an
existing abbrev.
- - Function: define-abbrev TABLE NAME EXPANSION HOOK
+ - Function: define-abbrev table name expansion hook
This function defines an abbrev in TABLE named NAME, to expand to
EXPANSION, and call HOOK. The return value is an uninterned
symbol that represents the abbrev inside XEmacs; its name is NAME.
A file of saved abbrev definitions is actually a file of Lisp code.
The abbrevs are saved in the form of a Lisp program to define the same
abbrev tables with the same contents. Therefore, you can load the file
-with `load' (*note How Programs Do Loading::.). However, the function
+with `load' (*note How Programs Do Loading::). However, the function
`quietly-read-abbrev-file' is provided as a more convenient interface.
User-level facilities such as `save-some-buffers' can save abbrevs
- User Option: abbrev-file-name
This is the default file name for reading and saving abbrevs.
- - Function: quietly-read-abbrev-file FILENAME
+ - Function: quietly-read-abbrev-file filename
This function reads abbrev definitions from a file named FILENAME,
previously written with `write-abbrev-file'. If FILENAME is
`nil', the file specified in `abbrev-file-name' is used.
abbrevs. This serves as a flag for various XEmacs commands to
offer to save your abbrevs.
- - Command: write-abbrev-file FILENAME
+ - Command: write-abbrev-file filename
Save all abbrev definitions, in all abbrev tables, in the file
FILENAME, in the form of a Lisp program that when loaded will
define the same abbrevs. This function returns `nil'.
subroutines used in writing such functions, as well as the variables
they use for communication.
- - Function: abbrev-symbol ABBREV &optional TABLE
+ - Function: abbrev-symbol abbrev &optional table
This function returns the symbol representing the abbrev named
ABBREV. The value returned is `nil' if that abbrev is not
defined. The optional second argument TABLE is the abbrev table
the current buffer's local abbrev table, and second the global
abbrev table.
- - Function: abbrev-expansion ABBREV &optional TABLE
+ - Function: abbrev-expansion abbrev &optional table
This function returns the string that ABBREV would expand into (as
defined by the abbrev tables used for the current buffer). The
optional argument TABLE specifies the abbrev table to use, as in
does not follow an abbrev, this command does nothing. The command
returns `t' if it did expansion, `nil' otherwise.
- - Command: abbrev-prefix-mark &optional ARG
+ - Command: abbrev-prefix-mark &optional arg
Mark current point as the beginning of an abbrev. The next call to
`expand-abbrev' will use the text from here to point (where it is
then) as the abbrev to expand, rather than using the previous word
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
other. XEmacs efficiently handles buffers with large numbers of
extents in them.
- - Function: extentp OBJECT
+ - Function: extentp object
This returns `t' if OBJECT is an extent.
* Menu:
are invisible to functions that merely examine the text of a buffer or
string.
- *Please note:* An alternative way to add properties to a buffer or
+ _Please note:_ An alternative way to add properties to a buffer or
string is to use text properties. *Note Text Properties::.
An extent is logically a Lisp object consisting of a start position,
Creating and Modifying Extents
==============================
- - Function: make-extent FROM TO &optional OBJECT
+ - Function: make-extent from to &optional object
This function makes an extent for the range [FROM, TO) in OBJECT
(a buffer or string). OBJECT defaults to the current buffer.
Insertions at point TO will be outside of the extent; insertions
at FROM will be inside the extent, causing the extent to grow
- (*note Extent Endpoints::.). This is the same way that markers
+ (*note Extent Endpoints::). This is the same way that markers
behave. The extent is initially detached if both FROM and TO are
`nil', and in this case OBJECT defaults to `nil', meaning the
- extent is in no buffer or string (*note Detached Extents::.).
+ extent is in no buffer or string (*note Detached Extents::).
- - Function: delete-extent EXTENT
+ - Function: delete-extent extent
This function removes EXTENT from its buffer and destroys it.
This does not modify the buffer's text, only its display
properties. The extent cannot be used thereafter. To remove an
extent in such a way that it can be re-inserted later, use
`detach-extent'. *Note Detached Extents::.
- - Function: extent-object EXTENT
+ - Function: extent-object extent
This function returns the buffer or string that EXTENT is in. If
the return value is `nil', this means that the extent is detached;
however, a detached extent will not necessarily return a value of
`nil'.
- - Function: extent-live-p EXTENT
+ - Function: extent-live-p extent
This function returns `nil' if EXTENT is deleted, and `t'
otherwise.
Both endpoints can be equal, in which case the extent includes no
characters but still exists in the buffer or string. Zero-length
-extents are used to represent annotations (*note Annotations::.) and can
+extents are used to represent annotations (*note Annotations::) and can
be used as a more powerful form of a marker. Deletion of all the
characters in an extent may or may not result in a zero-length extent;
-this depends on the `detachable' property (*note Detached Extents::.).
+this depends on the `detachable' property (*note Detached Extents::).
Insertion at the position of a zero-length extent expands the extent if
both endpoints are closed; goes before the extent if it has the
`start-open' property; and goes after the extent if it has the
position, and then by decreasing end position (this is called the
"display order").
- - Function: extent-start-position EXTENT
+ - Function: extent-start-position extent
This function returns the start position of EXTENT.
- - Function: extent-end-position EXTENT
+ - Function: extent-end-position extent
This function returns the end position of EXTENT.
- - Function: extent-length EXTENT
+ - Function: extent-length extent
This function returns the length of EXTENT in characters. If the
extent is detached, this returns `0'. If the extent is not
detached, this is equivalent to
(- (extent-end-position EXTENT) (extent-start-position EXTENT))
- - Function: set-extent-endpoints EXTENT START END &optional
- BUFFER-OR-STRING
+ - Function: set-extent-endpoints extent start end &optional
+ buffer-or-string
This function sets the start and end position of EXTENT to START
and END. If both are `nil', this is equivalent to `detach-extent'.
The following functions provide a simple way of determining the
extents in a buffer or string. A number of more sophisticated
primitives for mapping over the extents in a range of a buffer or string
-are also provided (*note Mapping Over Extents::.). When reading through
+are also provided (*note Mapping Over Extents::). When reading through
this section, keep in mind the way that extents are ordered (*note
-Extent Endpoints::.).
+Extent Endpoints::).
- - Function: extent-list &optional BUFFER-OR-STRING FROM TO FLAGS
+ - Function: extent-list &optional buffer-or-string from to flags
This function returns a list of the extents in BUFFER-OR-STRING.
BUFFER-OR-STRING defaults to the current buffer if omitted. FROM
and TO can be used to limit the range over which extents are
extents by setting a particular property on them. The following
function makes it easier to locate those extents.
- - Function: extent-at POS &optional OBJECT PROPERTY BEFORE AT-FLAG
+ - Function: extent-at pos &optional object property before at-flag
This function finds the "smallest" extent (i.e., the last one in
the display order) at (i.e., overlapping) POS in OBJECT (a buffer
or string) having PROPERTY set. OBJECT defaults to the current
or loop using the BEFORE argument to `extent-at', rather than creating
a loop using `next-extent'.
- - Function: next-extent EXTENT
+ - Function: next-extent extent
Given an extent EXTENT, this function returns the next extent in
the buffer or string's display order. If EXTENT is a buffer or
string, this returns the first extent in the buffer or string.
- - Function: previous-extent EXTENT
+ - Function: previous-extent extent
Given an extent EXTENT, this function returns the previous extent
in the buffer or string's display order. If EXTENT is a buffer or
string, this returns the last extent in the buffer or string.
function to familiarize yourself with the concepts and optional
arguments involved. However, in practice you may find it more
convenient to use the function `mapcar-extents' or to create a loop
-using the `before' argument to `extent-at' (*note Finding Extents::.).
+using the `before' argument to `extent-at' (*note Finding Extents::).
- - Function: map-extents FUNCTION &optional OBJECT FROM TO MAPARG FLAGS
- PROPERTY VALUE
+ - Function: map-extents function &optional object from to maparg flags
+ property value
This function maps FUNCTION over the extents which overlap a
region in OBJECT. OBJECT is normally a buffer or string but could
be an extent (see below). The region is normally bounded by
region.
`negate-in-region'
- The condition specified by a `*-in-region' flag must *not*
+ The condition specified by a `*-in-region' flag must _not_
hold for the extent to be considered.
At most one of `all-extents-closed', `all-extents-open',
If you want to map over extents and accumulate a list of results,
the following function may be more convenient than `map-extents'.
- - Function: mapcar-extents FUNCTION &optional PREDICATE
- BUFFER-OR-STRING FROM TO FLAGS PROPERTY VALUE
+ - Function: mapcar-extents function &optional predicate
+ buffer-or-string from to flags property value
This function applies FUNCTION to all extents which overlap a
region in BUFFER-OR-STRING. The region is delimited by FROM and
TO. FUNCTION is called with one argument, the extent. A list of
VALUE may also be used to control the extents passed to PREDICATE
or FUNCTION, and have the same meaning as in `map-extents'.
- - Function: map-extent-children FUNCTION &optional OBJECT FROM TO
- MAPARG FLAGS PROPERTY VALUE
+ - Function: map-extent-children function &optional object from to
+ maparg flags property value
This function is similar to `map-extents', but differs in that:
* It only visits extents which start in the given region.
(defun walk-extents (buffer &optional ignore)
(map-extent-children 'walk-extents buffer))
- - Function: extent-in-region-p EXTENT &optional FROM TO FLAGS
+ - Function: extent-in-region-p extent &optional from to flags
This function returns T if `map-extents' would visit EXTENT if
called with the given arguments.
parent), and setting a property of the extent actually sets that
property on the parent. *Note Extent Parents::.
- - Function: extent-property EXTENT PROPERTY
+ - Function: extent-property extent property
This function returns the value of PROPERTY in EXTENT. If
PROPERTY is undefined, `nil' is returned.
- - Function: extent-properties EXTENT
+ - Function: extent-properties extent
This function returns a list of all of EXTENT's properties that do
not have the value of `nil' (or the default value, for properties
with predefined meanings).
- - Function: set-extent-property EXTENT PROPERTY VALUE
+ - Function: set-extent-property extent property value
This function sets PROPERTY to VALUE in EXTENT. (If PROPERTY has a
predefined meaning, only certain values are allowed, and some
values may be converted to others before being stored.)
- - Function: set-extent-properties EXTENT PLIST
+ - Function: set-extent-properties extent plist
Change some properties of EXTENT. PLIST is a property list. This
is useful to change many extent properties at once.
The following convenience functions are provided for accessing
particular properties of an extent.
- - Function: extent-face EXTENT
+ - Function: extent-face extent
This function returns the `face' property of EXTENT. This might
also return a list of face names. Do not modify this list
directly! Instead, use `set-extent-face'.
the return value of `extent-face' on the two extents will return
the identical list.
- - Function: extent-mouse-face EXTENT
+ - Function: extent-mouse-face extent
This function returns the `mouse-face' property of EXTENT. This
might also return a list of face names. Do not modify this list
directly! Instead, use `set-extent-mouse-face'.
Note that you can use `eq' to compare lists of faces as returned
by `extent-mouse-face', just like for `extent-face'.
- - Function: extent-priority EXTENT
+ - Function: extent-priority extent
This function returns the `priority' property of EXTENT.
- - Function: extent-keymap EXTENT
+ - Function: extent-keymap extent
This function returns the `keymap' property of EXTENT.
- - Function: extent-begin-glyph-layout EXTENT
+ - Function: extent-begin-glyph-layout extent
This function returns the `begin-glyph-layout' property of EXTENT,
i.e. the layout policy associated with the EXTENT's begin glyph.
- - Function: extent-end-glyph-layout EXTENT
+ - Function: extent-end-glyph-layout extent
This function returns the `end-glyph-layout' property of EXTENT,
i.e. the layout policy associated with the EXTENT's end glyph.
- - Function: extent-begin-glyph EXTENT
+ - Function: extent-begin-glyph extent
This function returns the `begin-glyph' property of EXTENT, i.e.
the glyph object displayed at the beginning of EXTENT. If there
is none, `nil' is returned.
- - Function: extent-end-glyph EXTENT
+ - Function: extent-end-glyph extent
This function returns the `end-glyph' property of EXTENT, i.e. the
glyph object displayed at the end of EXTENT. If there is none,
`nil' is returned.
The following convenience functions are provided for setting
particular properties of an extent.
- - Function: set-extent-priority EXTENT PRI
+ - Function: set-extent-priority extent pri
This function sets the `priority' property of EXTENT to PRI.
- - Function: set-extent-face EXTENT FACE
+ - Function: set-extent-face extent face
This function sets the `face' property of EXTENT to FACE.
- - Function: set-extent-mouse-face EXTENT FACE
+ - Function: set-extent-mouse-face extent face
This function sets the `mouse-face' property of EXTENT to FACE.
- - Function: set-extent-keymap EXTENT KEYMAP
+ - Function: set-extent-keymap extent keymap
This function sets the `keymap' property of EXTENT to KEYMAP.
KEYMAP must be either a keymap object, or `nil'.
- - Function: set-extent-begin-glyph-layout EXTENT LAYOUT
+ - Function: set-extent-begin-glyph-layout extent layout
This function sets the `begin-glyph-layout' property of EXTENT to
LAYOUT.
- - Function: set-extent-end-glyph-layout EXTENT LAYOUT
+ - Function: set-extent-end-glyph-layout extent layout
This function sets the `end-glyph-layout' property of EXTENT to
LAYOUT.
- - Function: set-extent-begin-glyph EXTENT BEGIN-GLYPH &optional LAYOUT
+ - Function: set-extent-begin-glyph extent begin-glyph &optional layout
This function sets the `begin-glyph' and `glyph-layout' properties
of EXTENT to BEGIN-GLYPH and LAYOUT, respectively. (LAYOUT
defaults to `text' if not specified.)
- - Function: set-extent-end-glyph EXTENT END-GLYPH &optional LAYOUT
+ - Function: set-extent-end-glyph extent end-glyph &optional layout
This function sets the `end-glyph' and `glyph-layout' properties
of EXTENT to END-GLYPH and LAYOUT, respectively. (LAYOUT defaults
to `text' if not specified.)
- - Function: set-extent-initial-redisplay-function EXTENT FUNCTION
+ - Function: set-extent-initial-redisplay-function extent function
This function sets the `initial-redisplay-function' property of the
extent to FUNCTION.
(Zero-length extents with the `detachable' property set behave
specially. *Note zero-length extents: Extent Endpoints.)
- - Function: detach-extent EXTENT
+ - Function: detach-extent extent
This function detaches EXTENT from its buffer or string. If
EXTENT has the `duplicable' property, its detachment is tracked by
the undo mechanism. *Note Duplicable Extents::.
- - Function: extent-detached-p EXTENT
+ - Function: extent-detached-p extent
This function returns `nil' if EXTENT is detached, and `t'
otherwise.
- - Function: copy-extent EXTENT &optional OBJECT
+ - Function: copy-extent extent &optional object
This function makes a copy of EXTENT. It is initially detached.
Optional argument OBJECT defaults to EXTENT's object (normally a
buffer or string, but could be `nil').
- - Function: insert-extent EXTENT &optional START END NO-HOOKS OBJECT
+ - Function: insert-extent extent &optional start end no-hooks object
This function inserts EXTENT from START to END in OBJECT (a buffer
or string). If EXTENT is detached from a different buffer or
string, or in most cases when EXTENT is already attached, the
Parent extents are used to implement the extents over the modeline.
- - Function: set-extent-parent EXTENT PARENT
+ - Function: set-extent-parent extent parent
This function sets the parent of EXTENT to PARENT. If PARENT is
`nil', the extent is set to have no parent.
- - Function: extent-parent EXTENT
+ - Function: extent-parent extent
This function return the parents (if any) of EXTENT, or `nil'.
- - Function: extent-children EXTENT
+ - Function: extent-children extent
This function returns a list of the children (if any) of EXTENT.
The children of an extent are all those extents whose parent is
that extent. This function does not recursively trace children of
children.
- - Function: extent-descendants EXTENT
+ - Function: extent-descendants extent
This function returns a list of all descendants of EXTENT,
including EXTENT. This recursively applies `extent-children' to
any children of EXTENT, until no more children can be found.
* When a string is created using `buffer-substring' or
`buffer-string', any duplicable extents in the region corresponding
to the string will be copied into the string (*note Buffer
- Contents::.). When the string in inserted into a buffer using
+ Contents::). When the string in inserted into a buffer using
`insert', `insert-before-markers', `insert-buffer' or
`insert-buffer-substring', the extents in the string will be copied
- back into the buffer (*note Insertion::.). The extents in a
- string can, of course, be retrieved explicitly using the standard
- extent primitives over the string.
+ back into the buffer (*note Insertion::). The extents in a string
+ can, of course, be retrieved explicitly using the standard extent
+ primitives over the string.
* Similarly, when text is copied or cut into the kill ring, any
duplicable extents will be remembered and reinserted later when
by merging the extent's face with the face or faces specified by the
`mouse-face' property. The effect is as if a pseudo-extent with the
`mouse-face' face were inserted after the extent in the display order
-(*note Extent Endpoints::., display order).
+(*note Extent Endpoints::, display order).
- Variable: mouse-highlight-priority
This variable holds the priority to use when merging in the
extent at a time can be highlighted in this fashion, and any other
highlighted extent will be de-highlighted.
- - Function: highlight-extent EXTENT &optional HIGHLIGHT-P
+ - Function: highlight-extent extent &optional highlight-p
This function highlights (if HIGHLIGHT-P is non-`nil') or
de-highlights (if HIGHLIGHT-P is `nil') EXTENT, if EXTENT has the
`mouse-face' property. (Nothing happens if EXTENT does not have
the `mouse-face' property.)
- - Function: force-highlight-extent EXTENT &optional HIGHLIGHT-P
+ - Function: force-highlight-extent extent &optional highlight-p
This function is similar to `highlight-extent' but highlights or
de-highlights the extent regardless of whether it has the
`mouse-face' property.
specifier object, in turn, is "instanced" in a particular situation to
yield the real value of the property in that situation.
- - Function: specifierp OBJECT
+ - Function: specifierp object
This function returns non-`nil' if OBJECT is a specifier.
* Menu:
(under user control) in a wide variety
of contexts.
* Specifiers In-Depth:: Gory details about specifier innards.
-* Specifier Instancing:: Instancing means obtaining the "value" of
+* Specifier Instancing:: Instancing means obtaining the ``value'' of
a specifier in a particular context.
* Specifier Types:: Specifiers come in different flavors.
-* Adding Specifications:: Specifications control a specifier's "value"
+* Adding Specifications:: Specifications control a specifier's ``value''
by giving conditions under which a
particular value is valid.
* Retrieving Specifications:: Querying a specifier's specifications.
The valid device types (normally `x', `tty', and `stream') and
device classes (normally `color', `grayscale', and `mono') can always
be used as tags, and match devices of the associated type or class
-(*note Consoles and Devices::.). User-defined tags may be defined,
-with an optional predicate specified. An application can create its
-own tag, use it to mark all its instantiators, and be fairly confident
-that it will not interfere with other applications that modify the same
+(*note Consoles and Devices::). User-defined tags may be defined, with
+an optional predicate specified. An application can create its own
+tag, use it to mark all its instantiators, and be fairly confident that
+it will not interfere with other applications that modify the same
specifier - Functions that add a specification to a specifier usually
only overwrite existing inst-pairs with the same tag set as was given,
and a particular tag or tag set can be specified when removing
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
information about image specifiers. *Note Toolbar::, for more
information on toolbar specifiers.
- - Function: specifier-type SPECIFIER
+ - Function: specifier-type specifier
This function returns the type of SPECIFIER. The returned value
will be a symbol: one of `integer', `boolean', etc., as listed in
the above table.
Functions are also provided to query whether an object is a
particular kind of specifier:
- - Function: boolean-specifier-p OBJECT
+ - Function: boolean-specifier-p object
This function returns non-`nil' if OBJECT is a boolean specifier.
- - Function: integer-specifier-p OBJECT
+ - Function: integer-specifier-p object
This function returns non-`nil' if OBJECT is an integer specifier.
- - Function: natnum-specifier-p OBJECT
+ - Function: natnum-specifier-p object
This function returns non-`nil' if OBJECT is a natnum specifier.
- - Function: generic-specifier-p OBJECT
+ - Function: generic-specifier-p object
This function returns non-`nil' if OBJECT is a generic specifier.
- - Function: face-boolean-specifier-p OBJECT
+ - Function: face-boolean-specifier-p object
This function returns non-`nil' if OBJECT is a face-boolean
specifier.
- - Function: toolbar-specifier-p OBJECT
+ - Function: toolbar-specifier-p object
This function returns non-`nil' if OBJECT is a toolbar specifier.
- - Function: font-specifier-p OBJECT
+ - Function: font-specifier-p object
This function returns non-`nil' if OBJECT is a font specifier.
- - Function: color-specifier-p OBJECT
+ - Function: color-specifier-p object
This function returns non-`nil' if OBJECT is a color specifier.
- - Function: image-specifier-p OBJECT
+ - Function: image-specifier-p object
This function returns non-`nil' if OBJECT is an image specifier.
\1f
Adding specifications to a Specifier
====================================
- - Function: add-spec-to-specifier SPECIFIER INSTANTIATOR &optional
- LOCALE TAG-SET HOW-TO-ADD
+ - Function: add-spec-to-specifier specifier instantiator &optional
+ locale tag-set how-to-add
This function adds a specification to SPECIFIER. The
specification maps from LOCALE (which should be a window, buffer,
frame, device, or the symbol `global', and defaults to `global')
locale type with the function `specifier-spec-list' or
`specifier-specs'.
- - Function: add-spec-list-to-specifier SPECIFIER SPEC-LIST &optional
- HOW-TO-ADD
+ - Function: add-spec-list-to-specifier specifier spec-list &optional
+ how-to-add
This function adds a "spec-list" (a list of specifications) to
SPECIFIER. The format of a spec-list is
* TAG-SET := an unordered list of zero or more TAGS, each of
which is a symbol
- * TAG := a device class (*note Consoles and Devices::.), a
+ * TAG := a device class (*note Consoles and Devices::), a
device type, or a tag defined with `define-specifier-tag'
* INSTANTIATOR := format determined by the type of specifier
In many circumstances, the higher-level function `set-specifier' is
more convenient and should be used instead.
- - Macro: let-specifier SPECIFIER-LIST &rest BODY
+ - Macro: let-specifier specifier-list &rest body
This special form temporarily adds specifications to specifiers,
evaluates forms in BODY and restores the specifiers to their
previous states. The specifiers and their temporary
(let-specifier ((modeline-shadow-thickness 0 (selected-window)))
(sit-for 1))
- - Function: set-specifier SPECIFIER VALUE &optional HOW-TO-ADD
+ - Function: set-specifier specifier value &optional how-to-add
This function adds some specifications to SPECIFIER. VALUE can be
a single instantiator or tagged instantiator (added as a global
specification), a list of tagged and/or untagged instantiators
functions always work with fully-qualified spec-lists; thus, there
is no ambiguity.
- - Function: canonicalize-inst-pair INST-PAIR SPECIFIER-TYPE &optional
- NOERROR
+ - Function: canonicalize-inst-pair inst-pair specifier-type &optional
+ noerror
This function canonicalizes the given INST-PAIR.
SPECIFIER-TYPE specifies the type of specifier that this SPEC-LIST
If NOERROR is non-`nil', signal an error if the inst-pair is
invalid; otherwise return `t'.
- - Function: canonicalize-inst-list INST-LIST SPECIFIER-TYPE &optional
- NOERROR
+ - Function: canonicalize-inst-list inst-list specifier-type &optional
+ noerror
This function canonicalizes the given INST-LIST (a list of
inst-pairs).
If NOERROR is non-`nil', signal an error if the inst-list is
invalid; otherwise return `t'.
- - Function: canonicalize-spec SPEC SPECIFIER-TYPE &optional NOERROR
+ - Function: canonicalize-spec spec specifier-type &optional noerror
This function canonicalizes the given SPEC (a specification).
SPECIFIER-TYPE specifies the type of specifier that this SPEC-LIST
If NOERROR is `nil', signal an error if the specification is
invalid; otherwise return `t'.
- - Function: canonicalize-spec-list SPEC-LIST SPECIFIER-TYPE &optional
- NOERROR
+ - Function: canonicalize-spec-list spec-list specifier-type &optional
+ noerror
This function canonicalizes the given SPEC-LIST (a list of
specifications).
Retrieving the Specifications from a Specifier
==============================================
- - Function: specifier-spec-list SPECIFIER &optional LOCALE TAG-SET
- EXACT-P
+ - Function: specifier-spec-list specifier &optional locale tag-set
+ exact-p
This function returns the spec-list of specifications for
SPECIFIER in LOCALE.
is non-`nil', however, TAG-SET must be equal to an instantiator's
tag set for the instantiator to be returned.
- - Function: specifier-specs SPECIFIER &optional LOCALE TAG-SET EXACT-P
+ - Function: specifier-specs specifier &optional locale tag-set exact-p
This function returns the specification(s) for SPECIFIER in LOCALE.
If LOCALE is a single locale or is a list of one element
from there being no instantiators at all.
- - Function: specifier-fallback SPECIFIER
+ - Function: specifier-fallback specifier
This function returns the fallback value for SPECIFIER. Fallback
values are provided by the C code for certain built-in specifiers
to make sure that instancing won't fail even if all specs are
Most of the time, a tag set is not specified, and the instantiator
gets a null tag set, which matches all devices.
- - Function: valid-specifier-tag-p TAG
+ - Function: valid-specifier-tag-p tag
This function returns non-`nil' if TAG is a valid specifier tag.
- - Function: valid-specifier-tag-set-p TAG-SET
+ - Function: valid-specifier-tag-set-p tag-set
This function returns non-`nil' if TAG-SET is a valid specifier
tag set.
- - Function: canonicalize-tag-set TAG-SET
+ - Function: canonicalize-tag-set tag-set
This function canonicalizes the given tag set. Two canonicalized
tag sets can be compared with `equal' to see if they represent the
same tag set. (Specifically, canonicalizing involves sorting by
symbol name and removing duplicates.)
- - Function: device-matches-specifier-tag-set-p DEVICE TAG-SET
+ - Function: device-matches-specifier-tag-set-p device tag-set
This function returns non-`nil' if DEVICE matches specifier tag
set TAG-SET. This means that DEVICE matches each tag in the tag
set.
- - Function: define-specifier-tag TAG &optional PREDICATE
+ - Function: define-specifier-tag tag &optional predicate
This function defines a new specifier tag. If PREDICATE is
specified, it should be a function of one argument (a device) that
specifies whether the tag matches that particular device. If
you cannot redefine the built-in specifier tags (the device types
and classes) or the symbols `nil', `t', `all', or `global'.
- - Function: device-matching-specifier-tag-list &optional DEVICE
+ - Function: device-matching-specifier-tag-list &optional device
This function returns a list of all specifier tags matching
DEVICE. DEVICE defaults to the selected device if omitted.
tags. This includes the built-in ones (the device types and
classes).
- - Function: specifier-tag-predicate TAG
+ - Function: specifier-tag-predicate tag
This function returns the predicate for the given specifier tag.
\1f
Functions for Instancing a Specifier
====================================
- - Function: specifier-instance SPECIFIER &optional DOMAIN DEFAULT
- NO-FALLBACK
+ - Function: specifier-instance specifier &optional domain default
+ no-fallback
This function instantiates SPECIFIER (return its value) in DOMAIN.
If no instance can be generated for this domain, return DEFAULT.
function), the returned value will be a font-instance object. For
images, the returned value will be a string, pixmap, or subwindow.
- - Function: specifier-instance-from-inst-list SPECIFIER DOMAIN
- INST-LIST &optional DEFAULT
+ - Function: specifier-instance-from-inst-list specifier domain
+ inst-list &optional default
This function attempts to convert a particular inst-list into an
instance. This attempts to instantiate INST-LIST in the given
DOMAIN, as if INST-LIST existed in a specification in SPECIFIER.
Creating New Specifier Objects
==============================
- - Function: make-specifier TYPE
+ - Function: make-specifier type
This function creates a new specifier.
A specifier is an object that can be used to keep track of a
`font-specifier-p', `image-specifier-p',
`face-boolean-specifier-p', and `toolbar-specifier-p'.
- - Function: make-specifier-and-init TYPE SPEC-LIST &optional
- DONT-CANONICALIZE
+ - Function: make-specifier-and-init type spec-list &optional
+ dont-canonicalize
This function creates and initialize a new specifier.
This is a front-end onto `make-specifier' that allows you to create
Functions for Checking the Validity of Specifier Components
===========================================================
- - Function: valid-specifier-domain-p DOMAIN
+ - Function: valid-specifier-domain-p domain
This function returns non-`nil' if DOMAIN is a valid specifier
domain. A domain is used to instance a specifier (i.e. determine
the specifier's value in that domain). Valid domains are a
window, frame, or device. (`nil' is not valid.)
- - Function: valid-specifier-locale-p LOCALE
+ - Function: valid-specifier-locale-p locale
This function returns non-`nil' if LOCALE is a valid specifier
locale. Valid locales are a device, a frame, a window, a buffer,
and `global'. (`nil' is not valid.)
- - Function: valid-specifier-locale-type-p LOCALE-TYPE
+ - Function: valid-specifier-locale-type-p locale-type
Given a specifier LOCALE-TYPE, this function returns non-nil if it
is valid. Valid locale types are the symbols `global', `device',
`frame', `window', and `buffer'. (Note, however, that in functions
that accept either a locale or a locale type, `global' is
considered an individual locale.)
- - Function: valid-specifier-type-p SPECIFIER-TYPE
+ - Function: valid-specifier-type-p specifier-type
Given a SPECIFIER-TYPE, this function returns non-`nil' if it is
valid. Valid types are `generic', `integer', `boolean', `color',
`font', `image', `face-boolean', and `toolbar'.
- - Function: valid-specifier-tag-p TAG
+ - Function: valid-specifier-tag-p tag
This function returns non-`nil' if TAG is a valid specifier tag.
- - Function: valid-instantiator-p INSTANTIATOR SPECIFIER-TYPE
+ - Function: valid-instantiator-p instantiator specifier-type
This function returns non-`nil' if INSTANTIATOR is valid for
SPECIFIER-TYPE.
- - Function: valid-inst-list-p INST-LIST TYPE
+ - Function: valid-inst-list-p inst-list type
This function returns non-`nil' if INST-LIST is valid for
specifier type TYPE.
- - Function: valid-spec-list-p SPEC-LIST TYPE
+ - Function: valid-spec-list-p spec-list type
This function returns non-`nil' if SPEC-LIST is valid for
specifier type TYPE.
- - Function: check-valid-instantiator INSTANTIATOR SPECIFIER-TYPE
+ - Function: check-valid-instantiator instantiator specifier-type
This function signals an error if INSTANTIATOR is invalid for
SPECIFIER-TYPE.
- - Function: check-valid-inst-list INST-LIST TYPE
+ - Function: check-valid-inst-list inst-list type
This function signals an error if INST-LIST is invalid for
specifier type TYPE.
- - Function: check-valid-spec-list SPEC-LIST TYPE
+ - Function: check-valid-spec-list spec-list type
This function signals an error if SPEC-LIST is invalid for
specifier type TYPE.
Other Functions for Working with Specifications in a Specifier
==============================================================
- - Function: copy-specifier SPECIFIER &optional DEST LOCALE TAG-SET
- EXACT-P HOW-TO-ADD
+ - Function: copy-specifier specifier &optional dest locale tag-set
+ exact-p how-to-add
This function copies SPECIFIER to DEST, or creates a new one if
DEST is `nil'.
types are copied will first be completely erased in DEST.
Otherwise, it is the same as in `add-spec-to-specifier'.
- - Function: remove-specifier SPECIFIER &optional LOCALE TAG-SET EXACT-P
+ - Function: remove-specifier specifier &optional locale tag-set exact-p
This function removes specification(s) for SPECIFIER.
If LOCALE is a particular locale (a buffer, window, frame, device,
is non-`nil', however, TAG-SET must be equal to an instantiator's
tag set for the instantiator to be removed.
- - Function: map-specifier SPECIFIER FUNC &optional LOCALE MAPARG
+ - Function: map-specifier specifier func &optional locale maparg
This function applies FUNC to the specification(s) for LOCALE in
SPECIFIER.
will stop and the returned value becomes the value returned from
`map-specifier'. Otherwise, `map-specifier' returns `nil'.
- - Function: specifier-locale-type-from-locale LOCALE
+ - Function: specifier-locale-type-from-locale locale
Given a specifier LOCALE, this function returns its type.
\1f
The face named `default' is used for ordinary text. The face named
`modeline' is used for displaying the modeline. The face named
-`highlight' is used for highlighted extents (*note Extents::.). The
+`highlight' is used for highlighted extents (*note Extents::). The
faces named `left-margin' and `right-margin' are used for the left and
-right margin areas, respectively (*note Annotations::.). The face
-named `zmacs-region' is used for the highlighted region between point
-and mark.
+right margin areas, respectively (*note Annotations::). The face named
+`zmacs-region' is used for the highlighted region between point and
+mark.
* Menu:
Here are the basic primitives for working with faces.
- - Function: make-face NAME &optional DOC-STRING TEMPORARY
+ - Function: make-face name &optional doc-string temporary
This function defines and returns a new face named NAME, initially
with all properties unspecified. It does nothing if there is
already a face named NAME. Optional argument DOC-STRING specifies
or Lisp code (otherwise, the face will continue to exist
indefinitely even if it is not used).
- - Function: face-list &optional TEMPORARY
+ - Function: face-list &optional temporary
This function returns a list of the names of all defined faces. If
TEMPORARY is `nil', only the permanent faces are included. If it
is `t', only the temporary faces are included. If it is any other
non-`nil' value both permanent and temporary are included.
- - Function: facep OBJECT
+ - Function: facep object
This function returns whether the given object is a face.
- - Function: copy-face OLD-FACE NEW-NAME &optional LOCALE HOW-TO-ADD
+ - Function: copy-face old-face new-name &optional locale how-to-add
This function defines a new face named NEW-NAME which is a copy of
the existing face named OLD-FACE. If there is already a face
named NEW-NAME, then it alters the face to have the same
properties as OLD-FACE. LOCALE and HOW-TO-ADD let you copy just
parts of the old face rather than the whole face, and are as in
- `copy-specifier' (*note Specifiers::.).
+ `copy-specifier' (*note Specifiers::).
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
specifier, unlike all the other built-in properties, and cannot
contain locale-specific values.
- - Function: set-face-property FACE PROPERTY VALUE &optional LOCALE TAG
- HOW-TO-ADD
+ - Function: set-face-property face property value &optional locale tag
+ how-to-add
This function changes a property of a FACE.
For built-in properties, the actual value of the property is a
If the value of the property is not a specifier, it will
automatically be converted into a `generic' specifier.
- - Function: face-property FACE PROPERTY &optional LOCALE
+ - Function: face-property face property &optional locale
This function returns FACE's value of the given PROPERTY.
If LOCALE is omitted, the FACE's actual value for PROPERTY will be
`face-property-instance' actually does all this, and is used to
determine how to display the face.
- - Function: face-property-instance FACE PROPERTY &optional DOMAIN
- DEFAULT NO-FALLBACK
+ - Function: face-property-instance face property &optional domain
+ default no-fallback
This function returns the instance of FACE's PROPERTY in the
specified DOMAIN.
Face Convenience Functions
--------------------------
- - Function: set-face-foreground FACE COLOR &optional LOCALE TAG
- HOW-TO-ADD
- - Function: set-face-background FACE COLOR &optional LOCALE TAG
- HOW-TO-ADD
+ - Function: set-face-foreground face color &optional locale tag
+ how-to-add
+ - Function: set-face-background face color &optional locale tag
+ how-to-add
These functions set the foreground (respectively, background)
color of face FACE to COLOR. The argument COLOR should be a
string (the name of a color) or a color object as returned by
- `make-color' (*note Colors::.).
+ `make-color' (*note Colors::).
- - Function: set-face-background-pixmap FACE PIXMAP &optional LOCALE
- TAG HOW-TO-ADD
+ - Function: set-face-background-pixmap face pixmap &optional locale
+ tag how-to-add
This function sets the background pixmap of face FACE to PIXMAP.
The argument PIXMAP should be a string (the name of a bitmap or
pixmap file; the directories listed in the variable
`x-bitmap-file-path' will be searched) or a glyph object as
- returned by `make-glyph' (*note Glyphs::.). The argument may also
+ returned by `make-glyph' (*note Glyphs::). The argument may also
be a list of the form `(WIDTH HEIGHT DATA)' where WIDTH and HEIGHT
are the size in pixels, and DATA is a string, containing the raw
bits of the bitmap.
- - Function: set-face-font FACE FONT &optional LOCALE TAG HOW-TO-ADD
+ - Function: set-face-font face font &optional locale tag how-to-add
This function sets the font of face FACE. The argument FONT
should be a string or a font object as returned by `make-font'
- (*note Fonts::.).
+ (*note Fonts::).
- - Function: set-face-underline-p FACE UNDERLINE-P &optional LOCALE TAG
- HOW-TO-ADD
+ - Function: set-face-underline-p face underline-p &optional locale tag
+ how-to-add
This function sets the underline property of face FACE.
- - Function: face-foreground FACE &optional LOCALE
- - Function: face-background FACE &optional LOCALE
+ - Function: face-foreground face &optional locale
+ - Function: face-background face &optional locale
These functions return the foreground (respectively, background)
color specifier of face FACE. *Note Colors::.
- - Function: face-background-pixmap FACE &optional LOCALE
+ - Function: face-background-pixmap face &optional locale
This function return the background-pixmap glyph object of face
FACE.
- - Function: face-font FACE &optional LOCALE
+ - Function: face-font face &optional locale
This function returns the font specifier of face FACE. (Note:
This is not the same as the function `face-font' in FSF Emacs.)
*Note Fonts::.
- - Function: face-font-name FACE &optional DOMAIN
+ - Function: face-font-name face &optional domain
This function returns the name of the font of face FACE, or `nil'
if it is unspecified. This is basically equivalent to `(font-name
(face-font FACE) DOMAIN)' except that it does not cause an error
if FACE's font is `nil'. (This function is named `face-font' in
FSF Emacs.)
- - Function: face-underline-p FACE &optional LOCALE
+ - Function: face-underline-p face &optional locale
This function returns the underline property of face FACE.
- - Function: face-foreground-instance FACE &optional DOMAIN
- - Function: face-background-instance FACE &optional DOMAIN
+ - Function: face-foreground-instance face &optional domain
+ - Function: face-background-instance face &optional domain
These functions return the foreground (respectively, background)
color specifier of face FACE. *Note Colors::.
- - Function: face-background-pixmap-instance FACE &optional DOMAIN
+ - Function: face-background-pixmap-instance face &optional domain
This function return the background-pixmap glyph object of face
FACE.
- - Function: face-font-instance FACE &optional DOMAIN
+ - Function: face-font-instance face &optional domain
This function returns the font specifier of face FACE. *Note
Fonts::.
Other Face Display Functions
----------------------------
- - Function: invert-face FACE &optional LOCALE
+ - Function: invert-face face &optional locale
Swap the foreground and background colors of face FACE. If the
face doesn't specify both foreground and background, then its
foreground and background are set to the default background and
foreground.
- - Function: face-equal FACE1 FACE2 &optional DOMAIN
+ - Function: face-equal face1 face2 &optional domain
This returns `t' if the faces FACE1 and FACE2 will display in the
same way. DOMAIN is as in `face-property-instance'.
- - Function: face-differs-from-default-p FACE &optional DOMAIN
+ - Function: face-differs-from-default-p face &optional domain
This returns `t' if the face FACE displays differently from the
default face. DOMAIN is as in `face-property-instance'.
Font Specifiers
---------------
- - Function: font-specifier-p OBJECT
+ - Function: font-specifier-p object
This predicate returns `t' if OBJECT is a font specifier, and
`nil' otherwise.
Font Instances
--------------
- - Function: font-instance-p OBJECT
+ - Function: font-instance-p object
This predicate returns `t' if OBJECT is a font instance, and `nil'
otherwise.
- - Function: make-font-instance NAME &optional DEVICE NOERROR
+ - Function: make-font-instance name &optional device noerror
This function creates a new font-instance object of the specified
name. DEVICE specifies the device this object applies to and
defaults to the selected device. An error is signalled if the
Font Instance Names
-------------------
- - Function: list-fonts PATTERN &optional DEVICE
+ - Function: list-fonts pattern &optional device
This function returns a list of font names matching the given
pattern. DEVICE specifies which device to search for names, and
defaults to the currently selected device.
- - Function: font-instance-name FONT-INSTANCE
+ - Function: font-instance-name font-instance
This function returns the name used to allocate FONT-INSTANCE.
- - Function: font-instance-truename FONT-INSTANCE
+ - Function: font-instance-truename font-instance
This function returns the canonical name of the given font
instance. Font names are patterns which may match any number of
fonts, of which the first found is used. This returns an
Font Instance Size
------------------
- - Function: x-font-size FONT
+ - Function: x-font-size font
This function returns the nominal size of the given font. This is
done by parsing its name, so it's likely to lose. X fonts can be
specified (by the user) in either pixels or 10ths of points, and
this returns the first one it finds, so you have to decide which
units the returned value is measured in yourself ...
- - Function: x-find-larger-font FONT &optional DEVICE
+ - Function: x-find-larger-font font &optional device
This function loads a new, slightly larger version of the given
font (or font name). Returns the font if it succeeds, `nil'
otherwise. If scalable fonts are available, this returns a font
which is 1 point larger. Otherwise, it returns the next larger
version of this font that is defined.
- - Function: x-find-smaller-font FONT &optional DEVICE
+ - Function: x-find-smaller-font font &optional device
This function loads a new, slightly smaller version of the given
font (or font name). Returns the font if it succeeds, `nil'
otherwise. If scalable fonts are available, this returns a font
Font Instance Characteristics
-----------------------------
- - Function: font-instance-properties FONT
+ - Function: font-instance-properties font
This function returns the properties (an alist or `nil') of
FONT-INSTANCE.
- - Function: x-make-font-bold FONT &optional DEVICE
+ - Function: x-make-font-bold font &optional device
Given an X font specification, this attempts to make a "bold" font.
If it fails, it returns `nil'.
- - Function: x-make-font-unbold FONT &optional DEVICE
+ - Function: x-make-font-unbold font &optional device
Given an X font specification, this attempts to make a non-bold
font. If it fails, it returns `nil'.
- - Function: x-make-font-italic FONT &optional DEVICE
+ - Function: x-make-font-italic font &optional device
Given an X font specification, this attempts to make an "italic"
font. If it fails, it returns `nil'.
- - Function: x-make-font-unitalic FONT &optional DEVICE
+ - Function: x-make-font-unitalic font &optional device
Given an X font specification, this attempts to make a non-italic
font. If it fails, it returns `nil'.
- - Function: x-make-font-bold-italic FONT &optional DEVICE
+ - Function: x-make-font-bold-italic font &optional device
Given an X font specification, this attempts to make a
"bold-italic" font. If it fails, it returns `nil'.
Font Convenience Functions
--------------------------
- - Function: font-name FONT &optional DOMAIN
+ - Function: font-name font &optional domain
This function returns the name of the FONT in the specified
DOMAIN, if any. FONT should be a font specifier object and DOMAIN
is normally a window and defaults to the selected window if
omitted. This is equivalent to using `specifier-instance' and
applying `font-instance-name' to the result.
- - Function: font-truename FONT &optional DOMAIN
+ - Function: font-truename font &optional domain
This function returns the truename of the FONT in the specified
DOMAIN, if any. FONT should be a font specifier object and DOMAIN
is normally a window and defaults to the selected window if
omitted. This is equivalent to using `specifier-instance' and
applying `font-instance-truename' to the result.
- - Function: font-properties FONT &optional DOMAIN
+ - Function: font-properties font &optional domain
This function returns the properties of the FONT in the specified
DOMAIN, if any. FONT should be a font specifier object and DOMAIN
is normally a window and defaults to the selected window if
Color Specifiers
----------------
- - Function: color-specifier-p OBJECT
+ - Function: color-specifier-p object
This function returns non-`nil' if OBJECT is a color specifier.
\1f
color of the `default' face is displayed in the next window after the
selected one.
- - Function: color-instance-p OBJECT
+ - Function: color-instance-p object
This function returns non-`nil' if OBJECT is a color-instance.
\1f
Color Instance Properties
-------------------------
- - Function: color-instance-name COLOR-INSTANCE
+ - Function: color-instance-name color-instance
This function returns the name used to allocate COLOR-INSTANCE.
- - Function: color-instance-rgb-components COLOR-INSTANCE
+ - Function: color-instance-rgb-components color-instance
This function returns a three element list containing the red,
green, and blue color components of COLOR-INSTANCE.
Color Convenience Functions
---------------------------
- - Function: color-name COLOR &optional DOMAIN
+ - Function: color-name color &optional domain
This function returns the name of the COLOR in the specified
DOMAIN, if any. COLOR should be a color specifier object and
DOMAIN is normally a window and defaults to the selected window if
omitted. This is equivalent to using `specifier-instance' and
applying `color-instance-name' to the result.
- - Function: color-rgb-components COLOR &optional DOMAIN
+ - Function: color-rgb-components color &optional domain
This function returns the RGB components of the COLOR in the
specified DOMAIN, if any. COLOR should be a color specifier
object and DOMAIN is normally a window and defaults to the
just the actual image: e.g. the face it is displayed in (for text
images), the alignment of the image (when it is in a buffer), etc.
- - Function: glyphp OBJECT
+ - Function: glyphp object
This function returns `t' if OBJECT is a glyph.
* Menu:
Creating Glyphs
---------------
- - Function: make-glyph &optional SPEC-LIST TYPE
+ - Function: make-glyph &optional spec-list type
This function creates a new glyph object of type TYPE.
SPEC-LIST is used to initialize the glyph's image. It is
for the mouse-pointer), or `icon' (used for a frame's icon), and
defaults to `buffer'. *Note Glyph Types::.
- - Function: make-glyph-internal &optional TYPE
+ - Function: make-glyph-internal &optional type
This function creates a new, uninitialized glyph of type TYPE.
- - Function: make-pointer-glyph &optional SPEC-LIST
+ - Function: make-pointer-glyph &optional spec-list
This function is equivalent to calling `make-glyph' with a TYPE of
`pointer'.
- - Function: make-icon-glyph &optional SPEC-LIST
+ - Function: make-icon-glyph &optional spec-list
This function is equivalent to calling `make-glyph' with a TYPE of
`icon'.
Only for glyphs displayed inside of a buffer.
`face'
- Face of this glyph (*not* a specifier).
+ Face of this glyph (_not_ a specifier).
- - Function: set-glyph-property GLYPH PROPERTY VALUE &optional LOCALE
- TAG-SET HOW-TO-ADD
+ - Function: set-glyph-property glyph property value &optional locale
+ tag-set how-to-add
This function changes a property of a GLYPH.
For built-in properties, the actual value of the property is a
If the value of the property is not a specifier, it will
automatically be converted into a `generic' specifier.
- - Function: glyph-property GLYPH PROPERTY &optional LOCALE
+ - Function: glyph-property glyph property &optional locale
This function returns GLYPH's value of the given PROPERTY.
If LOCALE is omitted, the GLYPH's actual value for PROPERTY will
`glyph-property-instance' actually does all this, and is used to
determine how to display the glyph.
- - Function: glyph-property-instance GLYPH PROPERTY &optional DOMAIN
- DEFAULT NO-FALLBACK
+ - Function: glyph-property-instance glyph property &optional domain
+ default no-fallback
This function returns the instance of GLYPH's PROPERTY in the
specified DOMAIN.
Optional arguments DEFAULT and NO-FALLBACK are the same as in
`specifier-instance'. *Note Specifiers::.
- - Function: remove-glyph-property GLYPH PROPERTY &optional LOCALE
- TAG-SET EXACT-P
+ - Function: remove-glyph-property glyph property &optional locale
+ tag-set exact-p
This function removes a property from a glyph. For built-in
properties, this is analogous to `remove-specifier'. *Note
remove-specifier-p: Specifiers, for the meaning of the LOCALE,
latter will return a boolean specifier or a list of specifications, and
you probably aren't concerned with these.)
- - Function: glyph-image GLYPH &optional LOCALE
+ - Function: glyph-image glyph &optional locale
This function is equivalent to calling `glyph-property' with a
property of `image'. The return value will be an image specifier
if LOCALE is `nil' or omitted; otherwise, it will be a
specification or list of specifications.
- - Function: set-glyph-image GLYPH SPEC &optional LOCALE TAG-SET
- HOW-TO-ADD
+ - Function: set-glyph-image glyph spec &optional locale tag-set
+ how-to-add
This function is equivalent to calling `set-glyph-property' with a
property of `image'.
- - Function: glyph-image-instance GLYPH &optional DOMAIN DEFAULT
- NO-FALLBACK
+ - Function: glyph-image-instance glyph &optional domain default
+ no-fallback
This function returns the instance of GLYPH's image in the given
DOMAIN, and is equivalent to calling `glyph-property-instance'
with a property of `image'. The return value will be an image
window), and an instance object describing how the image appears
in that particular window and buffer will be returned.
- - Function: glyph-contrib-p GLYPH &optional LOCALE
+ - Function: glyph-contrib-p glyph &optional locale
This function is equivalent to calling `glyph-property' with a
property of `contrib-p'. The return value will be a boolean
specifier if LOCALE is `nil' or omitted; otherwise, it will be a
specification or list of specifications.
- - Function: set-glyph-contrib-p GLYPH SPEC &optional LOCALE TAG-SET
- HOW-TO-ADD
+ - Function: set-glyph-contrib-p glyph spec &optional locale tag-set
+ how-to-add
This function is equivalent to calling `set-glyph-property' with a
property of `contrib-p'.
- - Function: glyph-contrib-p-instance GLYPH &optional DOMAIN DEFAULT
- NO-FALLBACK
+ - Function: glyph-contrib-p-instance glyph &optional domain default
+ no-fallback
This function returns whether the glyph contributes to its line
height in the given DOMAIN, and is equivalent to calling
`glyph-property-instance' with a property of `contrib-p'. The
return value will be either `nil' or `t'. (Normally DOMAIN will be
a window or `nil', meaning the selected window.)
- - Function: glyph-baseline GLYPH &optional LOCALE
+ - Function: glyph-baseline glyph &optional locale
This function is equivalent to calling `glyph-property' with a
property of `baseline'. The return value will be a specifier if
LOCALE is `nil' or omitted; otherwise, it will be a specification
or list of specifications.
- - Function: set-glyph-baseline GLYPH SPEC &optional LOCALE TAG-SET
- HOW-TO-ADD
+ - Function: set-glyph-baseline glyph spec &optional locale tag-set
+ how-to-add
This function is equivalent to calling `set-glyph-property' with a
property of `baseline'.
- - Function: glyph-baseline-instance GLYPH &optional DOMAIN DEFAULT
- NO-FALLBACK
+ - Function: glyph-baseline-instance glyph &optional domain default
+ no-fallback
This function returns the instance of GLYPH's baseline value in
the given DOMAIN, and is equivalent to calling
`glyph-property-instance' with a property of `baseline'. The
window), and an instance object describing the baseline value
appears in that particular window and buffer will be returned.
- - Function: glyph-face GLYPH
+ - Function: glyph-face glyph
This function returns the face of GLYPH. (Remember, this is not a
specifier, but a simple property.)
- - Function: set-glyph-face GLYPH FACE
+ - Function: set-glyph-face glyph face
This function changes the face of GLYPH to FACE.
\1f
Glyph Dimensions
----------------
- - Function: glyph-width GLYPH &optional WINDOW
+ - Function: glyph-width glyph &optional window
This function returns the width of GLYPH on WINDOW. This may not
be exact as it does not take into account all of the context that
redisplay will.
- - Function: glyph-ascent GLYPH &optional WINDOW
+ - Function: glyph-ascent glyph &optional window
This function returns the ascent value of GLYPH on WINDOW. This
may not be exact as it does not take into account all of the
context that redisplay will.
- - Function: glyph-descent GLYPH &optional WINDOW
+ - Function: glyph-descent glyph &optional window
This function returns the descent value of GLYPH on WINDOW. This
may not be exact as it does not take into account all of the
context that redisplay will.
- - Function: glyph-height GLYPH &optional WINDOW
+ - Function: glyph-height glyph &optional window
This function returns the height of GLYPH on WINDOW. (This is
equivalent to the sum of the ascent and descent values.) This may
not be exact as it does not take into account all of the context
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
----------------
An image specifier is used to describe the actual image of a glyph.
-It works like other specifiers (*note Specifiers::.), in that it
-contains a number of specifications describing how the image should
-appear in a variety of circumstances. These specifications are called
-"image instantiators". When XEmacs wants to display the image, it
-instantiates the image into an "image instance". Image instances are
-their own primitive object type (similar to font instances and color
-instances), describing how the image appears in a particular domain.
-(On the other hand, image instantiators, which are just descriptions of
-how the image should appear, are represented using strings or vectors.)
-
- - Function: image-specifier-p OBJECT
+It works like other specifiers (*note Specifiers::), in that it contains
+a number of specifications describing how the image should appear in a
+variety of circumstances. These specifications are called "image
+instantiators". When XEmacs wants to display the image, it instantiates
+the image into an "image instance". Image instances are their own
+primitive object type (similar to font instances and color instances),
+describing how the image appears in a particular domain. (On the other
+hand, image instantiators, which are just descriptions of how the image
+should appear, are represented using strings or vectors.)
+
+ - Function: image-specifier-p object
This function returns non-`nil' if OBJECT is an image specifier.
Usually, an image specifier results from calling `glyph-image' on
a glyph.
- - Function: make-image-specifier SPEC-LIST
+ - Function: make-image-specifier spec-list
This function creates a new image specifier object and initializes
it according to SPEC-LIST. It is unlikely that you will ever want
to do this, but this function is provided for completeness and for
image, but does not need to exist at any other time (e.g. it may safely
be a temporary file).
- - Function: valid-image-instantiator-format-p FORMAT
+ - Function: valid-image-instantiator-format-p format
This function returns non-`nil' if FORMAT is a valid image
instantiator format. Note that the return value for many formats
listed above depends on whether XEmacs was compiled with support
`(COLOR-NAME FORM-TO-EVALUATE)'. The COLOR-NAME should be a
string, which is the name of the color to define; the
FORM-TO-EVALUATE should evaluate to a color specifier object, or a
- string to be passed to `make-color-instance' (*note Colors::.). If
+ string to be passed to `make-color-instance' (*note Colors::). If
a loaded XPM file references a symbolic color called COLOR-NAME,
it will display as the computed color instead.
Image Instantiator Conversion
-----------------------------
- - Function: set-console-type-image-conversion-list CONSOLE-TYPE LIST
+ - Function: set-console-type-image-conversion-list console-type list
This function sets the image-conversion-list for consoles of the
given CONSOLE-TYPE. The image-conversion-list specifies how image
instantiators that are strings should be interpreted. Each
affects newly-added instantiators. Existing instantiators in
glyphs and image specifiers will not be affected.
- - Function: console-type-image-conversion-list CONSOLE-TYPE
+ - Function: console-type-image-conversion-list console-type
This function returns the image-conversion-list for consoles of
the given CONSOLE-TYPE.
to explicitly create image instances, if you want more control over the
instantiation process.
- - Function: image-instance-p OBJECT
+ - Function: image-instance-p object
This function returns non-`nil' if OBJECT is an image instance.
* Menu:
another program to be responsible for drawing into the window.
Not currently implemented.
- - Function: valid-image-instance-type-p TYPE
+ - Function: valid-image-instance-type-p type
This function returns non-`nil' if TYPE is a valid image instance
type.
- Function: image-instance-type-list
This function returns a list of the valid image instance types.
- - Function: image-instance-type IMAGE-INSTANCE
+ - Function: image-instance-type image-instance
This function returns the type of the given image instance. The
return value will be one of `nothing', `text', `mono-pixmap',
`color-pixmap', `pointer', or `subwindow'.
- - Function: text-image-instance-p OBJECT
+ - Function: text-image-instance-p object
This function returns non-`nil' if OBJECT is an image instance of
type `text'.
- - Function: mono-pixmap-image-instance-p OBJECT
+ - Function: mono-pixmap-image-instance-p object
This function returns non-`nil' if OBJECT is an image instance of
type `mono-pixmap'.
- - Function: color-pixmap-image-instance-p OBJECT
+ - Function: color-pixmap-image-instance-p object
This function returns non-`nil' if OBJECT is an image instance of
type `color-pixmap'.
- - Function: pointer-image-instance-p OBJECT
+ - Function: pointer-image-instance-p object
This function returns non-`nil' if OBJECT is an image instance of
type `pointer'.
- - Function: subwindow-image-instance-p OBJECT
+ - Function: subwindow-image-instance-p object
This function returns non-`nil' if OBJECT is an image instance of
type `subwindow'.
- - Function: nothing-image-instance-p OBJECT
+ - Function: nothing-image-instance-p object
This function returns non-`nil' if OBJECT is an image instance of
type `nothing'.
Image Instance Functions
........................
- - Function: make-image-instance DATA &optional DEVICE DEST-TYPES
- NO-ERROR
+ - Function: make-image-instance data &optional device dest-types
+ no-error
This function creates a new image-instance object.
DATA is an image instantiator, which describes the image (*note
- Image Specifiers::.).
+ Image Specifiers::).
DEST-TYPES should be a list of allowed image instance types that
can be generated. The DEST-TYPES list is unordered. If multiple
generated and this function returns NIL. If anything else, a
warning message is generated and this function returns NIL.
- - Function: colorize-image-instance IMAGE-INSTANCE FOREGROUND
- BACKGROUND
+ - Function: colorize-image-instance image-instance foreground
+ background
This function makes the image instance be displayed in the given
colors. Image instances come in two varieties: bitmaps, which are
1 bit deep which are rendered in the prevailing foreground and
instance was a pixmap already, nothing is done (and `nil' is
returned). Otherwise `t' is returned.
- - Function: image-instance-name IMAGE-INSTANCE
+ - Function: image-instance-name image-instance
This function returns the name of the given image instance.
- - Function: image-instance-string IMAGE-INSTANCE
+ - Function: image-instance-string image-instance
This function returns the string of the given image instance.
This will only be non-`nil' for text image instances.
- - Function: image-instance-file-name IMAGE-INSTANCE
+ - Function: image-instance-file-name image-instance
This function returns the file name from which IMAGE-INSTANCE was
read, if known.
- - Function: image-instance-mask-file-name IMAGE-INSTANCE
+ - Function: image-instance-mask-file-name image-instance
This function returns the file name from which IMAGE-INSTANCE's
mask was read, if known.
- - Function: image-instance-depth IMAGE-INSTANCE
+ - Function: image-instance-depth image-instance
This function returns the depth of the image instance. This is 0
for a mono pixmap, or a positive integer for a color pixmap.
- - Function: image-instance-height IMAGE-INSTANCE
+ - Function: image-instance-height image-instance
This function returns the height of the image instance, in pixels.
- - Function: image-instance-width IMAGE-INSTANCE
+ - Function: image-instance-width image-instance
This function returns the width of the image instance, in pixels.
- - Function: image-instance-hotspot-x IMAGE-INSTANCE
+ - Function: image-instance-hotspot-x image-instance
This function returns the X coordinate of the image instance's
hotspot, if known. This is a point relative to the origin of the
pixmap. When an image is used as a mouse pointer, the hotspot is
This will always be `nil' for a non-pointer image instance.
- - Function: image-instance-hotspot-y IMAGE-INSTANCE
+ - Function: image-instance-hotspot-y image-instance
This function returns the Y coordinate of the image instance's
hotspot, if known.
- - Function: image-instance-foreground IMAGE-INSTANCE
+ - Function: image-instance-foreground image-instance
This function returns the foreground color of IMAGE-INSTANCE, if
applicable. This will be a color instance or `nil'. (It will only
be non-`nil' for colorized mono pixmaps and for pointers.)
- - Function: image-instance-background IMAGE-INSTANCE
+ - Function: image-instance-background image-instance
This function returns the background color of IMAGE-INSTANCE, if
applicable. This will be a color instance or `nil'. (It will only
be non-`nil' for colorized mono pixmaps and for pointers.)
iconified. Their image can be instantiated as `mono-pixmap' and
`color-pixmap'.
- - Function: glyph-type GLYPH
+ - Function: glyph-type glyph
This function returns the type of the given glyph. The return
value will be a symbol, one of `buffer', `pointer', or `icon'.
- - Function: valid-glyph-type-p GLYPH-TYPE
+ - Function: valid-glyph-type-p glyph-type
Given a GLYPH-TYPE, this function returns non-`nil' if it is valid.
- Function: glyph-type-list
This function returns a list of valid glyph types.
- - Function: buffer-glyph-p OBJECT
+ - Function: buffer-glyph-p object
This function returns non-`nil' if OBJECT is a glyph of type
`buffer'.
- - Function: icon-glyph-p OBJECT
+ - Function: icon-glyph-p object
This function returns non-`nil' if OBJECT is a glyph of type
`icon'.
- - Function: pointer-glyph-p OBJECT
+ - Function: pointer-glyph-p object
This function returns non-`nil' if OBJECT is a glyph of type
`pointer'.
per-frame, per-window, or per-device basis.
You should use `set-glyph-image' to set the following variables,
-*not* `setq'.
+_not_ `setq'.
- Glyph: text-pointer-glyph
This variable specifies the shape of the mouse pointer when over
mouse moves. That function calls `set-frame-pointer', which sets the
current mouse pointer for a frame.
- - Function: set-frame-pointer FRAME IMAGE-INSTANCE
+ - Function: set-frame-pointer frame image-instance
This function sets the mouse pointer of FRAME to the given pointer
image instance. You should not call this function directly. (If
you do, the pointer will change again the next time the mouse
Subwindows are not currently implemented.
- - Function: subwindowp OBJECT
+ - Function: subwindowp object
This function returns non-`nil' if OBJECT is a subwindow.
\1f
Annotations can be displayed intermixed with text, in any whitespace at
the beginning or end of a line, or in a special area at the left or
right side of the frame called a "margin", whose size is controllable.
-Annotations are implemented using extents (*note Extents::.); but you
+Annotations are implemented using extents (*note Extents::); but you
can work with annotations without knowing how extents work.
* Menu:
Annotation Primitives
=====================
- - Function: make-annotation GLYPH &optional POSITION LAYOUT BUFFER
- WITH-EVENT D-GLYPH RIGHTP
+ - Function: make-annotation glyph &optional position layout buffer
+ with-event d-glyph rightp
This function creates a marginal annotation at position POS in
BUFFER. The annotation is displayed using GLYPH, which should be
a glyph object or a string, and is positioned using layout policy
The newly created annotation is returned.
- - Function: delete-annotation ANNOTATION
+ - Function: delete-annotation annotation
This function removes ANNOTATION from its buffer. This does not
modify the buffer text.
- - Function: annotationp ANNOTATION
+ - Function: annotationp annotation
This function returns `t' if ANNOTATION is an annotation, `nil'
otherwise.
Annotation Properties
=====================
- - Function: annotation-glyph ANNOTATION
+ - Function: annotation-glyph annotation
This function returns the glyph object used to display ANNOTATION.
- - Function: set-annotation-glyph ANNOTATION GLYPH &optional LAYOUT SIDE
+ - Function: set-annotation-glyph annotation glyph &optional layout side
This function sets the glyph of ANNOTATION to GLYPH, which should
be a glyph object. If LAYOUT is non-`nil', set the layout policy
of ANNOTATION to LAYOUT. If SIDE is `left' or `right', change the
side of the buffer at which the annotation is displayed to the
given side. The new value of `annotation-glyph' is returned.
- - Function: annotation-down-glyph ANNOTATION
+ - Function: annotation-down-glyph annotation
This function returns the glyph used to display ANNOTATION when
the left mouse button is depressed on the annotation.
- - Function: set-annotation-down-glyph ANNOTATION GLYPH
+ - Function: set-annotation-down-glyph annotation glyph
This function returns the glyph used to display ANNOTATION when
the left mouse button is depressed on the annotation to GLYPH,
which should be a glyph object.
- - Function: annotation-face ANNOTATION
+ - Function: annotation-face annotation
This function returns the face associated with ANNOTATION.
- - Function: set-annotation-face ANNOTATION FACE
+ - Function: set-annotation-face annotation face
This function sets the face associated with ANNOTATION to FACE.
- - Function: annotation-layout ANNOTATION
+ - Function: annotation-layout annotation
This function returns the layout policy of ANNOTATION.
- - Function: set-annotation-layout ANNOTATION LAYOUT
+ - Function: set-annotation-layout annotation layout
This function sets the layout policy of ANNOTATION to LAYOUT.
- - Function: annotation-side ANNOTATION
+ - Function: annotation-side annotation
This function returns the side of the buffer that ANNOTATION is
displayed on. Return value is a symbol, either `left' or `right'.
- - Function: annotation-data ANNOTATION
+ - Function: annotation-data annotation
This function returns the data associated with ANNOTATION.
- - Function: set-annotation-data ANNOTATION DATA
+ - Function: set-annotation-data annotation data
This function sets the data field of ANNOTATION to DATA. DATA is
returned.
- - Function: annotation-action ANNOTATION
+ - Function: annotation-action annotation
This function returns the action associated with ANNOTATION.
- - Function: set-annotation-action ANNOTATION ACTION
+ - Function: set-annotation-action annotation action
This function sets the action field of ANNOTATION to ACTION.
ACTION is returned..
- - Function: annotation-menu ANNOTATION
+ - Function: annotation-menu annotation
This function returns the menu associated with ANNOTATION.
- - Function: set-annotation-menu ANNOTATION MENU
+ - Function: set-annotation-menu annotation menu
This function sets the menu associated with ANNOTATION to MENU.
This menu will be displayed when the right mouse button is pressed
over the annotation.
- - Function: annotation-visible ANNOTATION
+ - Function: annotation-visible annotation
This function returns `t' if there is enough available space to
display ANNOTATION, `nil' otherwise.
- - Function: annotation-width ANNOTATION
+ - Function: annotation-width annotation
This function returns the width of ANNOTATION in pixels.
- - Function: hide-annotation ANNOTATION
+ - Function: hide-annotation annotation
This function removes ANNOTATION's glyph, making it invisible.
- - Function: reveal-annotation ANNOTATION
+ - Function: reveal-annotation annotation
This function restores ANNOTATION's glyph, making it visible.
\1f
Locating Annotations
====================
- - Function: annotations-in-region START END BUFFER
+ - Function: annotations-in-region start end buffer
This function returns a list of all annotations in BUFFER which
are between START and END inclusively.
- - Function: annotations-at &optional POSITION BUFFER
+ - Function: annotations-at &optional position buffer
This function returns a list of all annotations at POSITION in
BUFFER. If POSITION is `nil' point is used. If BUFFER is `nil'
the current buffer is used.
- - Function: annotation-list &optional BUFFER
+ - Function: annotation-list &optional buffer
This function returns a list of all annotations in BUFFER. If
BUFFER is `nil', the current buffer is used.
to `nil'. This is a specifier variable; use `set-specifier' to
change its value.
- - Function: window-left-margin-pixel-width &optional WINDOW
+ - Function: window-left-margin-pixel-width &optional window
This function returns the width in pixels of the left outside
margin of WINDOW. If WINDOW is `nil', the selected window is
assumed.
- - Function: window-right-margin-pixel-width &optional WINDOW
+ - Function: window-right-margin-pixel-width &optional window
This function returns the width in pixels of the right outside
margin of WINDOW. If WINDOW is `nil', the selected window is
assumed.
The function `redraw-frame' redisplays the entire contents of a
given frame. *Note Frames::.
- - Function: redraw-frame FRAME
+ - Function: redraw-frame frame
This function clears and redisplays frame FRAME.
Even more powerful is `redraw-display':
- - Command: redraw-display &optional DEVICE
+ - Command: redraw-display &optional device
This function redraws all frames on DEVICE marked as having their
image garbled. DEVICE defaults to the selected device. If DEVICE
is `t', all devices will have their frames checked.
- User Option: truncate-partial-width-windows
This variable controls display of lines that extend beyond the
right edge of the window, in side-by-side windows (*note Splitting
- Windows::.). If it is non-`nil', these lines are truncated;
+ Windows::). If it is non-`nil', these lines are truncated;
otherwise, `truncate-lines' says what to do with them.
The backslash and curved arrow used to indicate truncated or
continued lines are only defaults, and can be changed. These images
-are actually glyphs (*note Glyphs::.). XEmacs provides a great deal of
+are actually glyphs (*note Glyphs::). XEmacs provides a great deal of
flexibility in how glyphs can be controlled. (This differs from FSF
Emacs, which uses display tables to control these images.)
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
area; see *Note Errors::.
You can write output in the echo area by using the Lisp printing
-functions with `t' as the stream (*note Output Functions::.), or as
+functions with `t' as the stream (*note Output Functions::), or as
follows:
- - Function: message STRING &rest ARGUMENTS
+ - Function: message string &rest arguments
This function displays a one-line message in the echo area. The
argument STRING is similar to a C language `printf' control
string. See `format' in *Note String Conversion::, for the details
programs may access these messages, or remove them as appropriate, via
the message stack.
- - Function: display-message LABEL MESSAGE &optional FRAME STDOUT-P
+ - Function: display-message label message &optional frame stdout-p
This function displays MESSAGE (a string) labeled as LABEL, as
described above.
(display-message 'command "Mark set")
- - Function: lmessage LABEL STRING &rest ARGUMENTS
+ - Function: lmessage label string &rest arguments
This function displays a message STRING with label LABEL. It is
similar to `message' in that it accepts a `printf'-like strings
and any number of arguments.
;; Display a message that should not be logged.
(lmessage 'no-log "Done")
- - Function: clear-message &optional LABEL FRAME STDOUT-P NO-RESTORE
+ - Function: clear-message &optional label frame stdout-p no-restore
This function remove any message with the given LABEL from the
message-stack, erasing it from the echo area if it's currently
displayed there.
Unless you need the return value or you need to specify a label,
you should just use `(message nil)'.
- - Function: current-message &optional FRAME
+ - Function: current-message &optional frame
This function returns the current message in the echo area, or
`nil'. The FRAME argument is currently unused.
`debug', `info', `notice', `warning', `error', `critical', `alert' and
`emergency'.
- - Function: display-warning CLASS MESSAGE &optional LEVEL
+ - Function: display-warning class message &optional level
This function displays a warning message MESSAGE (a string).
CLASS should be a warning class symbol, as described above, or a
list of such symbols. LEVEL describes the warning priority level.
you use the specifier and/or `set-face-*' functions.
---------- Warning buffer ----------
- - Function: lwarn CLASS LEVEL MESSAGE &rest ARGS
+ - Function: lwarn class level message &rest args
This function displays a formatted labeled warning message. As
above, CLASS should be the warning class symbol, or a list of such
symbols, and LEVEL should specify the warning priority level
character invisible. This is the default case--if you don't alter the
default value of `buffer-invisibility-spec', this is how the
`invisibility' property works. This feature is much like selective
-display (*note Selective Display::.), but more general and cleaner.
+display (*note Selective Display::), but more general and cleaner.
More generally, you can use the variable `buffer-invisibility-spec'
to control which values of the `invisible' property make text
a Lisp program. The program controls which lines are hidden by altering
the text. Outline mode has traditionally used this variant. It has
been partially replaced by the invisible text feature (*note Invisible
-Text::.); there is a new version of Outline mode which uses that
-instead.
+Text::); there is a new version of Outline mode which uses that instead.
In the second variant, the choice of lines to hide is made
automatically based on indentation. This variant is designed to be a
not skip the invisible portion, and it is possible (if tricky) to
insert or delete text in an invisible portion.
- In the examples below, we show the *display appearance* of the
+ In the examples below, we show the _display appearance_ of the
buffer `foo', which changes with the value of `selective-display'.
- The *contents* of the buffer do not change.
+ The _contents_ of the buffer do not change.
(setq selective-display nil)
=> nil
This variable holds the string to display to call attention to a
particular line, or `nil' if the arrow feature is not in use.
Despite its name, the value of this variable can be either a string
- or a glyph (*note Glyphs::.).
+ or a glyph (*note Glyphs::).
- Variable: overlay-arrow-position
This variable holds a marker that indicates where to display the
and then present it to the user for perusal rather than for editing.
Many of the help commands use this feature.
- - Special Form: with-output-to-temp-buffer BUFFER-NAME FORMS...
+ - Special Form: with-output-to-temp-buffer buffer-name forms...
This function executes FORMS while arranging to insert any output
they print into the buffer named BUFFER-NAME. The buffer is then
shown in some window for viewing, displayed but not selected.
In Emacs versions 18 and earlier, this variable was called
`temp-buffer-show-hook'.
- - Function: momentary-string-display STRING POSITION &optional CHAR
- MESSAGE
+ - Function: momentary-string-display string position &optional char
+ message
This function momentarily displays STRING in the current buffer at
POSITION. It has no effect on the undo list or on the buffer's
modification status.
(defun interactive-blink-matching-open ()
"Indicate momentarily the start of sexp before point."
(interactive)
-
- (let ((blink-matching-paren-distance
+ (let ((blink-matching-paren-distance
(buffer-size))
(blink-matching-paren t))
(blink-matching-open)))
The usual display conventions define how to display each character
code. You can override these conventions by setting up a display table
-(*note Display Tables::.). Here are the usual display conventions:
+(*note Display Tables::). Here are the usual display conventions:
* Character codes 32 through 126 map to glyph codes 32 through 126.
Normally this means they display as themselves.
The 256 elements correspond to character codes; the Nth element says
how to display the character code N. The value should be `nil', a
string, a glyph, or a vector of strings and glyphs (*note Character
-Descriptors::.). If an element is `nil', it says to display that
+Descriptors::). If an element is `nil', it says to display that
character according to the usual display conventions (*note Usual
-Display::.).
+Display::).
If you use the display table to change the display of newline
characters, the whole buffer will be displayed as one long "line."
`nil'
Display according to the standard interpretation (*note Usual
- Display::.).
+ Display::).
\1f
File: lispref.info, Node: Beeping, Prev: Display Tables, Up: Display
this; frequent bells can become irritating. Also be careful not to use
beeping alone when signaling an error is appropriate. (*Note Errors::.)
- - Function: ding &optional DONT-TERMINATE SOUND DEVICE
+ - Function: ding &optional dont-terminate sound device
This function beeps, or flashes the screen (see `visible-bell'
below). It also terminates any keyboard macro currently executing
unless DONT-TERMINATE is non-`nil'. If SOUND is specified, it
specifies what device to make the sound on, and defaults to the
selected device.
- - Function: beep &optional DONT-TERMINATE SOUND DEVICE
+ - Function: beep &optional dont-terminate sound device
This is a synonym for `ding'.
- User Option: visible-bell
- Command: load-default-sounds
This function loads and installs some sound files as beep-types.
- - Command: load-sound-file FILENAME SOUND-NAME &optional VOLUME
+ - Command: load-sound-file filename sound-name &optional volume
This function reads in an audio file and adds it to `sound-alist'.
The sound file must be in the Sun/NeXT U-LAW format. SOUND-NAME
should be a symbol, specifying the name of the sound. If VOLUME
is specified, the sound will be played at that volume; otherwise,
the value of BELL-VOLUME will be used.
- - Function: play-sound SOUND &optional VOLUME DEVICE
+ - Function: play-sound sound &optional volume device
This function plays sound SOUND, which should be a symbol
mentioned in `sound-alist'. If VOLUME is specified, it overrides
the value (if any) specified in `sound-alist'. DEVICE specifies
the device to play the sound on, and defaults to the selected
device.
- - Command: play-sound-file FILE &optional VOLUME DEVICE
+ - Command: play-sound-file file &optional volume device
This function plays the named sound file at volume VOLUME, which
defaults to `bell-volume'. DEVICE specifies the device to play
the sound on, and defaults to the selected device.
Hash Tables
***********
- - Function: hash-table-p OBJECT
+ - Function: hash-table-p object
This function returns `t' if OBJECT is a hash table, else `nil'.
* Menu:
called "values". A key/value pair is sometimes called an "entry" in
the hash table. There are many ways other than hash tables of
implementing the same sort of mapping, e.g. association lists (*note
-Association Lists::.) and property lists (*note Property Lists::.), but
+Association Lists::) and property lists (*note Property Lists::), but
hash tables provide much faster lookup when there are many entries in
the mapping. Hash tables are an implementation of the abstract data
type "dictionary", also known as "associative array".
remain in the hash table if the value is pointed to by something
other than a weak hash table, even if the key is not.
- - Function: copy-hash-table HASH-TABLE
+ - Function: copy-hash-table hash-table
This function returns a new hash table which contains the same
keys and values as HASH-TABLE. The keys and values will not
themselves be copied.
- - Function: hash-table-count HASH-TABLE
+ - Function: hash-table-count hash-table
This function returns the number of entries in HASH-TABLE.
- - Function: hash-table-test HASH-TABLE
+ - Function: hash-table-test hash-table
This function returns the test function of HASH-TABLE. This can
be one of `eq', `eql' or `equal'.
- - Function: hash-table-size HASH-TABLE
+ - Function: hash-table-size hash-table
This function returns the current number of slots in HASH-TABLE,
whether occupied or not.
- - Function: hash-table-rehash-size HASH-TABLE
+ - Function: hash-table-rehash-size hash-table
This function returns the current rehash size of HASH-TABLE. This
is a float greater than 1.0; the factor by which HASH-TABLE is
enlarged when the rehash threshold is exceeded.
- - Function: hash-table-rehash-threshold HASH-TABLE
+ - Function: hash-table-rehash-threshold hash-table
This function returns the current rehash threshold of HASH-TABLE.
This is a float between 0.0 and 1.0; the maximum "load factor" of
HASH-TABLE, beyond which the HASH-TABLE is enlarged by rehashing.
- - Function: hash-table-weakness HASH-TABLE
+ - Function: hash-table-weakness hash-table
This function returns the weakness of HASH-TABLE. This can be one
of `nil', `t', `key' or `value'.
Working With Hash Tables
========================
- - Function: puthash KEY VALUE HASH-TABLE
+ - Function: puthash key value hash-table
This function hashes KEY to VALUE in HASH-TABLE.
- - Function: gethash KEY HASH-TABLE &optional DEFAULT
+ - Function: gethash key hash-table &optional default
This function finds the hash value for KEY in HASH-TABLE. If
there is no entry for KEY in HASH-TABLE, DEFAULT is returned
(which in turn defaults to `nil').
- - Function: remhash KEY HASH-TABLE
+ - Function: remhash key hash-table
This function removes the entry for KEY from HASH-TABLE. Does
nothing if there is no entry for KEY in HASH-TABLE.
- - Function: clrhash HASH-TABLE
+ - Function: clrhash hash-table
This function removes all entries from HASH-TABLE, leaving it
empty.
- - Function: maphash FUNCTION HASH-TABLE
+ - Function: maphash function hash-table
This function maps FUNCTION over entries in HASH-TABLE, calling it
with two args, each key and value in the hash table.
This maps integers in the range (-3, 2) to `foo' and integers in the
range (5, 20) to `bar'.
- - Function: range-table-p OBJECT
+ - Function: range-table-p object
Return non-`nil' if OBJECT is a range table.
* Menu:
- Function: make-range-table
Make a new, empty range table.
- - Function: copy-range-table OLD-TABLE
+ - Function: copy-range-table old-table
Make a new range table which contains the same values for the same
ranges as the given table. The values will not themselves be
copied.
Working With Range Tables
=========================
- - Function: get-range-table POS TABLE &optional DEFAULT
+ - Function: get-range-table pos table &optional default
This function finds value for position POS in TABLE. If there is
no corresponding value, return DEFAULT (defaults to `nil').
- - Function: put-range-table START END VAL TABLE
+ - Function: put-range-table start end val table
This function sets the value for range (START, END) to be VAL in
TABLE.
- - Function: remove-range-table START END TABLE
+ - Function: remove-range-table start end table
This function removes the value for range (START, END) in TABLE.
- - Function: clear-range-table TABLE
+ - Function: clear-range-table table
This function flushes TABLE.
- - Function: map-range-table FUNCTION TABLE
+ - Function: map-range-table function table
This function maps FUNCTION over entries in TABLE, calling it with
three args, the beginning and end of the range and the
corresponding value.
Databases
*********
- - Function: databasep OBJECT
+ - Function: databasep object
This function returns non-`nil' if OBJECT is a database.
* Menu:
Connecting to a Database
========================
- - Function: open-database FILE &optional TYPE SUBTYPE ACCESS MODE
+ - Function: open-database file &optional type subtype access mode
This function opens database FILE, using database method TYPE and
SUBTYPE, with access rights ACCESS and permissions MODE. ACCESS
can be any combination of `r' `w' and `+', for read, write, and
available: `'hash', `'btree', and `'recno'. See the manpages for
the Berkeley DB functions to more information about these types.
- - Function: close-database OBJ
+ - Function: close-database obj
This function closes database OBJ.
- - Function: database-live-p OBJ
+ - Function: database-live-p obj
This function returns `t' iff OBJ is an active database, else
`nil'.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
Working With a Database
=======================
- - Function: get-database KEY DBASE &optional DEFAULT
+ - Function: get-database key dbase &optional default
This function finds the value for KEY in DATABASE. If there is no
corresponding value, DEFAULT is returned (`nil' if DEFAULT is
omitted).
- - Function: map-database FUNCTION DBASE
+ - Function: map-database function dbase
This function maps FUNCTION over entries in DATABASE, calling it
with two args, each key and value in the database.
- - Function: put-database KEY VAL DBASE &optional REPLACE
+ - Function: put-database key val dbase &optional replace
This function stores KEY and VAL in DATABASE. If optional fourth
arg REPLACE is non-`nil', replace any existing entry in the
database.
- - Function: remove-database KEY DBASE
+ - Function: remove-database key dbase
This function removes KEY from DATABASE.
\1f
Other Database Functions
========================
- - Function: database-file-name OBJ
+ - Function: database-file-name obj
This function returns the filename associated with the database
OBJ.
- - Function: database-last-error &optional OBJ
+ - Function: database-last-error &optional obj
This function returns the last error associated with database OBJ.
- - Function: database-subtype OBJ
+ - Function: database-subtype obj
This function returns the subtype of database OBJ, if any.
- - Function: database-type OBJ
+ - Function: database-type obj
This function returns the type of database OBJ.
\1f
signals, obtain status information, receive output from the process, or
send input to it.
- - Function: processp OBJECT
+ - Function: processp object
This function returns `t' if OBJECT is a process, `nil' otherwise.
* Menu:
There are three functions that create a new subprocess in which to
run a program. One of them, `start-process', creates an asynchronous
-process and returns a process object (*note Asynchronous Processes::.).
+process and returns a process object (*note Asynchronous Processes::).
The other two, `call-process' and `call-process-region', create a
synchronous process and do not return a process object (*note
-Synchronous Processes::.).
+Synchronous Processes::).
Synchronous and asynchronous processes are explained in following
sections. Since the three functions are all called in a similar
variable `PATH'. The standard file name constructs, `~', `.', and
`..', are interpreted as usual in `exec-path', but environment variable
substitutions (`$HOME', etc.) are not recognized; use
-`substitute-in-file-name' to perform them (*note File Name
-Expansion::.).
+`substitute-in-file-name' to perform them (*note File Name Expansion::).
Each of the subprocess-creating functions has a BUFFER-OR-NAME
argument which specifies where the standard output from the program will
ARGS to provide those.
The subprocess gets its current directory from the value of
-`default-directory' (*note File Name Expansion::.).
+`default-directory' (*note File Name Expansion::).
The subprocess inherits its environment from XEmacs; but you can
specify overrides for it with `process-environment'. *Note System
The synchronous subprocess functions returned `nil' in version 18.
In version 19, they return an indication of how the process terminated.
- - Function: call-process PROGRAM &optional INFILE DESTINATION DISPLAY
- &rest ARGS
+ - Function: call-process program &optional infile destination display
+ &rest args
This function calls PROGRAM in a separate process and waits for it
to finish.
---------- Buffer: foo ----------
/usr/user/lewis/manual
---------- Buffer: foo ----------
-
+
(call-process "grep" nil "bar" nil "lewis" "/etc/passwd")
=> nil
(concat (file-name-as-directory file) ".")
file))
- - Function: call-process-region START END PROGRAM &optional DELETE
- DESTINATION DISPLAY &rest ARGS
+ - Function: call-process-region start end program &optional delete
+ destination display &rest args
This function sends the text between START to END as standard
input to a process running PROGRAM. It deletes the text sent if
DELETE is non-`nil'; this is useful when BUFFER is `t', to insert
---------- Buffer: foo ----------
input-!-
---------- Buffer: foo ----------
-
+
(call-process-region 1 6 "cat" nil t)
=> nil
using the functions described in following sections. Here we describe
how to create an asynchronous process with `start-process'.
- - Function: start-process NAME BUFFER-OR-NAME PROGRAM &rest ARGS
+ - Function: start-process name buffer-or-name program &rest args
This function creates a new asynchronous subprocess and starts the
program PROGRAM running in it. It returns a process object that
stands for the new subprocess in Lisp. The argument NAME
(start-process "my-process" "foo" "sleep" "100")
=> #<process my-process>
-
+
(start-process "my-process" "foo" "ls" "-l" "/user/lewis/bin")
=> #<process my-process<1>>
Process my-process finished
---------- Buffer: foo ----------
- - Function: start-process-shell-command NAME BUFFER-OR-NAME COMMAND
- &rest COMMAND-ARGS
+ - Function: start-process-shell-command name buffer-or-name command
+ &rest command-args
This function is like `start-process' except that it uses a shell
to execute the specified command. The argument COMMAND is a shell
command name, and COMMAND-ARGS are the arguments for the shell
To determine whether a given subprocess actually got a pipe or a
PTY, use the function `process-tty-name' (*note Process
- Information::.).
+ Information::).
\1f
File: lispref.info, Node: Deleting Processes, Next: Process Information, Prev: Asynchronous Processes, Up: Processes
`list-processes'. Otherwise, they are deleted immediately after
they exit.
- - Function: delete-process NAME
+ - Function: delete-process name
This function deletes the process associated with NAME, killing it
with a `SIGHUP' signal. The argument NAME may be a process, the
name of a process, a buffer, or the name of a buffer.
(delete-process "*shell*")
=> nil
- - Function: process-kill-without-query PROCESS &optional
- REQUIRE-QUERY-P
+ - Function: process-kill-without-query process &optional
+ require-query-p
This function declares that XEmacs need not query the user if
PROCESS is still running when XEmacs is exited. The process will
be deleted silently. If REQUIRE-QUERY-P is non-`nil', then XEmacs
- *will* query the user (this is the default). The return value is
+ _will_ query the user (this is the default). The return value is
`t' if a query was formerly required, and `nil' otherwise.
(process-kill-without-query (get-process "shell"))
(process-list)
=> (#<process display-time> #<process shell>)
- - Function: get-process NAME
+ - Function: get-process name
This function returns the process named NAME, or `nil' if there is
none. An error is signaled if NAME is not a string.
(get-process "shell")
=> #<process shell>
- - Function: process-command PROCESS
+ - Function: process-command process
This function returns the command that was executed to start
PROCESS. This is a list of strings, the first string being the
program executed and the rest of the strings being the arguments
(process-command (get-process "shell"))
=> ("/bin/csh" "-i")
- - Function: process-id PROCESS
+ - Function: process-id process
This function returns the PID of PROCESS. This is an integer that
distinguishes the process PROCESS from all other processes running
on the same computer at the current time. The PID of a process is
chosen by the operating system kernel when the process is started
and remains constant as long as the process exists.
- - Function: process-name PROCESS
+ - Function: process-name process
This function returns the name of PROCESS.
- - Function: process-status PROCESS-NAME
+ - Function: process-status process-name
This function returns the status of PROCESS-NAME as a symbol. The
argument PROCESS-NAME must be a process, a buffer, a process name
(string) or a buffer name (string).
(process-status "shell")
=> run
-
(process-status (get-buffer "*shell*"))
=> run
-
x
=> #<process xx<1>>
(process-status x)
In earlier Emacs versions (prior to version 19), the status of a
network connection was `run' if open, and `exit' if closed.
- - Function: process-kill-without-query-p PROCESS
+ - Function: process-kill-without-query-p process
This function returns whether PROCESS will be killed without
querying the user, if it is running when XEmacs is exited. The
default value is `nil'.
- - Function: process-exit-status PROCESS
+ - Function: process-exit-status process
This function returns the exit status of PROCESS or the signal
number that killed it. (Use the result of `process-status' to
determine which of those it is.) If PROCESS has not yet
terminated, the value is 0.
- - Function: process-tty-name PROCESS
+ - Function: process-tty-name process
This function returns the terminal name that PROCESS is using for
its communication with Emacs--or `nil' if it is using pipes
instead of a terminal (see `process-connection-type' in *Note
other characters, to force them through. For most programs, these EOFs
do no harm.
- - Function: process-send-string PROCESS-NAME STRING
+ - Function: process-send-string process-name string
This function sends PROCESS-NAME the contents of STRING as
standard input. The argument PROCESS-NAME must be a process or
the name of a process. If it is `nil', the current buffer's
(process-send-string "shell<1>" "ls\n")
=> nil
-
+
+
---------- Buffer: *shell* ----------
...
introduction.texi syntax-tables.texi~
...
---------- Buffer: *shell* ----------
- - Command: process-send-region PROCESS-NAME START END
+ - Command: process-send-region process-name start end
This function sends the text in the region defined by START and
END as standard input to PROCESS-NAME, which is a process or a
process name. (If it is `nil', the current buffer's process is
markers that indicate positions in the current buffer. (It is
unimportant which number is larger.)
- - Function: process-send-eof &optional PROCESS-NAME
+ - Function: process-send-eof &optional process-name
This function makes PROCESS-NAME see an end-of-file in its input.
The EOF comes after any text already sent to it.
job-control shells won't work when a pipe is used. See
`process-connection-type' in *Note Asynchronous Processes::.
- - Function: interrupt-process &optional PROCESS-NAME CURRENT-GROUP
+ - Function: interrupt-process &optional process-name current-group
This function interrupts the process PROCESS-NAME by sending the
signal `SIGINT'. Outside of XEmacs, typing the "interrupt
character" (normally `C-c' on some systems, and `DEL' on others)
you can think of this function as "typing `C-c'" on the terminal
by which XEmacs talks to the subprocess.
- - Function: kill-process &optional PROCESS-NAME CURRENT-GROUP
+ - Function: kill-process &optional process-name current-group
This function kills the process PROCESS-NAME by sending the signal
`SIGKILL'. This signal kills the subprocess immediately, and
cannot be handled by the subprocess.
- - Function: quit-process &optional PROCESS-NAME CURRENT-GROUP
+ - Function: quit-process &optional process-name current-group
This function sends the signal `SIGQUIT' to the process
PROCESS-NAME. This signal is the one sent by the "quit character"
(usually `C-b' or `C-\') when you are not inside XEmacs.
- - Function: stop-process &optional PROCESS-NAME CURRENT-GROUP
+ - Function: stop-process &optional process-name current-group
This function stops the process PROCESS-NAME by sending the signal
`SIGTSTP'. Use `continue-process' to resume its execution.
non-`nil', you can think of this function as "typing `C-z'" on the
terminal XEmacs uses to communicate with the subprocess.
- - Function: continue-process &optional PROCESS-NAME CURRENT-GROUP
+ - Function: continue-process &optional process-name current-group
This function resumes execution of the process PROCESS by sending
it the signal `SIGCONT'. This presumes that PROCESS-NAME was
stopped previously.
- - Function: signal-process PID SIGNAL
+ - Function: signal-process pid signal
This function sends a signal to process PID, which need not be a
child of XEmacs. The argument SIGNAL specifies which signal to
send; it should be an integer.
Many applications of processes also use the buffer for editing input to
be sent to the process, but this is not built into XEmacs Lisp.
- Unless the process has a filter function (*note Filter Functions::.),
+ Unless the process has a filter function (*note Filter Functions::),
its output is inserted in the associated buffer. The position to insert
the output is determined by the `process-mark', which is then updated
to point to the end of the text just inserted. Usually, but not
always, the `process-mark' is at the end of the buffer.
- - Function: process-buffer PROCESS
+ - Function: process-buffer process
This function returns the associated buffer of the process PROCESS.
(process-buffer (get-process "shell"))
=> #<buffer *shell*>
- - Function: process-mark PROCESS
+ - Function: process-mark process
This function returns the process marker for PROCESS, which is the
marker that says where to insert output from the process.
transmission to the process, the process marker is useful for
distinguishing the new input from previous output.
- - Function: set-process-buffer PROCESS BUFFER
+ - Function: set-process-buffer process buffer
This function sets the buffer associated with PROCESS to BUFFER.
If BUFFER is `nil', the process becomes associated with no buffer.
- - Function: get-buffer-process BUFFER-OR-NAME
+ - Function: get-buffer-process buffer-or-name
This function returns the process associated with BUFFER-OR-NAME.
If there are several processes associated with it, then one is
chosen. (Presently, the one chosen is the one most recently
=> #<process shell>
Killing the process's buffer deletes the process, which kills the
- subprocess with a `SIGHUP' signal (*note Signals to Processes::.).
+ subprocess with a `SIGHUP' signal (*note Signals to Processes::).
\1f
File: lispref.info, Node: Filter Functions, Next: Accepting Output, Prev: Process Buffers, Up: Output from Processes
A process "filter function" is a function that receives the standard
output from the associated process. If a process has a filter, then
-*all* output from that process is passed to the filter. The process
+_all_ output from that process is passed to the filter. The process
buffer is used directly for output from the process only when there is
no filter.
avoids the timing errors that could result from running filters at
random places in the middle of other Lisp programs. You may explicitly
cause Emacs to wait, so that filter functions will run, by calling
-`sit-for' or `sleep-for' (*note Waiting::.), or `accept-process-output'
-(*note Accepting Output::.). Emacs is also waiting when the command
-loop is reading input.
+`sit-for' or `sleep-for' (*note Waiting::), or `accept-process-output'
+(*note Accepting Output::). Emacs is also waiting when the command loop
+is reading input.
Quitting is normally inhibited within a filter function--otherwise,
the effect of typing `C-g' at command level or to quit a user command
(let (moving)
(set-buffer (process-buffer proc))
(setq moving (= (point) (process-mark proc)))
-
- (save-excursion
+ (save-excursion
;; Insert the text, moving the process-marker.
(goto-char (process-mark proc))
(insert string)
that produces the same output twice in a row may send it as one batch
of 200 characters one time, and five batches of 40 characters the next.
- - Function: set-process-filter PROCESS FILTER
+ - Function: set-process-filter process filter
This function gives PROCESS the filter function FILTER. If FILTER
is `nil', then the process will have no filter. If FILTER is `t',
then no output from the process will be accepted until the filter
but is queued, and will be processed as soon as the filter is
changed.)
- - Function: process-filter PROCESS
+ - Function: process-filter process
This function returns the filter function of PROCESS, or `nil' if
it has none. `t' means that output processing has been stopped.
(defun keep-output (process output)
(setq kept (cons output kept)))
=> keep-output
-
(setq kept nil)
=> nil
-
(set-process-filter (get-process "shell") 'keep-output)
=> keep-output
-
(process-send-string "shell" "ls ~/other\n")
=> nil
kept
=> ("lewis@slug[8] % "
-
"FINAL-W87-SHORT.MSS backup.otl kolstad.mss~
address.txt backup.psf kolstad.psf
backup.bib~ david.mss resume-Dec-86.mss~
explicitly permit output to arrive at a specific point, or even to wait
until output arrives from a process.
- - Function: accept-process-output &optional PROCESS SECONDS MILLISEC
+ - Function: accept-process-output &optional process seconds millisec
This function allows XEmacs to read pending output from processes.
The output is inserted in the associated buffers or given to
their filter functions. If PROCESS is non-`nil' then this
timing errors that could result from running them at random places in
the middle of other Lisp programs. A program can wait, so that
sentinels will run, by calling `sit-for' or `sleep-for' (*note
-Waiting::.), or `accept-process-output' (*note Accepting Output::.).
+Waiting::), or `accept-process-output' (*note Accepting Output::).
Emacs is also waiting when the command loop is reading input.
Quitting is normally inhibited within a sentinel--otherwise, the
Emacs does this automatically; sentinels never need to do it explicitly.
*Note Match Data::.
- - Function: set-process-sentinel PROCESS SENTINEL
+ - Function: set-process-sentinel process sentinel
This function associates SENTINEL with PROCESS. If SENTINEL is
`nil', then the process will have no sentinel. The default
behavior when there is no sentinel is to insert a message in the
(format "Process: %s had the event `%s'" process event)))
(set-process-sentinel (get-process "shell") 'msg-me)
=> msg-me
-
(kill-process (get-process "shell"))
-| Process: #<process shell> had the event `killed'
=> #<process shell>
- - Function: process-sentinel PROCESS
+ - Function: process-sentinel process
This function returns the sentinel of PROCESS, or `nil' if it has
none.
Process Window Size
===================
- - Function: set-process-window-size PROCESS HEIGHT WIDTH
+ - Function: set-process-window-size process height width
This function tells PROCESS that its logical window size is HEIGHT
by WIDTH characters. This is principally useful with pty's.
a transaction queue communicating with a specified process. Then you
can call `tq-enqueue' to send a transaction.
- - Function: tq-create PROCESS
+ - Function: tq-create process
This function creates and returns a transaction queue
communicating with PROCESS. The argument PROCESS should be a
subprocess capable of sending and receiving streams of bytes. It
may be a child process, or it may be a TCP connection to a server,
possibly on another machine.
- - Function: tq-enqueue QUEUE QUESTION REGEXP CLOSURE FN
+ - Function: tq-enqueue queue question regexp closure fn
This function sends a transaction to queue QUEUE. Specifying the
queue has the effect of specifying the subprocess to talk to.
The return value of `tq-enqueue' itself is not meaningful.
- - Function: tq-close QUEUE
+ - Function: tq-close queue
Shut down transaction queue QUEUE, waiting for all pending
transactions to complete, and then terminate the connection or
child process.
connection, and it never returns either of those values for a real
subprocess. *Note Process Information::.
- - Function: open-network-stream NAME BUFFER-OR-NAME HOST SERVICE
+ - Function: open-network-stream name buffer-or-name host service
This function opens a TCP connection for a service to a host. It
returns a process object to represent the connection.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
A site may have a "default init file", which is the library named
`default.el'. XEmacs finds the `default.el' file through the standard
-search path for libraries (*note How Programs Do Loading::.). The
+search path for libraries (*note How Programs Do Loading::). The
XEmacs distribution does not come with this file; sites may provide one
for local customizations. If the default init file exists, it is
loaded whenever you start Emacs, except in batch mode or if `-q' is
not subsequently load the `default.el' file.
Another file for site-customization is `site-start.el'. Emacs loads
-this *before* the user's init file. You can inhibit the loading of
+this _before_ the user's init file. You can inhibit the loading of
this file with the option `-no-site-file'.
- Variable: site-run-file
If there is a great deal of code in your `.emacs' file, you should
move it into another file named `SOMETHING.el', byte-compile it (*note
-Byte Compilation::.), and make your `.emacs' file load the other file
-using `load' (*note Loading::.).
+Byte Compilation::), and make your `.emacs' file load the other file
+using `load' (*note Loading::).
*Note Init File Examples: (xemacs)Init File Examples, for examples
of how to make various commonly desired customizations in your `.emacs'
parent process normally resumes control. The low-level primitive for
killing XEmacs is `kill-emacs'.
- - Function: kill-emacs &optional EXIT-DATA
+ - Function: kill-emacs &optional exit-data
This function exits the XEmacs process and kills it.
If EXIT-DATA is an integer, then it is used as the exit status of
moving to a different window. Therefore, suspending is not allowed
when XEmacs is an X client.
- - Function: suspend-emacs STRING
+ - Function: suspend-emacs string
This function stops XEmacs and returns control to the superior
process. If and when the superior process resumes XEmacs,
`suspend-emacs' returns `nil' to its caller in Lisp.
The next redisplay after resumption will redraw the entire screen,
unless the variable `no-redraw-on-reenter' is non-`nil' (*note
- Refresh Screen::.).
+ Refresh Screen::).
In the following example, note that `pwd' is not echoed after
XEmacs is suspended. But it is read and executed by the shell.
(suspend-emacs)
=> nil
-
+
(add-hook 'suspend-hook
(function (lambda ()
(or (y-or-n-p
=> (lambda nil
(or (y-or-n-p "Really suspend? ")
(error "Suspend cancelled")))
-
(add-hook 'suspend-resume-hook
(function (lambda () (message "Resumed!"))))
=> (lambda nil (message "Resumed!"))
-
(suspend-emacs "pwd")
=> nil
-
---------- Buffer: Minibuffer ----------
Really suspend? y
---------- Buffer: Minibuffer ----------
-
+
---------- Parent Shell ----------
lewis@slug[23] % /user/lewis/manual
lewis@slug[24] % fg
-
+
---------- Echo Area ----------
Resumed!
fact, the function returns whatever value the variable `system-name'
currently holds. Thus, you can set the variable `system-name' in case
Emacs is confused about the name of your system. The variable is also
-useful for constructing frame titles (*note Frame Titles::.).
+useful for constructing frame titles (*note Frame Titles::).
- Variable: mail-host-address
If this variable is non-`nil', it is used instead of `system-name'
starts up, the value actually used is the one saved when XEmacs
was dumped. *Note Building XEmacs::.)
- - Function: getenv VAR
+ - Function: getenv var
This function returns the value of the environment variable VAR,
as a string. Within XEmacs, the environment variable values are
kept in the Lisp variable `process-environment'.
SHELL=/bin/csh
HOME=/user/lewis
- - Command: setenv VARIABLE VALUE
+ - Command: setenv variable value
This command sets the value of the environment variable named
VARIABLE to VALUE. Both arguments should be strings. This
function works by modifying `process-environment'; binding that
=> ("l=/usr/stanford/lib/gnuemacs/lisp"
"PATH=.:/user/lewis/bin:/usr/class:/nfsusr/local/bin"
"USER=lewis"
-
- "TERM=ibmapa16"
+ "TERM=ibmapa16"
"SHELL=/bin/csh"
"HOME=/user/lewis")
locations, but can find them in a directory related somehow to the
one containing the Emacs executable.
- - Function: load-average &optional USE-FLOATS
+ - Function: load-average &optional use-floats
This function returns a list of the current 1-minute, 5-minute and
15-minute load averages. The values are integers that are 100
times the system load averages. (The load averages indicate the
- Function: emacs-pid
This function returns the process ID of the Emacs process.
- - Function: setprv PRIVILEGE-NAME &optional SETP GETPRV
+ - Function: setprv privilege-name &optional setp getprv
This function sets or resets a VMS privilege. (It does not exist
on Unix.) The first arg is the privilege name, as a string. The
second argument, SETP, is `t' or `nil', indicating whether the
usually right, but users often set this themselves when the
default value is not right.
- - Function: user-login-name &optional UID
+ - Function: user-login-name &optional uid
If you don't specify UID, this function returns the name under
which the user is logged in. If the environment variable `LOGNAME'
is set, that value is used. Otherwise, if the environment variable
variable. You can change the value of this variable to alter the
result of the `user-full-name' function.
- - Function: user-full-name &optional USER
+ - Function: user-full-name &optional user
This function returns the full name of USER. If USER is `nil', it
defaults to the user running this Emacs. In that case, the value
of `user-full-name' variable, if non-`nil', will be used.
return the same values that the variables hold. These variables allow
you to "fake out" Emacs by telling the functions what to return. The
variables are also useful for constructing frame titles (*note Frame
-Titles::.).
+Titles::).
- Function: user-real-uid
This function returns the real UID of the user.
This section explains how to determine the current time and the time
zone.
- - Function: current-time-string &optional TIME-VALUE
+ - Function: current-time-string &optional time-value
This function returns the current time and date as a
humanly-readable string. The format of the string is unvarying;
the number of characters used for each part is always the same, so
instead of the current time. The argument should be a list whose
first two elements are integers. Thus, you can use times obtained
from `current-time' (see below) and from `file-attributes' (*note
- File Attributes::.).
+ File Attributes::).
(current-time-string)
=> "Wed Oct 14 22:21:05 1987"
as you get with the function `file-attributes'. *Note File
Attributes::.
- - Function: current-time-zone &optional TIME-VALUE
+ - Function: current-time-zone &optional time-value
This function returns a list describing the time zone that the
user is in.
instead of the current time. The argument should be a cons cell
containing two integers, or a list whose first two elements are
integers. Thus, you can use times obtained from `current-time'
- (see above) and from `file-attributes' (*note File Attributes::.).
+ (see above) and from `file-attributes' (*note File Attributes::).
\1f
File: lispref.info, Node: Time Conversion, Next: Timers, Prev: Time of Day, Up: System Interface
These functions convert time values (lists of two or three integers)
to strings or to calendrical information. There is also a function to
convert calendrical information to a time value. You can get time
-values from the functions `current-time' (*note Time of Day::.) and
-`file-attributes' (*note File Attributes::.).
+values from the functions `current-time' (*note Time of Day::) and
+`file-attributes' (*note File Attributes::).
- - Function: format-time-string FORMAT-STRING &optional TIME
+ - Function: format-time-string format-string &optional time
This function converts TIME to a string according to
FORMAT-STRING. If TIME is omitted, it defaults to the current
time. The argument FORMAT-STRING may contain `%'-sequences which
`%Z'
This stands for the time zone abbreviation.
- - Function: decode-time TIME
+ - Function: decode-time time
This function converts a time value into calendrical information.
The return value is a list of nine elements, as follows:
Note that Common Lisp has different meanings for DOW and ZONE.
- - Function: encode-time SECONDS MINUTES HOUR DAY MONTH YEAR &optional
- ZONE
+ - Function: encode-time seconds minutes hour day month year &optional
+ zone
This function is the inverse of `decode-time'. It converts seven
items of calendrical data into a time value. For the meanings of
the arguments, see the table above under `decode-time'.
You can set up a timer to call a function at a specified future time.
- - Function: add-timeout SECS FUNCTION OBJECT &optional RESIGNAL
+ - Function: add-timeout secs function object &optional resignal
This function adds a timeout, to be signaled after the timeout
period has elapsed. SECS is a number of seconds, expressed as an
integer or a float. FUNCTION will be called after that many
(NOTE: In FSF Emacs, this function is called `run-at-time' and has
different semantics.)
- - Function: disable-timeout ID
+ - Function: disable-timeout id
Cancel the requested action for ID, which should be a value
previously returned by `add-timeout'. This cancels the effect of
that call to `add-timeout'; the arrival of the specified time will
Input Modes
-----------
- - Function: set-input-mode INTERRUPT FLOW META QUIT-CHAR
+ - Function: set-input-mode interrupt flow meta quit-char
This function sets the mode for reading keyboard input. If
INTERRUPT is non-null, then XEmacs uses input interrupts. If it is
`nil', then it uses CBREAK mode. When XEmacs communicates
events.
If `function-key-map' "binds" a key sequence K to a vector V, then
- when K appears as a subsequence *anywhere* in a key sequence, it
+ when K appears as a subsequence _anywhere_ in a key sequence, it
is replaced with the events in V.
For example, VT100 terminals send `<ESC> O P' when the keypad PF1
Recording Input
---------------
- - Function: recent-keys &optional NUMBER
+ - Function: recent-keys &optional number
This function returns a vector containing recent input events from
the keyboard or mouse. By default, 100 events are recorded, which
is how many `recent-keys' returns.
internally. This is also the maximum number of events
`recent-keys' can return. By default, 100 events are stored.
- - Function: set-recent-keys-ring-size SIZE
+ - Function: set-recent-keys-ring-size size
This function changes the number of events stored by XEmacs and
returned by `recent-keys'.
remember last 250 events and will make `recent-keys' return last
250 events by default.
- - Command: open-dribble-file FILENAME
+ - Command: open-dribble-file filename
This function opens a "dribble file" named FILENAME. When a
dribble file is open, each input event from the keyboard or mouse
(but not those from keyboard macros) is written in that file. A
(open-dribble-file "~/dribble")
=> nil
- See also the `open-termscript' function (*note Terminal Output::.).
+ See also the `open-termscript' function (*note Terminal Output::).
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
The most general way to check the type of an object is to call the
function `type-of'. Recall that each object belongs to one and only
one primitive type; `type-of' tells you which one (*note Lisp Data
-Types::.). But `type-of' knows nothing about non-primitive types. In
+Types::). But `type-of' knows nothing about non-primitive types. In
most cases, it is more convenient to use type predicates than `type-of'.
- - Function: type-of OBJECT
+ - Function: type-of object
This function returns a symbol naming the primitive type of
OBJECT. The value is one of `bit-vector', `buffer', `char-table',
`character', `charset', `coding-system', `cons', `color-instance',
types, e.g., strings. For these predicates, see the appropriate chapter
describing the data type.
- - Function: eq OBJECT1 OBJECT2
+ - Function: eq object1 object2
This function returns `t' if OBJECT1 and OBJECT2 are the same
object, `nil' otherwise. The "same object" means that a change in
one will be reflected by the same change in the other.
=> nil
- - Function: old-eq OBJ1 OBJ2
+ - Function: old-eq obj1 obj2
This function exists under XEmacs 20 and is exactly like `eq'
except that it suffers from the char-int confoundance disease. In
other words, it returns `t' if given a character and the
equivalent integer, even though the objects are of different types!
- You should *not* ever call this function explicitly in your code.
+ You should _not_ ever call this function explicitly in your code.
However, be aware that all calls to `eq' in byte code compiled
under version 19 map to `old-eq' in XEmacs 20. (Likewise for
`old-equal', `old-memq', `old-member', `old-assq' and
(eq ?A 65)
=> nil ; We are still healthy.
- - Function: equal OBJECT1 OBJECT2
+ - Function: equal object1 object2
This function returns `t' if OBJECT1 and OBJECT2 have equal
components, `nil' otherwise. Whereas `eq' tests if its arguments
are the same object, `equal' looks inside nonidentical arguments
-0 ; The integer 0.
To understand how various functions work on integers, especially the
-bitwise operators (*note Bitwise Operations::.), it is often helpful to
+bitwise operators (*note Bitwise Operations::), it is often helpful to
view the numbers in their binary form.
In 28-bit binary, the decimal integer 5 looks like this:
You can use `logb' to extract the binary exponent of a floating
point number (or estimate the logarithm of an integer):
- - Function: logb NUMBER
+ - Function: logb number
This function returns the binary exponent of NUMBER. More
precisely, the value is the logarithm of NUMBER base 2, rounded
down to an integer.
`integer-or-marker-p', `integer-char-or-marker-p', `number-or-marker-p'
and `number-char-or-marker-p', in *Note Predicates on Markers::.
- - Function: floatp OBJECT
+ - Function: floatp object
This predicate tests whether its argument is a floating point
number and returns `t' if so, `nil' otherwise.
`floatp' does not exist in Emacs versions 18 and earlier.
- - Function: integerp OBJECT
+ - Function: integerp object
This predicate tests whether its argument is an integer, and
returns `t' if so, `nil' otherwise.
- - Function: numberp OBJECT
+ - Function: numberp object
This predicate tests whether its argument is a number (either
integer or floating point), and returns `t' if so, `nil' otherwise.
- - Function: natnump OBJECT
+ - Function: natnump object
The `natnump' predicate (whose name comes from the phrase
"natural-number-p") tests to see whether its argument is a
nonnegative integer, and returns `t' if so, `nil' otherwise. 0 is
considered non-negative.
- - Function: zerop NUMBER
+ - Function: zerop number
This predicate tests whether its argument is zero, and returns `t'
if so, `nil' otherwise. The argument must be a number.
To test numbers for numerical equality, you should normally use `=',
not `eq'. There can be many distinct floating point number objects
with the same numeric value. If you use `eq' to compare them, then you
-test whether two values are the same *object*. By contrast, `='
+test whether two values are the same _object_. By contrast, `='
compares only the numeric values of the objects.
At present, each integer value has a unique Lisp object in XEmacs
characters and markers as arguments, and treat them as their number
equivalents.
- - Function: = NUMBER &rest MORE-NUMBERS
+ - Function: = number &rest more-numbers
This function returns `t' if all of its arguments are numerically
equal, `nil' otherwise.
(= 5 5 6)
=> nil
- - Function: /= NUMBER &rest MORE-NUMBERS
+ - Function: /= number &rest more-numbers
This function returns `t' if no two arguments are numerically
equal, `nil' otherwise.
(/= 5 6 1)
=> t
- - Function: < NUMBER &rest MORE-NUMBERS
+ - Function: < number &rest more-numbers
This function returns `t' if the sequence of its arguments is
monotonically increasing, `nil' otherwise.
(< 5 6 7)
=> t
- - Function: <= NUMBER &rest MORE-NUMBERS
+ - Function: <= number &rest more-numbers
This function returns `t' if the sequence of its arguments is
monotonically nondecreasing, `nil' otherwise.
(<= 5 6 5)
=> nil
- - Function: > NUMBER &rest MORE-NUMBERS
+ - Function: > number &rest more-numbers
This function returns `t' if the sequence of its arguments is
monotonically decreasing, `nil' otherwise.
- - Function: >= NUMBER &rest MORE-NUMBERS
+ - Function: >= number &rest more-numbers
This function returns `t' if the sequence of its arguments is
monotonically nonincreasing, `nil' otherwise.
- - Function: max NUMBER &rest MORE-NUMBERS
+ - Function: max number &rest more-numbers
This function returns the largest of its arguments.
(max 20)
(max 1 3 2.5)
=> 3
- - Function: min NUMBER &rest MORE-NUMBERS
+ - Function: min number &rest more-numbers
This function returns the smallest of its arguments.
(min -4 1)
To convert an integer to floating point, use the function `float'.
- - Function: float NUMBER
+ - Function: float number
This returns NUMBER converted to floating point. If NUMBER is
already a floating point number, `float' returns it unchanged.
integers; they differ in how they round. These functions accept
integer arguments also, and return such arguments unchanged.
- - Function: truncate NUMBER
+ - Function: truncate number
This returns NUMBER, converted to an integer by rounding towards
zero.
- - Function: floor NUMBER &optional DIVISOR
+ - Function: floor number &optional divisor
This returns NUMBER, converted to an integer by rounding downward
(towards negative infinity).
floor is taken; this is the division operation that corresponds to
`mod'. An `arith-error' results if DIVISOR is 0.
- - Function: ceiling NUMBER
+ - Function: ceiling number
This returns NUMBER, converted to an integer by rounding upward
(towards positive infinity).
- - Function: round NUMBER
+ - Function: round number
This returns NUMBER, converted to an integer by rounding towards
the nearest integer. Rounding a value equidistant between two
integers may choose the integer closer to zero, or it may prefer
not check for overflow. Thus `(1+ 134217727)' may evaluate to
-134217728, depending on your hardware.
- - Function: 1+ NUMBER-OR-MARKER
+ - Function: 1+ number-or-marker
This function returns NUMBER-OR-MARKER plus 1. For example,
(setq foo 4)
more convenient and natural way to increment a variable is
`(incf foo)'.
- - Function: 1- NUMBER-OR-MARKER
+ - Function: 1- number-or-marker
This function returns NUMBER-OR-MARKER minus 1.
- - Function: abs NUMBER
+ - Function: abs number
This returns the absolute value of NUMBER.
- - Function: + &rest NUMBERS-OR-MARKERS
+ - Function: + &rest numbers-or-markers
This function adds its arguments together. When given no
arguments, `+' returns 0.
(+ 1 2 3 4)
=> 10
- - Function: - &optional NUMBER-OR-MARKER &rest OTHER-NUMBERS-OR-MARKERS
+ - Function: - &optional number-or-marker &rest other-numbers-or-markers
The `-' function serves two purposes: negation and subtraction.
When `-' has a single argument, the value is the negative of the
argument. When there are multiple arguments, `-' subtracts each of
(-)
=> 0
- - Function: * &rest NUMBERS-OR-MARKERS
+ - Function: * &rest numbers-or-markers
This function multiplies its arguments together, and returns the
product. When given no arguments, `*' returns 1.
(* 1 2 3 4)
=> 24
- - Function: / DIVIDEND DIVISOR &rest DIVISORS
+ - Function: / dividend divisor &rest divisors
This function divides DIVIDEND by DIVISOR and returns the
quotient. If there are additional arguments DIVISORS, then it
divides DIVIDEND by each divisor in turn. Each argument may be a
The result of `(/ -17 6)' could in principle be -3 on some
machines.
- - Function: % DIVIDEND DIVISOR
+ - Function: % dividend divisor
This function returns the integer remainder after division of
DIVIDEND by DIVISOR. The arguments must be integers or markers.
always equals DIVIDEND.
- - Function: mod DIVIDEND DIVISOR
+ - Function: mod dividend divisor
This function returns the value of DIVIDEND modulo DIVISOR; in
other words, the remainder after division of DIVIDEND by DIVISOR,
but with the same sign as DIVISOR. The arguments must be numbers
`fceiling', the nearest integer above; `ftruncate', the nearest integer
in the direction towards zero; `fround', the nearest integer.
- - Function: ffloor FLOAT
+ - Function: ffloor float
This function rounds FLOAT to the next lower integral value, and
returns that value as a floating point number.
- - Function: fceiling FLOAT
+ - Function: fceiling float
This function rounds FLOAT to the next higher integral value, and
returns that value as a floating point number.
- - Function: ftruncate FLOAT
+ - Function: ftruncate float
This function rounds FLOAT towards zero to an integral value, and
returns that value as a floating point number.
- - Function: fround FLOAT
+ - Function: fround float
This function rounds FLOAT to the nearest integral value, and
returns that value as a floating point number.
The bitwise operations in XEmacs Lisp apply only to integers.
- - Function: lsh INTEGER1 COUNT
+ - Function: lsh integer1 count
`lsh', which is an abbreviation for "logical shift", shifts the
bits in INTEGER1 to the left COUNT places, or to the right if
COUNT is negative, bringing zeros into the vacated bits. If COUNT
;; Decimal -2
1111 1111 1111 1111 1111 1111 1110
- - Function: ash INTEGER1 COUNT
+ - Function: ash integer1 count
`ash' ("arithmetic shift") shifts the bits in INTEGER1 to the left
COUNT places, or to the right if COUNT is negative.
Here are other examples:
- ; 28-bit binary values
+ ; 28-bit binary values
(lsh 5 2) ; 5 = 0000 0000 0000 0000 0000 0000 0101
=> 20 ; = 0000 0000 0000 0000 0000 0001 0100
-
(ash 5 2)
=> 20
(lsh -5 2) ; -5 = 1111 1111 1111 1111 1111 1111 1011
=> -20 ; = 1111 1111 1111 1111 1111 1110 1100
(ash -5 2)
=> -20
-
(lsh 5 -2) ; 5 = 0000 0000 0000 0000 0000 0000 0101
=> 1 ; = 0000 0000 0000 0000 0000 0000 0001
-
(ash 5 -2)
=> 1
-
(lsh -5 -2) ; -5 = 1111 1111 1111 1111 1111 1111 1011
=> 4194302 ; = 0011 1111 1111 1111 1111 1111 1110
-
(ash -5 -2) ; -5 = 1111 1111 1111 1111 1111 1111 1011
=> -2 ; = 1111 1111 1111 1111 1111 1111 1110
- - Function: logand &rest INTS-OR-MARKERS
+ - Function: logand &rest ints-or-markers
This function returns the "logical and" of the arguments: the Nth
bit is set in the result if, and only if, the Nth bit is set in
all the arguments. ("Set" means that the value of the bit is 1
representation consists entirely of ones. If `logand' is passed
just one argument, it returns that argument.
- ; 28-bit binary values
+ ; 28-bit binary values
(logand 14 13) ; 14 = 0000 0000 0000 0000 0000 0000 1110
; 13 = 0000 0000 0000 0000 0000 0000 1101
=> 12 ; 12 = 0000 0000 0000 0000 0000 0000 1100
-
+
(logand 14 13 4) ; 14 = 0000 0000 0000 0000 0000 0000 1110
; 13 = 0000 0000 0000 0000 0000 0000 1101
; 4 = 0000 0000 0000 0000 0000 0000 0100
=> 4 ; 4 = 0000 0000 0000 0000 0000 0000 0100
-
+
(logand)
=> -1 ; -1 = 1111 1111 1111 1111 1111 1111 1111
- - Function: logior &rest INTS-OR-MARKERS
+ - Function: logior &rest ints-or-markers
This function returns the "inclusive or" of its arguments: the Nth
bit is set in the result if, and only if, the Nth bit is set in at
least one of the arguments. If there are no arguments, the result
is zero, which is an identity element for this operation. If
`logior' is passed just one argument, it returns that argument.
- ; 28-bit binary values
+ ; 28-bit binary values
(logior 12 5) ; 12 = 0000 0000 0000 0000 0000 0000 1100
; 5 = 0000 0000 0000 0000 0000 0000 0101
=> 13 ; 13 = 0000 0000 0000 0000 0000 0000 1101
-
+
(logior 12 5 7) ; 12 = 0000 0000 0000 0000 0000 0000 1100
; 5 = 0000 0000 0000 0000 0000 0000 0101
; 7 = 0000 0000 0000 0000 0000 0000 0111
=> 15 ; 15 = 0000 0000 0000 0000 0000 0000 1111
- - Function: logxor &rest INTS-OR-MARKERS
+ - Function: logxor &rest ints-or-markers
This function returns the "exclusive or" of its arguments: the Nth
bit is set in the result if, and only if, the Nth bit is set in an
odd number of the arguments. If there are no arguments, the
result is 0, which is an identity element for this operation. If
`logxor' is passed just one argument, it returns that argument.
- ; 28-bit binary values
+ ; 28-bit binary values
(logxor 12 5) ; 12 = 0000 0000 0000 0000 0000 0000 1100
; 5 = 0000 0000 0000 0000 0000 0000 0101
=> 9 ; 9 = 0000 0000 0000 0000 0000 0000 1001
-
+
(logxor 12 5 7) ; 12 = 0000 0000 0000 0000 0000 0000 1100
; 5 = 0000 0000 0000 0000 0000 0000 0101
; 7 = 0000 0000 0000 0000 0000 0000 0111
=> 14 ; 14 = 0000 0000 0000 0000 0000 0000 1110
- - Function: lognot INTEGER
+ - Function: lognot integer
This function returns the logical complement of its argument: the
Nth bit is one in the result if, and only if, the Nth bit is zero
in INTEGER, and vice-versa.
supported (which is the normal state of affairs). They allow integers
as well as floating point numbers as arguments.
- - Function: sin ARG
- - Function: cos ARG
- - Function: tan ARG
+ - Function: sin arg
+ - Function: cos arg
+ - Function: tan arg
These are the ordinary trigonometric functions, with argument
measured in radians.
- - Function: asin ARG
+ - Function: asin arg
The value of `(asin ARG)' is a number between -pi/2 and pi/2
(inclusive) whose sine is ARG; if, however, ARG is out of range
(outside [-1, 1]), then the result is a NaN.
- - Function: acos ARG
+ - Function: acos arg
The value of `(acos ARG)' is a number between 0 and pi (inclusive)
whose cosine is ARG; if, however, ARG is out of range (outside
[-1, 1]), then the result is a NaN.
- - Function: atan ARG
+ - Function: atan arg
The value of `(atan ARG)' is a number between -pi/2 and pi/2
(exclusive) whose tangent is ARG.
- - Function: sinh ARG
- - Function: cosh ARG
- - Function: tanh ARG
+ - Function: sinh arg
+ - Function: cosh arg
+ - Function: tanh arg
These are the ordinary hyperbolic trigonometric functions.
- - Function: asinh ARG
- - Function: acosh ARG
- - Function: atanh ARG
+ - Function: asinh arg
+ - Function: acosh arg
+ - Function: atanh arg
These are the inverse hyperbolic trigonometric functions.
- - Function: exp ARG
+ - Function: exp arg
This is the exponential function; it returns e to the power ARG.
e is a fundamental mathematical constant also called the base of
natural logarithms.
- - Function: log ARG &optional BASE
+ - Function: log arg &optional base
This function returns the logarithm of ARG, with base BASE. If
you don't specify BASE, the base E is used. If ARG is negative,
the result is a NaN.
- - Function: log10 ARG
+ - Function: log10 arg
This function returns the logarithm of ARG, with base 10. If ARG
is negative, the result is a NaN. `(log10 X)' == `(log X 10)', at
least approximately.
- - Function: expt X Y
+ - Function: expt x y
This function returns X raised to power Y. If both arguments are
integers and Y is positive, the result is an integer; in this
case, it is truncated to fit the range of possible integer values.
- - Function: sqrt ARG
+ - Function: sqrt arg
This returns the square root of ARG. If ARG is negative, the
value is a NaN.
- - Function: cube-root ARG
+ - Function: cube-root arg
This returns the cube root of ARG.
\1f
t)'. This chooses a new seed based on the current time of day and on
XEmacs's process ID number.
- - Function: random &optional LIMIT
+ - Function: random &optional limit
This function returns a pseudo-random integer. Repeated calls
return a series of pseudo-random integers.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
track of output sent to the terminal. The function `device-baud-rate'
tells you what XEmacs thinks is the output speed of the terminal.
- - Function: device-baud-rate &optional DEVICE
+ - Function: device-baud-rate &optional device
This function's value is the output speed of the terminal
associated with DEVICE, as far as XEmacs knows. DEVICE defaults
to the selected device (usually the only device) if omitted.
makes decisions that are less than optimal. To fix the problem, use
`set-device-baud-rate'.
- - Function: set-device-baud-rate &optional DEVICE
+ - Function: set-device-baud-rate &optional device
This function sets the output speed of DEVICE. See
`device-baud-rate'. DEVICE defaults to the selected device
(usually the only device) if omitted.
- - Function: send-string-to-terminal CHAR-OR-STRING &optional STDOUT-P
- DEVICE
+ - Function: send-string-to-terminal char-or-string &optional stdout-p
+ device
This function sends CHAR-OR-STRING to the terminal without
alteration. Control characters in CHAR-OR-STRING have
terminal-dependent effects.
(send-string-to-terminal "\eF4\^U\^F")
=> nil
- - Command: open-termscript FILENAME
+ - Command: open-termscript filename
This function is used to open a "termscript file" that will record
all the characters sent by XEmacs to the terminal. (If there are
multiple tty or stream devices, all characters sent to all such
This function enables use of `C-s' and `C-q' for output flow
control, and provides the characters `C-\' and `C-^' as aliases
for them using `keyboard-translate-table' (*note Translating
- Input::.).
+ Input::).
You can use the function `enable-flow-control-on' in your `.emacs'
file to enable flow control automatically on certain terminal types.
- - Function: enable-flow-control-on &rest TERMTYPES
+ - Function: enable-flow-control-on &rest termtypes
This function enables flow control, and the aliases `C-\' and
`C-^', if the terminal type is one of TERMTYPES. For example:
X clients including XEmacs can read or set the selection for any given
type.
- - Function: x-own-selection DATA &optional TYPE
+ - Function: x-own-selection data &optional type
This function sets a "selection" in the X server. It takes two
arguments: a value, DATA, and the selection type TYPE to assign it
to. DATA may be a string, a cons of two markers, or an extent.
This function accesses selections set up by XEmacs or by other X
clients. It returns the value of the current primary selection.
- - Function: x-disown-selection &optional SECONDARY-P
+ - Function: x-disown-selection &optional secondary-p
Assuming we own the selection, this function disowns it. If
SECONDARY-P is non-`nil', the secondary selection instead of the
primary selection is discarded.
are considered obsolete, but XEmacs supports them for the sake of X
clients that still use them.
- - Function: x-get-cutbuffer &optional N
+ - Function: x-get-cutbuffer &optional n
This function returns the contents of cut buffer number N. (This
function is called `x-get-cut-buffer' in FSF Emacs.)
- - Function: x-store-cutbuffer STRING
+ - Function: x-store-cutbuffer string
This function stores STRING into the first cut buffer (cut buffer
0), moving the other values down through the series of cut buffers,
kill-ring-style. (This function is called `x-set-cut-buffer' in FSF
This function return the default X device for resourcing. This is
the first-created X device that still exists.
- - Function: x-get-resource NAME CLASS TYPE &optional LOCALE DEVICE
- NOERROR
+ - Function: x-get-resource name class type &optional locale device
+ noerror
This function retrieves a resource value from the X resource
manager.
`boolean', then the returned value is the list `(t)' for true,
`(nil)' for false, and is `nil' to mean "unspecified".
- - Function: x-put-resource RESOURCE-LINE &optional DEVICE
+ - Function: x-put-resource resource-line &optional device
This function adds a resource to the resource database for DEVICE.
RESOURCE-LINE specifies the resource to add and should be a
standard resource specification.
corresponding to a particular device. The device argument is generally
optional and defaults to the selected device.
- - Function: x-server-version &optional DEVICE
+ - Function: x-server-version &optional device
This function returns the list of version numbers of the X server
DEVICE is on. The returned value is a list of three integers: the
major and minor version numbers of the X protocol in use, and the
vendor-specific release number.
- - Function: x-server-vendor &optional DEVICE
+ - Function: x-server-vendor &optional device
This function returns the vendor supporting the X server DEVICE is
on.
- - Function: x-display-visual-class &optional DEVICE
+ - Function: x-display-visual-class &optional device
This function returns the visual class of the display DEVICE is
on. The value is one of the symbols `static-gray', `gray-scale',
`static-color', `pseudo-color', `true-color', and `direct-color'.
Restricting Access to the Server by Other Apps
----------------------------------------------
- - Function: x-grab-keyboard &optional DEVICE
+ - Function: x-grab-keyboard &optional device
This function grabs the keyboard on the given device (defaulting
to the selected one). So long as the keyboard is grabbed, all
keyboard events will be delivered to XEmacs - it is not possible
with `x-ungrab-keyboard' (use an `unwind-protect'). Returns `t'
if the grab was successful; `nil' otherwise.
- - Function: x-ungrab-keyboard &optional DEVICE
+ - Function: x-ungrab-keyboard &optional device
This function releases a keyboard grab made with `x-grab-keyboard'.
- - Function: x-grab-pointer &optional DEVICE CURSOR IGNORE-KEYBOARD
+ - Function: x-grab-pointer &optional device cursor ignore-keyboard
This function grabs the pointer and restricts it to its current
window. If optional DEVICE argument is `nil', the selected device
will be used. If optional CURSOR argument is non-`nil', change
all keyboard events during the grab. Returns `t' if the grab is
successful, `nil' otherwise.
- - Function: x-ungrab-pointer &optional DEVICE
+ - Function: x-ungrab-pointer &optional device
This function releases a pointer grab made with `x-grab-pointer'.
If optional first arg DEVICE is `nil' the selected device is used.
If it is `t' the pointer will be released on all X devices.
This variable holds the search path used by `read-color' to find
`rgb.txt'.
- - Function: x-valid-keysym-name-p KEYSYM
+ - Function: x-valid-keysym-name-p keysym
This function returns true if KEYSYM names a keysym that the X
library knows about. Valid keysyms are listed in the files
`/usr/include/X11/keysymdef.h' and in `/usr/lib/X11/XKeysymDB', or
whatever the equivalents are on your system.
- - Function: x-window-id &optional FRAME
+ - Function: x-window-id &optional frame
This function returns the ID of the X11 window. This gives us a
chance to manipulate the Emacs window from within a different
program. Since the ID is an unsigned long, we return it as a
ignored. Beware: allowing XEmacs to process SendEvents opens a
big security hole.
- - Function: x-debug-mode ARG &optional DEVICE
+ - Function: x-debug-mode arg &optional device
With a true arg, make the connection to the X server synchronous.
With false, make it asynchronous. Synchronous connections are
much slower, but are useful for debugging. (If you get X errors,
Elisp Interface for Sending Messages
------------------------------------
- - Function: make-tooltalk-message ATTRIBUTES
+ - Function: make-tooltalk-message attributes
Create a ToolTalk message and initialize its attributes. The
value of ATTRIBUTES must be a list of alternating keyword/values,
where keywords are symbols that name valid message attributes.
the `ToolTalk Programmer's Guide'.
- - Function: send-tooltalk-message MSG
+ - Function: send-tooltalk-message msg
Send the message on its way. Once the message has been sent it's
almost always a good idea to get rid of it with
`destroy-tooltalk-message'.
- - Function: return-tooltalk-message MSG &optional MODE
+ - Function: return-tooltalk-message msg &optional mode
Send a reply to this message. The second argument can be `reply',
`reject' or `fail'; the default is `reply'. Before sending a
reply, all message arguments whose mode is `TT_INOUT' or `TT_OUT'
should have been filled in - see `set-tooltalk-message-attribute'.
- - Function: get-tooltalk-message-attribute MSG ATTRIBUTE &optional ARGN
+ - Function: get-tooltalk-message-attribute msg attribute &optional argn
Returns the indicated ToolTalk message attribute. Attributes are
identified by symbols with the same name (underscores and all) as
the suffix of the ToolTalk `tt_message_<attribute>' function that
`arg_bval' like a string is fine.
- - Function: set-tooltalk-message-attribute VALUE MSG ATTRIBUTE
- &optional ARGN
+ - Function: set-tooltalk-message-attribute value msg attribute
+ &optional argn
Initialize one ToolTalk message attribute.
Attribute names and values are the same as for
with `add-tooltalk-message-arg'.
- - Function: add-tooltalk-message-arg MSG MODE TYPE &optional VALUE
+ - Function: add-tooltalk-message-arg msg mode type &optional value
Append one new argument to the message. MODE must be one of
`TT_IN', `TT_INOUT', or `TT_OUT', TYPE must be a string, and VALUE
can be a string or an integer. ToolTalk doesn't define any
initialize a message.
- - Function: destroy-tooltalk-message MSG
+ - Function: destroy-tooltalk-message msg
Apply `tt_message_destroy' to the message. It's not necessary to
destroy messages after they've been processed by a message or
pattern callback, the Lisp/ToolTalk callback machinery does this
Elisp Interface for Receiving Messages
--------------------------------------
- - Function: make-tooltalk-pattern ATTRIBUTES
+ - Function: make-tooltalk-pattern attributes
Create a ToolTalk pattern and initialize its attributes. The
value of attributes must be a list of alternating keyword/values,
where keywords are symbols that name valid pattern attributes or
the `ToolTalk Programmer's Guide'.
- - Function: register-tooltalk-pattern PAT
+ - Function: register-tooltalk-pattern pat
XEmacs will begin receiving messages that match this pattern.
- - Function: unregister-tooltalk-pattern PAT
+ - Function: unregister-tooltalk-pattern pat
XEmacs will stop receiving messages that match this pattern.
- - Function: add-tooltalk-pattern-attribute VALUE PAT INDICATOR
+ - Function: add-tooltalk-pattern-attribute value pat indicator
Add one value to the indicated pattern attribute. The names of
attributes are the same as the ToolTalk accessors used to set them
less the `tooltalk_pattern_' prefix and the `_add' suffix. For
argument. It will be called each time the pattern matches an
incoming message.
- - Function: add-tooltalk-pattern-arg PAT MODE TYPE VALUE
+ - Function: add-tooltalk-pattern-arg pat mode type value
Add one fully-specified argument to a ToolTalk pattern. MODE must
be one of `TT_IN', `TT_INOUT', or `TT_OUT'. TYPE must be a
string. VALUE can be an integer, string or `nil'. If VALUE is an
Create a new ToolTalk pattern and initialize its session attribute
to be the default session.
- - Function: destroy-tooltalk-pattern PAT
+ - Function: destroy-tooltalk-pattern pat
Apply `tt_pattern_destroy' to the pattern. This effectively
unregisters the pattern.
- - Function: describe-tooltalk-message MSG &optional STREAM
+ - Function: describe-tooltalk-message msg &optional stream
Print the message's attributes and arguments to STREAM. This is
often useful for debugging.
linking to an external LDAP client library. As of 21.2, XEmacs has been
successfully built and tested with
- * OpenLDAP 1.0.3 (`http://www.openldap.org/')
+ * OpenLDAP 1.0.3 (<http://www.openldap.org/>)
* University of Michigan's LDAP 3.3
- (`http://www.umich.edu/~dirsvcs/ldap/')
+ (<http://www.umich.edu/~dirsvcs/ldap/>)
- * LDAP SDK 1.0 from Netscape Corp. (`http://developer.netscape.com/')
+ * LDAP SDK 1.0 from Netscape Corp. (<http://developer.netscape.com/>)
Other libraries conforming to RFC 1823 will probably work also but
may require some minor tweaking at C level.
- Variable: ldap-host-parameters-alist
An alist of per host options for LDAP transactions. The list
- elements look like `(HOST PROP1 VAL1 PROP2 VAL2 ...)' HOST is the
+ elements look like `(HOST PROP1 VAL1 PROP2 VAL2 ...)' HOST is the
name of an LDAP server. A TCP port number can be appended to that
name using a colon as a separator. PROPN and VALN are
property/value pairs describing parameters for the server. Valid
perform LDAP searches. It opens a connection to a host, performs the
query and cleanly closes the connection thus insulating the user from
all the details of the low-level interface such as LDAP Lisp objects
-*note The Low-Level LDAP API::.
+*note The Low-Level LDAP API::
- - Function: ldap-search FILTER &optional HOST ATTRIBUTES ATTRSONLY
+ - Function: ldap-search filter &optional host attributes attrsonly
Perform an LDAP search. FILTER is the search filter *note Syntax
- of Search Filters::. HOST is the LDAP host on which to perform
- the search ATTRIBUTES is the specific attributes to retrieve,
- `nil' means retrieve all ATTRSONLY if non-`nil' retrieves the
- attributes only without their associated values. Additional
- search parameters can be specified through
- `ldap-host-parameters-alist'.
+ of Search Filters:: HOST is the LDAP host on which to perform the
+ search ATTRIBUTES is the specific attributes to retrieve, `nil'
+ means retrieve all ATTRSONLY if non-`nil' retrieves the attributes
+ only without their associated values. Additional search
+ parameters can be specified through `ldap-host-parameters-alist'.
\1f
File: lispref.info, Node: The Low-Level LDAP API, Prev: The High-Level LDAP API, Up: XEmacs LDAP API
An internal built-in `ldap' lisp object represents a LDAP connection.
- - Function: ldapp OBJECT
+ - Function: ldapp object
This function returns non-`nil' if OBJECT is a `ldap' object.
- - Function: ldap-host LDAP
+ - Function: ldap-host ldap
Return the server host of the connection represented by LDAP
- - Function: ldap-live-p LDAP
+ - Function: ldap-live-p ldap
Return non-`nil' if LDAP is an active LDAP connection
\1f
Opening and Closing a LDAP Connection
.....................................
- - Function: ldap-open HOST &optional PLIST
+ - Function: ldap-open host &optional plist
Open a LDAP connection to HOST. PLIST is a property list
containing additional parameters for the connection. Valid keys
in that list are:
The maximum number of matches to return for searches
performed on this connection.
- - Function: ldap-close LDAP
+ - Function: ldap-close ldap
Close the connection represented by LDAP
\1f
can be made on the same connection, then the session must be closed
with `ldap-close'.
- - Function: ldap-search-internal LDAP FILTER BASE SCOPE ATTRS ATTRSONLY
+ - Function: ldap-search-internal ldap filter base scope attrs attrsonly
Perform a search on an open connection LDAP created with
`ldap-open'. FILTER is a filter string for the search *note
- Syntax of Search Filters::. BASE is the distinguished name at
- which to start the search. SCOPE is one of the symbols `base',
+ Syntax of Search Filters:: BASE is the distinguished name at which
+ to start the search. SCOPE is one of the symbols `base',
`onelevel' or `subtree' indicating the scope of the search limited
to a base object, to a single level or to the whole subtree. The
default is `subtree'. `attrs' is a list of strings indicating
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
Level 3 Primitives
------------------
- - Function: gettext STRING
+ - Function: gettext string
This function looks up STRING in the default message domain and
returns its translation. If `I18N3' was not enabled when XEmacs
was compiled, it just returns STRING.
- - Function: dgettext DOMAIN STRING
+ - Function: dgettext domain string
This function looks up STRING in the specified message domain and
returns its translation. If `I18N3' was not enabled when XEmacs
was compiled, it just returns STRING.
- - Function: bind-text-domain DOMAIN PATHNAME
+ - Function: bind-text-domain domain pathname
This function associates a pathname with a message domain. Here's
how the path to message file is constructed under SunOS 5.x:
If `I18N3' was not enabled when XEmacs was compiled, this function
does nothing.
- - Special Form: domain STRING
+ - Special Form: domain string
This function specifies the text domain used for translating
documentation strings and interactive prompts of a function. For
example, write:
The "call" to `domain' is actually a declaration rather than a
function; when actually called, `domain' just returns `nil'.
- - Function: domain-of FUNCTION
+ - Function: domain-of function
This function returns the text domain of FUNCTION; it returns
`nil' if it is the default domain. If `I18N3' was not enabled
when XEmacs was compiled, it always returns `nil'.
For variables and constants which have documentation strings,
specify the domain after the documentation.
- - Special Form: defvar SYMBOL [VALUE [DOC-STRING [DOMAIN]]]
+ - Special Form: defvar symbol [value [doc-string [domain]]]
Example:
(defvar weight 250 "Weight of gorilla, in pounds." "emacs-gorilla")
- - Special Form: defconst SYMBOL [VALUE [DOC-STRING [DOMAIN]]]
+ - Special Form: defconst symbol [value [doc-string [domain]]]
Example:
(defconst limbs 4 "Number of limbs" "emacs-gorilla")
extracted into the main message base. However, for autoloaded functions
which are specified in a separate package, use following syntax:
- - Function: autoload SYMBOL FILENAME &optional DOCSTRING INTERACTIVE
- MACRO DOMAIN
+ - Function: autoload symbol filename &optional docstring interactive
+ macro domain
Example:
(autoload 'explore "jungle" "Explore the jungle." nil nil "emacs-gorilla")
has thousands of characters, and is of dimension two - every character
is indexed by two position codes, each in the range 33 through 126.
(Note that the choice of the range here is somewhat arbitrary.
-Although a character set such as JISX0208 defines an *ordering* of all
+Although a character set such as JISX0208 defines an _ordering_ of all
its characters, it does not define the actual mapping between numbers
and characters. You could just as easily index the characters in
JISX0208 using numbers in the range 0 through 93, 1 through 94, 2
character set as well as an ordering of those characters. Charsets are
permanent objects and are named using symbols, like faces.
- - Function: charsetp OBJECT
+ - Function: charsetp object
This function returns non-`nil' if OBJECT is a charset.
* Menu:
Basic Charset Functions
-----------------------
- - Function: find-charset CHARSET-OR-NAME
+ - Function: find-charset charset-or-name
This function retrieves the charset of the given name. If
CHARSET-OR-NAME is a charset object, it is simply returned.
Otherwise, CHARSET-OR-NAME should be a symbol. If there is no
such charset, `nil' is returned. Otherwise the associated charset
object is returned.
- - Function: get-charset NAME
+ - Function: get-charset name
This function retrieves the charset of the given name. Same as
`find-charset' except an error is signalled if there is no such
charset instead of returning `nil'.
- Function: charset-list
This function returns a list of the names of all defined charsets.
- - Function: make-charset NAME DOC-STRING PROPS
+ - Function: make-charset name doc-string props
This function defines a new character set. This function is for
use with Mule support. NAME is a symbol, the name by which the
character set is normally referred. DOC-STRING is a string
`chars', `final', `graphic', `direction', and `ccl-program', as
previously described.
- - Function: make-reverse-direction-charset CHARSET NEW-NAME
+ - Function: make-reverse-direction-charset charset new-name
This function makes a charset equivalent to CHARSET but which goes
in the opposite direction. NEW-NAME is the name of the new
charset. The new charset is returned.
- - Function: charset-from-attributes DIMENSION CHARS FINAL &optional
- DIRECTION
+ - Function: charset-from-attributes dimension chars final &optional
+ direction
This function returns a charset with the given DIMENSION, CHARS,
FINAL, and DIRECTION. If DIRECTION is omitted, both directions
will be checked (left-to-right will be returned if character sets
exist for both directions).
- - Function: charset-reverse-direction-charset CHARSET
+ - Function: charset-reverse-direction-charset charset
This function returns the charset (if any) with the same dimension,
number of characters, and final byte as CHARSET, but which is
displayed in the opposite direction.
All of these functions accept either a charset name or charset
object.
- - Function: charset-property CHARSET PROP
+ - Function: charset-property charset prop
This function returns property PROP of CHARSET. *Note Charset
Properties::.
Convenience functions are also provided for retrieving individual
properties of a charset.
- - Function: charset-name CHARSET
+ - Function: charset-name charset
This function returns the name of CHARSET. This will be a symbol.
- - Function: charset-doc-string CHARSET
+ - Function: charset-doc-string charset
This function returns the doc string of CHARSET.
- - Function: charset-registry CHARSET
+ - Function: charset-registry charset
This function returns the registry of CHARSET.
- - Function: charset-dimension CHARSET
+ - Function: charset-dimension charset
This function returns the dimension of CHARSET.
- - Function: charset-chars CHARSET
+ - Function: charset-chars charset
This function returns the number of characters per dimension of
CHARSET.
- - Function: charset-columns CHARSET
+ - Function: charset-columns charset
This function returns the number of display columns per character
(in TTY mode) of CHARSET.
- - Function: charset-direction CHARSET
+ - Function: charset-direction charset
This function returns the display direction of CHARSET - either
`l2r' or `r2l'.
- - Function: charset-final CHARSET
+ - Function: charset-final charset
This function returns the final byte of the ISO 2022 escape
sequence designating CHARSET.
- - Function: charset-graphic CHARSET
+ - Function: charset-graphic charset
This function returns either 0 or 1, depending on whether the
position codes of characters in CHARSET map to the left or right
half of their font, respectively.
- - Function: charset-ccl-program CHARSET
+ - Function: charset-ccl-program charset
This function returns the CCL program, if any, for converting
position codes of characters in CHARSET into font indices.
The only property of a charset that can currently be set after the
charset has been created is the CCL program.
- - Function: set-charset-ccl-program CHARSET CCL-PROGRAM
+ - Function: set-charset-ccl-program charset ccl-program
This function sets the `ccl-program' property of CHARSET to
CCL-PROGRAM.
MULE Characters
===============
- - Function: make-char CHARSET ARG1 &optional ARG2
+ - Function: make-char charset arg1 &optional arg2
This function makes a multi-byte character from CHARSET and octets
ARG1 and ARG2.
- - Function: char-charset CH
+ - Function: char-charset ch
This function returns the character set of char CH.
- - Function: char-octet CH &optional N
+ - Function: char-octet ch &optional n
This function returns the octet (i.e. position code) numbered N
(should be 0 or 1) of char CH. N defaults to 0 if omitted.
- - Function: find-charset-region START END &optional BUFFER
+ - Function: find-charset-region start end &optional buffer
This function returns a list of the charsets in the region between
START and END. BUFFER defaults to the current buffer if omitted.
- - Function: find-charset-string STRING
+ - Function: find-charset-string string
This function returns a list of the charsets in STRING.
\1f
Composite characters are not yet completely implemented.
- - Function: make-composite-char STRING
+ - Function: make-composite-char string
This function converts a string into a single composite character.
The character is the result of overstriking all the characters in
the string.
- - Function: composite-char-string CH
+ - Function: composite-char-string ch
This function returns a string of the characters comprising a
composite character.
- - Function: compose-region START END &optional BUFFER
+ - Function: compose-region start end &optional buffer
This function composes the characters in the region from START to
END in BUFFER into one composite character. The composite
character replaces the composed characters. BUFFER defaults to
the current buffer if omitted.
- - Function: decompose-region START END &optional BUFFER
+ - Function: decompose-region start end &optional buffer
This function decomposes any composite characters in the region
from START to END in BUFFER. This converts each composite
character into one or more characters, the individual characters
a coding system is called for. (This is similar to how faces and
charsets work.)
- - Function: coding-system-p OBJECT
+ - Function: coding-system-p object
This function returns non-`nil' if OBJECT is a coding system.
* Menu:
Basic Coding System Functions
-----------------------------
- - Function: find-coding-system CODING-SYSTEM-OR-NAME
+ - Function: find-coding-system coding-system-or-name
This function retrieves the coding system of the given name.
If CODING-SYSTEM-OR-NAME is a coding-system object, it is simply
If there is no such coding system, `nil' is returned. Otherwise
the associated coding system object is returned.
- - Function: get-coding-system NAME
+ - Function: get-coding-system name
This function retrieves the coding system of the given name. Same
as `find-coding-system' except an error is signalled if there is no
such coding system instead of returning `nil'.
This function returns a list of the names of all defined coding
systems.
- - Function: coding-system-name CODING-SYSTEM
+ - Function: coding-system-name coding-system
This function returns the name of the given coding system.
- - Function: make-coding-system NAME TYPE &optional DOC-STRING PROPS
+ - Function: make-coding-system name type &optional doc-string props
This function registers symbol NAME as a coding system.
TYPE describes the conversion method used and should be one of the
character set. Recognized properties are as in *Note Coding
System Properties::.
- - Function: copy-coding-system OLD-CODING-SYSTEM NEW-NAME
+ - Function: copy-coding-system old-coding-system new-name
This function copies OLD-CODING-SYSTEM to NEW-NAME. If NEW-NAME
does not name an existing coding system, a new one will be created.
- - Function: subsidiary-coding-system CODING-SYSTEM EOL-TYPE
+ - Function: subsidiary-coding-system coding-system eol-type
This function returns the subsidiary coding system of
CODING-SYSTEM with eol type EOL-TYPE.
Coding System Property Functions
--------------------------------
- - Function: coding-system-doc-string CODING-SYSTEM
+ - Function: coding-system-doc-string coding-system
This function returns the doc string for CODING-SYSTEM.
- - Function: coding-system-type CODING-SYSTEM
+ - Function: coding-system-type coding-system
This function returns the type of CODING-SYSTEM.
- - Function: coding-system-property CODING-SYSTEM PROP
+ - Function: coding-system-property coding-system prop
This function returns the PROP property of CODING-SYSTEM.
\1f
Encoding and Decoding Text
--------------------------
- - Function: decode-coding-region START END CODING-SYSTEM &optional
- BUFFER
+ - Function: decode-coding-region start end coding-system &optional
+ buffer
This function decodes the text between START and END which is
encoded in CODING-SYSTEM. This is useful if you've read in
encoded text from a file without decoding it (e.g. you read in a
encoded text is returned. BUFFER defaults to the current buffer
if unspecified.
- - Function: encode-coding-region START END CODING-SYSTEM &optional
- BUFFER
+ - Function: encode-coding-region start end coding-system &optional
+ buffer
This function encodes the text between START and END using
CODING-SYSTEM. This will, for example, convert Japanese
characters into stuff such as `^[$B!<!+^[(B' if you use the JIS
- Function: coding-category-list
This function returns a list of all recognized coding categories.
- - Function: set-coding-priority-list LIST
+ - Function: set-coding-priority-list list
This function changes the priority order of the coding categories.
LIST should be a list of coding categories, in descending order of
priority. Unspecified coding categories will be lower in priority
This function returns a list of coding categories in descending
order of priority.
- - Function: set-coding-category-system CODING-CATEGORY CODING-SYSTEM
+ - Function: set-coding-category-system coding-category coding-system
This function changes the coding system associated with a coding
category.
- - Function: coding-category-system CODING-CATEGORY
+ - Function: coding-category-system coding-category
This function returns the coding system associated with a coding
category.
- - Function: detect-coding-region START END &optional BUFFER
+ - Function: detect-coding-region start end &optional buffer
This function detects coding system of the text in the region
between START and END. Returned value is a list of possible coding
systems ordered by priority. If only ASCII characters are found,
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
These are special functions for working with the non-standard
Shift-JIS and Big5 encodings.
- - Function: decode-shift-jis-char CODE
+ - Function: decode-shift-jis-char code
This function decodes a JISX0208 character of Shift-JIS
coding-system. CODE is the character code in Shift-JIS as a cons
of type bytes. The corresponding character is returned.
- - Function: encode-shift-jis-char CH
+ - Function: encode-shift-jis-char ch
This function encodes a JISX0208 character CH to SHIFT-JIS
coding-system. The corresponding character code in SHIFT-JIS is
returned as a cons of two bytes.
- - Function: decode-big5-char CODE
+ - Function: decode-big5-char code
This function decodes a Big5 character CODE of BIG5 coding-system.
CODE is the character code in BIG5. The corresponding character
is returned.
- - Function: encode-big5-char CH
+ - Function: encode-big5-char ch
This function encodes the Big5 character CHAR to BIG5
coding-system. The corresponding character code in Big5 is
returned.
they return parts of their values in `r7'. Y may be an expression,
register, or integer, while Z must be a register or an integer.
-Name Operator Code C-like Description
-CCL_PLUS `+' 0x00 X = Y + Z
-CCL_MINUS `-' 0x01 X = Y - Z
-CCL_MUL `*' 0x02 X = Y * Z
-CCL_DIV `/' 0x03 X = Y / Z
-CCL_MOD `%' 0x04 X = Y % Z
-CCL_AND `&' 0x05 X = Y & Z
-CCL_OR `|' 0x06 X = Y | Z
-CCL_XOR `^' 0x07 X = Y ^ Z
-CCL_LSH `<<' 0x08 X = Y << Z
-CCL_RSH `>>' 0x09 X = Y >> Z
-CCL_LSH8 `<8' 0x0A X = (Y << 8) | Z
-CCL_RSH8 `>8' 0x0B X = Y >> 8, r[7] = Y & 0xFF
-CCL_DIVMOD `//' 0x0C X = Y / Z, r[7] = Y % Z
-CCL_LS `<' 0x10 X = (X < Y)
-CCL_GT `>' 0x11 X = (X > Y)
-CCL_EQ `==' 0x12 X = (X == Y)
-CCL_LE `<=' 0x13 X = (X <= Y)
-CCL_GE `>=' 0x14 X = (X >= Y)
-CCL_NE `!=' 0x15 X = (X != Y)
-CCL_ENCODE_SJIS `en-sjis' 0x16 X = HIGHER_BYTE (SJIS (Y, Z))
- r[7] = LOWER_BYTE (SJIS (Y, Z)
-CCL_DECODE_SJIS `de-sjis' 0x17 X = HIGHER_BYTE (DE-SJIS (Y, Z))
- r[7] = LOWER_BYTE (DE-SJIS (Y, Z))
+Name Operator Code C-like Description
+CCL_PLUS `+' 0x00 X = Y + Z
+CCL_MINUS `-' 0x01 X = Y - Z
+CCL_MUL `*' 0x02 X = Y * Z
+CCL_DIV `/' 0x03 X = Y / Z
+CCL_MOD `%' 0x04 X = Y % Z
+CCL_AND `&' 0x05 X = Y & Z
+CCL_OR `|' 0x06 X = Y | Z
+CCL_XOR `^' 0x07 X = Y ^ Z
+CCL_LSH `<<' 0x08 X = Y << Z
+CCL_RSH `>>' 0x09 X = Y >> Z
+CCL_LSH8 `<8' 0x0A X = (Y << 8) | Z
+CCL_RSH8 `>8' 0x0B X = Y >> 8, r[7] = Y & 0xFF
+CCL_DIVMOD `//' 0x0C X = Y / Z, r[7] = Y % Z
+CCL_LS `<' 0x10 X = (X < Y)
+CCL_GT `>' 0x11 X = (X > Y)
+CCL_EQ `==' 0x12 X = (X == Y)
+CCL_LE `<=' 0x13 X = (X <= Y)
+CCL_GE `>=' 0x14 X = (X >= Y)
+CCL_NE `!=' 0x15 X = (X != Y)
+CCL_ENCODE_SJIS `en-sjis' 0x16 X = HIGHER_BYTE (SJIS (Y, Z))
+ r[7] = LOWER_BYTE (SJIS (Y, Z)
+CCL_DECODE_SJIS `de-sjis' 0x17 X = HIGHER_BYTE (DE-SJIS (Y, Z))
+ r[7] = LOWER_BYTE (DE-SJIS (Y, Z))
The CCL operators are as in C, with the addition of CCL_LSH8,
CCL_RSH8, CCL_DIVMOD, CCL_ENCODE_SJIS, and CCL_DECODE_SJIS. The
CCL programs are called automatically during Emacs buffer I/O when
the external representation has a coding system type of `shift-jis',
`big5', or `ccl'. The program is specified by the coding system (*note
-Coding Systems::.). You can also call CCL programs from other CCL
+Coding Systems::). You can also call CCL programs from other CCL
programs, and from Lisp using these functions:
- - Function: ccl-execute CCL-PROGRAM STATUS
+ - Function: ccl-execute ccl-program status
Execute CCL-PROGRAM with registers initialized by STATUS.
CCL-PROGRAM is a vector of compiled CCL code created by
`ccl-compile'. It is an error for the program to try to execute a
side-effect) to contain the ending values for the corresponding
registers and IC.
- - Function: ccl-execute-on-string CCL-PROGRAM STATUS STR &optional
- CONTINUE
+ - Function: ccl-execute-on-string ccl-program status str &optional
+ continue
Execute CCL-PROGRAM with initial STATUS on STRING. CCL-PROGRAM is
a vector of compiled CCL code created by `ccl-compile'. STATUS
must be a vector of nine values, specifying the initial value for
To call a CCL program from another CCL program, it must first be
registered:
- - Function: register-ccl-program NAME CCL-PROGRAM
+ - Function: register-ccl-program name ccl-program
Register NAME for CCL program PROGRAM in `ccl-program-table'.
PROGRAM should be the compiled form of a CCL program, or nil.
Return index number of the registered CCL program.
Special Lisp functions are provided that abstract this, so you do not
have to directly manipulate bit vectors.
- - Function: category-table-p OBJ
+ - Function: category-table-p obj
This function returns `t' if ARG is a category table.
- - Function: category-table &optional BUFFER
+ - Function: category-table &optional buffer
This function returns the current category table. This is the one
specified by the current buffer, or by BUFFER if it is non-`nil'.
This function returns the standard category table. This is the
one used for new buffers.
- - Function: copy-category-table &optional TABLE
+ - Function: copy-category-table &optional table
This function constructs a new category table and return it. It
is a copy of the TABLE, which defaults to the standard category
table.
- - Function: set-category-table TABLE &optional BUFFER
+ - Function: set-category-table table &optional buffer
This function selects a new category table for BUFFER. One
argument, a category table. BUFFER defaults to the current buffer
if omitted.
- - Function: category-designator-p OBJ
+ - Function: category-designator-p obj
This function returns `t' if ARG is a category designator (a char
in the range `' '' to `'~'').
- - Function: category-table-value-p OBJ
+ - Function: category-table-value-p obj
This function returns `t' if ARG is a category table value. Valid
values are `nil' or a bit vector of size 95.
right. *Note Compiling Macros::.
Using `eval-when-compile' avoids loading BAR when the compiled
- version of FOO is *used*.
+ version of FOO is _used_.
* If you define a major mode, make sure to run a hook variable using
`run-hooks', just as the existing major modes do. *Note Hooks::.
* When a package provides a modification of ordinary Emacs behavior,
it is good to include a command to enable and disable the feature,
Provide a command named `WHATEVER-mode' which turns the feature on
- or off, and make it autoload (*note Autoload::.). Design the
+ or off, and make it autoload (*note Autoload::). Design the
package so that simply loading it has no visible effect--that
should not enable the feature. Users will request the feature by
invoking the command.
the function is handled specially.
For example, the following input will show you that `aref' is
- compiled specially (*note Array Functions::.) while `elt' is not
- (*note Sequence Functions::.):
+ compiled specially (*note Array Functions::) while `elt' is not
+ (*note Sequence Functions::):
(get 'aref 'byte-compile)
=> byte-compile-two-args
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
To create `xemacs', use the command `temacs -batch -l loadup dump'.
The purpose of `-batch' here is to tell `temacs' to run in
-non-interactive, command-line mode. (`temacs' can *only* run in this
+non-interactive, command-line mode. (`temacs' can _only_ run in this
fashion. Part of the code required to initialize frames and faces is
in Lisp, and must be loaded before XEmacs is able to create any frames.)
The argument `dump' tells `loadup.el' to dump a new executable named
You can specify additional files to preload by writing a library
named `site-load.el' that loads them. You may need to increase the
value of `PURESIZE', in `src/puresize.h', to make room for the
-additional files. You should *not* modify this file directly, however;
+additional files. You should _not_ modify this file directly, however;
instead, use the `--puresize' configuration option. (If you run out of
pure space while dumping `xemacs', you will be told how much pure space
you actually will need.) However, the advantage of preloading
Before `loadup.el' dumps the new executable, it finds the
documentation strings for primitive and preloaded functions (and
variables) in the file where they are stored, by calling
-`Snarf-documentation' (*note Accessing Documentation::.). These
-strings were moved out of the `xemacs' executable to make it smaller.
-*Note Documentation Basics::.
+`Snarf-documentation' (*note Accessing Documentation::). These strings
+were moved out of the `xemacs' executable to make it smaller. *Note
+Documentation Basics::.
- - Function: dump-emacs TO-FILE FROM-FILE
+ - Function: dump-emacs to-file from-file
This function dumps the current state of XEmacs into an executable
file TO-FILE. It takes symbols from FROM-FILE (this is normally
the executable file `temacs').
must set `command-line-processed' to `nil' first for good results.
*Note Command Line Arguments::.
- - Function: run-emacs-from-temacs &rest ARGS
+ - Function: run-emacs-from-temacs &rest args
This is the function that implements the `run-temacs' command-line
argument. It is called from `loadup.el' as appropriate. You
- should most emphatically *not* call this yourself; it will
+ should most emphatically _not_ call this yourself; it will
reinitialize your XEmacs process and you'll be sorry.
- Command: emacs-version
you try to preload additional libraries or add features to the standard
ones.
- - Function: purecopy OBJECT
+ - Function: purecopy object
This function makes a copy of OBJECT in pure storage and returns
it. It copies strings by simply making a new string with the same
characters in pure storage. It recursively copies the contents of
define such variables for their internal use; we don't list them here.
`abbrev-mode'
- *note Abbrevs::.
+ *note Abbrevs::
`auto-fill-function'
- *note Auto Filling::.
+ *note Auto Filling::
`buffer-auto-save-file-name'
- *note Auto-Saving::.
+ *note Auto-Saving::
`buffer-backed-up'
- *note Backup Files::.
+ *note Backup Files::
`buffer-display-table'
- *note Display Tables::.
+ *note Display Tables::
`buffer-file-format'
- *note Format Conversion::.
+ *note Format Conversion::
`buffer-file-name'
- *note Buffer File Name::.
+ *note Buffer File Name::
`buffer-file-number'
- *note Buffer File Name::.
+ *note Buffer File Name::
`buffer-file-truename'
- *note Buffer File Name::.
+ *note Buffer File Name::
`buffer-file-type'
- *note Files and MS-DOS::.
+ *note Files and MS-DOS::
`buffer-invisibility-spec'
- *note Invisible Text::.
+ *note Invisible Text::
`buffer-offer-save'
- *note Saving Buffers::.
+ *note Saving Buffers::
`buffer-read-only'
- *note Read Only Buffers::.
+ *note Read Only Buffers::
`buffer-saved-size'
- *note Point::.
+ *note Point::
`buffer-undo-list'
- *note Undo::.
+ *note Undo::
`cache-long-line-scans'
- *note Text Lines::.
+ *note Text Lines::
`case-fold-search'
- *note Searching and Case::.
+ *note Searching and Case::
`ctl-arrow'
- *note Usual Display::.
+ *note Usual Display::
`comment-column'
*note Comments: (emacs)Comments.
`default-directory'
- *note System Environment::.
+ *note System Environment::
`defun-prompt-regexp'
- *note List Motion::.
+ *note List Motion::
`fill-column'
- *note Auto Filling::.
+ *note Auto Filling::
`goal-column'
*note Moving Point: (emacs)Moving Point.
`left-margin'
- *note Indentation::.
+ *note Indentation::
`local-abbrev-table'
- *note Abbrevs::.
+ *note Abbrevs::
`local-write-file-hooks'
- *note Saving Buffers::.
+ *note Saving Buffers::
`major-mode'
- *note Mode Help::.
+ *note Mode Help::
`mark-active'
- *note The Mark::.
+ *note The Mark::
`mark-ring'
- *note The Mark::.
+ *note The Mark::
`minor-modes'
- *note Minor Modes::.
+ *note Minor Modes::
`modeline-format'
- *note Modeline Data::.
+ *note Modeline Data::
`modeline-buffer-identification'
- *note Modeline Variables::.
+ *note Modeline Variables::
`modeline-format'
- *note Modeline Data::.
+ *note Modeline Data::
`modeline-modified'
- *note Modeline Variables::.
+ *note Modeline Variables::
`modeline-process'
- *note Modeline Variables::.
+ *note Modeline Variables::
`mode-name'
- *note Modeline Variables::.
+ *note Modeline Variables::
`overwrite-mode'
- *note Insertion::.
+ *note Insertion::
`paragraph-separate'
- *note Standard Regexps::.
+ *note Standard Regexps::
`paragraph-start'
- *note Standard Regexps::.
+ *note Standard Regexps::
`point-before-scroll'
Used for communication between mouse commands and scroll-bar
commands.
`require-final-newline'
- *note Insertion::.
+ *note Insertion::
`selective-display'
- *note Selective Display::.
+ *note Selective Display::
`selective-display-ellipses'
- *note Selective Display::.
+ *note Selective Display::
`tab-width'
- *note Usual Display::.
+ *note Usual Display::
`truncate-lines'
- *note Truncation::.
+ *note Truncation::
`vc-mode'
- *note Modeline Variables::.
+ *note Modeline Variables::
\1f
File: lispref.info, Node: Standard Keymaps, Next: Standard Hooks, Prev: Standard Buffer-Local Variables, Up: Top
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
* check-valid-spec-list: Specifier Validation Functions.
* child process: Processes.
* children, of extent: Extent Parents.
-* CL note---allocate more storage: Garbage Collection.
-* CL note---case of letters: Symbol Type.
-* CL note---default optional arg: Argument List.
-* CL note---integers vrs eq: Comparison of Numbers.
-* CL note---lack union, set: Sets And Lists.
-* CL note---only throw in Emacs: Catch and Throw.
-* CL note---rplaca vrs setcar: Modifying Lists.
-* CL note---set local: Setting Variables.
-* CL note---special forms compared: Special Forms.
-* CL note---special variables: Variable Scoping.
-* CL note---symbol in obarrays: Creating Symbols.
+* CL note--allocate more storage: Garbage Collection.
+* CL note--case of letters: Symbol Type.
+* CL note--default optional arg: Argument List.
+* CL note--integers vrs eq: Comparison of Numbers.
+* CL note--lack union, set: Sets And Lists.
+* CL note--only throw in Emacs: Catch and Throw.
+* CL note--rplaca vrs setcar: Modifying Lists.
+* CL note--set local: Setting Variables.
+* CL note--special forms compared: Special Forms.
+* CL note--special variables: Variable Scoping.
+* CL note--symbol in obarrays: Creating Symbols.
* cl-read: Reading in Edebug.
* cl-specs.el: Instrumenting.
* cl.el (Edebug): Instrumenting.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
determined only by how it is used. *Note Character Type::.
The length of a string (like any array) is fixed and independent of
-the string contents, and cannot be altered. Strings in Lisp are *not*
+the string contents, and cannot be altered. Strings in Lisp are _not_
terminated by a distinguished character code. (By contrast, strings in
C are terminated by a character with ASCII code 0.) This means that
any character, including the null character (ASCII code 0), is a valid
Since strings are considered arrays, you can operate on them with the
general array functions. (*Note Sequences Arrays Vectors::.) For
example, you can access or change individual characters in a string
-using the functions `aref' and `aset' (*note Array Functions::.).
+using the functions `aref' and `aset' (*note Array Functions::).
Strings use an efficient representation for storing the characters
in them, and thus take up much less memory than a vector of the same
length.
Sometimes you will see strings used to hold key sequences. This
-exists for backward compatibility with Emacs 18, but should *not* be
+exists for backward compatibility with Emacs 18, but should _not_ be
used in new code, since many key chords can't be represented at all and
others (in particular meta key chords) are confused with accented
characters.
Strings are useful for holding regular expressions. You can also
-match regular expressions against strings (*note Regexp Search::.). The
-functions `match-string' (*note Simple Match Data::.) and
-`replace-match' (*note Replacing Match::.) are useful for decomposing
+match regular expressions against strings (*note Regexp Search::). The
+functions `match-string' (*note Simple Match Data::) and
+`replace-match' (*note Replacing Match::) are useful for decomposing
and modifying strings based on regular expression matching.
Like a buffer, a string can contain extents in it. These extents are
For more information about general sequence and array predicates,
see *Note Sequences Arrays Vectors::, and *Note Arrays::.
- - Function: stringp OBJECT
+ - Function: stringp object
This function returns `t' if OBJECT is a string, `nil' otherwise.
- - Function: char-or-string-p OBJECT
+ - Function: char-or-string-p object
This function returns `t' if OBJECT is a string or a character,
`nil' otherwise.
The following functions create strings, either from scratch, or by
putting strings together, or by taking them apart.
- - Function: string &rest CHARACTERS
+ - Function: string &rest characters
This function returns a new string made up of CHARACTERS.
(string ?X ?E ?m ?a ?c ?s)
=> ""
Analogous functions operating on other data types include `list',
- `cons' (*note Building Lists::.), `vector' (*note Vectors::.) and
- `bit-vector' (*note Bit Vectors::.). This function has not been
+ `cons' (*note Building Lists::), `vector' (*note Vectors::) and
+ `bit-vector' (*note Bit Vectors::). This function has not been
available in XEmacs prior to 21.0 and FSF Emacs prior to 20.3.
- - Function: make-string COUNT CHARACTER
+ - Function: make-string count character
This function returns a string made up of COUNT repetitions of
CHARACTER. If COUNT is negative, an error is signaled.
=> ""
Other functions to compare with this one include `char-to-string'
- (*note String Conversion::.), `make-vector' (*note Vectors::.), and
- `make-list' (*note Building Lists::.).
+ (*note String Conversion::), `make-vector' (*note Vectors::), and
+ `make-list' (*note Building Lists::).
- - Function: substring STRING START &optional END
+ - Function: substring string start &optional end
This function returns a new string which consists of those
characters from STRING in the range from (and including) the
character at the index START up to (but excluding) the character
=> "abcdefg"
But we recommend `copy-sequence' for this purpose (*note Sequence
- Functions::.).
+ Functions::).
If the characters copied from STRING have duplicable extents or
text properties, those are copied into the new string also. *Note
either integer is out of range for STRING.
Contrast this function with `buffer-substring' (*note Buffer
- Contents::.), which returns a string containing a portion of the
+ Contents::), which returns a string containing a portion of the
text in the current buffer. The beginning of a string is at index
0, but the beginning of a buffer is at index 1.
- - Function: concat &rest SEQUENCES
+ - Function: concat &rest sequences
This function returns a new string consisting of the characters in
the arguments passed to it (along with their text properties, if
any). The arguments may be strings, lists of numbers, or vectors
representation of the integer. *Don't use this feature; we plan
to eliminate it. If you already use this feature, change your
programs now!* The proper way to convert an integer to a decimal
- number in this way is with `format' (*note Formatting Strings::.)
- or `number-to-string' (*note String Conversion::.).
+ number in this way is with `format' (*note Formatting Strings::) or
+ `number-to-string' (*note String Conversion::).
(concat 137)
=> "137"
The Predicates for Characters
=============================
- - Function: characterp OBJECT
+ - Function: characterp object
This function returns `t' if OBJECT is a character.
Some functions that work on integers (e.g. the comparison functions
in the future; therefore, do not rely on them. Instead, convert
the characters explicitly using `char-int'.
- - Function: integer-or-char-p OBJECT
+ - Function: integer-or-char-p object
This function returns `t' if OBJECT is an integer or character.
\1f
Character Codes
===============
- - Function: char-int CH
+ - Function: char-int ch
This function converts a character into an equivalent integer.
The resulting integer will always be non-negative. The integers in
the range 0 - 255 map to characters as follows:
XEmacs, the order in which character sets were loaded, etc., and
you should not depend on them.
- - Function: int-char INTEGER
+ - Function: int-char integer
This function converts an integer into the equivalent character.
Not all integers correspond to valid characters; use `char-int-p'
to determine whether this is the case. If the integer cannot be
converted, `nil' is returned.
- - Function: char-int-p OBJECT
+ - Function: char-int-p object
This function returns `t' if OBJECT is an integer that can be
converted into a character.
- - Function: char-or-char-int-p OBJECT
+ - Function: char-or-char-int-p object
This function returns `t' if OBJECT is a character or an integer
that can be converted into one.
Comparison of Characters and Strings
====================================
- - Function: char-equal CHARACTER1 CHARACTER2
+ - Function: char-equal character1 character2
This function returns `t' if the arguments represent the same
character, `nil' otherwise. This function ignores differences in
case if `case-fold-search' is non-`nil'.
(char-equal ?x ?X))
=> nil
- - Function: char= CHARACTER1 CHARACTER2
+ - Function: char= character1 character2
This function returns `t' if the arguments represent the same
character, `nil' otherwise. Case is significant.
(char-equal ?x ?X))
=> nil
- - Function: string= STRING1 STRING2
+ - Function: string= string1 string2
This function returns `t' if the characters of the two strings
match exactly; case is significant.
=> nil
- - Function: string-equal STRING1 STRING2
+ - Function: string-equal string1 string2
`string-equal' is another name for `string='.
- - Function: string< STRING1 STRING2
+ - Function: string< string1 string2
This function compares two strings a character at a time. First it
scans both the strings at once to find the first pair of
corresponding characters that do not match. If the lesser
(string< "" "")
=> nil
- - Function: string-lessp STRING1 STRING2
+ - Function: string-lessp string1 string2
`string-lessp' is another name for `string<'.
See also `compare-buffer-substrings' in *Note Comparing Text::, for
This section describes functions for conversions between characters,
strings and integers. `format' and `prin1-to-string' (*note Output
-Functions::.) can also convert Lisp objects into strings.
-`read-from-string' (*note Input Functions::.) can "convert" a string
+Functions::) can also convert Lisp objects into strings.
+`read-from-string' (*note Input Functions::) can "convert" a string
representation of a Lisp object into an object.
*Note Documentation::, for functions that produce textual
(`single-key-description' and `text-char-description'). These
functions are used primarily for making help messages.
- - Function: char-to-string CHARACTER
+ - Function: char-to-string character
This function returns a new string with a length of one character.
The value of CHARACTER, modulo 256, is used to initialize the
element of the string.
(make-string 1 ?x)
=> "x"
- - Function: string-to-char STRING
+ - Function: string-to-char string
This function returns the first character in STRING. If the
string is empty, the function returns 0. (Under XEmacs 19, the
value is also 0 when the first character of STRING is the null
This function may be eliminated in the future if it does not seem
useful enough to retain.
- - Function: number-to-string NUMBER
+ - Function: number-to-string number
This function returns a string consisting of the printed
representation of NUMBER, which may be an integer or a floating
point number. The value starts with a sign if the argument is
See also the function `format' in *Note Formatting Strings::.
- - Function: string-to-number STRING &optional BASE
+ - Function: string-to-number string &optional base
This function returns the numeric value of the characters in
STRING, read in BASE. It skips spaces and tabs at the beginning
of STRING, then reads as much of STRING as it can interpret as a
string is created) and is incremented each time a change is made to that
string.
- - Function: string-modified-tick STRING
+ - Function: string-modified-tick string
This function returns the tick counter for `string'.
\1f
formatting feature described here; they differ from `format' only in
how they use the result of formatting.
- - Function: format STRING &rest OBJECTS
+ - Function: format string &rest objects
This function returns a new string that is made by copying STRING
and then replacing any format specification in the copy with
encodings of the corresponding OBJECTS. The arguments OBJECTS are
(format "The word `%7s' actually has %d letters in it."
"foo" (length "foo"))
=> "The word ` foo' actually has 3 letters in it."
-
+
(format "The word `%7s' actually has %d letters in it."
"specification" (length "specification"))
=> "The word `specification' actually has 13 letters in it."
-
+
(format "The word `%-7s' actually has %d letters in it."
"foo" (length "foo"))
=> "The word `foo ' actually has 3 letters in it."
The examples below use the characters `X' and `x' which have ASCII
codes 88 and 120 respectively.
- - Function: downcase STRING-OR-CHAR
+ - Function: downcase string-or-char
This function converts a character or a string to lower case.
When the argument to `downcase' is a string, the function creates
=> ?x ;; Under XEmacs 20.
=> 120 ;; Under XEmacs 19.
- - Function: upcase STRING-OR-CHAR
+ - Function: upcase string-or-char
This function converts a character or a string to upper case.
When the argument to `upcase' is a string, the function creates
=> ?X ;; Under XEmacs 20.
=> 88 ;; Under XEmacs 19.
- - Function: capitalize STRING-OR-CHAR
+ - Function: capitalize string-or-char
This function capitalizes strings or characters. If
STRING-OR-CHAR is a string, the function creates and returns a new
string, whose contents are a copy of STRING-OR-CHAR in which each
The definition of a word is any sequence of consecutive characters
that are assigned to the word constituent syntax class in the
- current syntax table (*note Syntax Class Table::.).
+ current syntax table (*note Syntax Class Table::).
When the argument to `capitalize' is a character, `capitalize' has
the same result as `upcase'.
table". A case table specifies the mapping between upper case and lower
case letters. It affects both the string and character case conversion
functions (see the previous section) and those that apply to text in the
-buffer (*note Case Changes::.). You need a case table if you are using
-a language which has letters other than the standard ASCII letters.
+buffer (*note Case Changes::). You need a case table if you are using a
+language which has letters other than the standard ASCII letters.
A case table is a list of this form:
Here are the functions for working with case tables:
- - Function: case-table-p OBJECT
+ - Function: case-table-p object
This predicate returns non-`nil' if OBJECT is a valid case table.
- - Function: set-standard-case-table TABLE
+ - Function: set-standard-case-table table
This function makes TABLE the standard case table, so that it will
apply to any buffers created subsequently.
- Function: current-case-table
This function returns the current buffer's case table.
- - Function: set-case-table TABLE
+ - Function: set-case-table table
This sets the current buffer's case table to TABLE.
The following three functions are convenient subroutines for packages
used as the DOWNCASE part of a case table. They also modify the
standard syntax table. *Note Syntax Tables::.
- - Function: set-case-syntax-pair UC LC DOWNCASE-TABLE
+ - Function: set-case-syntax-pair uc lc downcase-table
This function specifies a pair of corresponding letters, one upper
case and one lower case.
- - Function: set-case-syntax-delims L R DOWNCASE-TABLE
+ - Function: set-case-syntax-delims l r downcase-table
This function makes characters L and R a matching pair of
case-invariant delimiters.
- - Function: set-case-syntax CHAR SYNTAX DOWNCASE-TABLE
+ - Function: set-case-syntax char syntax downcase-table
This function makes CHAR case-invariant, with syntax SYNTAX.
- Command: describe-buffer-case-table
* a single character
- - Function: char-table-p OBJECT
+ - Function: char-table-p object
This function returns non-`nil' if OBJECT is a char table.
* Menu:
character. Higher-level Lisp functions are provided for working
with syntax tables. The valid values are integers.
- - Function: char-table-type TABLE
+ - Function: char-table-type table
This function returns the type of char table TABLE.
- Function: char-table-type-list
This function returns a list of the recognized char table types.
- - Function: valid-char-table-type-p TYPE
+ - Function: valid-char-table-type-p type
This function returns `t' if TYPE if a recognized char table type.
\1f
Working With Char Tables
------------------------
- - Function: make-char-table TYPE
+ - Function: make-char-table type
This function makes a new, empty char table of type TYPE. TYPE
should be a symbol, one of `char', `category', `display',
`generic', or `syntax'.
- - Function: put-char-table RANGE VAL TABLE
+ - Function: put-char-table range val table
This function sets the value for chars in RANGE to be VAL in TABLE.
RANGE specifies one or more characters to be affected and should be
VAL must be a value appropriate for the type of TABLE.
- - Function: get-char-table CH TABLE
+ - Function: get-char-table ch table
This function finds the value for char CH in TABLE.
- - Function: get-range-char-table RANGE TABLE &optional MULTI
+ - Function: get-range-char-table range table &optional multi
This function finds the value for a range in TABLE. If there is
more than one value, MULTI is returned (defaults to `nil').
- - Function: reset-char-table TABLE
+ - Function: reset-char-table table
This function resets a char table to its default state.
- - Function: map-char-table FUNCTION TABLE &optional RANGE
+ - Function: map-char-table function table &optional range
This function maps FUNCTION over entries in TABLE, calling it with
two args, each key and value in the table.
as the RANGE argument to `put-range-table'. If omitted or `t', it
defaults to the entire table.
- - Function: valid-char-table-value-p VALUE CHAR-TABLE-TYPE
+ - Function: valid-char-table-value-p value char-table-type
This function returns non-`nil' if VALUE is a valid value for
CHAR-TABLE-TYPE.
- - Function: check-valid-char-table-value VALUE CHAR-TABLE-TYPE
+ - Function: check-valid-char-table-value value char-table-type
This function signals an error if VALUE is not a valid value for
CHAR-TABLE-TYPE.
`nil'. (Many of these predicates can be defined in terms of the
others, but they are used so often that it is worth having all of them.)
- - Function: consp OBJECT
+ - Function: consp object
This function returns `t' if OBJECT is a cons cell, `nil'
- otherwise. `nil' is not a cons cell, although it *is* a list.
+ otherwise. `nil' is not a cons cell, although it _is_ a list.
- - Function: atom OBJECT
+ - Function: atom object
This function returns `t' if OBJECT is an atom, `nil' otherwise.
All objects except cons cells are atoms. The symbol `nil' is an
atom and is also a list; it is the only Lisp object that is both.
(atom OBJECT) == (not (consp OBJECT))
- - Function: listp OBJECT
+ - Function: listp object
This function returns `t' if OBJECT is a cons cell or `nil'.
Otherwise, it returns `nil'.
(listp '())
=> t
- - Function: nlistp OBJECT
+ - Function: nlistp object
This function is the opposite of `listp': it returns `t' if OBJECT
is not a list. Otherwise, it returns `nil'.
(listp OBJECT) == (not (nlistp OBJECT))
- - Function: null OBJECT
+ - Function: null object
This function returns `t' if OBJECT is `nil', and returns `nil'
otherwise. This function is identical to `not', but as a matter
of clarity we use `null' when OBJECT is considered a list and
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
Accessing Elements of Lists
===========================
- - Function: car CONS-CELL
+ - Function: car cons-cell
This function returns the value pointed to by the first pointer of
the cons cell CONS-CELL. Expressed another way, this function
returns the CAR of CONS-CELL.
(car '())
=> nil
- - Function: cdr CONS-CELL
+ - Function: cdr cons-cell
This function returns the value pointed to by the second pointer of
the cons cell CONS-CELL. Expressed another way, this function
returns the CDR of CONS-CELL.
(cdr '())
=> nil
- - Function: car-safe OBJECT
+ - Function: car-safe object
This function lets you take the CAR of a cons cell while avoiding
errors for other data types. It returns the CAR of OBJECT if
OBJECT is a cons cell, `nil' otherwise. This is in contrast to
(car x)
nil))
- - Function: cdr-safe OBJECT
+ - Function: cdr-safe object
This function lets you take the CDR of a cons cell while avoiding
errors for other data types. It returns the CDR of OBJECT if
OBJECT is a cons cell, `nil' otherwise. This is in contrast to
(cdr x)
nil))
- - Function: nth N LIST
+ - Function: nth n list
This function returns the Nth element of LIST. Elements are
numbered starting with zero, so the CAR of LIST is element number
zero. If the length of LIST is N or less, the value is `nil'.
(nth n x) == (car (nthcdr n x))
- - Function: nthcdr N LIST
+ - Function: nthcdr n list
This function returns the Nth CDR of LIST. In other words, it
removes the first N links of LIST and returns what follows.
access particular elements in a nested list. All of these can be
rewritten in terms of the functions just described.
- - Function: caar CONS-CELL
- - Function: cadr CONS-CELL
- - Function: cdar CONS-CELL
- - Function: cddr CONS-CELL
- - Function: caaar CONS-CELL
- - Function: caadr CONS-CELL
- - Function: cadar CONS-CELL
- - Function: caddr CONS-CELL
- - Function: cdaar CONS-CELL
- - Function: cdadr CONS-CELL
- - Function: cddar CONS-CELL
- - Function: cdddr CONS-CELL
- - Function: caaaar CONS-CELL
- - Function: caaadr CONS-CELL
- - Function: caadar CONS-CELL
- - Function: caaddr CONS-CELL
- - Function: cadaar CONS-CELL
- - Function: cadadr CONS-CELL
- - Function: caddar CONS-CELL
- - Function: cadddr CONS-CELL
- - Function: cdaaar CONS-CELL
- - Function: cdaadr CONS-CELL
- - Function: cdadar CONS-CELL
- - Function: cdaddr CONS-CELL
- - Function: cddaar CONS-CELL
- - Function: cddadr CONS-CELL
- - Function: cdddar CONS-CELL
- - Function: cddddr CONS-CELL
+ - Function: caar cons-cell
+ - Function: cadr cons-cell
+ - Function: cdar cons-cell
+ - Function: cddr cons-cell
+ - Function: caaar cons-cell
+ - Function: caadr cons-cell
+ - Function: cadar cons-cell
+ - Function: caddr cons-cell
+ - Function: cdaar cons-cell
+ - Function: cdadr cons-cell
+ - Function: cddar cons-cell
+ - Function: cdddr cons-cell
+ - Function: caaaar cons-cell
+ - Function: caaadr cons-cell
+ - Function: caadar cons-cell
+ - Function: caaddr cons-cell
+ - Function: cadaar cons-cell
+ - Function: cadadr cons-cell
+ - Function: caddar cons-cell
+ - Function: cadddr cons-cell
+ - Function: cdaaar cons-cell
+ - Function: cdaadr cons-cell
+ - Function: cdadar cons-cell
+ - Function: cdaddr cons-cell
+ - Function: cddaar cons-cell
+ - Function: cddadr cons-cell
+ - Function: cdddar cons-cell
+ - Function: cddddr cons-cell
Each of these functions is equivalent to one or more applications
of `car' and/or `cdr'. For example,
That is to say, read the a's and d's from right to left and apply
a `car' or `cdr' for each a or d found, respectively.
- - Function: first LIST
+ - Function: first list
This is equivalent to `(nth 0 LIST)', i.e. the first element of
LIST. (Note that this is also equivalent to `car'.)
- - Function: second LIST
+ - Function: second list
This is equivalent to `(nth 1 LIST)', i.e. the second element of
LIST.
- - Function: third LIST
- - Function: fourth LIST
- - Function: fifth LIST
- - Function: sixth LIST
- - Function: seventh LIST
- - Function: eighth LIST
- - Function: ninth LIST
- - Function: tenth LIST
+ - Function: third list
+ - Function: fourth list
+ - Function: fifth list
+ - Function: sixth list
+ - Function: seventh list
+ - Function: eighth list
+ - Function: ninth list
+ - Function: tenth list
These are equivalent to `(nth 2 LIST)' through `(nth 9 LIST)'
respectively, i.e. the third through tenth elements of LIST.
interesting to note that `list' is used more times in the source code
for Emacs than `cons'.
- - Function: cons OBJECT1 OBJECT2
+ - Function: cons object1 object2
This function is the fundamental function used to build new list
structure. It creates a new cons cell, making OBJECT1 the CAR,
and OBJECT2 the CDR. It then returns the new cons cell. The
used in this example and the function named `list' described below;
any symbol can serve both purposes.
- - Function: list &rest OBJECTS
+ - Function: list &rest objects
This function creates a list with OBJECTS as its elements. The
resulting list is always `nil'-terminated. If no OBJECTS are
given, the empty list is returned.
(list)
=> nil
- - Function: make-list LENGTH OBJECT
+ - Function: make-list length object
This function creates a list of length LENGTH, in which all the
elements have the identical value OBJECT. Compare `make-list'
- with `make-string' (*note Creating Strings::.).
+ with `make-string' (*note Creating Strings::).
(make-list 3 'pigs)
=> (pigs pigs pigs)
(make-list 0 'pigs)
=> nil
- - Function: append &rest SEQUENCES
+ - Function: append &rest sequences
This function returns a list containing all the elements of
SEQUENCES. The SEQUENCES may be lists, vectors, or strings, but
the last one should be a list. All arguments except the last one
of the original integers. *Don't use this feature; we plan to
eliminate it. If you already use this feature, change your
programs now!* The proper way to convert an integer to a decimal
- number in this way is with `format' (*note Formatting Strings::.)
- or `number-to-string' (*note String Conversion::.).
+ number in this way is with `format' (*note Formatting Strings::)
+ or `number-to-string' (*note String Conversion::).
- - Function: reverse LIST
+ - Function: reverse list
This function creates a new list whose elements are the elements of
- LIST, but in reverse order. The original argument LIST is *not*
+ LIST, but in reverse order. The original argument LIST is _not_
altered.
(setq x '(1 2 3 4))
a list, `setcar' replaces one element of a list with a different
element.
- - Function: setcar CONS OBJECT
+ - Function: setcar cons object
This function stores OBJECT as the new CAR of CONS, replacing its
previous CAR. It returns the value OBJECT. For example:
The lowest-level primitive for modifying a CDR is `setcdr':
- - Function: setcdr CONS OBJECT
+ - Function: setcdr cons object
This function stores OBJECT as the new CDR of CONS, replacing its
previous CDR. It returns the value OBJECT.
Here is this result in box notation:
- -------------- ------------- -------------
+ -------------- ------------- -------------
| car | cdr | | car | cdr | | car | cdr |
| a | o | -->| b | o------->| c | nil |
| | | | | | | | | | |
See `delq', in *Note Sets And Lists::, for another function that
modifies cons cells.
- - Function: nconc &rest LISTS
+ - Function: nconc &rest lists
This function returns a list containing all the elements of LISTS.
- Unlike `append' (*note Building Lists::.), the LISTS are *not*
+ Unlike `append' (*note Building Lists::), the LISTS are _not_
copied. Instead, the last CDR of each of the LISTS is changed to
refer to the following list. The last of the LISTS is not
altered. For example:
(defun add-foo (x) ; We want this function to add
(nconc '(foo) x)) ; `foo' to the front of its arg.
-
+
(symbol-function 'add-foo)
=> (lambda (x) (nconc (quote (foo)) x))
-
+
(setq xx (add-foo '(1 2))) ; It seems to work.
=> (foo 1 2)
-
(setq xy (add-foo '(3 4))) ; What happened?
=> (foo 1 2 3 4)
-
(eq xx xy)
=> t
-
+
(symbol-function 'add-foo)
=> (lambda (x) (nconc (quote (foo 1 2 3 4) x)))
- - Function: nreverse LIST
+ - Function: nreverse list
This function reverses the order of the elements of LIST. Unlike
`reverse', `nreverse' alters its argument by reversing the CDRs in
the cons cells forming the list. The cons cell that used to be
| | | |
------------- ------------
- - Function: sort LIST PREDICATE
+ - Function: sort list predicate
This function sorts LIST stably, though destructively, and returns
the sorted list. It compares elements using PREDICATE. A stable
sort is one in which elements with equal sort keys maintain their
XEmacs Lisp does not have them. You can write them in Lisp if you
wish.
- - Function: memq OBJECT LIST
+ - Function: memq object list
This function tests to see whether OBJECT is a member of LIST. If
it is, `memq' returns a list starting with the first occurrence of
OBJECT. Otherwise, it returns `nil'. The letter `q' in `memq'
(memq '(2) '((1) (2))) ; `(2)' and `(2)' are not `eq'.
=> nil
- - Function: delq OBJECT LIST
+ - Function: delq object list
This function destructively removes all elements `eq' to OBJECT
from LIST. The letter `q' in `delq' says that it uses `eq' to
compare OBJECT against the elements of the list, like `memq'.
(delq 'a '(a b c)) == (cdr '(a b c))
When an element to be deleted appears in the middle of the list,
-removing it involves changing the CDRs (*note Setcdr::.).
+removing it involves changing the CDRs (*note Setcdr::).
(setq sample-list '(a b c (4)))
=> (a b c (4))
The following two functions are like `memq' and `delq' but use
`equal' rather than `eq' to compare elements. They are new in Emacs 19.
- - Function: member OBJECT LIST
+ - Function: member object list
The function `member' tests to see whether OBJECT is a member of
LIST, comparing members with OBJECT using `equal'. If OBJECT is a
member, `member' returns a list starting with its first occurrence
(member "foo" '("foo" "bar"))
=> ("foo" "bar")
- - Function: delete OBJECT LIST
+ - Function: delete object list
This function destructively removes all elements `equal' to OBJECT
from LIST. It is to `delq' as `member' is to `memq': it uses
`equal' to compare elements with OBJECT, like `member'; when it
The associated values in an alist may be any Lisp objects; so may the
keys. For example, in the following alist, the symbol `a' is
associated with the number `1', and the string `"b"' is associated with
-the *list* `(2 3)', which is the CDR of the alist element:
+the _list_ `(2 3)', which is the CDR of the alist element:
((a . 1) ("b" 2 3))
association with a given key, the first one found is returned, if there
is more than one.
- In XEmacs Lisp, it is *not* an error if an element of an association
+ In XEmacs Lisp, it is _not_ an error if an element of an association
list is not a cons cell. The alist search functions simply ignore such
elements. Many other versions of Lisp signal errors in such cases.
each key can occur only once. *Note Property Lists::, for a comparison
of property lists and association lists.
- - Function: assoc KEY ALIST
+ - Function: assoc key alist
This function returns the first association for KEY in ALIST. It
compares KEY against the alist elements using `equal' (*note
- Equality Predicates::.). It returns `nil' if no association in
+ Equality Predicates::). It returns `nil' if no association in
ALIST has a CAR `equal' to KEY. For example:
(setq trees '((pine . cones) (oak . acorns) (maple . seeds)))
(cdr (assoc 2 needles-per-cluster))
=> ("Austrian Pine" "Red Pine")
- - Function: rassoc VALUE ALIST
+ - Function: rassoc value alist
This function returns the first association with value VALUE in
ALIST. It returns `nil' if no association in ALIST has a CDR
`equal' to VALUE.
ALIST association instead of the CAR. You can think of this as
"reverse `assoc'", finding the key for a given value.
- - Function: assq KEY ALIST
+ - Function: assq key alist
This function is like `assoc' in that it returns the first
association for KEY in ALIST, but it makes the comparison using
`eq' instead of `equal'. `assq' returns `nil' if no association
(assoc "simple leaves" leaves)
=> ("simple leaves" . oak)
- - Function: rassq VALUE ALIST
+ - Function: rassq value alist
This function returns the first association with value VALUE in
ALIST. It returns `nil' if no association in ALIST has a CDR `eq'
to VALUE.
(lily white) == (lily . (white))
- - Function: remassoc KEY ALIST
+ - Function: remassoc key alist
This function deletes by side effect any associations with key KEY
in ALIST - i.e. it removes any elements from ALIST whose `car' is
`equal' to KEY. The modified ALIST is returned.
`(setq foo (remassoc key foo))' to be sure of changing the value
of `foo'.
- - Function: remassq KEY ALIST
+ - Function: remassq key alist
This function deletes by side effect any associations with key KEY
in ALIST - i.e. it removes any elements from ALIST whose `car' is
`eq' to KEY. The modified ALIST is returned.
This function is exactly like `remassoc', but comparisons between
KEY and keys in ALIST are done using `eq' instead of `equal'.
- - Function: remrassoc VALUE ALIST
+ - Function: remrassoc value alist
This function deletes by side effect any associations with value
VALUE in ALIST - i.e. it removes any elements from ALIST whose
`cdr' is `equal' to VALUE. The modified ALIST is returned.
as "reverse `remassoc'", removing an association based on its
value instead of its key.
- - Function: remrassq VALUE ALIST
+ - Function: remrassq value alist
This function deletes by side effect any associations with value
VALUE in ALIST - i.e. it removes any elements from ALIST whose
`cdr' is `eq' to VALUE. The modified ALIST is returned.
This function is exactly like `remrassoc', but comparisons between
VALUE and values in ALIST are done using `eq' instead of `equal'.
- - Function: copy-alist ALIST
+ - Function: copy-alist alist
This function returns a two-level deep copy of ALIST: it creates a
new copy of each association, so that you can alter the
associations of the new alist without changing the old one.
compared with `eq', and "lax" plists, whose keys are compared with
`equal',
- - Function: valid-plist-p PLIST
+ - Function: valid-plist-p plist
Given a plist, this function returns non-`nil' if its format is
correct. If it returns `nil', `check-valid-plist' will signal an
error when given the plist; that means it's a malformed or circular
plist or has non-symbols as keywords.
- - Function: check-valid-plist PLIST
+ - Function: check-valid-plist plist
Given a plist, this function signals an error if there is anything
wrong with it. This means that it's a malformed or circular plist.
Working With Normal Plists
--------------------------
- - Function: plist-get PLIST PROP &optional DEFAULT
+ - Function: plist-get plist prop &optional default
This function extracts a value from a property list. The function
returns the value corresponding to the given PROP, or DEFAULT if
PROP is not one of the properties on the list.
- - Function: plist-put PLIST PROP VAL
+ - Function: plist-put plist prop val
This function changes the value in PLIST of PROP to VAL. If PROP
is already a property on the list, its value is set to VAL,
otherwise the new PROP VAL pair is added. The new plist is
returned; use `(setq x (plist-put x prop val))' to be sure to use
the new value. The PLIST is modified by side effects.
- - Function: plist-remprop PLIST PROP
+ - Function: plist-remprop plist prop
This function removes from PLIST the property PROP and its value.
The new plist is returned; use `(setq x (plist-remprop x prop
val))' to be sure to use the new value. The PLIST is modified by
side effects.
- - Function: plist-member PLIST PROP
+ - Function: plist-member plist prop
This function returns `t' if PROP has a value specified in PLIST.
In the following functions, if optional arg NIL-MEANS-NOT-PRESENT is
thus E-Lisp, due to RMS's enamorment with old Lisps), but should not be
used except for backward compatibility.
- - Function: plists-eq A B &optional NIL-MEANS-NOT-PRESENT
+ - Function: plists-eq a b &optional nil-means-not-present
This function returns non-`nil' if property lists A and B are `eq'
(i.e. their values are `eq').
- - Function: plists-equal A B &optional NIL-MEANS-NOT-PRESENT
+ - Function: plists-equal a b &optional nil-means-not-present
This function returns non-`nil' if property lists A and B are
`equal' (i.e. their values are `equal'; their keys are still
compared using `eq').
- - Function: canonicalize-plist PLIST &optional NIL-MEANS-NOT-PRESENT
+ - Function: canonicalize-plist plist &optional nil-means-not-present
This function destructively removes any duplicate entries from a
plist. In such cases, the first entry applies.
Recall that a "lax plist" is a property list whose keys are compared
using `equal' instead of `eq'.
- - Function: lax-plist-get LAX-PLIST PROP &optional DEFAULT
+ - Function: lax-plist-get lax-plist prop &optional default
This function extracts a value from a lax property list. The
function returns the value corresponding to the given PROP, or
DEFAULT if PROP is not one of the properties on the list.
- - Function: lax-plist-put LAX-PLIST PROP VAL
+ - Function: lax-plist-put lax-plist prop val
This function changes the value in LAX-PLIST of PROP to VAL.
- - Function: lax-plist-remprop LAX-PLIST PROP
+ - Function: lax-plist-remprop lax-plist prop
This function removes from LAX-PLIST the property PROP and its
value. The new plist is returned; use `(setq x (lax-plist-remprop
x prop val))' to be sure to use the new value. The LAX-PLIST is
modified by side effects.
- - Function: lax-plist-member LAX-PLIST PROP
+ - Function: lax-plist-member lax-plist prop
This function returns `t' if PROP has a value specified in
LAX-PLIST.
thus E-Lisp, due to RMS's enamorment with old Lisps), but should not be
used except for backward compatibility.
- - Function: lax-plists-eq A B &optional NIL-MEANS-NOT-PRESENT
+ - Function: lax-plists-eq a b &optional nil-means-not-present
This function returns non-`nil' if lax property lists A and B are
`eq' (i.e. their values are `eq'; their keys are still compared
using `equal').
- - Function: lax-plists-equal A B &optional NIL-MEANS-NOT-PRESENT
+ - Function: lax-plists-equal a b &optional nil-means-not-present
This function returns non-`nil' if lax property lists A and B are
`equal' (i.e. their values are `equal').
- - Function: canonicalize-lax-plist LAX-PLIST &optional
- NIL-MEANS-NOT-PRESENT
+ - Function: canonicalize-lax-plist lax-plist &optional
+ nil-means-not-present
This function destructively removes any duplicate entries from a
lax plist. In such cases, the first entry applies.
Converting Plists To/From Alists
--------------------------------
- - Function: alist-to-plist ALIST
+ - Function: alist-to-plist alist
This function converts association list ALIST into the equivalent
property-list form. The plist is returned. This converts from
The original alist is not modified.
- - Function: plist-to-alist PLIST
+ - Function: plist-to-alist plist
This function converts property list PLIST into the equivalent
association-list form. The alist is returned. This converts from
from the original list to form the new list rather than allocating new
cons cells.
- - Function: destructive-alist-to-plist ALIST
+ - Function: destructive-alist-to-plist alist
This function destructively converts association list ALIST into
the equivalent property-list form. The plist is returned.
- - Function: destructive-plist-to-alist PLIST
+ - Function: destructive-plist-to-alist plist
This function destructively converts property list PLIST into the
equivalent association-list form. The alist is returned.
its parent's list of children.
Weak lists are similar to weak hash tables (*note Weak Hash
-Tables::.).
+Tables::).
- - Function: weak-list-p OBJECT
+ - Function: weak-list-p object
This function returns non-`nil' if OBJECT is a weak list.
Weak lists come in one of four types:
Objects in the list disappear if they are conses and the cdr is not
referenced outside of the list.
- - Function: make-weak-list &optional TYPE
+ - Function: make-weak-list &optional type
This function creates a new weak list of type TYPE. TYPE is a
symbol (one of `simple', `assoc', `key-assoc', or `value-assoc',
as described above) and defaults to `simple'.
- - Function: weak-list-type WEAK
+ - Function: weak-list-type weak
This function returns the type of the given weak-list object.
- - Function: weak-list-list WEAK
+ - Function: weak-list-list weak
This function returns the list contained in a weak-list object.
- - Function: set-weak-list-list WEAK NEW-LIST
+ - Function: set-weak-list-list weak new-list
This function changes the list contained in a weak-list object.
\1f
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
that each is an ordered collection of elements. This section describes
functions that accept any kind of sequence.
- - Function: sequencep OBJECT
+ - Function: sequencep object
Returns `t' if OBJECT is a list, vector, bit vector, or string,
`nil' otherwise.
- - Function: copy-sequence SEQUENCE
+ - Function: copy-sequence sequence
Returns a copy of SEQUENCE. The copy is the same type of object
as the original sequence, and it has the same elements in the same
order.
(bit-vector 1 0 1 1 0 1 0 0)
=> #*10110100
- - Function: length SEQUENCE
+ - Function: length sequence
Returns the number of elements in SEQUENCE. If SEQUENCE is a cons
cell that is not a list (because the final CDR is not `nil'), a
`wrong-type-argument' error is signaled.
(length #*01101)
=> 5
- - Function: elt SEQUENCE INDEX
+ - Function: elt sequence index
This function returns the element of SEQUENCE indexed by INDEX.
Legitimate values of INDEX are integers ranging from 0 up to one
less than the length of SEQUENCE. If SEQUENCE is a list, then
(elt [1 2 3 4] -1)
error-->Args out of range: [1 2 3 4], -1
- This function generalizes `aref' (*note Array Functions::.) and
- `nth' (*note List Elements::.).
+ This function generalizes `aref' (*note Array Functions::) and
+ `nth' (*note List Elements::).
\1f
File: lispref.info, Node: Arrays, Next: Array Functions, Prev: Sequence Functions, Up: Sequences Arrays Vectors
* The elements of an array may be referenced or changed with the
functions `aref' and `aset', respectively (*note Array
- Functions::.).
+ Functions::).
In principle, if you wish to have an array of text characters, you
could use either a string or a vector. In practice, we always choose
In this section, we describe the functions that accept strings,
vectors, and bit vectors.
- - Function: arrayp OBJECT
+ - Function: arrayp object
This function returns `t' if OBJECT is an array (i.e., a string,
vector, or bit vector).
(arrayp #*101)
=> t
- - Function: aref ARRAY INDEX
+ - Function: aref array index
This function returns the INDEXth element of ARRAY. The first
element is at index zero.
See also the function `elt', in *Note Sequence Functions::.
- - Function: aset ARRAY INDEX OBJECT
+ - Function: aset array index object
This function sets the INDEXth element of ARRAY to be OBJECT. It
returns OBJECT.
If ARRAY is a string and OBJECT is not a character, a
`wrong-type-argument' error results.
- - Function: fillarray ARRAY OBJECT
+ - Function: fillarray array object
This function fills the array ARRAY with OBJECT, so that each
element of ARRAY is OBJECT. It returns ARRAY.
Here are some functions that relate to vectors:
- - Function: vectorp OBJECT
+ - Function: vectorp object
This function returns `t' if OBJECT is a vector.
(vectorp [a])
(vectorp "asdf")
=> nil
- - Function: vector &rest OBJECTS
+ - Function: vector &rest objects
This function creates and returns a vector whose elements are the
arguments, OBJECTS.
(vector)
=> []
- - Function: make-vector LENGTH OBJECT
+ - Function: make-vector length object
This function returns a new vector consisting of LENGTH elements,
each initialized to OBJECT.
(setq sleepy (make-vector 9 'Z))
=> [Z Z Z Z Z Z Z Z Z]
- - Function: vconcat &rest SEQUENCES
+ - Function: vconcat &rest sequences
This function returns a new vector containing all the elements of
the SEQUENCES. The arguments SEQUENCES may be lists, vectors, or
strings. If no SEQUENCES are given, an empty vector is returned.
of the original integers. *Don't use this feature; we plan to
eliminate it. If you already use this feature, change your
programs now!* The proper way to convert an integer to a decimal
- number in this way is with `format' (*note Formatting Strings::.)
- or `number-to-string' (*note String Conversion::.).
+ number in this way is with `format' (*note Formatting Strings::)
+ or `number-to-string' (*note String Conversion::).
For other concatenation functions, see `mapconcat' in *Note
Mapping Functions::, `concat' in *Note Creating Strings::, `append'
Functions::.
The `append' function provides a way to convert a vector into a list
-with the same elements (*note Building Lists::.):
+with the same elements (*note Building Lists::):
(setq avector [1 two (quote (three)) "four" [five]])
=> [1 two (quote (three)) "four" [five]]
Here are some functions that relate to bit vectors:
- - Function: bit-vector-p OBJECT
+ - Function: bit-vector-p object
This function returns `t' if OBJECT is a bit vector.
(bit-vector-p #*01)
(bit-vector-p "01")
=> nil
- - Function: bitp OBJECT
+ - Function: bitp object
This function returns `t' if OBJECT is either 0 or 1.
- - Function: bit-vector &rest OBJECTS
+ - Function: bit-vector &rest objects
This function creates and returns a bit vector whose elements are
the arguments OBJECTS. The elements must be either of the two
integers 0 or 1.
(bit-vector)
=> #*
- - Function: make-bit-vector LENGTH OBJECT
+ - Function: make-bit-vector length object
This function creates and returns a bit vector consisting of
LENGTH elements, each initialized to OBJECT.
(setq picket-fence (make-bit-vector 9 1))
=> #*111111111
- - Function: bvconcat &rest SEQUENCES
+ - Function: bvconcat &rest sequences
This function returns a new bit vector containing all the elements
of the SEQUENCES. The arguments SEQUENCES may be lists, vectors,
or bit vectors, all of whose elements are the integers 0 or 1. If
Building Lists::.
The `append' function provides a way to convert a bit vector into a
-list with the same elements (*note Building Lists::.):
+list with the same elements (*note Building Lists::):
(setq bv #*00001110)
=> #*00001110
You can test whether an arbitrary Lisp object is a symbol with
`symbolp':
- - Function: symbolp OBJECT
+ - Function: symbolp object
This function returns `t' if OBJECT is a symbol, `nil' otherwise.
* Menu:
In normal usage, the function cell usually contains a function or
macro, as that is what the Lisp interpreter expects to see there (*note
-Evaluation::.). Keyboard macros (*note Keyboard Macros::.), keymaps
-(*note Keymaps::.) and autoload objects (*note Autoloading::.) are also
+Evaluation::). Keyboard macros (*note Keyboard Macros::), keymaps
+(*note Keymaps::) and autoload objects (*note Autoloading::) are also
sometimes stored in the function cell of symbols. We often refer to
"the function `foo'" when we really mean the function stored in the
function cell of the symbol `foo'. We make the distinction only when
necessary.
The property list cell normally should hold a correctly formatted
-property list (*note Property Lists::.), as a number of functions expect
+property list (*note Property Lists::), as a number of functions expect
to see a property list there.
The function cell or the value cell may be "void", which means that
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.
+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
variable with `setq', whether you define it first or not. The real
purpose of definitions is to guide programmers and programming tools.
They inform programmers who read the code that certain symbols are
-*intended* to be used as variables, or as functions. In addition,
+_intended_ to be used as variables, or as functions. In addition,
utilities such as `etags' and `make-docfile' recognize definitions, and
add appropriate information to tag tables and the `DOC' file. *Note
Accessing Documentation::.
It is possible for two different symbols to have the same name in
different obarrays; these symbols are not `eq' or `equal'. However,
this normally happens only as part of the abbrev mechanism (*note
-Abbrevs::.).
+Abbrevs::).
Common Lisp note: In Common Lisp, a single symbol may be interned
in several obarrays.
arguments. A `wrong-type-argument' error is signaled if the name is
not a string, or if the obarray is not a vector.
- - Function: symbol-name SYMBOL
+ - Function: symbol-name symbol
This function returns the string that is SYMBOL's name. For
example:
the name of the symbol, but fails to update the obarray, so don't
do it!
- - Function: make-symbol NAME
+ - Function: make-symbol name
This function returns a newly-allocated, uninterned symbol whose
name is NAME (which must be a string). Its value and function
definition are void, and its property list is `nil'. In the
(eq sym 'foo)
=> nil
- - Function: intern NAME &optional OBARRAY
+ - Function: intern name &optional obarray
This function returns the interned symbol whose name is NAME. If
there is no such symbol in the obarray OBARRAY, `intern' creates a
new one, adds it to the obarray, and returns it. If OBARRAY is
(eq sym 'foo)
=> nil
- - Function: intern-soft NAME &optional OBARRAY
+ - Function: intern-soft name &optional obarray
This function returns the symbol in OBARRAY whose name is NAME, or
`nil' if OBARRAY has no symbol with that name. Therefore, you can
use `intern-soft' to test whether a symbol with a given name is
=> frazzle
(intern-soft "frazzle") ; That one cannot be found.
=> nil
-
(setq sym (intern "frazzle")) ; Create an interned one.
=> frazzle
-
(intern-soft "frazzle") ; That one can be found!
=> frazzle
-
(eq sym 'frazzle) ; And it is the same one.
=> t
This variable is the standard obarray for use by `intern' and
`read'.
- - Function: mapatoms FUNCTION &optional OBARRAY
+ - Function: mapatoms function &optional obarray
This function calls FUNCTION for each symbol in the obarray
OBARRAY. It returns `nil'. If OBARRAY is omitted, it defaults to
the value of `obarray', the standard obarray for ordinary symbols.
See `documentation' in *Note Accessing Documentation::, for another
example using `mapatoms'.
- - Function: unintern SYMBOL &optional OBARRAY
+ - Function: unintern symbol &optional obarray
This function deletes SYMBOL from the obarray OBARRAY. If
`symbol' is not actually in the obarray, `unintern' does nothing.
If OBARRAY is `nil', the current obarray is used.
Property Lists and Association Lists
------------------------------------
- Association lists (*note Association Lists::.) are very similar to
+ Association lists (*note Association Lists::) are very similar to
property lists. In contrast to association lists, the order of the
pairs in the property list is not significant since the property names
must be distinct.
Property List Functions for Symbols
-----------------------------------
- - Function: symbol-plist SYMBOL
+ - Function: symbol-plist symbol
This function returns the property list of SYMBOL.
- - Function: setplist SYMBOL PLIST
+ - Function: setplist symbol plist
This function sets SYMBOL's property list to PLIST. Normally,
PLIST should be a well-formed property list, but this is not
enforced.
For symbols in special obarrays, which are not used for ordinary
purposes, it may make sense to use the property list cell in a
nonstandard fashion; in fact, the abbrev mechanism does so (*note
- Abbrevs::.).
+ Abbrevs::).
- - Function: get SYMBOL PROPERTY
+ - Function: get symbol property
This function finds the value of the property named PROPERTY in
SYMBOL's property list. If there is no such property, `nil' is
returned. Thus, there is no distinction between a value of `nil'
See `put' for an example.
- - Function: put SYMBOL PROPERTY VALUE
+ - Function: put symbol property value
This function puts VALUE onto SYMBOL's property list under the
property name PROPERTY, replacing any previous property value.
The `put' function returns VALUE.
These functions are useful for manipulating property lists that are
stored in places other than symbols:
- - Function: getf PLIST PROPERTY &optional DEFAULT
+ - Function: getf plist property &optional default
This returns the value of the PROPERTY property stored in the
property list PLIST. For example,
(getf '(foo 4) 'foo)
=> 4
- - Function: putf PLIST PROPERTY VALUE
+ - Function: putf plist property value
This stores VALUE as the value of the PROPERTY property in the
property list PLIST. It may modify PLIST destructively, or it may
construct a new list structure without altering the old. The
(setq my-plist (putf my-plist 'quux '(a)))
=> (quux (a) bar t foo 5)
- - Function: plists-eq A B
+ - Function: plists-eq a b
This function returns non-`nil' if property lists A and B are
`eq'. This means that the property lists have the same values for
all the same properties, where comparison between values is done
using `eq'.
- - Function: plists-equal A B
+ - Function: plists-equal a b
This function returns non-`nil' if property lists A and B are
`equal'.
in it. *Note Functions::. The execution of the function may itself
work by evaluating the function definition; or the function may be a
Lisp primitive implemented in C, or it may be a byte-compiled function
-(*note Byte Compilation::.).
+(*note Byte Compilation::).
The evaluation of forms takes place in a context called the
"environment", which consists of the current values and bindings of all
environment is used. *Note Variables::.
Evaluation of a form may create new environments for recursive
-evaluation by binding variables (*note Local Variables::.). These
+evaluation by binding variables (*note Local Variables::). These
environments are temporary and vanish by the time evaluation of the form
is complete. The form may also make changes that persist; these changes
are called "side effects". An example of a form that produces side
effects is `(setq foo 1)'.
The details of what evaluation means for each kind of form are
-described below (*note Forms::.).
+described below (*note Forms::).
---------- Footnotes ----------
The functions and variables described in this section evaluate forms,
specify limits to the evaluation process, or record recently returned
-values. Loading a file also does evaluation (*note Loading::.).
+values. Loading a file also does evaluation (*note Loading::).
- - Function: eval FORM
+ - Function: eval form
This is the basic function for performing evaluation. It evaluates
FORM in the current environment and returns the result. How the
evaluation proceeds depends on the type of the object (*note
- Forms::.).
+ Forms::).
Since `eval' is a function, the argument expression that appears
in a call to `eval' is evaluated twice: once as preparation before
The number of currently active calls to `eval' is limited to
`max-lisp-eval-depth' (see below).
- - Command: eval-region START END &optional STREAM
+ - Command: eval-region start end &optional stream
This function evaluates the forms in the current buffer in the
region defined by the positions START and END. It reads forms from
the region and calls `eval' on them until the end of the region is
`eval-region' always returns `nil'.
- - Command: eval-buffer BUFFER &optional STREAM
+ - Command: eval-buffer buffer &optional stream
This is like `eval-region' except that it operates on the whole
contents of BUFFER.
we find the real function via the symbol.
* Function Forms:: Forms that call functions.
* Macro Forms:: Forms that call macros.
-* Special Forms:: "Special forms" are idiosyncratic primitives,
+* Special Forms:: ``Special forms'' are idiosyncratic primitives,
most of them extremely important.
* Autoloading:: Functions set up to load files
containing their real definitions.
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
The first step in evaluating a nonempty list is to examine its first
element. This element alone determines what kind of form the list is
and how the rest of the list is to be processed. The first element is
-*not* evaluated, as it would be in some Lisp dialects such as Scheme.
+_not_ evaluated, as it would be in some Lisp dialects such as Scheme.
\1f
File: lispref.info, Node: Function Indirection, Next: Function Forms, Prev: Classifying Lists, Up: Forms
The following example illustrates the symbol indirection process. We
use `fset' to set the function cell of a symbol and `symbol-function'
-to get the function cell contents (*note Function Cells::.).
+to get the function cell contents (*note Function Cells::).
Specifically, we store the symbol `car' into the function cell of
`first', and the symbol `first' into the function cell of `erste'.
(symbol-function 'car)
=> #<subr car>
-
(fset 'first 'car)
=> car
-
(fset 'erste 'first)
=> first
-
(erste '(1 2 3)) ; Call the function referenced by `erste'.
=> 1
The built-in function `indirect-function' provides an easy way to
perform symbol function indirection explicitly.
- - Function: indirect-function FUNCTION
+ - Function: indirect-function function
This function returns the meaning of FUNCTION as a function. If
FUNCTION is a symbol, then it finds FUNCTION's function definition
and starts over with that value. If FUNCTION is not a symbol,
remaining elements of the list from left to right. The results are the
actual argument values, one value for each list element. The next step
is to call the function with this list of arguments, effectively using
-the function `apply' (*note Calling Functions::.). If the function is
+the function `apply' (*note Calling Functions::). If the function is
written in Lisp, the arguments are used to bind the argument variables
-of the function (*note Lambda Expressions::.); then the forms in the
+of the function (*note Lambda Expressions::); then the forms in the
function body are evaluated in order, and the value of the last body
form becomes the value of the function call.
If the first element of a list being evaluated is a macro object,
then the list is a "macro call". When a macro call is evaluated, the
-elements of the rest of the list are *not* initially evaluated.
+elements of the rest of the list are _not_ initially evaluated.
Instead, these elements themselves are used as the arguments of the
macro. The macro definition computes a replacement form, called the
"expansion" of the macro, to be evaluated in place of the original
XEmacs Lisp with a reference to where each is described.
`and'
- *note Combining Conditions::.
+ *note Combining Conditions::
`catch'
- *note Catch and Throw::.
+ *note Catch and Throw::
`cond'
- *note Conditionals::.
+ *note Conditionals::
`condition-case'
- *note Handling Errors::.
+ *note Handling Errors::
`defconst'
- *note Defining Variables::.
+ *note Defining Variables::
`defmacro'
- *note Defining Macros::.
+ *note Defining Macros::
`defun'
- *note Defining Functions::.
+ *note Defining Functions::
`defvar'
- *note Defining Variables::.
+ *note Defining Variables::
`function'
- *note Anonymous Functions::.
+ *note Anonymous Functions::
`if'
- *note Conditionals::.
+ *note Conditionals::
`interactive'
- *note Interactive Call::.
+ *note Interactive Call::
`let'
`let*'
- *note Local Variables::.
+ *note Local Variables::
`or'
- *note Combining Conditions::.
+ *note Combining Conditions::
`prog1'
`prog2'
`progn'
- *note Sequencing::.
+ *note Sequencing::
`quote'
- *note Quoting::.
+ *note Quoting::
`save-current-buffer'
- *note Excursions::.
+ *note Excursions::
`save-excursion'
- *note Excursions::.
+ *note Excursions::
`save-restriction'
- *note Narrowing::.
+ *note Narrowing::
`save-selected-window'
- *note Excursions::.
+ *note Excursions::
`save-window-excursion'
- *note Window Configurations::.
+ *note Window Configurations::
`setq'
- *note Setting Variables::.
+ *note Setting Variables::
`setq-default'
- *note Creating Buffer-Local::.
+ *note Creating Buffer-Local::
`unwind-protect'
- *note Nonlocal Exits::.
+ *note Nonlocal Exits::
`while'
- *note Iteration::.
+ *note Iteration::
`with-output-to-temp-buffer'
- *note Temporary Displays::.
+ *note Temporary Displays::
Common Lisp note: here are some comparisons of special forms in
XEmacs Lisp and Common Lisp. `setq', `if', and `catch' are
not necessary to quote self-evaluating objects such as numbers, strings,
and vectors.)
- - Special Form: quote OBJECT
+ - Special Form: quote object
This special form returns OBJECT, without evaluating it.
Because `quote' is used so often in programs, Lisp provides a
=> [(quote foo)]
Other quoting constructs include `function' (*note Anonymous
-Functions::.), which causes an anonymous lambda expression written in
-Lisp to be compiled, and ``' (*note Backquote::.), which is used to
-quote only part of a list, while computing and substituting other parts.
+Functions::), which causes an anonymous lambda expression written in
+Lisp to be compiled, and ``' (*note Backquote::), which is used to quote
+only part of a list, while computing and substituting other parts.
\1f
File: lispref.info, Node: Control Structures, Next: Variables, Prev: Evaluation, Up: Top
Control Structures
******************
- A Lisp program consists of expressions or "forms" (*note Forms::.).
+ A Lisp program consists of expressions or "forms" (*note Forms::).
We control the order of execution of the forms by enclosing them in
"control structures". Control structures are special forms which
control when, whether, or how many times to execute the forms they
jumps--all discussed below. The built-in control structures are
special forms since their subforms are not necessarily evaluated or not
evaluated sequentially. You can use macros to define your own control
-structure constructs (*note Macros::.).
+structure constructs (*note Macros::).
* Menu:
is not used as often as it used to be. It is needed now most often
inside an `unwind-protect', `and', `or', or in the THEN-part of an `if'.
- - Special Form: progn FORMS...
+ - Special Form: progn forms...
This special form evaluates all of the FORMS, in textual order,
returning the result of the final form.
Two other control constructs likewise evaluate a series of forms but
return a different value:
- - Special Form: prog1 FORM1 FORMS...
+ - Special Form: prog1 form1 forms...
This special form evaluates FORM1 and all of the FORMS, in textual
order, returning the result of FORM1.
(prog1 (car x) (setq x (cdr x)))
- - Special Form: prog2 FORM1 FORM2 FORMS...
+ - Special Form: prog2 form1 form2 forms...
This special form evaluates FORM1, FORM2, and all of the following
FORMS, in textual order, returning the result of FORM2.
Lisp has two conditional forms: `if', which is much the same as in other
languages, and `cond', which is a generalized case statement.
- - Special Form: if CONDITION THEN-FORM ELSE-FORMS...
+ - Special Form: if condition then-form else-forms...
`if' chooses between the THEN-FORM and the ELSE-FORMS based on the
value of CONDITION. If the evaluated CONDITION is non-`nil',
THEN-FORM is evaluated and the result returned. Otherwise, the
'very-false)
=> very-false
- - Special Form: cond CLAUSE...
+ - Special Form: cond clause...
`cond' chooses among an arbitrary number of alternatives. Each
CLAUSE in the `cond' must be a list. The CAR of this list is the
CONDITION; the remaining elements, if any, the BODY-FORMS. Thus,
`and' and `or' can also be used individually as kinds of multiple
conditional constructs.
- - Function: not CONDITION
+ - Function: not condition
This function tests for the falsehood of CONDITION. It returns
`t' if CONDITION is `nil', and `nil' otherwise. The function
`not' is identical to `null', and we recommend using the name
`null' if you are testing for an empty list.
- - Special Form: and CONDITIONS...
+ - Special Form: and conditions...
The `and' special form tests whether all the CONDITIONS are true.
It works by evaluating the CONDITIONS one by one in the order
written.
==
(cond (ARG1 (cond (ARG2 ARG3))))
- - Special Form: or CONDITIONS...
+ - Special Form: or conditions...
The `or' special form tests whether at least one of the CONDITIONS
is true. It works by evaluating all the CONDITIONS one by one in
the order written.
of a list, or once for each integer from 0 to N. You can do this in
XEmacs Lisp with the special form `while':
- - Special Form: while CONDITION FORMS...
+ - Special Form: while condition forms...
`while' first evaluates CONDITION. If the result is non-`nil', it
evaluates FORMS in textual order. Then it reevaluates CONDITION,
and if the result is non-`nil', it evaluates FORMS again. This
There is no limit on the number of iterations that may occur. The
loop will continue until either CONDITION evaluates to `nil' or
- until an error or `throw' jumps out of it (*note Nonlocal
- Exits::.).
+ until an error or `throw' jumps out of it (*note Nonlocal Exits::).
The value of a `while' form is always `nil'.
`catch', including function calls. When binding constructs such as
`let' or function calls are exited in this way, the bindings are
unbound, just as they are when these constructs exit normally (*note
-Local Variables::.). Likewise, `throw' restores the buffer and
-position saved by `save-excursion' (*note Excursions::.), and the
-narrowing status saved by `save-restriction' and the window selection
-saved by `save-window-excursion' (*note Window Configurations::.). It
-also runs any cleanups established with the `unwind-protect' special
-form when it exits that form (*note Cleanups::.).
+Local Variables::). Likewise, `throw' restores the buffer and position
+saved by `save-excursion' (*note Excursions::), and the narrowing
+status saved by `save-restriction' and the window selection saved by
+`save-window-excursion' (*note Window Configurations::). It also runs
+any cleanups established with the `unwind-protect' special form when it
+exits that form (*note Cleanups::).
The `throw' need not appear lexically within the `catch' that it
jumps to. It can equally well be called from another function called
after entry to the `catch', and chronologically before exit from it, it
has access to that `catch'. This is why `throw' can be used in
commands such as `exit-recursive-edit' that throw back to the editor
-command loop (*note Recursive Editing::.).
+command loop (*note Recursive Editing::).
Common Lisp note: Most other versions of Lisp, including Common
Lisp, have several ways of transferring control nonsequentially:
`return', `return-from', and `go', for example. XEmacs Lisp has
only `throw'.
- - Special Form: catch TAG BODY...
+ - Special Form: catch tag body...
`catch' establishes a return point for the `throw' function. The
return point is distinguished from other such return points by TAG,
which may be any Lisp object. The argument TAG is evaluated
the `catch' exits immediately; the value it returns is whatever
was specified as the second argument of `throw'.
- - Function: throw TAG VALUE
+ - Function: throw tag value
The purpose of `throw' is to return from a return point previously
established with `catch'. The argument TAG is used to choose
among the various existing return points; it must be `eq' to the
Quitting, which happens when the user types `C-g', is not considered
an error, but it is handled almost like an error. *Note Quitting::.
- - Function: error FORMAT-STRING &rest ARGS
+ - Function: error format-string &rest args
This function signals an error with an error message constructed by
- applying `format' (*note String Conversion::.) to FORMAT-STRING
- and ARGS.
+ applying `format' (*note String Conversion::) to FORMAT-STRING and
+ ARGS.
This error is not continuable: you cannot continue execution after
the error using the debugger `r' or `c' commands. If you wish the
will be interpreted as a format specifier, with undesirable
results. Instead, use `(error "%s" STRING)'.
- - Function: cerror FORMAT-STRING &rest ARGS
+ - Function: cerror format-string &rest args
This function behaves like `error', except that the error it
signals is continuable. That means that debugger commands `c' and
`r' can resume execution.
- - Function: signal ERROR-SYMBOL DATA
+ - Function: signal error-symbol data
This function signals a continuable error named by ERROR-SYMBOL.
The argument DATA is a list of additional Lisp objects relevant to
the circumstances of the error.
Both ERROR-SYMBOL and DATA are available to any error handlers
that handle the error: `condition-case' binds a local variable to
a list of the form `(ERROR-SYMBOL . DATA)' (*note Handling
- Errors::.). If the error is not handled, these two values are
- used in printing the error message.
+ Errors::). If the error is not handled, these two values are used
+ in printing the error message.
The function `signal' can return, if the debugger is invoked and
the user invokes the "return from signal" option. If you want the
(signal 'wrong-number-of-arguments '(x y))
error--> Wrong number of arguments: x, y
-
+
(signal 'no-such-error '("My unknown error condition"))
error--> Peculiar error (no-such-error "My unknown error condition")
- - Function: signal-error ERROR-SYMBOL DATA
+ - Function: signal-error error-symbol data
This function behaves like `signal', except that the error it
signals is not continuable.
- - Macro: check-argument-type PREDICATE ARGUMENT
+ - Macro: check-argument-type predicate argument
This macro checks that ARGUMENT satisfies PREDICATE. If that is
not the case, it signals a continuable `wrong-type-argument' error
until the returned value satisfies PREDICATE, and assigns the
formatted error message to the echo area. The functions that do the
formatting are explained below.
- - Function: display-error ERROR-OBJECT STREAM
+ - Function: display-error error-object stream
This function displays ERROR-OBJECT on STREAM. ERROR-OBJECT is a
cons of error type, a symbol, and error arguments, a list. If the
error type symbol of one of its error condition superclasses has
the actual error message. Otherwise, the error is printed as
`Error: arg1, arg2, ...'.
- - Function: error-message-string ERROR-OBJECT
+ - Function: error-message-string error-object
This function converts ERROR-OBJECT to an error message string,
and returns it. The message is equivalent to the one that would be
printed by `display-error', except that it is conveniently returned
An error that has no explicit handler may call the Lisp debugger.
The debugger is enabled if the variable `debug-on-error' (*note Error
-Debugging::.) is non-`nil'. Unlike error handlers, the debugger runs
-in the environment of the error, so that you can examine values of
+Debugging::) is non-`nil'. Unlike error handlers, the debugger runs in
+the environment of the error, so that you can examine values of
variables precisely as they were at the time of the error.
\1f
when the program evaluates an expression read from the user.
Even when an error is handled, the debugger may still be called if
-the variable `debug-on-signal' (*note Error Debugging::.) is non-`nil'.
+the variable `debug-on-signal' (*note Error Debugging::) is non-`nil'.
Note that this may yield unpredictable results with code that traps
expected errors as normal part of its operation. Do not set
`debug-on-signal' unless you know what you are doing.
handler (though using `throw' when there is no suitable `catch' signals
an error that can be handled).
- - Special Form: condition-case VAR PROTECTED-FORM HANDLERS...
+ - Special Form: condition-case var protected-form handlers...
This special form establishes the error handlers HANDLERS around
the execution of PROTECTED-FORM. If PROTECTED-FORM executes
without error, the value it returns becomes the value of the
Each error that occurs has an "error symbol" that describes what
kind of error it is. The `error-conditions' property of this
- symbol is a list of condition names (*note Error Symbols::.).
- Emacs searches all the active `condition-case' forms for a handler
- that specifies one or more of these condition names; the innermost
+ symbol is a list of condition names (*note Error Symbols::). Emacs
+ searches all the active `condition-case' forms for a handler that
+ specifies one or more of these condition names; the innermost
matching `condition-case' handles the error. Within this
`condition-case', the first applicable handler handles the error.
(princ (format "Arithmetic error: %s" err))
1000000)))
=> safe-divide
-
+
(safe-divide 5 0)
-| Arithmetic error: (arith-error)
=> 1000000
(setq baz 34)
=> 34
-
+
(condition-case err
(if (eq baz 35)
t
-This is Info file ../info/lispref.info, produced by Makeinfo version
-1.68 from the input file lispref/lispref.texi.
+This is ../info/lispref.info, produced by makeinfo version 4.0 from
+lispref/lispref.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
In other words, each error condition "inherits" from another error
condition, with `error' sitting at the top of the inheritance hierarchy.
- - Function: define-error ERROR-SYMBOL ERROR-MESSAGE &optional
- INHERITS-FROM
+ - Function: define-error error-symbol error-message &optional
+ inherits-from
This function defines a new error, denoted by ERROR-SYMBOL.
ERROR-MESSAGE is an informative message explaining the error, and
will be printed out when an unhandled error occurs. ERROR-SYMBOL
`error-conditions' property that is a list of ERROR-SYMBOL
followed by each of its super-errors, up to and including `error'.
You will sometimes see code that sets this up directly rather than
- calling `define-error', but you should *not* do this yourself,
+ calling `define-error', but you should _not_ do this yourself,
unless you wish to maintain compatibility with FSF Emacs, which
does not provide `define-error'.
not end with a period. This is for consistency with the rest of Emacs.
Naturally, XEmacs will never signal `new-error' on its own; only an
-explicit call to `signal' (*note Signaling Errors::.) in your code can
+explicit call to `signal' (*note Signaling Errors::) in your code can
do this:
(signal 'new-error '(x y))
put a data structure in an inconsistent state; it permits you to ensure
the data are consistent in the event of an error or throw.
- - Special Form: unwind-protect BODY CLEANUP-FORMS...
+ - Special Form: unwind-protect body cleanup-forms...
`unwind-protect' executes the BODY with a guarantee that the
CLEANUP-FORMS will be evaluated if control leaves BODY, no matter
how that happens. The BODY may complete normally, or execute a
Only the BODY is actually protected by the `unwind-protect'. If
any of the CLEANUP-FORMS themselves exits nonlocally (e.g., via a
- `throw' or an error), `unwind-protect' is *not* guaranteed to
+ `throw' or an error), `unwind-protect' is _not_ guaranteed to
evaluate the rest of them. If the failure of one of the
CLEANUP-FORMS has the potential to cause trouble, then protect it
with another `unwind-protect' around that form.
The number of currently active `unwind-protect' forms counts,
together with the number of local variable bindings, against the
- limit `max-specpdl-size' (*note Local Variables::.).
+ limit `max-specpdl-size' (*note Local Variables::).
For example, here we make an invisible buffer for temporary use, and
make sure to kill it before finishing:
buffer becomes current in time to kill it.)
Here is an actual example taken from the file `ftp.el'. It creates
-a process (*note Processes::.) to try to establish a connection to a
+a process (*note Processes::) to try to establish a connection to a
remote machine. As the function `ftp-login' is highly susceptible to
numerous problems that the writer of the function cannot anticipate, it
is protected with a form that guarantees deletion of the process in the
one) of the variable. When the life span of the local value is over,
the previous value is restored. In the mean time, we say that the
previous value is "shadowed" and "not visible". Both global and local
-values may be shadowed (*note Scope::.).
+values may be shadowed (*note Scope::).
If you set a variable (such as with `setq') while it is local, this
replaces the local value; it does not alter the global value, or
The special forms `let' and `let*' exist to create local bindings.
- - Special Form: let (BINDINGS...) FORMS...
+ - Special Form: let (bindings...) forms...
This special form binds variables according to BINDINGS and then
evaluates all of the FORMS in textual order. The `let'-form
returns the value of the last form in FORMS.
evaluating VALUE-FORM. If VALUE-FORM is omitted, `nil' is used.
All of the VALUE-FORMs in BINDINGS are evaluated in the order they
- appear and *before* any of the symbols are bound. Here is an
+ appear and _before_ any of the symbols are bound. Here is an
example of this: `Z' is bound to the old value of `Y', which is 2,
not the new value, 1.
(list Y Z))
=> (1 2)
- - Special Form: let* (BINDINGS...) FORMS...
+ - Special Form: let* (bindings...) forms...
This special form is like `let', but it binds each variable right
after computing its local value, before computing the local value
for the next variable. Therefore, an expression in BINDINGS can
Here is a complete list of the other facilities that create local
bindings:
- * Function calls (*note Functions::.).
+ * Function calls (*note Functions::).
- * Macro calls (*note Macros::.).
+ * Macro calls (*note Macros::).
- * `condition-case' (*note Errors::.).
+ * `condition-case' (*note Errors::).
Variables can also have buffer-local bindings (*note Buffer-Local
-Variables::.). These kinds of bindings work somewhat like ordinary
-local bindings, but they are localized depending on "where" you are in
-Emacs, rather than localized in time.
+Variables::). These kinds of bindings work somewhat like ordinary local
+bindings, but they are localized depending on "where" you are in Emacs,
+rather than localized in time.
- Variable: max-specpdl-size
This variable defines the limit on the total number of local
variable bindings and `unwind-protect' cleanups (*note Nonlocal
- Exits::.) that are allowed before signaling an error (with data
+ Exits::) that are allowed before signaling an error (with data
`"Variable binding depth exceeds max-specpdl-size"').
This limit, with the associated error when it is exceeded, is one
Note that a value of `nil' is not the same as void. The symbol
`nil' is a Lisp object and can be the value of a variable just as any
-other object can be; but it is *a value*. A void variable does not
+other object can be; but it is _a value_. A void variable does not
have any value.
After you have given a variable a value, you can make it void once
more using `makunbound'.
- - Function: makunbound SYMBOL
+ - Function: makunbound symbol
This function makes the current binding of SYMBOL void.
Subsequent attempts to use this symbol's value as a variable will
signal the error `void-variable', unless or until you set it again.
(makunbound 'x) ; Void the local binding.
x)
error--> Symbol's value as variable is void: x
-
x ; The global binding is unchanged.
=> 1
(makunbound 'x) ; Void the innermost-local binding.
x)) ; And refer: it's void.
error--> Symbol's value as variable is void: x
-
+
(let ((x 2))
(let ((x 3))
(makunbound 'x)) ; Void inner binding, then remove it.
You can use the function `boundp' to test whether a variable is
currently void.
- - Function: boundp VARIABLE
+ - Function: boundp variable
`boundp' returns `t' if VARIABLE (a symbol) is not void; more
precisely, if its current binding is not void. It returns `nil'
otherwise.
(boundp 'abracadabra) ; Starts out void.
=> nil
-
(let ((abracadabra 5)) ; Locally bind it.
(boundp 'abracadabra))
=> t
-
(boundp 'abracadabra) ; Still globally void.
=> nil
-
(setq abracadabra 5) ; Make it globally nonvoid.
=> 5
-
(boundp 'abracadabra)
=> t
`defvar'.
In XEmacs Lisp, definitions serve three purposes. First, they inform
-people who read the code that certain symbols are *intended* to be used
+people who read the code that certain symbols are _intended_ to be used
a certain way (as variables). Second, they inform the Lisp system of
these things, supplying a value and documentation. Third, they provide
information to utilities such as `etags' and `make-docfile', which
and override the default values given in the definitions. For this
reason, user options must be defined with `defvar'.
- - Special Form: defvar SYMBOL [VALUE [DOC-STRING]]
+ - Special Form: defvar symbol [value [doc-string]]
This special form defines SYMBOL as a value and initializes it.
The definition informs a person reading your code that SYMBOL is
used as a variable that programs are likely to set or change. It
for the variable. (This opportunity to specify documentation is
one of the main benefits of defining the variable.) The
documentation is stored in the symbol's `variable-documentation'
- property. The XEmacs help functions (*note Documentation::.) look
+ property. The XEmacs help functions (*note Documentation::) look
for this property.
If the first character of DOC-STRING is `*', it means that this
The `defvar' form returns SYMBOL, but it is normally used at top
level in a file where its value does not matter.
- - Special Form: defconst SYMBOL [VALUE [DOC-STRING]]
+ - Special Form: defconst symbol [value [doc-string]]
This special form defines SYMBOL as a value and initializes it.
It informs a person reading your code that SYMBOL has a global
value, established here, that will not normally be changed or
pi
=> 3
- - Function: user-variable-p VARIABLE
+ - Function: user-variable-p variable
This function returns `t' if VARIABLE is a user option--a variable
intended to be set by the user for customization--and `nil'
otherwise. (Variables other than user options exist for the
=========================
The usual way to reference a variable is to write the symbol which
-names it (*note Symbol Forms::.). This requires you to specify the
+names it (*note Symbol Forms::). This requires you to specify the
variable name when you write the program. Usually that is exactly what
you want to do. Occasionally you need to choose at run time which
variable to reference; then you can use `symbol-value'.
- - Function: symbol-value SYMBOL
+ - Function: symbol-value symbol
This function returns the value of SYMBOL. This is the value in
the innermost local binding of the symbol, or its global value if
it has no local bindings.
form `setq'. When you need to compute the choice of variable at run
time, use the function `set'.
- - Special Form: setq [SYMBOL FORM]...
+ - Special Form: setq [symbol form]...
This special form is the most common method of changing a
variable's value. Each SYMBOL is given a new value, which is the
result of evaluating the corresponding FORM. The most-local
y (1+ x)) ; the value of `y' is computed.
=> 11
- - Function: set SYMBOL VALUE
+ - Function: set symbol value
This function sets SYMBOL's value to VALUE, then returns VALUE.
Since `set' is a function, the expression written for SYMBOL is
evaluated to obtain the symbol to set.
One other function for setting a variable is designed to add an
element to a list if it is not already present in the list.
- - Function: add-to-list SYMBOL ELEMENT
+ - Function: add-to-list symbol element
This function sets the variable SYMBOL by consing ELEMENT onto the
old value, if ELEMENT is not already a member of that value. It
returns the resulting list, whether updated or not. The value of
the others.
Local bindings in XEmacs Lisp have "indefinite scope" and "dynamic
-extent". "Scope" refers to *where* textually in the source code the
+extent". "Scope" refers to _where_ textually in the source code the
binding can be accessed. Indefinite scope means that any part of the
program can potentially access the variable binding. "Extent" refers
-to *when*, as the program is executing, the binding exists. Dynamic
+to _when_, as the program is executing, the binding exists. Dynamic
extent means that the binding lasts as long as the activation of the
construct that established it.
(user))
* If we define `foo' as follows and call `binder', then the binding
- made in `binder' *will not* be seen in `user':
+ made in `binder' _will not_ be seen in `user':
(defun foo (x)
(user))
Creating and Deleting Buffer-Local Bindings
-------------------------------------------
- - Command: make-local-variable VARIABLE
+ - Command: make-local-variable variable
This function creates a buffer-local binding in the current buffer
for VARIABLE (a symbol). Other buffers are not affected. The
value returned is VARIABLE.
*Please note:* do not use `make-local-variable' for a hook
variable. Instead, use `make-local-hook'. *Note Hooks::.
- - Command: make-variable-buffer-local VARIABLE
+ - Command: make-variable-buffer-local variable
This function marks VARIABLE (a symbol) automatically
buffer-local, so that any subsequent attempt to set it will make it
local to the current buffer at the time.
The value returned is VARIABLE.
- - Function: local-variable-p VARIABLE &optional BUFFER
+ - Function: local-variable-p variable &optional buffer
This returns `t' if VARIABLE is buffer-local in buffer BUFFER
(which defaults to the current buffer); otherwise, `nil'.
- - Function: buffer-local-variables &optional BUFFER
+ - Function: buffer-local-variables &optional buffer
This function returns a list describing the buffer-local variables
in buffer BUFFER. It returns an association list (*note
- Association Lists::.) in which each association contains one
+ Association Lists::) in which each association contains one
buffer-local variable and its value. When a buffer-local variable
is void in BUFFER, then it appears directly in the resulting list.
If BUFFER is omitted, the current buffer is used.
(bind-me . 69))
Note that storing new values into the CDRs of cons cells in this
- list does *not* change the local values of the variables.
+ list does _not_ change the local values of the variables.
- - Command: kill-local-variable VARIABLE
+ - Command: kill-local-variable variable
This function deletes the buffer-local binding (if any) for
VARIABLE (a symbol) in the current buffer. As a result, the
global (default) binding of VARIABLE becomes visible in this
-This is Info file ../info/new-users-guide.info, produced by Makeinfo
-version 1.68 from the input file new-users-guide/new-users-guide.texi.
+This is ../info/new-users-guide.info, produced by makeinfo version 4.0
+from new-users-guide/new-users-guide.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
\1f
Indirect:
-new-users-guide.info-1: 661
-new-users-guide.info-2: 50494
-new-users-guide.info-3: 99997
+new-users-guide.info-1: 635
+new-users-guide.info-2: 50468
+new-users-guide.info-3: 99970
\1f
Tag Table:
(Indirect)
-Node: Top\7f661
-Node: Intro\7f4636
-Node: Entering\7f7219
-Node: Enter\7f8733
-Node: Frame\7f9415
-Node: Exiting\7f11084
-Node: Mode Line\7f12284
-Node: Echo Area\7f14431
-Node: Windows and Menus\7f15786
-Node: XEmacs Window\7f16239
-Node: Pull-down Menus\7f19860
-Node: File menu\7f20739
-Node: Edit menu\7f23998
-Node: Options Menu\7f26525
-Node: Buffers Menu\7f31307
-Node: Help menu\7f31693
-Node: Edit\7f32191
-Node: Insert\7f33785
-Node: Cursor Position\7f35113
-Node: Erase\7f37184
-Node: Numeric Argument\7f38338
-Node: Undo\7f39522
-Node: Customization Basics\7f40285
-Node: Customizing key Bindings\7f41514
-Node: Customizing Menus\7f45004
-Node: Help\7f50494
-Node: The Help Menu\7f51182
-Node: Modes\7f56107
-Node: Major Modes\7f57023
-Node: Minor Modes\7f60972
-Node: Files\7f65058
-Node: File Names\7f65780
-Node: Visiting\7f67583
-Node: Saving Files\7f69707
-Node: Other Customizations\7f73085
-Node: Setting Variables\7f75554
-Node: Init File\7f78763
-Node: Select and Move\7f84232
-Node: Selecting Text\7f85186
-Node: Mouse\7f86699
-Node: Region Operation\7f88024
-Node: Moving Text\7f89284
-Node: Accumulating text\7f90524
-Node: Search and Replace\7f92844
-Node: Key Index\7f96708
-Node: Command Index\7f99997
-Node: Variable Index\7f104099
-Node: Concept Index\7f104676
+Node: Top\7f635
+Node: Intro\7f4612
+Node: Entering\7f7195
+Node: Enter\7f8709
+Node: Frame\7f9391
+Node: Exiting\7f11060
+Node: Mode Line\7f12260
+Node: Echo Area\7f14407
+Node: Windows and Menus\7f15762
+Node: XEmacs Window\7f16215
+Node: Pull-down Menus\7f19836
+Node: File menu\7f20715
+Node: Edit menu\7f23974
+Node: Options Menu\7f26500
+Node: Buffers Menu\7f31282
+Node: Help menu\7f31668
+Node: Edit\7f32166
+Node: Insert\7f33760
+Node: Cursor Position\7f35088
+Node: Erase\7f37159
+Node: Numeric Argument\7f38313
+Node: Undo\7f39497
+Node: Customization Basics\7f40260
+Node: Customizing key Bindings\7f41489
+Node: Customizing Menus\7f44979
+Node: Help\7f50468
+Node: The Help Menu\7f51156
+Node: Modes\7f56081
+Node: Major Modes\7f56997
+Node: Minor Modes\7f60946
+Node: Files\7f65032
+Node: File Names\7f65754
+Node: Visiting\7f67557
+Node: Saving Files\7f69681
+Node: Other Customizations\7f73058
+Node: Setting Variables\7f75526
+Node: Init File\7f78735
+Node: Select and Move\7f84205
+Node: Selecting Text\7f85159
+Node: Mouse\7f86672
+Node: Region Operation\7f87997
+Node: Moving Text\7f89257
+Node: Accumulating text\7f90497
+Node: Search and Replace\7f92817
+Node: Key Index\7f96681
+Node: Command Index\7f99970
+Node: Variable Index\7f104072
+Node: Concept Index\7f104649
\1f
End Tag Table
-This is Info file ../info/new-users-guide.info, produced by Makeinfo
-version 1.68 from the input file new-users-guide/new-users-guide.texi.
+This is ../info/new-users-guide.info, produced by makeinfo version 4.0
+from new-users-guide/new-users-guide.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
- -- The Detailed Node Listing --
+ --- The Detailed Node Listing ---
Entering and Exiting Emacs
Cut
Removes the selected text block from the current buffer, makes it
the X clipboard selection, and places it in the kill ring (*note
- Moving Text::.). Before executing this command, you have to select
+ Moving Text::). Before executing this command, you have to select
a region using Emacs region selection commands or with the mouse.
*Note Selecting Text::.
first if necessary. If the named item already exists, the menu
will remain unchanged. For example, if you add the following
example to your `.emacs' file or evaluate it (*note Customization
- Basics::.),
+ Basics::),
(add-menu-item '("Edit") "Replace String" replace-string t "Clear")
-This is Info file ../info/new-users-guide.info, produced by Makeinfo
-version 1.68 from the input file new-users-guide/new-users-guide.texi.
+This is ../info/new-users-guide.info, produced by makeinfo version 4.0
+from new-users-guide/new-users-guide.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
will create a "backup" file. Select the Describe variable option from
the Help menu and look at the documentation for this variable. Its
default value should be `t'. However, if its not then use `M-x
-set-variable' to set it to `t' (*note Setting Variables::.). The backup
+set-variable' to set it to `t' (*note Setting Variables::). The backup
file will contain the contents from the last time you visited the file.
Emacs also provides options for creating numbered backups. For more
information on backups, *Note Backup: (xemacs)Backup.
example above.
Similarly, to enable the "font-lock mode" which displays your
-program in different fonts and colors(*note Modes::.), put the
-following in your `.emacs' file. The comments above the statement
-explain what the statements do.
+program in different fonts and colors(*note Modes::), put the following
+in your `.emacs' file. The comments above the statement explain what the
+statements do.
;;; enables the font-lock-mode in Lisp Mode
(add-hook 'lisp-mode-hook 'turn-on-font-lock)
examples in
`/usr/local/lib/xemacs-20.0/lisp/packages/big-menubar.el' file.
+
For more information on initializing your `.emacs' file, *Note Init
File: (xemacs)Init File. You should also look at
`/usr/local/lib/xemacs-20.0/etc/sample.emacs', which is a sample
-This is Info file ../info/new-users-guide.info, produced by Makeinfo
-version 1.68 from the input file new-users-guide/new-users-guide.texi.
+This is ../info/new-users-guide.info, produced by makeinfo version 4.0
+from new-users-guide/new-users-guide.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
-This is Info file ../info/widget.info, produced by Makeinfo version
-1.68 from the input file widget.texi.
+This is ../info/widget.info, produced by makeinfo version 4.0 from
+widget.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
There are several different kind of buttons, all of which are
present in the example:
-*The Option Field Tags.*
+_The Option Field Tags._
When you invoke one of these buttons, you will be asked to choose
between a number of different options. This is how you edit an
option field. Option fields are created by the `menu-choice'
widget. In the example, `Choose' is an option field tag.
-*The `[INS]' and `[DEL]' buttons.*
+_The `[INS]' and `[DEL]' buttons._
Activating these will insert or delete elements from a editable
list. The list is created by the `editable-list' widget.
-*Embedded Buttons.*
+_Embedded Buttons._
The `_other work_' is an example of an embedded button. Embedded
buttons are not associated with a fields, but can serve any
purpose, such as implementing hypertext references. They are
usually created by the `link' widget.
-*The `[ ]' and `[X]' buttons.*
+_The `[ ]' and `[X]' buttons._
Activating one of these will convert it to the other. This is
useful for implementing multiple-choice fields. You can create it
wit
-*The `( )' and `(*)' buttons.*
+_The `( )' and `(*)' buttons._
Only one radio button in a `radio-button-choice' widget can be
selected at any time. When you invoke one of the unselected radio
buttons, it will be selected and the previous selected radio
button will become unselected.
-*The `[Apply Form]' `[Reset Form]' buttons.*
+_The `[Apply Form]' `[Reset Form]' buttons._
These are explicit buttons made with the `push-button' widget.
The main difference from the `link' widget is that the buttons are
will be displayed as GUI buttons when possible. enough.
buffer, plus you will have these additional commands:
`<TAB>'
- - Command: widget-forward &optional COUNT
+ - Command: widget-forward &optional count
Move point COUNT buttons or editing fields forward.
`<M-TAB>'
- - Command: widget-backward &optional COUNT
+ - Command: widget-backward &optional count
Move point COUNT buttons or editing fields backward.
\1f
functions, until it is deleted with `widget-delete'. After the widgets
have been created, `widget-setup' must be called to enable them.
- - Function: widget-create TYPE [ KEYWORD ARGUMENT ]...
+ - Function: widget-create type [ keyword argument ]...
Create and return a widget of type TYPE. The syntax for the TYPE
argument is described in *Note Basic Types::.
The keyword arguments can be used to overwrite the keyword
arguments that are part of TYPE.
- - Function: widget-delete WIDGET
+ - Function: widget-delete widget
Delete WIDGET and remove it from the buffer.
- Function: widget-setup
Text around %[ %] in the format.
These can be
- *nil*
+ _nil_
No text is inserted.
- *a string*
+ _a string_
The string is inserted literally.
- *a symbol*
+ _a symbol_
The value of the symbol is expanded according to this table.
`:doc'
The following predefined function can be used:
- - Function: widget-children-validate WIDGET
+ - Function: widget-children-validate widget
All the `:children' of WIDGET must be valid.
`:tab-order'
widget after it has been created with the function
`widget-radio-add-item'.
- - Function: widget-radio-add-item WIDGET TYPE
+ - Function: widget-radio-add-item widget type
Add to `radio-button-choice' widget WIDGET a new radio button item
of type TYPE.
You can examine or set the value of a widget by using the widget
object that was returned by `widget-create'.
- - Function: widget-value WIDGET
+ - Function: widget-value widget
Return the current value contained in WIDGET. It is an error to
call this function on an uninitialized widget.
- - Function: widget-value-set WIDGET VALUE
+ - Function: widget-value-set widget value
Set the value contained in WIDGET to VALUE. It is an error to
call this function with an invalid VALUE.
- *Important:* You *must* call `widget-setup' after modifying the
+ *Important:* You _must_ call `widget-setup' after modifying the
value of a widget before the user is allowed to edit the widget again.
It is enough to call `widget-setup' once if you modify multiple
widgets. This is currently only necessary if the widget contains an
can be done with `widget-put' and `widget-get'. The property names
must begin with a `:'.
- - Function: widget-put WIDGET PROPERTY VALUE
+ - Function: widget-put widget property value
In WIDGET set PROPERTY to VALUE. PROPERTY should be a symbol,
while VALUE can be anything.
- - Function: widget-get WIDGET PROPERTY
+ - Function: widget-get widget property
In WIDGET return the value for PROPERTY. PROPERTY should be a
symbol, the value is what was last set by `widget-put' for
PROPERTY.
- - Function: widget-member WIDGET PROPERTY
+ - Function: widget-member widget property
Non-nil if WIDGET has a value (even nil) for property PROPERTY.
Occasionally it can be useful to know which kind of widget you have,
i.e. the name of the widget type you gave when the widget was created.
- - Function: widget-type WIDGET
+ - Function: widget-type widget
Return the name of WIDGET, a symbol.
Widgets can be in two states: active, which means they are
specifying component widgets and new default values for the keyword
arguments.
- - Function: widget-define NAME CLASS DOC &rest ARGS
+ - Function: widget-define name class doc &rest args
Define a new widget type named NAME from `class'.
NAME and class should both be symbols, `class' should be one of
The following predefined functions can be used here:
- - Function: widget-types-convert-widget WIDGET
+ - Function: widget-types-convert-widget widget
Convert `:args' as widget types in WIDGET.
- - Function: widget-value-convert-widget WIDGET
+ - Function: widget-value-convert-widget widget
Initialize `:value' from `:args' in WIDGET.
`:value-to-internal'
The following predefined function can be used here:
- - Function: widget-children-value-delete WIDGET
+ - Function: widget-children-value-delete widget
Delete all `:children' and `:buttons' in WIDGET.
`:value-get'
The following predefined function can be used here:
- - Function: widget-value-value-get WIDGET
+ - Function: widget-value-value-get widget
Return the `:value' property of WIDGET.
`:format-handler'
The following predefined function can be used here:
- - Function: widget-parent-action WIDGET &optional EVENT
+ - Function: widget-parent-action widget &optional event
Tell `:parent' of WIDGET to handle the `:action'.
Optional EVENT is the event that triggered the action.
Utilities.
==========
- - Function: widget-prompt-value WIDGET PROMPT [ VALUE UNBOUND ]
+ - Function: widget-prompt-value widget prompt [ value unbound ]
Prompt for a value matching WIDGET, using PROMPT.
The current value is assumed to be VALUE, unless UNBOUND is
non-nil.
- - Function: widget-get-sibling WIDGET
+ - Function: widget-get-sibling widget
Get the item WIDGET is assumed to toggle.
This is only meaningful for radio buttons or checkboxes in a list.
symbol, it should pop up a menu.
+
\1f
Tag Table:
-Node: Top\7f227
-Node: Introduction\7f607
-Node: User Interface\7f4090
-Node: Programming Example\7f8985
-Node: Setting Up the Buffer\7f12302
-Node: Basic Types\7f14019
-Node: link\7f20064
-Node: url-link\7f20578
-Node: info-link\7f20890
-Node: push-button\7f21181
-Node: editable-field\7f21754
-Node: text\7f23093
-Node: menu-choice\7f23391
-Node: radio-button-choice\7f24244
-Node: item\7f25811
-Node: choice-item\7f26199
-Node: toggle\7f26697
-Node: checkbox\7f27434
-Node: checklist\7f27740
-Node: editable-list\7f29184
-Node: group\7f30366
-Node: Sexp Types\7f30653
-Node: constants\7f30966
-Node: generic\7f32045
-Node: atoms\7f32578
-Node: composite\7f34525
-Node: Widget Properties\7f36995
-Node: Defining New Widgets\7f40060
-Node: Widget Browser\7f45360
-Node: Widget Minor Mode\7f46218
-Node: Utilities\7f46775
-Node: Widget Wishlist\7f47256
+Node: Top\7f201
+Node: Introduction\7f581
+Node: User Interface\7f4064
+Node: Programming Example\7f8959
+Node: Setting Up the Buffer\7f12276
+Node: Basic Types\7f13993
+Node: link\7f20038
+Node: url-link\7f20552
+Node: info-link\7f20864
+Node: push-button\7f21155
+Node: editable-field\7f21728
+Node: text\7f23067
+Node: menu-choice\7f23365
+Node: radio-button-choice\7f24218
+Node: item\7f25785
+Node: choice-item\7f26173
+Node: toggle\7f26671
+Node: checkbox\7f27408
+Node: checklist\7f27714
+Node: editable-list\7f29158
+Node: group\7f30340
+Node: Sexp Types\7f30627
+Node: constants\7f30940
+Node: generic\7f32019
+Node: atoms\7f32552
+Node: composite\7f34499
+Node: Widget Properties\7f36969
+Node: Defining New Widgets\7f40034
+Node: Widget Browser\7f45334
+Node: Widget Minor Mode\7f46192
+Node: Utilities\7f46749
+Node: Widget Wishlist\7f47230
\1f
End Tag Table
-This is Info file ../info/xemacs-faq.info, produced by Makeinfo version
-1.68 from the input file xemacs-faq.texi.
+This is ../info/xemacs-faq.info, produced by makeinfo version 4.0 from
+xemacs-faq.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
\1f
Indirect:
-xemacs-faq.info-1: 221
-xemacs-faq.info-2: 49943
-xemacs-faq.info-3: 99763
-xemacs-faq.info-4: 149758
-xemacs-faq.info-5: 199344
+xemacs-faq.info-1: 195
+xemacs-faq.info-2: 49906
+xemacs-faq.info-3: 99720
+xemacs-faq.info-4: 149713
+xemacs-faq.info-5: 199295
\1f
Tag Table:
(Indirect)
-Node: Top\7f221
-Node: Introduction\7f16577
-Node: Q1.0.1\7f19981
-Node: Q1.0.2\7f20517
-Node: Q1.0.3\7f21012
-Node: Q1.0.4\7f21274
-Node: Q1.0.5\7f22724
-Node: Q1.0.6\7f23413
-Node: Q1.0.7\7f24419
-Node: Q1.0.8\7f24668
-Node: Q1.0.9\7f24883
-Node: Q1.0.10\7f25161
-Node: Q1.0.11\7f25404
-Node: Q1.0.12\7f25839
-Node: Q1.0.13\7f26207
-Node: Q1.0.14\7f26456
-Node: Q1.1.1\7f26930
-Node: Q1.1.2\7f28007
-Node: Q1.1.3\7f28400
-Node: Q1.2.1\7f29351
-Node: Q1.2.2\7f30405
-Node: Q1.2.3\7f30838
-Node: Q1.3.1\7f31922
-Node: Q1.3.2\7f35840
-Node: Q1.3.3\7f36395
-Node: Q1.3.4\7f36637
-Node: Q1.3.5\7f37401
-Node: Q1.3.6\7f39816
-Node: Q1.3.7\7f41311
-Node: Q1.4.1\7f42246
-Node: Q1.4.2\7f43108
-Node: Q1.4.3\7f43449
-Node: Q1.4.4\7f43868
-Node: Q1.4.5\7f45408
-Node: Q1.4.6\7f45712
-Node: Installation\7f46705
-Node: Q2.0.1\7f49070
-Node: Q2.0.2\7f49943
-Node: Q2.0.3\7f57146
-Node: Q2.0.4\7f58444
-Node: Q2.0.5\7f59036
-Node: Q2.0.6\7f59404
-Node: Q2.0.7\7f59785
-Node: Q2.0.8\7f60166
-Node: Q2.0.9\7f61744
-Node: Q2.0.10\7f63182
-Node: Q2.0.11\7f64026
-Node: Q2.0.12\7f64967
-Node: Q2.1.1\7f66489
-Node: Q2.1.2\7f69231
-Node: Q2.1.3\7f70408
-Node: Q2.1.4\7f71701
-Node: Q2.1.5\7f72500
-Node: Q2.1.6\7f72862
-Node: Q2.1.7\7f73339
-Node: Q2.1.8\7f73692
-Node: Q2.1.9\7f75208
-Node: Q2.1.10\7f75630
-Node: Q2.1.11\7f76387
-Node: Q2.1.12\7f77252
-Node: Q2.1.13\7f78207
-Node: Q2.1.14\7f79238
-Node: Q2.1.15\7f80349
-Node: Q2.1.16\7f87380
-Node: Q2.1.17\7f88074
-Node: Q2.1.18\7f88671
-Node: Q2.1.19\7f88798
-Node: Q2.1.20\7f89328
-Node: Q2.1.21\7f89710
-Node: Q2.1.22\7f89903
-Node: Q2.1.23\7f91200
-Node: Q2.1.24\7f91868
-Node: Customization\7f92398
-Node: Q3.0.1\7f97243
-Node: Q3.0.2\7f97949
-Node: Q3.0.3\7f98513
-Node: Q3.0.4\7f98930
-Node: Q3.0.5\7f99763
-Node: Q3.0.6\7f100544
-Node: Q3.0.7\7f101124
-Node: Q3.0.8\7f101788
-Node: Q3.0.9\7f102634
-Node: Q3.1.1\7f103195
-Node: Q3.1.2\7f103932
-Node: Q3.1.3\7f104363
-Node: Q3.1.4\7f104552
-Node: Q3.1.5\7f104741
-Node: Q3.1.6\7f105125
-Node: Q3.1.7\7f105806
-Node: Q3.1.8\7f108030
-Node: Q3.2.1\7f108572
-Node: Q3.2.2\7f109980
-Node: Q3.2.3\7f110779
-Node: Q3.2.4\7f111381
-Node: Q3.2.5\7f112415
-Node: Q3.2.6\7f112882
-Node: Q3.3.1\7f113844
-Node: Q3.3.2\7f114237
-Node: Q3.3.3\7f114868
-Node: Q3.3.4\7f115249
-Node: Q3.3.5\7f116343
-Node: Q3.4.1\7f117837
-Node: Q3.4.2\7f118480
-Node: Q3.5.1\7f118992
-Node: Q3.5.2\7f120447
-Node: Q3.5.3\7f120865
-Node: Q3.5.4\7f121706
-Node: Q3.5.5\7f122538
-Node: Q3.5.6\7f123678
-Node: Q3.5.7\7f124668
-Node: Q3.5.8\7f126020
-Node: Q3.5.9\7f126767
-Node: Q3.5.10\7f127547
-Node: Q3.5.11\7f128183
-Node: Q3.6.1\7f128736
-Node: Q3.6.2\7f129476
-Node: Q3.6.3\7f129904
-Node: Q3.7.1\7f130404
-Node: Q3.7.2\7f131292
-Node: Q3.7.3\7f131951
-Node: Q3.7.4\7f132373
-Node: Q3.7.5\7f132716
-Node: Q3.7.6\7f133184
-Node: Q3.7.7\7f133899
-Node: Q3.7.8\7f134919
-Node: Q3.8.1\7f135338
-Node: Q3.8.2\7f135798
-Node: Q3.8.3\7f136261
-Node: Q3.8.4\7f136867
-Node: Q3.8.5\7f137586
-Node: Q3.9.1\7f138371
-Node: Q3.9.2\7f139311
-Node: Q3.9.3\7f139909
-Node: Q3.9.4\7f140571
-Node: Q3.10.1\7f141450
-Node: Q3.10.2\7f142268
-Node: Q3.10.3\7f143273
-Node: Q3.10.4\7f144001
-Node: Q3.10.5\7f144384
-Node: Subsystems\7f145394
-Node: Q4.0.1\7f147881
-Node: Q4.0.2\7f148406
-Node: Q4.0.3\7f148964
-Node: Q4.0.4\7f149285
-Node: Q4.0.5\7f149527
-Node: Q4.0.6\7f149758
-Node: Q4.0.7\7f150339
-Node: Q4.0.8\7f150664
-Node: Q4.0.9\7f151891
-Node: Q4.0.10\7f153929
-Node: Q4.0.11\7f154383
-Node: Q4.0.12\7f155233
-Node: Q4.1.1\7f156206
-Node: Q4.1.2\7f156609
-Node: Q4.1.3\7f156936
-Node: Q4.2.1\7f157245
-Node: Q4.2.2\7f157875
-Node: Q4.2.3\7f158115
-Node: Q4.2.4\7f158659
-Node: Q4.3.1\7f159312
-Node: Q4.3.2\7f159896
-Node: Q4.3.3\7f161377
-Node: Q4.3.4\7f161649
-Node: Q4.3.5\7f162326
-Node: Q4.4.1\7f162954
-Node: Q4.4.2\7f164440
-Node: Q4.5.1\7f165644
-Node: Q4.6.1\7f166413
-Node: Q4.7.1\7f171673
-Node: Q4.7.2\7f172628
-Node: Q4.7.3\7f172925
-Node: Q4.7.4\7f173111
-Node: Q4.7.5\7f173995
-Node: Q4.7.6\7f175637
-Node: Miscellaneous\7f175926
-Node: Q5.0.1\7f179345
-Node: Q5.0.2\7f180079
-Node: Q5.0.3\7f180933
-Node: Q5.0.4\7f181635
-Node: Q5.0.5\7f182575
-Node: Q5.0.6\7f184555
-Node: Q5.0.7\7f185212
-Node: Q5.0.8\7f185817
-Node: Q5.0.9\7f186336
-Node: Q5.0.10\7f186850
-Node: Q5.0.11\7f187098
-Node: Q5.0.12\7f187636
-Node: Q5.0.13\7f188553
-Node: Q5.0.14\7f189237
-Node: Q5.0.15\7f190002
-Node: Q5.0.16\7f190299
-Node: Q5.0.17\7f190811
-Node: Q5.0.18\7f191076
-Node: Q5.0.19\7f191270
-Node: Q5.0.20\7f191695
-Node: Q5.1.1\7f192610
-Node: Q5.1.2\7f194679
-Node: Q5.1.3\7f195415
-Node: Q5.1.4\7f198809
-Node: Q5.1.5\7f199344
-Node: Q5.1.6\7f201438
-Node: Q5.1.7\7f202827
-Node: Q5.1.8\7f204428
-Node: Q5.1.9\7f204980
-Node: Q5.1.10\7f205865
-Node: Q5.1.11\7f206996
-Node: Q5.2.1\7f207545
-Node: Q5.2.2\7f208116
-Node: Q5.2.3\7f208533
-Node: Q5.2.4\7f208768
-Node: Q5.3.1\7f209678
-Node: Q5.3.2\7f210899
-Node: Q5.3.3\7f211675
-Node: Q5.3.4\7f212159
-Node: Q5.3.5\7f212826
-Node: Q5.3.6\7f213695
-Node: Q5.3.7\7f213940
-Node: Q5.3.8\7f216130
-Node: Q5.3.9\7f216377
-Node: Q5.3.10\7f217330
-Node: Q5.3.11\7f219414
-Node: Q5.3.12\7f220963
-Node: MS Windows\7f222237
-Node: Q6.0.1\7f223568
-Node: Q6.0.2\7f224315
-Node: Q6.0.3\7f224780
-Node: Q6.0.4\7f225060
-Node: Q6.1.1\7f227340
-Node: Q6.1.2\7f228211
-Node: Q6.1.3\7f228492
-Node: Q6.1.4\7f228774
-Node: Q6.1.5\7f229152
-Node: Q6.1.6\7f229983
-Node: Q6.2.1\7f230567
-Node: Q6.2.2\7f231468
-Node: Q6.2.3\7f231869
-Node: Q6.3.1\7f232158
-Node: Q6.3.2\7f233252
-Node: Q6.3.3\7f236430
-Node: Current Events\7f236684
-Node: Q7.0.1\7f237338
-Node: Q7.0.2\7f237977
-Node: Q7.0.3\7f239051
-Node: Q7.0.4\7f239279
+Node: Top\7f195
+Node: Introduction\7f16541
+Node: Q1.0.1\7f19944
+Node: Q1.0.2\7f20480
+Node: Q1.0.3\7f20975
+Node: Q1.0.4\7f21237
+Node: Q1.0.5\7f22687
+Node: Q1.0.6\7f23376
+Node: Q1.0.7\7f24382
+Node: Q1.0.8\7f24631
+Node: Q1.0.9\7f24846
+Node: Q1.0.10\7f25124
+Node: Q1.0.11\7f25367
+Node: Q1.0.12\7f25802
+Node: Q1.0.13\7f26170
+Node: Q1.0.14\7f26419
+Node: Q1.1.1\7f26893
+Node: Q1.1.2\7f27970
+Node: Q1.1.3\7f28363
+Node: Q1.2.1\7f29314
+Node: Q1.2.2\7f30370
+Node: Q1.2.3\7f30804
+Node: Q1.3.1\7f31888
+Node: Q1.3.2\7f35806
+Node: Q1.3.3\7f36361
+Node: Q1.3.4\7f36602
+Node: Q1.3.5\7f37366
+Node: Q1.3.6\7f39781
+Node: Q1.3.7\7f41276
+Node: Q1.4.1\7f42211
+Node: Q1.4.2\7f43073
+Node: Q1.4.3\7f43414
+Node: Q1.4.4\7f43833
+Node: Q1.4.5\7f45373
+Node: Q1.4.6\7f45677
+Node: Installation\7f46670
+Node: Q2.0.1\7f49033
+Node: Q2.0.2\7f49906
+Node: Q2.0.3\7f57109
+Node: Q2.0.4\7f58407
+Node: Q2.0.5\7f58999
+Node: Q2.0.6\7f59367
+Node: Q2.0.7\7f59748
+Node: Q2.0.8\7f60129
+Node: Q2.0.9\7f61707
+Node: Q2.0.10\7f63145
+Node: Q2.0.11\7f63989
+Node: Q2.0.12\7f64930
+Node: Q2.1.1\7f66452
+Node: Q2.1.2\7f69194
+Node: Q2.1.3\7f70371
+Node: Q2.1.4\7f71664
+Node: Q2.1.5\7f72463
+Node: Q2.1.6\7f72825
+Node: Q2.1.7\7f73302
+Node: Q2.1.8\7f73655
+Node: Q2.1.9\7f75171
+Node: Q2.1.10\7f75593
+Node: Q2.1.11\7f76350
+Node: Q2.1.12\7f77215
+Node: Q2.1.13\7f78170
+Node: Q2.1.14\7f79201
+Node: Q2.1.15\7f80312
+Node: Q2.1.16\7f87344
+Node: Q2.1.17\7f88038
+Node: Q2.1.18\7f88635
+Node: Q2.1.19\7f88762
+Node: Q2.1.20\7f89292
+Node: Q2.1.21\7f89674
+Node: Q2.1.22\7f89867
+Node: Q2.1.23\7f91164
+Node: Q2.1.24\7f91832
+Node: Customization\7f92362
+Node: Q3.0.1\7f97200
+Node: Q3.0.2\7f97906
+Node: Q3.0.3\7f98470
+Node: Q3.0.4\7f98887
+Node: Q3.0.5\7f99720
+Node: Q3.0.6\7f100501
+Node: Q3.0.7\7f101081
+Node: Q3.0.8\7f101745
+Node: Q3.0.9\7f102591
+Node: Q3.1.1\7f103152
+Node: Q3.1.2\7f103889
+Node: Q3.1.3\7f104320
+Node: Q3.1.4\7f104509
+Node: Q3.1.5\7f104698
+Node: Q3.1.6\7f105082
+Node: Q3.1.7\7f105763
+Node: Q3.1.8\7f107987
+Node: Q3.2.1\7f108529
+Node: Q3.2.2\7f109937
+Node: Q3.2.3\7f110736
+Node: Q3.2.4\7f111338
+Node: Q3.2.5\7f112372
+Node: Q3.2.6\7f112839
+Node: Q3.3.1\7f113801
+Node: Q3.3.2\7f114194
+Node: Q3.3.3\7f114825
+Node: Q3.3.4\7f115206
+Node: Q3.3.5\7f116300
+Node: Q3.4.1\7f117794
+Node: Q3.4.2\7f118437
+Node: Q3.5.1\7f118949
+Node: Q3.5.2\7f120403
+Node: Q3.5.3\7f120821
+Node: Q3.5.4\7f121661
+Node: Q3.5.5\7f122493
+Node: Q3.5.6\7f123633
+Node: Q3.5.7\7f124623
+Node: Q3.5.8\7f125975
+Node: Q3.5.9\7f126722
+Node: Q3.5.10\7f127502
+Node: Q3.5.11\7f128138
+Node: Q3.6.1\7f128691
+Node: Q3.6.2\7f129431
+Node: Q3.6.3\7f129859
+Node: Q3.7.1\7f130359
+Node: Q3.7.2\7f131247
+Node: Q3.7.3\7f131906
+Node: Q3.7.4\7f132328
+Node: Q3.7.5\7f132671
+Node: Q3.7.6\7f133139
+Node: Q3.7.7\7f133854
+Node: Q3.7.8\7f134874
+Node: Q3.8.1\7f135293
+Node: Q3.8.2\7f135753
+Node: Q3.8.3\7f136216
+Node: Q3.8.4\7f136822
+Node: Q3.8.5\7f137541
+Node: Q3.9.1\7f138326
+Node: Q3.9.2\7f139266
+Node: Q3.9.3\7f139864
+Node: Q3.9.4\7f140526
+Node: Q3.10.1\7f141405
+Node: Q3.10.2\7f142223
+Node: Q3.10.3\7f143228
+Node: Q3.10.4\7f143956
+Node: Q3.10.5\7f144339
+Node: Subsystems\7f145349
+Node: Q4.0.1\7f147836
+Node: Q4.0.2\7f148361
+Node: Q4.0.3\7f148919
+Node: Q4.0.4\7f149240
+Node: Q4.0.5\7f149482
+Node: Q4.0.6\7f149713
+Node: Q4.0.7\7f150294
+Node: Q4.0.8\7f150619
+Node: Q4.0.9\7f151846
+Node: Q4.0.10\7f153884
+Node: Q4.0.11\7f154338
+Node: Q4.0.12\7f155188
+Node: Q4.1.1\7f156161
+Node: Q4.1.2\7f156564
+Node: Q4.1.3\7f156891
+Node: Q4.2.1\7f157200
+Node: Q4.2.2\7f157830
+Node: Q4.2.3\7f158070
+Node: Q4.2.4\7f158614
+Node: Q4.3.1\7f159267
+Node: Q4.3.2\7f159851
+Node: Q4.3.3\7f161332
+Node: Q4.3.4\7f161604
+Node: Q4.3.5\7f162281
+Node: Q4.4.1\7f162909
+Node: Q4.4.2\7f164395
+Node: Q4.5.1\7f165599
+Node: Q4.6.1\7f166368
+Node: Q4.7.1\7f171628
+Node: Q4.7.2\7f172583
+Node: Q4.7.3\7f172880
+Node: Q4.7.4\7f173066
+Node: Q4.7.5\7f173950
+Node: Q4.7.6\7f175592
+Node: Miscellaneous\7f175881
+Node: Q5.0.1\7f179298
+Node: Q5.0.2\7f180032
+Node: Q5.0.3\7f180886
+Node: Q5.0.4\7f181588
+Node: Q5.0.5\7f182527
+Node: Q5.0.6\7f184507
+Node: Q5.0.7\7f185164
+Node: Q5.0.8\7f185769
+Node: Q5.0.9\7f186288
+Node: Q5.0.10\7f186802
+Node: Q5.0.11\7f187050
+Node: Q5.0.12\7f187588
+Node: Q5.0.13\7f188505
+Node: Q5.0.14\7f189189
+Node: Q5.0.15\7f189954
+Node: Q5.0.16\7f190251
+Node: Q5.0.17\7f190763
+Node: Q5.0.18\7f191028
+Node: Q5.0.19\7f191222
+Node: Q5.0.20\7f191646
+Node: Q5.1.1\7f192561
+Node: Q5.1.2\7f194630
+Node: Q5.1.3\7f195366
+Node: Q5.1.4\7f198760
+Node: Q5.1.5\7f199295
+Node: Q5.1.6\7f201389
+Node: Q5.1.7\7f202778
+Node: Q5.1.8\7f204379
+Node: Q5.1.9\7f204931
+Node: Q5.1.10\7f205816
+Node: Q5.1.11\7f206947
+Node: Q5.2.1\7f207496
+Node: Q5.2.2\7f208067
+Node: Q5.2.3\7f208484
+Node: Q5.2.4\7f208719
+Node: Q5.3.1\7f209629
+Node: Q5.3.2\7f210850
+Node: Q5.3.3\7f211626
+Node: Q5.3.4\7f212110
+Node: Q5.3.5\7f212777
+Node: Q5.3.6\7f213646
+Node: Q5.3.7\7f213891
+Node: Q5.3.8\7f216081
+Node: Q5.3.9\7f216328
+Node: Q5.3.10\7f217281
+Node: Q5.3.11\7f219365
+Node: Q5.3.12\7f220914
+Node: MS Windows\7f222188
+Node: Q6.0.1\7f223519
+Node: Q6.0.2\7f224266
+Node: Q6.0.3\7f224731
+Node: Q6.0.4\7f225011
+Node: Q6.1.1\7f227292
+Node: Q6.1.2\7f228163
+Node: Q6.1.3\7f228444
+Node: Q6.1.4\7f228726
+Node: Q6.1.5\7f229104
+Node: Q6.1.6\7f229936
+Node: Q6.2.1\7f230520
+Node: Q6.2.2\7f231421
+Node: Q6.2.3\7f231822
+Node: Q6.3.1\7f232111
+Node: Q6.3.2\7f233205
+Node: Q6.3.3\7f236386
+Node: Current Events\7f236640
+Node: Q7.0.1\7f237294
+Node: Q7.0.2\7f237933
+Node: Q7.0.3\7f239007
+Node: Q7.0.4\7f239235
\1f
End Tag Table
-This is Info file ../info/xemacs-faq.info, produced by Makeinfo version
-1.68 from the input file xemacs-faq.texi.
+This is ../info/xemacs-faq.info, produced by makeinfo version 4.0 from
+xemacs-faq.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
* Current Events:: What the Future Holds.
- -- The Detailed Node Listing --
+ --- The Detailed Node Listing ---
Introduction, Policy, Credits
* Q2.1.11:: Can't instantiate image error... in toolbar
* Q2.1.12:: Regular Expression Problems on DEC OSF1.
* Q2.1.13:: HP/UX 10.10 and `create_process' failure
-* Q2.1.14:: `C-g' doesn't work for me. Is it broken?
+* Q2.1.14:: C-g doesn't work for me. Is it broken?
* Q2.1.15:: How to debug an XEmacs problem with a debugger.
* Q2.1.16:: XEmacs crashes in `strcat' on HP/UX 10.
* Q2.1.17:: `Marker does not point anywhere'.
* Q3.5.1:: How can I bind complex functions (or macros) to keys?
* Q3.5.2:: How can I stop down-arrow from adding empty lines to the bottom of my buffers?
* Q3.5.3:: How do I bind C-. and C-; to scroll one line up and down?
-* Q3.5.4:: Globally binding `Delete'?
+* Q3.5.4:: Globally binding Delete?
* Q3.5.5:: Scrolling one line at a time.
-* Q3.5.6:: How to map `Help' key alone on Sun type4 keyboard?
+* Q3.5.6:: How to map Help key alone on Sun type4 keyboard?
* Q3.5.7:: How can you type in special characters in XEmacs?
* Q3.5.8:: Why does `(global-set-key [delete-forward] 'delete-char)' complain?
* Q3.5.9:: How do I make the Delete key delete forward?
* Q3.7.5:: Why does cut-and-paste not work between XEmacs and a cmdtool?
* Q3.7.6:: How I can set XEmacs up so that it pastes where the text cursor is?
* Q3.7.7:: How do I select a rectangular region?
-* Q3.7.8:: Why does `M-w' take so long?
+* Q3.7.8:: Why does M-w take so long?
The Menubar and Toolbar:
* Q3.8.1:: How do I get rid of the menu (or menubar)?
* Q3.10.1:: How can I turn off or change highlighted selections?
* Q3.10.2:: How do I get that typing on an active region removes it?
* Q3.10.3:: Can I turn off the highlight during isearch?
-* Q3.10.4:: How do I turn off highlighting after `C-x C-p' (mark-page)?
+* Q3.10.4:: How do I turn off highlighting after C-x C-p (mark-page)?
* Q3.10.5:: The region disappears when I hit the end of buffer while scrolling.
Major Subsystems
* Q5.3.1:: How do you make XEmacs indent CL if-clauses correctly?
* Q5.3.2:: Fontifying hangs when editing a postscript file.
* Q5.3.3:: How can I print WYSIWYG a font-locked buffer?
-* Q5.3.4:: Getting `M-x lpr' to work with postscript printer.
+* Q5.3.4:: Getting M-x lpr to work with postscript printer.
* Q5.3.5:: How do I specify the paths that XEmacs uses for finding files?
* Q5.3.6:: [This question intentionally left blank]
* Q5.3.7:: Can I have the end of the buffer delimited in some way?
wondering what to do next. It is also useful as a reference to
available resources.
- The previous maintainer of the FAQ was
-Anthony Rossini <rossini@biostat.washington.edu>, who started it, after
-getting tired of hearing JWZ complain about repeatedly having to answer
-questions. Ben Wing <ben@xemacs.org> and Chuck Thompson <cthomp@xemacs.org>, the principal authors of XEmacs, then took over and Ben did
-a massive update reorganizing the whole thing. At which point Anthony
-took back over, but then had to give it up again. Some of the other
-contributors to this FAQ are listed later in this document.
+ The previous maintainer of the FAQ was Anthony Rossini
+<rossini@biostat.washington.edu>, who started it, after getting tired
+of hearing JWZ complain about repeatedly having to answer questions.
+Ben Wing <ben@xemacs.org> and Chuck Thompson <cthomp@xemacs.org>, the
+principal authors of XEmacs, then took over and Ben did a massive
+update reorganizing the whole thing. At which point Anthony took back
+over, but then had to give it up again. Some of the other contributors
+to this FAQ are listed later in this document.
The previous version was converted to hypertext format, and edited by
Steven L. Baur <steve@xemacs.org>. It was converted back to texinfo by
Hrvoje Niksic <hniksic@xemacs.org>. The FAQ was then maintained by
-Andreas Kaempf <andreas@sccon.com>, who passed it on to ChristianNybo/.
+Andreas Kaempf <andreas@sccon.com>, who passed it on to ChristianNyb/o.
If you notice any errors or items which should be added or amended to
this FAQ please send email to Sandra Wambold <faq@xemacs.org>. Include
Yes, there is a port of XEmacs 19.14, tested on MacOS 7.6.1 and MacOS
8.5.1 by Pitts Jarvis (pjarvis@ispchannel.com). It's available at
-http://my.ispchannel.com/~pjarvis/xemacs.html (http://my.ispchannel.com/~pjarvis/xemacs.html).
+http://my.ispchannel.com/~pjarvis/xemacs.html
+(http://my.ispchannel.com/~pjarvis/xemacs.html).
\1f
File: xemacs-faq.info, Node: Q1.0.12, Next: Q1.0.13, Prev: Q1.0.11, Up: Introduction
The FAQ is actively maintained and modified regularly. All links
should be up to date. Unfortunately, some of the information is out of
date - a situation which the FAQ maintainer is working on. All
-submissions are welcome, please e-mail submissions to XEmacs FAQ maintainers <faq@xemacs.org>.
+submissions are welcome, please e-mail submissions to XEmacs FAQ
+maintainers <faq@xemacs.org>.
Please make sure that `XEmacs FAQ' appears on the Subject: line. If
you think you have a better way of answering a question, or think a
* Hrvoje Niksic <hniksic@xemacs.org>
+
The developers responsible for the 19.14 release are:
* Chuck Thompson <cthomp@xemacs.org>
* Ben Wing <ben@xemacs.org>
+
* Jamie Zawinski <jwz@jwz.org>
Jamie Zawinski was Mr. Lucid Emacs from 19.0 through 19.10, the
* Aki Vehtari <Aki.Vehtari@hut.fi>
+
\1f
File: xemacs-faq.info, Node: Q1.2.3, Next: Q1.3.1, Prev: Q1.2.2, Up: Introduction
approximately as stable as 19.16, and probably faster (due to
additional optimization work.)
- As of XEmacs 20.3, version 20 is *the* supported version of XEmacs.
+ As of XEmacs 20.3, version 20 is _the_ supported version of XEmacs.
This means that 19.16 will optionally receive stability fixes (if any),
but that all the real development work will be done on the v20 tree.
characters. If XEmacs was not compiled with MULE support, the
range of this integer will always be 0 to 255 - eight bits, or one
byte. (Integers outside this range are accepted but silently
- truncated; however, you should most decidedly *not* rely on this,
+ truncated; however, you should most decidedly _not_ rely on this,
because it will not work under XEmacs with MULE support.) When
MULE support is present, the range of character codes is much
larger. (Currently, 19 bits are used.)
XEmacs.
Individual characters are not often used in programs. It is far
- more common to work with *strings*, which are sequences composed of
+ more common to work with _strings_, which are sequences composed of
characters.
\1f
Q1.3.3: How do I type non-ASCII characters?
-------------------------------------------
- See question 3.5.7 (*note Q3.5.7::.) in part 3 of this FAQ.
+ See question 3.5.7 (*note Q3.5.7::) in part 3 of this FAQ.
\1f
File: xemacs-faq.info, Node: Q1.3.4, Next: Q1.3.5, Prev: Q1.3.3, Up: Introduction
-------------------------------------------------------------
The message-catalog support has mostly been written but doesn't
-currently work. The first release of XEmacs 20 will *not* support it.
-However, menubar localization *does* work, even in 19.14. To enable
+currently work. The first release of XEmacs 20 will _not_ support it.
+However, menubar localization _does_ work, even in 19.14. To enable
it, add to your `Emacs' file entries like this:
Emacs*XlwMenu.resourceLabels: True
* Q2.1.11:: Can't instantiate image error... in toolbar
* Q2.1.12:: Regular Expression Problems on DEC OSF1.
* Q2.1.13:: HP/UX 10.10 and `create_process' failure
-* Q2.1.14:: `C-g' doesn't work for me. Is it broken?
+* Q2.1.14:: C-g doesn't work for me. Is it broken?
* Q2.1.15:: How to debug an XEmacs problem with a debugger.
* Q2.1.16:: XEmacs crashes in `strcat' on HP/UX 10.
* Q2.1.17:: `Marker does not point anywhere'.
-This is Info file ../info/xemacs-faq.info, produced by Makeinfo version
-1.68 from the input file xemacs-faq.texi.
+This is ../info/xemacs-faq.info, produced by makeinfo version 4.0 from
+xemacs-faq.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
These are all Emacs Lisp source code and bytecompiled object code.
You may safely gzip everything named *.el here. You may remove
- any package you don't use. *Nothing bad will happen if you delete
- a package that you do not use*. You must be sure you do not use
+ any package you don't use. _Nothing bad will happen if you delete
+ a package that you do not use_. You must be sure you do not use
it though, so be conservative at first.
Possible candidates for deletion include w3 (newer versions exist,
or you may just use Lynx or Netscape for web browsing), games,
hyperbole, mh-e, hm-html-menus (better packages exist), vm, viper,
- oobr, gnus (new versions exist), etc. Ask yourself, *Do I ever
- want to use this package?* If the answer is no, then it is a
+ oobr, gnus (new versions exist), etc. Ask yourself, _Do I ever
+ want to use this package?_ If the answer is no, then it is a
candidate for removal.
First, gzip all the .el files. Then go about package by package
perl -pi -e 's/_h_errno\0/h_errno\0\0/g' \
/usr/local/bin/xemacs-19.14
- NB: You *must* patch `/usr/local/bin/xemacs-19.14', and not
+ NB: You _must_ patch `/usr/local/bin/xemacs-19.14', and not
`xemacs' because `xemacs' is a link to `xemacs-19.14'; the Perl
`-i' option will cause unwanted side-effects if applied to a
symbolic link.
Compface
`ftp://ftp.cs.indiana.edu/pub/faces/compface/'. This library has
been frozen for about 6 years, and is distributed without version
- numbers. *It should be compiled with the same options that X11 was
- compiled with on your system*. The version of this library at
+ numbers. _It should be compiled with the same options that X11 was
+ compiled with on your system_. The version of this library at
XEmacs.org includes the `xbm2xface.pl' script, written by
<stig@hackvan.com>, which may be useful when generating your own
xface.
Morten Welinder <terra@diku.dk> writes:
- On some (but *not* all) machines a hung XEmacs can be revived by
+ On some (but _not_ all) machines a hung XEmacs can be revived by
`kill -FPE <pid>'. This is a hack, of course, not a solution.
This technique works on a Sun4 running 4.1.3_U1. To see if it
works for you, start another XEmacs and test with that first. If
`src/gdbinit'. This had the disadvantage of not being sourced
automatically by gdb, so you had to set that up yourself.
+
\1f
File: xemacs-faq.info, Node: Q2.1.16, Next: Q2.1.17, Prev: Q2.1.15, Up: Installation
* Menu:
-Customization--Emacs Lisp and `.emacs':
+Customization---Emacs Lisp and `.emacs':
* Q3.0.1:: What version of Emacs am I running?
* Q3.0.2:: How do I evaluate Elisp expressions?
* Q3.0.3:: `(setq tab-width 6)' behaves oddly.
* Q3.5.1:: How can I bind complex functions (or macros) to keys?
* Q3.5.2:: How can I stop down-arrow from adding empty lines to the bottom of my buffers?
* Q3.5.3:: How do I bind C-. and C-; to scroll one line up and down?
-* Q3.5.4:: Globally binding `Delete'?
+* Q3.5.4:: Globally binding Delete?
* Q3.5.5:: Scrolling one line at a time.
-* Q3.5.6:: How to map `Help' key alone on Sun type4 keyboard?
+* Q3.5.6:: How to map Help key alone on Sun type4 keyboard?
* Q3.5.7:: How can you type in special characters in XEmacs?
* Q3.5.8:: Why does `(global-set-key [delete-forward] 'delete-char)' complain?
* Q3.5.9:: How do I make the Delete key delete forward?
* Q3.7.5:: Why does cut-and-paste not work between XEmacs and a cmdtool?
* Q3.7.6:: How I can set XEmacs up so that it pastes where the text cursor is?
* Q3.7.7:: How do I select a rectangular region?
-* Q3.7.8:: Why does `M-w' take so long?
+* Q3.7.8:: Why does M-w take so long?
The Menubar and Toolbar:
* Q3.8.1:: How do I get rid of the menu (or menubar)?
* Q3.10.1:: How can I turn off or change highlighted selections?
* Q3.10.2:: How do I get that typing on an active region removes it?
* Q3.10.3:: Can I turn off the highlight during isearch?
-* Q3.10.4:: How do I turn off highlighting after `C-x C-p' (mark-page)?
+* Q3.10.4:: How do I turn off highlighting after C-x C-p (mark-page)?
* Q3.10.5:: The region disappears when I hit the end of buffer while scrolling.
\1f
-This is Info file ../info/xemacs-faq.info, produced by Makeinfo version
-1.68 from the input file xemacs-faq.texi.
+This is ../info/xemacs-faq.info, produced by makeinfo version 4.0 from
+xemacs-faq.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
You have to go to Options->Frame Appearance and unselect
`Frame-Local Font Menu'. If this option is selected, font changes
- are only applied to the *current* frame and do *not* get saved
+ are only applied to the _current_ frame and do _not_ get saved
when you save options.
For XEmacs 19.15 and later:
This is fine if you only need a few functions within the lambda body.
If you're doing more it's cleaner to define a separate function as in
-question 3.5.3 (*note Q3.5.3::.).
+question 3.5.3 (*note Q3.5.3::).
\1f
File: xemacs-faq.info, Node: Q3.5.2, Next: Q3.5.3, Prev: Q3.5.1, Up: Customization
The key point is that you can only bind simple functions to keys; you
can not bind a key to a function that you're also passing arguments to.
-(*note Q3.5.1::. for a better answer).
+(*note Q3.5.1:: for a better answer).
\1f
File: xemacs-faq.info, Node: Q3.5.4, Next: Q3.5.5, Prev: Q3.5.3, Up: Customization
(global-set-key [(shift help)] 'help-command);; Help
But it doesn't work alone. This is in the file `PROBLEMS' which
-should have come with your XEmacs installation: *Emacs ignores the
-`help' key when running OLWM*.
+should have come with your XEmacs installation: _Emacs ignores the
+`help' key when running OLWM_.
OLWM grabs the `help' key, and retransmits it to the appropriate
client using `XSendEvent'. Allowing Emacs to react to synthetic events
-This is Info file ../info/xemacs-faq.info, produced by Makeinfo version
-1.68 from the input file xemacs-faq.texi.
+This is ../info/xemacs-faq.info, produced by makeinfo version 4.0 from
+xemacs-faq.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
directory of the lisp library.
`vm-vars.el' contains, initializes and carefully describes, with
- examples of usage, the plethora of user options that *fully*
+ examples of usage, the plethora of user options that _fully_
control VM's behavior.
Enter vm-vars, `forward-search' for toolbar, find the variables
--------------------------------------------------------------------------------
The Gnus numbering issues are not meant for mere mortals to know
-them. If you feel you *must* enter the muddy waters of Gnus, visit the
+them. If you feel you _must_ enter the muddy waters of Gnus, visit the
excellent FAQ, maintained by Justin Sheehy, at:
`http://www.ccs.neu.edu/software/contrib/gnus/'
Q4.7.5: Is there a MatLab mode?
-------------------------------
- Yes, a matlab mode and other items are available at the
-MathWorks' emacs_add_ons ftp directory (ftp://ftp.mathworks.com/pub/contrib/emacs_add_ons).
+ Yes, a matlab mode and other items are available at the MathWorks'
+emacs_add_ons ftp directory
+(ftp://ftp.mathworks.com/pub/contrib/emacs_add_ons).
\1f
File: xemacs-faq.info, Node: Miscellaneous, Next: MS Windows, Prev: Subsystems, Up: Top
* Q5.3.1:: How do you make XEmacs indent CL if-clauses correctly?
* Q5.3.2:: Fontifying hangs when editing a postscript file.
* Q5.3.3:: How can I print WYSIWYG a font-locked buffer?
-* Q5.3.4:: Getting `M-x lpr' to work with postscript printer.
+* Q5.3.4:: Getting M-x lpr to work with postscript printer.
* Q5.3.5:: How do I specify the paths that XEmacs uses for finding files?
* Q5.3.6:: [This question intentionally left blank]
* Q5.3.7:: Can I have the end of the buffer delimited in some way?
You can customize filling and adaptive filling with Customize.
Select from the `Options' menu
-`Customize->Emacs->->Editing->Fill->Fill...' or type `M-x customize
+`Customize->Emacs->->Editing->Fill->Fill...' or type `M-x customize
<RET> fill <RET>'.
Note that well-behaving text-lookalike modes will run
The standard TeX modes leave much to be desired, and are somewhat
leniently maintained. Serious TeX users use AUC TeX (*note
- Q4.7.1::.).
+ Q4.7.1::).
\1f
File: xemacs-faq.info, Node: Q5.0.20, Next: Q5.1.1, Prev: Q5.0.19, Up: Miscellaneous
-This is Info file ../info/xemacs-faq.info, produced by Makeinfo version
-1.68 from the input file xemacs-faq.texi.
+This is ../info/xemacs-faq.info, produced by makeinfo version 4.0 from
+xemacs-faq.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
using the more readable `incf' and `push' forms in your compiled
code.
- *Interpreted* code, on the other hand, must expand these macros
+ _Interpreted_ code, on the other hand, must expand these macros
every time they are executed. For this reason it is strongly
recommended that code making heavy use of macros be compiled. (The
features labelled "Special Form" instead of "Function" in this
1. Emacs Info scans `Info-directory-list' from right-to-left
while XEmacs Info reads it from left-to-right, so append to
- the *correct* end of the list.
+ the _correct_ end of the list.
2. Use `Info-default-directory-list' to initialize
- `Info-directory-list' *if* it is available at startup, but not
+ `Info-directory-list' _if_ it is available at startup, but not
all Emacsen define it.
3. Emacs Info looks for a standard `dir' file in each of the
* has process support in X & tty.
+
The disadvantage is that it requires several Unix utilities and the
whole Cygwin environment, whereas the native port requires only a
suitable MS Windows compiler. Also, it follows the Unix filesystem and
so you will need to manually mount a directory of this form under
a unix style directory for a build to work on the directory.
+
\1f
File: xemacs-faq.info, Node: Q6.1.6, Next: Q6.2.1, Prev: Q6.1.5, Up: MS Windows
information can be found at
`http://www.cs.washington.edu/homes/voelker/ntemacs.html'.
+
* XEmacs
- Beginning with XEmacs 19.12, XEmacs' architecture has been
unexec, Windows-specific glyphs and toolbars code, and more),
Jeff Sparkes (contributed scrollbars support) and many others.
+
+
\1f
File: xemacs-faq.info, Node: Q6.3.3, Prev: Q6.3.2, Up: MS Windows
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
\1f
Indirect:
-xemacs.info-1: 1376
-xemacs.info-2: 47959
-xemacs.info-3: 95919
-xemacs.info-4: 144458
-xemacs.info-5: 189739
-xemacs.info-6: 237817
-xemacs.info-7: 286851
-xemacs.info-8: 336203
-xemacs.info-9: 383958
-xemacs.info-10: 433277
-xemacs.info-11: 483121
-xemacs.info-12: 532985
-xemacs.info-13: 582101
-xemacs.info-14: 631467
-xemacs.info-15: 681294
-xemacs.info-16: 729790
-xemacs.info-17: 778447
-xemacs.info-18: 828082
-xemacs.info-19: 872453
-xemacs.info-20: 921124
-xemacs.info-21: 963031
+xemacs.info-1: 1350
+xemacs.info-2: 47935
+xemacs.info-3: 95892
+xemacs.info-4: 144418
+xemacs.info-5: 189682
+xemacs.info-6: 237752
+xemacs.info-7: 286779
+xemacs.info-8: 336120
+xemacs.info-9: 383861
+xemacs.info-10: 433167
+xemacs.info-11: 483000
+xemacs.info-12: 532860
+xemacs.info-13: 581970
+xemacs.info-14: 631330
+xemacs.info-15: 681149
+xemacs.info-16: 729643
+xemacs.info-17: 778293
+xemacs.info-18: 827922
+xemacs.info-19: 872280
+xemacs.info-20: 920951
+xemacs.info-21: 962858
\1f
Tag Table:
(Indirect)
-Node: Top\7f1376
-Node: License\7f22525
-Node: Distrib\7f35807
-Node: Intro\7f37471
-Node: Frame\7f40342
-Node: Point\7f43614
-Node: Echo Area\7f45581
-Node: Mode Line\7f47959
-Node: XEmacs under X\7f52390
-Node: Keystrokes\7f55568
-Node: Intro to Keystrokes\7f56412
-Node: Representing Keystrokes\7f58515
-Node: Key Sequences\7f59872
-Node: String Key Sequences\7f63212
-Node: Meta Key\7f63595
-Node: Super and Hyper Keys\7f65068
-Node: Character Representation\7f71292
-Node: Commands\7f72312
-Node: Pull-down Menus\7f75161
-Node: File Menu\7f78510
-Node: Edit Menu\7f82332
-Node: Apps Menu\7f84717
-Node: Options Menu\7f85207
-Node: Buffers Menu\7f89187
-Node: Tools Menu\7f89494
-Node: Help Menu\7f89985
-Node: Menu Customization\7f90386
-Node: Entering Emacs\7f94616
-Node: Exiting\7f95919
-Node: Command Switches\7f99011
-Node: Startup Paths\7f108200
-Node: Basic\7f115781
-Node: Blank Lines\7f125264
-Node: Continuation Lines\7f126690
-Node: Position Info\7f128124
-Node: Arguments\7f131258
-Node: Undo\7f134395
-Node: Minibuffer\7f137342
-Node: Minibuffer File\7f139952
-Node: Minibuffer Edit\7f141758
-Node: Completion\7f144458
-Node: Completion Example\7f146389
-Node: Completion Commands\7f147483
-Node: Strict Completion\7f150139
-Node: Completion Options\7f151921
-Node: Minibuffer History\7f153215
-Node: Repetition\7f156400
-Node: M-x\7f159233
-Node: Help\7f164327
-Node: Mark\7f174249
-Node: Setting Mark\7f176103
-Node: Using Region\7f179225
-Node: Marking Objects\7f179970
-Node: Mark Ring\7f181811
-Node: Mouse Selection\7f183527
-Node: Additional Mouse Operations\7f185535
-Node: Killing\7f189739
-Node: Yanking\7f195379
-Node: Kill Ring\7f196182
-Node: Appending Kills\7f197784
-Node: Earlier Kills\7f199821
-Node: Using X Selections\7f202434
-Node: X Clipboard Selection\7f203684
-Node: X Selection Commands\7f205861
-Node: X Cut Buffers\7f206947
-Node: Active Regions\7f208306
-Node: Accumulating Text\7f212886
-Node: Rectangles\7f215959
-Node: Registers\7f219478
-Node: RegPos\7f220933
-Node: RegText\7f222089
-Node: RegRect\7f223195
-Node: RegConfig\7f224074
-Node: RegNumbers\7f225014
-Node: RegFiles\7f225733
-Node: Bookmarks\7f226391
-Node: Display\7f229764
-Node: Scrolling\7f231259
-Node: Horizontal Scrolling\7f235402
-Node: Selective Display\7f236598
-Node: Display Vars\7f237817
-Node: Search\7f240495
-Node: Incremental Search\7f241688
-Node: Non-Incremental Search\7f250615
-Node: Word Search\7f252057
-Node: Regexp Search\7f253675
-Node: Regexps\7f255211
-Node: Search Case\7f265512
-Node: Replace\7f266293
-Node: Unconditional Replace\7f267241
-Node: Regexp Replace\7f268377
-Node: Replacement and Case\7f269312
-Node: Query Replace\7f270292
-Node: Other Repeating Search\7f273525
-Node: Fixit\7f274780
-Node: Kill Errors\7f275360
-Node: Transpose\7f276693
-Node: Fixing Case\7f279098
-Node: Spelling\7f279744
-Node: Files\7f281205
-Node: File Names\7f282513
-Node: Visiting\7f286851
-Node: Saving\7f293541
-Node: Backup\7f298464
-Node: Backup Names\7f299860
-Node: Backup Deletion\7f301343
-Node: Backup Copying\7f302502
-Node: Interlocking\7f304209
-Node: Reverting\7f308337
-Node: Auto Save\7f310250
-Node: Auto Save Files\7f311217
-Node: Auto Save Control\7f313058
-Node: Recover\7f314897
-Node: Version Control\7f316052
-Node: Concepts of VC\7f318090
-Node: Editing with VC\7f319700
-Node: Variables for Check-in/out\7f324956
-Node: Log Entries\7f326855
-Node: Change Logs and VC\7f328035
-Node: Old Versions\7f331303
-Node: VC Status\7f333307
-Node: Renaming and VC\7f335021
-Node: Snapshots\7f335702
-Node: Making Snapshots\7f336203
-Node: Snapshot Caveats\7f337497
-Node: Version Headers\7f339306
-Node: ListDir\7f342005
-Node: Comparing Files\7f344054
-Node: Dired\7f345587
-Node: Dired Enter\7f346258
-Node: Dired Edit\7f347083
-Node: Dired Deletion\7f348830
-Node: Dired Immed\7f352055
-Node: Misc File Ops\7f353331
-Node: Buffers\7f355820
-Node: Select Buffer\7f357980
-Node: List Buffers\7f359777
-Node: Misc Buffer\7f361523
-Node: Kill Buffer\7f363167
-Node: Several Buffers\7f364297
-Node: Windows\7f368163
-Node: Basic Window\7f368874
-Node: Split Window\7f370593
-Node: Other Window\7f372726
-Node: Pop Up Window\7f375156
-Node: Change Window\7f376663
-Node: Mule\7f379571
-Node: Mule Intro\7f380834
-Node: Language Environments\7f381850
-Node: Input Methods\7f383958
-Node: Select Input Method\7f387678
-Node: Coding Systems\7f389833
-Node: Recognize Coding\7f394021
-Node: Specify Coding\7f397350
-Node: Major Modes\7f402281
-Node: Choosing Modes\7f404503
-Node: Indentation\7f406893
-Node: Indentation Commands\7f408988
-Node: Tab Stops\7f411717
-Node: Just Spaces\7f413566
-Node: Text\7f414381
-Node: Text Mode\7f416364
-Node: Nroff Mode\7f418445
-Node: TeX Mode\7f420089
-Node: TeX Editing\7f422341
-Node: TeX Print\7f425776
-Node: Outline Mode\7f428996
-Node: Outline Format\7f430477
-Node: Outline Motion\7f433277
-Node: Outline Visibility\7f434830
-Node: Words\7f437751
-Node: Sentences\7f440698
-Node: Paragraphs\7f442894
-Node: Pages\7f445182
-Node: Filling\7f447782
-Node: Auto Fill\7f448353
-Node: Fill Commands\7f450501
-Node: Fill Prefix\7f452667
-Node: Case\7f454855
-Node: Programs\7f456883
-Node: Program Modes\7f459441
-Node: Lists\7f461673
-Node: Defuns\7f467513
-Node: Grinding\7f470166
-Node: Basic Indent\7f470794
-Node: Multi-line Indent\7f472815
-Node: Lisp Indent\7f474431
-Node: C Indent\7f477881
-Node: Matching\7f483121
-Node: Comments\7f484643
-Node: Balanced Editing\7f491095
-Node: Lisp Completion\7f492109
-Node: Documentation\7f493124
-Node: Change Log\7f494363
-Node: Tags\7f496941
-Node: Tag Syntax\7f498590
-Node: Create Tags Table\7f502535
-Node: Etags Regexps\7f506596
-Node: Select Tags Table\7f511254
-Node: Find Tag\7f514992
-Node: Tags Search\7f517956
-Node: List Tags\7f521413
-Node: Fortran\7f522442
-Node: Fortran Motion\7f523518
-Node: Fortran Indent\7f524338
-Node: ForIndent Commands\7f525023
-Node: ForIndent Num\7f526168
-Node: ForIndent Conv\7f527442
-Node: ForIndent Vars\7f528218
-Node: Fortran Comments\7f529386
-Node: Fortran Columns\7f532985
-Node: Fortran Abbrev\7f534408
-Node: Asm Mode\7f535318
-Node: Running\7f535870
-Node: Compilation\7f536840
-Node: Lisp Modes\7f541691
-Node: Lisp Libraries\7f542965
-Node: Loading\7f543520
-Node: Compiling Libraries\7f547980
-Node: Mocklisp\7f550871
-Node: Lisp Eval\7f551548
-Node: Lisp Debug\7f555188
-Node: Lisp Interaction\7f560614
-Node: External Lisp\7f561969
-Node: Packages\7f564044
-Node: Package Terminology\7f564785
-Node: Using Packages\7f566143
-Node: Building Packages\7f574932
-Node: Abbrevs\7f577454
-Node: Defining Abbrevs\7f579654
-Node: Expanding Abbrevs\7f582101
-Node: Editing Abbrevs\7f584803
-Node: Saving Abbrevs\7f586671
-Node: Dynamic Abbrevs\7f588611
-Node: Picture\7f589913
-Node: Basic Picture\7f592346
-Node: Insert in Picture\7f594633
-Node: Tabs in Picture\7f596055
-Node: Rectangles in Picture\7f597576
-Node: Sending Mail\7f599485
-Node: Mail Format\7f601196
-Node: Mail Headers\7f602546
-Node: Mail Mode\7f608956
-Node: Reading Mail\7f612569
-Node: Calendar/Diary\7f614144
-Node: Calendar Motion\7f615816
-Node: Calendar Unit Motion\7f616699
-Node: Move to Beginning or End\7f619022
-Node: Specified Dates\7f620155
-Node: Scroll Calendar\7f621044
-Node: Mark and Region\7f622835
-Node: General Calendar\7f624742
-Node: LaTeX Calendar\7f626350
-Node: Holidays\7f628364
-Node: Sunrise/Sunset\7f631467
-Node: Lunar Phases\7f634510
-Node: Other Calendars\7f635895
-Node: Calendar Systems\7f637382
-Node: To Other Calendar\7f640493
-Node: From Other Calendar\7f642484
-Node: Mayan Calendar\7f644790
-Node: Diary\7f647986
-Node: Diary Commands\7f649736
-Node: Format of Diary File\7f653045
-Node: Date Formats\7f655915
-Node: Adding to Diary\7f658489
-Node: Special Diary Entries\7f660120
-Node: Calendar Customization\7f665460
-Node: Calendar Customizing\7f666322
-Node: Holiday Customizing\7f669542
-Node: Date Display Format\7f676010
-Node: Time Display Format\7f676968
-Node: Daylight Savings\7f678106
-Node: Diary Customizing\7f681294
-Node: Hebrew/Islamic Entries\7f685916
-Node: Fancy Diary Display\7f689256
-Node: Included Diary Files\7f691153
-Node: Sexp Diary Entries\7f692134
-Node: Appt Customizing\7f697224
-Node: Sorting\7f698270
-Node: Shell\7f703076
-Node: Single Shell\7f704369
-Node: Interactive Shell\7f705968
-Node: Shell Mode\7f709733
-Node: Terminal emulator\7f712224
-Node: Term Mode\7f714534
-Node: Paging in Term\7f715448
-Node: Narrowing\7f716246
-Node: Hardcopy\7f718196
-Node: Recursive Edit\7f719168
-Node: Dissociated Press\7f722155
-Node: CONX\7f724718
-Node: Amusements\7f725742
-Node: Emulation\7f726222
-Node: Customization\7f728066
-Node: Minor Modes\7f729790
-Node: Variables\7f731422
-Node: Examining\7f733380
-Node: Easy Customization\7f734841
-Node: Customization Groups\7f735855
-Node: Changing an Option\7f738784
-Node: Face Customization\7f745040
-Node: Specific Customization\7f746805
-Node: Edit Options\7f749412
-Node: Locals\7f750996
-Node: File Variables\7f754175
-Node: Keyboard Macros\7f758702
-Node: Basic Kbd Macro\7f760873
-Node: Save Kbd Macro\7f762805
-Node: Kbd Macro Query\7f764477
-Node: Key Bindings\7f766419
-Node: Keymaps\7f767293
-Node: Rebinding\7f771143
-Node: Interactive Rebinding\7f771842
-Node: Programmatic Rebinding\7f774034
-Node: Key Bindings Using Strings\7f776841
-Node: Disabling\7f778447
-Node: Syntax\7f780219
-Node: Syntax Entry\7f781100
-Node: Syntax Change\7f785184
-Node: Init File\7f787354
-Node: Init Syntax\7f788862
-Node: Init Examples\7f791215
-Node: Terminal Init\7f795406
-Node: Audible Bell\7f797116
-Node: Faces\7f800547
-Node: X Resources\7f805384
-Node: Geometry Resources\7f807005
-Node: Iconic Resources\7f809453
-Node: Resource List\7f809925
-Node: Face Resources\7f816432
-Node: Widgets\7f820109
-Node: Menubar Resources\7f821048
-Node: Quitting\7f821981
-Node: Lossage\7f824960
-Node: Stuck Recursive\7f825603
-Node: Screen Garbled\7f826309
-Node: Text Garbled\7f827443
-Node: Unasked-for Search\7f828082
-Node: Emergency Escape\7f828867
-Node: Total Frustration\7f830646
-Node: Bugs\7f831277
-Node: Glossary\7f840812
-Node: Manifesto\7f872453
-Node: Key Index\7f895929
-Node: Command Index\7f921124
-Node: Variable Index\7f963031
-Node: Concept Index\7f979168
+Node: Top\7f1350
+Node: License\7f22506
+Node: Distrib\7f35788
+Node: Intro\7f37452
+Node: Frame\7f40323
+Node: Point\7f43591
+Node: Echo Area\7f45558
+Node: Mode Line\7f47935
+Node: XEmacs under X\7f52366
+Node: Keystrokes\7f55543
+Node: Intro to Keystrokes\7f56387
+Node: Representing Keystrokes\7f58490
+Node: Key Sequences\7f59847
+Node: String Key Sequences\7f63187
+Node: Meta Key\7f63570
+Node: Super and Hyper Keys\7f65043
+Node: Character Representation\7f71267
+Node: Commands\7f72287
+Node: Pull-down Menus\7f75136
+Node: File Menu\7f78485
+Node: Edit Menu\7f82307
+Node: Apps Menu\7f84690
+Node: Options Menu\7f85180
+Node: Buffers Menu\7f89160
+Node: Tools Menu\7f89467
+Node: Help Menu\7f89958
+Node: Menu Customization\7f90359
+Node: Entering Emacs\7f94589
+Node: Exiting\7f95892
+Node: Command Switches\7f98983
+Node: Startup Paths\7f108170
+Node: Basic\7f115750
+Node: Blank Lines\7f125228
+Node: Continuation Lines\7f126654
+Node: Position Info\7f128086
+Node: Arguments\7f131219
+Node: Undo\7f134356
+Node: Minibuffer\7f137303
+Node: Minibuffer File\7f139913
+Node: Minibuffer Edit\7f141718
+Node: Completion\7f144418
+Node: Completion Example\7f146349
+Node: Completion Commands\7f147443
+Node: Strict Completion\7f150099
+Node: Completion Options\7f151880
+Node: Minibuffer History\7f153174
+Node: Repetition\7f156358
+Node: M-x\7f159191
+Node: Help\7f164285
+Node: Mark\7f174204
+Node: Setting Mark\7f176058
+Node: Using Region\7f179180
+Node: Marking Objects\7f179917
+Node: Mark Ring\7f181755
+Node: Mouse Selection\7f183471
+Node: Additional Mouse Operations\7f185478
+Node: Killing\7f189682
+Node: Yanking\7f195318
+Node: Kill Ring\7f196121
+Node: Appending Kills\7f197723
+Node: Earlier Kills\7f199760
+Node: Using X Selections\7f202373
+Node: X Clipboard Selection\7f203623
+Node: X Selection Commands\7f205800
+Node: X Cut Buffers\7f206886
+Node: Active Regions\7f208245
+Node: Accumulating Text\7f212825
+Node: Rectangles\7f215898
+Node: Registers\7f219417
+Node: RegPos\7f220871
+Node: RegText\7f222027
+Node: RegRect\7f223133
+Node: RegConfig\7f224012
+Node: RegNumbers\7f224952
+Node: RegFiles\7f225670
+Node: Bookmarks\7f226328
+Node: Display\7f229700
+Node: Scrolling\7f231195
+Node: Horizontal Scrolling\7f235338
+Node: Selective Display\7f236533
+Node: Display Vars\7f237752
+Node: Search\7f240430
+Node: Incremental Search\7f241623
+Node: Non-Incremental Search\7f250550
+Node: Word Search\7f251992
+Node: Regexp Search\7f253610
+Node: Regexps\7f255146
+Node: Search Case\7f265447
+Node: Replace\7f266228
+Node: Unconditional Replace\7f267176
+Node: Regexp Replace\7f268311
+Node: Replacement and Case\7f269246
+Node: Query Replace\7f270226
+Node: Other Repeating Search\7f273453
+Node: Fixit\7f274708
+Node: Kill Errors\7f275288
+Node: Transpose\7f276621
+Node: Fixing Case\7f279025
+Node: Spelling\7f279671
+Node: Files\7f281132
+Node: File Names\7f282442
+Node: Visiting\7f286779
+Node: Saving\7f293465
+Node: Backup\7f298388
+Node: Backup Names\7f299784
+Node: Backup Deletion\7f301267
+Node: Backup Copying\7f302426
+Node: Interlocking\7f304132
+Node: Reverting\7f308260
+Node: Auto Save\7f310172
+Node: Auto Save Files\7f311139
+Node: Auto Save Control\7f312980
+Node: Recover\7f314818
+Node: Version Control\7f315973
+Node: Concepts of VC\7f318011
+Node: Editing with VC\7f319621
+Node: Variables for Check-in/out\7f324877
+Node: Log Entries\7f326776
+Node: Change Logs and VC\7f327956
+Node: Old Versions\7f331223
+Node: VC Status\7f333226
+Node: Renaming and VC\7f334940
+Node: Snapshots\7f335619
+Node: Making Snapshots\7f336120
+Node: Snapshot Caveats\7f337413
+Node: Version Headers\7f339222
+Node: ListDir\7f341921
+Node: Comparing Files\7f343970
+Node: Dired\7f345503
+Node: Dired Enter\7f346174
+Node: Dired Edit\7f346999
+Node: Dired Deletion\7f348746
+Node: Dired Immed\7f351969
+Node: Misc File Ops\7f353245
+Node: Buffers\7f355733
+Node: Select Buffer\7f357891
+Node: List Buffers\7f359686
+Node: Misc Buffer\7f361431
+Node: Kill Buffer\7f363074
+Node: Several Buffers\7f364204
+Node: Windows\7f368070
+Node: Basic Window\7f368781
+Node: Split Window\7f370500
+Node: Other Window\7f372633
+Node: Pop Up Window\7f375062
+Node: Change Window\7f376567
+Node: Mule\7f379475
+Node: Mule Intro\7f380738
+Node: Language Environments\7f381754
+Node: Input Methods\7f383861
+Node: Select Input Method\7f387581
+Node: Coding Systems\7f389736
+Node: Recognize Coding\7f393922
+Node: Specify Coding\7f397248
+Node: Major Modes\7f402179
+Node: Choosing Modes\7f404398
+Node: Indentation\7f406788
+Node: Indentation Commands\7f408883
+Node: Tab Stops\7f411612
+Node: Just Spaces\7f413461
+Node: Text\7f414276
+Node: Text Mode\7f416259
+Node: Nroff Mode\7f418338
+Node: TeX Mode\7f419981
+Node: TeX Editing\7f422233
+Node: TeX Print\7f425667
+Node: Outline Mode\7f428886
+Node: Outline Format\7f430367
+Node: Outline Motion\7f433167
+Node: Outline Visibility\7f434720
+Node: Words\7f437641
+Node: Sentences\7f440588
+Node: Paragraphs\7f442784
+Node: Pages\7f445072
+Node: Filling\7f447672
+Node: Auto Fill\7f448243
+Node: Fill Commands\7f450390
+Node: Fill Prefix\7f452555
+Node: Case\7f454743
+Node: Programs\7f456771
+Node: Program Modes\7f459320
+Node: Lists\7f461552
+Node: Defuns\7f467392
+Node: Grinding\7f470045
+Node: Basic Indent\7f470673
+Node: Multi-line Indent\7f472694
+Node: Lisp Indent\7f474310
+Node: C Indent\7f477760
+Node: Matching\7f483000
+Node: Comments\7f484522
+Node: Balanced Editing\7f490974
+Node: Lisp Completion\7f491988
+Node: Documentation\7f493003
+Node: Change Log\7f494242
+Node: Tags\7f496820
+Node: Tag Syntax\7f498469
+Node: Create Tags Table\7f502413
+Node: Etags Regexps\7f506473
+Node: Select Tags Table\7f511131
+Node: Find Tag\7f514869
+Node: Tags Search\7f517833
+Node: List Tags\7f521289
+Node: Fortran\7f522318
+Node: Fortran Motion\7f523394
+Node: Fortran Indent\7f524214
+Node: ForIndent Commands\7f524899
+Node: ForIndent Num\7f526044
+Node: ForIndent Conv\7f527318
+Node: ForIndent Vars\7f528094
+Node: Fortran Comments\7f529262
+Node: Fortran Columns\7f532860
+Node: Fortran Abbrev\7f534283
+Node: Asm Mode\7f535192
+Node: Running\7f535744
+Node: Compilation\7f536714
+Node: Lisp Modes\7f541564
+Node: Lisp Libraries\7f542837
+Node: Loading\7f543391
+Node: Compiling Libraries\7f547851
+Node: Mocklisp\7f550742
+Node: Lisp Eval\7f551419
+Node: Lisp Debug\7f555059
+Node: Lisp Interaction\7f560484
+Node: External Lisp\7f561839
+Node: Packages\7f563913
+Node: Package Terminology\7f564654
+Node: Using Packages\7f566012
+Node: Building Packages\7f574801
+Node: Abbrevs\7f577323
+Node: Defining Abbrevs\7f579523
+Node: Expanding Abbrevs\7f581970
+Node: Editing Abbrevs\7f584672
+Node: Saving Abbrevs\7f586540
+Node: Dynamic Abbrevs\7f588480
+Node: Picture\7f589782
+Node: Basic Picture\7f592215
+Node: Insert in Picture\7f594500
+Node: Tabs in Picture\7f595922
+Node: Rectangles in Picture\7f597443
+Node: Sending Mail\7f599351
+Node: Mail Format\7f601062
+Node: Mail Headers\7f602412
+Node: Mail Mode\7f608822
+Node: Reading Mail\7f612435
+Node: Calendar/Diary\7f614010
+Node: Calendar Motion\7f615682
+Node: Calendar Unit Motion\7f616565
+Node: Move to Beginning or End\7f618888
+Node: Specified Dates\7f620021
+Node: Scroll Calendar\7f620909
+Node: Mark and Region\7f622700
+Node: General Calendar\7f624606
+Node: LaTeX Calendar\7f626214
+Node: Holidays\7f628228
+Node: Sunrise/Sunset\7f631330
+Node: Lunar Phases\7f634373
+Node: Other Calendars\7f635758
+Node: Calendar Systems\7f637245
+Node: To Other Calendar\7f640356
+Node: From Other Calendar\7f642347
+Node: Mayan Calendar\7f644652
+Node: Diary\7f647847
+Node: Diary Commands\7f649596
+Node: Format of Diary File\7f652902
+Node: Date Formats\7f655772
+Node: Adding to Diary\7f658346
+Node: Special Diary Entries\7f659977
+Node: Calendar Customization\7f665316
+Node: Calendar Customizing\7f666178
+Node: Holiday Customizing\7f669397
+Node: Date Display Format\7f675865
+Node: Time Display Format\7f676823
+Node: Daylight Savings\7f677961
+Node: Diary Customizing\7f681149
+Node: Hebrew/Islamic Entries\7f685770
+Node: Fancy Diary Display\7f689110
+Node: Included Diary Files\7f691007
+Node: Sexp Diary Entries\7f691988
+Node: Appt Customizing\7f697078
+Node: Sorting\7f698124
+Node: Shell\7f702930
+Node: Single Shell\7f704223
+Node: Interactive Shell\7f705822
+Node: Shell Mode\7f709587
+Node: Terminal emulator\7f712078
+Node: Term Mode\7f714387
+Node: Paging in Term\7f715301
+Node: Narrowing\7f716099
+Node: Hardcopy\7f718049
+Node: Recursive Edit\7f719021
+Node: Dissociated Press\7f722008
+Node: CONX\7f724571
+Node: Amusements\7f725595
+Node: Emulation\7f726075
+Node: Customization\7f727919
+Node: Minor Modes\7f729643
+Node: Variables\7f731275
+Node: Examining\7f733231
+Node: Easy Customization\7f734692
+Node: Customization Groups\7f735706
+Node: Changing an Option\7f738635
+Node: Face Customization\7f744891
+Node: Specific Customization\7f746655
+Node: Edit Options\7f749262
+Node: Locals\7f750846
+Node: File Variables\7f754025
+Node: Keyboard Macros\7f758551
+Node: Basic Kbd Macro\7f760722
+Node: Save Kbd Macro\7f762654
+Node: Kbd Macro Query\7f764323
+Node: Key Bindings\7f766265
+Node: Keymaps\7f767139
+Node: Rebinding\7f770989
+Node: Interactive Rebinding\7f771688
+Node: Programmatic Rebinding\7f773880
+Node: Key Bindings Using Strings\7f776687
+Node: Disabling\7f778293
+Node: Syntax\7f780065
+Node: Syntax Entry\7f780946
+Node: Syntax Change\7f785030
+Node: Init File\7f787199
+Node: Init Syntax\7f788704
+Node: Init Examples\7f791056
+Node: Terminal Init\7f795246
+Node: Audible Bell\7f796956
+Node: Faces\7f800387
+Node: X Resources\7f805224
+Node: Geometry Resources\7f806845
+Node: Iconic Resources\7f809293
+Node: Resource List\7f809765
+Node: Face Resources\7f816272
+Node: Widgets\7f819949
+Node: Menubar Resources\7f820888
+Node: Quitting\7f821821
+Node: Lossage\7f824799
+Node: Stuck Recursive\7f825443
+Node: Screen Garbled\7f826149
+Node: Text Garbled\7f827283
+Node: Unasked-for Search\7f827922
+Node: Emergency Escape\7f828707
+Node: Total Frustration\7f830486
+Node: Bugs\7f831117
+Node: Glossary\7f840651
+Node: Manifesto\7f872280
+Node: Key Index\7f895756
+Node: Command Index\7f920951
+Node: Variable Index\7f962858
+Node: Concept Index\7f978995
\1f
End Tag Table
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
* Help:: Commands for asking XEmacs about its commands.
Important Text-Changing Commands
-* Mark:: The mark: how to delimit a "region" of text.
+* Mark:: The mark: how to delimit a ``region'' of text.
* Mouse Selection::
Selecting text with the mouse.
* Additional Mouse Operations::
Here are some other nodes which are really inferiors of the ones
already listed, mentioned here so you can get to them in one step:
- -- The Detailed Node Listing --
+ --- The Detailed Node Listing ---
The Organization of the Frame
* Version Control:: Version control systems (RCS and SCCS).
* ListDir:: Listing the contents of a file directory.
* Comparing Files:: Finding where two files differ.
-* Dired:: "Editing" a directory to delete, rename, etc.
+* Dired:: ``Editing'' a directory to delete, rename, etc.
the files in it.
* Misc File Ops:: Other things you can do on files.
* Screen Garbled:: Garbage on the screen.
* Text Garbled:: Garbage in the text.
* Unasked-for Search:: Spontaneous entry to incremental search.
-* Emergency Escape:: Emergency escape--
+* Emergency Escape:: Emergency escape---
What to do if XEmacs stops responding.
* Total Frustration:: When you are at your wits' end.
"Customizable" means you can change the definitions of XEmacs
commands. For example, if you use a programming language in which
comments start with `<**' and end with `**>', you can tell the XEmacs
-comment manipulation commands to use those strings (*note Comments::.).
-Another sort of customization is rearrangement of the command set.
-For example, you can set up the four basic cursor motion commands (up,
+comment manipulation commands to use those strings (*note Comments::).
+Another sort of customization is rearrangement of the command set. For
+example, you can set up the four basic cursor motion commands (up,
down, left and right) on keys in a diamond pattern on the keyboard if
you prefer. *Note Customization::.
look at two buffers a the same time.
* Below each text window's last line is a "mode line" (*note Mode
- Line::.), which describes what is going on in that window. The
+ Line::), which describes what is going on in that window. The
mode line is in inverse video if the terminal supports that. If
there are several XEmacs windows in one frame, each window has its
own mode line.
* At the bottom of each XEmacs frame is the "echo area" or
- "minibuffer window"(*note Echo Area::.). It is used by XEmacs to
+ "minibuffer window"(*note Echo Area::). It is used by XEmacs to
exchange information with the user. There is only one echo area
per XEmacs frame.
* If you are running XEmacs under the X Window System, a menu bar at
the top of the frame makes shortcuts to several of the commands
- available (*note Pull-down Menus::.).
+ available (*note Pull-down Menus::).
You can subdivide the XEmacs frame into multiple text windows, and
-use each window for a different file (*note Windows::.). Multiple
-XEmacs windows are tiled vertically on the XEmacs frame. The upper
-XEmacs window is separated from the lower window by its mode line.
+use each window for a different file (*note Windows::). Multiple XEmacs
+windows are tiled vertically on the XEmacs frame. The upper XEmacs
+window is separated from the lower window by its mode line.
When there are multiple, tiled XEmacs windows on a single XEmacs
frame, the XEmacs window receiving input from the keyboard has the
as you type it. This behavior is designed to give confident users
fast response, while giving hesitant users maximum feedback. You
can change this behavior by setting a variable (*note Display
- Vars::.).
+ Vars::).
* If you issue a command that cannot be executed, XEmacs may print
an "error message" in the echo area. Error messages are
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
comment lines. Optionally, new comment delimiters are inserted at the
end of the first line and the beginning of the second, so that each line
is a separate comment. The variable `comment-multi-line' controls the
-choice (*note Comments::.).
+choice (*note Comments::).
Auto Fill mode does not refill entire paragraphs. It can break
lines but cannot merge lines. Editing in the middle of a paragraph can
the region into paragraphs and fills each of them.
`Meta-q' and `Meta-g' use the same criteria as `Meta-h' for finding
-paragraph boundaries (*note Paragraphs::.). For more control, you can
+paragraph boundaries (*note Paragraphs::). For more control, you can
use `M-x fill-region-as-paragraph', which refills everything between
point and mark. This command recognizes only blank lines as paragraph
separators.
Emacs has many commands designed to understand the syntax of
programming languages such as Lisp and C. These commands can:
- * Move over or kill balanced expressions or "sexps" (*note Lists::.).
+ * Move over or kill balanced expressions or "sexps" (*note Lists::).
* Move over or mark top-level balanced expressions ("defuns", in
Lisp; functions, in C).
- * Show how parentheses balance (*note Matching::.).
+ * Show how parentheses balance (*note Matching::).
- * Insert, kill, or align comments (*note Comments::.).
+ * Insert, kill, or align comments (*note Comments::).
* Follow the usual indentation conventions of the language (*note
- Grinding::.).
+ Grinding::).
The commands available for words, sentences, and paragraphs are
useful in editing code even though their canonical application is for
editing human language text. Most symbols contain words (*note
-Words::.); sentences can be found in strings and comments (*note
-Sentences::.). Paragraphs per se are not present in code, but the
+Words::); sentences can be found in strings and comments (*note
+Sentences::). Paragraphs per se are not present in code, but the
paragraph commands are useful anyway, because Lisp mode and C mode
-define paragraphs to begin and end at blank lines (*note
-Paragraphs::.). Judicious use of blank lines to make the program
-clearer also provides interesting chunks of text for the paragraph
-commands to work on.
+define paragraphs to begin and end at blank lines (*note Paragraphs::).
+Judicious use of blank lines to make the program clearer also provides
+interesting chunks of text for the paragraph commands to work on.
The selective display feature is useful for looking at the overall
-structure of a function (*note Selective Display::.). This feature
+structure of a function (*note Selective Display::). This feature
causes only the lines that are indented less than a specified amount to
appear on the screen.
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
generate a tag.
You can also generate tags based on regexp matching (*note Etags
-Regexps::.) to handle other formats and languages.
+Regexps::) to handle other formats and languages.
\1f
File: xemacs.info, Node: Create Tags Table, Next: Etags Regexps, Prev: Tag Syntax, Up: Tags
`etags' to resume guessing the language from the file names and file
contents. Specify `--language=none' to turn off language-specific
processing entirely; then `etags' recognizes tags by regexp matching
-alone (*note Etags Regexps::.).
+alone (*note Etags Regexps::).
`etags --help' prints the list of the languages `etags' knows, and
the file name rules for guessing the language. It also prints a list of
The commands in this section visit and search all the files listed
in the selected tags table, one by one. For these commands, the tags
table serves only to specify a sequence of files to search. A related
-command is `M-x grep' (*note Compilation::.).
+command is `M-x grep' (*note Compilation::).
`M-x tags-search <RET> REGEXP <RET>'
Search for REGEXP through the files in the selected tags table.
comments start with `!' and can follow other text. Because only some
Fortran compilers accept this syntax, Fortran mode will not insert such
comments unless you have specified to do so in advance by setting the
-variable `comment-start' to `"!"' (*note Variables::.).
+variable `comment-start' to `"!"' (*note Variables::).
`M-;'
Align comment or insert new comment (`fortran-comment-indent').
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
Fortran mode provides many built-in abbrevs for common keywords and
declarations. These are the same sort of abbrevs that you can define
-yourself. To use them, you must turn on Abbrev mode. *note Abbrevs::..
+yourself. To use them, you must turn on Abbrev mode. *note Abbrevs::.
The built-in abbrevs are unusual in one way: they all start with a
semicolon. You cannot normally use semicolon in an abbrev, but Fortran
default. The default is taken from the variable `compile-command'; if
the appropriate compilation command for a file is something other than
`make -k', it can be useful to have the file specify a local value for
-`compile-command' (*note File Variables::.).
+`compile-command' (*note File Variables::).
When you start a compilation, the buffer `*compilation*' is
displayed in another window but not selected. Its mode line displays
Inferior Lisp mode
The mode for an interactive session with an inferior Lisp process.
This mode combines the special features of Lisp mode and Shell mode
- (*note Shell Mode::.).
+ (*note Shell Mode::).
Scheme mode
Like Lisp mode but for Scheme programs.
Lisp code for Emacs editing commands is stored in files whose names
conventionally end in `.el'. This ending tells Emacs to edit them in
-Emacs-Lisp mode (*note Lisp Modes::.).
+Emacs-Lisp mode (*note Lisp Modes::).
* Menu:
examine the buffer that was being edited at the time of the error, and
you can switch buffers, visit files, and perform any other editing
operations. However, the debugger is a recursive editing level (*note
-Recursive Edit::.); it is a good idea to return to the backtrace buffer
+Recursive Edit::); it is a good idea to return to the backtrace buffer
and explictly exit the debugger when you don't want to use it any more.
Exiting the debugger kills the backtrace buffer.
Lisp comes from text in the buffer. To give input to Lisp, go to the
end of the buffer and type the input, terminated by <RET>. The
`*lisp*' buffer is in Inferior Lisp mode, which has all the special
-characteristics of Lisp mode and Shell mode (*note Shell Mode::.).
+characteristics of Lisp mode and Shell mode (*note Shell Mode::).
Use Lisp mode to run the source files of programs in external Lisps.
You can select this mode with `M-x lisp-mode'. It is used automatically
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
of screen model does not affect beginnings of lines.
Insertion of text is adapted to the quarter-plane screen model
-through the use of Overwrite mode (*note Minor Modes::.).
+through the use of Overwrite mode (*note Minor Modes::).
Self-inserting characters replace existing text, column by column,
rather than pushing existing text to the right. <RET> runs
`picture-newline', which just moves to the beginning of the following
To actually delete parts of the picture, use `C-w', or with `C-c
C-d' (which is defined as `delete-char', as `C-d' is in other modes),
or with one of the picture rectangle commands (*note Rectangles in
-Picture::.).
+Picture::).
\1f
File: xemacs.info, Node: Insert in Picture, Next: Tabs in Picture, Prev: Basic Picture, Up: Picture
Picture mode defines commands for working on rectangular pieces of
the text in ways that fit with the quarter-plane model. The standard
-rectangle commands may also be useful (*note Rectangles::.).
+rectangle commands may also be useful (*note Rectangles::).
`C-c C-k'
Clear out the region-rectangle (`picture-clear-rectangle'). With
`o' (`calendar-other-month') prompts for a month and year, then
centers the three-month calendar around that month.
- You can return to today's date with `.' (`calendar-goto-today').
+ You can return to today's date with `.' (`calendar-goto-today').
\1f
File: xemacs.info, Node: Scroll Calendar, Next: Mark and Region, Prev: Calendar Motion, Up: Calendar/Diary
-----------------------
The concept of the mark applies to the calendar just as to any other
-buffer, but it marks a *date*, not a *position* in the buffer. The
+buffer, but it marks a _date_, not a _position_ in the buffer. The
region consists of the days between the mark and point (including the
starting and stopping dates).
To determine the number of days in the region, type `M-='
(`calendar-count-days-region'). The numbers of days printed is
-*inclusive*; that is, it includes the days specified by mark and point.
+_inclusive_; that is, it includes the days specified by mark and point.
The main use of the mark in the calendar is to remember dates that
you may want to go back to. To make this feature more useful, the mark
-ring (*note Mark Ring::.) operates exactly as in other buffers: Emacs
+ring (*note Mark Ring::) operates exactly as in other buffers: Emacs
remembers 16 previous locations of the mark. To return to a marked
date, type `C-u C-SPC' (or `C-u C-@'); this is the command
`calendar-set-mark' given a numeric argument. It moves point to where
display with multiple faces is not available). The command applies both
to the currently visible months and to other months that subsequently
become visible by scrolling. To turn marking off and erase the current
-marks, type `u', which also erases any diary marks (*note Diary::.).
+marks, type `u', which also erases any diary marks (*note Diary::).
To get even more detailed information, use the `a' command, which
displays a separate buffer containing a list of all holidays in the
categories of holidays. You can use this command even if you don't have
a calendar window.
- The dates used by Emacs for holidays are based on *current
-practice*, not historical fact. Historically, for instance, the start
+ The dates used by Emacs for holidays are based on _current
+practice_, not historical fact. Historically, for instance, the start
of daylight savings time and even its existence have varied from year to
year, but present United States law mandates that daylight savings time
begins on the first Sunday in April. When the daylight savings rules
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
`C-u M-x sunrise-sunset'
Display times of sunrise and sunset for a specified date.
- Within the calendar, to display the *local times* of sunrise and
+ Within the calendar, to display the _local times_ of sunrise and
sunset in the echo area, move point to the date you want, and type `S'.
Alternatively, click `Button2' on the date, then choose
`Sunrise/Sunset' from the menu that appears. The command `M-x
between your local standard time and Coordinated Universal Time
(Greenwich time). The values of `calendar-standard-time-zone-name' and
`calendar-daylight-time-zone-name' are the abbreviations used in your
-time zone. Emacs displays the times of sunrise and sunset *corrected
-for daylight savings time*. *Note Daylight Savings::, for how daylight
+time zone. Emacs displays the times of sunrise and sunset _corrected
+for daylight savings time_. *Note Daylight Savings::, for how daylight
savings time is determined.
As a user, you might find it convenient to set the calendar location
Conversion To and From Other Calendars
--------------------------------------
- The Emacs calendar displayed is *always* the Gregorian calendar,
+ The Emacs calendar displayed is _always_ the Gregorian calendar,
sometimes called the "new style" calendar, which is used in most of the
world today. However, this calendar did not exist before the sixteenth
century and was not widely used before the eighteenth century; it did
Astronomers use a simple counting of days elapsed since noon, Monday,
January 1, 4713 B.C. on the Julian calendar. The number of days elapsed
-is called the *Julian day number* or the *Astronomical day number*.
+is called the _Julian day number_ or the _Astronomical day number_.
The Hebrew calendar is used by tradition in the Jewish religion. The
Emacs calendar program uses the Hebrew calendar to determine the dates
abandoned this calendar at the end of 1805.
The Maya of Central America used three separate, overlapping calendar
-systems, the *long count*, the *tzolkin*, and the *haab*. Emacs knows
+systems, the _long count_, the _tzolkin_, and the _haab_. Emacs knows
about all three of these calendars. Experts dispute the exact
correlation between the Mayan calendar and our calendar; Emacs uses the
Goodman-Martinez-Thompson correlation in its calculations.
These commands ask you for a date on the other calendar, move point
to the Gregorian calendar date equivalent to that date, and display the
other calendar's date in the echo area. Emacs uses strict completion
-(*note Completion::.) whenever it asks you to type a month name, so you
+(*note Completion::) whenever it asks you to type a month name, so you
don't have to worry about the spelling of Hebrew, Islamic, or French
names.
Similarly, type `g m n h' to go to the next occurrence of a haab date.
The Maya also used the combination of the tzolkin date and the haab
-date. This combination is a cycle of about 52 years called a *calendar
-round*. If you type `g m p c', Emacs asks you for both a haab and a
+date. This combination is a cycle of about 52 years called a _calendar
+round_. If you type `g m p c', Emacs asks you for both a haab and a
tzolkin date and then moves point to the previous occurrence of that
combination. Use `g m n c' to move point to the next occurrence of a
combination. These commands signal an error if the haab/tzolkin date
combination you have typed is impossible.
- Emacs uses strict completion (*note Completion::.) whenever it asks
+ Emacs uses strict completion (*note Completion::) whenever it asks
you to type a Mayan name, so you don't have to worry about spelling.
\1f
Although you probably will start by creating a diary manually, Emacs
provides a number of commands to let you view, add, and change diary
entries. You can also share diary entries with other users (*note
-Included Diary Files::.).
+Included Diary Files::).
* Menu:
multiple faces is not available). The command applies both to the
currently visible months and to other months that subsequently become
visible by scrolling. To turn marking off and erase the current marks,
-type `u', which also turns off holiday marks (*note Holidays::.).
+type `u', which also turns off holiday marks (*note Holidays::).
To see the full diary file, rather than just some of the entries, use
the `s' command.
The diary buffer as you see it is an illusion, so simply printing the
buffer does not print what you see on your screen. There is a special
-command to print hard copy of the diary buffer *as it appears*; this
+command to print hard copy of the diary buffer _as it appears_; this
command is `M-x print-diary-entries'. It sends the data directly to
-the printer. You can customize it like `lpr-region' (*note
-Hardcopy::.).
+the printer. You can customize it like `lpr-region' (*note Hardcopy::).
The command `M-x diary' displays the diary entries for the current
date, independently of the calendar display, and optionally for the next
few days as well; the variable `number-of-diary-entries' specifies how
-many days to include (*note Customization::.).
+many days to include (*note Customization::).
If you put `(diary)' in your `.emacs' file, this automatically
displays a window with the day's diary entries, when you enter Emacs.
entries.
You can edit the diary entries as they appear in the window, but it
-is important to remember that the buffer displayed contains the *entire*
+is important to remember that the buffer displayed contains the _entire_
diary file, with portions of it concealed from view. This means, for
instance, that the `C-f' (`forward-char') command can put point at what
appears to be the end of the line, but what is in reality the middle of
some concealed line.
- *Be careful when editing the diary entries!* Inserting additional
+ _Be careful when editing the diary entries!_ Inserting additional
lines or adding/deleting characters in the middle of a visible line
cannot cause problems, but editing at the end of a line may not do what
you expect. Deleting a line may delete other invisible entries that
If you prefer the European style of writing dates--in which the day
comes before the month--type `M-x european-calendar' while in the
-calendar, or set the variable `european-calendar-style' to `t' *before*
+calendar, or set the variable `european-calendar-style' to `t' _before_
using any calendar or diary command. This mode interprets all dates in
the diary in the European manner, and also uses European style for
displaying diary dates. (Note that there is no comma after the
nonmarking entry, give a numeric argument to the command. For example,
`C-u i a' makes a nonmarking anniversary diary entry.
- Marking sexp diary entries in the calendar is *extremely*
+ Marking sexp diary entries in the calendar is _extremely_
time-consuming, since every date visible in the calendar window must be
individually checked. So it's a good idea to make sexp diary entries
nonmarking (with `&') when possible.
based on any Emacs Lisp expression. You can use the library of built-in
functions or you can write your own functions. The built-in functions
include the ones shown in this section, plus a few others (*note Sexp
-Diary Entries::.).
+Diary Entries::).
The generality of sexps lets you specify any diary entry that you can
describe algorithmically. Suppose you get paid on the 21st of the month
on the variable `date'; this variable is a list (MONTH DAY YEAR) that
gives the Gregorian date for which the diary entries are being found.
If the value of the sexp is `t', the entry applies to that date. If
-the sexp evaluates to `nil', the entry does *not* apply to that date.
+the sexp evaluates to `nil', the entry does _not_ apply to that date.
\1f
File: xemacs.info, Node: Calendar Customization, Prev: Diary, Up: Calendar/Diary
You can set the variable `mark-diary-entries-in-calendar' to `t' in
order to mark any dates with diary entries. This takes effect whenever
the calendar window contents are recomputed. There are two ways of
-marking these dates: by changing the face (*note Faces::.), if the
+marking these dates: by changing the face (*note Faces::), if the
display supports that, or by placing a plus sign (`+') beside the date
otherwise.
terminal.
A similar normal hook, `today-invisible-calendar-hook' is run if the
-current date is *not* visible in the window.
+current date is _not_ visible in the window.
\1f
File: xemacs.info, Node: Holiday Customizing, Next: Date Display Format, Prev: Calendar Customizing, Up: Calendar Customization
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
the standard American nor European styles suits your needs, by setting
the variable `diary-date-forms'. This variable is a list of patterns
for recognizing a date. Each date pattern is a list whose elements may
-be regular expressions (*note Regexps::.) or the symbols `month',
-`day', `year', `monthname', and `dayname'. All these elements serve as
+be regular expressions (*note Regexps::) or the symbols `month', `day',
+`year', `monthname', and `dayname'. All these elements serve as
patterns that match certain kinds of text in the diary file. In order
for the date pattern, as a whole, to match, all of its elements must
match consecutively.
(lispref)Syntax Tables.), but with the `*' changed so that it is a word
constituent.
- The date patterns in the list must be *mutually exclusive* and must
+ The date patterns in the list must be _mutually exclusive_ and must
not match any portion of the diary entry itself, just the date and one
character of whitespace. If, to be mutually exclusive, the pattern
must match a portion of the diary entry text--beyond the whitespace
-that ends the date--then the first element of the date pattern *must*
+that ends the date--then the first element of the date pattern _must_
be `backup'. This causes the date recognizer to back up to the
beginning of the current word of the diary entry, after finishing the
match. Even if you use `backup', the date pattern must absolutely not
depend on the variable `date'; this variable is a list (MONTH DAY YEAR)
that gives the Gregorian date for which the diary entries are being
found. If the value of the expression is `t', the entry applies to
-that date. If the expression evaluates to `nil', the entry does *not*
+that date. If the expression evaluates to `nil', the entry does _not_
apply to that date.
The following sexp diary entries take advantage of the ability (in
scripture reading.
`%%(diary-sabbath-candles)'
- Make a Friday diary entry that tells the *local time* of Sabbath
+ Make a Friday diary entry that tells the _local time_ of Sabbath
candle lighting.
`%%(diary-omer)'
`%%(diary-yahrzeit MONTH DAY YEAR) NAME'
Make a diary entry marking the anniversary of a date of death.
- The date is the *Gregorian* (civil) date of death. The diary
+ The date is the _Gregorian_ (civil) date of death. The diary
entry appears on the proper Hebrew calendar anniversary and on the
day before. (In the European style, the order of the parameters
is changed to DAY, MONTH, YEAR.)
by XEmacs directly to the subshell, as "terminal input." Any "echo" of
your input is the responsibility of the subshell. (The exception is
the terminal escape character, which by default is `C-c'. *note Term
-Mode::..) Any "terminal output" from the subshell goes into the buffer,
+Mode::.) Any "terminal output" from the subshell goes into the buffer,
advancing point.
Some programs (such as XEmacs itself) need to control the appearance
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
values, and thereby alter and control the behavior of certain Emacs
commands. These variables are called "options". Most options are
documented in this manual and appear in the Variable Index (*note
-Variable Index::.).
+Variable Index::).
One example of a variable which is an option is `fill-column', which
specifies the position of the right margin (as a number of characters
-from the left margin) to be used by the fill commands (*note
-Filling::.).
+from the left margin) to be used by the fill commands (*note Filling::).
* Menu:
This says that the buffer displays the contents of the `Emacs' group.
The other groups are listed because they are its contents. But they
-are listed differently, without indentation and dashes, because *their*
+are listed differently, without indentation and dashes, because _their_
contents are not included. Each group has a single-line documentation
string; the `Emacs' group also has a `[State]' line.
value in the usual ways.
Setting, saving and resetting a face work like the same operations
-for options (*note Changing an Option::.).
+for options (*note Changing an Option::).
A face can specify different appearances for different types of
display. For example, a face can make text red on a color display, but
customize-apropos'. You specify a regular expression as argument; then
all options, faces and groups whose names match this regular expression
are set up in the customization buffer. If you specify an empty regular
-expression, this includes *all* groups, options and faces in the
+expression, this includes _all_ groups, options and faces in the
customization buffer (but that takes a long time).
If you change option values and then decide the change was a mistake,
a matter of personal taste, not a matter of the contents of particular
files. If you want to use Auto Fill, set up major mode hooks with your
`.emacs' file to turn it on (when appropriate) for you alone (*note
-Init File::.). Don't try to use a local variable list that would
-impose your taste on everyone working with the file.
+Init File::). Don't try to use a local variable list that would impose
+your taste on everyone working with the file.
XEmacs allows you to specify local variables in the first line of a
file, in addition to specifying them in the `Local Variables' section
reads a name as an argument using the minibuffer and defines that name
to execute the macro. The macro name is a Lisp symbol, and defining it
in this way makes it a valid command name for calling with `M-x' or for
-binding a key to with `global-set-key' (*note Keymaps::.). If you
+binding a key to with `global-set-key' (*note Keymaps::). If you
specify a name that has a prior definition other than another keyboard
macro, Emacs prints an error message and nothing is changed.
same macro with the same definition it has now. You need not
understand Lisp code to do this, because `insert-kbd-macro' writes the
Lisp code for you. Then save the file. You can load the file with
-`load-file' (*note Lisp Libraries::.). If the file you save in is your
-initialization file `~/.emacs' (*note Init File::.), then the macro
-will be defined each time you run Emacs.
+`load-file' (*note Lisp Libraries::). If the file you save in is your
+initialization file `~/.emacs' (*note Init File::), then the macro will
+be defined each time you run Emacs.
If you give `insert-kbd-macro' a prefix argument, it creates
additional Lisp code to record the keys (if any) that you have bound to
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
1. The first character in the string specifies the syntactic class.
It is one of the characters in the previous table (*note Syntax
- Entry::.).
+ Entry::).
2. The second character is the matching delimiter. For a character
that is not an opening or closing delimiter, this should be a
home directory. This file, if it exists, should contain Lisp code. It
is called your initialization file or "init file". Use the command
line switch `-q' to tell Emacs whether to load an init file (*note
-Entering Emacs::.). Use the command line switch `-user-init-file'
-(*note Command Switches::.) to tell Emacs to load a different file
+Entering Emacs::). Use the command line switch `-user-init-file'
+(*note Command Switches::) to tell Emacs to load a different file
instead of `~/.emacs'.
When the `.emacs' file is read, the variable `user-init-file' says
If you have a large amount of code in your `.emacs' file, you should
move it into another file named `SOMETHING.el', byte-compile it (*note
-Lisp Libraries::.), and load that file from your `.emacs' file using
+Lisp Libraries::), and load that file from your `.emacs' file using
`load'.
* Menu:
expressions. Each consists of a function name followed by arguments,
all surrounded by parentheses. For example, `(setq fill-column 60)'
represents a call to the function `setq' which is used to set the
-variable `fill-column' (*note Filling::.) to 60.
+variable `fill-column' (*note Filling::) to 60.
The second argument to `setq' is an expression for the new value of
the variable. This can be a constant, a variable, or a function call
When the argument to `load' is a relative pathname, not starting
with `/' or `~', `load' searches the directories in `load-path'
- (*note Loading::.).
+ (*note Loading::).
* Load the compiled Lisp file `foo.elc' from your home directory.
`topToolBarShadowColor' (class `TopToolBarShadowColor'): color-name
`bottomToolBarShadowColor' (class `BottomToolBarShadowColor'): color-name
Color of the top and bottom shadows for the toolbars. NOTE: These
- resources do *not* have anything to do with the top and bottom
+ resources do _not_ have anything to do with the top and bottom
toolbars (i.e. the toolbars at the top and bottom of the frame)!
Rather, they affect the top and bottom shadows around the edges of
all four kinds of toolbars.
`bottomToolBarShadowPixmap' (class `BottomToolBarShadowPixmap'): pixmap-name
Pixmap of the top and bottom shadows for the toolbars. If set,
these resources override the corresponding color resources. NOTE:
- These resources do *not* have anything to do with the top and
+ These resources do _not_ have anything to do with the top and
bottom toolbars (i.e. the toolbars at the top and bottom of the
frame)! Rather, they affect the top and bottom shadows around the
edges of all four kinds of toolbars.
`C-g' does not do this, and could not do this because it is used to
cancel a partially typed command within the recursive editing level.
Both operations are useful. For example, if you are in the Emacs
-debugger (*note Lisp Debug::.) and have typed `C-u 8' to enter a
-numeric argument, you can cancel that argument with `C-g' and remain in
-the debugger.
+debugger (*note Lisp Debug::) and have typed `C-u 8' to enter a numeric
+argument, you can cancel that argument with `C-g' and remain in the
+debugger.
The command `M-x top-level' is equivalent to "enough" `C-]' commands
to get you out of all the levels of recursive edits that you are in.
* Screen Garbled:: Garbage on the screen.
* Text Garbled:: Garbage in the text.
* Unasked-for Search:: Spontaneous entry to incremental search.
-* Emergency Escape:: Emergency escape--
+* Emergency Escape:: Emergency escape---
What to do if Emacs stops responding.
* Total Frustration:: When you are at your wits' end.
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
To make the backtrace, you must execute the Lisp expression `(setq
debug-on-error t)' before the error happens (that is to say, you must
execute that expression and then make the bug happen). This causes the
-Lisp debugger to run (*note Lisp Debug::.). The debugger's backtrace
+Lisp debugger to run (*note Lisp Debug::). The debugger's backtrace
can be copied as text into the bug report. This use of the debugger is
possible only if you know how to make the bug happen again. Do note
the error message the first time the bug happens, so if you can't make
Balance Parentheses
Emacs can balance parentheses manually or automatically. Manual
balancing is done by the commands to move over balanced expressions
- (*note Lists::.). Automatic balancing is done by blinking the
+ (*note Lists::). Automatic balancing is done by blinking the
parenthesis that matches one just inserted (*note Matching Parens:
Matching.).
Command Name
A command name is the name of a Lisp symbol which is a command
- (*note Commands::.). You can invoke any command by its name using
- `M-x' (*note M-x::.).
+ (*note Commands::). You can invoke any command by its name using
+ `M-x' (*note M-x::).
Comments
A comment is text in a program which is intended only for the
Compilation
Compilation is the process of creating an executable program from
source code. Emacs has commands for compiling files of Emacs Lisp
- code (*note Lisp Libraries::.) and programs in C and other
- languages (*note Compilation::.).
+ code (*note Lisp Libraries::) and programs in C and other languages
+ (*note Compilation::).
Complete Key
A complete key is a character or sequence of characters which,
current one. *Note Buffers::.
Current Line
- The line point is on (*note Point::.).
+ The line point is on (*note Point::).
Current Paragraph
The paragraph that point is in. If point is between paragraphs,
Customization
Customization is making minor changes in the way Emacs works. It
- is often done by setting variables (*note Variables::.) or by
- rebinding keys (*note Keymaps::.).
+ is often done by setting variables (*note Variables::) or by
+ rebinding keys (*note Keymaps::).
Default Argument
The default for an argument is the value that is used if you do not
A prompt is text printed to ask the user for input. Printing a
prompt is called prompting. Emacs prompts always appear in the
echo area (q.v.). One kind of prompting happens when the
- minibuffer is used to read an argument (*note Minibuffer::.); the
+ minibuffer is used to read an argument (*note Minibuffer::); the
echoing which happens when you pause in the middle of typing a
multi-character key is also a kind of prompting (*note Echo
- Area::.).
+ Area::).
Quitting
Quitting means cancelling a partially typed command or a running
explicitly instructed to do so. *Note Bugs::.
Text
- Text has two meanings (*note Text::.):
+ Text has two meanings (*note Text::):
* Data consisting of a sequence of characters, as opposed to
binary numbers, images, graphics commands, executable
Transposing two units of text means putting each one into the place
formerly occupied by the other. There are Emacs commands to
transpose two adjacent characters, words, sexps (q.v.), or lines
- (*note Transpose::.).
+ (*note Transpose::).
Truncation
Truncating text lines in the display means leaving out any text on
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
When you are working under X, each X window (that is, each XEmacs
frame) has a menu bar for mouse-controlled operations (*note Pull-down
-Menus::.).
+Menus::).
XEmacs under X is also a multi-frame XEmacs. You can use the New
Frame menu item from the File menu to create a new XEmacs frame in a
equivalent command. Most commands on the Edit menu work on a block of
text, the X selection. They appear faded until you select a block of
text (activate a region) with the mouse. *Note Using X Selections::,
-*note Killing::., and *note Yanking::. for more information.
+*note Killing::, and *note Yanking:: for more information.
Undo
Undoes the previous command. Undo is equivalent to the Emacs
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
are in Emacs. The meanings of `C-z' and `C-x C-c' as keys in Emacs were
inspired by the standard Berkeley Unix meanings of `C-z' and `C-c', but
that is their only relationship with Unix. You could customize these
-keys to do anything (*note Keymaps::.).
+keys to do anything (*note Keymaps::).
\1f
File: xemacs.info, Node: Command Switches, Next: Startup Paths, Prev: Exiting, Up: Top
`-debug-paths'
Displays information on how XEmacs constructs the various paths
- into its hierarchy on startup. (See also *note Startup Paths::..)
+ into its hierarchy on startup. (See also *note Startup Paths::.)
`-unmapped'
Do not map the initial frame. This is useful if you want to start
xemacs *.c
passes each `.c' file as a separate argument to Emacs, so that Emacs
-visits each file (*note Visiting::.).
+visits each file (*note Visiting::).
Here is an advanced example that assumes you have a Lisp program file
called `hack-c-program.el' which, when loaded, performs some useful
tarball.
If XEmacs runs with the `-debug-paths' option (*note Command
-Switches::.), it will print the values of these variables, hopefully
+Switches::), it will print the values of these variables, hopefully
aiding in debugging any problems which come up.
`lisp-directory'
To insert printing characters into the text you are editing, just
type them. This inserts the characters into the buffer at the cursor
-(that is, at "point"; *note Point::.). The cursor moves forward. Any
+(that is, at "point"; *note Point::). The cursor moves forward. Any
characters after the cursor move forward too. If the text in the buffer
is `FOOBAR', with the cursor before the `B', and you type `XX', the
result is `FOOXXBAR', with the cursor still before the `B'.
with the specified character code.
A numeric argument to `C-q' specifies how many copies of the quoted
-character should be inserted (*note Arguments::.).
+character should be inserted (*note Arguments::).
If you prefer to have text characters replace (overwrite) existing
text instead of moving it to the right, you can enable Overwrite mode, a
==============================
To do more than insert characters, you have to know how to move point
-(*note Point::.). Here are a few of the available commands.
+(*note Point::). Here are a few of the available commands.
NOTE: Many of the following commands have two versions, one that uses
the function keys (e.g. <LEFT> or <END>) and one that doesn't. The
The file name is given as an "argument" to the command `C-x C-f'
(`find-file'). The command uses the "minibuffer" to read the argument.
-You have to type <RET> to terminate the argument (*note Minibuffer::.).
+You have to type <RET> to terminate the argument (*note Minibuffer::).
You can also use the Open... menu item from the File menu, then type
the name of the file to the prompt.
save the buffer with `C-x C-s', or by choosing Save Buffer from the
File menu, the file is created.
- To learn more about using files, *note Files::..
+ To learn more about using files, *note Files::.
Help
====
curved arrow at the extreme right margin of all but the last line. The
curved arrow indicates that the following screen line is not really a
distinct line in the text, but just the "continuation" of a line too
-long to fit the frame. You can use Auto Fill mode (*note Filling::.)
-to have Emacs insert newlines automatically when a line gets too long.
+long to fit the frame. You can use Auto Fill mode (*note Filling::) to
+have Emacs insert newlines automatically when a line gets too long.
Instead of continuation, long lines can be displayed by "truncation".
This means that all the characters that do not fit in the width of the
To turn off continuation for a particular buffer, set the variable
`truncate-lines' to non-`nil' in that buffer. Truncation instead of
continuation also happens whenever horizontal scrolling is in use, and
-optionally whenever side-by-side windows are in use (*note Windows::.).
+optionally whenever side-by-side windows are in use (*note Windows::).
Altering the value of `truncate-lines' makes it local to the current
buffer; until that time, the default value is in effect. The default
is initially `nil'. *Note Locals::.
current page.
* `M-=' (`count-lines-region') prints the number of lines in the
- region (*note Mark::.).
+ region (*note Mark::).
The command `C-x =' (`what-cursor-position') provides information
about point and about the column the cursor is in. It prints a line in
file `/u2/emacs/src/buffer.c'. To find files in nearby directories,
use `..'; thus, if you type `../lisp/simple.el', you will get the file
named `/u2/emacs/lisp/simple.el'. Alternatively, you can kill with
-`M-<DEL>' the directory names you don't want (*note Words::.).
+`M-<DEL>' the directory names you don't want (*note Words::).
If you don't want any of the default, you can kill it with `C-a
C-k'. But you don't need to kill the default; you can simply ignore it.
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
minibuffer itself.
`<RET>'
- Typing <RET> *in the completion list buffer* chooses the
+ Typing <RET> _in the completion list buffer_ chooses the
completion that point is in or next to (`choose-completion'). To
use this command, you must first switch windows to the window that
shows the list of completions.
`<RIGHT>'
`<TAB>'
`C-f'
- Typing the right-arrow key <RIGHT>, <TAB> or `C-f' *in the
- completion list buffer* moves point to the following completion
+ Typing the right-arrow key <RIGHT>, <TAB> or `C-f' _in the
+ completion list buffer_ moves point to the following completion
(`next-list-mode-item').
`<LEFT>'
`C-b'
- Typing the left-arrow key <LEFT> or `C-b' *in the completion list
- buffer* moves point toward the beginning of the buffer, to the
+ Typing the left-arrow key <LEFT> or `C-b' _in the completion list
+ buffer_ moves point toward the beginning of the buffer, to the
previous completion (`previous-list-mode-item').
\1f
a window whenever there is more than one possibility for the very next
character. Also, typing `?' explicitly requests such a list. If the
list of completions is long, you can scroll it with `C-M-v' (*note
-Other Window::.).
+Other Window::).
\1f
File: xemacs.info, Node: Completion Options, Prev: Strict Completion, Up: Completion
as a possible completion. The standard value of this variable has
several elements including `".o"', `".elc"', `".dvi"' and `"~"'. The
effect is that, for example, `foo' can complete to `foo.c' even though
-`foo.o' exists as well. However, if *all* the possible completions end
+`foo.o' exists as well. However, if _all_ the possible completions end
in "ignored" strings, then they are not ignored. Ignored extensions do
not apply to lists of completions--those always mention all possible
completions.
minibuffer to read their arguments even though you are already in the
minibuffer when you issue them. As with incremental searching, an
uppercase letter in the regular expression makes the search
-case-sensitive (*note Search Case::.).
+case-sensitive (*note Search Case::).
All uses of the minibuffer record your input on a history list, but
there are separate history lists for different kinds of arguments. For
kill-backwards <RET>' doesn't reveal any commands, don't give up. Try
just `kill', or just `backwards', or just `back'. Be persistent.
Pretend you are playing Adventure. Also note that you can use a
-regular expression as the argument (*note Regexps::.).
+regular expression as the argument (*note Regexps::).
Here is a set of arguments to give to `C-h a' that covers many
classes of Emacs commands, since there are strong conventions for naming
present information about the current Emacs mode that is not covered by
`C-h m'. `C-h b' displays a list of all 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'
+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::.).
+character's syntax (*note Syntax::).
The other `C-h' options display various files of useful information.
`C-h C-w' (`describe-no-warranty') displays details on the complete
Once you have created an active region, you can do many things to
the text in it:
- * Kill it with `C-w' (*note Killing::.).
+ * Kill it with `C-w' (*note Killing::).
- * Save it in a register with `C-x r s' (*note Registers::.).
+ * Save it in a register with `C-x r s' (*note Registers::).
- * Save it in a buffer or a file (*note Accumulating Text::.).
+ * 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::.).
+ (*note Case::).
* Evaluate it as Lisp code with `M-x eval-region' (*note Lisp
- Eval::.).
+ Eval::).
- * Fill it as text with `M-q' (*note Filling::.).
+ * Fill it as text with `M-q' (*note Filling::).
- * Print hardcopy with `M-x print-region' (*note Hardcopy::.).
+ * Print hardcopy with `M-x print-region' (*note Hardcopy::).
- * Indent it with `C-x <TAB>' or `C-M-\' (*note Indentation::.).
+ * 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
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
+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
+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
+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
The selected region of text is highlighted.
Once a region of text is selected, it becomes the primary X selection
-(*note Using X Selections::.) as well as the Emacs selected region. You
+(*note Using X Selections::) as well as the Emacs selected region. You
can paste it into other X applications and use the options from the
Edit pull-down menu on it. Since it is also the Emacs region, you can
use Emacs region commands on it.
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
The commands' names and individual descriptions use the words `kill'
and `delete' to indicate what they do. If you perform a kill or delete
command by mistake, use the `C-x u' (`undo') command to undo it (*note
-Undo::.). The delete commands include `C-d' (`delete-char') and <DEL>
+Undo::). The delete commands include `C-d' (`delete-char') and <DEL>
(`delete-backward-char'), which delete only one character at a time,
and those commands that delete only spaces or newlines. Commands that
can destroy significant amounts of nontrivial data usually kill.
search backward and kill text before point.
Other syntactic units can be killed: words, with `M-<DEL>' and `M-d'
-(*note Words::.); sexps, with `C-M-k' (*note Lists::.); and sentences,
-with `C-x <DEL>' and `M-k' (*note Sentences::.).
+(*note Words::); sexps, with `C-M-k' (*note Lists::); and sentences,
+with `C-x <DEL>' and `M-k' (*note Sentences::).
\1f
File: xemacs.info, Node: Yanking, Next: Using X Selections, Prev: Killing, Up: Top
register, you can copy it into the buffer once or many times; a position
saved in a register is used by moving point to that position.
Rectangles can also be copied into and out of registers (*note
-Rectangles::.).
+Rectangles::).
Each register has a name which is a single character. A register can
store a piece of text, a rectangle, a position, a window configuration,
There are commands to store a number in a register, to insert the
number in the buffer in decimal, and to increment it. These commands
-can be useful in keyboard macros (*note Keyboard Macros::.).
+can be useful in keyboard macros (*note Keyboard Macros::).
`C-u NUMBER C-x r n REG'
Store NUMBER into register REG (`number-to-register').
various files.
Note: bookmark.el is distributed in edit-utils package. You need to
-install that to use bookmark facility (*note Packages::.).
+install that to use bookmark facility (*note Packages::).
`C-x r m <RET>'
Set the bookmark for the visited file, at point.
points to.
`M-x bookmark-insert <RET> BOOKMARK <RET>'
- Insert in the buffer the *contents* of the file that bookmark
+ Insert in the buffer the _contents_ of the file that bookmark
BOOKMARK points to.
\1f
that each line of text is shifted sideways in the window, and one or
more characters at the beginning of each line are not displayed at all.
When a window has been scrolled horizontally in this way, text lines
-are truncated rather than continued (*note Continuation Lines::.), with
+are truncated rather than continued (*note Continuation Lines::), with
a `$' appearing in the first column when there is text truncated to the
left, and in the last column when there is text truncated to the right.
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
buffer you must go to the beginning first. By default, all occurrences
up to the end of the buffer are replaced. To limit replacement to part
of the buffer, narrow to that part of the buffer before doing the
-replacement (*note Narrowing::.).
+replacement (*note Narrowing::).
When `replace-string' exits, point is left at the last occurrence
replaced. The value of point when the `replace-string' command was
At this point, you can type `C-r' (see below) to alter the
replaced text. To undo the replacement, you can type `C-x u'.
This exits the `query-replace'. If you want to do further
- replacement you must use `C-x ESC' to restart (*note
- Repetition::.).
+ replacement you must use `C-x ESC' to restart (*note Repetition::).
`<ESC>'
to exit without doing any more replacements.
transposes into `BAR, FOO' rather than `BAR FOO,'.
`C-M-t' (`transpose-sexps') is a similar command for transposing two
-expressions (*note Lists::.), and `C-x C-t' (`transpose-lines')
+expressions (*note Lists::), and `C-x C-t' (`transpose-lines')
exchanges lines. It works like `M-t' but in determines the division of
the text into syntactic units differently.
* Version Control:: Version control systems (RCS and SCCS).
* ListDir:: Listing the contents of a file directory.
* Comparing Files:: Finding where two files differ.
-* Dired:: "Editing" a directory to delete, rename, etc.
+* Dired:: ``Editing'' a directory to delete, rename, etc.
the files in it.
* Misc File Ops:: Other things you can do on files.
Most Emacs commands that operate on a file require you to specify the
file name. (Saving and reverting are exceptions; the buffer knows which
file name to use for them.) File names are specified in the minibuffer
-(*note Minibuffer::.). "Completion" is available, to make it easier to
+(*note Minibuffer::). "Completion" is available, to make it easier to
specify long file names. *Note Completion::.
There is always a "default file name" which is used if you enter an
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
<RET>. If you are using XEmacs under X, you can also use the Open...
command from the File menu bar item.
- The file name is read using the minibuffer (*note Minibuffer::.),
-with defaulting and completion in the standard manner (*note File
-Names::.). While in the minibuffer, you can abort `C-x C-f' by typing
-`C-g'.
+ The file name is read using the minibuffer (*note Minibuffer::), with
+defaulting and completion in the standard manner (*note File Names::).
+While in the minibuffer, you can abort `C-x C-f' by typing `C-g'.
`C-x C-f' has completed successfully when text appears on the screen
and a new buffer name appears in the mode line. If the specified file
visiting a file.
If the file you specify is actually a directory, Dired is called on
-that directory (*note Dired::.). To inhibit this, set the variable
+that directory (*note Dired::). To inhibit this, set the variable
`find-file-run-dired' to `nil'; then it is an error to try to visit a
directory.
there is a file whose owner should not change. Since most files should
change owners, it is a good idea to use local variable lists to set
`backup-by-copying-when-mismatch' for the special cases where the owner
-should not change (*note File Variables::.).
+should not change (*note File Variables::).
Three variables control the choice of renaming or copying.
Normally, renaming is done. If the variable `backup-by-copying' is
If the current buffer has been auto-saved more recently than it has
been saved explicitly, `revert-buffer' offers to read the auto save file
-instead of the visited file (*note Auto Save::.). Emacs asks you about
+instead of the visited file (*note Auto Save::). Emacs asks you about
the auto-save file before the request for confirmation of the
`revert-buffer' operation, and demands `y' or `n' as an answer. If you
have started to type `yes' for confirmation without realizing that the
Each time you visit a file, auto-saving is turned on for that file's
buffer if the variable `auto-save-default' is non-`nil' (but not in
-batch mode; *note Entering Emacs::.). The default for this variable is
+batch mode; *note Entering Emacs::). The default for this variable is
`t', so Emacs auto-saves buffers that visit files by default. You can
use the command `M-x auto-save-mode' to turn auto-saving for a buffer
on or off. Like other minor mode commands, `M-x auto-save-mode' turns
------------------
If you use RCS for a program and also maintain a change log file for
-it (*note Change Log::.), you can generate change log entries
+it (*note Change Log::), you can generate change log entries
automatically from the version control log entries:
`C-x v a'
If you supply a directory name instead of the name of a work file,
this command compares the two specified versions of all registered files
in that directory and its subdirectories. You can also specify a
-snapshot name (*note Snapshots::.) instead of one or both version
+snapshot name (*note Snapshots::) instead of one or both version
numbers.
You can specify a checked-in version by its number; you can specify
When you rename a registered file, you must also rename its master
file correspondingly to get proper results. Use `vc-rename-file' to
rename the source file as you specify, and rename its master file
-accordingly. It also updates any snapshots (*note Snapshots::.) that
+accordingly. It also updates any snapshots (*note Snapshots::) that
mention the file, so that they use the new name; despite this, the
snapshot thus modified may not completely work (*note Snapshot
-Caveats::.).
+Caveats::).
You cannot use `vc-rename-file' on a file that is locked by someone
else.
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
they are useful.
You can give a snapshot name as an argument to `C-x v =' or `C-x v
-~' (*note Old Versions::.). Thus, you can use it to compare a snapshot
+~' (*note Old Versions::). Thus, you can use it to compare a snapshot
against the current files, or two snapshots against each other, or a
snapshot against a named version.
`#'
Flag all auto-save files (files whose names start and end with `#')
- for deletion (*note Auto Save::.).
+ for deletion (*note Auto Save::).
`~'
Flag all backup files (files whose names end with `~') for deletion
- (*note Backup::.).
+ (*note Backup::).
`. (Period)'
Flag excess numeric backup files for deletion. The oldest and
`M-x delete-file' deletes a specified file, like the `rm' command in
the shell. If you are deleting many files in one directory, it may be
-more convenient to use Dired (*note Dired::.).
+more convenient to use Dired (*note Dired::).
`M-x insert-file' inserts a copy of the contents of a specified file
into the current buffer at point, leaving point unchanged before the
which is displayed there, but at any time only one of the windows is
selected and its chosen buffer is the selected buffer. Each window's
mode line displays the name of the buffer the window is displaying
-(*note Windows::.).
+(*note Windows::).
Each buffer has a name which can be of any length but is
case-sensitive. You can select a buffer using its name. Most buffers
Each buffer records what file it is visiting, whether it is
modified, and what major mode and minor modes are in effect in it
-(*note Major Modes::.). Any Emacs variable can be made "local to" a
+(*note Major Modes::). Any Emacs variable can be made "local to" a
particular buffer, meaning its value in that buffer can be different
from the value in other buffers. *Note Locals::.
To select a buffer named BUFNAME, type `C-x b BUFNAME <RET>'. This
is the command `switch-to-buffer' with argument BUFNAME. You can use
completion on an abbreviation for the buffer name you want (*note
-Completion::.). An empty argument to `C-x b' specifies the most
+Completion::). An empty argument to `C-x b' specifies the most
recently selected buffer that is not displayed in any window.
Most buffers are created when you visit files, or use Emacs commands
`C-x b BUFNAME <RET>', which creates a new, empty buffer that is not
visiting any file, and selects it for editing. The new buffer's major
mode is determined by the value of `default-major-mode' (*note Major
-Modes::.). Buffers not visiting files are usually used for making
-notes to yourself. If you try to save one, you are asked for the file
-name to use.
+Modes::). Buffers not visiting files are usually used for making notes
+to yourself. If you try to save one, you are asked for the file name
+to use.
The function `switch-to-buffer-other-frame' is similar to
`switch-to-buffer' except that it creates a new frame in which to
in the list shows one buffer's name, major mode, and visited file. A
`*' at the beginning of a line indicates the buffer has been
"modified". If several buffers are modified, it may be time to save
-some with `C-x s' (*note Saving::.). A `%' indicates a read-only
+some with `C-x s' (*note Saving::). A `%' indicates a read-only
buffer. A `.' marks the selected buffer. Here is an example of a
buffer list:
signalled and renaming is not done.
`M-x view-buffer' is similar to `M-x view-file' (*note Misc File
-Ops::.), but it examines an already existing Emacs buffer. View mode
+Ops::), but it examines an already existing Emacs buffer. View mode
provides convenient commands for scrolling through the buffer but not
for changing it. When you exit View mode, the resulting value of point
remains in effect.
wrapping around to the top or bottom of the current frame, when there
are no more windows.
- The usual scrolling commands (*note Display::.) apply to the selected
+ The usual scrolling commands (*note Display::) apply to the selected
window only. `M-C-v' (`scroll-other-window') scrolls the window that
`C-x o' would select. Like `C-v', it takes positive and negative
arguments.
`C-x 4 m'
Start composing a mail message in another window. This runs
`mail-other-window', and its same-window version is `C-x m' (*note
- Sending Mail::.).
+ Sending Mail::).
`C-x 4 .'
Find a tag in the current tag table in another window. This runs
`find-tag-other-window', the multiple-window variant of `M-.'
- (*note Tags::.).
+ (*note Tags::).
If the variable `display-buffer-function' is non-`nil', its value is
the function to call to handle `display-buffer'. It receives two
preferred script (more or less) rather that a choice of language.
The language environment controls which coding systems to recognize
-when reading text (*note Recognize Coding::.). This applies to files,
+when reading text (*note Recognize Coding::). This applies to files,
incoming mail, netnews, and any other text you read into XEmacs. It may
also specify the default coding system to use when you create a file.
Each language environment also specifies a default input method.
-This is Info file ../info/xemacs.info, produced by Makeinfo version
-1.68 from the input file xemacs/xemacs.texi.
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
START-INFO-DIR-ENTRY
as argument; alternatively, with an empty argument, it describes the
coding systems currently selected for various purposes, both in the
current buffer and as the defaults, and the priority list for
-recognizing coding systems (*note Recognize Coding::.).
+recognizing coding systems (*note Recognize Coding::).
To display a list of all the supported coding systems, type `M-x
list-coding-systems'. The list gives information about each coding
system, including the letter that stands for it in the mode line (*note
-Mode Line::.).
+Mode Line::).
Each of the coding systems that appear in this list--except for
`binary', which means no conversion of any kind--specifies how and
contents assuming that they are represented in this coding system.
The priority list of coding systems depends on the selected language
-environment (*note Language Environments::.). For example, if you use
+environment (*note Language Environments::). For example, if you use
French, you probably want XEmacs to prefer Latin-1 to Latin-2; if you
use Czech, you probably want Latin-2 to be preferred. This is one of
the reasons to specify a language environment.
You can specify the coding system for a particular file using the
`-*-...-*-' construct at the beginning of a file, or a local variables
-list at the end (*note File Variables::.). You do this by defining a
+list at the end (*note File Variables::). You do this by defining a
value for the "variable" named `coding'. XEmacs does not really have a
variable `coding'; instead of setting a variable, it uses the specified
coding system for the file. For example, `-*-mode: C; coding:
file. This includes the commands `save-buffer' and `write-region'. If
you want to write files from this buffer using a different coding
system, you can specify a different coding system for the buffer using
-`set-buffer-file-coding-system' (*note Specify Coding::.).
+`set-buffer-file-coding-system' (*note Specify Coding::).
\1f
File: xemacs.info, Node: Specify Coding, Prev: Recognize Coding, Up: Mule
the file. First use the command `C-x <RET> c'
(`universal-coding-system-argument'); this command uses the minibuffer
to read a coding system name. After you exit the minibuffer, the
-specified coding system is used for *the immediately following command*.
+specified coding system is used for _the immediately following command_.
So if the immediately following command is `C-x C-f', for example,
it reads the file using that coding system (and records the coding
editing English text. The remaining major modes are not intended for
use on users' files; they are used in buffers created by Emacs for
specific purposes and include Dired mode for buffers made by Dired
-(*note Dired::.), Mail mode for buffers made by `C-x m' (*note Sending
-Mail::.), and Shell mode for buffers used for communicating with an
-inferior shell process (*note Interactive Shell::.).
+(*note Dired::), Mail mode for buffers made by `C-x m' (*note Sending
+Mail::), and Shell mode for buffers used for communicating with an
+inferior shell process (*note Interactive Shell::).
Most programming language major modes specify that only blank lines
separate paragraphs. This is so that the paragraph commands remain
edit files of text in a human language. Invoke `M-x text-mode' to
enter Text mode. In Text mode, <TAB> runs the function
`tab-to-tab-stop', which allows you to use arbitrary tab stops set with
-`M-x edit-tab-stops' (*note Tab Stops::.). Features concerned with
+`M-x edit-tab-stops' (*note Tab Stops::). Features concerned with
comments in programs are turned off unless they are explicitly invoked.
The syntax table is changed so that periods are not considered part of a
word, while apostrophes, backspaces and underlines are.
A similar variant mode is Indented Text mode, intended for editing
text in which most lines are indented. This mode defines <TAB> to run
-`indent-relative' (*note Indentation::.), and makes Auto Fill indent
-the lines it creates. As a result, a line made by Auto Filling, or by
+`indent-relative' (*note Indentation::), and makes Auto Fill indent the
+lines it creates. As a result, a line made by Auto Filling, or by
<LFD>, is normally indented just like the previous line. Use `M-x
indented-text-mode' to select this mode.
The other feature of Nroff mode is Electric Nroff newline mode.
This is a minor mode that you can turn on or off with `M-x
-electric-nroff-mode' (*note Minor Modes::.). When the mode is on and
+electric-nroff-mode' (*note Minor Modes::). When the mode is on and
you use <RET> to end a line containing an nroff command that opens a
kind of grouping, Emacs automatically inserts the matching nroff
command to close that grouping on the following line. For example, if
of the paragraph for a few seconds and pushes a mark at that spot.
Scanning continues until the whole buffer has been checked or until you
type another key. The positions of the last several paragraphs with
-mismatches can be found in the mark ring (*note Mark Ring::.).
+mismatches can be found in the mark ring (*note Mark Ring::).
Note that square brackets and parentheses, not just braces, are
matched in TeX mode. This is wrong if you want to check TeX syntax.
The console output from TeX, including any error messages, appears
in a buffer called `*TeX-shell*'. If TeX gets an error, you can switch
to this buffer and feed it input (this works as in Shell mode; *note
-Interactive Shell::.). Without switching to this buffer, you can scroll
+Interactive Shell::). Without switching to this buffer, you can scroll
it so that its last line is visible by typing `C-c C-l'.
Type `C-c C-k' (`tex-kill-job') to kill the TeX process if you see