# ticket

tkt_uuid: 3601370fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 9 Immediate
foundin: None
resolution: Fixed
title: Doctools nroff/groff output not supported by tcltk-man2html
comment:
  This is related to Tcl bug 3600058 "Doctools nroff/groff output not supported by tcltk-man2html" (https://sourceforge.net/tracker/index.php?func=detail&aid=3600058&group_id=10894&atid=110894).  Most of the cases listed here are invalid input or invalid nroff.  Valid nroff not supported by the Tcl tool is being addressed in the Tcl bug.

  Required action: most of the issues below have proposed fixes, and those fixes have been implemented (or are being implemented) in a patch.  Mostly I need to get a YES/NO on each proposed fix (and for NO a suggested approach).

  Issue #1: Rendering of Copyright is inappropriate for files in the public domain

  c_get_copyright in doctools/mpformats/_common.tcl currently renders public domain as "Copyright (c) Public domain".  Suggested fix is to handle "public domain" as a special case that doesn't get a "Copyright (c)" prefix.

  Issue #2: Some Copyright statements include the word "copyright"

  Invalid input problem; examples are amazon-s3/S3.man and amazon-s3/xsxp.man.  Option A is to strip leading "copyring" and/or "(c)" from the copyright parameter.  Option B is to fix the .man pages, but I'm hesitant to do so as (i) this probably should require the copyright holder's approval; and (ii) if any authors maintain their own upstream repositories the change should be committed there.  Proposed fix is A (as a workaround), and to request authors to approve or make a change to the source.

  Issue #3: Doctools can generate nroff output where non-directive lines start with a period (invalid nroff)

  See for example snit/snitfaq.man, where [example] blocks may contain widget names like '.text'.  Suggested fix is that the nroff formatter (mpformats/_nroff.tcl) should quote leading "." on non-directive lines.

  Issue #4: Doctools can still generate nroff output where non-directive lines start with a period

  Parts of the nroff output are explicitly handled by mpformats/fmt.nroff, in particular the output of keywords.  If a keyword starts with a period (e.g. .dtx in docstrip/docstrip.man) it will be sorted to the front of the keyword list and result in invalid nroff output.  Suggested fix is to explicitly check for a quote a leading period in the keyword line (in fmt.nroff).

  Issue #5: Bad output from ldap/ldap.man

  This turns out to be a bad input problem - the .man file has "[call ::ldap::searchInit]" in the middle of a paragraph, instead of "[cmd ::ldap::searchInit]".

  Issue #6: Bad output from pop3/pop3.man

  This turns out to be a bad input problem - the .man file has a trailing period on the line "[opt_def -retr-mode ...].".

  Issue #7: Spaces in man page names

  struct/graph1.man, struct/matrix1.man, and struct/struct_tree1.man all have [manpage_begin] statements in which the name contains a space: {struct::graph v1} {struct::matrix v1} and {struct::tree v1} respectively.  Proposed fix is to use underscore (_) instead of space, giving struct::graph_v1, struct::matrix_v1, and struct::tree_v1.

  Issue #8: Inappropriate copyright statements

  A number of files contain copyright statements in formats that may not have appropriate legal effect.

    No date:
    expander: COPYRIGHT: merge-copyrights: unrecognised format: Copyright (c) William H. Duquette, http://www.wjduquette.com/expand
    smtpd: COPYRIGHT: merge-copyrights: unrecognised format: Copyright (c) Pat Thoyts <patthoyts@users.sourceforge.net>
    Invalid date:
    namespacex: COPYRIGHT: merge-copyrights: unrecognised format: Copyright (c) 200? Neil Madden (http://wiki.tcl.tk/12790)
    namespacex: COPYRIGHT: merge-copyrights: unrecognised format: Copyright (c) 200? Various (http://wiki.tcl.tk/1489)
    soundex: COPYRIGHT: merge-copyrights: unrecognised format: Copyright (c) ????, Algorithm: Donald E. Knuth
    Weird date:
    OpenTcp: CATEGORY: merge-copyrights: unrecognised date format: Copyright (c) 1996-7 Sun Microsystems, Inc.

  I'm really not sure how to handle these.  Best option may be to request the authors to fix their copyright statements.  The effect is that for now these authors won't (necessarily) be reflected in the summary of copyright holders that is added to the table of contents.

  Issue #9: Multiple definitions for coroutine, doctools::idx, interp, tie, try, 

  Tcllib packages define man pages with the same name as Tcl core commands coroutine, interp and try.  Proposed fix is to add a "tcllib" prefix to Tclllib pages, and fix up references.

  Within Tcllib there are multiple man pages providing definitions of doctools::idx and tie.  Proposed fix is to add a version suffix (as for graph/matrix/tree) and fix up references.

  Issue #10: Unvestigated

  Once the above issues are resolved there remain three more types of error when converting .man --(doctools)--> .n --(tcltk-man2html)--> .html:

  A. struct_list: make-manpage-section: ignoring .TP after .TP
  B. treeql: EXAMPLES: output-directive: unrecognized format directive: ... TODO ...
  C. calculus.n: reference error: Out of place end-quote: {<PRE>Dy'' + ky = 0
  x = 0: y = 1
  x = L: y = 0</PRE>}

  The causes have not yet been investigated.


tkt_uuid: 1254937fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Duplicate
title: Binary files get an extra line feed at the end
comment:
  Binary mime parts get an extra line feed at the end,
  before the border.

  I have submitted patch 1254934 as a proposal to fix
  this problem.


tkt_uuid: 477130ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Big combobox api changes not documented
comment:
  In revision 1.14 of the combobox the LabelFrame was
  removed from the ComboBox (looking at the changelog for
  some speedimprovement).

  All the docs especially Changes.txt do not mention
  this. Also the html doc was not updated.

  It's nice that it's faster but why just ditch a lot of 
  functionality (ok I'm not 100% objective since I was
  using that functionality :) )?

  I'll personally settle for a mention of it in the docs
  =) I'll make a slow combobox myself I guess...

  Thanks,

  Ric


tkt_uuid: 603953ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Duplicate
title: Scrolledframe on Mac OSX - 10.1.5
comment:
  It looks like scrolled frames/windows don't work properly under 
  Mac OSX 10.1.5. The scrollbars appear but cannot be moved. I 
  see the same behaviour in the demos provided with BW and my 
  own code.

  Thanks


tkt_uuid: 3076576fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math
priority: 5 Medium
foundin: None
resolution: Fixed
title: Wrong number of arguments in test isprime-2.0 of numtheory
comment:
  Test isprime-2.0 uses a mock-up Miller-Rabin test procedure, but the number of arguments is 3, instead of 4.

  Here is the report:

  ==== modules/math/numtheory.test isprime-2.0 FAILED =========
  ==== Contents of test case:

     ::math::numtheory::Miller--Rabin 127 -randommr 500

  ---- Result was:
  ---- Return code should have been one of: 0 2
  ---- errorInfo: wrong # args: should be "::math::numtheory::Miller--Rabin n s d a"
      while executing
  "::math::numtheory::Miller--Rabin 127 -randommr 500"
      ("uplevel" body line 2)
      invoked from within
  "uplevel 1 $script"
  ---- Result should have been:

  ==== modules/math/numtheory.test isprime-2.0 ====


tkt_uuid: 514475ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 8
foundin: None
title: request to add listx to tcllib
comment:
  listx is a project by one or more of the Tcl community
  to create an integrated list handling command for tcl.
  It would consist of a superset of (all?) commonly
  existing extension Tcl list handling functions.  See
  http://www.purl.org/net/akupries/tcltk.html for details
  .


tkt_uuid: 1813193fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ftp - FXP - cross server transfer not going through client
comment:
  Is it possible to add FXP support? RFC959 describes the implementation of FXP as follows:

        When data is to be transferred between two servers, A and B (refer
        to Figure 2), the user-PI, C, sets up control connections with
        both server-PI's.  One of the servers, say A, is then sent a PASV
        command telling him to "listen" on his data port rather than
        initiate a connection when he receives a transfer service command.
        When the user-PI receives an acknowledgment to the PASV command,
        which includes the identity of the host and port being listened
        on, the user-PI then sends A's port, a, to B in a PORT command; a
        reply is returned.  The user-PI may then send the corresponding
        service commands to A and B.  Server B initiates the connection
        and the transfer proceeds.  The command-reply sequence is listed
        below where the messages are vertically synchronous but
        horizontally asynchronous:

           User-PI - Server A                User-PI - Server B
           ------------------                ------------------

           C->A : Connect                    C->B : Connect
           C->A : PASV
           A->C : 227 Entering Passive Mode. A1,A2,A3,A4,a1,a2
                                             C->B : PORT A1,A2,A3,A4,a1,a2
                                             B->C : 200 Okay
           C->A : STOR                       C->B : RETR
                      B->A : Connect to HOST-A, PORT-a


  If you would like to discuss this with me any further, please contact me at: pill_uk@hotmail.com


tkt_uuid: 435471ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: paned window problem
comment:
  When adding a large widget to a pane of a paned window,
  the panes already present do no keep their relative
  sizes. Try the following example:

    package require BWidget

    wm geometry . 500x500
    update idletasks

    # Create paned window
    pack [PanedWindow .p -side left] -fill both -expand
  true

    # Top pane
    set p1 [.p add -weight 100]

    update idletasks
    after 1000

    # Middle pane
    set p2 [.p add -weight 100]

    update idletasks
    after 1000

    # Bottom pane
    set p3 [.p add -weight 50]
    pack [text $p3.t] -fill both -expand true

  The text-widget added to the bottom pane gets most of
  the space on the screen. Previous versions of BWidgets
  PanedWindow respected the relative sizes of the panes
  already present.

  Please find attached the version of panedw.tcl with the
  old behaviour but compatible with BWidget 1.3.1

  Kind regards, 

  Jos.


tkt_uuid: 2947213fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 7 High
foundin: None
resolution: Not Applicable Here
title: Repeated short history
comment:
  When history loading is the default "ask', if I answer a non-zero number of days to the dialog that pops up on startup, the requested amount of history is properly loaded, but the last pageful of history is repeated after the line "++++ End Of History ++++", with their timestamps.

  When reloading history afterwards through the Debug menu, the effect disappears.
  I suspect the startup-time loading of recent history is not disabled by the dialog, and fires after the loading itself.

  This is 1.477 on both Windows and Linux, and has been present for several Tkchat versions.


tkt_uuid: 1660234fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: ico
priority: 5 Medium
foundin: None
resolution: Fixed
title: Bugs in ico::getFileIcon
comment:
  There are a few errors in ico.tcl which stop ico::getFileIcon from working correctly for me. I've put a revised copy of it below, with the changes commented, and the problems I was getting without those changes...

  proc ::ico::getFileIcon {file args} {
      set ext [file extension $file]
      if {[catch {registry get HKEY_CLASSES_ROOT\\$ext ""} doctype] || \
          [catch {registry get HKEY_CLASSES_ROOT\\$doctype\\DefaultIcon ""} icon]} {
          set icon "%SystemRoot%\\System32\\shell32.dll,0"
      } ;# (1)
      set index [lindex [split $icon ,] 1]
      set icon [lindex [split $icon ,] 0]
      if {$index == ""} { set index 0 }
      set icon [string trim $icon "@'\" "]
      while {[regexp -nocase {%([a-z]+)%} $icon -> var]} {
          set icon [string map [list %$var% $::env($var)] $icon] ;# (2)
      }
      set icon [string map [list %1 $file] $icon]
      if {$index < 0} {
          if {![catch {eval [list getIconByName $file [string trimleft $index -]] $args} output]} {
              return $output
          }
          set index 0
      }
      return [eval [list getIcon $icon [lindex [icons $icon] $index]] $args] ;# (3) and (4)
  }


  (1) There was an extra period before the $ext in the if which caused it to fail to find all file extensions
  (2) The patterns to map were quoted, instead of using [list], which caused backslashes in the paths to be removed, breaking them and preventing the files from being found correctly later on
  (3) The [list] was closed after the $args, instead of before, so the $args didn't expand properly, and getIcon was throwing errors like 'unknown option "res 32"'
  (4) Changed both uses of $file to $icon, otherwise you get "unsupported file type <type>" errors for everything but .exe, .ico and .dll (ie, files which actually contain icons themselves, rather than having an icon registered for them in the registry)

  With those changes, it works without any problems (tested with a half-dozen different file types, including files containing icons (.exe and .ico), and ones which don't (.tcl, .txt, .pub, .hlp, .fakeFileType), all of which showed the right icon, with no options and with -res 32). All of this is on Windows XP Home SP2, incidently:

  % parray tcl_platform
  tcl_platform(byteOrder) = littleEndian
  tcl_platform(machine)   = intel
  tcl_platform(os)        = Windows NT
  tcl_platform(osVersion) = 5.1
  tcl_platform(platform)  = windows
  tcl_platform(user)      = User
  tcl_platform(wordSize)  = 4

  Hope that's some help,
  Mike Griffiths (talvo@talvo.com)


tkt_uuid: 1494997fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: statistics
priority: 5 Medium
foundin: None
resolution: None
title: Can't load in slave interpreter
comment:
  This bug affects the math::statistics package, but I 
  assume it might affect many other packages in tcllib.

  Consider the following:

  % package require math::statistics
  0.1.3
  (bin) 2 % interp create kk
  kk
  (bin) 3 % interp eval kk {package require 
  math::statistics}
  can't read "::argv0": no such variable

  math::statistics can be loaded successfully in the 
  top interpreter, but fails when trying to load it 
  into a slave interpreter. The issue is that the 
  package internally tries to get the value of ::argv0
  to assess whether this is an interactive session so 
  as to perform a regression testing, but ::argv0 does 
  not exists in interpreters different from {}.

  Juan Carlos---


tkt_uuid: 2824771fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools test case 50.0.1 fails
comment:
  CVS head of tcllib and tcl 8.6, built on sparc solaris 8 using sun's c compiler.

  The following is one of several similar errors that occurred yesterday when I tried running the tcllib test suite against tcl 8.6 cvs head.

  ---- doctools-idx-50.0.1 start

  ==== doctools-idx-50.0.1 doctools::idx deserialize = docidx, nokeys, ok FAILED
  ==== Contents of test case:

              I deserialize = $data docidx
              doctools::idx::structure print [I serialize]
          
  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: Unable to locate or load plugin "docidx" (ERROR for slave interp
  1 : can not find channel named "stdout")
      while executing
  "::pluginmgr::Snit_methodload ::pluginmgr ::pluginmgr::Snit_inst1 ::doctools::id
  x::import::Snit_inst1::fmt-docidx ::doctools::idx::import::Snit_inst1::..."
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "$plugin load $format"
      (procedure "::doctools::idx::import::Snit_methodGetPlugin" line 12)
      invoked from within
  "::doctools::idx::import::Snit_methodGetPlugin ::doctools::idx::import ::doctool
  s::idx::import::Snit_inst1 ::IN ::IN docidx"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "$self GetPlugin $format"
      (procedure "::doctools::idx::import::Snit_hmethodimport_text" line 7)
      invoked from within
  "::doctools::idx::import::Snit_hmethodimport_text ::doctools::idx::import ::doct
  ools::idx::import::Snit_inst1 ::IN ::IN {[index_begin KWIC INDEX]
  [inde..."
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "$myimporter import text $data $format"
      (procedure "::doctools::idx::Snit_methodImport" line 17)
      invoked from within
  "::doctools::idx::Snit_methodImport ::doctools::idx ::doctools::idx::Snit_inst90
   ::I ::I docidx {[index_begin KWIC INDEX]
  [index_end]
  }"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "$self Import $format $data"
      (procedure "::doctools::idx::Snit_hmethoddeserialize_=" line 19)
      invoked from within
  "::doctools::idx::Snit_hmethoddeserialize_= ::doctools::idx ::doctools::idx::Sni
  t_inst90 ::I ::I {[index_begin KWIC INDEX]
  [index_end]
  } docidx"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "I deserialize = $data docidx"
      ("uplevel" body line 2)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== doctools-idx-50.0.1 FAILED


tkt_uuid: 1002844fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Bwidget's LabelEntry won't insert
comment:
  When using BWidget 1.7 (from within ActiveTcl 8.4.5-
  7), the following wish script failed at the last command:

  package require BWidget
  pack [Entry .a]
  .a insert insert "testing 1"
  pack [LabelEntry .b]
  .b insert insert "testing 2"

  with an error message:
  invalid command name "LabelEntry::insert"

  According to the document of LabelEntry/BWidget, it 
  (very similar to Entry) say:

  LabelEntry is a widget composed of LabelFrame widget 
  containing an Entry widget. Tk entry command can also 
  be used on LabelEntry widget.

  Meaning "insert" should be supported by LabelEntry, but
  it is not in BWidget 1.7. I didn't have this problem in 
  earlier version.

  Jou


tkt_uuid: 1310038fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: A Category Is Missing
priority: 5 Medium
foundin: None
resolution: Fixed
title: tie file implementation broken
comment:
  The following script:

      package require tie
      set a(y) 1
      set a(z) 3
      tie::tie a file a.save
      set a(aa) 2
      set a(ab) 3
      set a(ac) 4

  Gives me an error:

      can't set "a(ab)": can't unset "cache": no such
  variable
          while executing
      "set a(ab) 3"


tkt_uuid: 3281791fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: csv
priority: 5 Medium
foundin: None
resolution: Fixed
title: CSV example documentation fix
comment:
  I think the documentation fix for 3061815 is incomplete.  The last line in the Example section:

      As can be seen only item (d) is different, now a " instead of the empty string.

  should be: ... item (d) is different, now the empty string instead of a ".

  By the way, when does the html get updated?  http://tcllib.sourceforge.net/doc/csv.html
  does not have the 3061815 fix.


tkt_uuid: 2028993fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: htmlparse
priority: 5 Medium
foundin: None
resolution: Accepted
title: ::htmlparse::mapEscapes doesn't handle the &apos; entity
comment:
  &apos; is not a valid HTML entity [1] but it is valid in XML [2].

  XHTML is supposed to be valid XML, W3C says [3]:
  > The named character reference &apos; (the apostrophe,
  > U+0027) was introduced in XML 1.0 but does not appear
  > in HTML. Authors should therefore use &#39; instead of
  > &apos; to work as expected in HTML 4 user agents.

  The point here is &apos; might be used in XHTML pages (not everybody follows W3C advices, this is real world), and anyway ::htmlparse::mapEscapes might be used on XML trees, so I think it should handle &apos; as well.

  How to reproduce:
  Use ::htmlparse::mapEscapes on a string containing '&apos;'.

  Actual result:
    % package require htmlparse
    1.1.2
    %  ::htmlparse::mapEscapes { J.D.&nbsp;&apos;Boss&apos;&nbsp;Hogg }
     J.D. &apos;Boss&apos; Hogg

  Expected result:
  Map the &apos; entity to an apostrophe:
    %  ::htmlparse::mapEscapes { J.D.&nbsp;&apos;Boss&apos;&nbsp;Hogg }
     J.D. 'Boss' Hogg

  [1] http://www.w3.org/TR/html4/sgml/entities.html
  [2] http://www.w3.org/TR/REC-xml/
  [3] http://www.w3.org/TR/xhtml1/#C_16


tkt_uuid: 1969078fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: base64
priority: 9 Immediate
foundin: None
resolution: Fixed
title: Base64 speedup
comment:
  The current implementation of base64 in tcllib is very slow, even
  (or especially) when Trf is used. Funny enough,
  the problem is not the base64 encoding itself, but the
  reflow to a different width. The reflow is written in Tcl
  but a seldom example of inefficient code.

  Below is a patch to tcllib 1.10 with a much faster reflow
  code, and an omission of reflowing when not needed.

  Here are a few results comparing the speed of old and new
  reflow code

  string length  time old  time new  factor
   792800          792800     16638     419
  1585600        34025025     33064    1029
  3171200       149875843     66856    2241

  In other words, for a 3MB file , the improvement is
  more than a factor of 2000. It should not take
  more than 2minutes on a recent processor to reflow
  the encoding of a 3MB file. Note, that the factor
  of improvement grows linearly with the size of the
  import.

  The base64 part of tcllib is used often in OpenACS
  for mailing files of the content repository, it is a shame
  to see that the server comes more or less to a halt
  when base64 encoding is performed.

  Please, if possible, apply the following patch
  to tcllib for the next release.

  Attached is a small program to show the speed
  differences leading to the table above.

  all the best
  -gustaf


tkt_uuid: 469855ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: csv
priority: 5 Medium
foundin: None
resolution: Fixed
title: Bug in ::csv::split
comment:
  Small test sample:

  package require csv
  set x [list "\"hello, you\"" a b c]
  puts $x
  puts [::csv::join $x]
  puts [::csv::split [::csv::join $x]]

  The output is:

  {"hello, you"} a b c
  """hello, you""",a,b,c
  {hello, you"} a b c

  but the last line of the output should equal the first
  line. Mind the missing " after the opening brace.


tkt_uuid: 3312860fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftpd
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Many FTP commands do not handle commands with absolute paths
comment:
  Many FTP commands such as "APPE", "STOR", and "RETR" do not handle pathname arguments that are absolute pathnames -- they instead get the current working directory appended to them as relative paths.

  This is due to the use of the following idiom:
            set path [file join $data(cwd) [string trimleft $filename /]]

  Suggested fix is to remove the [string trimleft] call, which will result in the "path" variable containing the correct absolute path when an absolute path is supplied and when a relative path is supplied.


tkt_uuid: 2014172fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: tooltip
priority: 5 Medium
foundin: None
resolution: Invalid
title: Unkown option "-highlightthickness" when using ttk
comment:
  The tklib::tooltip library reports the following error when run within a tile/ttk application:

  unknown option "-highlightthickness"
    while executing
  "label $b.label -highlightthickness 0 -relief solid -bd 1 -background lightyellow -fg black"
    (procedure "tooltip::tooltip" line 50)
    invoked from within
  "tooltip::tooltip $tb.1.b1 "Re-load the test definitions""


  The following code demonstrates the problem:


  package require tile
  namespace import -force ttk::*
  package require tooltip

  button .b -text Hello
  tooltip::tooltip .b "Tip"


tkt_uuid: 1855635fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Fixed
title: tkchat: Error message on opening current history in new pane
comment:
  Using the "Show current history in new pane" option on Dec 21 2007 gave the following error message:

  extra characters after close-brace
  extra characters after close-brace
      while executing
  "$w tag configure {NICK-}"
      ("eval" body line 1)
      invoked from within
  "eval $value"
      ("exec" arm line 1)
      invoked from within
  "switch $key {
      exec    {eval $value}
      image   {$w image create $index -name $value}
      text    {$w insert $index $value}
      mark    {
     ..."
      (procedure "::tkchat::textRestore" line 14)
      invoked from within
  "::tkchat::textRestore $clone [::tkchat::textSave $text]"
      (procedure "::tkchat::textClone" line 8)
      invoked from within
  "::tkchat::textClone .txt .clone"
      (procedure "::tkchat::HistoryPaneToggle" line 28)
      invoked from within
  "::tkchat::HistoryPaneToggle"
      invoked from within
  ".#mbar.#mbar#vis invoke active"
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 [list $w invoke active]"
      (procedure "tk::MenuInvoke" line 50)
      invoked from within
  "tk::MenuInvoke .#mbar.#mbar#vis 1"
      (command bound to event)

  The problem was observed with tkchat v1.411 running on tclkit 8.4.13 form equi4 on SuSE linux 10.1 and could be reproduced with a 8.5.0 tclkit built using kitgen.


tkt_uuid: 1877643fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: plotchart
priority: 5 Medium
foundin: None
resolution: None
title: pkgIndex.tcl and plotchart.tcl indicate different versions
comment:
  The current pkgIndex.tcl file does a package provide of 1.3.1 while the current plotchart.tcl does a package provide of 1.4.0, which results in a package require Plotchart failing.  I installed this from the ActiveState Tcl repository, but I believe from looking at the latest CVS version that the problem exists outside of the ActiveState Tcl distribution as well.


tkt_uuid: 410198ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Accepted
title: New module: logging facility
comment:
  This patch provides a full-fledged logging facility for
  tcl applications and libraries. It was reaped from my
  own Pool_Base and modified too fit into tcllib.

  Missing from the patch is documentation, but this will
  follow shortly.


tkt_uuid: 2694992fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: exif
priority: 5 Medium
foundin: None
resolution: Wont Fix
title: exif reports "Unrecognized EXIF Tag"
comment:
  Hi!

  My e-mail is
  mailto:stefan@witt-netz.de

  I am currently using your EXIF package to scan fotos for creation dates. In some fotos obviously originating from some Olympus camera, the EXIF package reports an error.
  See command sequence below:

  % set f [lindex $fl 17]
  p4190019.jpg
  % package require exif
  1.1.2
  % exif::analyzeFile $f
  Unrecognized EXIF Tag: 34850 (0x8822)
  % set h [open $f r]
  file5
  % exif::analyze -sadads $h
  can not find channel named "-sadads"
  % exif::analyze $h
  Unrecognized EXIF Tag: 34850 (0x8822)

  Target system is a laptop running Fedora 9,
  tcl_version 8.5, wish as executable & the latest yum-available tcllib.

  In my opinion, you might either want to
   - silently ignore unkonwn tags and just return the   known ones with associated values

  -introduce a -nocomplain flag upon which exif::analyze shows the a.m. behavior


  If you wouldn't mind sharing your thoughts with me - great! I might even spare some time in the near future to help you look into the source & find a fix.

  SourceForge bounced this request in the first place when I tried to include the foto causing the trouble (for size reasons, sure). Well, I'd e-mail the foto to you if you'd just drop me a mail.

  Best regards,

  Stefan Witt


tkt_uuid: 1676157fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: http :: autoproxy
priority: 5 Medium
foundin: None
resolution: Fixed
title: autoproxy in-code example creates bogus dependency
comment:
  The autoproxy::defAuthProc, and example user authentication command requires bwidget and introduces this as dependency into the package. The example should be in an example application where the dependency would be ok as well.


tkt_uuid: 1844111fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
title: snitfaq: $self destroy restrictions?
comment:
  I've encountered a situation where it seems reasonable that 
  a snit object initiates its own destruction: The object manages 
  a channel and has an internal queue of messages to transmit. 
  A soft shutdown of the communication would then means that 
  the object owner stops calling it, but the object itself should 
  hang around for as long as it takes to work through the queue, 
  and only then destroy itself.

  The catch is, I find nothing in the documentation about 
  whether an object method is allowed to call $self destroy, 
  although my gut feeling is that this might be asking for trouble. 

  For now, I'll probably do is as
    after 0 [mymethod destroy]
  instead, as I'm anyway running an event loop for the I/O, but 
  if there is some more elementary solution, then it would be 
  nice to learn about it.


tkt_uuid: 446562ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: profiler
priority: 5 Medium
foundin: None
resolution: Fixed
title: profiler: uplevel breaks for rare case
comment:
  The profiler breaks if a user defines  a proc with spaces in its name or if the name
  begins with # or a digit.

  The following patch will resolve this problem:

  godel> cvs diff profiler.tcl
  Index: profiler.tcl
  =============================================
  RCS file: /cvsroot/tcllib/tcllib/modules/profiler/profiler.tcl,v
  retrieving revision 1.14
  diff -r1.14 profiler.tcl
  138c138
  < set CODE [uplevel ${name}ORIG $args]
  ---
  > set CODE [uplevel 1 [list ${name}ORIG] $args]

  The list command is used to take care of procnames with spaces in it.
  The "uplevel 1 ..." ensures that procnames begining with # or a digit
  are not construed as the level argument to uplevel.

  Hemang. 


tkt_uuid: 3012802fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: nntp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: add timeout feature for nntp
comment:
  Some packages such as http support a timeout.  For unreliable links this is very helpful.  However, nntp simply uses "gets".  See ::nntp::fetch.  Please add a similar timeout feature for nntp.  Using http as an approximate model, I have added this capability, using fileevent and vwait.  Please see attachment; you can diff ::nntp::fetch, and please see additional functions ::nntp::getline and ::nntp::timeout.  Unfortunately nntp also does not support convenient configuration of options, so I have used a hardcoded timeout of 60 seconds.  This is probably not appropriate.


tkt_uuid: 2962077fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: tklib :: ipentry
priority: 5 Medium
foundin: None
resolution: None
title: error if an array element is used as -textvariable
comment:
  Steps to reproduce:

  puts [ info patchlevel ]
  puts [ package require -exact ipentry 0.2 ]
  set foo(bar) 1.1.1.1
  ::ipentry::ipentry .ip -textvariable foo(bar)
  catch { set foo(bar) 1.1.1.2 } msg
  puts $msg
  exit

  output for version 0.2:
  8.4.19
  0.2
  1.1.1.2

  output for version 0.3
  8.4.19
  0.3
  can't set "foo(bar)": can't read "var": variable is array

  Expected:
  no error in both cases

  I saw a big rework in ipentry.tcl from 1.13 to 1.14 that changed
  ::ipentry::traceVar to ::ipentry::traceFired and eliminated the
  test if { $key != "" }

  Is this a bug or a feature?


tkt_uuid: 2390890fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: exif
priority: 5 Medium
foundin: None
resolution: Duplicate
title: Unrecognized EXIF tags should not generate errors
comment:
  I don't know if the EXIF tags are out of date or what, but I'm getting Unrecognized EXIF tag on every EXIF standard and EXIF standard 2.2 JPEG image I've tried.  Such as:

  Unrecognized EXIF Tag: 34850 (0x8822)

  I don't think unrecognized EXIF tags should be treated as an error.


tkt_uuid: 832317ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: taip
priority: 5 Medium
foundin: None
resolution: Fixed
title: taip.mp3 tagged wrong in CVS
comment:
  All MP3 files should be binaries, but
  apps/taip/taip.mp3 is marked as a text file.  This
  makes it check out wrong on Windows.  Fix with:
    cvs admin -kb apps/taip/taip.mp3


tkt_uuid: 2814771fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Fixed
title: TkChat - Color Settings dialog bug
comment:
  TkChat v1.470 Using Tcl/Tk 8.5.6 - The "Color Settings" dialog resizes the button box instead of the dialog body when stretched vertially.


tkt_uuid: 443619ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: pop3
priority: 5 Medium
foundin: None
resolution: Fixed
title: pop3 doesn't handle empty mailbox!
comment:
  I noticed a problem with pop3::list. It chokes on an 
  empty mailbox by complaining it knows nothing about 
  the msgBuffer variable (that occurs in the pop3::list 
  return). 

  Since mailboxes can indeed be empty, an obvious 
  workaround seems to be to initialize the variable at 
  the start of the procedure:

      set msgBuffer {}

  Another solution might be for people to keep sending 
  me emails. But that may be asking for a bit too much 
  [;-)].

  Cheers,

  -- AH.


tkt_uuid: 3324610fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Accepted
title: ListBox bindImage is broken
comment:
  The node name of the item returned when triggering the event is incorrectly constructed. To reproduce it:

  # Taken from a snippet from FW in http://wiki.tcl.tk/1434,  
  proc generate_data {} {  
      set data [list]
      for {set x 0} {$x < 5} {incr x} {    
          set row [list]           
          for {set y 0} {$y < 5} {incr y} {
              lappend row [format "#%02x%02x%02x" [random_byte] [random_byte] [random_byte]] 
          }         
        lappend data $row  
      }  
     return $data       
  }    

  proc random_byte {} { 
      return [expr {int(rand() * 256)}]             
  }    

  set image [image create photo]                              
  $image put [generate_data]                                                
             
  pack [ListBox .l -selectmode single]                       
  .l insert end list:#auto -text 111 -image $image 
  .l insert end list:#auto -text 222 -image $image
  .l insert end list:#auto -text 333 -image $image
  .l configure -width 10

  proc printNode {args} {
     puts "Returned $args"
  } 

  .l bindText <Button-1> [list printNode Text]
  .l bindImage <Button-1> [list printNode Image] 
  vwait forever

  Clicking on the text returns:

  Returned Text list:0
  Returned Text list:1
  Returned Text list:2

  But on the image, the result is:

  Returned Image gbind
  Returned Image gbind
  Returned Image gbind

  The problem is the code in listbox.tcl returns as the node:
   [string range [lindex $t 1] 2 end]

  Where $t (the tags) are:

  img imgbind i:list:1 current

  I believe the bug was introduced in  Bug 3000293, adding the additional tag imgbind in the place where the code expects to find the node

  Attached is a possible patch 


tkt_uuid: 589225ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: comm
priority: 5 Medium
foundin: None
resolution: Fixed
title: test writes ~/foo
comment:
  It appears that testing of the comm module
  creates and leaves behind a file ~/foo

  temporary files should be written to 
  [tcltest::configure -tmpdir] and should
  be deleted by the same test file that
  creates them.


tkt_uuid: 505468ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Invalid
title: missing MainFrame menu accelerator line
comment:
  Hi!

  There's a missing line in 
  MainFrame::_parse_accelerator:
  If no modificator is specified, then the F-Keys won't 
  work! You forgot to capitalize the 'f'...

  Bye
  Stephan


tkt_uuid: 1399030fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: None
priority: 5 Medium
foundin: None
title: import mini-tclhttpd
comment:
  The full blown tclhttpd is too big to include in
  tcllib, but its 250 line sister "mini" rightfully
  belongs in this library.  Please integrate this
  excellent package into tcllib!
  http://cvs.sourceforge.net/viewcvs.py/tclhttpd/tclhttpd/bin/mini/


tkt_uuid: 3463420fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: logger
priority: 5 Medium
foundin: None
resolution: Fixed
title: level below currentloglevel is logged
comment:
  expect1.1> package require logger
  0.9
  expect1.2> logger::setlevel warn
  expect1.3> logger::init global
  ::logger::tree::global
  expect1.4> ::logger::tree::global::debug "Don't show!"
  [Wed Dec 21 16:46:38 CET 2011] [global] [debug] 'Don't show!'
  expect1.5> ::logger::tree::global::currentloglevel
  warn
  expect1.6> info tclversion
  8.5

  workaround1:
  use servicenames with :: separator (cannot reproduce the above with "glo::bal")

  workaround2:
  package require logger
  rename ::logger::init ::logger::init_redirect
  proc ::logger::init {service} {
  set log [uplevel [list ::logger::init_redirect $service]]
  ${log}::setlevel [${log}::currentloglevel]
  return $log
  }


tkt_uuid: 3235340fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: uri
priority: 5 Medium
foundin: None
resolution: Fixed
title: uri::split mishandles fragment
comment:
  The uri::split command mishandles the "fragment" of http:// URIs in two ways:

  1. If the URI includes a query, e.g., http://myserver.com/foo?bar=baz#quux, the fragment is treated as part of the query.
  2. The "fragment" key is only included in the dictionary returned by uri::split if a fragment is found.  All of the other optional URI components are included with an empty value when the component is omitted.


tkt_uuid: 1416776fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ncgi
priority: 5 Medium
foundin: None
resolution: Fixed
title: ncgi: test suite bugs
comment:
  with -debug 1:

  * ncgi 1.3
  test name 'ncgi-10.4' re-used; prior use in
  /local/src/tcllib/modules/ncgi/ncgi.test
  WARNING: cleanupTests deleting /local/src/tcllib/test1...
  env array elements created:     SERVER_PORT REQUEST_URI
  QUERY_STRING CONTENT_TYPE CONTENT_LENGTH SERVER_NAME
  HTTPS REQUEST_METHOD


tkt_uuid: 1176268fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tar
priority: 5 Medium
foundin: None
resolution: Fixed
title: incorrect use of open in tar.tcl
comment:
  tar.tcl uses 'open' to access files. In my app which
  uses tar and vfs::tar I'm getting errors of the form 

  wrong # args: should be "open path"

  I've fixed this by changing all 'open' calls in tar.tcl
  with '::open' which seems to work ok. Is it possible to
  put this fix into the main source?


tkt_uuid: 827416ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct :: list
priority: 5 Medium
foundin: None
title: extend Lmap to more flexible cmd
comment:
  I've found the Lmap-command a very nice thing.
  But what I miss is the flexible positioning of 
  the "argument" to the given command. Currently 
  the "argument" (or item) is simply added to the end, but 
  most commands need the list-"item" somewhere (not 
  necessarily at the end.
  A more flexible solution would be the use of the format-
  command like this:

  proc ::struct::list::Lmap {sequence cmd} {
    # Shortcut when nothing is to be done.
    if {[::llength $sequence] == 0} {return $sequence}

    # if no position is given, treat cmd as cmdprefix
    if {[string first "%s" $cmd]<0} {
      append cmd " %s"
    }
    set res [::list]
    foreach item $sequence {
      lappend res [uplevel 1 [format $cmd $item]]
    }
    return $res
  }

  With this you can call Lmap as usual (with a cmdprefix) 
  or use, e.g. (simplified):
  ::struct::list::Lmap {name=vogel firstname=stefan 
  gender=m} {eval set [split %s =]}
  which sets variables with given values ... 

  What do you think of that?

  Best regards
    Stefan


tkt_uuid: 1154867fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: apps : tkchat
priority: 5 Medium
foundin: None
title: Add a bookmark when unseen chat happens
comment:
  At current tkchat starts counting up the lines which
  some have missed if activity happens without focus. If
  you leave tkchat running for some longer time and
  return to it, there's no easy way to go back X lines,
  especially since tkchat deletes the linecounter (in its
  [wm title]) once it has focus back. So I suggest adding
  a bookmark each time the counter is incremented for the
  first time, providing an easy way to jump back to the
  last seen line(s).

  In tkchat::IncrMessageCounter, "else" arm, add:

  if {!$MessageCounter} then { BookmarkAdd }

  et voila


tkt_uuid: 3325229fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftpd
priority: 5 Medium
foundin: None
resolution: Fixed
title: RNTO calls callback "rename" with wrong number of args
comment:
  According to the documentation for the "rename" callback, it takes 3 args:
          fsCmd rename path newpath channel

  However, RNTO actually only calls it with 2 args:
          if {![catch {::ftpd::Fs rename $data(renameFrom) $path} msg]} {


tkt_uuid: 1416817fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: textutil
priority: 5 Medium
foundin: None
resolution: Fixed
title: textutil: test suite bugs
comment:
  with -debug 1:

  modules/textutil/textutil.test
  - tcllib::testutils 1.0
  test name 'textutil-1.0' re-used; prior use in
  /local/src/tcllib/modules/textutil/textutil.test
  test name 'textutil-1.0' re-used; prior use in
  /local/src/tcllib/modules/textutil/textutil.test
  test name 'textutil-1.0' re-used; prior use in
  /local/src/tcllib/modules/textutil/textutil.test


tkt_uuid: 3183080fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tcl :: chan :: *
priority: 5 Medium
foundin: None
resolution: Fixed
title: Allowance in tcl::chan::string
comment:
  Verification of "Allowance" in a string channel return error.

  Example:
  -----------------------------
  lappend auto_path /home/john/lib/tcllib1.13

  package require tcl::chan::events 1
  package require tcl::chan::string 1

  set string "a b c \n d e f"

  set chan [::tcl::chan::string $string]

  puts [gets $chan]
  -----------------------------------

  [john@vps0 excel]$ tclkit8.6 xxx
  can't read "allowed(read)": no such variable
      while executing
  "if {$allowed($event) == $enable} continue"
      (class "::tcl::chan::events" method "Allowance" line 5)
      invoked from within
  "my Allowance $args yes"
  .....


tkt_uuid: 3091244fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: htmlparse
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: parsing doesn't respect pre tag & trims trailing whitespaces
comment:
  tcllib 1.11.1 - htmlparse 1.1.3:
  ========================

  Parsing of preformatted text in HTML data enclosed by the HTML tag "pre" leads to the loss of trailing whitespaces.

  The procedure 2treeCallback must be fixed for example like this:

      set  tag  [string tolower $tag]
      if {$tag ne "pre"} {
          set  textBehindTheTag [string trim $textBehindTheTag]
      }

  Perhaps there are still other tags to think over a specialized handling.


tkt_uuid: 558132ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: smtp
priority: 5 Medium
foundin: None
resolution: Duplicate
title: smtp::sendmessage -maxsecs
comment:
  A patch to workaround bug #557040. 

  This patch supercedes patch #557520 (adds: if timeout is 
  less than 0, set it to 0).

  557520: Rather than automatically calculate a timeout for SMTP
  acknowledging acceptance of message body (DATA), 
  allow the user to specify a timeout (default 120 seconds).


tkt_uuid: 3608951fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tepam
priority: 3 Low
foundin: None
resolution: Fixed
title: TEPAM: Help text shows incorrect argument order
comment:
  The argument order of the help text of procedures defined in the Tk style (unnamed arguments first - named arguments later, [named_arguments_first=0]) is incorrect. Example:

  tepam::procedure MyProc {
  -named_arguments_first 0
  -short_description "Help generation demonstration"
  -description "Command to demonstrate the help text generation"
  -args {
  {Unnamed1 -optional -description "1st unnamed argument"}
  {Unnamed2 -optional -description "2nd unnamed argument"}
  {-Named1 -optional -description "1st named argument"}
  {-Named2 -optional -description "2nd named argument"} }
  } {
  puts "MyProc"
  }

  MyProc -help

  | NAME
  |       MyProc - Help generation demonstration
  | SYNOPSIS
  |       MyProc
  |             [-Named1 <Named1>]
  |                1st named argument
  |             [-Named2 <Named2>]
  |                2nd named argument
  |             [<Unnamed1>]
  |                1st unnamed argument
  |             [<Unnamed2>]
  |                2nd unnamed argument
  | DESCRIPTION
  |       Command to demonstrate the help text generation

  The following help text would be expected (unnamed argument listed first, named argument listed afterwards).

  | NAME
  |       MyProc - Help generation demonstration
  | SYNOPSIS
  |       MyProc
  |             [<Unnamed1>]
  |                1st unnamed argument
  |             [<Unnamed2>]
  |                2nd unnamed argument
  |             [-Named1 <Named1>]
  |                1st named argument
  |             [-Named2 <Named2>]
  |                2nd named argument
  | DESCRIPTION
  |       Command to demonstrate the help text generation

  This bug affects only the help text generation. It is not affecting the behavior of the procedure call.
  A fix for the TEPAM package is available, and once the TEPAM author has write/commit access to the new TclLib repository (Fossil) the fix will be commited.


tkt_uuid: 693059ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: log
priority: 2
foundin: None
resolution: Not Applicable Here
title: logger 0.1 depends on Tcl 8.2
comment:
  The command [string map] is used in logger 0.1.

  Thus, logger 0.1 ought to

    package require Tcl 8.2

  and ought to have an index script that
  prevents loading in a pre-8.2 interp.

  However, logger 0.1 shares its index script
  with log 1.0.1, which does not require Tcl 8.2;
  it can happily load in Tcl 8.0.

  The best way to fix both packages is to see
  to it that they get installed with separate
  index scripts.  The simplest way to
  accomplish that is to move the logger
  package into its own subdirectory of
  tcllib's modules directory.


tkt_uuid: 1897846fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: list
priority: 7 High
foundin: None
resolution: Fixed
title: assign test 4.4 fails
comment:
  sparc solaris 9 sun c compiler, cvs head for tcl and tcllib.

  ---- assign-4.4 start

  ==== assign-4.4 assign method FAILED
  ==== Contents of test case:

      catch {assign {foo bar}} msg ; set msg

  ---- Result was:
  wrong # args: should be "::struct::list::Lassign list varName ?varName ...?"
  ---- Result should have been (exact matching):
  wrong # args: should be "lassign list varName ?varName ...?"
  ==== assign-4.4 FAILED


tkt_uuid: 1494597fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: html
priority: 5 Medium
foundin: None
resolution: Fixed
title: spits out invalid <meta> tag
comment:
  The html package currently spits out a <meta> tag in
  the following format:

  <meta name="keywords" value="Tcl, TclHttpd, Tcl/Tk, Tcl
  Web Server, Web Server">

  The spec for <meta> tags reads "content=" not "value=".
  So the correct tag should be:

  <meta name="keywords" content="Tcl, TclHttpd, Tcl/Tk,
  Tcl Web Server, Web Server">

  I have verified this on the W3C site:

  http://www.w3.org/TR/html401/struct/global.html#h-7.4.4.2

  and in my O'Reilly "HTML & XHTML" book.

  Robert Hicks

  P.S. I tested this using the tclhttpd server during my
  investigation about adding more tag support for this
  package.


tkt_uuid: 1724818fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: csv
priority: 5 Medium
foundin: None
resolution: Fixed
title: csv::join doesn't properly handle embedded newlines
comment:
  csv::join doesn't properly handle the case where a value contains an embedded newline or carriage return. 

  Corrected code is below (note the change in [string match])

  proc ::csv::join {values {sepChar ,}} {
      set out ""
      set sep {}
      foreach val $values {
  if {[string match "*\[\r\n\"$sepChar\]*" $val]} {
      append out $sep\"[string map [list \" \"\"] $val]\"
  } else {
      append out $sep$val
  }
  set sep $sepChar
      }
      return $out
  }

  Tim


tkt_uuid: 434202ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Duplicate
title: Static checker results
comment:
  The static checkers "frink" and "procheck" were run
  over the scripts in tcllib (not Bwidgets nor tklib).
  The found problems were fixed (or suppressed if not
  actually a problem). The enclosed patch details the
  changes. (ftp[d] is not checked yet).


tkt_uuid: 852945ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: None
title: variable should check for :: in names
comment:
  although 'variable' isn't meant to be the same as Tcl's 
  variable, it is and will be used similarly.  Therefore it 
  would be a good idea to check if something like
     variable ::foo::bar
  is used and not prepend the snit namespace in that 
  case.


tkt_uuid: 1225870fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: control
priority: 5 Medium
foundin: None
title: [try] command
comment:
  Here's a [try] command using the features of TIP#90,
  perhaps for adding to the control package. I'm
  perfectly happy with the code being published under the
  normal tcllib license.

  proc try {script args} {
      upvar 1 try___msg msg try___opts opts
      if {[llength $args]!=0 && [llength $args]!=2} {
  return -code error "wrong \# args: should be \"try
  script ?finally script?\""
      }
      if {[llength $args] == 2} {
  if {[lindex $args 0] ne "finally"} {
      return -code error "mis-spelt \"finally\" keyword"
  }
      }
      set code [uplevel 1 [list catch $script try___msg
  try___opts]]
      if {[llength $args] == 2} {
  uplevel 1 [lindex $args 1]
      }
      if {$code} {
  dict incr opts -level 1
  return -options $opts $msg
      }
      return $msg
  }


tkt_uuid: 1037636fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Fixed
title: TempFile does not generate random names on fast computers
comment:
  When you call the TempFile on a fast computer (3GHz w. 
  HT technology) then is generate a name with equal 
  chars like YYYYYYYY
  The random generation of names use the clock clicks 
  which is machine depended, and if I try to call clock 
  clicks to time right after each other then it returns the 
  same value.

  Why not use the ::math::random instead? 


  Tcllib 1.6

  Best regards
  Torben A. Hansen

  torben.arnt.hansen@sciatl.com

   


tkt_uuid: 3495830fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: A Category Is Missing
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: First go at installing tcl modules
comment:
  Attached patch gives the installer the ability to install (some) packages as tcl modules.
  Also adds -destdir option, similar to ${DESTDIR} in Tcl's Makefile.


tkt_uuid: 1111364fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Fixed
title: dtplite error
comment:
  dtplite -o e:/mydir html myfile.man
  does not automatically create a file e:/mydir/myfile.html, 
  but a file e:/mydir/myfile., as specified in the command 
  syntax. 
  Reason: In procedure ::dtplite::processCmdline

      if {[string equal $ext ""]} {
        set ext $format
      }

  should be before

  set output [file join $output [file tail [Output $input]]]

  (thl@gedas.de)


tkt_uuid: 1890987fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Encoded chars in rss feeds
comment:
  Hi,

  Html-encoded chars (e.g. <) are not decoded before showing the rss info. This piece of code to be added to proc ::tkchat::rss::ShowRssInfo (tkchat_rss.tcl line 152) fixes this problem:

              if {![info exists a(title)] || [string length $a(title)] < 1} {
                  set a(title) "(no title)"
              } else {
  set a(title) [::htmlparse::mapEscapes $a(title)]
      }
      if {[info exists a(description)]} {
  set a(description) [::htmlparse::mapEscapes $a(description)]
      }


  Kind regards,

  Jos.


tkt_uuid: 465768ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Fixed
title: Browser invocation broken on Unix
comment:
  Clicking on a URL is intended to launch 
  a browser, but that fails on Unix.

  Problem is that [findExecutable] uses
  [upvar] and [gotoUrl] passes env(BROWSER)
  as the variable name to be linked to by
  [upvar] -- the global ::env array.

  Linking to an element of the ::env array
  via [upvar] has been broken in Tcl since
  release 8.1 -- this is Tcl Bug 219372.

  We should be able to work around this by
  change "env" to any other global array
  variable name.


tkt_uuid: 971076ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: tklib: request for new module
priority: 5 Medium
foundin: None
title: snitbutton widget
comment:
  A working snit-port of the itcl-gbuttons-widget. That
  way the wikit-tkGui can also be used on platforms where
  itcl is not available (like MacOS 9). 

  All feature to use it instead of gButton inside a wikit
  as a tkGUI are already supplied in the implementation on:

  http://mini.net/tcl/11794

  regards,
  Detlef Groth

  <dgroth (at) gmx.de>


tkt_uuid: 1167772fffffffffffffffffffffffffffffffff
type: Patch
status: Open
subsystem: tklib: ctext
priority: 5 Medium
foundin: None
resolution: None
title: code/block expansion
comment:
  I've sat on this long enough, and I lack the motivation
  to work on the ctext 3.x series much anymore.  So,
  here's an email with some code that could be merged in
  to provide code expansion, or whatever it's called when
  you click the + to expand a block.  He also mentions a
  bug that should be fixed.

  Date: Tue, 12 Oct 2004 12:27:03 +0200
  From: Jos Decoster <decoster@retarget.com>
  To: GeorgePS@XMission.com
  Subject: ctext and tags
  Parts/Attachments:
     1 Shown    84 lines  Text, "message body text"
     2          24 KB     Application
  ----------------------------------------


  Dear mister Staplin,

  I'm using your ctext widget in an application. Syntax
  highlighting works fine. But when I use tags, the ctext
  widget reports errors. 

  In my application, I modify the text based on tags I
  placed during insert. The ctext widget however removes
  tags during insert and delete (all but _cComment).
  Consider the example at the end of the mail. It uses
  both the text and ctext widget to show the differences.
  Double clicking on a line will show or hide a '+' at
  the beginning of the line.

  After modifying the ctext widget to prepend each tag
  added by ctext with __ctext and to only delete __ctext
  tag during insert and delete, the example works as
  expected.

  I attached the modified code in case you would find
  this modification usefull.

  Kind regards,

  Jos.


  set t [text .t]
  set c [ctext .c -linemap 0]

  bind $t <Double-1> [list toggle_prefix $t %x %y]
  bind $c <Double-1> [list toggle_prefix $c %x %y]

  pack .t .c

  proc test_insert { txt ln dta } {
      $txt insert end " >" [list 1.$ln prefix] \
          [format " %5d : " $ln] [list 1.$ln line] \
          $dta [list 1.$ln source] \
          "\n" ""
  }

  proc toggle_prefix { txt x y } {

      global line_char

      set tl [$txt tag names @$x,$y]
      set line -1
      foreach t $tl {
          puts "t = $t @ $x,$y"
          if { [regexp {^([0-9]+)[.]([0-9]+)$} $t match
  p1 p3] } {
              if { $p1 == 1 } {
                  set line $p3
                  break
              }
          }       
      }

      if { $line < 0 } {
          puts "No line found!"
          return
      }

      set iidx [expr {[$txt index 1.$line.first]}]
      
      puts "iidx = $iidx"

      $txt delete $iidx

      if { [info exists line_char($txt,$line)] && 
           [string equal $line_char($txt,$line) "+"] } {
          $txt insert $iidx " " 1.$line
          set line_char($txt,$line) " "
      } else {
          $txt insert $iidx "+" 1.$line   
          set line_char($txt,$line) "+"
      }
  }

  set dtal [list qwerty azerty test foo bar brol]
  set ln 1

  foreach dta $dtal {
      test_insert $t $ln $dta
      test_insert $c $ln $dta
      incr ln
  }


tkt_uuid: 1416800fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
resolution: Fixed
title: graph: test suite bugs
comment:
  with -debug 1:

  * struct::graph 1.2.1
  test name 'graph-0.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-0.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-0.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-0.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-0.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-0.6' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-1.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-1.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-1.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-2.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-2.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-3.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-4.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-4.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-4.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-4.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-5.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-5.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-5.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-5.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-5.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-5.6' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-6.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-6.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-6.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-6.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-6.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-7.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-7.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-8.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-8.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-9.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-9.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-9.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-9.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.6' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.7' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.8' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.9' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.10' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.11' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-10.12' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-11.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-11.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-11.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-11.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-11.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-12.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-12.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-12.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-12.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-13.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-14.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-14.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-14.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-14.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-15.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-15.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-15.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-16.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-16.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-16.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-16.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-16.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-17.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-17.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-17.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-17.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-17.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-18.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-18.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-18.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-18.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.6' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.7' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.8' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.9' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.10' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.11' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-19.12' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-20.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-20.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-20.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-20.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-20.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-20.6' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-22.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-22.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-22.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-23.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-23.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-23.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-24.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-24.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-24.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-25.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-25.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-25.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-26.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-26.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-26.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-26.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-27.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-27.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-27.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-27.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-28.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-28.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-28.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-28.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-29.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-29.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-29.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-29.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-30.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-30.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-30.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-30.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-31.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.6' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.7' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.8' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.9' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.10' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.11' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.12' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.13' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.14' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.15' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.16' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.17' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.18' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.19' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.20' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.21' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-21.22' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-33.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-33.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-33.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-34.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-34.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-34.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-34.4' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-34.5' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-35.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-35.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-35.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-36.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-36.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-37.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-37.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-38.1' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-38.2' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test
  test name 'graph-38.3' re-used; prior use in
  /local/src/tcllib/modules/struct/graph.test


tkt_uuid: 1963364fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: roman
priority: 5 Medium
foundin: None
resolution: Fixed
title: Namespace is math::roman
comment:
  The manpage calls the commands of this package ::roman::toroman, ::roman::tointeger, etc., when in fact they live in the math::roman namespace, and should thus be specified as math::roman::toroman (or ::math::roman::toroman).

  The manpage should probably also mention that the tointeger and toroman commands are exported by the package.


tkt_uuid: 3555995fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: A Category Is Missing
priority: 5 Medium
severity: Minor
foundin: None
resolution: Not Applicable Here
title: Latest version download link on sourceforge
comment:
  The "Download latest version" link on sourceforge tcl-lib project actually downloads bwidget. Please correct the link to point to tcllib instead of bwidget.


tkt_uuid: 1281136fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: A Category Is Missing
priority: 5 Medium
foundin: None
resolution: Accepted
title: Bug #1280529
comment:
  --- ini-old.tcl 2005-07-19 19:40:19.000000000 +0200
  +++ ini.tcl     2005-09-03 08:28:27.891839136 +0200
  @@ -12,6 +12,8 @@
   package provide inifile 0.1
    
   namespace eval ini {
  +    variable nexthandle
  +    variable commentchar
       set nexthandle 0
       set commentchar \;
   }
  @@ -28,6 +30,9 @@
       fconfigure $tmp -translation crlf
    
       namespace eval ::ini::$fh {
  +        variable data
  +        variable comments
  +        variable sections
           array set data     {}
           array set comments {}
           array set sections {}


tkt_uuid: 1714668fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: asn
priority: 5 Medium
foundin: None
resolution: Duplicate
title: asnGetApplication bitmask is too restrictive
comment:
  The library function ::asn::asnGetApplication in tcllib1.9 and tcllib1.8 use the following mask

      if {($tag & 0xE0) != 0x060} {
          return -code error \
              [format "Expected Application (0x60), but got %02x" $tag]
      }

  This should be rewitten as

      if {($tag & 0xD0) != 0x040} {
          return -code error \
              [format "Expected Application (0x40), but got %02x" $tag]
      }

  The extra bit codes for whether the data is simple or constructed. Types NetworkAddress and TimeTicks of RFC-1155 are simple.


tkt_uuid: 1120152fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: log
priority: 5 Medium
foundin: None
title: logger: maintain callstack for custom logprocs
comment:
  Hi,

  In logger package, custom logprocs should be able to
  use "uplevel 1 .." to execute code in the caller's
  scope. This currently works but is not documented.
  There are several benefits for providing this feature,
  such as:

  * The default logger output does not include the caller
  proc which is very useful. So I have defined a custom
  logproc which uses [info level $lvl] cmd to get the
  caller proc name.

  * Execute code in caller's stack using uplevel cmd.
  Instead of writing if stmts:

  if {log::currentloglevel == "debug"} {
      log::debug "diagnosis = [runDiag $a]"
  }

  I prefer calling it as:

  log::debug {diagnosis = [runDiag $a]}

  and let custom proc for log::debug invoke [runDiag $a]
  in the caller's scope and print/log the output returned
  by it.

  Hemang.


tkt_uuid: 1735588fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: grammar_peg
priority: 3 Low
foundin: None
resolution: Fixed
title: Relation to context-free grammars
comment:
  One thing that had me rather confused the first time I 
  read the peg manpage was that it didn't say anything 
  about context-free languages or grammars -- despite 
  the fact that it all looked very similar. I might have 
  been constantly wondering "where's the catch?", or 
  perhaps not, but the issue left me a bit anxious and 
  not particularly eager to try it out.

  Yesterday I read a paper by Bryan Ford that clarified 
  the issue: the class of parsing expression languages is 
  really distinct from the class of context-free languages: 
  It might be that CFL is a subset of PEL (since the 
  classical a^n b^n c^n example of a non-context-free 
  language turns out to a PEL), but more likely the two 
  classes are incomparable.

  I think it would be useful if a note about this was 
  added somewhere in the manpage, either in the top 
  of the TERMS & CONCEPTS section, or somewhere in 
  the PARSING EXPRESSION GRAMMARS section, but I 
  think the former is preferable. The first paragraph
  could be something like:

  "PEGs are similar to context-free grammars, but not 
  equivalent; in some cases PEGs are strictly more 
  powerful than context-free grammars (there exist PEGs 
  for some non-context-free languages). The formal 
  mathematical definition of parsing expression and 
  parsing expression grammar can be found in the 
  section PARSING EXPRESSION GRAMMARS."


tkt_uuid: 594263ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Out of Date
title: bug in tkchat message dissector
comment:
  if a person using the web interface to the
  Tcl'ers Chat has no special color attached
  to their name, then the line of text which
  is output when they speak isn't wrapped by
  <FONT COLOR="#whatever"></FONT>. If such a
  person post a multi-line message, then the
  tkchat program gets confused, and all but
  the first line of the message are handled
  as "help" messages, and shown in popup windows,
  one window per line.


tkt_uuid: 1519755fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: record
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Unable to delete record
comment:
  I'm using a combination of incr TCl and struct::record

  I can create and edit a records and records inside of
  records, but unable to delete with no error.

  please review


tkt_uuid: 1289692fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Out of Date
title: bug in installer.tcl
comment:
  Hi,

    I get the error from the bottom of the page:

  the problem are the two variables:
  tcl_pkgPath</global/mqm/home/mqusers/mqm/otto/Proj
  ects/OpMenu2/ext/lib>
  libdir</global/mqm/home/mqusers/mqm/otto/Projects/Op
  Menu2/ext/lib>

  the tclsh was build on a other node where /global is 
  available... the current node does has no /global avilable 
  but tcl tries to install the components in a /globale/... 
  directory

  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  >make install-libraries
  /export/home/mqusers/mqm/scripts/OpMenu/tclsh 
  `echo ./installer.tcl` \
          -pkg-
  path   /export/home/mqusers/mqm/scripts/OpMenu/ext/li
  b/tcllib1.7 \
          -no-examples -no-html -no-nroff \
          -no-wait -no-gui
  Installing Tcllib 1.7
  You have chosen the following configuration ...

  Packages:      /export/home/mqusers/mqm/scripts/OpM
  enu/ext/lib/tcllib1.7
  Applications:  /global/mqm/home/mqusers/mqm/otto/Proj
  ects/OpMenu2/ext/bin
  Examples:      Not installed.
  Documentation: Not installed.

  ..................................................................................
  ..................................................................................
  ..................................................................................
  ...................................................
  Generating /export/home/mqusers/mqm/scripts/OpMenu/
  ext/lib/tcllib1.7/pkgIndex.tcl
  can't create directory "/global": permission denied
      while executing
  "file mkdir [file dirname  $adst]"
      (procedure "ainstall" line 14)
      invoked from within
  "ainstall"
      (procedure "doinstall" line 26)
      invoked from within
  "doinstall"
      (procedure "main" line 11)
      invoked from within
  "main"
      (file "./installer.tcl" line 540)
  make: *** [install-libraries] Error 1
  mpsun17:mqm:/export/home/mqusers/mqm/scripts/OpM
  enu/src/tcllib-1.7\>


tkt_uuid: 577055ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct
priority: 5 Medium
foundin: None
title: Add struct::list
comment:
  Add a new command [::struct::list] to the struct package.

  This should be the extended subcommand [list] or "listx"
  that has been discussed so many times.

  Let's have an implementation of it in tcllib, so future
  discussions about are not theoretical.


tkt_uuid: 2512528fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: crc
priority: 5 Medium
foundin: None
resolution: Invalid
title: crc32 wrong with -seed option
comment:
  Generating crc32 of the strings '?' and 'Hello' generates the correct values as tested agains other code and online crc generators.

  Using the command crc::crc32 -seed [crc::crc32 ?] Hello produces the crc 0x4cc062a6 other tools generate the crc of 0xC2A6E6F2. Trf and critcl not used.


tkt_uuid: 582668ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Fixed
title: ftp::Get with -variable fails
comment:
  By using a construct like

  ftp::Get $ftphandle directory/file -variable data

  ftp raises an error, if no local directory "directory"
  exists:

  ftp::Get, directory "directory" for destination
  "directory/file" does 
  not exist

  ftp checks for a local directory, even if the data
  should never go to this directory, but to a variable.


tkt_uuid: 1098039fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Fixed
title: fileutil::find lists files that start with . twice
comment:
  TCL version: 2.4.9
  Platform:     WIN2K SP4
  tcllib:         1.7

  In the course of writing a script on the win2k
  platform, I've
  come across a bug in the implementation of fileutil::find

  I'm not sure if it's an issue under *unix, but I
  suspect it is...

  If a directory has a file that starts with a . (like
  .splintrc)
  then fileutil::find will list it twice!

  To reproduce:

  1. Create a clean directory
  2. Start a tcl shell, and go to that dir
  3. package require fileutil
  4. fileutil::touch .splintrc
  5. fileutil::find .

  the .splintrc file is listed twice

  The implementation of find in tcllib uses [glob
  -nocomplain * .*]
  which explains the problem.

  It might be better to use [glob nocomplain *] as
  Windows does not
  see the . and .. anyways.

  I suspect the problem may be there under *unix as well,
  so the
  search pattern may be better expressed as [glob
  -nocomplain * . ..]

  Ralph


tkt_uuid: 649383ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: -textvariable mapped to label and entry
comment:
  If I want to bind the entry of a LabelEntry to a text
  variable by option -textvariable, not only the entry
  but also the label field is bound to it. So I can't
  give a fix text for the label and bind the value typed
  in by the user to a variable automatically.

  Solution:
  I handle the option -textvariable in the same way as
  width, font, anchor, ..., i.e. add it to the prefix
  list of the Label - now the option -textvariable is
  only used for the entry field.

  Here is the diff of the original version of file
  'labelentry.tcl' and my corrected version:

  20c20
  <         prefix {label -justify -width -anchor -height
  -font -textvariable} \
  ---
  >         prefix {label -justify -width -anchor -height
  -font} \


tkt_uuid: 739393ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Fixed
title: mkdir error/bug
comment:
  I get an error lile this:

  debug      | ---> MKD test
  bgerror failed to handle background error.
      Original error: can't read "multi_line": no such variable
      Error in bgerror: invalid command name "bgerror"

  i think the multi-line cannot handy the ftp output like this:

  MKD test
  Skipping... hidden...
  257 "test" created.
  EXEMPTED
  PWD

  i think it cannot handle with the output may someone 
  can help me

  thx


tkt_uuid: 1969151fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 3 Low
foundin: None
resolution: Not Applicable Here
title: "Macro" definitions
comment:
  In request#1969144, I've described two markup commands [alt] and [rep] that in principle are just combinations of other markup commands with some fixed text arguments, not unlike a macro in e.g. TeX.

  Had there been a facility through which manpage writers could define new command on a per-page basis, like LaTeX authors often do in the preambles of documents, then I could just have defined these commands and went ahead and used them, not having to wait for Doctools to be updated with them.

  The advantage of defining new "macro" commands for repeated elements, rather than just writing out their expansions in full, is that it provides greater consistency in formatting. It also makes it easy to switch from one notation to another, simply by changing the definition of the custom command which generates that definition.


tkt_uuid: 1448800fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Rejected
title: PagesManager not themable
comment:
  The PagesManager widget doesn't check 'BWidget::theme'
  and therefore always uses a tk::frame instead of a
  ttk::frame.  This means when a theme (e.g. Aqua on
  MacOSX) needs interesting frames with textured
  backgrounds, the PagesManager looks totally out of place.


tkt_uuid: 1797428fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: asn
priority: 5 Medium
foundin: None
resolution: Fixed
title: padding byte in asnBitString missing
comment:
  The mandatory padding byte in the encoding of the BitString type is missing in the encoder.

  reported by "Fang, Lun Gang \(Ark\)" <lungangfang@alcatel-lucent.com>


tkt_uuid: 1161779fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Fixed
title: destructor can't precede constructor
comment:
  The following code:

  package require snit

  ::snit::type Boom {
      destructor {
      }

      constructor {args} {
  $self configurelist $args
      }
  }

  Causes:

  extra characters after close-brace
      while executing
  "error $result"
      (procedure "Comp.Define" line 12)
      invoked from within
  "Comp.Define [Comp.Compile type $type $body]"
  ...

  Because (I think) snit sees the destructor and decides
  to create a default constructor (without a space, for
  some reason.)


tkt_uuid: 1352763fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: log
priority: 5 Medium
foundin: None
resolution: Duplicate
title: file appender for logger
comment:
  file appender for logger patch includes:

  Patch file includes the following changes:

  * changes to man pages
  * new appender fileAppend
  * fixes to createLogProc to allow channel selection
  * tests 


tkt_uuid: 630500ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: BWidget panedwindow _realize problem
comment:
  Hi,

  On CLT a problem with the __realize_ function of the
  _PanedWindow_ widget was reported. The call to
  __realize_ in the _add_ function caused incorrect
  beavior but is needed when adding new panes after te
  widget received a _Configure_ event. To solve this,
  __realize_ is only called from _add_ after te
  _Configure_ event is received.

  Jos.


tkt_uuid: 554233ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: apps : request for new app
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Browser for images
comment:
  It would be nice to include a browser so that people 
  can look at the images in the BWidget/images directory.

  A very simple image browser is attached...


tkt_uuid: 3011581fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: smtp
priority: 5 Medium
foundin: None
resolution: Fixed
title: Doc bug w/ -header option
comment:
  The current man page for the smtp command documents the "-header" parameter like so:

  -header
      A list of keywords and their values (may occur zero or more times). 

  From the phrasing of the statement (list of keywords (plural) and their values (plural)) and the position of the parenthetical, the docs appear to state that a single "-header" option can accept a list of plural headers and plural values.  I.e.: "-header [ list To a@example.com From b@example.com Subject Hi ]".

  However, this is not the case, looking at the code in smtp, each individual "-header" parameter takes a list of exactly two elements, nothing more, nothing less.

  While I think that allowing a single "-header" option to accept a list of plural headers and values is a superior fix, for now I simply propose that the documentation be edited to more accurately reflect the current implimentation.  Something like so:

  -header
      A list containing two elements, an smtp header and its associated value (the -header option may occur zero or more times). 


tkt_uuid: 1499135fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Dynamic help balloon position wrong on dual screen WinXP PC
comment:
  In BWidget 1.7, DynamicHelp::_show_help uses [winfo
  vrootwidth .] when setting the position of the balloon.  
  On a dual screen PC vrootwidth only returns the width
  of the "first" screen. 

  As a quick fix I changed :

    if { $x+$width > $scrwidth } {
       set x [expr {$scrwidth - $width}]
    }

  to

    if { $x < $scrwidth & $x+$width > $scrwidth } {
       set x [expr {$scrwidth - $width}]
    }

  in _show_help.

  This dosen't position the balloon correctly at the
  extreem right of the second screen.  However I don't
  know how to get the combined width of the two screens
  to fix it properly.


tkt_uuid: 3247765fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: smtpd
priority: 5 Medium
foundin: None
title: Add a smtpd::configure -banner callback
comment:
  The first thought using the  smtpd package is that the first response the smtpd does to an accepted client connection is to put up a "banner" reply to the client shouldnt be hardcoded by the smtpd package.

  This line is hardcoded in the source as :  Puts $channel "220 $options(serveraddr) tcllib smtpd $version; [timestamp]" .
  Developping your own smtpd application using the smtpd package as of now leaves you having no way to set your own banner relevant to your own implementation.

  I suggest that there should be something like smtpd::configure  -banner callback


tkt_uuid: 1224755fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ftp mode active/passive performance
comment:
  When I connect to a server though a firewall using
  the unix ftp command both active an passive mode work
  fine (tested with the dir command).

  When using active mode (the default) via tcllib(v 1.7)
  ftp it takes
  in my case more than 40seconds before I get a response
  with ftp::NList. When setting to passive mode it works fine
  without the delay.

  Why the difference ?


tkt_uuid: 1394840fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Fixed
title: Module assumes wrong global $:: level
comment:
  Under cygwin, I directly sourced:

  source $::Tcllib/md5/md5.tcl
  source $::Tcllib/base64/base64.tcl
  source $::Tcllib/mime/mime.tcl
  source $::Tcllib/mime/smtp.tcl

  It blew up.

  The MIME module gave me this error:

  can't read "::major": no such variable
  while executing
  "if {$::major < 2} {

  I altered the other two references to $major to $::major
  to get around this error.

  I've mentioned this before: bugid 979894.

  You are assuming some namespace wrapping or something.

  Don't do that.


tkt_uuid: 1003671fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
resolution: Fixed
title: sourcegraph without arcs can not be copied
comment:
  A graph without arcs is possible and useful. Please help!
  I guess it must be a quick fix.

  Example TCL : (search for Example for output)
  # Aim : create graphs x,y; copy x over y, print them

  package require Tcl 8.2
  package require struct
  package version struct

  set x [ ::struct::graph ]
  set y [ ::struct::graph ]
  set a [ $y node insert ]
  set b [ $x node insert ]
  set c [ $x node insert ]
  if { [ catch { $y = $x } mesg ] } {
      puts $mesg
  } else {
      puts "All well"
  }
  set e [ $y arc insert $a $a ]
  if { [ catch { $y = $x } mesg ] } {
      puts $mesg
  } else {
      puts "All well"
  }
  set d [ $x arc insert $b $c ]
  if { [ catch { $y = $x } mesg ] } {
      puts $mesg
  } else {
      puts "All well"
  }
  puts [ $y nodes ]
  $y destroy
  puts [ $x nodes ]

  Example Output :

  bhushit@jungle:/home/bhushit: tclsh temp.tcl
  2.0 1.4 1.3
  can't unset "arcn": no such variable
  can't unset "arcn": no such variable
  All well
  node2 node1
  node2 node1


tkt_uuid: 1006282fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: comm
priority: 8
foundin: None
resolution: Accepted
title: comm - Uncaught error when protocol negotiation fails
comment:
  If a comm listening socket receives a connection (say
  your host is nmap'ed, for example) that does not
  properly negotiation a protocol version, comm currently
  calls [error], which results in bgerror being invoked &
  possibly requiring user intervention to clear the
  bgerror dialog box.  

  I've modified my local copy of comm.tcl to add support
  for a "-silent" configuration option that controls
  whether an error is thrown, after the port is closed,
  or whether the "error" is just silently ignored.   In
  my patch (which I'll attach), I've set the default for
  -silent to 0 so that past behavior (throwing the error)
  is maintained for those who may depend on it.


tkt_uuid: 832487ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: Documentation
priority: 5 Medium
foundin: None
resolution: Fixed
title: pattern arg for profiler::reset not documented
comment:
  Hi,

  The profiler man page does not document the optional
  argument ?pattern? for the reset command.

  Here's the patch for the same:

  godel:140> cvs diff profiler.man 
  Index: profiler.man
  ===================================================================
  RCS file:
  /cvsroot/tcllib/tcllib/modules/profiler/profiler.man,v
  retrieving revision 1.4
  diff -r1.4 profiler.man
  81c81
  < [call [cmd ::profiler::reset]]
  ---
  > [call [cmd ::profiler::reset] [opt [arg pattern]]]
  godel:141> 


tkt_uuid: 1570938fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Fixed
title: tkchat - main window pops up for msgs in 1-1 chat window
comment:
  I recently updated to v 1.349 of the tkchat.
  Now that I started to use the 'chat' feature for 1-1
  talks I noticed that when messages arrive in the
  subordinate chat window tkchat blinks and pops up the
  main window. The only way to see that it was the chat
  window which has the message is the '*' which is added
  to its title.


tkt_uuid: 1005380fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: stack
priority: 9 Immediate
foundin: None
resolution: Fixed
title: stack::struct peek doesn't match docs
comment:
  The stack::struct man page says of the "peek" subcommand, "If 
  there are no items on the stack, this command will return count 
  empty strings."

  It doesn't say what happens if there are some items in the stack, 
  but fewer than "count"; the implication, clearly, is that your result 
  will be padded with empty strings.  

  Either way, it doesn't matter; if "count" is greater than the number 
  of items in the stack, whether the stack is empty or not, you don't 
  get a list padded with empty strings; what you get is an error,  
  "insufficient items on stack to fill request".

  I'd argue that the documented behavior is more Tcl-ish, but either 
  way the docs or the code should be updated.

  I haven't checked, but I'm betting that "pop" has the same 
  problem.


tkt_uuid: 1680877fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: asn
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: procedures to get/set ber encoded data independ of tag
comment:
  On occasions it is very useful to either extract a TLV structure or create a TLV structure independend of the tag (not in the least in the asn lib itself).
  This is also very useful in handeling sequences of implicit types.

  I therefore would find it useful if two procedures are added:

  proc ::asn::asnGetTLV { data_var tlv_var } {
   # gets a tag/length/value structure from the start of the data.
   # return false if data exhausted, true if data left
   upvar $data_var data $tlv_var tlv
   asnGetByte data tag
   asnGetLength data length
   asnGetBytes data $length temp
   set tlv [asnTLV $tag $temp]
    if {[string length $data] > 0} {
      return true
    } {
      return false
    }
  }

  proc ::asn::asnTLV {tag value} {
    set len [string length $value]
    return [binary format H2a*a$len [format %02X $tag] [asnLength $len] $value]
  } 


tkt_uuid: 687912ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: crc
priority: 5 Medium
foundin: None
resolution: None
title: crc16.tcl missing in tcllib-1.[23].tar.gz
comment:
  % gunzip < tcllib-1.2.tar.gz | tar tf - | grep crc
  tcllib-1.2/modules/crc/
  tcllib-1.2/modules/crc/crc32.n
  tcllib-1.2/modules/crc/sum.n
  tcllib-1.2/modules/crc/pkgIndex.tcl
  tcllib-1.2/modules/crc/cksum.test
  tcllib-1.2/modules/crc/crc32.test
  tcllib-1.2/modules/crc/sum.tcl
  tcllib-1.2/modules/crc/cksum.tcl
  tcllib-1.2/modules/crc/crc32.tcl
  tcllib-1.2/modules/crc/ChangeLog
  tcllib-1.2/modules/crc/sum.test
  tcllib-1.2/modules/crc/cksum.n

  % gunzip < tcllib-1.3.tar.gz | tar tf - | grep crc
  tcllib-1.3/modules/crc/
  tcllib-1.3/modules/crc/pkgIndex.tcl
  tcllib-1.3/modules/crc/ChangeLog
  tcllib-1.3/modules/crc/cksum.man
  tcllib-1.3/modules/crc/cksum.n
  tcllib-1.3/modules/crc/cksum.tcl
  tcllib-1.3/modules/crc/cksum.test
  tcllib-1.3/modules/crc/crc32.man
  tcllib-1.3/modules/crc/crc32.n
  tcllib-1.3/modules/crc/crc32.tcl
  tcllib-1.3/modules/crc/crc32.test
  tcllib-1.3/modules/crc/sum.man
  tcllib-1.3/modules/crc/sum.n
  tcllib-1.3/modules/crc/sum.tcl
  tcllib-1.3/modules/crc/sum.test
  tcllib-1.3/doc/html/crc32.html
  tcllib-1.3/doc/nroff/crc32.n


tkt_uuid: 768610ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Works For Me
title: NoteBook can't accept page named "C:\foo\bar"
comment:
  % NoteBook .book
  % .book insert end {C:\foo\bar} -text {C:\foo\bar}

  throws an error:

  bad window path name ".altab0.pages.fC:\foo\bar"
      while executing
  "frame $path.f$page 
   -relief flat

  ...


tkt_uuid: 1344350fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Accepted
title: Enable browser launch for links in MacOS X
comment:
  The tkchat.tcl has code to allow clicking on URLs in the chat 
  window. The ::tkchat::gotoURL procedure then calls an appropriate 
  browser to open the URL. The code differenciates between 
  platforms via $tcl_platform(platform) and therefore uses the code 
  for $tcl_platform(platform) == "unix" also for MacOS X. This does 
  not work, since launching a program in MacOS X is done via the 
  "open -a" command and not directly like in other unices.

  The attached patch adds another case inside the "unix" branch of 
  the switch statement in ::tkchat::gotoURL to handle MacOS X 
  (using $tcl_platform(os)). It tries to launch the browser specified in 
  the $Options(BROWSER) variable. If this fails, the code tries to 
  launch the Safari browser, which should be available at all times. If 
  this also fails, an error message is displayed.


tkt_uuid: 1470818fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Duplicate
title: Wrong monthname returned by mime::parsedatetime.
comment:
  In file mime.tcl the name of the month is looked up in
  a list by an index which one gets from a "[clock format
  $clock -format %e]" (three times). In my old version of
  tcl the %e returns the number of the day in the month
  and not the month number. A solution like [expr [string
  trimleft [clock format $clock -format %m] 0] - 1] seems
  more appropriate.

  m.d.nauta@hetnet.nl


tkt_uuid: 995545ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: record
priority: 5 Medium
foundin: None
resolution: Out of Date
title: package require struct::record does not work
comment:
  as described above 

  package require struct::record
  can't find package struct::record


  however

  package require struct
  namespace import ::struct::record

  does work

  this does not match the documentation!!!

  tcllib1.6


  from garyt@bmb.leeds.ac.uk


tkt_uuid: 1391776fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: asn
priority: 5 Medium
foundin: None
resolution: Accepted
title: asn::asnObjectIdentifier incorrectly encodes OIDs
comment:
  I've found that routine asn::asnObjectIdentifier
  produces incorrect encoding of OIDs, which is not
  understandable by OpenSSL 0.9.8a ASN1 parser.

  According to ITU-T recommendation X.690 subidentifiers
  less than 128 should be encoded as one byte, but
  asn.tcl version 1.7 as downloaded from CVS today,
  encodes them as two bytes with first byte equal to
  0x80. Some ASN1 parsers such as dumpasn1 utility,
  understand this and some don't.

  Example:

   $ tclsh
   % source asn.tcl
   % set bad [asn::asnObjectIdentifier {1 2 643 2 2 31 1}]
   %  foreach char [split $bad ""] { append hex [format "
       %02x" [scan $char %c]]}
   $puts $hex
  06 0b 2a 85 03 80 02 80 02 80 1f 80 01

  where correct encoding of this OID should be
  06 07 2a 85 03 02 02 1f 01

  Attached patch fixes this problem and also removes
  debugging puts from asn::asnObjectIdentifier routine


tkt_uuid: 2103920fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: ico
priority: 5 Medium
foundin: None
resolution: Works For Me
title: Problems with package ico
comment:
  Hi,

  I have found some problems using ico package and I have tried to repair them as far as I could:

  It appears that variable "RES($file,group,$name,members)" in procedure "::ico::getIconMembersEXE" doesn't always exist. Using 

  set n [icons $file]
     RES($file,group,$n,members)

  instead current variable,correct information is returned.


  On the other hand, I have found that variable "RES($file,icon,$name,data)" when calling procedure "::ico::writeIconEXE" only has three elements in my case, so there is an error message. It could be avoided using:
      
      if {![string match "* $w $h $bpp" $RES($file,icon,$name,data)] && [llength $RES($file,icon,$name,data)] == 4} {
          return -code error "icon format differs from original"
      }
      if {![string match "$w $h $bpp" $RES($file,icon,$name,data)] && [llength $RES($file,icon,$name,data)] == 3} {
          return -code error "icon format differs from original"
      }

  Finally, when the icon of an executable is modified, the final executable's icon (depending on the size selected) is not shown in Windows Vista. It appears theres is something wrong with the masks in some icon size.

     set and [getAndMaskFromColors $data]
     set xor [getXORFromColors $bpp $data]


tkt_uuid: 1500946fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tklib: plotchart
priority: 5 Medium
foundin: None
title: histogram plot type
comment:
  Hi,

  is it possible to add a new plot type function :
  Plotchart::createHistogram
  in the same way that
  math::statistics::plot-histogram
  i.e. with continuous x-axis variable.

  Thanks

  dcobac@free.fr


tkt_uuid: 1540261fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Installation
priority: 9 Immediate
foundin: None
resolution: Fixed
title: dont reflect new sak interface
comment:
  In Makefile.in is dont reflected new sak interface

  simple patch for instalation here:

  --- Makefile.in 2005-09-28 06:51:19.000000000 +0200   
                           
  +++ Makefile.in-patched 2006-08-13 17:13:09.000000000
  +0200                     
  @@ -96,17 +96,17 @@                                   
                           
                                                        
                           
                                                        
                           
   html-doc:                                            
                           
  -       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  html                       
  +       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  doc html                   
   nroff-doc:                                           
                           
  -       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  nroff                      
  +       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  doc nroff                  
   tmml-doc:                                            
                           
  -       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  tmml                       
  +       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  doc tmml                   
   wiki-doc:                                            
                           
  -       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  wiki                       
  +       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  doc wiki                   
   latex-doc:                                           
                           
  -       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl` ps
                          
  +       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  doc ps                     
   list-doc:                                            
                           
  -       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  list                       
  +       $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  doc list                   
                                                        
                           
   check:                                               
                           
          $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/sak.tcl`
  validate                   

  thanks
  wohnivec@dix.cz


tkt_uuid: 3167248fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Fixed
title: Release file tcllib-1.13.tar.gz is corrupt
comment:
  The distribution file tcllib-1.13.tar.gz is corrupt. After downloading, trying to unpack yields
  $ tar zxf tcllib-1.13.tar.gz 

  gzip: stdin: unexpected end of file
  tar: Unexpected EOF in archive
  tar: Unexpected EOF in archive
  tar: Error is not recoverable: exiting now

  Same error with different mirrors (ufpr and switch)
  The file tcllib-1.13.tar.bz2 unpacks correctly.


tkt_uuid: 1305988fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: None
title: Insufficient PagesManager documentation
comment:
  The documentation does not specify much in the way of usage. I 
  bumped into some confusion when I tried to pack the separate pages 
  returned by [add]. Apparently this is not the correct usage. Only 
  widgets inside the pages are GMed separately, as well as the 
  PagesManager itself. In addition, it was not totally clear that [page] 
  takes a new identifier as an argument, not the path of an existing 
  widget. Perhaps it should state something like the following:

  Add a new page identified by 'page', which is an arbitrary identifier. 
  The pathname of the new page is returned and widgets for the page 
  should be created with this as the parent or ancestor. However, 
  PagesManager manages its own geometry. [pack], [grid] or an 
  equivalent should not be used with the pathname returned by [add].

  It also does not explain that no page is raised on creation and this 
  must be done with a call to [raise] to view any page.


tkt_uuid: 663394ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: None
priority: 6
foundin: None
title: Update all.tcl
comment:
  dgpThe all.tcl file in tcllib could be greatly 
  simplified by [package require Tcl 8.3; package require 
  tcltest 2.2]
  dgpthough even then, [getErrorMessage] would 
  need to be defined, probably in a "loadScript"
  akuPossibly. Are you willing to draw up a patch ?
  akugetErrorMessage - yes, because the change 
  happened in 8.4
  dgpIf you want to register a brief FR in tcllib 
  about updating all.tcl and assign to me, that's OK./
  dgpI don't expect to attack it with a high priority 
  though./
  dgpIt'
  dgps
  akuOk.


tkt_uuid: 899204ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: inifile
priority: 5 Medium
foundin: None
resolution: Fixed
title: inifile test suite failures
comment:
  The inifile.test depends on the
  file test.ini being writable. 
  However, in the official tcllib
  release, that file is read-only,
  causing the tests to fail.
  Is writability really needed?
  If not, the test should be modified
  to use mode r, instead of r+.

  Also, as written, tests
  inifile-1.2 through initfile-1.14
  depend on inifile-1.1 having
  run successfully.  This kind
  of inter-test dependency should
  be removed, since -skip options,
  etc. to tcltest mean there's no
  guarantee what tests will actually
  run.


tkt_uuid: 3316505fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: simulation::random
priority: 7 High
foundin: None
resolution: Fixed
title: chi-squared is wrong
comment:
  The variable y in the generation of chi-squared randon numbers is independent of loop counter or itself from previous iterations.
  I.e. after the loop we have only the last y of the last iteration.

  According to
  http://www.dsplog.com/2008/07/28/chi-square-random-variable/

  y should be a sum instead, i.e. instead of

      set y [expr {$r * $r}]

  it should be

      set y [expr {$y + $r * $r}]


tkt_uuid: 1545931fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: ldap
priority: 5 Medium
foundin: None
resolution: Accepted
title: A proposal for "ldapx", a new package
comment:
  Here is "ldapx", a proposal for a new Tcllib package.

  This package provides a new, extended high-level 
  interface to LDAP
  diretories and LDIF files. It makes use of the Snit 
  object type to
  provide three classes: ldap directories, ldif files 
  and individual
  entries.

  This new package is built upon existing packages: 
  uri.tcl, asn.tcl
  and ldap.tcl (to provide low level access).

  Here is the proposed documentation (both in .man 
  format and in PDF)
  and the ldapx.tcl code. The ldapx.tcl code needs a 
  very current
  Tcllib (uri.tcl patch committed, asn.tcl patch 
  committed, and
  ldap.tcl patches currently being reviewed by Michael 
  Schlenker).


tkt_uuid: 3182287fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Accepted
title: Themed ComboBox failes due to themed entry widget
comment:
  When using a BWidget Combobox when theming is activated, it fails on creation and on posting its list due to the use of the themed Entry widget, which does not support any more:
  -relief
  -highlightbackground
  -highlightforeground

  The attached patch at least removes the errors.
  Please use ttk::combobox instead.

  The attached patch will not be in the repository before Andreas reallows it.


tkt_uuid: 1042122fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Out of Date
title: Combobox: placement of dropdown list strange - near bottom
comment:
  The dropdown part of a combobox gets posted near the
  top of the screen when the combobox is too close to the
  bottom edge.

  This is with BWidget 1.6


tkt_uuid: 1416784fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: pop3d
priority: 5 Medium
foundin: None
resolution: Fixed
title: pop3d: test suite bugs
comment:
  with -debug 1:

  * pop3d 1.1.0
  - comm 4.3
  WARNING: cleanupTests deleting
  /local/src/tcllib/coserv.sub...
  WARNING: cleanupTests deleting
  /local/src/tcllib/__dbox__...
  modules/pop3d/pop3d_dbox.test
  - tcllib::testutils 1.0
  - md5 2.0.4
  - mime 1.4.1
  * pop3d::dbox 1.0.2
  WARNING: cleanupTests deleting
  /local/src/tcllib/__dbox__...
  WARNING: cleanupTests deleting /local/src/tcllib/__bar__...
  modules/pop3d/pop3d_udb.test
  - tcllib::testutils 1.0
  * pop3d::udb 1.1
  test name 'pop3-udb-3.0' re-used; prior use in
  /local/src/tcllib/modules/pop3d/pop3d_udb.test
  test name 'pop3-udb-3.1' re-used; prior use in
  /local/src/tcllib/modules/pop3d/pop3d_udb.test
  test name 'pop3-udb-3.2' re-used; prior use in
  /local/src/tcllib/modules/pop3d/pop3d_udb.test
  WARNING: cleanupTests deleting /local/src/tcllib/__UDB__...
  WARNING: cleanupTests deleting
  /local/src/tcllib/__UDB__.old...


tkt_uuid: 564279ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ncgi
priority: 5 Medium
foundin: None
resolution: Fixed
title: ncgi::multipart bug
comment:
  In "ncgi::multipart" we have:
  ---
  if {[regexp -- $boundary\r\n $query]} {
      set lineDelim "\r\n"
  puts "DELIM"
      } else {
          set lineDelim "\n"
  puts "NO"
      }
  ---
  It seems to me that the 2 "puts" are for debugging
  purposes only: in real life, using ncgi::multipart
  causes the emission of a wrong header ("DELIM" or "NO").


tkt_uuid: 1681568fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - add facility to hyperlink between documents
comment:
  Right now, doctools linking facility links between words to an index file. However, it would be useful to also support linux between points within a document, or points between documents ... for example, between a word and its definition in a glossary document, or pointing from a man page to a specific section of another man page.


tkt_uuid: 1280529fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: inifile
priority: 5 Medium
foundin: None
resolution: Fixed
title: Bug in Tcl
comment:
  % package require inifile
  0.1
  % set ::data 45
  45
  % set ini [::ini::open file.ini]
  can't array set "data": variable isn't array


  Why? See:
  http://sourceforge.net/tracker/index.php?func=detail&aid=1280497&group_id=10894&atid=110894

  It should be :
  namespace eval ::ini:${...} {
    variable data
    variable ....
    ....
  }

  a-tcl@freakmail.de


tkt_uuid: 553784ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Fixed
title: word_decode: test failures
comment:
  Tests mime-5.3,4,5,6,7 all fail because [word_decode]
  does not recognize the charset ISO-8859-1.  Here's
  a patch to fix that.


tkt_uuid: 1198196fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Accepted
title: Convert bridged entry/exit messages to Traffic Messages
comment:
  This converts the bridged IRC/Web entry and exit 
  messages to Traffic messages so that they can be 
  hidden with the 'Hide Entry/Exit Messages' menu.

  Also converts bridged nick changes to system messages.

  Factors out common code for parsing live and history 
  messages into a new proc.

  Moves the entry/exit color initialization into the 
  main array initialization. I like being able to 
  change the message color without it being reset 
  everytime I start the program :)

  Note: This patch will fail on block #2 if the 
  NickList patch has been applied, as it modifies the 
  same code in the ::tkchat::add Action proc. This 
  patch has all the same changes with the addition that 
  it changes the RE.


tkt_uuid: 991452ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ftp::Quote should join arguments
comment:
  in ::ftp::Quote arguments are simply reached to the server,
  but this is a tcl list. If list values contain spaces
  or special
  characters, tcl wraps list elements in braces and these get
  handed over to the ftp-server.

  I suggest the following mini-patch, which joins the
  args by spaces:

  --- ftp.tcl.orig        Thu Jul 15 10:42:53 2004
  +++ ftp.tcl     Thu Jul 15 10:38:18 2004
  @@ -2201,7 +2201,7 @@
           return 0
       }
   
  -    set ftp(Cmd) $args
  +    set ftp(Cmd) [join $args " "]
       set ftp(Quote) {}
   
       set ftp(State) quote


tkt_uuid: 2976290fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: base64
priority: 5 Medium
foundin: None
resolution: Fixed
title: decode fails
comment:
  This code:

  ::base64::decode s=GQMRAk5WXhsABh0NEx4RXBocBVgBHQMXHRgEFltMQENQXEFOExJVQ0RAQERUQ0dAEhYEExVIRRVVFENWKxMKABsPGBI6LRoYLhsEFhsXGFkXEwZXGQMIHg==

  produce an error:
  can't use empty string as operand of "&"
      while executing
  "expr {($v << 2) | (($w & 0x30) >> 4)}"
      (procedure "::base64::decode" line 27)
      invoked from within
  "::base64::decode s=GQMRAk5WXhsABh0NEx4RXBocBVgBHQMXHRgEFltMQENQXEFOExJVQ0RAQERUQ0dAEhYEExVIRRVVFENWKxMKABsPGBI6LRoYLhsEFhsXGFkXEwZXGQMIHg=="
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 {::base64::decode s=GQMRAk5WXhsABh0NEx4RXBocBVgBHQMXHRgEFltMQENQXEFOExJVQ0RAQERUQ0dAEhYEExVIRRVVFENWKxMKABsPGBI6LRoYLhsEFhsXGFkXEwZXGQMIHg=..."

  The source string may be invalid, but the code should not fail like this.


tkt_uuid: 817351ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: comm
priority: 5 Medium
foundin: None
resolution: Fixed
title: error for new comm channels
comment:
  The documentation example shows following usage to
  create a new comm channel:

  ::comm::comm new ::comm::comm -port 0 -local 1 ...

  However, when I try to specify ::comm::p2 as the
  channel name, it fails to create the internal variables
  correctly. If I specify p1 without full namespace, it
  works properly. See the following interactive session:

  hlavana-u5:64> tclsh
  % package require comm
  4.1
  % ::comm::comm new p1 -port 0 -local 1 -listen 1
  % p1 self
  invalid command name "p1"
  % ::comm::p1 self
  40695
  % ::comm::comm new ::comm::p2 -port 0 -local 1 -listen 1
  % ::comm::p2 self
  can't read "comm(p2,port)": no such element in array
  %  ::comm::comm channels
  ::comm::comm p1 ::comm::p2

  This looks like a bug to me.

  Hemang.


tkt_uuid: 1359041fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: None
title: patch adding -autopost option to ComboBox
comment:
  I wanted a ComboBox that would automatically post as
  soon as the user started typing, and would scroll to
  the value that is most similar to the entry's input. 
  The following patch adds an "-autopost" boolean
  configuration option that performs this behavior. 
  Furthermore it handles up and down arrow key events to
  let the user instead select an item from the listbox. 
  Pressing the escape key while the entry has focus
  causes the listbox to unpost.

  This patch is against BWidget 1.7.


tkt_uuid: 1416755fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: logger
priority: 5 Medium
foundin: None
resolution: Fixed
title: logger: test suite bugs
comment:
  with -debug 1:

  * logger 0.6.2
  test name 'logger-7.3' re-used; prior use in
  /local/src/tcllib/modules/log/logger.test
  test name 'logger-13.7' re-used; prior use in
  /local/src/tcllib/modules/log/logger.test


tkt_uuid: 3151099fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: fail to send when addr is like foobar.@example.com
comment:
  smtp::sendmail fails to send email that
  looks like foobar.@example.com.

  As far as I know having an email address with a dot (".") as the 
  last char before @ should be RFC compliant. 

  I checked email address using this regexp:

  regexp {^[a-z0-9\.\-\_]+\@[a-z0-9]([a-z0-9\-\_]+\.)+[a-z0-9\-\_]+$} $mail

  I'm using tcllib 1.12 (ubuntu 10.10).

  This  the actual error message: 

  Sending to foobar.@example.com: prova.pdf
  error in To: expecting colon to terminate route (found end-of-input)
      while executing
  "error "error in $who: $aprops(error)""
      (procedure "smtp::sendmessage" line 260)
      invoked from within
  "smtp::sendmessage $multiT -servers yoursmtpserver.com -header [list From "me@mydomain.com"]  -header [list To $rcpt]  -header [list Subject "this is the subject..."
      ("foreach" body line 13)
      invoked from within
  "foreach rcpt $recipients {

         set this_image $file
         # create an image and text
         set imageT [mime::initialize -canonical \
             ..."


tkt_uuid: 882154ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: dns
priority: 5 Medium
foundin: None
resolution: Fixed
title: No support for reverse lookups in dns
comment:
  The dns package provides no assistance in doing reverse
  lookups.
  Try
  set tok [dns::resolve d.c.b.a.in-addr.arpa -type PTR]
  lindex [dns::Decode $tok] 3
  and get the rdata for the name.

  This can be auto detected by regexp {[\d.]+} $query


tkt_uuid: 1541828fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: ldap
priority: 5 Medium
foundin: None
resolution: Accepted
title: modifyDN : new arg, and split search function
comment:
  This patch:

  - introduces a newSuperior optional parameter to 
  modifyDN

  - splits the search function in 3 new functions: 
  searchInit, searchNext and searchEnd. The old search 
  function is rewritten using these 3 new functions and 
  the result is compatible.

  Since I'm not familiar with Tcllib man format, don't 
  hesitate to correct wording and formatting.


tkt_uuid: 2943788fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ntp
priority: 5 Medium
foundin: None
resolution: None
title: couldn't open socket: connection refused
comment:
  proc tz:gettime { server } {
    package require time;
    set time "";
    while {$time == ""} {
      set tok [::time::gettime $server];
      set time [::time::unixtime $tok];
    }
    return $time;
  }

  puts [tz:gettime "pool.ntp.org"];

  Tcl error [tz:gettime]: couldn't open socket: connection refused

  How to I get around this error so it tries another server...


tkt_uuid: 1346295fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: tklib :: plotchart
priority: 2
foundin: None
resolution: None
title: plotchart files in release have wrong unix permissions
comment:
  In the tar files created for release too many files in
  the plotchart module carry an x (executable) bit. It
  should only be there for executable files, not for
  documentation etc.


tkt_uuid: 535382ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 7 High
foundin: None
resolution: Fixed
title: definition list problems
comment:
  mpexpand needs to support two types of definition 
  lists: one with vertical whitspace between elements, 
  and one without.

  The reason? To support to types of markup common to 
  most tk man pages. 

  The need for no vertical whitespace: every tk option 
  is documented with three individual lines that look 
  like this:

     Command-Line option: foo
     Database Name: foo
     Database Class: Foo

  This format has proven to work well over the years, 
  though its possible we could put all the information 
  on a single line. It's also possible to use a 
  preformatted section to mark this up, but I don't 
  think that would quite look right, since it would 
  likely have the same colorization and fonts as code 
  samples.

  One could also use a bulleted list, but bullets don't 
  really make sense here. What we need is a bulleted 
  list without the bullets (but also without descriptive 
  paragraphs). 

  The need for whitespace: methods are typically 
  described with the following format:

     bbox
        returns a list blah blah

     cget
        returns blah blah blah

     configure
        query or modify blah blah blah

  This type of presentation is tedious to read if there 
  is no vertical whitespace between the different 
  methods. The present (as of March 26, 2002) nroff 
  formatter puts in this whitespace, but the html 
  formatter does not.

  I don't know what the best solution is, but I believe 
  both types of definition lists ought to be supported. 
  This could be done with "hints" to the formatter (eg: 
  [list_begin definition -compact]), or as separate 
  types of lists (eg: [list_begin compact], or with a 
  smart algorithm that guesses whether vertical 
  whitespace should be used or not.

  Ultimately, however, I think doctools needs to provide 
  some standard mechanism for creating both types of 
  markup, and all of the formatters should attempt to 
  generate an equal amount of vertical whtiespace.
    


tkt_uuid: 3612359fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: fileutil
priority: 5 Medium
severity: Minor
foundin: None
resolution: Not Applicable Here
title: lexnormalize ignore leading ../
comment:
  % package require fileutil
  1.14.5
  % fileutil::lexnormalize ../toto
  toto
  % fileutil::lexnormalize ../../toto
  toto
  % 

  Seems wrong to me... I made a correction:
  % fileutil_lexnormalize ../toto
  ../toto
  % fileutil_lexnormalize ../../toto
  ../../toto
  % fileutil_lexnormalize .././.././toto
  ../../toto
  %


tkt_uuid: 1908510fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Submission: fileutil::globfind
comment:
  globfind is designed as a fast and simple alternative to fileutil::find.  It takes advantage of glob's ability to use multiple patterns to scan deeply into a directory structure in a single command, hence the name.

  It is two to three times faster than fileutil::find, and somewhat faster than perl's standard directory traversal utility, File::Find.

  See http://wiki.tcl.tk/19762 for performance details.

  Some example filter commands are included for use with globfind: one powers a wrapper proc that duplicates the function of a subset of the Gnu find utility's parameters; another performs directory syncing.


tkt_uuid: 1695120fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - add diagram support
comment:
  Consider an extension of the markup for the setting of diagrams, see Arjen's diagram package in Tklib for ideas.
  Not general image support, but at least vector graphics would be possible.


tkt_uuid: 966696ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
title: Add introspection for methods
comment:
  Today I had a need to introspect a snit object, to find
  which methods it would understand. Found the 'info'
  method, but it had no way to ask for methods. Just
  variables, typevars, options, ...

  So I am asking for a 'info methods', 'info typemethods'.


tkt_uuid: 1373937fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bench
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: bench package does not work as TM
comment:
  The packages as is cannot work as a Tcl Module (i.e.
  wrapped) because of a direct reference to libbench.tcl
  used for [exec]ution. The code has to change, we need
  detection of the filesystem type and copy libbench.tcl
  out of the wrapped archive into a native location.


tkt_uuid: 2526629fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: spf
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: SPF package is apparently dysfunctional
comment:
  SPF package (version 1.1.1) does not work.

  % package require spf
  1.1.1
  % spf::spf 1.2.3.4 example.com bob@example.com
  none
  % spf::SPF example.com
  =spf1 ip4:127.1.28.7 -all
  % package present dns
  1.3.3



  Applying the following diff to "spf.tcl" results in correct operations:
  --- spf.tcl     2009-01-21 13:09:37.450402473 -0500
  +++ spf.tcl.fixed       2009-01-21 12:57:04.043184940 -0500
  @@ -579,7 +579,7 @@
               set ndx [lsearch $res rdata]
               incr ndx
               if {$ndx != 0} {
  -                append txt [string range [lindex $res $ndx] 1 end]
  +                append txt [lindex $res $ndx]
               }
           }
       }


  Correct operation output:
  % ::spf::spf 1.2.3.4 example.com bob@example.com
  -
  % spf::SPF example.com
  v=spf1 ip4:127.1.28.7 -all


tkt_uuid: 2250870fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: improvements for fileutil::traverse
comment:
  This patch improves the fileutil::traverse package in
  several ways.  The changes are documented in the
  man page traverse.man and in the Changelog.  The version
  number of the traverse package has been bumped to 0.5,
  which is also reflected in pkgIndex.

  IMO the -notroot True functionality should be the default
  however the patch is backwards compatible to version 0.4.

  There are no additional test in traverse.test,  I will
  be glad to provide some for the new functionality, if
  the patch is deemed worthy for inclusion.

  Motivation for the patch is to make it suitable for a
  archival/backup system I'm writing.


tkt_uuid: 2895994fffffffffffffffffffffffffffffffff
type: Patch
status: Open
subsystem: tklib :: tooltip
priority: 8
foundin: None
resolution: None
title: extend tooltip to the treeview widget
comment:
  Using the same logic as listbox, extend tklib tooltip to work with ttk::treeview.

  Don't know how to update the doc, but here's some demo code
  pack [::ttk::treeview .tree -height 15 -show tree]
  foreach txt {first second third} {
      set id [.tree insert {} end -text "$txt item" -open 1]
      ::tooltip::tooltip .tree -item $id "tooltip for $txt item"
      for {set i 0} {$i < 3} {incr i} {
          set child [.tree insert $id end -text "child $i"]
          ::tooltip::tooltip .tree -item $child "tooltip for child $i"
      }
  }


tkt_uuid: 223325ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
priority: 7 High
resolution: Fixed
title: No config directory
comment:
  Configuration of the package fails because htere is a missing config directory, which used to be in the Scriptics CVS server.


tkt_uuid: 3501392fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
subsystem: A Category Is Missing
priority: 5 Medium
severity: Minor
foundin: None
resolution: Not Applicable Here
title: New Module: socks5
comment:
  Patch to add a new module for establishing connections via SOCKS 5 proxies.  The patch was generated against the 1.14 release tarball.


tkt_uuid: 1968777fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Locale problems
comment:
  When validating a man page I'm writing, I kept getting error messages such as:

  /Library/Tcl/bin/dtplite: Doctools Error in macro at line 51, column 4:
  [call [cmd format_bytes]  [arg ...]
  --> (FmtError) Manpage error (deflist), "call  " : unknown error code "deflist" (for locale sv_se).

  (The error turned out to be that [call] cannot be used in a "commands" list, which strikes me as somewhat illogical, but that's a separate matter.) This report is about the fact that I don't get an error message -- only the msgcat code for the message, if I understand it right.

  Msgcat isn't a package I'm familiar with (locales generally seem to be a neverending source of trouble, so I try to stay clear of having code depend on them), but it appears there is something wrong with the way Doctools is using them here, since the message is missing.

  One possible solution, that occurs to me after reading the msgcat manpage, is to declare messages for the root locale (empty string). Possibly the C locale messages should be moved there?

  Otherwise you'd have to do something clever using [mcunknown].


tkt_uuid: 1917035fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: inifile
priority: 6
foundin: None
resolution: Fixed
title: inifile - Global procedure 'commentchar' ok?
comment:
  The package inifile defines a global procedure called 'commentchar' (line 175ff).

  I am wondering if that should be '::ini::commentchar'.
  The documentation certainly uses the latter.
  In this mismatch I believe the documentation is right.


tkt_uuid: 1114498fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Change 'find' API to allow an error handler
comment:
  Change the API of filutil::find so that a user can set
  an error handler, to be called for all directories
  which are inacessible, or other problems.


tkt_uuid: 1029144fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: bwidget listbox multi selection handles ctrl key wrong
comment:
  the multi-selection mode of listbox has a rather non-
  intuitive "feature": when holding down ctrl key and 
  clicking on an unselected item it selects it - so far so 
  good - when clicking on a selected item nothing changes.

  One would expect (from experience with other listboxes) 
  that clicking on a selected item with Ctrl-key held would 
  de-select the item.

  Tested with: BWidget 1.6 and CVS-Head as of 2004-09-
  16


tkt_uuid: 3090738fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
resolution: Fixed
title: Minor doc typo in graphops manpage
comment:
  The graphops manpage contains a small typo in several places.  The attached diff patches tcllib 1.12  graphops manpage to remove the typo.


tkt_uuid: 1695122fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - Use pluginmgr to handle backends
comment:
  The backends are currently handled through explicitly created safe interpreters, which are not very good are loading packages or other code.

  Rework the doctools internals to use Tcllib's pluginmgr package to handle checker layer and backends.

  Backends and common supporting code can become proper packages (Tcl Modules even), much easier to manage.

  Note: Message catalogs can get a package interface too. Load package, adds path to look at for the catalogs. alternate: Load package, gets the catalog.


tkt_uuid: 1542666fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: ldap
priority: 5 Medium
foundin: None
resolution: Accepted
title: addition of ldap::modifyMulti
comment:
  This patch provides a new function "modifyMulti" 
  which takes arguments compatible with "addMulti" and 
  multiple-valuated arguments.

  This patch assumes that patch 1191326 has been 
  applied.

  No modification to current API (except the addition 
  of a new function.


tkt_uuid: 3469006fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: inifile
priority: 5 Medium
foundin: None
resolution: Fixed
title: ini::commit fail
comment:
  On the 1.16 revision of inifile package (Tcllib 1.14), I have an issue each time I save an ini file, on ini::commit procedure.

  Error is: 'file23dbf70 is not an open INI file'

  I fixed this bug by adding '::' before 'close' on '::ini::commit' procedure:

  - old:      close $channel
  - new:     ::close $channel


tkt_uuid: 733407ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: csv
priority: 5 Medium
foundin: None
title: Please extend tcllib ::csv for multi-line records
comment:
  From comp.lang.tcl, the following interaction occurred.

  > According to Andreas Kupries  <akupries@shaw.ca>:
  > : The
  > :higher level routines (split2*, read2* from a
  channel) however
  > :unfortunately do assume that one record == one line
  and thus bust it.
  > 
  > Is there a way that these could either be extended,
  or that parallel
  > commands able to deal with multiple lines could be
  developed?

  Maybe. Well, at least parallel commands should be
  possible, but 
  they
  will need some sort of extended parser, i.e. read the
  whole channel,
  then parse the whole string into records and split
  records, without
  regarding to lines. I am currently unsure if the
  low-level split will
  return an error if it sees an incomplete record or if
  it will do a
  best-effort of generating something.


  The point is this - the lower level csv commands , with
  appropriate settings (which may need documenting) can
  read and process multiline records.

  However, the higher level read2matrix, etc. procs
  appear to have some built in limitations with respect
  to newline terminated records.


tkt_uuid: 466317ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Accepted
title: Cleanup of tkchat sources
comment:
  Added on behalf of Larry Virden (lvirden) the enclosed
  patch cleans up the tkchat in several places noted as
  problematic by static code checkers.


tkt_uuid: 2812473fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: statistics
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: test-normal description is confusing or wrong
comment:
  The documentation for math::statistics::test-normal says it returns 1 if the data is distributed normally within the given confidence.
  I am not a statistician, but either I am severely confused or this is completely wrong.  It seems that this procedure returns 1 when the null hypothesis of a normal distribution should be rejected, which is the opposite of what I read.

  Also, the confidence specification seems backwards from the things I read---which admittedly are just Wikipedia and MATLAB help---which use significance (alpha), a small number, rather than confidence.  In fact, I don't even think confidence is the right word here, or at least I don't think you're talking about confidence intervals.

  package require math::statstics
  0.6


tkt_uuid: 1023867fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Out of Date
title: Tk dependency in version 1.7
comment:
  BWidget 1.4 TitleFrame does not work with Tk 8.2

  $ wish8.2
  %  package require BWidget
  1.7
  % pack [TitleFrame .tf -text Test]
  error while autoloading "TitleFrame": unknown option
  "-state"


  $ wish8.4
  %  package require BWidget
  1.7
  % pack [TitleFrame .tf -text Test]
  %

  In some version the "-state" option has been added to
  the TitleFrame Widget, which is which is handled over
  th the Tk label widget. The "label" in Tk 8.2 does not
  support "-state", but the Tk 8.4 label does have this
  method.
  In the BWidgets 1.2 no "-state" method of the
  TitleFrame was present, so this version works with Tk
  8.2.

  I don't know how the situation is in Tk 8.3, neither do
  I know when the "-state" has been added to the
  TitleFrame.

  By,
  Gerhard


tkt_uuid: 1377453fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Fixed
title: Key bindings problems on Windows
comment:
  On Windows XP the Num-Lock key appears as MOD1, the key
  binding to bring up the popup menu causes the private
  chat not to popup.


tkt_uuid: 1153603fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Fixed
title: tkchat errs out on a disconnection
comment:
  (this is msw from tcl'ers chat)
  This happened when my router reconnected itself:

  can't read "x(-body)": no such element in array
  can't read "x(-body)": no such element in array
      while executing
  "tkchat::addSystem "Network error $x(-body)""
      ("networkerror" arm line 3)
      invoked from within
  "switch -- $cmd {
      connect {
          tkchat::addSystem "Connection to Jabber Server
  Established"
      }
      disconnect {
          cleanup
          scheduleReconnect
      }
  ..."
      (procedure "::tkjabber::ClientCB" line 4)
      invoked from within
  "::tkjabber::ClientCB ::jlib::jlib4 networkerror"
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 $lib(clientcmd) [list $jlibname
  networkerror]     "
      (procedure "::jlib::recvsocket" line 16)
      invoked from within
  "::jlib::recvsocket ::jlib::jlib4"

  this is tkchat 1.263 and tcl 8.4.9 as tclkit.


tkt_uuid: 1011096fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: counter
priority: 2
foundin: None
resolution: Not Applicable Here
title: secret undocumented switches to counter::get
comment:
  counter::get has several switches that are not
  documented, but sound useful -maxPerMinute,
  -maxPerHour, -maxPerDay

  Those throw an error for non time based counter types:
  (bin) 70 % counter::init foo -hist 20
  (bin) 71 % counter::get foo -maxPerMinute
  can't read "counter(maxPerMinute)": no such element in
  array

  if they get exposed, throw a more helpful error message


tkt_uuid: 753770ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: None
title: unwanted log output
comment:
  The ftp-modules in tcllib 1.4 produces a line of output
  for every transfer: "xxxx bytes sent in yyy seconds
  (zzzz Bytes/sec)".

  This should only be produced, if verbose output is wanted.

  ftp.tcl has a namespace variable VERBOSE, which is
  honored in every call to DisplayMsg, except in
  procedure ElapsedTime.

  The attached patch should change this.


tkt_uuid: 1539479fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: asn
priority: 5 Medium
foundin: None
resolution: Accepted
title: mispelled variable in asnContext
comment:
  ::asnContext has appeard in rev 1.10 of asn.tcl.
  However, there is a mispelled variable ("out" should 
  be "data") in the function body since this rev.
  The attached patch (against current asn.tcl) resolves 
  this problem.


tkt_uuid: 1011094fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: counter
priority: 2
foundin: None
resolution: Not Applicable Here
title: Restrictions for counter names not documented
comment:
  The counter names are not arbitrary strings, strings
  containing namespace qualifiers are simply not working:

  (bin) 69 % counter::init ::foo -hist 20
  can't access "counter::T-::foo": parent namespace
  doesn't exist

  Possible solutions:
  a) document this limitation
  b) rework most of the internals, probably slowing down
  counter 

  Just documenting it might be enough.


tkt_uuid: 792775ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Duplicate
title: BWidgets 1.6.0 BUG: tk crashes when selecting interdependent
comment:
  I am not sure if this is a bug or not. I am running 
  tcl8.3/tk8.3 with BWidgets 1.6.0. The application 
  crashes.


tkt_uuid: 1416743fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: fileutil :: magic
priority: 5 Medium
foundin: None
resolution: Fixed
title: fumagic: test suite bugs
comment:
  with -debug 1:

  Module: fumagic
  modules/fumagic/filetypes.test
  - tcllib::testutils 1.0
  - fileutil::magic::rt 1.0
  * fileutil::magic::filetype 1.0
  WARNING: removeDirectory removing
  "/local/src/tcllib/fileTypeTest":
    not created by makeDirectory
  WARNING: removeDirectory removing
  "/local/src/tcllib/fileTypeTest":
    not a directory
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest...
  modules/fumagic/mimetypes.test
  - tcllib::testutils 1.0
  - fileutil::magic::rt 1.0
  * fileutil::magic::mimetype 1.0
  WARNING: removeDirectory removing
  "/local/src/tcllib/fileTypeTest":
    not a directory
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/binaryFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/elfFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/bzipFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/gzipFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/jpegFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/gifFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/pngFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/tiffFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/psFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/pdfFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/epsFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/igwdFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/textFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/scriptFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/htmlFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/xmlFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/xmlWithDTDFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest/pgpFile...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest...


tkt_uuid: 879451ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: log
priority: 5 Medium
foundin: None
title: add better introspection to logger
comment:
  Hi,

  I would like to see more introspection for the logger
  command. 

  At the moment only logger::services and
  ${log}::services exist

  I would like to see this additions:

  ::logger::levels -- 
  Return the currently defined levels accepted by logger
  enable/disable.

  ${log}::enabled --
  Return 1 if the service is enabled 0 otherwise.

  ${log}::currentloglevel -- (bad name?)
  Return the current log level for this service .

  And maybe:

  ${log}::delproc --
  Return the current deleteproc if no argument was given.

  Similar behaviour for the procs for the log levels.
  (BTW. What is the rationale for not using a proc name
  as argument for logproc but creating a new proc? Speed?
  )

  Michael


tkt_uuid: 2414880fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: Build System & Testing
priority: 5 Medium
foundin: None
resolution: None
title: fix installer.tcl to look for and handle tcllibc
comment:
  If one uses critcl to build the C accelerators for tcllib, make install / installer.tcl doesn't install the tcllibc module.

  aku requested in #tcl that I file a bug on this.


tkt_uuid: 1653431fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: sasl
priority: 5 Medium
foundin: None
resolution: Accepted
title: Use authentication domain returned by server with NTLM
comment:
  Currently the type 1 message generated by the NTLM code, includes the req_target flag. This will request the correct authentication realm from the server. Currently this information is not used and therefore the correct domain always has to be specified even if the server returns it.
  The following patch on ntlm.tcl will use the domain returned by the server if available. This allows the user of the NTLM to omit the domain in most cases.

  diff ntlm.tcl.orig ntlm.tcl
  63a64,67
  >               # if server returns a domain, use it
  >               if {[info exists params(domain)]} {
  >                       set ctx(realm) $params(domain)
  >               }


tkt_uuid: 2220159fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Missing in snitfaq: limitiation on names for options
comment:
  The snitfaq documentation is lacking documentation on
  the allowed names of options. I found out that there 
  are such limitations when I tried to use 
  "transformBefore" as the name.


tkt_uuid: 1491894fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: comm
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: comm "-listen 0" causes race conditions
comment:
  I observed this behavior using comm 4.3 as delivered with ActiveTcl 
  8.4.11.

  Today for the first time I tried creating multiple comm channels in
  one program.  (Hitherto I'd just used comm::comm directly.)  According
  to the man page, if you do this:

      comm::comm new mychan -listen 0

  you get a channel with an ID of "0".  You can send out with it, but
  there's no listening socket, so you can't connect to it; it has to
  connect out.  Well and good; I thought that was what I wanted.

  So suppose I send a command to a comm(n) channel at port 10001:

     mychan send 10001 {some command}

  The receiver sees the command as coming from sender with id 0.  In
  short, the receiver can't distinguish between commands coming from
  multiple senders which specify -listen 0 (assuming they are all on
  the same host).

  This is a problem for me at the application level, because I want to
  distinguish between the different clients who connect to my server.
  But it also appears to be a problem for comm as well: if I
  start up several clients with channels that use -listen 0, my server
  starts outputting ugly messages like "commIncoming race condition: 
  0".

  The work around is simply to use "-listen 1"....but it makes me
  wonder whether "-listen 0" is actually useful for anything.

  William.H.Duquette@jpl.nasa.gov


tkt_uuid: 1473699fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: cmdline
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: -? and -help broken
comment:
  cmdline lists the Options -? and -help per default but
  they doesn't work with the dash.

  Example Script:
  #!/bin/sh
  #\
  exec tclsh "$0" "$@"
  #
  package require cmdline
  #
  set options {
     {h              "print this message"}
  }
  #
  # set usage string
  set usage ": name \[options\] \[value\]"
  #
  # parse commandline arguments into array
  array set cmdopt [::cmdline::getoptions argv $options
  $usage]
  #
  #EoF

  Gives errors:
  ./example_script.tcl -?
  ./example_script.tcl -help

  Works as expected:
  ./example_script.tcl ?
  ./example_script.tcl help


tkt_uuid: 1515267fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Installation
priority: 5 Medium
foundin: None
resolution: Fixed
title: installation process broken with latest CVS
comment:
  a typo in the installed_modules.tcl file keeps tcllib
  from installing, 1.8.0.1

  I'm attaching a patch.


tkt_uuid: 3141163fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Login at hosted accounts in Rest API gdocs API
comment:
  Posting this here since there isn't any category for the rest library candidate. The gdocs example API interface should include "accountType HOSTED_OR_GOOGLE" in the static_args list of the gdocs(auth) table in order to allow login at "regular" google docs accounts, but also at hosted accounts.


tkt_uuid: 1416760fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: bignum :: float
priority: 5 Medium
foundin: None
resolution: Fixed
title: bigfloat: test suite bugs
comment:
  with -debug 1:

  * math::bigfloat 1.2
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-add-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sub-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mul-1.2' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-div-1.3' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-div-1.3' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-div-1.3' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-div-1.3' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-div-1.3' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-div-1.3' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-div-1.3' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-div-1.3' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mod-1.4' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mod-1.4' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mod-1.4' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mod-1.4' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mod-1.4' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mod-1.4' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mod-1.4' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-mod-1.4' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-round-2.6d' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-round-2.6e' re-used; prior use in
  /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.1.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.1.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.1.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.2.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.2.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.2.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.3.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.3.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.3.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.4.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.4.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.4.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.1.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.1.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.1.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.2.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.2.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.2.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.3.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.3.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.3.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.4.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.4.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.4.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.1.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.1.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.1.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.2.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.2.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.2.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.3.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.3.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.3.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.4.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.4.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.4.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.1.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.1.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.1.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.2.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.2.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.2.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.3.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.3.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.3.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.4.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.4.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.4.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.1.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.1.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.1.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.2.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.2.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.2.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.3.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.3.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.3.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.4.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.4.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.4.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.1.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.1.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.1.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.2.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.2.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.2.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.3.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.3.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.3.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.4.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.4.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.4.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.1.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.1.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.1.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.2.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.2.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.2.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.3.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.3.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.3.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.4.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.4.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.4.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.1.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.1.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.1.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.2.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.2.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.2.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.3.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.3.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.3.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-cosh-4.7.4.0.0' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-sinh-4.7.4.0.1' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test
  test name 'bigfloat-tanh-4.7.4.0.2' re-used; prior use
  in /local/src/tcllib/modules/math/bigfloat.test


tkt_uuid: 1846923fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: math
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Submission: incomplete Gamma function
comment:
  Hi,

  As part of a package I'm developing for gamma-distributed random variables, I've implemented the incomplete gamma function (the normalized function P(p,x)). I'm attaching the file.

  I've tested several values, but haven't tested it exhaustively.

  Eric


tkt_uuid: 2597454fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math
priority: 5 Medium
foundin: None
resolution: Fixed
title: Warnings in documentation
comment:
  andreask@gila:~/lsf/tcllib> ./sak.tcl doc validate modules/math
  Validate  : ./modules/math/bignum.man
  Validate  : ./modules/math/combinatorics.man
  Validate  : ./modules/math/fourier.man
  Validate  : ./modules/math/linalg.man
  Validate  : ./modules/math/romberg.man
  Validate  : ./modules/math/optimize.man
  Validate  : ./modules/math/bigfloat.man
  Validate  : ./modules/math/calculus.man
  Validate  : ./modules/math/machineparameters.man
  DocTools Warning (depr_strong): In macro at line 11, column 4:
  DocTools Warning (depr_strong): Deprecated command "[strong]".
  DocTools Warning (depr_strong):         Please consider appropriate semantic markup or [emph] instead.
  DocTools Warning (depr_ltype): In macro at line 23, column 0:
  DocTools Warning (depr_ltype): Deprecated list type "bullet".
  DocTools Warning (depr_ltype):  Please use "itemized" instead.
  DocTools Warning (depr_bullet): In macro at line 24, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_bullet): In macro at line 25, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_ltype): In macro at line 106, column 0:
  DocTools Warning (depr_ltype): Deprecated list type "bullet".
  DocTools Warning (depr_ltype):  Please use "itemized" instead.
  DocTools Warning (depr_bullet): In macro at line 107, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_bullet): In macro at line 108, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_ltype): In macro at line 158, column 0:
  DocTools Warning (depr_ltype): Deprecated list type "bullet".
  DocTools Warning (depr_ltype):  Please use "itemized" instead.
  DocTools Warning (depr_bullet): In macro at line 159, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_bullet): In macro at line 160, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_bullet): In macro at line 167, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_bullet): In macro at line 170, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_bullet): In macro at line 171, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_bullet): In macro at line 172, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_bullet): In macro at line 173, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  DocTools Warning (depr_bullet): In macro at line 174, column 0:
  DocTools Warning (depr_bullet): Deprecated command "[bullet]".
  DocTools Warning (depr_bullet):         Please use [item] instead.
  Validate  : ./modules/math/polynomials.man
  Validate  : ./modules/math/statistics.man
  Validate  : ./modules/math/rational_funcs.man
  Validate  : ./modules/math/roman.man
  Validate  : ./modules/math/fuzzy.man
  Validate  : ./modules/math/constants.man
  Validate  : ./modules/math/special.man
  Validate  : ./modules/math/geometry.man
  Validate  : ./modules/math/math.man
  Validate  : ./modules/math/interpolate.man
  Validate  : ./modules/math/qcomplex.man
  andreask@gila:~/lsf/tcllib>


tkt_uuid: 3309165fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: math::bigfloat::isInt returns 1 on non-integers
comment:
  Tcl 8.5
  math::bigfloat version 2.0.1

  The procedure math::bigfloat::isInt performs a very naive check to distinguish BigFloats from integers, but the check isn't nearly comprehensive enough to cover all or even most cases.  The doc states that the proc should be able to distinguish standard Tcl 8.5 integers from other values.  But note for example:

  % isInt 2.0
  1
  % isInt 0.5
  1
  % isInt 1/2
  1
  % isInt [expr exp(1)]
  1
  % isInt i
  1
  % isInt HAM_SANDWICH
  1

  A better implementation might be something like:

  proc isInt {n} {
  if {[catch {set n [expr abs($n)]}]} {return 0}
  if {[string first . $n] > -1} {return 0}
  return 1
  }


tkt_uuid: 1747945fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: profiler
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Patch to avoid inflation of the 'statTime' array
comment:
  This patch relates to the size of the statTime array.
  In the existing package (v0.2.3) the statistics on proc execution times are performed on data collected in array 'statTime'. However, if the profiler is run for a length of time, this array is getting very big, which I believe slows down the profiler. I've seen this degradation of performance in a program that uses a lot of 'after time' calls. It looks like for the type of statistics performed with this package there is no need to collect all time samples in the array. With this patch the basic statistics ('mean' and 'sum of squared times') are performed in the 'leaveHandler' proc and the array space is kept small (two array variables -not lists- per profiled function). The calculation of 'sigma' and 'cov' is done when the user issues a ::profiler::print or ::profiler::dump command. I've measured a 6% increase in the execution time of 'leaveHandler' due to the performing of basic stats calculation in this proc.


tkt_uuid: 826145ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: comm
priority: 7 High
foundin: None
resolution: Invalid
title: wrong eval of send arguments with blanks (e.g lists)
comment:
  when the send is called with arguments containing lists the 
  evaluation on the receiving side is one level too deep. 
   
  line 1066 of tcllib1.5/comm.tcl (comm 4.1) reads: 
           set err [catch [concat [list uplevel #0] $buffer] ret] 
  this evaluates the passed buffer one time too much. 
  if changed to: 
           set err [catch {uplevel #0 $buffer} ret] 
   
  it correctly expands the passed lists. 
   
  Could this please be checked and changed in the next version. 
   
  Thanks. 
   
  Benno Lange 


tkt_uuid: 618241ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ftp::Get <source> -variable <var> bombs
comment:
  ftp::Get <source> -variable <var>  is used by ftpvfs
  and fails everytime. 

  Test code:
    package require ftp

    set ftp [ftp::Open cdaftp.harvard.edu ftp  
  john@cfa.harvard.edu]
    ftp::Get $ftp  
  pub/science/ao03/cat4/3672/primary/acisf03672N001_1_sum2.html
  -var

    puts $X
    exit


  I don't see how this ever worked.  If -variable is set
  then $dest gets set to the $source.

  If $ftp(inline) then no $dest should be expexted,
  $dest should only be set on !$ftp(inline).


  ftp.tcl:
  1955c1955
  <     if {$ftp(inline) != 2} {
  ---
  >     if {$ftp(inline) == 0} {


tkt_uuid: 726275ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: general request
priority: 3 Low
foundin: None
resolution: Not Applicable Here
title: distinguish tcllib man pages from other packages
comment:
  When a Tcl extension installs, care needs to be taken
  that the manual pages do not overwrite pages from some
  other package.

  To do this, perhaps it is necessary to install man
  pages to match
  the namespace of the module:

  struct::tree.n

  for instance - or, if the :: are a problem , then perhaps 
  struct_tree.n


tkt_uuid: 1307714fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ftp - NList Documentation problem
comment:
  In the ftp documentation --> NList command:
  ::ftp::NList handle ?directory? 

  When I try passing a pattern (like the List command)
  it seems to work.

  eg. ftp::NList $h_ftp "*.xml"
  Works altough not documented


tkt_uuid: 882402ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: textutil
priority: 7 High
foundin: None
resolution: Fixed
title: -full option ignored in ::textutil::adjust command
comment:
  In the textutil package, which is a part of Tcllib, the -full 
  option (which should stop multiple consecutive space 
  characters being replaced with a single space) seems to 
  be ignored. This is in ActiveTcl 8.4.3.0, textutil version 
  0.6 . There are three [regsub] commands executed near 
  the beginning of ::textutil::adjust; it seems that they 
  should only be run if the -full option wasn't given.


  Original submitter:
  m_j_griffiths@talk21.com

  Original location of the bug:
  http://bugs.activestate.com/show_bug.cgi?id=28867


tkt_uuid: 1968596fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: aes
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: add -padding to aes package
comment:
  it will be good if you can change the default padding of the string you encrypt by givving the padding algorithm you want to use like PKCS#7 or other popolur padding techniques. this will make it clear that padding is done and can be changed.
  also adding -hexkey will be nice as hex keys are commonly used. if the -hexkey will not be added then better examplesin the documentation of using hex keys will be good.


tkt_uuid: 701077ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclbench
priority: 9 Immediate
foundin: None
resolution: Fixed
title: normbench can't process newest runbench output
comment:
  normbench.tcl fails to process the results of the latest 
  runbench.tcl, with this stack trace.

  TCL_INTERP: 1:8.4.2 2:8.4.2
  STARTED 2003-03-10 12:42:02 (runbench.tcl v1.15)
  Benchmark 1:8.4.2 ./tclkit-cc/tclsh8.4
  bbccdeeeffghkllmmmmpprrssstuvw 00:04:28 elapsed
  can't read "format": no such variable
      while executing
  "switch -exact -- $format {
              text { puts stdout [normalize-text $norm $line] }
              list { puts stdout [normalize-list $norm $line] }
              csv  {
          ..."
      (procedure "normalize" line 22)
      invoked from within
  "normalize $opts(norm) [read -nonewline $opts(fid)]
  "
      (file "./normbench.tcl" line 202)


  The offending line in the runbench.tcl output is 
    251591 milliseconds
  which passes the header-skipping [string match] at the 
  top of the 'normalize' proc, but it doesn't fall into any of 
  the version detection cases.

  You could fix this by changing the output format from 
  runbench, so that this line doesn't have numeric first 
  characters.

  A better solution might be to improve the header 
  detection section to check for string matches against 
  the format patterns.  For example (untested)

    set format "unknown"
    foreach line $lines {
        if {$format=="unknown"} {
            switch -glob -- $line {
                "0,VER*" {set format csv}
                ....
            }
        continue
        }
       ....


tkt_uuid: 1123327fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: counter
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: histograms do not handle negative reals correctly.
comment:
  When I do this: 
  ::counter::init h -hist 10
  ::counter::count h 9.1
  ::counter::count h -9.2

  I end up with bin 0 incremented twice.  I should have
  incremented bin -1 once and bin 0 once.

  proc ::counter::count is incorrect.  This fixes
  (counter.tcl) that problem. 

  -hist {
          upvar #0 counter::H-$tag histogram
  set bucket [expr int([expr floor([expr {$delta /
  $counter(bucketsize)}])])]
          if {![info exists histogram($bucket)]} {
              set histogram($bucket) 0
          }
          incr histogram($bucket)

  The problem is that int(-0.9) == 0 and int(0.9) == 0


  The html output is also incorrect as the labels are off
  by one.  I simply subtracted one in proc
  histHtmlDisplayBarChart

      #set x [expr {$i * $counter(bucketsize) *
  $counter(mult)}]
      set x [expr {($i-1) * $counter(bucketsize) *
  $counter(mult)}]



  There are still problems with the -skip option


tkt_uuid: 766245ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: inifile
priority: 5 Medium
foundin: None
resolution: Fixed
title: ini::commit bug
comment:
  Bug description added to the code ...

      # NOTE: Possible bug. Not closing the fh here
      # may cause problems if the written data is
      # less than there was in the file before. As it
      # is done here the old data after the last
      # byte written remains in existence. This can
      # cause bad syntax, causing errors when reading,
      # or even leace data in existence which was
      # supposedly deleted from the file.
      #
      # Closing and reopening the file should do the
      # trick, however this also assumes that the
      # newly opened file gets the same handle as the
      # one we closed. This assumption is wrong in the
      # case of a multi-threaded interpreter, as other
      # threads may create their own files between
      # the commands to close and reopen here.
      #
      # The full solution is to decouple the externally
      # visible handle for the ini file from the channel
      # handle.


tkt_uuid: 477753ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
title: add irc module
comment:
  Irc module available at 

  http://people.debian.org/~davidw/

  Please add or request changes necessary for addition.


tkt_uuid: 676976ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: uri
priority: 5 Medium
foundin: None
resolution: Fixed
title: Regexp in uri::split allows ',' characters
comment:
  The first regexp command in the uri::split function 
  is:

  regexp -- {^([a-z0-9+-.][a-z0-9+-.]*):} $url 
  dummy scheme

  I think it should be:

  regexp -- {^([a-z0-9+.-][a-z0-9+.-]*):} $url 
  dummy scheme

  The way it is currently, the range of characters '+' 
  through to '.' are included, which incorrectly 
  includes ',' in addition to the intended 
  characters '+', '-', and '.' (assuming ASCII character 
  set).


tkt_uuid: 548233ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: more hpupdate bug reports
comment:
  When I start hpupdate 2.0, it displays the local set of
  files, with highliting to show which ones have changed
  since the last upload.

  If I then select File / Connect , the remote directory
  is read, parsed, and displayed and the local info is
  'refreshed'.  This means that any changes the user
  might have made in terms of selecting what s/he wished
  to upload is now gone.

  Also, once an upload is done, hpupdate does a
  disconnect (the not connected icon appears) but the
  File menu isn't updated to display Connect instead of
  Disconnect.

  Finally, the upload process appears to not do the cd's
  necessary so that the uploaded files appear in the
  appropriate directories.  Instead, all files, including
  ones from subdirectories, go into the top level
  directory, clobbering any files by the same name that
  are present there.


tkt_uuid: 1695111fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - Gather markup statistics
comment:
  Extend engine to gather statistics about the use of markup commands in a set of documents, and print them. Both only on demand.

  Note: To get the actual commands used (i.e. deprecated ones) this has to be done in the syntax checking layer. Backend is too late, it sees only the canonical commands, and some are filtered out already (include, comments, ...)


tkt_uuid: 1501874fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Can't change selectmode after ListBox creation
comment:
  If a ListBox widget is created with a certain
  selectmode, then a different selectmode is desired, the
  configure command fails actually to switch modes, and
  one is stuck with the original selectmode.

  % package require BWidget 1.7
  1.7
  % set lb [ListBox::create .lb -selectmode single]
  .lb
  % $lb configure -selectmode multiple
  % $lb cget -selectmode
  single


tkt_uuid: 1808431fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: dns
priority: 5 Medium
foundin: None
resolution: Works For Me
title: ::ip::version errors when argument is not of form */*
comment:
  can't read "addr": no such variable while executing
  "string first $addr :"
      (procedure "version" line 4)
      invoked from within
  "version $ip"
      (procedure "::ip::type" line 2)
      invoked from within
  "::ip::type $ip"


tkt_uuid: 832488ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: None
priority: 8
foundin: None
resolution: None
title: License woes
comment:
  Tcllib has three licenses:

  tcllib/license.terms: BSD-style, ok.
  tcllib/modules/textutil/expander_license.txt:
  BSD-style, ok.

  tcllib/modules/comm/comm.LICENSE: Seems BSD-ish,
  paragraphs 2 and 5 seem problematic.

  Is there something that can be done to clean this up?

  Thanks,

  Stu


tkt_uuid: 957919ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: uri
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: uri::split fails on "http://a.b.c/idx?path=/idx"
comment:
  uri::split "http://a.b.c/idx?path=/idx"
  results in
  path: "idx?path=/idx"
  query: ""

  I think the "/" in the query confuses the regexp 
  in "SplitHttp"

  Fixing:
  variable charN {[a-zA-Z0-9$_.+!*'(,)?:@&=-]}
  to:
  variable charN {[a-zA-Z0-9$_.+!*'(,)?:@/&=-]}
  (Note the "/")
  results in the correct result.

  I'm not quite sure if this does affect other functions?

  I ran the "uri.test" but got 12 failures (before and after 
  my change!).

  I'm using uri 1.1.3 (with tcl 8.4.5 on WindowsXP).


tkt_uuid: 726352ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: None
title: bwidget configure/Makefile fails to install
comment:
  The currently distributed configure.in and Makefile.in
  that are in bwidget CVS result in a Makefile that looks
  for config/mkinstalldirs , but that file is no longer a
  part of the TEA 2 sample extension's distribution.

  Either a set of config directory files need to be
  included in bwidget, or the configure.in/makefile.in
  files need to be updated to TEA 2 or alternative (Tcl
  Script Extension Architecture - TSEA ?).


tkt_uuid: 1316061fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: tree
priority: 4
foundin: None
resolution: Fixed
title: struct/tree.test prints extra info
comment:
  tree.test includes gratuitous puts commands, cluttering
  the log.  It prints something about "impl. performance."


tkt_uuid: 1615255fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: Installation
priority: 5 Medium
foundin: None
resolution: None
title: The "notes" in INSTALL.TXT are wrong
comment:
  The tcllib-1.9/INSTALL.TXT file has notes at the bottom saying how it interacts with other versions. They don't appear accurate.

  They refer to previous versions of Tcllib, implying an install will clobber them. If the install actually does for some reason clobber old versions, this should be made more emphatic I believe. But it doesn't appear to.


tkt_uuid: 1911513fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct :: tree
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: deserialise into a branch of a tree
comment:
  The 'serialise' action for a tree allows you to serialise a portion of a tree for... well, for whyever you want. The 'deserialise' action, however, overwrites the entire tree with whatever is being deserialised. This Request is to enable to deserialise into a selected node, to make it fully complementary with serialise.


tkt_uuid: 715193ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: htmlparse
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: unwanted PCDATA space trim
comment:
  ### test code ###

  package require cmdline 1.1
  package require htmlparse 0.3

  set html {<html><head><title>Title</title>
  <body><b>BB</b> RR <b>BB</b> <i>II</i></body></html>}

  catch {t destroy}
  struct::tree t
  htmlparse::2tree $html t
  t walk node1 -order both -command {puts [list %n %a [t
  getall %n]] }

  ### result ###
  ...
  node7 enter {type b data {}}
  node8 enter {type PCDATA data BB}
  node8 leave {type PCDATA data BB}
  node7 leave {type b data {}}
  node9 enter {type PCDATA data RR}
  node9 leave {type PCDATA data RR}
  node10 enter {type b data {}}
  node11 enter {type PCDATA data BB}
  node11 leave {type PCDATA data BB}
  node10 leave {type b data {}}
  node12 enter {type i data {}}
  node13 enter {type PCDATA data II}
  node13 leave {type PCDATA data II}
  node12 leave {type i data {}}
  ...

  ### expected result ###

  ...
  node9 enter {type PCDATA data { RR }}
  ...
  node12 enter {type PCDATA data { }}
  ...

  ### discussion ###

  Due to "string trim $textBehindTheTag",
  significant PCDATA spaces are destroyed.
  The code should distinguish if PCDATA is expected
  or not expected. It must rely on a sort of simplified DTD.


tkt_uuid: 3552226fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: mime
priority: 5 Medium
severity: Minor
foundin: None
resolution: Not Applicable Here
title: docs specify -part, but the option is -parts
comment:
  in mime.man and mime.tcl, -part is specified as the option to ::mime::initialize, but the option is actually -parts


tkt_uuid: 1879622fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: tooltip
priority: 5 Medium
foundin: None
resolution: Fixed
title: tooltip::show fails when window has been destroyed
comment:
  In function: ::tooltip::show

  It begins:

      set we [winfo exists $w]
      set wc [string match $w* [eval [list winfo containing] \
                                    [winfo pointerxy $w]]]
      set wm [string equal [winfo class $w] "Menu"]
      if {!$we || (!$wm && !$wc)} {
          return
      }

  should be:

      set we [winfo exists $w]
      if {!$we } { return }
      set wc [string match $w* [eval [list winfo containing] \
                                    [winfo pointerxy $w]]]
      set wm [string equal [winfo class $w] "Menu"]
      if {!$wm && !$wc} {
          return
      }


tkt_uuid: 3506188fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: logger
priority: 5 Medium
severity: Minor
foundin: None
resolution: Not Applicable Here
title: level none cannot be inherited
comment:
  minimal example (responsens with indentation for readability):

  expect:/tmp$ package require logger
      0.9
  expect:/tmp$ ::logger::init xy
      ::logger::tree::xy
  expect:/tmp$ foreach lvl [::logger::levels] {::logger::tree::xy::disable $lvl}
  expect:/tmp$ ::logger::tree::xy::currentloglevel
      none
  expect:/tmp$ ::logger::init xy::z
      Invalid level 'none' - levels are debug info notice warn error critical alert emergency
      while evaluating {::logger::init xy::z}
  expect:/tmp$


tkt_uuid: 3053446fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: multiplexer
priority: 7 High
foundin: None
resolution: Works For Me
title: multiplexer fails self-test, tcllib 1.11 and TCL 8.5.8
comment:
  Hi,

  I'm trying to build tcllib 1.11 with TCL 8.5.8 (not threaded) from FreeBSD ports. When running self-tests, 
  this stands out:

  [    ]  [8.5.8] multiplexer ~~ FAILS T     9 P     8 S     0 F     1

  The other self-tests run just fine. Followed by:
  ----
  ...
  *** Error code 1

  Stop in /usr/ports/devel/tcllib/work/tcllib-1.11.
  *** Error code 1

  Stop in /usr/ports/devel/tcllib/work/tcllib-1.11.
  ==== multiplexer-5.2 add access filter which denies access FAILED
  ==== Contents of test case:

      set ::forever {}
      set mp [multiplexer::create]
      ${mp}::Init 37465
      ${mp}::AddAccessFilter DenyAccessFilter
      set sk1 [socket localhost 37465]
      set sk2 [socket localhost 37465]
      update
      fconfigure $sk1 -buffering none
      if { [catch {
          puts $sk1 "boom"
      } err] } {
          set result "socket blocked"
      } else {
          set result "socket not blocked"
      }
      ${mp}::destroy
      set result

  ---- Result was:
  socket not blocked
  ---- Result should have been (exact matching):
  socket blocked
  ==== multiplexer-5.2 FAILED


  @@ End 1282808621
  all.tcl:        Total   9       Passed  8       Skipped 0       Failed  1
  Sourced 1 Test Files.
  Files with failing tests: multiplexer/multiplexer.test
  ============================================================

  @@ Host monthu.*
  @@ Platform FreeBSD-8.1-RELEASE-i386
  @@ CWD /usr/ports/devel/tcllib/work/tcllib-1.11
  @@ Shell /usr/local/bin/tclsh8.5
  @@ Tcl 8.5.8
  @@ MatchTests *
  @@ SkipFiles l.*.test
  @@ MatchFiles *.test
  @@ Start 1282808621
  @@ Module ncgi
  @@ Testsuite modules/ncgi/ncgi.test
  - tcllib::testutils 1.2
  * ncgi 1.3.2
   [8.5.8] multiplexer ~~ FAILS T     9 P     8 S     0 F     1
  FreeBSD monthu.* 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Aug  2 00:03:54 CEST 2010     root@monthu.*:/usr/obj/usr/src/sys/MONTHU  i386
  Please, analyze and report the test failures
  Be sure to use the latest available microversion
  of TCL-8.5, however.
  ----

  Is there some way to fix this? If so, how?

  Thanks!


tkt_uuid: 1224575fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: smtpd
priority: 5 Medium
foundin: None
resolution: Fixed
title: 'MAIL FROM <>' fails, but shouldn't
comment:
  in proc ::smtpd::MAIL, around line 624, the result from
  split_address is parsed using ::mime::parseaddress,
  which will fail if it is passed a "", ie if the form
  'MAIL FROM <>' is received.

  However, RFC 821 (3.6.  RELAYING) provides: 'it is
  permissible to leave the reverse-path null.  A MAIL
  command with a null reverse-path appears as follows:
  MAIL FROM:<>'.  This is used in some bounce messages,
  and serves to prevent bounce loops.

  I recommend that the result from split_address be
  inspected, and if it is "", the address is not parsed,
  but simply taken as is, and passed to validate_sender, etc.

  I can provide patches if necessary.  Please advise.


tkt_uuid: 720933ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: graph
priority: 2
foundin: None
resolution: Not Applicable Here
title: testsuite makes incorrect assumptions about walk order
comment:
  The tests in graph.test assume a particular order while
  walking a graph, even if multiple valid orderings exist.

  This isn't a direct problem for tcllibs ::struct::graph
  module, but for modules reusing the test suite for
  interface checking, like cgraph does.

  There are multiple valid walks through the graph for
  each test, but the test suite selects an arbitrary one
  as the correct solution based on implementation details
  of ::struct::graph

  The attached pdf file shows the graph layout for the
  tests. One can easily see the multiple valid walk pathes.

  Solution:
  Match with any of the valid walks, not only with a
  single one selected arbitrarily.

  Some examples from running the tests with another
  implementation of the interface (cgraph):



  ---- Result was:
  enter mygraph i enter mygraph ix enter mygraph vii
  enter mygraph vi enter mygraph viii enter mygraph ii
  enter mygraph iii enter mygraph iv enter mygraph v
  ---- Result should have been (exact matching):
  enter mygraph i enter mygraph ii enter mygraph iii
  enter mygraph iv enter mygraph v enter mygraph vi enter
  mygraph viii enter mygraph ix enter mygraph vii
  ==== graph-21.10 FAILED


  ==== graph-21.11 forward post-order dfs walk FAILED
  ---- Result was:
  leave mygraph viii leave mygraph vi leave mygraph v
  leave mygraph iv leave mygraph iii leave mygraph ii
  leave mygraph vii leave mygraph ix leave mygraph i
  ---- Result should have been (exact matching):
  leave mygraph viii leave mygraph vi leave mygraph v
  leave mygraph iv leave mygraph iii leave mygraph ii
  leave mygraph ix leave mygraph vii leave mygraph i
  ==== graph-21.11 FAILED
  ==== graph-21.12 forward both-order dfs walk FAILED
  ---- Result was:
  enter mygraph i enter mygraph ii enter mygraph iii
  enter mygraph iv enter mygraph v enter mygraph vi enter
  mygraph viii leave mygraph viii leave mygraph vi leave
  mygraph v leave mygraph iv leave mygraph iii leave
  mygraph ii enter mygraph vii leave mygraph vii enter
  mygraph ix leave mygraph ix leave mygraph i
  ---- Result should have been (exact matching):
  enter mygraph i enter mygraph ii enter mygraph iii
  enter mygraph iv enter mygraph v enter mygraph vi enter
  mygraph viii leave mygraph viii leave mygraph vi leave
  mygraph v leave mygraph iv leave mygraph iii leave
  mygraph ii enter mygraph ix leave mygraph ix enter
  mygraph vii leave mygraph vii leave mygraph i
  ==== graph-21.12 FAILED
  ==== graph-21.13 forward pre-order bfs walk FAILED
  ---- Result was:
  enter mygraph i enter mygraph ix enter mygraph ii enter
  mygraph iii enter mygraph iv enter mygraph v enter
  mygraph vi enter mygraph viii enter mygraph vii
  ---- Result should have been (exact matching):
  enter mygraph i enter mygraph ii enter mygraph ix enter
  mygraph vii enter mygraph iii enter mygraph vi enter
  mygraph iv enter mygraph viii enter mygraph v
  ==== graph-21.13 FAILED
  ==== graph-21.14 backward pre-order bfs walk FAILED
  ---- Result was:
  enter mygraph ix enter mygraph i enter mygraph viii
  enter mygraph vi enter mygraph v enter mygraph iv enter
  mygraph iii enter mygraph ii enter mygraph vii
  ---- Result should have been (exact matching):
  enter mygraph ix enter mygraph i enter mygraph viii
  enter mygraph vi enter mygraph v enter mygraph vii
  enter mygraph iv enter mygraph iii enter mygraph ii
  ==== graph-21.14 FAILED
  ==== graph-21.15 backward pre-order dfs walk FAILED
  ---- Result was:
  enter mygraph ix enter mygraph i enter mygraph viii
  enter mygraph vi enter mygraph vii enter mygraph v
  enter mygraph iv enter mygraph iii enter mygraph ii
  ---- Result should have been (exact matching):
  enter mygraph ix enter mygraph i enter mygraph viii
  enter mygraph vi enter mygraph v enter mygraph iv enter
  mygraph iii enter mygraph ii enter mygraph vii
  ==== graph-21.15 FAILED
  ==== graph-21.16 backward post-order dfs walk FAILED
  ---- Result was:
  leave mygraph vii leave mygraph ii leave mygraph iii
  leave mygraph iv leave mygraph v leave mygraph vi leave
  mygraph viii leave mygraph i leave mygraph ix
  ---- Result should have been (exact matching):
  leave mygraph ii leave mygraph iii leave mygraph iv
  leave mygraph v leave mygraph vii leave mygraph vi
  leave mygraph viii leave mygraph i leave mygraph ix
  ==== graph-21.16 FAILED
  ==== graph-21.17 backward both-order dfs walk FAILED
  ---- Result was:
  enter mygraph ix enter mygraph i enter mygraph viii
  enter mygraph vi enter mygraph vii leave mygraph vii
  enter mygraph v enter mygraph iv enter mygraph iii
  enter mygraph ii leave mygraph ii leave mygraph iii
  leave mygraph iv leave mygraph v leave mygraph vi leave
  mygraph viii leave mygraph i leave mygraph ix
  ---- Result should have been (exact matching):
  enter mygraph ix enter mygraph i enter mygraph viii
  enter mygraph vi enter mygraph v enter mygraph iv enter
  mygraph iii enter mygraph ii leave mygraph ii leave
  mygraph iii leave mygraph iv leave mygraph v enter
  mygraph vii leave mygraph vii leave mygraph vi leave
  mygraph viii leave mygraph i leave mygraph ix
  ==== graph-21.17 FAILED


tkt_uuid: 1390477fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: snit can destroy errorInfo in some cases
comment:
    Sometimes snit functions can be called from
  exception processing code:

  if {[catch {some_code }]} {
          exception processing code
          here snit called
          ...
  }

    It's possible in non evident way, for example,
  then executed the following code:

  proc procedure1 {...} {
     set varname snit_object
     trace add variable varname {snit_object destroy}
     ....
  }

    (this technique used in oomk -- http://www.equi4.com)

    When error occurs in procedure1, trace code will be
  called, which invokes snit destructor. But SNIT CAN
  DESTROY ::errorInfo and ::errorCode GLOBAL VARIABLES
  in many cases. As for example, when snit calls any
  method, including destructor. And you get obscure
  error message. Because snit's code abound with
  constructions like following:

     if {[catch {set snit_var} result]} {
            blablabla...
     }

  Here, if snit_var is not defined, errorInfo will be
  corrupted with message like
  "Snit_typemethodCache($mehod) -- no such variable"...

    This patch *partially* corrects described problems.
  ("catch" not used there possible or ::errorInfo and
  ::errorCode there possible preserved).
  In some cases, then real error occurs in snit, there
  are no solution where old value of errorInfo can be
  stored. This is not snit bug, but tcl defect, as I
  think. :-(


tkt_uuid: 898774ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: html
priority: 5 Medium
foundin: None
resolution: Fixed
title: html - documentation for checkSet incomplete
comment:
  The docs for ::html::checkSet do not document the
  arguments key and sep.

  Diff included.

  Index: html.man
  ===================================================================
  RCS file: /cvsroot/tcllib/tcllib/modules/html/html.man,v
  retrieving revision 1.6
  diff -u -b -r1.6 html.man
  --- html.man    11 Apr 2003 18:27:10 -0000      1.6
  +++ html.man    17 Feb 2004 14:47:22 -0000
  @@ -50,8 +50,8 @@

   Generate a set of CHECKBOX form elements and
  associated labels.  The
   [arg list] should contain an alternating list of
  labels and values.
  -This uses [cmd ::html::checkbox].
  -
  +This uses [cmd ::html::checkbox]. All the CHECKBOX
  buttons share the same
  +[arg key] for their name. The [arg sep] is text used
  to separate the elements.

   [call [cmd ::html::checkValue] [arg name] [opt [arg
  value]]]


tkt_uuid: 1610665fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: No constant header tokens in ::mime::getheader
comment:
  Hello,

  working with several RFC822 compatible messages and the mime package from tcllib v1.9 I detected, that the tokens for the header parts are really those used in the header and so they are not constant, if ...

      ... one mailer uses e.g. Content-ID

  ... and ...

      ... the another mailer uses e.g. Content-Id

  ... than ::mime::getheader returns in the one case "Content-ID" and in the other case "Content-Id".

  The ::mime::getheader command should return standardized constant tokens for each header value like in my example e.g. Content-ID.

  Currently I have to test for different "styles" of header value names to guarantee, that I'm not missing a bit.

  Best regards,

  Martin Lemburg


tkt_uuid: 685073ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: textutil :: expander
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: expander - Input stack
comment:
  textutil::expander currenty manages a context stack to
  temporiliy hold up output material before inserting it
  into the actual stream of output.

  IMHO it should also manage a stack of input material,
  iallowing macros to push input onto for consumption
  after the macro is complete.

  This would generate an effect similar to using
  [expand], but without actually opening a nested output
  context.


tkt_uuid: 1414051fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: set
priority: 5 Medium
foundin: None
resolution: Fixed
title: struct::set include does not create variable like lappend
comment:
  The struct::set include command is documented to work
  like lappend for sets, but differs in its handling of
  non-existing variables.

  ::struct::set include nosuchvar foo
  can't read "A": no such variable

  It should create the variable nosuchvar like lappend does.

  Michael


tkt_uuid: 1472443fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: bwidget - fix for several causes of ListBox slowness
comment:
  The bwidget 1.7 ListBox has several pieces of code that
  lead to O(N**2) time to insert N items into a new
  ListBox, and then display them (execute 'update')

  I made the following timings before and after my patch:

  #items time (ms)  ms/item
    4000     5842    1.460
    8000    24053    3.007
   16000    90522    5.658
   
    4000     1303    0.326
    8000     2599    0.325
   16000     5304    0.332

  For 16000 items, the speedup is about 17x.  Because
  ms/item is nearly constant for different item counts,
  the performance is probably O(N).

  This patch is against the 1.7 ListBox, but before
  submitting I tested with the CVS version of listbox.tcl
  and found that the N-squared performance problem still
  exists.  I believe this patch is "of interest" even if
  it doesn't automatically apply.


tkt_uuid: 1115865fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: WebDAV client
comment:
  There's a new implementation of a WebDAV client, which I hereby 
  would like to offer for consideration to be included in Tcllib.

  The README is at:
      http://www.equi4.com/pub/sk/davkit.kit/lib/webdav/README
  There is a starkit at:
      http://www.equi4.com/pub/sk/davkit.kit
  (it's also in sdarchive)

  The code consists of two packages:

   - webdav is a client which supports a number of functions,
      as described here:
          http://www.equi4.com/pub/sk/davkit.kit/lib/webdav/
  webdav.html

   - davvfs is a VFS driver which uses the webdav package

  Webdav requires tclxml to parse the XML returned by WebDAV 
  server (the trivial XML that is sent is done in plain Tcl).  The client 
  becomes considerably faster when a compiled version of expat is 
  present, but TclXML will fall back to pure Tcl just fine on any 
  platform.

  Davvfs is a driver which supercedes the webdavvfs client in TclVFS.  
  That client was a proof of concept, and only supports read-only use 
  of webdav, while these to packages support r/w, globs, stats, mkdir, 
  rmdir, etc.

  The current code does not support locking or versioning.  It also is 
  relatively simple right now, because a read is done entirely on open 
  and a write on close.  A refinement would be to pass channels 
  around so I/O can be done more gradually, and progress statusbars 
  could be supported.

  This code was written for a commercial project, and not taken 
  further than its current (startup) requirements.  It has been used 
  with Apache as WebDAV server, and has been used quite a bit 
  already.  The code can be placed under a Tcl- or MIT-license.

  There are test suites, but these are a bit cumbersome because they 
  depend on a hardwired server with specific content (test content is 
  included in the starkit).

  I think this set of packages would be a useful addition to tcllib, but 
  a few issues will need to be resolved to do this:
   - is it ok to depend on a pure-tcl non-tcllib package? (TclXML)
   - if not, are there alternatives? the parsing demands are not high
   - should davvfs go here on in TclVFS?
  W.r.t. that last point, I think it would be better to include VFS 
  drivers here.  TclVFS will probably at some point become part of the 
  core, or tightly bundled with it - not all possible drivers would be 
  included I suspect (to allow them to be developed further, and 
  because not everyone needs them all).

  I'm ok with whatever the tcllib maintainers decide.  Just wanted to 
  try and find a good home for this code...

  -jcw


tkt_uuid: 1615252fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: cmdline
priority: 5 Medium
foundin: None
resolution: Fixed
title: cmdline keywords could be more helpful
comment:
  Adding "command line processing" in addition to "cmdline processing" in the keywords may make searching easier.


tkt_uuid: 1695131fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - Add backend 'doctools'
comment:
  Create a backend which writes doctools markup. This backend would in effect be a pretty printer of doctools formatted input.


tkt_uuid: 2064326fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Accepted
title: updated de.msg
comment:
  Hi Pat,

  I translated and corrected some more entries in de.msg. See attached patch.

  -- Matthias Kraft


tkt_uuid: 2769242fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Persistence for various data structures
comment:
  The following url describe a stack class (perl) whose instances are persistent.
  http://search.cpan.org/~kesteb/Stack-Persistent-0.04/lib/Stack/Persistent.pm
  There is also a php class doing the same using sqlite as store.


tkt_uuid: 3110860fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Documentation
priority: 5 Medium
foundin: None
resolution: Fixed
title: geometry man page conflicts with the Tcl core
comment:
  For version 8.6, a manpage named geometry.n was added to the Tk core, which conflicts with tcllib's existing manpage for the math::geometry package.


tkt_uuid: 744095ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 8
foundin: None
title: file output for dtp
comment:
  Would it be possible to add a subcommand for dtp, or to add an 
  arg to doc subcommand to switch output from stdout to a 
  file.

  For example :

  dtp doc html graph.man 
  graph.html

  or :

  dtp filedoc graph.man 
  ?graph.html?


tkt_uuid: 557043ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Accepted
title: badly formated mail causes infinite loop
comment:
  In mime::parsepart, the following two lines cause me
  trouble:
   # error "termination string missing in $state(content)"
   set line "--$boundary--"                                        

  Switching the comments (uncomment the first; comment out
  the second) solves the following problem:

  Mail with incorrectly terminated mime parts causes
  a "mime::initialize -file" to enter an infinite loop.

  A lot of adverts and spam have incorrectly formated
  mime parts... For example: specifying a boundary that
  doesn't exist. Also, some virus filters remove the part
  but may leave the reference.


tkt_uuid: 1414159fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bench
priority: 4
foundin: None
resolution: Fixed
title: incorrect prefix stripping and formatting problems
comment:
  The bench::out::* functions and probably other parts of
  the package perform prefix stripping on array keys by
  using the following construction:

  set ip [lindex [split $key :] 1]

  This fails when $key contains more than on :, an
  example are package names with namespace qualifiers or
  paths on windows or using URL notation which include ':'.

  --
  For packages with no bench files provided the result is
  not sufficient.

  e.g.
  sak.tcl bench -format text pop3

  produces just an empty table but not a message that no
  benchmarks were found. 


tkt_uuid: 1508656fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftpd
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: default fsCmd fails to store.
comment:
  The default fsCmd cannot STORE when a new file must be
  created. 

  Problem is on line 262 of ftpd.tcl version 1.8, in proc
  ::ftpd::fileAuth:

    if {[Fs exists [file dirname $path]]} {

  By the definition of "fsCmd exists" (... returns a 1 if
  the path specified exists and the path is not a
  directory) this is always false.
  As a consequence, the test on line 268 fails, and
  "return 0" on line 275 gets executed!

  The test intends to assure write perms on the directory
  if the file must be created.


tkt_uuid: 1213545fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: mime: Provide getheaders and getbody (enhancement)
comment:
  I've been trying to use the mime package for HTTP form 
  data (see <http://wiki.tcl.tk/FileUploadWithTclSHttp>).  
    
  The http package wants additional HTTP headers as a list, 
  and the content-type separately. 
   
  The mime package doesn't have a getheaders method returning 
  a list of headers and getbody doesn't work for multipart. 
  I think buildmessage should be split into those two functions. 
  It's easy enough to get the content-type from the headers 
  ourself once we have them. 
   


tkt_uuid: 650977ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: pop3d
priority: 5 Medium
foundin: None
resolution: Fixed
title: bgerror when pop3 client disconnects
comment:
  If the pop3 client closes its socket to the pop3d 
  server as soon as it has sent the QUIT message it 
  sometimes causes a background error when the 
  pop3d server tries to close the connection via an 
  after idle ... command.

  can't read "conn(sock248)": no such element in 
  array
  can't read "conn(sock248)": no such element in 
  array
      while executing
  "upvar $conn($sock) cstate"
      (procedure "::pop3d::CloseConnection" line 6)
      invoked from within
  "::pop3d::CloseConnection mailserver sock248"
      ("after" script)


tkt_uuid: 1416771fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: md5
priority: 5 Medium
foundin: None
resolution: Fixed
title: md5: test suite bugs
comment:
  with -debug 1:

  * md5 2.0.4
  > pure Tcl
  test name 'md5-1.0' re-used; prior use in
  /local/src/tcllib/modules/md5/md5.test
  test name 'md5-1.1' re-used; prior use in
  /local/src/tcllib/modules/md5/md5.test
  test name 'md5-1.2' re-used; prior use in
  /local/src/tcllib/modules/md5/md5.test


tkt_uuid: 2526633fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: spf
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: SPF package fails with hosts with IPv6 specifications
comment:
  The SPF package (v1.1.1) fails to handle SPF records with IPv6 ("ip6") entries:

  % package require spf
  1.1.1
  % ::spf::spf 1.2.3.4 kvanals.org bob@kvanals.org
  error in "ip6": type mismatch: cannot compare different address types
  % ::spf::spf fe80::1 kvanals.org bob@kvanals.org
  error in "ip4": type mismatch: cannot compare different address types
  % ::spf::SPF kvanals.org
  v=spf1 ip4:207.201.218.70 ip4:207.201.218.71 ip4:66.102.165.0/24 ip6:2001:480:fa0d::/48 ip6:2001:480:f001::55 -all


tkt_uuid: 579026ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: crc
priority: 5 Medium
foundin: None
resolution: Fixed
title: crc32 consumes lots of memory
comment:
  crc32 consumes a large amount of memory if it has to
  determine the checksum for a large file (a file of10 MB
  causes the process to consume 200 MB of memory). This
  is probably due to the use of a list containing
  elements of 1 character (each list element has an
  overhead of 12 bytes).

  Alternative implementation:

     for { set i 0 } { $i < $length } { incr i } { 
        scan [string range $str $i $i] c n
        ...
     }


tkt_uuid: 3567463fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: tklib :: ctext
priority: 5 Medium
foundin: None
resolution: None
title: ctext sends <<Modified>> too often
comment:
  The Tk text widget sends the <<Modified>> virtual event when the state of the [$w edit modified] flag changes.  The ctext widget sends <<Modified>> on every change, whether the [$w edit modified] flag has actually changed or not.  The ctext widget's interface should mimic the text widget's interface here; if there are actions you want to do when the editor's content has just become unsaved, you don't want to repeat them every time they add another character.


tkt_uuid: 2014325fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: cmdline
priority: 5 Medium
foundin: None
resolution: Fixed
title: couldn't set variable "dummy"
comment:
  you get the error message 'couldn't set variable "dummy"'
  when sourcing cmdline.tcl in case of the existence of
  a global array (!) variable ::dummy.

  try, for example:

  echo 'array set dummy {a 1}; package require cmdline' | tclsh8.5
   
  patch:

  insert "variable dummy" within the context of
  "namespace eval ::cmdline {...}"

  ... near line 449 in cmdline.tcl, version 1.3,
  as in tcllib1.10

   


tkt_uuid: 454505ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: BWidget bug: Label (+ 1 line patch)
comment:
  The balloon helptext of a Label widget does not get
  updated in subsequent configures.

  Test:
  set l [Label .l -text test -helptext "first helptext"]
  pack $l
  $l configure -helptext "second helptext"

  Patch:
  I presume it's a typo. File: label.tcl
  proc: BWLabel::configure { path args } 

  Change the line:     
      DynamicHelp::sethelp $path $path
  to
      DynamicHelp::sethelp $path $path.l

  (last line before return)


tkt_uuid: 1669897fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: dns
priority: 5 Medium
foundin: None
resolution: Wont Fix
title: get mx error
comment:
  I have problem to resolv mx record for friko6.onet.pl
  example:

  % dns::resolve "dns:friko6.onet.pl;type=MX"
  ::dns::2
  % dns::status ::dns::2
  ok
  % foreach a [dns::name ::dns::2] {puts $a}
  friko6.onet.pl
  2 mx.poczta.onet.pl

  There is no MX preference in first line answer



  j.lewandowski@dominet.pl


tkt_uuid: 551127ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: csv
priority: 5 Medium
foundin: None
title: csvdiff demo app option for line number
comment:
  I would like to request an option for csvdiff that
  results in the output having a line number associated
  with the output.  Just like diff defaults to telling me
  where the old or new line is located in the file, it
  would be useful for csvdiff to do likewise.  Otherwise,
  one can have a series of lines of output that are
  similar or identical within a file and not be able to
  locate where the difference lies.


tkt_uuid: 475018ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: uri
priority: 5 Medium
foundin: None
resolution: Duplicate
title: interaction missing between uri and ftp
comment:
  when one invokes uri::geturl
  ftp://ftp.someplace.com/pub/tcl/stuff.gz
  you get an error because ftp doesn't define a "geturl"
  in all lower case characters.

  Also, the uri::split creates a value of "pwd" when
  "passwd" would be more obvious - pwd means print
  working directory in ftp:: for instance!


tkt_uuid: 781652ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Selection display bug in BWidgets Listbox
comment:
  When using a BWidgets Listbox, clicking on an item
  selects it, and highlights the text (that's normal). 
  However, clicking on other items does not remove the
  highlights from previous selections.  It is quickly
  possible to fill the listbox
  with apparently selected items.  Very confusing.

  The problem is located in ListBox::_redraw_selection:

              set id [eval [list $path.c create
  rectangle] $bbox \
        [list -fill $selbg -outline $selbg \
        -tags [list [list sel s:$item]]]]

  This is one [list] too many. Changing this line to:

              set id [eval [list $path.c create
  rectangle] $bbox \
        [list -fill $selbg -outline $selbg \
        -tags [list sel s:$item]]]

  solves the problem. 


tkt_uuid: 1450231fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: linearalgebra
priority: 5 Medium
foundin: None
resolution: None
title: ::math::linearalgebra::transpose not exported
comment:
  it is necessary to add

  namespace eval ::math::linearalgebra {
  namespace export transpose
  }

  to package math::linearalgebra


tkt_uuid: 2220156fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Several questions about Snit objects
comment:
  I have a few questions on Snit objects (see:  http://wiki.tcl.tk/2831 for some details - the example near the end)

  1. Is it possible to _clone_ an object? 
     I ask because I want to "chain" methods from various 
     objects. In my example: to combine different 
     transformations into a single one.

  2. Is the command install only available at creation 
     time? If not, I would like to use it to vary the 
     components after the object has been created, to
     make its behaviour more dynamic.

  3. Is the delegate command only available when 
     defining the type?

  (The reasons for questions 2 and 3 are that I would like 
  some dynamic behaviour of the objects, beyond options
  and variables. Mostly, perhaps, because I am 
  experimenting with Snit, to get a feel for the style
  of programming)
   


tkt_uuid: 1695145fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 2
foundin: None
resolution: Not Applicable Here
title: doctools - General tree representation as backend API
comment:
  This is 'way out there'-RFE.

  Currently the generic layer of the low-level doctools engine uses textutil::expander to parse the input in general, a checker layer to check that the commands are in the correct order, and then calls the appropriate formatting function in the backend. Sort of like a SAX API for XML processing. The backend gets various events and has to make sense of them, although it can be sure that it will not get events in a bad order.

  Consider to rework the generic layer to create a tree structure representing the document. This tree is then given to the backend for conversion into the output format. Instead of each backend having to pull out the document structure out of the series of events this is done in the generic layer, and the backend's responsibility shrinks to only doing the actual conversion into output.

  There is a drawback. There are backends which are much better served by the event stream, because they do not care about the structure, or at least not very much. Examples of these are:

      Existing:    null, list
      Proposed:    wordlist, semantic

  So, best might be to try and accomodate both, i.e. load the backend, query it for its mode of operation, event stream or document tree, then setup the remainder of the processing pipe.

  Note: This tree-based API is very similar to the general API used in PAGE, i.e. backends based on it could be used by this general text processing tool, and the processing pipe for creating the tree might make a suitable reader plugin for PAGE too.


tkt_uuid: 533788ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Invalid
title: bwidget include synonym problem?
comment:
  I've been trying to read (and understand :-) the
  BWidget's code so I can write my own BWidgets. 

  In proc BWidget::bwidgetinclude the following code is
  present:

      foreach {option optdesc} [array get subclassopt] {
          set subOption $option
          if { (![info exists include] || [info exists
  include($option)]) &&
          ![info exists remove($option)] } {
              set type [lindex $optdesc 0]
              if { ![string compare $type "Synonym"] } {
   <<<< BUG?
                  # option is a synonym
                  ...

  Shouldn't the ! be removed on the string compare. It
  seems like if the option is a synonym the following
  code should be executed.


tkt_uuid: 1482926fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: apps : tkchat
priority: 5 Medium
foundin: None
title: Add /eval to tkchat to be able to try out one-liners
comment:
  I have tkchat run most of the time and sometimes I just 
  want to test 1 liners like regexp/lsearch switches/
  string is ... and so on. I then tend to run tkcon, but 
  I guess it would be easier to just check in tkchat.

  A simple implementation is as follows (could be 
  expanded to distinct break/continue/return/error):

  proc ::tkchat::checkCommand { msg } {
      switch -re -- $msg {
        (...)
  {^/eval\s} {
      set evalCode [catch [string range $msg 6 end] 
  evalResult]
      switch -- $evalCode {
  0 {
      if {![string equal $evalResult ""]} {
  tkchat::addMessage .txt "" "" 
  "Result:\t$evalResult" ACTION end [clock seconds]
      }
  }
  default {
      tkchat::addMessage .txt "" "" "Error 
  ($evalCode):\t$evalResult" ACTION end [clock seconds]
  }
      }
  }


tkt_uuid: 837818ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Quoting module
comment:
  It'd be very nice if we could have a module to help
  with those trickier quoting tasks that newbies get
  slightly wrong.  Here's some example code adapted from
  a discussion on the chat...

  proc makeMap {} {
     set chars {{[\"$#; ]}}
     append chars \t
     set map [list \n \\n]
     foreach c [split $chars {}] {lappend map $c \\$c}
     return $map
  }

  variable addBackslashMap [makeMap]
  proc backslashQuote {string} {
     variable addBackslashMap
     string map $addBackslashMap $string
  }
  proc braceQuote {string} {
     list $string
  }

  There's probably other things that could be added too.


tkt_uuid: 2988486fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: cmdline
priority: 5 Medium
foundin: None
resolution: Fixed
title: cmdline with ::argv does not update ::argc
comment:
  I realize this is not strictly a cmdline bug because it can work on any list of arguments.  However, I realized that if the ::argv global varname is passed then ::argc will not be updated, even though $::argv changes.

  I can see two ways to address this:
  1. simply note it in the documentation.
  2. add a special case, if the argvVar is "::argv", then "set ::argc [llength $argv]"


tkt_uuid: 858218ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: errors thrown with no explanation
comment:
  This new code:


              # get return code, check for multi-line text
              
              if {[regexp -- "^-?(^[0-9]+)( |-)?(.*)$"
  $bufline all rc multi_line msgtext]} {
  set errmsg "C: Internal Error @ line 255.
  Regex pattern not matching the input "$bufline""
  if {$VERBOSE} {
      DisplayMsg $s $errmsg control
  }
      } else {
  set buffer $bufline

  # multi-line format detected ("-"), get all the lines

  is throwing errors on both ftp servers I commonly use
  (ftp.santafe.edu and ftp.ucsd.edu).  Can the error
  message be made more information ('regex pattern didn't
  match' isn't very helpful -- what is it expecting? how
  did the observed string differ from that?).


tkt_uuid: 652140ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: smtpd
priority: 5 Medium
foundin: None
resolution: Rejected
title: HELO and EOL cumulative patches
comment:
  I've noticed a small bug in smtpd triggered by MS
  Outlook. Sometimes, when you send a PDF file attached
  to a message, Outlook sets the MIME type to
  "quoted-printable" and the file is not base-64 encoded.

  Since we read one line at a time, lines ending with
  CR+LF will be converted by TCL in LF only; this causes
  errors
  with both Acroread and ghostview.

  The patch splits the DATA section on LF only; CR is
  considered a normal character; includes (and thus
  obsoletes) the previously submitted patches for 
  hostname in HELO, QUIT, etc...


tkt_uuid: 1076403fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: html
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: html: suggestion for a convenience "tag wrapping" proc
comment:
  In the current version of html, wrapping text with html 
  tags is a bit cumbersome in a lot of cases:

  Example:

  puts "[::html::openTag p]"
  puts "This is my paragraph"
  puts "[::html::closeTag]"

  As a convenience for wrapping text or other data inside 
  of tags, I would like to suggest the addition of a 
  general ::html::wrapTag command that would work as 
  follows:

  puts [::hml::wrapTag p "This is my paragraph"]

  which would output the following:

  <p>This is my paragraph</p>

  puts [::html::wrapTag p "foo=bar" "This is my 
  paragraph"]

  would output:

  <p foo=bar>This is my paragraph</p>

  and so on.

  There are some specialized commands for wrapping 
  specific tags around data, such as ::html::cell 
  or ::html:row, but the above is a suggestion for a more 
  general command that would wrap data in with a 
  specified arbitrary tag.


tkt_uuid: 3613162fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: log
priority: 5 Medium
severity: Minor
foundin: None
resolution: Not Applicable Here
title: Adding support to log save to a file
comment:
  I feel it would be good if logger package support 
  1) saving log messages to logfile. 
  2) log file rotation.

  I already implemented these enhancement locally and would like to contribute same to community.


tkt_uuid: 996326ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: textutil :: expander
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Hook for errmode 'error'
comment:
  When error mode "error" is used the expander places
  errors directly into the output. The format of that
  error message is hardwired. And really suitable only if
  the output is plain text.

  IMHO it makes sense to have a callback which can be set
  and creates a message which is properly formatted for
  the generated document. For example in HTML a box with
  highlighted background, bold text, large font, colors, ...


tkt_uuid: 3565267fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Fixed
title: errorCode : no such variable
comment:
  in routine ::mime::buildmessage line 10, the global variable may be undefined when passed to eroor. Should add something like
  if {! [info exists errorCode]} {set errorCode ""}


tkt_uuid: 1512038fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: uri
priority: 5 Medium
foundin: None
resolution: None
title: uncomplete process
comment:
  while going back in the path, there are missing steps
  while exceding double dots.

  uri::canonicalize http://domain.something/1/2/3/../../../0/
  > http://domain.something/0/

  uri::canonicalize
  http://domain.something/1/2/3/../../../../0
  > http://domain.something/1/0/


tkt_uuid: 2569848fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: aes
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: aes vs Tcl 8.5 failure
comment:
  From the wiki, i.e. http://wiki.tcl.tk/14648

  Larry Virden wrote _________

  LV 2008 June 27.

  Here's what I get using ActiveTcl 8.5.2 (and teacup update):

   $ tclsh8.5
  % package require aes
   set key [string repeat - 16]
   set fullData {MalletData 9 q q q2 22}
   set encryptedData [aes::aes -dir encrypt -key $key $fullData]
   aes::aes -dir decrypt -key $key $encryptedData
   puts $errorInfo
  1.0.1
  % ----------------
  % MalletData 9 q q q2 22
  % I9â3òÌH£í<¯CUÜËÚ¤N|úÙdÜp
  % MalletData 9 q q q2 22
  % 

  Vale adds _________

  It's a bug in aes.tcl. After calling "binary scan binary-array I var", the numbers in var should be converted to unsigned 32-bit integers. You can define a procedure to do this.

          proc ::aes::to_unsigned {data} {
                  upvar $data d
                  set i 0
                  foreach num $d {
                          lset d $i [expr { $num & 0xffffffff }]
                          incr i
                  }
          }

  There are 5 places to do the convertion, 2 in ::aes::EncryptBlock, 2 in ::aes::DecryptBlock and 1 in ::aes::ExpandKey. You should call to_unsigned after calling of binary scan, like this:

      # original code
      if {[binary scan $block I4 data] != 1} {
          return -code error "invalid block size: blocks must be 16 bytes"
      }
      # bug-fix add here
      to_unsigned data


  AK, not from the wiki _________

  Note also the ChangeLog entry ...

  2008-05-12  Andreas Kupries  <andreask@activestate.com>

          * aes.tcl (DecryptBlock, EncryptBlock): Added code limiting the
          * aes.man: values to int32 range, to prevent going out of range
          * aes.test: when run by Tcl 8.5 and its bignums. Extended
          * pkgIndex.tcl: testsuite to catch a problematic case which fails
            without the change. Bumped version to 1.0.1.

  It may be that this is the same bug, that the fix made was not enough.
  Or a similar one.


tkt_uuid: 1220089fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Fixed
title: subsection markup doesn't encode quotes
comment:
  If the title argument to the doctools "subsection" tag contains 
  quotes, those quotes aren't stripped when the subsection title is 
  turned into an HTML anchor, e.g.,

  [subsection {This Title Has "Quotes"}]

  results in

  <a name="#this_title_has_"quotes"">

  which is invalid HTML.  The quotes should be stripped out when the 
  title is encoded as an anchor string.


tkt_uuid: 1843712fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: smtp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Option to set client address
comment:
  The EHLO client address comes from [info hostname] or is set to localhost if sending email to the localhost server but this is not sufficient.  For example I want to send an email from my desktop system using my ISP's mail server and it requires that the EHLO client is a FQDN but my system is setup with a simple hostname of "deth".  Because of this, sending emails fails yet I can send an email just fine from Thunderbird.  In looking at the conversation between Thunderbird and my mail server, I see that Thunderbird is sending "EHLO 127.0.0.1" so I would like the option to do this as well so that I can send emails properly from my software.

  The changes for this are just to allow a -client option to the ::stmp::sendmessage proc and add code in the initialize variables area (right by where username is set to {}) like this:

      set client {}

  Then in the option parsing add this:

      -client { set client $value }

  And then change the code to get the client like this:

      if { $client == "" } {
          if { [string compare $server localhost] } {
              set client localhost
          } else {
              set client [info hostname]
          }
      }

  Thats it!  Now I can specify "-client 127.0.0.1" and sending the email works properly.

  This is from bpepers@linuxcanada.com


tkt_uuid: 1977644fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Using case sensitive accelerator keys for bwidget mainframe
comment:
  The BWidget MainFrame widget supports an automatic accelerator key binding.

  With current implementation of 'mainframe -menu' only lower case letters can be bind as accelerator keys.

  By adding a new switch the accelerator key processing can be modified to support optional mixed case accelerator keys (e.g {Ctrl s} and {Ctrl S} for two different menu entries).

  The patch file contains the changes of mainframe.tcl. Also a modified manual MainFrame.html is included which explains the new -casesensitive switch (some missing HTML tags are added, too).


tkt_uuid: 1548418fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ftp::Put hangs when non-existent directory
comment:
  When the directory in the l_dest_file does not exists,
  the statement hangs.

  Example:
  if { [ftp::Put $h_dest_ftp $l_bck_file $l_dest_file] ==
  1 } {                        
  ...
  }


tkt_uuid: 791886ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Invalid
title: des: encoded and then decoded string does not match original
comment:
  Hello all,




  the following happens, when I try to encode and then 
  decode back a given string:




  set ciphertext [::DES::des -mode encode -key secret 
  oliver]


  set plaintext [::DES::des -mode decode -key secret 
  $ciphertext]




  string equal "oliver" $plaintext  --> 0 ??


  string length "oliver" --> 6


  string length $plaintext --> 8




  The reason for this is, the string in $plaintext now have 
  two more 'chars' at the end, both of hex 00.




  Regards Oliver




  P.S. By the way, I can't select 'des' as a category while 
  submitting a bug, it's not in the dropdown list.


tkt_uuid: 1601203fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: i18n package add
comment:
  http://wiki.tcl.tk/9169 is a potentially very useful package which adds a set of routines and utilities to help when generating unicode.


tkt_uuid: 3584574fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: cmdline
priority: 5 Medium
severity: Minor
foundin: None
resolution: Not Applicable Here
title: File/directory checking feature
comment:
  Hi,

  It would good to have a feature where typedGetopt supports the file/directory type argument values and return error if same does not exist or  match type.

  -Amit


tkt_uuid: 482558ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: control
priority: 5 Medium
foundin: None
title: update control man page for rswitch
comment:
  without documentation, it becomes somewhat difficult
  for developers to realize that particular functionality
  is available.  Addition of doc on rswitch to the
  control man page would remedy this situation in at
  least this case.


tkt_uuid: 1909367fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Development Tools
priority: 5 Medium
foundin: None
resolution: Fixed
title: No info about syntax errors in the summary
comment:
  As discussed, if you make a syntactical mistake in the code for a test, this is not reported in the summary:

  sak.tcl test run <module>

  will indicate no error for that test case.


tkt_uuid: 2800400fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: struct::graph:op::toAdjacencyMatrix issues
comment:
  Things that strike me as wrong with [struct::graph:op::toAdjacencyMatrix], just from reading the documentation:

  1. The return value is a matrix which mixes two element interpretations: node name and arc existence. Better would be to return a pair where the first element is the pure adjacency matrix and the second is the list of node names. Also, it is often useful to force an order of nodes, rather than work with what one is given; there should be an option which takes a list of node names as value which has the effect that it will be a prefix of the returned list of all node names.

  2. Matrix elements are documented as being "True" or "False". The canonical boolean string representations 1 or 0 would be more useful.

  3. The command ignores arc direction and multiplicity. This should rather be controlled through options, as several important applications of the adjacency matrix (e.g. counting walks of given length) requires that one takes them into account.

  4. Indeed, as there are many ways of combinig parallel arcs, one could even consider an option which takes as value a command prefix for this. A suitable syntax for this command prefix could be

    {*}$prefix $graph $arclist

  where the $arclist is the list of names of arcs that are to be combined, and the return value will be the adjacency matrix element. The multiplicity-counting prefix could then be

    {::apply {{G arclist} (llength $arclist}}}

  whereas one that calculates the combined capacities could be

    {::apply {{attr G arclist} (
       set res 0
       foreach arc $arclist {
          set res [expr {$res + [$G arc get $arc $attr]}]
       }
       return $res
    }}} capacity

  All in all, this is so much that maybe it is better to make a completely new adjacency matrix command.


tkt_uuid: 1003962fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Accepted
title: BWidget 1.7 Tree bindings (bindImage, bindText)
comment:
  Concerning the tree widget in version 1.7

  When the option -selectfill is active, the bindings for bindImage and 
  bindText will interfere with each other so that calling bindImage 
  before bindText will give a different result that calling bindText before 
  bindImage. This is because both procedures (Tree::bindText and 
  Tree::bindImage) use:


  if {[Widget::getoption $path -selectfill]} {
    path.c bind "box" $event $script
  } else {
    $path.c bind "box" $event {}
  }

  Both procedures change the binding for the "box".

  Calling bindText first, then bindImage will fire the image binding when 
  clicking on the background of the item (provided the binding is bound 
  to <B-1>).


tkt_uuid: 961454ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: tklib: plotchart
priority: 5 Medium
foundin: None
title: Add a date/time axis to the repertoire
comment:
  (Reminder)
  Add the ability to show date/times along the x-axis -
  especially useful for timeseries of measurement data 


tkt_uuid: 1050674fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Fixed
title: typos in snit FAQ
comment:
  I really enjoyed reading the snit FAQ.  It is almost a
  "snit by example."  But I noticed a few typos.

  In "What does the default constructor do?" 
  "interprete" should be "interpret."

  In "What does the install command do?" "install>"
  should probably be "install."

  In the delegation example.  "This code has the same
  affect..." should be "This code has the same effect..."

  And, finally, the resource and class names example code
  seems to mix "option -myvalue 5" with ".text configure
  -mytext."


tkt_uuid: 3308105fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: smtp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Traceback fingers unrelated catch output
comment:
  Hi,

  We had a problem today where we were getting a traceback from tcllib's smtp package while trying to queue a message.  The traceback pointed to "key message-id not in header", but this wasn't the problem.  The real problem was "451: 4.3.0 Error: queue file write error" because /var was out of space.

  Tracing stuff, we found this call, the last line of ::smtp::sendmessage:

      return -code 1 -errorinfo {key message-id not in header\n    while e...} -errorcode NONE {451: 4.3.0 Error: queue file write error}

  The errorinfo is incorrect -- it is from a catch of an innocent error 281 lines into the sendmessage proc, where it says...


      if {([lsearch -exact $lowerL ${message-idL}] < 0) \
              && ([catch { ::mime::getheader $part ${message-idL} }])} {

  This made it much harder to troubleshoot the actual error.

  Please fix the smtp package to finger the correct error -- I'm not sure where the bug is but whatever generated the error "451: 4.3.0 Error: queue file write error" did not get the errorinfo set properly.  I hope this is enough info.


tkt_uuid: 3613973fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Build System & Testing
priority: 5 Medium
severity: Minor
foundin: None
resolution: Fixed
title: Does not properly install under windows with cygwin
comment:
  Installation in cygwin env under windows fails since Makefile.in lacks proper conversion of pathnames, Correction in Makefile.in:


  --- ../../../g462/src/tcllib-1.15/Makefile.in   2013-01-23 05:25:49.000000000 +0100
  +++ Makefile.in 2013-05-24 11:29:22.863424000 +0200
  @@ -52,26 +52,26 @@
   install:
          $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/installer.tcl` \
                  -no-examples -no-html \
  -               -pkg-path   $(DESTDIR)$(pkglibdir) \
  -               -app-path   $(DESTDIR)$(bindir) \
  -               -nroff-path $(DESTDIR)$(mandir)/mann \
  +               -pkg-path   `$(CYGPATH) $(DESTDIR)$(pkglibdir)` \
  +               -app-path   `$(CYGPATH) $(DESTDIR)$(bindir)` \
  +               -nroff-path `$(CYGPATH) $(DESTDIR)$(mandir)/mann` \
                  -no-wait -no-gui

   install-libraries:
          $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/installer.tcl` \
  -               -pkg-path   $(DESTDIR)$(pkglibdir) \
  +               -pkg-path   `$(CYGPATH) $(DESTDIR)$(pkglibdir)` \
                  -no-examples -no-html -no-nroff \
                  -no-wait -no-gui -no-apps

   install-applications:
          $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/installer.tcl` \
  -               -app-path   $(DESTDIR)$(bindir) \
  +               -app-path   `$(CYGPATH) $(DESTDIR)$(bindir)` \
                  -no-examples -no-html -no-nroff \
                  -no-wait -no-gui -no-pkgs

   install-doc:
          $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/installer.tcl` \
  -               -nroff-path $(DESTDIR)$(mandir)/mann \
  +               -nroff-path `$(CYGPATH) $(DESTDIR)$(mandir)/mann` \
                  -no-examples -no-pkgs -no-html \
                  -no-wait -no-gui -no-apps


  Tested and verified under window XP and Windows 7 with cygwin usinf VS2010.


tkt_uuid: 2815302fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
resolution: Fixed
title: Wrong usages of struct::set substract
comment:
  There are some wrong usages of "struct::set substract" command in graphops.tcl - Fleury and TarjanSub procedures and possibly more. 

  As "struct::set substract" works well only for arguments not containing whitespaces, changing it to "struct::set exclude" fixes the problem.


tkt_uuid: 1695126fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - Add backend 'wordlist'
comment:
  Create a backend which extracts all plain text words found in the input document and returns a list of them.


tkt_uuid: 1416723fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: cmdline
priority: 5 Medium
foundin: None
resolution: Fixed
title: cmdline: test suite bugs
comment:
  with -debug 1:

  * cmdline 1.2.4
  WARNING: removeFile removing "/local/src/tcllib/script":
    not created by makeFile
  WARNING: removeFile removing "/local/src/tcllib/script":
    not a file
  modules/cmdline/typedCmdline.test
  - tcllib::testutils 1.0
  * cmdline 1.2.4
  test name 'cmdline-6.1' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.2' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.3' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.4' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.5' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.6' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.7' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.8' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.9' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.10' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.11' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.1' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.2' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.3' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.4' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.5' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.6' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.7' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.8' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.9' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.10' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.11' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.12' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.13' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.14' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.15' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test


tkt_uuid: 3000165fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: htmlparse
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: include an attribute parser
comment:
  htmlparse currently provides the uninterpreted tag attributes to the callback function.  It would be useful if the package provided a standard way to parse these attributes instead of every user needing to do it themselves.


tkt_uuid: 3164978fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: nmea
priority: 9 Immediate
severity: Minor
foundin: None
resolution: Not Applicable Here
title: missing procs or wrong man
comment:
  According to http://tcllib.sourceforge.net/doc/nmea.html there are two procs: ::nmea::close_port 
   and ::nmea::close_file, which don't seem to have been implemented.

  There is a proc ::nmea::close, so either the documentation should be changed or the procs will have to be implemented.
  I prefer the latter.


tkt_uuid: 2835744fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: widget
priority: 5 Medium
foundin: None
resolution: Wont Fix
title: widget:dialog button handling bug?
comment:
  The comments in the "close" method claim:
      # 'break' return code - don't withdraw
      # Withdraw on anything but 'break' return code
  for the handling of the results from the "-command" callback.

  However, as I found out this is not true if the dialog is configured -synchronous 1 (default).
  In that case the method "display" unconditionally withdraws the dialog.

  This affects -type okcancelapply, as the apply button will not act like it should, i.e. apply changes, keep dialog open.

  My guess is that this is a limitation of the "-synchronous 1" mode, and it simply has to be documented.

  The workaround is to make the dialog "-synchronous 0".
  I guess that is sensible anyway, due to the use of a "-command" callback.


tkt_uuid: 2821416fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: smtp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: smtp should not use [vwait]
comment:
  Since the smtp client uses [vwait] to run asynchronously, it cannot be used within an application which also uses [vwait].  Since that includes any networking program of any complexity, the smtp client's utility is substantially reduced.

  I have an event-driven smtp client written using coroutines and tcloo which doesn't suffer from this problem, to which you are welcome.

  The same problem appears (on cursory grepping) to be evident in several other tcllib networking packages including ldap, ftp and comm.


tkt_uuid: 1346299fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: tklib :: ctext
priority: 2
foundin: None
resolution: None
title: ctext module dir contains obsolete files
comment:
  The ctext module dir contains file which are obsolete
  since the inclusion in tklib. This is the case at least
  for ctext/installer.tcl but may be true for other files
  related to installation.


tkt_uuid: 3042811fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: json
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: huddle bug in dicts with complex keys
comment:
  package require huddle

  set bb [huddle create {a b} b c d]
  puts [huddle jsondump $bb]

  Run it, it produces:

  key "{a b}" not known in dictionary
      while executing
  "dict get $src $key"
      (procedure "::huddle::_dict_setting" line 22)
      invoked from within
  "$types(callback:$tag) get_sub $src $path"
      (procedure "_get2" line 4)

  I presume there's something in huddle which inappropriately deals with complex key cases.


tkt_uuid: 1397543fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Snit v2 not handling tcl8.5 return -options
comment:
  Since snitv2 runs under tcl8.5, I think CallInstance
  needs to handle the extended error options available
  under 8.5, so suggest the following amendment:


  proc ::snit::RT.CallInstance {selfns args} {
      upvar ${selfns}::Snit_instance self

      set retval [catch {uplevel 1 [linsert $args 0
  $self]} result eo]

      if {$retval} {
              return -code $retval -options $eo $result
      }

      return $result
  }

  Although, now I think about it, it doesn't really make
  sense to trap the errors merely to re-throw them, so it
  might be best to just make it this:


  proc ::snit::RT.CallInstance {selfns args} {
      upvar ${selfns}::Snit_instance self

      return [uplevel 1 [linsert $args 0 $self]]
  }

  Or even this:

  proc ::snit::RT.CallInstance {selfns args} {
      upvar ${selfns}::Snit_instance self

      return [$self {expand}$args]
  }


tkt_uuid: 2459470fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Debug and Verbose do not generate output
comment:
  Because log suppresses warnings and lower the ftp package needs to unsuppress so when Verbose and/or Debug is set to 1, the log package will print out the debug messages. Recommend placing the command:
  ::log::lvSuppressLE emergency 0
  in the namespace eval ::ftp command, being the ftp package actually controls when the log command is executed there should be no repercussions in ensuring everything is unsuppressed.


tkt_uuid: 3434579fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: yaml
priority: 8
foundin: None
resolution: Not Applicable Here
title: Infinite loop
comment:
  When a yaml input file (or string) is not terminated with a \n (EOL) the yaml parser gos into an infinite loop at the end.


tkt_uuid: 2787849fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: comm
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Can comm use Iocpsock under Windows
comment:
  I have one report of comm not being able to open a windows socket.
  Ther error message was:
  couldn't open socket: no buffer space available
  while executing
  "::comm::comm_cmd_new ::comm::comm ::comm::comm -port 0 -local 1 -listen 1"

  I have a feeling that if comm were to use the Iocpsock package where available this could be taken care of.
  Thanks


tkt_uuid: 1409177fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: more secure alternative to [tempfile]
comment:
  The [tempfile] command creates
  a new file and returns its name.

  The caller is then free to
  [open] that filename.

  The separation of file creation
  and the [open] leaves an interval
  when an attacker might manipulate
  that file.  So care must be taken
  when using this facility.

  A more secure strategy is to have
  one command do all parts: generate
  the file name, create and open
  the file, and pass back the channel
  of the open file in addition to
  the file name.

  This is analogous to using 
  mkstmp() instead of tmpnam()
  in a C program.

  It would be good to either modify
  [tempfile] to improve security, or
  if compatibility is a concern, offer
  an alternative command for the more
  secure option.

  Note there are some security issues
  that cannot be addressed fully at
  Tcl script level with Tcl's current
  built-in commands, and will require
  a C-coded solution.  See TIP 210.


tkt_uuid: 2787872fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: comm
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: default standard channel should not be created implicitely
comment:
   "comm" provides a default "communication channel" named "comm::comm" .

   If your app. doesn't need to "provide services", but just to call services, you should destroy it, and then create a simple outgoing channel.

   I think that when you load comm (package require comm), such standard channel should not be created automatically.
  Users should be explicitely create it 
     comm::comm new comm::comm


tkt_uuid: 83065570159df142baf5814ed124a652fe7ee80c
type: Bug
status: Closed
subsystem: tklib :: widget
priority: 5 Medium
severity: Minor
foundin: 0.1
private_contact: c355fe76647598e366b7455160fc6b2fe290cec1
resolution: Invalid
title: validator problem
comment:
  seems that the widget::validator does not work properly.
  Widget set the proper state flag but does not change color.
  Tk 8.6 on Win7


tkt_uuid: 7bb539fa97259ede350f042337eff27aae0591c8
type: Bug
status: Closed
subsystem: tklib :: crosshair
priority: 7 High
severity: Important
foundin: crosshair 1.2
private_contact: f463162b66810fbbda2c193cc3476868adfe003a
resolution: Fixed
title: ::crosshair::off doesnt work properly
comment:
  In routine ::crosshair::off

  Replace "Hide" by "Hide $w"

  --> The command "Hide" needs an argument

  Replace "set pos [lsearch -exact $bindtags Configure]" by 
          "set pos [lsearch -exact $bindtags Crosshair]"


  --> Bindtag "Configure" doesnt exist


  Replace "eval [list bindtags $w] [lreplace $bindtags $pos $pos]" by
          "bindtags $w [lreplace $bindtags $pos $pos]"

  --> It is more robust on list of tags such as "graphics-.main.mid.plot0.mid.graph0.c .main.mid.plot0.mid.graph0.c Canvas .main all" where ".main.mid.plot0.mid.graph0.c" is the name of the canvas.


tkt_uuid: 6af0aca06c924a6c0c3cfede04581d792ca9265b
type: Bug
status: Closed
subsystem: tklib
priority: 5 Medium
severity: Minor
foundin: 0.1.1
private_contact: bc1b9dbe1c30f60557cddc418446a731c0d44061
resolution: Fixed
title: widget::listsimple de.msg a clip } too much
comment:
  widget::listsimple and widget::listentry
  error in ../msgs/de.msg
  in column 8, end

  msgcat::mcset de wle.tip.add         {Fuege neues Element in die Liste ein}}

  last } too much


tkt_uuid: 2db5ae23e2b41b513bf21db0b898cdc41c9c3256
type: Bug
status: Closed
subsystem: tklib :: plotchart
priority: 5 Medium
severity: Important
foundin: 2.2.0
private_contact: f463162b66810fbbda2c193cc3476868adfe003a
resolution: None
title: ::Plotchart::createSpiralPie doesn't work
comment:
  In routine ::Plotchart::createSpiralPie 

  --> scaling($w,coordSystem) , scaling($w,xfactor) , scaling($w,yfactor)
  are not defined

  Adding those lines allows the exemple "test-spiralpie.tcl" to work.
  (added just before the lines "viewPort $w $pxmin $pymin $pxmax $pymax" )

  set scaling($w,coordSystem) 0
  set scaling($w,xfactor)   1.0
  set scaling($w,yfactor)   1.0


tkt_uuid: 40ae42af80c61618720510ba6648bef183e6b894
type: Bug
status: Closed
subsystem: tklib: plotchart
priority: 5 Medium
severity: Important
foundin: 8.5.14
private_contact: 5996480398deae228ceb0cbed9e8bc8c457f2b88
resolution: None
title: Get canvas path name from plot id
comment:
  Hi, in plotpriv.tcl, for instance ::Plotchart::WidthCanvas, it is used a piece of code to extract the canvas path name from the plot id, the expression used is:

  set w [string range $w 2 end]

  This expression assume that the first two character correspond to the index of the plot within the canvas and it may fails if for some reason the plot number has 3 digit, ie, 100. 

  The expression to build the plot id is [format "%02d%s" $scaling($c,plots) $c] if $scaling($c,plots) has 3 or more digits then it results in an invalid identifier.

  I have changed my copy of plotchart to use this expression:

  string range $w [string first . $w] end

  and it works as expected.

  Bellow is a code to help reproducing the error, you have to resize the window until the error appears, eventually after the resize number 100.

  package require Plotchart
  canvas .c
  pack .c -fill both -expand yes
  bind .c <Configure> redraw
  proc redraw { } {
    .c delete all
    ::Plotchart::createXYPlot .c {0 1 0.1} {0 1 0.1}
  }


tkt_uuid: 0cc0b936e89cd8068b4700ec42dce8e4613e4da3
type: Bug
status: Closed
subsystem: tklib: plotchart
priority: 5 Medium
severity: Minor
foundin: trunk
private_contact: 36034badbf4fa68e1e6f55bc81729916152660a8
resolution: None
title: examples/plotchart/testfunc.tcl has msdos line-endings
comment:
  The file examples/plotchart/testfunc.tcl has msdos line-endings but should have unix line-endings, like all the other files.


tkt_uuid: af953d9fbfafe05c0ae30ce27d18e11b68329ace
type: Bug
status: Closed
subsystem: A Category Is Missing
priority: 5 Medium
severity: Minor
foundin: trunk
private_contact: 36034badbf4fa68e1e6f55bc81729916152660a8
resolution: None
title: examples/controlwidget/demo-meters.tcl has msdos line-endings
comment:
  The file examples/controlwidget/demo-meters.tcl has msdos line-endings but should have unix line-endings, like all the other files.

  Also, tklib:controlwidget seems to be missing from the subsystem list.


tkt_uuid: 19721eff15f5e90f2bd43f5a9205ad0184944669
type: Patch
status: Open
subsystem: A Category Is Missing
priority: 5 Medium
severity: Minor
foundin: trunk
private_contact: 36034badbf4fa68e1e6f55bc81729916152660a8
resolution: None
title: Better example usability
comment:
  Add shebangs, package requires, etc. to allow examples to be easily run.

  Also, tklib:canvas seems to be missing from the subsystem list.


tkt_uuid: bac1ff5030858564f1ca7ffdb044c4fdb8f4c72a
type: Patch
status: Closed
subsystem: A Category Is Missing
priority: 5 Medium
severity: Minor
foundin: trunk
private_contact: 36034badbf4fa68e1e6f55bc81729916152660a8
resolution: None
title: Better example usability
comment:
  Add shebangs, package requires, etc. to allow examples to be easily run.

  Also, tklib:controlwidget seems to be missing from the subsystem list.


tkt_uuid: 3dee7d95ca4d14a112a2081858b26c2afce3b504
type: Bug
status: Open
subsystem: (unused)
priority: 5 Medium
severity: Important
foundin: 0.1
private_contact: 24e6652e36ce2e57ca3201030571772f1476335c
resolution: None
title: Gradient items should be lowered
comment:
  The example below exhibits the problem:

  # grad.tcl --
  #     Show a gradient on the canvas
  #
  package require canvas::gradient
  canvas .c
  canvas::gradient .c -direction x -color1 yellow -color2 blue
  pack .c -fill both -expand 1
  set poly [.c create polygon 200 100 300 200 200 300 200 100 -fill blue]

  The polygon is not visible - the gradient is drawn on top of it.

  This can be remedied by lowering the gradient items:

  .c lower canvas::gradient


tkt_uuid: 678c8ac255b77bd020f0130b43b0a55860f067fa
type: Bug
status: Open
subsystem: tklib
priority: 5 Medium
severity: Important
private_contact: 24e6652e36ce2e57ca3201030571772f1476335c
resolution: None
title: README file outdated - installed-modules.tcl no longer exists
comment:
  The file README mentions that new modules have to be registered in installed_modules.tcl, but this file no longer exists. Instead the new module must be registered in installation/modules.tcl


tkt_uuid: 9c9ba3493099f0b877678645dfc5e1300efb458a
type: RFE
status: Open
subsystem: tklib
priority: 5 Medium
severity: Minor
foundin: 1.0
private_contact: 5846a328c39e4967aaeb56d4e03d3e783e2dd1b8
resolution: None
title: Add Taotk to tklib
comment:
  I would like to add a package I am developing called "taotk" to the tklib. It is a TclOO megawidget toolkit based on Tao, which was presented at the 20th Annual Tcl conference in New Orleans.


