5 |
@copying |
@copying |
6 |
This file documents the GNU Emacs Common Lisp emulation package. |
This file documents the GNU Emacs Common Lisp emulation package. |
7 |
|
|
8 |
Copyright (C) 1993, 2002 Free Software Foundation, Inc. |
Copyright (C) 1993, 2002, 2005 Free Software Foundation, Inc. |
9 |
|
|
10 |
@quotation |
@quotation |
11 |
Permission is granted to copy, distribute and/or modify this document |
Permission is granted to copy, distribute and/or modify this document |
991 |
@var{form}. |
@var{form}. |
992 |
|
|
993 |
The following Lisp forms will work as generalized variables, and |
The following Lisp forms will work as generalized variables, and |
994 |
so may legally appear in the @var{place} argument of @code{setf}: |
so may appear in the @var{place} argument of @code{setf}: |
995 |
|
|
996 |
@itemize @bullet |
@itemize @bullet |
997 |
@item |
@item |
1073 |
|
|
1074 |
@item |
@item |
1075 |
A call of the form @code{(substring @var{subplace} @var{n} [@var{m}])}, |
A call of the form @code{(substring @var{subplace} @var{n} [@var{m}])}, |
1076 |
where @var{subplace} is itself a legal generalized variable whose |
where @var{subplace} is itself a valid generalized variable whose |
1077 |
current value is a string, and where the value stored is also a |
current value is a string, and where the value stored is also a |
1078 |
string. The new string is spliced into the specified part of the |
string. The new string is spliced into the specified part of the |
1079 |
destination string. For example: |
destination string. For example: |
2379 |
|
|
2380 |
The @code{by} value is always positive, even for downward-counting |
The @code{by} value is always positive, even for downward-counting |
2381 |
loops. Some sort of @code{from} value is required for downward |
loops. Some sort of @code{from} value is required for downward |
2382 |
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 |
2383 |
itself. |
itself. |
2384 |
|
|
2385 |
@item for @var{var} in @var{list} by @var{function} |
@item for @var{var} in @var{list} by @var{function} |
2481 |
Due to a minor implementation restriction, it will not work to have |
Due to a minor implementation restriction, it will not work to have |
2482 |
more than one @code{for} clause iterating over symbols, hash tables, |
more than one @code{for} clause iterating over symbols, hash tables, |
2483 |
keymaps, overlays, or intervals in a given @code{loop}. Fortunately, |
keymaps, overlays, or intervals in a given @code{loop}. Fortunately, |
2484 |
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 |
2485 |
one of these types of clauses with other clauses like @code{for ... to} |
one of these types of clauses with other clauses like @code{for ... to} |
2486 |
or @code{while}. |
or @code{while}. |
2487 |
|
|
2727 |
explicit mechanism, such as @code{finally return}, to return |
explicit mechanism, such as @code{finally return}, to return |
2728 |
the accumulated result. |
the accumulated result. |
2729 |
|
|
2730 |
It is legal for several accumulation clauses of the same type to |
It is valid for several accumulation clauses of the same type to |
2731 |
accumulate into the same place. From Steele: |
accumulate into the same place. From Steele: |
2732 |
|
|
2733 |
@example |
@example |
3248 |
(get sym prop) @equiv{} (getf (symbol-plist sym) prop) |
(get sym prop) @equiv{} (getf (symbol-plist sym) prop) |
3249 |
@end example |
@end example |
3250 |
|
|
3251 |
It is legal to use @code{getf} as a @code{setf} place, in which case |
It is valid to use @code{getf} as a @code{setf} place, in which case |
3252 |
its @var{place} argument must itself be a legal @code{setf} place. |
its @var{place} argument must itself be a valid @code{setf} place. |
3253 |
The @var{default} argument, if any, is ignored in this context. |
The @var{default} argument, if any, is ignored in this context. |
3254 |
The effect is to change (via @code{setcar}) the value cell in the |
The effect is to change (via @code{setcar}) the value cell in the |
3255 |
list that corresponds to @var{property}, or to cons a new property-value |
list that corresponds to @var{property}, or to cons a new property-value |
3535 |
integer; each different integer seed will result in a completely |
integer; each different integer seed will result in a completely |
3536 |
different sequence of random numbers. |
different sequence of random numbers. |
3537 |
|
|
3538 |
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 |
3539 |
file and later read it back with @code{read}. If a program wishes |
file and later read it back with @code{read}. If a program wishes |
3540 |
to use a sequence of pseudo-random numbers which can be reproduced |
to use a sequence of pseudo-random numbers which can be reproduced |
3541 |
later for debugging, it can call @code{(make-random-state t)} to |
later for debugging, it can call @code{(make-random-state t)} to |
4575 |
do not appear in the argument list are initialized based on the |
do not appear in the argument list are initialized based on the |
4576 |
@var{default-value} in their slot descriptor. Also, @code{&optional} |
@var{default-value} in their slot descriptor. Also, @code{&optional} |
4577 |
and @code{&key} arguments which don't specify defaults take their |
and @code{&key} arguments which don't specify defaults take their |
4578 |
defaults from the slot descriptor. It is legal to include arguments |
defaults from the slot descriptor. It is valid to include arguments |
4579 |
which don't correspond to slot names; these are useful if they are |
which don't correspond to slot names; these are useful if they are |
4580 |
referred to in the defaults for optional, keyword, or @code{&aux} |
referred to in the defaults for optional, keyword, or @code{&aux} |
4581 |
arguments which @emph{do} correspond to slots. |
arguments which @emph{do} correspond to slots. |