[PD-dev] tcl 8.5 help browser bug and a fix

ico at vt.edu ico at vt.edu
Mon Feb 19 04:58:32 CET 2007


Hi all,

Tried sending a couple of e-mails not realizing I am not subscribed to dev
list... DOH! So, please prepare for a small salvo of e-mails :-)

Topic #1: tcl/tk 8.5 help browser bug

This help browser bug using CVS and tcl/tk 8.5 has been present since at least
last fall. After digging through the code, I found the following:

proc doc_make_listbox {base dir count} {
    # check for [file readable]?
    if { [info tclversion] >= 8.5 } {
        # requires Tcl 8.5 but probably deals with special chars better
#        destroy {expand}[lrange [winfo children $base] [expr {2 * $count}] end]
    } else {

The comment before "destroy" in effect disables destroying of children widgets
and causes errors whenever I have more than one column open and try to click on
a column preceding one that is already created. The error reported is that the
"listbox1-list already exists" and the only way around is to close the help
browser and reopen it. This obviously prevents going up the file tree once a
particular subfolder has been opened which obviously means it is a non-lethal
bug, but nonetheless annoying.

The fix is obvious, remove the comment from the offending line and everything
works like a charm:

proc doc_make_listbox {base dir count} {
    # check for [file readable]?
    if { [info tclversion] >= 8.5 } {
        # requires Tcl 8.5 but probably deals with special chars better
        destroy {expand}[lrange [winfo children $base] [expr {2 * $count}] end]
    } else {

It would be great if one of the devs/maintiners would please commit this change
(I'd do it but I have not bothered to get the CVS dev access).

Many thanks!

Best wishes,

Ico






More information about the Pd-dev mailing list