@contents
-@node Top, Overview, (dir), (dir)
-@chapter Introduction
-
-@noindent
-This document describes a set of Emacs Lisp facilities borrowed from
-Common Lisp. All the facilities are described here in detail. While
-this document does not assume any prior knowledge of Common Lisp, it
-does assume a basic familiarity with Emacs Lisp.
-
@ifnottex
+@node Top
+@top GNU Emacs Common Lisp Emulation
+
@insertcopying
@end ifnottex
* Variable Index::
@end menu
-@node Overview, Program Structure, Top, Top
-@ifnottex
+@node Overview
@chapter Overview
-@end ifnottex
@noindent
+This document describes a set of Emacs Lisp facilities borrowed from
+Common Lisp. All the facilities are described here in detail. While
+this document does not assume any prior knowledge of Common Lisp, it
+does assume a basic familiarity with Emacs Lisp.
+
Common Lisp is a huge language, and Common Lisp systems tend to be
massive and extremely complex. Emacs Lisp, by contrast, is rather
minimalist in the choice of Lisp features it offers the programmer.
* Naming Conventions:: Notes on CL function names
@end menu
-@node Usage, Organization, Overview, Overview
+@node Usage
@section Usage
@noindent
in your @file{.emacs} file. But it's a good idea, for portability,
to @code{(require 'cl)} in your code even if you do this.
-@node Organization, Installation, Usage, Overview
+@node Organization
@section Organization
@noindent
multiple-values feature. This file is obsolete and should not be used
in new code. @xref{Old CL Compatibility}.
-@node Installation, Naming Conventions, Organization, Overview
+@node Installation
@section Installation
@noindent
file and put the resulting Info files into a directory in your
@code{Info-directory-list}.
-@node Naming Conventions, , Installation, Overview
+@node Naming Conventions
@section Naming Conventions
@noindent
@noindent
[4] Only when @var{place} is a plain variable name.
-@iftex
-@chapno=4
-@end iftex
-
-@node Program Structure, Predicates, Overview, Top
+@node Program Structure
@chapter Program Structure
@noindent
@secno=1
@end iftex
-@node Argument Lists, Time of Evaluation, Program Structure, Program Structure
+@node Argument Lists
@section Argument Lists
@noindent
arguments and invalid keyword arguments is disabled. By default,
argument lists are rigorously checked.
-@node Time of Evaluation, , Argument Lists, Program Structure
+@node Time of Evaluation
@section Time of Evaluation
@noindent
@end example
@end defspec
-@node Predicates, Control Structure, Program Structure, Top
+@node Predicates
@chapter Predicates
@noindent
* Equality Predicates:: @code{equalp}
@end menu
-@node Type Predicates, Equality Predicates, Predicates, Predicates
+@node Type Predicates
@section Type Predicates
@noindent
@code{concatenate}, and @code{merge} functions take type-name
arguments to specify the type of sequence to return. @xref{Sequences}.
-@node Equality Predicates, , Type Predicates, Predicates
+@node Equality Predicates
@section Equality Predicates
@noindent
In Emacs, use @code{member*} and @code{assoc*} to get functions
which use @code{eql} for comparisons.
-@node Control Structure, Macros, Predicates, Top
+@node Control Structure
@chapter Control Structure
@noindent
* Multiple Values:: @code{values}, @code{multiple-value-bind}, etc.
@end menu
-@node Assignment, Generalized Variables, Control Structure, Control Structure
+@node Assignment
@section Assignment
@noindent
@code{psetq} always returns @code{nil}.
@end defspec
-@node Generalized Variables, Variable Bindings, Assignment, Control Structure
+@node Generalized Variables
@section Generalized Variables
@noindent
* Customizing Setf:: @code{define-modify-macro}, @code{defsetf}, @code{define-setf-method}
@end menu
-@node Basic Setf, Modify Macros, Generalized Variables, Generalized Variables
+@node Basic Setf
@subsection Basic Setf
@noindent
to @code{wrong-order}.
@end defspec
-@node Modify Macros, Customizing Setf, Basic Setf, Generalized Variables
+@node Modify Macros
@subsection Modify Macros
@noindent
macros are used in the processing of symbol macros;
@pxref{Macro Bindings}.
-@node Customizing Setf, , Modify Macros, Generalized Variables
+@node Customizing Setf
@subsection Customizing Setf
@noindent
@secno=4
@end iftex
-@node Variable Bindings, Conditionals, Generalized Variables, Control Structure
+@node Variable Bindings
@section Variable Bindings
@noindent
* Macro Bindings:: @code{macrolet} and @code{symbol-macrolet}
@end menu
-@node Dynamic Bindings, Lexical Bindings, Variable Bindings, Variable Bindings
+@node Dynamic Bindings
@subsection Dynamic Bindings
@noindent
are ignored.
@end defspec
-@node Lexical Bindings, Function Bindings, Dynamic Bindings, Variable Bindings
+@node Lexical Bindings
@subsection Lexical Bindings
@noindent
are made sequentially in the manner of @code{let*}.
@end defspec
-@node Function Bindings, Macro Bindings, Lexical Bindings, Variable Bindings
+@node Function Bindings
@subsection Function Bindings
@noindent
@code{function} to be passed on to, say, @code{mapcar}.
@end defspec
-@node Macro Bindings, , Function Bindings, Variable Bindings
+@node Macro Bindings
@subsection Macro Bindings
@noindent
works much like @code{my-dolist}.
@end defspec
-@node Conditionals, Blocks and Exits, Variable Bindings, Control Structure
+@node Conditionals
@section Conditionals
@noindent
simply returning @code{nil}.
@end defspec
-@node Blocks and Exits, Iteration, Conditionals, Control Structure
+@node Blocks and Exits
@section Blocks and Exits
@noindent
themselves in @code{nil} blocks.
@end defspec
-@node Iteration, Loop Facility, Blocks and Exits, Control Structure
+@node Iteration
@section Iteration
@noindent
@xref{Mapping over Sequences}, for some more functions for
iterating over vectors or lists.
-@node Loop Facility, Multiple Values, Iteration, Control Structure
+@node Loop Facility
@section Loop Facility
@noindent
* Other Clauses:: @code{with}, @code{if}, @code{initially}, @code{finally}
@end menu
-@node Loop Basics, Loop Examples, Loop Facility, Loop Facility
+@node Loop Basics
@subsection Loop Basics
@noindent
Consult the second edition of Steele's @dfn{Common Lisp, the Language},
for additional discussion and examples of the @code{loop} macro.
-@node Loop Examples, For Clauses, Loop Basics, Loop Facility
+@node Loop Examples
@subsection Loop Examples
@noindent
rather than some sort of triple-nested loop. You must explicitly
nest your @code{loop} constructs if you want nested loops.
-@node For Clauses, Iteration Clauses, Loop Examples, Loop Facility
+@node For Clauses
@subsection For Clauses
@noindent
@result{} (1 2)
@end example
-@node Iteration Clauses, Accumulation Clauses, For Clauses, Loop Facility
+@node Iteration Clauses
@subsection Iteration Clauses
@noindent
values were @code{nil}, the loop returns @code{nil}.
@end table
-@node Accumulation Clauses, Other Clauses, Iteration Clauses, Loop Facility
+@node Accumulation Clauses
@subsection Accumulation Clauses
@noindent
@result{} (fred bob ken sue alice joe kris sunshine june)
@end example
-@node Other Clauses, , Accumulation Clauses, Loop Facility
+@node Other Clauses
@subsection Other Clauses
@noindent
iterate over keymaps, overlays, intervals, frames, windows, and
buffers are Emacs-specific extensions.
-@node Multiple Values, , Loop Facility, Control Structure
+@node Multiple Values
@section Multiple Values
@noindent
Since a perfect emulation is not feasible in Emacs Lisp, this
package opts to keep it as simple and predictable as possible.
-@node Macros, Declarations, Control Structure, Top
+@node Macros
@chapter Macros
@noindent
and @code{symbol-macrolet} forms for making ``local'' macro
definitions.
-@node Declarations, Symbols, Macros, Top
+@node Declarations
@chapter Declarations
@noindent
See the documentation for the optimizing byte compiler for details.
@end table
-@node Symbols, Numbers, Declarations, Top
+@node Symbols
@chapter Symbols
@noindent
* Creating Symbols:: @code{gensym}, @code{gentemp}
@end menu
-@node Property Lists, Creating Symbols, Symbols, Symbols
+@node Property Lists
@section Property Lists
@noindent
@secno=2
@end iftex
-@node Creating Symbols, , Property Lists, Symbols
+@node Creating Symbols
@section Creating Symbols
@noindent
keywords as data unrelated to keyword arguments, so the
@code{defkeyword} form has been discontinued.
-@iftex
-@chapno=11
-@end iftex
-
-@node Numbers, Sequences, Symbols, Top
+@node Numbers
@chapter Numbers
@noindent
@secno=1
@end iftex
-@node Predicates on Numbers, Numerical Functions, Numbers, Numbers
+@node Predicates on Numbers
@section Predicates on Numbers
@noindent
@secno=3
@end iftex
-@node Numerical Functions, Random Numbers, Predicates on Numbers, Numbers
+@node Numerical Functions
@section Numerical Functions
@noindent
@secno=8
@end iftex
-@node Random Numbers, Implementation Parameters, Numerical Functions, Numbers
+@node Random Numbers
@section Random Numbers
@noindent
@code{random-state} object, or @code{nil} otherwise.
@end defun
-@node Implementation Parameters, , Random Numbers, Numbers
+@node Implementation Parameters
@section Implementation Parameters
@noindent
@code{1.11e-16}.
@end defvar
-@iftex
-@chapno=13
-@end iftex
-
-@node Sequences, Lists, Numbers, Top
+@node Sequences
@chapter Sequences
@noindent
* Sorting Sequences:: @code{sort*}, @code{stable-sort}, @code{merge}
@end menu
-@node Sequence Basics, Mapping over Sequences, Sequences, Sequences
+@node Sequence Basics
@section Sequence Basics
@noindent
the properties of the characters copied from @var{str} into the
result.
-@node Mapping over Sequences, Sequence Functions, Sequence Basics, Sequences
+@node Mapping over Sequences
@section Mapping over Sequences
@noindent
be faster since it generates the loop as in-line code with no
function calls.
-@node Sequence Functions, Searching Sequences, Mapping over Sequences, Sequences
+@node Sequence Functions
@section Sequence Functions
@noindent
and @code{nsubstitute-if-not} functions are defined similarly. For
these, a @var{predicate} is given in place of the @var{old} argument.
-@node Searching Sequences, Sorting Sequences, Sequence Functions, Sequences
+@node Searching Sequences
@section Searching Sequences
@noindent
function finds the @emph{rightmost} matching subsequence.
@end defun
-@node Sorting Sequences, , Searching Sequences, Sequences
+@node Sorting Sequences
@section Sorting Sequences
@defun sort* seq predicate @t{&key :key}
@var{predicate}.
@end defun
-@node Lists, Structures, Sequences, Top
+@node Lists
@chapter Lists
@noindent
* Association Lists:: @code{assoc*}, @code{rassoc*}, @code{acons}, @code{pairlis}
@end menu
-@node List Functions, Substitution of Expressions, Lists, Lists
+@node List Functions
@section List Functions
@noindent
@secno=3
@end iftex
-@node Substitution of Expressions, Lists as Sets, List Functions, Lists
+@node Substitution of Expressions
@section Substitution of Expressions
@noindent
This is a destructive version of @code{sublis}.
@end defun
-@node Lists as Sets, Association Lists, Substitution of Expressions, Lists
+@node Lists as Sets
@section Lists as Sets
@noindent
also appears in @var{list2}.
@end defun
-@node Association Lists, , Lists as Sets, Lists
+@node Association Lists
@section Association Lists
@noindent
@var{alist})}.
@end defun
-@iftex
-@chapno=18
-@end iftex
-
-@node Structures, Assertions, Lists, Top
+@node Structures
@chapter Structures
@noindent
Except as noted, the @code{defstruct} facility of this package is
entirely compatible with that of Common Lisp.
-@iftex
-@chapno=23
-@end iftex
-
-@node Assertions, Efficiency Concerns, Structures, Top
+@node Assertions
@chapter Assertions and Errors
@noindent
returns the result of the last @var{form}.
@end defspec
-@node Efficiency Concerns, Common Lisp Compatibility, Assertions, Top
+@node Efficiency Concerns
@appendix Efficiency Concerns
@appendixsec Macros
optimizing compiler removes @code{block}s which are not actually
referenced by @code{return} or @code{return-from} inside the block.
-@node Common Lisp Compatibility, Old CL Compatibility, Efficiency Concerns, Top
+@node Common Lisp Compatibility
@appendix Common Lisp Compatibility
@noindent
The second argument of @code{check-type} is treated differently.
-@node Old CL Compatibility, Porting Common Lisp, Common Lisp Compatibility, Top
+@node Old CL Compatibility
@appendix Old CL Compatibility
@noindent
@code{floor}, @code{ceiling}, etc.; @code{cl-compat} cannot use
these names because they conflict with Emacs built-ins.
-@node Porting Common Lisp, GNU Free Documentation License, Old CL Compatibility, Top
+@node Porting Common Lisp
@appendix Porting Common Lisp
@noindent
recursion.
@end itemize
-@node GNU Free Documentation License, Function Index, Porting Common Lisp, Top
+@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include doclicense.texi
-@node Function Index, Variable Index, GNU Free Documentation License, Top
+@node Function Index
@unnumbered Function Index
@printindex fn
-@node Variable Index, , Function Index, Top
+@node Variable Index
@unnumbered Variable Index
@printindex vr
@end ifnottex
-@node Introduction, Installation, Top, Top
+@node Introduction
@chapter Introduction
This documents some @emph{extra} features for GNU Emacs's Dired Mode
@end menu
@end ifnottex
-@node Features, Technical Details, , Introduction
+@node Features
@section Features
@cindex Features
@code{dired-x-find-file} and @code{dired-x-find-file-other-window},
respectively (@pxref{Find File At Point}).
-@node Technical Details, , Features, Introduction
+@node Technical Details
@section Technical Details
@cindex Modified functions
@cindex @file{dired-aux.el}
@code{dired-guess-shell-command} (@pxref{Shell Command Guessing}) to
offer a smarter default command.
-@node Installation, Omitting Files in Dired, Introduction, Top
+@node Installation
@chapter Installation
@noindent
@end menu
@end ifnottex
-@node Optional Installation Dired Jump, Optional Installation File At Point, , Installation
+@node Optional Installation Dired Jump
@section Optional Installation Dired Jump
@cindex Autoloading @code{dired-jump} and @code{dired-jump-other-window}
(define-key global-map "\C-x4\C-j" 'dired-jump-other-window)
@end example
-@node Optional Installation File At Point, , Optional Installation Dired Jump, Installation
+@node Optional Installation File At Point
@section Optional Installation File At Point
@cindex Binding @code{dired-x-find-file}
))
@end example
-@node Omitting Files in Dired, Local Variables, Installation, Top
+@node Omitting Files in Dired
@chapter Omitting Files in Dired
@cindex Omitting Files in Dired
@end menu
@end ifnottex
-@node Omitting Variables, Omitting Examples, , Omitting Files in Dired
+@node Omitting Variables
@section Omitting Variables
@cindex Customizing file omitting
@end table
-@node Omitting Examples, Omitting Technical, Omitting Variables, Omitting Files in Dired
+@node Omitting Examples
@section Examples of Omitting Various File Types
@itemize @bullet
@end itemize
-@node Omitting Technical, , Omitting Examples, Omitting Files in Dired
+@node Omitting Technical
@section Some Technical Details of Omitting
Loading @file{dired-x.el} will install Dired Omit by putting
call @code{dired-extra-startup}, which in turn calls @code{dired-omit-startup}
in your @code{dired-mode-hook}.
-@node Local Variables, Shell Command Guessing, Omitting Files in Dired, Top
+@node Local Variables
@chapter Local Variables for Dired Directories
@cindex Local Variables for Dired Directories
variable. A value of @code{nil} means to ignore any Dired Local Variables.
@end table
-@node Shell Command Guessing, Virtual Dired, Local Variables, Top
+@node Shell Command Guessing
@chapter Shell Command Guessing
@cindex Guessing shell commands for files.
History list for commands that read dired-shell commands.
@end table
-@node Virtual Dired, Advanced Mark Commands, Shell Command Guessing, Top
+@node Virtual Dired
@chapter Virtual Dired
@cindex Virtual Dired
The regexp is a bit more complicated than usual to exclude @file{.dired}
local-variable files.
-@node Advanced Mark Commands, Multiple Dired Directories, Virtual Dired, Top
+@node Advanced Mark Commands
@chapter Advanced Mark Commands
@table @kbd
@end menu
@end ifnottex
-@node Advanced Cleaning Functions, Advanced Cleaning Variables, , Advanced Mark Commands
+@node Advanced Cleaning Functions
@section Advanced Cleaning Functions
@table @code
and @file{*.dvi} files for deletion.
@end table
-@node Advanced Cleaning Variables, Special Marking Function, Advanced Cleaning Functions, Advanced Mark Commands
+@node Advanced Cleaning Variables
@section Advanced Cleaning Variables
@noindent Variables used by the above cleaning commands (and in the default value for
List of extensions of dispensable files created by Bib@TeX{}.
@end table
-@node Special Marking Function, , Advanced Cleaning Variables, Advanced Mark Commands
+@node Special Marking Function
@section Special Marking Function
@table @kbd
@end table
-@node Multiple Dired Directories, Find File At Point, Advanced Mark Commands, Top
+@node Multiple Dired Directories
@chapter Multiple Dired Directories and Non-Dired Commands
@cindex Multiple Dired directories
Dired buffers, is like @code{shell-command}, but it runs with
@code{default-directory} bound to the current Dired directory.
-@node Find File At Point, Miscellaneous Commands, Multiple Dired Directories, Top
-@section Find File At Point
+@node Find File At Point
+@chapter Find File At Point
@cindex Visiting a file mentioned in a buffer
@cindex Finding a file at point
@code{find-file-other-window}. See @xref{Optional Installation File At Point}.
@end table
-@node Miscellaneous Commands, Bugs, Find File At Point, Top
+@node Miscellaneous Commands
@chapter Miscellaneous Commands
Miscellaneous features not fitting anywhere else:
info.
@end table
-@node Bugs, GNU Free Documentation License, Miscellaneous Commands, Top
+@node Bugs
@chapter Bugs
@cindex Bugs
If you encounter a bug in this package, or wish to suggest an
enhancement, then please use @kbd{M-x report-emacs-bug} to report it.
-@node GNU Free Documentation License, Concept Index, Bugs, Top
+@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include doclicense.texi
-@node Concept Index, Command Index, GNU Free Documentation License, Top
+@node Concept Index
@unnumbered Concept Index
@printindex cp
-@node Command Index, Key Index, Concept Index, Top
+@node Command Index
@unnumbered Function Index
@printindex fn
-@node Key Index, Variable Index, Command Index, Top
+@node Key Index
@unnumbered Key Index
@printindex ky
-@node Variable Index, , Key Index, Top
+@node Variable Index
@unnumbered Variable Index
@printindex vr