X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/ab5796a9f97180707734a81320e3eb81937281fe..b5eb27b30d5abce362ee4653b96df8f31ba0c1db:/man/cl.texi diff --git a/man/cl.texi b/man/cl.texi index 805895329b..051aa18e02 100644 --- a/man/cl.texi +++ b/man/cl.texi @@ -5,11 +5,12 @@ @copying This file documents the GNU Emacs Common Lisp emulation package. -Copyright (C) 1993, 2002 Free Software Foundation, Inc. +Copyright @copyright{} 1993, 2002, 2003, 2004, 2005, 2006 Free +Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or +under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A copy of the @@ -50,7 +51,7 @@ license to the document, as described in section 6 of the license. @end titlepage @node Top, Overview, (dir), (dir) -@chapter Common Lisp Extensions +@chapter Introduction @noindent This document describes a set of Emacs Lisp facilities borrowed from @@ -82,12 +83,9 @@ does assume a basic familiarity with Emacs Lisp. @end menu @node Overview, Program Structure, Top, Top -@ifinfo +@ifnottex @chapter Overview -@end ifinfo -@iftex -@section Overview -@end iftex +@end ifnottex @noindent Common Lisp is a huge language, and Common Lisp systems tend to be @@ -139,7 +137,7 @@ Lisp version of the function (e.g., @code{assoc*}). The package described here was written by Dave Gillespie, @file{daveg@@synaptics.com}. It is a total rewrite of the original 1986 @file{cl.el} package by Cesar Quiroz. Most features of the -the Quiroz package have been retained; any incompatibilities are +Quiroz package have been retained; any incompatibilities are noted in the descriptions below. Care has been taken in this version to ensure that each function is defined efficiently, concisely, and with minimal impact on the rest of the Emacs @@ -738,6 +736,11 @@ The type symbol @code{null} represents the symbol @code{nil}. Thus @code{(typep @var{object} 'null)} is equivalent to @code{(null @var{object})}. +@item +The type symbol @code{atom} represents all objects that are not cons +cells. Thus @code{(typep @var{object} 'atom)} is equivalent to +@code{(atom @var{object})}. + @item The type symbol @code{real} is a synonym for @code{number}, and @code{fixnum} is a synonym for @code{integer}. @@ -994,7 +997,7 @@ just as with @code{setq}. @code{setf} returns the value of the last @var{form}. The following Lisp forms will work as generalized variables, and -so may legally appear in the @var{place} argument of @code{setf}: +so may appear in the @var{place} argument of @code{setf}: @itemize @bullet @item @@ -1076,7 +1079,7 @@ x (point-max))} in this case). @item A call of the form @code{(substring @var{subplace} @var{n} [@var{m}])}, -where @var{subplace} is itself a legal generalized variable whose +where @var{subplace} is itself a valid generalized variable whose current value is a string, and where the value stored is also a string. The new string is spliced into the specified part of the destination string. For example: @@ -2382,7 +2385,7 @@ that they are exclusive rather than inclusive limits: The @code{by} value is always positive, even for downward-counting loops. Some sort of @code{from} value is required for downward -loops; @samp{for x downto 5} is not a legal loop clause all by +loops; @samp{for x downto 5} is not a valid loop clause all by itself. @item for @var{var} in @var{list} by @var{function} @@ -2484,7 +2487,7 @@ are also recognized but are equivalent to @code{symbols} in Emacs Lisp. Due to a minor implementation restriction, it will not work to have more than one @code{for} clause iterating over symbols, hash tables, keymaps, overlays, or intervals in a given @code{loop}. Fortunately, -it would rarely if ever be useful to do so. It @emph{is} legal to mix +it would rarely if ever be useful to do so. It @emph{is} valid to mix one of these types of clauses with other clauses like @code{for ... to} or @code{while}. @@ -2730,7 +2733,7 @@ not automatically imply a return value. The loop must use some explicit mechanism, such as @code{finally return}, to return the accumulated result. -It is legal for several accumulation clauses of the same type to +It is valid for several accumulation clauses of the same type to accumulate into the same place. From Steele: @example @@ -3127,7 +3130,7 @@ and declare it inline all at once. (defsubst foo (...) ...) ; instead of defun @end example -@strong{Note:} This declaration remains in effect after the +@strong{Please note:} this declaration remains in effect after the containing source file is done. It is correct to use it to request that a function you have defined should be inlined, but it is impolite to use it to request inlining of an external @@ -3251,8 +3254,8 @@ In particular, (get sym prop) @equiv{} (getf (symbol-plist sym) prop) @end example -It is legal to use @code{getf} as a @code{setf} place, in which case -its @var{place} argument must itself be a legal @code{setf} place. +It is valid to use @code{getf} as a @code{setf} place, in which case +its @var{place} argument must itself be a valid @code{setf} place. The @var{default} argument, if any, is ignored in this context. The effect is to change (via @code{setcar}) the value cell in the list that corresponds to @var{property}, or to cons a new property-value @@ -3538,7 +3541,7 @@ be an integer in which case the new object is seeded from that integer; each different integer seed will result in a completely different sequence of random numbers. -It is legal to print a @code{random-state} object to a buffer or +It is valid to print a @code{random-state} object to a buffer or file and later read it back with @code{read}. If a program wishes to use a sequence of pseudo-random numbers which can be reproduced later for debugging, it can call @code{(make-random-state t)} to @@ -4578,7 +4581,7 @@ initialized from the corresponding argument. Slots whose names do not appear in the argument list are initialized based on the @var{default-value} in their slot descriptor. Also, @code{&optional} and @code{&key} arguments which don't specify defaults take their -defaults from the slot descriptor. It is legal to include arguments +defaults from the slot descriptor. It is valid to include arguments which don't correspond to slot names; these are useful if they are referred to in the defaults for optional, keyword, or @code{&aux} arguments which @emph{do} correspond to slots. @@ -5147,7 +5150,7 @@ difficult to port large Common Lisp applications to Emacs. For one, some of the features in this package are not fully compliant with ANSI or Steele; @pxref{Common Lisp Compatibility}. But there are also quite a few features that this package does not provide -at all. Here are some major omissions that you will want watch out +at all. Here are some major omissions that you will want to watch out for when bringing Common Lisp code into Emacs. @itemize @bullet