Generic Function | Package: net.jlinker | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version

## eval-from-string

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-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version