
Section 3.1 I've added the rule that the name of a package should be
lower-case (except the rule for multi-word names).

Section 6.7.  This rule stays the same.  (Sorry Laurent - you were out
voted.)  However, I added a line to descibe what to do for procedures
with no return value:

"For Tcl procedures that have no return value a single return statement
with no arguments is placed at the end of the procedure."

Figure 2.  I have a completely new example.  Here it is:

# tcl::HistRedo --
#
#       Fetch the previous or specified event, execute it, and then
#       replace the current history item with that event.
#
# Arguments:
#       event   (optional) index of history item to redo.  Defaults 
#                to -1, which means the previous event.
# Results:
#        The result is that of the command being redone.  Also replaces
#        the current history list item with the one being redone.

proc tcl::HistRedo {{event -1}} {
    ...
}

Section 9.1 Expanded to remind people to use file join & list, etc.

As Tcl/Tk has become more cross platform we have added commands that
aid in making your code more portable. The most common porting
mistakes result from assumptions about file names and locations. To
avoid such mistakes always use the file join command and list commands
so that you will handle different file separation characters or spaces
in file names. In Tk, you should always use provided high level dialog
boxes instead or creating your own. The font and menu commands has
also be revamped to make writing cross-platform code easier.

