interactive-stream-p [Generic Function]
Summary: Returns t if object is an interactive stream, that is, a bidirectional stream intended for user interactions. Otherwise it returns nil . This is exactly the same function as in X3J13 Common Lisp, except that in CLIM it is a generic function.
The input editor is only fully implemented for interactive streams.
input-editing-stream [Protocol Class]
Summary: The protocol class that corresponds to an input editing stream. If you want to create a new class that behaves like an input editing stream, it should be a subclass of input-editing-stream . Subclasses of input-editing-stream must obey the input editing stream protocol.
input-editing-stream-p [Function]
Summary: Returns t if object is an input editing stream (that is, a stream of the sort created by a call to with-input-editing ), otherwise returns nil .
Summary: The class that implements CLIM's standard input editor. This is the class of stream created by calling with-input-editing .
Members of this class are mutable.
with-input-editing [Macro]
Arguments: (
&optional
stream
&key
input-sensitizer initial-contents)
&body
body
Summary: Establishes a context in which the user can edit the input typed in on the interactive stream stream . body is then executed in this context, and the values returned by body are returned as the values of with-input-editing . body may have zero or more declarations as its first forms.
The stream argument is not evaluated, and must be a symbol that is bound to an input stream. If stream is t (the default), *query-io* is used. If stream is a stream that is not an interactive stream, then with-input-editing is equivalent to progn .
input-sensitizer , if supplied, is a function of two arguments, a stream and a continuation function; the function has dynamic extent. The continuation, supplied by CLIM, is responsible for displaying output corresponding to the user's input on the stream. The input-sensitizer function will typically call with-output-as-presentation in order to make the output produced by the continuation sensitive.
If initial-contents is supplied, it must be either a string or a list of two elements, an object and a presentation type. If it is a string, it will be inserted into the input
buffer using replace-input . If it is a list, the printed representation of the object will be inserted into the input buffer using presentation-replace-input .
with-input-editor-typeout [Macro]
Arguments: (
&optional
stream)
&body
body
Summary: Establishes a context inside of with-input-editing in which output can be done by body to the input editing stream stream . with-input-editor-typeout should call fresh-line before and after evaluating the body. body may have zero or more declarations as its first forms.
The stream argument is not evaluated, and must be a symbol that is bound to a stream. If stream is t (the default), *query-io* is used. If stream is a stream that is not an input editing stream, then with-input-editor-typeout is equivalent to calling fresh-line , evaluating the body, and then calling fresh-line again.
Common Lisp Interface Manager 2.0 User's Guide - 7 Aug 2017