This is the cltcl Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 05:43:11 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
cltcl
Embed Tcl/Tk scripts in Common Lisp
Paul Griffioen
MIT, see file LICENSE
0.0.1
package.lisp
(file).
cltcl.lisp
(file).
communication.lisp
(file).
protocol.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
cltcl/cltcl.lisp
package.lisp
(file).
cltcl
(system).
escape
(function).
format-script
(function).
read-list
(function).
read-script
(function).
read-tcl-list-from-string1
(function).
read-word
(function).
write-list-to-tcl-string
(function).
clean-script
(function).
read-braced
(function).
read-comment
(function).
read-double-quoted
(function).
read-white-space
(function).
read-word-aux
(function).
write-escaped
(function).
write-escaped-char
(function).
write-tcl-string
(function).
cltcl/communication.lisp
cltcl.lisp
(file).
cltcl
(system).
close-tcl/tk-stream
(function).
open-tcl/tk-stream
(function).
receive-line
(function).
send-script
(function).
with-tcl/tk
(macro).
cltcl/protocol.lisp
communication.lisp
(file).
cltcl
(system).
*debug*
(special variable).
*interpreter*
(special variable).
*stream*
(special variable).
*trace-level*
(special variable).
call
(function).
event-loop
(function).
keep-listening
(function).
post
(function).
repl
(function).
run
(function).
funa
(function).
func
(function).
handle-event
(function).
handshake
(function).
listen-for-reply
(function).
log-status
(function).
message-data
(function).
message-tag
(function).
receive-message
(function).
run-repl
(function).
run-script
(function).
run-sub-script
(function).
script-for-command
(function).
send-message
(function).
tcl/tk-setup-script
(function).
test
(function).
Packages are listed by definition order.
cltcl
common-lisp
.
common-lisp-user
.
*debug*
(special variable).
*interpreter*
(special variable).
*stream*
(special variable).
*trace-level*
(special variable).
call
(function).
close-tcl/tk-stream
(function).
escape
(function).
event-loop
(function).
format-script
(function).
keep-listening
(function).
open-tcl/tk-stream
(function).
post
(function).
read-list
(function).
read-script
(function).
read-tcl-list-from-string1
(function).
read-word
(function).
receive-line
(function).
repl
(function).
run
(function).
send-script
(function).
with-tcl/tk
(macro).
write-list-to-tcl-string
(function).
clean-script
(function).
funa
(function).
func
(function).
handle-event
(function).
handshake
(function).
listen-for-reply
(function).
log-status
(function).
message-data
(function).
message-tag
(function).
read-braced
(function).
read-comment
(function).
read-double-quoted
(function).
read-white-space
(function).
read-word-aux
(function).
receive-message
(function).
run-repl
(function).
run-script
(function).
run-sub-script
(function).
script-for-command
(function).
send-message
(function).
tcl/tk-setup-script
(function).
test
(function).
write-escaped
(function).
write-escaped-char
(function).
write-tcl-string
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
If not nil the commands of a script are send one by one to the interpreter. This eases localization of errors. Default nil.
The default Tcl/Tk interpreter. Default value is /usr/bin/wish.
A two-way-stream connected to a Tcl/Tk interpreter or NIL if no such interpreter is running. This stream is used by functions CALL, POST and RUN.
An integer that determines which events are traced in clTcl’s communication protocol between Lisp and Tcl/Tk. Setting a larger number gives trace messages. Level -1 (the default) is complete silence, level 0 is errors only, level 1 is errors and events, level 2 is errors, events and event details.
Uses OPEN-TCL/TK-STREAM to start a Tcl/Tk interpreter and connect to it by a two-way stream. Arguments ARGS are used as keyword arguments to OPEN-TCL/TK-STREAM. The forms in BODY are evaluated as an implicit progn with VAR bound to the stream returned by OPEN-TCL/TK-STREAM. When control leaves the body, either normally or abnormally, the stream is closed with CLOSE-TCL/TK-STREAM.
Calls Tcl/Tk command COMMAND with arguments ARGS properly escaped. Arguments of type symbol are writting to a string and prefixed with a hyphen to support keyword for Tcl options. Other arguments are written to string if necessary and properly escaped. This function is typically used in a event that was invoked in a clTcl script run by EVENT-LOOP. Sends the command to *STREAM*.
Instructs the Tcl/Tk process associated with STREAM to exit and closes the stream. Arguments STREAM must be a stream created by OPEN-TCL/TK-STREAM. This function is implementation dependent.
Escapes all characters that have a special meaning for Tcl (includes whitespace) with a backslash.
Starts Tcl/Tk interpreter located at INTERPRETER, binds *STREAM* to the stream that connects to Tcl/Tk, binds *INTERPRETER* to INTERPRETER, runs SCRIPT on ARGUMENTS and starts listening on the stream. Use command ’exit’ to end the listener. Establishes a binding for restart KEEP-LISTENING to recover from errors in an event handler. The default value for INTERPRETER is *INTERPRETER. Keyword OPTIONS is passed to the interpreter.
Applies function FORMAT to SCRIPT’s commands sequentially. Each element consumes its required formatter arguments from ARGS, leaving the rest of the arguments for the rest of the commands. For clTcl script written with #TCL[...] this gives the effect of a single format on the entire Tcl code.
A restart applicable during errors in events. Transfers control back to Tcl and resumes listening.
Starts a Tcl/Tk interpreter and creates and returns a two-way stream connected to this Tcl/Tk process. This function and the meaning of arguments INTERPRETER and OPTIONS are implementation dependent.
Posts Tcl/Tk command COMMAND with arguments ARGS properly escaped as an event and does not wait for a reply. Arguments of type symbol are writting to a string and prefixed with a hyphen to support keyword for Tcl options. Other arguments are written to string if necessary and properly escaped. Sends the command to *STREAM*.
Reads a Tcl list from STREAM. Reads Tcl words until an end of file occurs or READ-WORD finds TERMINATOR (when given), a semi-colon or a newline. The Tcl list is returned as a string. The default value for STREAM is *STANDARD-INPUT*. Returns NIL if end of file is found immediately.
Reads a Tcl script from STREAM. Reads Tcl commands until READ-LIST finds TERMINATOR (when given) or an end of file occurs. Returns the commands as a list of strings. The default value for STREAM is *STANDARD-INPUT*.
Converts Tcl list STRING into a list of strings. Items are delimited by whitespace.
Reads a Tcl word from STREAM and returns it as a string. Reads characters untill the next one is a terminator. The terminator itself is not read. Terminators are TERMINATOR (when given), whitespace or Tcl list terminators. Throws an error if an end of file occurs, unless EOF-ERROR-P is nil, in which case it returns EOF-VALUE. If ECHO-P is non nil then escape characters are not handled and the word is literally copied.
Reads a Tcl list from STREAM including the terminating character. Returns nil if an end of file occurs.
A read-eval-print loop. Useful for development. Prompts for commands to send to the Tcl/Tk interpreter and prints the reply.
Sends SCRIPT via *STREAM* to Tcl/Tk and waits for a reply. This function is typically used in a event that was invoked in a clTcl script run by EVENT-LOOP. Sets Tcl/Tk variable argv to ARGS, properly escaped.
Sends clTcl script SCRIPT to a running Tcl/Tk interpreter via stream STREAM. The stream must be one that was opened with OPEN-TCL/TK-STREAM. The script must be a list of strings, each string being a valid Tcl command.
Converts list to a Tcl string. Nested lists are converted recursively. Strings are escaped. Other values are written to string and escaped.
Removes all empty strings and comments from command list SCRIPT.
Helper for TEST
Helper for TEST
Handles EVENT that was read from a Tcl/Tk stream. Calls the requested Lisp function and returns the results. Restart KEEP-LISTENING is available during the event.
Sends a message to Tcl/Tk stream to test if it responds. Throws an error when no appropriate message comes back.
Receives messages from STREAM until a reply is received. Incoming events and errors are handled. Returns the data from the reply.
Writes formatted text to *TRACE-OUTPUT* if LEVEL is at least as high as *TRACE-LEVEL*. Level 0 is for errors, level 1 is for events, level 2 is for event details.
The data of the message obtained with RECEIVE-MESSAGE. The contents depends on the type of message.
The tag of the message obtained with RECEIVE-MESSAGE. One of the symbols :reply, :event or :error.
Reads a Tcl braced expression from STREAM.
Reads a line of Tcl comment from STREAM but leaves the newline.
Reads a Tcl double quoted expression from STREAM.
Reads white space from STREAM, except newlines.
Helper for READ-WORD.
Attempts to read a message from stream. Functions MESSAGE-TAG yields the tag of the message. Function MESSAGE-DATA yields the data. Counterpart of Tcl proc sendMessage
Stub to test function REPL. Demonstrates how the repl might be added to an application via an event-handler.
Sends a script directly to the Tcl/Tk interpreter and waits for a reply.
Sends a script to the listener that triggered the event that triggered this call and waits for a reply. The script is picked up and evaluated by a listener at the Tcl/Tk side.
Script that performs command with all arguments safely escaped.
Counterpart is Tcl proc receiveMessage
Script that creates Tcl procedures in Tcl/Tk to communicate to Lisp.
Tests the connection with Tcl/Tk and displays systems
information. Sets *TRACE-LEVEL* to TRACE-LEVEL. The other keywords are
passed to the event handler. See OPEN-TCL/TK-STREAM for allowed
keywords.
Escapes all characters that have a special meaning for Tcl (includes whitespace) with a backslash.
Writes character CHAR to stream. Special Tcl escape characters \b, \f, \r,\n and \t are converted.
Converts list to a Tcl string. Nested lists are converted recursively. Strings are escaped. Other values are written to string and escaped.
Jump to: | C E F H K L M O P R S T W |
---|
Jump to: | C E F H K L M O P R S T W |
---|
Jump to: | *
S |
---|
Jump to: | *
S |
---|
Jump to: | C F P S |
---|
Jump to: | C F P S |
---|