X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/2d4c95097a4fb7601070751e9d444eb3bcad467a..57596fb6244238787666c4c4f1c2c98cb361e86a:/man/cl.texi diff --git a/man/cl.texi b/man/cl.texi index 93923fc591..6c717066e2 100644 --- a/man/cl.texi +++ b/man/cl.texi @@ -2,21 +2,12 @@ @setfilename ../info/cl @settitle Common Lisp Extensions -@dircategory Emacs -@direntry -* CL: (cl). Partial Common Lisp support for Emacs Lisp. -@end direntry - -@iftex -@finalout -@end iftex - -@ifinfo +@copying This file documents the GNU Emacs Common Lisp emulation package. -Copyright (C) 1993 Free Software Foundation, Inc. - +Copyright (C) 1993, 2002 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 any later version published by the Free Software Foundation; with no @@ -33,7 +24,15 @@ This document is part of a collection distributed under the GNU Free Documentation License. If you want to distribute this document separately from the collection, you can do so by adding a copy of the license to the document, as described in section 6 of the license. -@end ifinfo +@end quotation +@end copying + +@dircategory Emacs +@direntry +* CL: (cl). Partial Common Lisp support for Emacs Lisp. +@end direntry + +@finalout @titlepage @sp 6 @@ -46,26 +45,8 @@ license to the document, as described in section 6 of the license. @center Dave Gillespie @center daveg@@synaptics.com @page - @vskip 0pt plus 1filll -Copyright @copyright{} 1993 Free Software Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 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 -license is included in the section entitled ``GNU Free Documentation -License'' in the Emacs manual. - -(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify -this GNU Manual, like GNU software. Copies published by the Free -Software Foundation raise funds for GNU development.'' - -This document is part of a collection distributed under the GNU Free -Documentation License. If you want to distribute this document -separately from the collection, you can do so by adding a copy of the -license to the document, as described in section 6 of the license. +@insertcopying @end titlepage @node Top, Overview, (dir), (dir) @@ -121,6 +102,16 @@ control structures to Emacs Lisp. While not a 100% complete implementation of Common Lisp, @dfn{CL} adds enough functionality to make Emacs Lisp programming significantly more convenient. +@strong{Please note:} the @dfn{CL} functions are not standard parts of +the Emacs Lisp name space, so it is legitimate for users to define +them with other, conflicting meanings. To avoid conflicting with +those user activities, we have a policy that packages installed in +Emacs must not load @dfn{CL} at run time. (It is ok for them to load +@dfn{CL} at compile time only, with @code{eval-when-compile}, and use +the macros it provides.) If you are writing packages that you plan to +distribute and invite widespread use for, you might want to observe +the same rule. + Some Common Lisp features have been omitted from this package for various reasons: @@ -280,7 +271,7 @@ defun* defsubst* defmacro* function* member* assoc* rassoc* get* remove* delete* mapcar* sort* floor* ceiling* truncate* round* -mod* rem* random* last* +mod* rem* random* @end example Internal function and variable names in the package are prefixed @@ -3360,7 +3351,7 @@ which were left out of Emacs Lisp. * Predicates on Numbers:: `plusp', `oddp', `floatp-safe', etc. * Numerical Functions:: `abs', `floor*', etc. * Random Numbers:: `random*', `make-random-state' -* Implementation Parameters:: `most-positive-fixnum', `most-positive-float' +* Implementation Parameters:: `most-positive-float' @end menu @iftex @@ -3567,16 +3558,6 @@ This predicate returns @code{t} if @var{object} is a @noindent This package defines several useful constants having to with numbers. -@defvar most-positive-fixnum -This constant equals the largest value a Lisp integer can hold. -It is typically @code{2^23-1} or @code{2^25-1}. -@end defvar - -@defvar most-negative-fixnum -This constant equals the smallest (most negative) value a Lisp -integer can hold. -@end defvar - The following parameters have to do with floating-point numbers. This package determines their values by exercising the computer's floating-point arithmetic in various ways. Because this operation @@ -3795,10 +3776,11 @@ that it passes in the list pointers themselves rather than the @end defun @defun mapc function seq &rest more-seqs -This function is like @code{mapcar*}, except that the values -returned by @var{function} are ignored and thrown away rather -than being collected into a list. The return value of @code{mapc} -is @var{seq}, the first sequence. +This function is like @code{mapcar*}, except that the values returned +by @var{function} are ignored and thrown away rather than being +collected into a list. The return value of @code{mapc} is @var{seq}, +the first sequence. This function is more general than the Emacs +primitive @code{mapc}. @end defun @defun mapl function list &rest more-lists @@ -4147,7 +4129,7 @@ a merged sequence which is (stably) sorted according to The functions described here operate on lists. @menu -* List Functions:: `caddr', `first', `last*', `list*', etc. +* List Functions:: `caddr', `first', `list*', etc. * Substitution of Expressions:: `subst', `sublis', etc. * Lists as Sets:: `member*', `adjoin', `union', etc. * Association Lists:: `assoc*', `rassoc*', `acons', `pairlis' @@ -4193,20 +4175,6 @@ with @code{nil}), this function returns @code{nil}. (The regular @code{length} function would get stuck if given a circular list.) @end defun -@defun last* x &optional n -This function returns the last cons, or the @var{n}th-to-last cons, -of the list @var{x}. If @var{n} is omitted it defaults to 1. -The ``last cons'' means the first cons cell of the list whose -@code{cdr} is not another cons cell. (For normal lists, the -@code{cdr} of the last cons will be @code{nil}.) This function -returns @code{nil} if @var{x} is @code{nil} or shorter than -@var{n}. Note that the last @emph{element} of the list is -@code{(car (last @var{x}))}. - -The Emacs function @code{last} does the same thing -except that it does not handle the optional argument @var{n}. -@end defun - @defun list* arg &rest others This function constructs a list of its arguments. The final argument becomes the @code{cdr} of the last cell constructed.