Tcl/Tk For Real Programmers: Errata |
Despite the best efforts of a dozen proofreaders, a few glitches managed to slip into Tcl/Tk for Real Programmers. I apologise for letting these slip by me.
If you find a new error, please let me know, and you can be immortalized with the other careful readers.
The last lines in this example should be:
puts $popSock QUIT;
flush $popSock
close $popSock
This will terminate the POP session, and then close the socket.
This line should not be present. There is no
An entity identified as
The third paragraph on this page should be in that position:
An entity identified as
Les Johnson noticed that on p. 185 I claim that the
command, calling script can provide the name...
should read
command, the calling script can provide the name...
The discussion is accurate for an example with the braces. Without the
braces,
Alex points out that arguments to
The file Extra field in text
In the middle of P123 is a line:
nodeID
The node identifier
nodeID
in
the treeID.tree.Key
name convention.
Wrong heading on example code
Example 5.5.2-1 should be titled TreeCreate
, not
TreeGetNameParts
extra bogus paragraph
The fourth paragraph on this page should have been deleted:
bar::baz
represents an entity
named baz
that is a member of the namespace bar
,
which was created in the current scope...
foo::bar
represents an entity named
bar
that exists in the namespace foo
. The namespace
foo
is a child namespace in the current namespace.
namespace export
exports procedure names, not variable namesnamespace export
and namespace import
commands will export both variables and
procedures. My book is wrong. The man page and the source code both show
that only procedure names are exported and imported.
Missing 'the'
On line 16, the phrase:
Missing Braces
Alexandre Ferrieux noticed that the example on P. 455, discussing
when Tcl does the conversion between native and string format data
should have a set of braces:
[expr {$x + 2}]
$x
is replaced by the string value of
x
in the substitution phase before evaluating the
expr
command. This causes a native->string conversion
to be done in the substitution phase before the expr
command starts performing math (and converts the string back into a
number.
expr
should be placed
in braces for efficiency. If the braces are left out the interpreter
performs double conversions.
Missing Arguments
Andreas Kupries discovered that on P 612 I left out the procedure arguments
in both the examples. They should read:
# Don't use this technique
proc initializeParameters {} {
global height width linecolor
set height 100
set width 200
set linecolor blue
}
# Use this technique
proc initializeParameters {} {
global globalParams
set globalParams(height) 100
set globalParams(width) 200
set globalParams(linecolor) blue
}
Incr Tcl Install Instructions
Jan Nijtmans informs me that despite my claims, his img11p3.exe
package will not install [incr Tcl]
.
itcl22.exe
(in the incr_tcl
subdirectory
will install [incr Tcl]
, while the img11p3.exe
file (in the img
subdirectory) will install Jan's img extension.
Return to Clif Flynts Home Page