| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |
Arguments: string &optional (eof-error-p t)eof-value &key (start 0) end (read-error-p t) read-error-expr read-error-value (eval-error-p t) eval-error-value
This function combines the effects of read-from-string and eval in one function call. It is provided to allow a Java application to specify fairly complex behavior in a single call from Java to Lisp with arguments that can be easily manufactured in Java code.
In the most common and simplest behavior, the s-expression in the string argument is read and evaluated, and the values are returned to the caller.
The arguments string,
eof-error-p, eof-value,
start, and end are passed to
read-from-string to control
how the reeading of the string is done. The default for
eof-error-p is t
.
If the call to read-from-string signals an error, then the
behavior is determined by the read-error-p
argument (which has a default value of t
).
If the read-error-p argument is non-nil
, then the error signaled by read-from-string is propagated to the calling
context. If the read-error-p argument is nil
, then the read-error-expr
argument is examined. If the argument is omitted, then the value of
the eval-error-value argument is used as the
result of the read-from-string
operation. If the read-error-expr argument is a
string, then read-from-string
is called on this string and the result is used as the result of the
original read-from-string
operation. If the read-error-expr argument is
supplied, and is not a string, then it is used as the result of the
original read-from-string
operation.
The result of the read-from-string operation is then evaluated and
the values are returned to the caller. If an error is signaled during
the evaluation, the behavior is controlled by the
eval-error-p argument (the default is t
). If the eval-error-p
argument is non-nil
, then the error signaled
by eval is propagated to the
calling context. If the eval-error-p argument is
nil
, then the
eval-error-value is returned to the caller.
See jlinker.htm for more information on the jLinker facility.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |