HPUX AssembCmd[3]

Tcl_AssembleCmd(3) Tcl_AssembleCmd(3)
___________________________________________________________________________
NAME
Tcl_CreateCmdBuf, Tcl_AssembleCmd, Tcl_DeleteCmdBuf - buffer pieces of
Tcl commands
SYNOPSIS
#include <tcl.h>
Tcl_CmdBuf
Tcl_CreateCmdBuf()
Tcl_DeleteCmdBuf(buffer)
char *
Tcl_AssembleCmd(buffer, string) |
int
Tcl_CommandComplete(cmd)
ARGUMENTS
Tcl_CmdBuf buffer (in) Token for a command buffer (the
result of some previous call to
Tcl_CreateCmdBuf).
char *string (in) Additional piece of command input to
be added to anything currently
buffered.
char *cmd (in) Command string to test for |
completeness. |
___________________________________________________________________________
DESCRIPTION
These procedures provide a convenient mechanism for assembling Tcl
commands from an input source where command boundaries are not
obvious. For example, if input is being read from a terminal, a user
may type commands that span multiple lines. In situations like this,
Tcl_AssembleCmd can be called with the individual lines as they are
received. It buffers the lines internally and returns full commands
when they are complete.
A command buffer is created by calling Tcl_CreateCmdBuf, and it is
deleted by calling Tcl_DeleteCmdBuf. There may be any number of
command buffers for a particular program or even for a particular
interpreter; in most cases there should be one buffer for each
independent source of command input.
When input arrives from a source you should call Tcl_AssembleCmd,
passing it the new input as the string argument. Tcl_AssembleCmd will
- 1 - Formatted: August 11, 1996
Tcl_AssembleCmd(3) Tcl_AssembleCmd(3)
add the new input to anything currently buffered in buffer. If the
information now buffered represents a complete Tcl command (i.e. there
are no unclosed quotes, braces, brackets, or variable references),
then Tcl_AssembleCmd returns a pointer to the complete command and
arranges for the buffer to be cleared on the next call to
Tcl_AssembleCmd. If the command is still incomplete (because, for
example, there are unmatched braces) then Tcl_AssembleCmd returns
NULL. Tcl_AssembleCmd keeps a private copy of the command being
assembled, so that the caller need not preserve the contents of string
between calls to Tcl_AssembleCmd. Tcl_AssembleCmd supports commands
of arbitrary length (up to the total memory limit imposed by the
operating system, if any).
The procedure Tcl_CommandComplete takes a Tcl command string as |
argument and determines whether the command string is complete in the |
sense defined above. If so then it returns 1; otherwise it returns 0. |
KEYWORDS
assemble, buffer, partial command
- 2 - Formatted: August 11, 1996