# ticket

tkt_uuid: 1610330fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: dns
priority: 5 Medium
foundin: None
title: DNS: Asynchronous connect to server
cmimetype: text/plain
submitter: teopetuk
assignee: patthoyts
closer: patthoyts
closedate: 2007-08-26T00:44:55
comment:
  Currently DNS tcllib module uses synchronous connection to DNS server when TCP is using.

  Sometimes server admins close TCP port 53 and even drop all TCP packets addressed to this port. When Tcl/Tk application connects to such a server it becomes irresponsible until TCP connect timeout reaches.

  Attached patch makes ::dns::resolve using asynchronous socket connect.


tkt_uuid: 1526641fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: find mishandles "hidden" files on Win
cmimetype: text/plain
submitter: blacksqr
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2007-08-08T19:47:51
comment:
  fileutil::find has two separate implementations for
  Windows and Unix... the Windows implementation
  incorrectly uses a glob pattern intended for Unix which
  assumes that filenames starting with "." need explicit
  matching, leading to files so named being listed twice
  in the result.

  In the Windows implementation, the line:

      set filenames [glob -nocomplain * .*]

  should be:

      set filenames [glob -nocomplain *]

  ####
  fileutil version 1.6.1


tkt_uuid: 1198361fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: comm
priority: 5 Medium
foundin: None
title: comm calls bgerror in synchronous call and no event loop
cmimetype: text/plain
submitter: bschofield
assignee: andreas_kupries
closer: sf-robot
closedate: 2006-01-24T03:20:19
comment:
  If "comm send" has any error, it calls ::bgerror which
  is undesirable in some cases. Consider the following
  program

  # start
  package require comm
  set s [comm::comm]
  comm::comm send $s {set x y z}
  # end

  This calls ::bgerror. However, there is no *background*
  error. This is just a plain error. Should the call be
  asynchronous in nature, then a background error would
  be appropriate.

  Suggested fix:

  In proc ::comm::commExec at the bottom, just before
  return, change the line
      if {$err ==1} {
           commBgerror $ret
      }

  to
     if {$err ==1 && ![string equal send $cmd]} {
          commBgerror $ret
     }


  Here is some additional test code:
  # start
  package require comm
  package require Tk
  set s [comm::comm self]
  after 1000 [list comm::comm send $s {set x y z}]
  # a bgerror will be thrown


tkt_uuid: 1272798fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: exif
priority: 2
foundin: None
title: exif - failed test with Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-09-27T16:57:20
comment:
  ==== exif-makernote-19.0 makernote field 19 (afpoint)
  is optional FAILED
  ==== Contents of test case:

      # AFPoint == AutoFocus Point

      set f [open [file join $::tcltest::testsDirectory
  noafpoint.jpg] r]
      fconfigure $f -translation binary
      set res [dictsort [exif::analyze $f]]
      close $f
      set res

  ---- Result was:
  AFPointsUsed {3 right} AperatureValue 7.1 AutoFocusMode
  {AI servo} CameraMake Ca
  non CameraModel {Canon PowerShot S100} ColorSpace 1
  ComponentsConfigured 0x00030
  201 Contrast Normal DateTime {2004:09:06 05:22:56}
  DateTimeDigitized {2004:09:06
   05:22:56} DateTimeOriginal {2004:09:06 05:22:56}
  ExifImageHeight 1200 ExifImage
  Width 1600 ExifInteroperabilityOffset 1088 ExifVersion
  0210 ExposureBiasValue 0 
  ExposureTime {1/250.0 seconds} FNumber 7.1 FileSource
  {3 - Digital camera} Firmw
  areVersion {Firmware Version 1.0} Flash no FlashMode
  auto FlashPixVersion 0100 F
  ocalLength {5.40625 mm} FocalPlaneResolutionUnit inch
  FocalPlaneXResolution 7766
  .9902912621355 FocalPlaneYResolution 7741.935483870968
  ISO unknown ImageFormat {
  IMG:JPEG file} ImageNumber 140-4060 ImageQuality Fine
  ImageSize large MacroMode 
  normal MeteringMode unknown Orientation 1 Owner Irochka
  ResolutionUnit inch Satu
  ration Normal SensingMethod 2 Sharpness Normal
  ShootingMode {Single frame} Shutt
  erSpeedValue {250 Hz} SubjectDistance {3.358 m}
  UnknownTag-0x10 100925440 UserCo
  mment {554 - } WhiteBalance Auto XResolution 180.0
  YCbCrPositioning {Center of p
  ixel array} YResolution 180.0
  ---- Result should have been (exact matching):
  AFPointsUsed {3 right} AperatureValue 7.1 AutoFocusMode
  {AI servo} CameraMake Ca
  non CameraModel {Canon PowerShot S100} ColorSpace 1
  ComponentsConfigured 0x00030
  201 Contrast Normal DateTime {2004:09:06 05:22:56}
  DateTimeDigitized {2004:09:06
   05:22:56} DateTimeOriginal {2004:09:06 05:22:56}
  ExifImageHeight 1200 ExifImage
  Width 1600 ExifInteroperabilityOffset 1088 ExifVersion
  0210 ExposureBiasValue 0 
  ExposureTime {1/250.0 seconds} FNumber 7.1 FileSource
  {3 - Digital camera} Firmw
  areVersion {Firmware Version 1.0} Flash no FlashMode
  auto FlashPixVersion 0100 F
  ocalLength {5.40625 mm} FocalPlaneResolutionUnit inch
  FocalPlaneXResolution 7766
  .99029126 FocalPlaneYResolution 7741.93548387 ISO
  unknown ImageFormat {IMG:JPEG 
  file} ImageNumber 140-4060 ImageQuality Fine ImageSize
  large MacroMode normal Me
  teringMode unknown Orientation 1 Owner Irochka
  ResolutionUnit inch Saturation No
  rmal SensingMethod 2 Sharpness Normal ShootingMode
  {Single frame} ShutterSpeedVa
  lue {250 Hz} SubjectDistance {3.358 m} UnknownTag-0x10
  100925440 UserComment {55
  4 - } WhiteBalance Auto XResolution 180.0
  YCbCrPositioning {Center of pixel arra
  y} YResolution 180.0
  ==== exif-makernote-19.0 FAILED


tkt_uuid: 781652ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Selection display bug in BWidgets Listbox
cmimetype: text/plain
submitter: sgamon
assignee: hobbs
closer: hobbs
closedate: 2003-08-06T23:36:06
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
resolution: None
subsystem: math :: linearalgebra
priority: 5 Medium
foundin: None
title: ::math::linearalgebra::transpose not exported
cmimetype: text/plain
submitter: ramsan
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2006-04-25T12:30:14
comment:
  it is necessary to add

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

  to package math::linearalgebra


tkt_uuid: 3483716fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 5 Medium
foundin: None
title: transfer encoding ignored for message/*
cmimetype: text/plain
submitter: cnassau
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2012-02-23T17:37:05
comment:
  The handling of message/* types in ::mime::parsepart currently ignores the Content-Transfer-Encoding (tcllib 1.13 / mime 1.5.4) .

  Example

  Content-Type: message/delivery-status; name="deliverystatus.txt"
  Content-Disposition: attachment; filename="deliverystatus.txt"; size=138;
  creation-date="Thu, 02 Feb 2012 13:50:05 GMT";
  modification-date="Thu, 02 Feb 2012 13:50:05 GMT"
  Content-Description: deliverystatus.txt
  Content-Transfer-Encoding: base64

  T3JpZ2luYWwtUmVjaXBpZW50OiA8L2ZheD1ibHViYkBndW1taS5ib290PgpBY3Rpb246IGZhaWxl
  ZApEaWFnbm9zdGljLUNvZGU6IHNtdHA7IDU1MCAjNS4xLjAgQWRkcmVzcyByZWplY3RlZC4KUmVt
  b3RlLU1UQTogNTMuMjQuMjgyLjE1MA==


  The attached patch fixes this problem for base64 encoded messages.


tkt_uuid: 582668ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftp
priority: 5 Medium
foundin: None
title: ftp::Get with -variable fails
cmimetype: text/plain
submitter: frari
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-08-08T16:54:23
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: 1176268fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tar
priority: 5 Medium
foundin: None
title: incorrect use of open in tar.tcl
cmimetype: text/plain
submitter: nobody
assignee: afaupell
closer: afaupell
closedate: 2006-06-29T19:39:26
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: 852945ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: snit
priority: 5 Medium
foundin: None
title: variable should check for :: in names
cmimetype: text/plain
submitter: hobbs
assignee: duquette
closer: duquette
closedate: 2004-02-07T23:21:51
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: 1711544fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: Development Tools
priority: 5 Medium
foundin: None
title: sak.tcl validate fails with bad error msg without module nam
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2007-05-03T21:41:25
comment:
  Trying to use ./sak.tcl validate i see the following failure:
  schlenk@chronos:~/devel/tcllib> tclsh ./sak.tcl validate
  Validating tcllib 1.9 development
  ===================================================
  1: Existence of testsuites ...
  ------------------------------------------------------
    Without testsuite : bench
    Without testsuite : ftp
    Without testsuite : ftpd
    Without testsuite : grammar_peg
    Without testsuite : http
    Without testsuite : irc
    Without testsuite : javascript
    Without testsuite : jpeg
    Without testsuite : nmea
    Without testsuite : nntp
    Without testsuite : page
    Without testsuite : pluginmgr
    Without testsuite : smtpd
    Without testsuite : tar
    Without testsuite : tcllibc
    Without testsuite : term
    Without testsuite : tiff
    Without testsuite : transfer
  ------------------------------------------------------

  2: Existence of package indices ...
  ------------------------------------------------------
  ------------------------------------------------------

  3: Consistency of package versions ...
  ------------------------------------------------------
  unmatched open quote in list
      while executing
  "foreach {n v} $line break"
      ("foreach" body line 12)
      invoked from within
  "foreach line [split [read $fh] \n] {
              regsub "\#.*$" $line {} line
              if {![regexp {provide} $line]} {continue}
              if {![regexp {package} $lin..."
      ("foreach" body line 24)
      invoked from within
  "foreach f $files {
          # We ignore package indices and all files not in a module.

          if {[string equal pkgIndex.tcl [file tail $f]]} {continue}
          if {![reg..."
      invoked from within
  "foreach f $files {
          # We ignore package indices and all files not in a module.

          if {[string equal pkgIndex.tcl [file tail $f]]} {continue}
          if {![reg..."
      (procedure "ppackages" line 24)
      invoked from within
  "ppackages"
      (procedure "validate_versions" line 3)
      invoked from within
  "validate_versions"
      (procedure "_validate_all" line 21)
      invoked from within
  "_validate_all"
      (procedure "__validate" line 4)
      invoked from within
  "__$cmd"
      (file "./sak.tcl" line 2550)


tkt_uuid: 3575707fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: csv
priority: 5 Medium
foundin: None
title: add opt arg to csv::join to force insertion of delimiter
cmimetype: text/plain
submitter: gahr
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2013-01-08T22:18:07
comment:
  the proc ::csv::join currently surrounds values by the delimiter characters only when a value contains the delimiter. The patch attached adds an optional argument to ::csv::join, ::csv::joinlist, and ::csv:joinmatrix to make ::csv::join always surround fields by the delimiter character.


tkt_uuid: 466746ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftp
priority: 5 Medium
foundin: None
title: socket readable, gets<0 => Error conn.
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-10-23T03:45:21
comment:
  I have a problem with tcllib-1.0 ftp when working
  with a proxy ftp server with the message "ERROR: Error
  connecting!"

  The problem is due to the fact that in some case,
  the ftp socket is readable, but gets proc returns -1.

  excerpt from ftp.tcl:
  ...
      fconfigure $ftp(CtrlSock) -buffering line -blocking
  $block -translation {auto crlf}
      fileevent $ftp(CtrlSock) readable [list [namespace
  current]::StateHandler $s $ftp(CtrlSock)]
  ...
  proc ftp::StateHandler {s {sock ""}} {
  ...
          set number [gets $sock bufline]
  ...
          if { $number > 0 } {
  ...
          } elseif { [eof $ftp(CtrlSock)] } {
  ...
          }

  # the workaround is to replace this last line with
          } else {
            # in some case, gets gets nothing
            return
          }


tkt_uuid: 3610485fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: snit
priority: 1 Zero
foundin: None
title: Validate option default at instance creation
cmimetype: text/plain
submitter: aspenlogic
assignee: duquette
comment:
  When a new instance is created it would be nice if the option's default value could be checked using the -validatemethod specified.


tkt_uuid: 1465066fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: Later
subsystem: logger
priority: 3 Low
foundin: None
title: logger does not print correct args when passed multiple args
cmimetype: text/plain
submitter: mic42
assignee: mic42
comment:
  (bin) 49 % package require logger
  0.6.2
  (bin) 50 % set f [logger::init foo]
  ::logger::tree::foo
  (bin) 51 % ${f}::debug foo bar baz
  [Wed Apr 05 17:41:43 Westeuropäische Normalzeit 2006]
  [bar] [debug] 'baz'
  (bin) 52 % 

  This should print:
  'foo bar baz'

  seems like the origin tracking code is not robust enough.

  Michael


tkt_uuid: 764702ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 5 Medium
foundin: None
title: unknown charset 'utf-8' in ::mime::word_decode
cmimetype: text/plain
submitter: rspsf
assignee: mrose
closer: andreas_kupries
closedate: 2003-11-21T06:08:45
comment:
  The UTF-8 charset is currently not handled by
  ::mime::word_decode and related procs:

  tclsh8.4% ::mime::word_decode =?utf-8?Q?H=C3=BCrz?=
  unknown charset 'utf-8'

  Suggested change:

  Add UTF-8 mapping to encList in mime.tcl:
  diff -c1 mime-1.33.tcl mime.tcl
  *** mime-1.33.tclWed Jul  2 17:31:44 2003
  --- mime.tclWed Jul  2 17:58:16 2003
  ***************
  *** 183,185 ****
                unicode "" \
  !             utf-8 ""]
    
  --- 183,185 ----
                unicode "" \
  !             utf-8 UTF-8]
    


tkt_uuid: 611477ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ProgressDlg bug
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: oehhar
closedate: 2009-07-01T14:19:17
comment:
  I wrote the following simple test program (test.tcl)

  package require BWidget
  set pb [ProgressDlg .pb]
   
  $pb configure -bg red
   
  But when I try to run it I get an error message. It seems 
  to be impossible to execute the last command, because 
  the interpeter doesn't find the command .pb.
  See attached file for error description.


tkt_uuid: 564670ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: Package fails to load
cmimetype: text/plain
submitter: gwlester
assignee: patthoyts
closer: andreas_kupries
closedate: 2002-06-07T17:17:23
comment:
  The dns pacakge fails to load on the first "package require".

  It requires two "package require dns" to load; the first one fails with: 
            invalid command name "configure" 
                while executing 
            "configure -loglevel $options(loglevel)" 
                (in namespace eval "::dns" script line 17) 
                invoked from within 
            "namespace eval dns { 
                variable version 1.0 
                variable rcsid {$Id: dns.tcl,v 1.1 2002/03/02 01:37:46 patthoyts Exp $} 

                namespace export config..." 
                (file "D:/Program Files/ActiveState/Tcl/lib/tcllib1.3/dns/dns.tcl" line 29) 
                invoked from within 
            "source {D:/Program Files/ActiveState/Tcl/lib/tcllib1.3/dns/dns.tcl}" 
                ("package ifneeded" script) 
                invoked from within 
            "package require dns"


tkt_uuid: 1408494fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget Tree bug with autoscroll (when dragging)
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: dev_null42a
closedate: 2006-11-10T20:39:42
comment:
  Tree::_auto_scroll calls Tree::_scroll with 2 parameters,
  but _scroll has 3 parameters. Error generates and
  auto_scroll not works. Proc _scroll correct, only
  last 2 parameters packed in list.
       With this all works ok:
  ##################################
  proc Tree::_scroll { path scroll } {
      variable $path
      upvar 0  $path data
  set cmd [lindex $scroll 0]
  set dir [lindex $scroll 1]
      if { ($dir == -1 && [lindex [$path.c $cmd] 0] > 0) ||
           ($dir == 1  && [lindex [$path.c $cmd] 1] < 1) } {
          $path.c $cmd scroll $dir units
          set data(dnd,afterid) [after 50 [list
  Tree::_scroll $path $scroll]]
      } else {
          set data(dnd,afterid) ""
          DropSite::setcursor dot
      }
  }
  ######################################
  Kapkaev@inbox.ru


tkt_uuid: 2499641fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: stripPath does not correctly handle mixed case paths
cmimetype: text/plain
submitter: apnadkarni
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2009-02-05T23:40:43
comment:
  stripPath does not correctly handle mixed case paths on Windows. See console session below

  (woof) 65 % ::fileutil::stripPath /temp /temp/foo
  foo
  (woof) 66 % ::fileutil::stripPath /temp /Temp/foo
  /Temp/foo

  On windows, it should recognize that /temp and /Temp are in fact the same.

  Platform: fileutil 1.13.5 under Tcl 8.6b1 on Windows XP SP2

  /Ashok


tkt_uuid: 3312880fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftpd
priority: 5 Medium
foundin: None
title: FTP command "RNFR" checks filesystem paths
cmimetype: text/plain
submitter: rkeene
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2011-08-09T20:39:54
comment:
  RNFR checks the native filesystem for the pathname specified.

  The offending logic is:
          if {[file exists $path]} {...}

  This will fail unless you are using the native filesystem driver and a docroot of "/"

  To check for existence, perhaps rename could be called with "newname" of "" (empty string) ?


tkt_uuid: 1531199fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: add color chooser to font selector
cmimetype: text/plain
submitter: tjikkun
assignee: hobbs
closer: dev_null42a
closedate: 2006-09-27T03:28:09
comment:
  Hi,

  for the aMSN project we modified the bwidget library a
  bit, one of the changes that might be nice to include
  upstream is the addition of a color chooser in the font
  selector. The patch attached is how this is done in the
  modified amsn bwidget, it also adds an option to not
  show the size selector (this is because in msn chats
  you have no way of specifying the size of you outgoing
  messages)

  I hope these changes can be done upstream.

  Kind regards,

  Sander Hoentjen


tkt_uuid: 1581075fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: units
priority: 5 Medium
foundin: None
title: Feature submission: metric-imperial unit conversion
cmimetype: text/plain
submitter: pepolez
assignee: techentin
closer: techentin
closedate: 2006-11-20T04:48:06
comment:
  I have recently created a simple set of procedures to
  convert imperial units of measurement to metric units
  and vice versa. I think it would be a useful addition
  to TCLLIB.

  Please see
  http://www.toxicantidote.net/scripts/tcl-metimp.shtml
  for details of usage and file download.


tkt_uuid: 1039961fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: htmlparse
priority: 5 Medium
foundin: None
title: htmlparse - numeric character references with leading 0s
cmimetype: text/plain
submitter: jenglish
assignee: andreas_kupries
closer: jenglish
closedate: 2004-10-04T14:32:35
comment:
  Numeric character references with leading zeros are
  misparsed as octal.  For example, &#038;  (in case the
  SF bug tracker mangles that, it's: "ampersand, pound
  sign, zero, three, eight, semicolon").

  Attached patch fixes the problem and adds a test case.


tkt_uuid: 554233ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: apps : request for new app
priority: 5 Medium
foundin: None
title: Browser for images
cmimetype: text/plain
submitter: davesnyd
assignee: hobbs
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: 565281ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 5 Medium
foundin: None
title: tcllib documentation bugs
cmimetype: text/plain
submitter: dgp
assignee: dgp
closer: dgp
closedate: 2002-06-11T17:11:17
comment:
  Two issues when building tcllib's documentation.

  ./configure
  make
  ...
  Gen (html): ./modules/control/control.man
  Manpage error (nolistcmd), "section LIMITATIONS" :
  Command not allowed inside of a list.
  ...
  Gen (nroff): ./modules/control/control.man
  Manpage error (nolistcmd), "section LIMITATIONS" :
  Command not allowed inside of a list.
  ...


  Then when the docs are built, two empty files
  are left behind: html-doc and nroff-doc


tkt_uuid: 1471885fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: snit
priority: 5 Medium
foundin: None
title: snit2.tcl - faulty "in" keyword
cmimetype: text/plain
submitter: nobody
assignee: dgp
closer: dgp
closedate: 2006-04-18T04:16:32
comment:
  Don't know what the deal is..


  -@- -) tclsh
  % info tclversion
  8.5
  % info patchlevel
  8.5a2
  % package require snit
  2.0
  % snit::type dog { }
  syntax error in expression "$name in $arglist": extra 
  tokens at end of expression


  So I look in the source and find
      if {$name in $arglist} {
  replace it with
      if {[lsearch $arglist $name] != 1} {
  and recompile which fixes that 'bug'.


  -@- -) tclsh
  ...
  % snit::type dog { }
  ::dog
  % snit::type dog {option -color brown}
  syntax error in expression "$option in $compile
  (delegatedoptions)": extra tokens at end of expression


  So I find all instances of:
      if {X in Y} {
  replace them with
      if {[lsearch Y X] != 1} {
  and recompile to fix.


  But what gives? I can't find "X in Y" used anywhere 
  else in tcllib, and the only clue I have is the "in" 
  procedure for xifo objects.

  Dylan.


tkt_uuid: 481022ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct :: matrix
priority: 5 Medium
foundin: None
title: new matrix related methods requested
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-11-24T02:25:06
comment:
  1. Ability to tell matrix to print itself out (ala
  parray)

  2. Ability to give matrix a term to search for, with
  ability to either search any column of a row, or
  particular columns (or column ranges)


tkt_uuid: 995545ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: struct :: record
priority: 5 Medium
foundin: None
title: package require struct::record does not work
cmimetype: text/plain
submitter: nobody
assignee: schwarzkopf
closer: andreas_kupries
closedate: 2004-09-29T19:18:40
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: 539952ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 3 Low
foundin: None
title: odd mime/smtp/Trf interaction
cmimetype: text/plain
submitter: mrose
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-05-09T05:02:39
comment:
  in using Tcl 8.3.2nb2 and Trf2.1 with the current 
  tcllib, two odd things happen.

  first, trf sends a create/read and a delete/read on 
  the outgoing smtp channel, which smtp.tcl isn't 
  expecting.

  second, one of the my applications generates a CTE of 
  8bit, which the mime serializer complains about.

  patches attached.

  /mtr


tkt_uuid: 1253947fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: None
priority: 5 Medium
foundin: None
title: installer script fails with non-existing directories
cmimetype: text/plain
submitter: arjenmarkus
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-26T23:28:53
comment:
  I updated the complete directory tree for Tcllib, using
  cvs update (without any options) and then ran the
  installer script like this:

  > tclsh installer.tcl

  The only option I set in the GUI that came up was to
  use a "dry run." 

  The script initially failed with error messages from
  [glob] complaining about asn/*.tcl and so on. When I
  removed this and other directories that were not
  present in my directory tree but were listed in
  "installed_modules.tcl", it all worked, that is the
  "dry" installation produced a long list of files that
  were detected and actions that were supposedly taken.

  Presumably I should have used the ./configure script
  and the resulting make file, but "installer.tcl" is
  such an inviting name ;)


tkt_uuid: 466091ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: apps : tkchat
priority: 5 Medium
foundin: None
title: tkchat memory
cmimetype: text/plain
submitter: lvirden
assignee: hartweg
closer: patthoyts
closedate: 2003-05-02T08:51:52
comment:
  I would like for tkchat to remember things like resized
  window size.

  Also, when I start up tkchat and look at its font drop
  down, no font name or size is highlighted - should
  these not be set upon the value being used, and then
  remembered if the user changes them?


tkt_uuid: 531799ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftpd
priority: 6
foundin: None
title: checks for wrong tcl version
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-03-19T23:09:18
comment:
  ftpd did not run on tcl8.2.2 for win32.
  Reason: The use of "lsort -unique" which is new in 
  tcl8.3.

  The problem: pkgIndex.tcl from ftpd does not check the 
  right tcl version:

  if {![package vsatisfies [package provide Tcl] 8.2]} 
  {return}

  Must be: 
  if {![package vsatisfies [package provide Tcl] 8.3]} 
  {return}

  Also i miss any information in the manpage about the 
  smallest tcl-version ftpd needs.


tkt_uuid: 500655ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: man pages not formatted
cmimetype: text/plain
submitter: pointsman
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-01-11T22:44:30
comment:
  On some systems (at least mine) the tcllib man pages
  cannot be displayed with the normal 'man csv' command.

  Instead the formatted page, only a lot of error
  messages  showed up.

  make install works smoothly.

  man.macros is in place.

  It seems, the problem is the inclusion of man.macros
  into the tcllib man pages with the instruction
  .so man.macros

  If I copy the context of man.macros directly into the
  man page and remove the '.so man.macros' instruction,
  everything works.

  The tcl core man pages have man.macros literaly
  included and work smoothly. The inclusion is done by a
  sed command during the installation process. Out of
  Tcl8.3.4 Makefile on Linux (after ./configure):

          @echo "Installing command (.n) docs";
          @cd $(TOP_DIR)/doc; for i in *.n; \
              do \
              rm -f $(MANN_INSTALL_DIR)/$$i; \
              sed -e '/man\.macros/r man.macros' -e
  '/man\.macros/d' \
                      $$i > $(MANN_INSTALL_DIR)/$$i; \
              chmod 444 $(MANN_INSTALL_DIR)/$$i; \
              done;

  (see target install-doc).


tkt_uuid: 2779581fffffffffffffffffffffffffffffffff
type: Patch
status: Open
resolution: None
subsystem: ldap
priority: 5 Medium
foundin: None
title: sid2SDDL function
cmimetype: text/plain
submitter: psidhu
assignee: mic42
comment:
  For converting sids to their text SDDL representations for further use in searches and/or saving to databases etc.


tkt_uuid: 520279ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: None
priority: 5 Medium
foundin: None
title: New package - dns lookups in Tcl
cmimetype: text/plain
submitter: patthoyts
assignee: patthoyts
closer: patthoyts
closedate: 2002-03-02T01:44:24
comment:
  I have produced a dns package to permit Tcl-only Domain
  Name Service lookups using the usual fileevent
  framework to allow for timeouts and asynchronous
  network transmission. This is modelled on the http package.

  Also extends the uri package to support the dns URI
  scheme. This code should probably end up in the uri
  package later on.

  For example:
   set tok [dns::resolve www.google.com]
   dns::address $tok
   dns::cleanup $tok

   dns::resolve "dns:tcl.tk;type=MX" -command handler

  No tests but there is a .man page.


tkt_uuid: 688227ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Notebook left side not drawn (0 borderwidth)
cmimetype: text/plain
submitter: lewca43
assignee: hobbs
closer: hobbs
closedate: 2003-05-14T23:50:07
comment:
  In a NoteBook widget, if the canvas has 0 borderwidth
  (perhaps set by option database), the left side of the
  notebook will be drawn at -1 x coordinate and will not
  be visible. This patch fixes that by never allowing the
  left side to be drawn at an x coordinate that is negative.

  This bug was found in the bwidget1.5 distribution as
  released with ActiveTcl 8.4.1

  - Bryan Schofield


tkt_uuid: 503471ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftp
priority: 5 Medium
foundin: None
title: ftp GET to non-existent directory
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-01-16T19:01:35
comment:
  Hello,

  i started to use ftp package and i have problems with
  this situation:

  set fd [ftp::Open host user passwd]
  ftp:Get $fd file /non-existent-directory

  After timeout it hangs for a long period of time and
  exists with a lot of messsages:

      Error in bgerror: invalid command name "bgerror"
  bgerror failed to handle background error.
      Original error: can't wait for variable
  "::ftp::ftp2(state.data)":  would wait forever
      Error in bgerror: invalid command name "bgerror"
  bgerror failed to handle background error.
      Original error: can't wait for variable
  "::ftp::ftp2(state.data)":  would wait forever
      Error in bgerror: invalid command name "bgerror"


tkt_uuid: 3041989fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: cmdline
priority: 7 High
foundin: None
title: Enhance documentation and help message
cmimetype: text/plain
submitter: oehhar
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2010-09-08T20:25:24
comment:
  The procedure "getoptions" aparently always understands "--" as "end of flags".

  IMHO
  - this should be stated in the documentation
  - this should be stated in the generated help message. The "-? /-help" automatically takes two output rows so another automatic would not harm.

  Other issue:
  - the format of the return value of the function is not explained in the help: alternating list of index value. The example shows it.

  Thank you,
  Harald


tkt_uuid: 2820851fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: fix dynamichelp issues
cmimetype: text/plain
submitter: danckaert
assignee: nobody
closer: oehhar
closedate: 2009-07-14T09:23:14
comment:
  This patch fixes some issues with dynamic help. One of the issues is that help for a menu sometimes stays visible when the menu is unmapped (on Unix). This is an example script:

  pack [frame .f -width 200 -height 200]
  pack [label .l -textvariable statusvar]
  . configure -menu [menu .m -tearoff 0]
  .m add cascade -label "File" -menu [menu .m.f -tearoff 0]
  .m.f add command -label "New"
  DynamicHelp::add .m.f -type menu -variable statusvar
  DynamicHelp::add .m.f -type menu -index 0 -text "help for New"

  Now click on "File", and then move the mouse cursor upwards (out of the window), and click again. The menu is unmapped, but on Unix, the help stays visible. The patch should fix this.

  Other issues addressed in this patch are:
  - Make "-helpcmd" available also when dynamichelp is included in another widget.
  - Make sure that -helpcmd is always called at global scope (with uplevel #0).
  - Sometimes a <Leave> event may be called twice. Protect against this.
  - When _unset_help is called, the _top widget should only be destroyed when it is a balloon.


tkt_uuid: 772300ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
title: Tiny doc patch for TkTable
cmimetype: text/plain
submitter: hgiese
assignee: nobody
closer: andreas_kupries
closedate: 2003-07-16T15:41:22
comment:
  Looks like this is not the right place to talk about
  TkTable. Whoever gets this request: please assign it to
  Jeff Hobbs.

  In the documentation for TkTable please add in the section
      Embedded Windows
          ...
      -window pathName

  a line like: "When a pathName of "" is specified,
  TkTable ceases to display any widget which might have
  been associated with the cell in question."
  Best regards
  Helmut Giese


tkt_uuid: 991452ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: ftp
priority: 5 Medium
foundin: None
title: ftp::Quote should join arguments
cmimetype: text/plain
submitter: nobody
assignee: gwlester
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: 501210ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Patch for: [ #500890 ] Mainframe ...
cmimetype: text/plain
submitter: bach
assignee: hobbs
closer: hobbs
closedate: 2002-01-15T18:48:44
comment:
  I suppose I'm the culprit for this bug (forgot to
  protect variables when adding the eval). I've attached
  the patch to resolve this below as I couldn't attach it
  directly to the bug report.

  Regards,
     Bastien


tkt_uuid: 1846923fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
resolution: None
subsystem: math
priority: 5 Medium
severity: Minor
foundin: None
title: Submission: incomplete Gamma function
cmimetype: text/plain
submitter: erickb
assignee: arjenmarkus
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: 714947ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: widget
priority: 5 Medium
foundin: None
title: widget: digraph.tcl needs TIP 44 update
cmimetype: text/plain
submitter: dgp
assignee: hobbs
comment:
  Doesn't seem to be a Category for
  the "widget" directory of the tcllib
  project repository.

  Anyhow the file

  cvsroot/tcllib/widget/library/digraph.tcl

  calls internal Tk commands by their
  pre-Tk-8.4 names.  This code needs
  an update to work with Tk 8.4.


tkt_uuid: 1897843fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: stringprep
priority: 5 Medium
foundin: None
title: saslprep test 1.7 fails
cmimetype: text/plain
submitter: lvirden
assignee: patthoyts
closer: patthoyts
closedate: 2009-11-02T00:38:22
comment:
  sparc solaris 9, sun c compiler, cvs head for tcl and tcllib.

  ++++ saslprep-1.6 PASSED
  ---- saslprep-1.7 start

  ==== saslprep-1.7 Error - bidirectional check FAILED
  ==== Contents of test case:

          list [catch {::stringprep::stringprep saslprep $input} res] $res
      
  ---- Result was:
  1 {can't read "first_ral": no such variable}
  ---- Result should have been (exact matching):
  1 invalid_bidi
  ==== saslprep-1.7 FAILED


tkt_uuid: 1416800fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
title: graph: test suite bugs
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-29T00:10:47
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: 1798427fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 5 Medium
foundin: None
title: Doctools HTML output
cmimetype: text/plain
submitter: sdeasey
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2008-05-16T06:46:51
comment:
  It is very difficult to make the HTML output of the dtplite command presentable.


  - SECTION TITLES ARE IN ALL CAPS. It's traditional for man pages with limited formatting capability, but not necessary for a web page.

  - The Table of Contents are indented with 4 non-breaking spaces and hard returns...

  - The Synopsis is formatted using nested table. It's not necessary.

  - Paragraphs and definition lists are unclosed.

  - Examples are wrapped in a table so that a thick line will be drawn down the left edge. It's not necessary.

  - dtplite is brittle in it's expectations for where things should live. For example, to use the automatic TOC and index building function I had to create a symlink forest of 'modules'. The directory names of the modules are used as the headings in the TOC.  It's not clear how to add C library docs to this.


tkt_uuid: 535216ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math
priority: 8
foundin: None
title: Update for ::math::fuzzy package
cmimetype: text/plain
submitter: arjenmarkus
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-04-14T06:29:29
comment:
  I have updated the files for the fuzzy package:
  - Manual pages now available in proper nroff and html
  format
  - Test-set extended
  - Full set of procs as envisioned for the package


tkt_uuid: 1765388fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: nmea
priority: 5 Medium
foundin: None
title: nmea library; undefined variable error in ::nmea::read_port
cmimetype: text/plain
submitter: paul_moir
assignee: afaupell
closer: afaupell
closedate: 2007-08-16T17:49:50
comment:
  In the library modules/nmea/nmea.tcl the procedure read_port is as follows:

  proc ::nmea::read_port {f} {
      set line [gets $f]
      if {$::nmea::nmea(log) != ""} {
          puts $nmea(log) $line
      }
      ::nmea::parse_nmea $line
  }

  When logging is turned on this fails with an "unknown variable $nmea(log)" since nmea is undefined. I believe it should read:

  proc ::nmea::read_port {f} {
      variable nmea
      set line [gets $f]
      if {$::nmea::nmea(log) != ""} {
          puts $nmea(log) $line
      }
      ::nmea::parse_nmea $line
  }

  I hope this is correct. Thank you for your time!


tkt_uuid: 2935339fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftpd
priority: 5 Medium
foundin: None
title: ::ftpd::config not idempotent
cmimetype: text/plain
submitter: keithv
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2010-01-20T18:16:25
comment:
  Calling ::ftpd::config a subsequent time with a different option resets all previously set options. The problem is is that it uses cmdline::getoptions but supplies the application defaults for unspecified options instead of current values.

  Example:
   ::ftpd::config -authUsrCmd myAuthUsrCmd
   ::ftpd::config -logCmd myLogCmd 
  ==> the authUsrCmd has been reset


tkt_uuid: 1377453fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: Key bindings problems on Windows
cmimetype: text/plain
submitter: nobody
assignee: wildcard_25
closer: wildcard_25
closedate: 2006-02-03T17:23:04
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: 688965ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: fileutil
priority: 5 Medium
foundin: None
title: better -? help for fileutil::touch
cmimetype: text/plain
submitter: glennjnn
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-03-25T05:25:15
comment:
  the cmdline::getoptions help is a bit bull-headed about
  displaying argv0.  This isn't great for using
  getoptions internally for procs.

  Nevertheless, the fileutil::touch proc could be
  modified to look better

  Now, it looks like:
  $ echo 'package req fileutil; fileutil::touch
  -help'|tclsh
  tclsh options:
   -a                   set the atime only
  ...

  ("tclsh options:"??)

  The attached diff provides:
  $ echo 'package req fileutil; fileutil::touch
  -help'|tclsh
  tclsh : fileutil::touch [options] filename ...
  options:
   -a                   set the atime only
  ...


tkt_uuid: 1187273fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: app: tkchat
priority: 5 Medium
foundin: None
title: Restore window to same state after minimising to icon
cmimetype: text/plain
submitter: wildcard_25
assignee: patthoyts
closer: patthoyts
closedate: 2005-04-24T23:41:10
comment:
  Currently, if is chat window is zoomed and is 
  minimised to the system tray, when it is deiconified 
  it reappears in normal state instead of zoomed.
  This patch allows it to be restored to zoomed state.


tkt_uuid: 1195267fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: mime
priority: 5 Medium
foundin: None
title: initializing multipart files too slow
cmimetype: text/plain
submitter: jaspert
assignee: mrose
closer: patthoyts
closedate: 2006-11-06T22:18:24
comment:
  This problem occurs with WinXP and TclTk 8.5a2

  The attached multi-part MIME file of about 1.3MB
  initializes in under 1 second with TclTk 8.4.9, or on
  Linux, but takes around 8 seconds to initialize with
  WinXP and TclTk 8.5a2

  Single-part MIME files are very much faster, even much
  larger ones

  This could be a clue: a similar problem happened in
  older versions of Tcl under Windows if the 'encoding'
  directory were not present under lib/tcl8.x -- but in
  8.5 wish crashes on startup if the 'encoding' directory
  is not present so I cannot test the effect of this


tkt_uuid: 1472763fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget ComboBox bug: Parent namespace does not exist
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: dev_null42a
closedate: 2006-09-27T00:47:26
comment:
  I am using Tcl 8.4.12.0 in a quite large application. 
  In the application, BWidgets, among other packages is 
  used. I use the BWidgets ComboBox in several places of 
  the GUI, but encounters problems with one of them. The 
  ActiveState Support crew recommended me to sent the 
  report here after unsuccesfully trying to solve the 
  problem.

  A script combofail.tcl is attached to this failure 
  report.

  Best regards,
  Anders Nyman


tkt_uuid: 462015ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Rejected
subsystem: fileutil
priority: 8
foundin: None
title: find names not prefixed with pwd
cmimetype: text/plain
submitter: davidw
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-05-15T17:00:35
comment:
  @ashland [~/download/tcl] $ find |less
  .
  ./CVS
  ./CVS/Root
  ./CVS/Repository
  ./CVS/Entries
  ./compat
  ./compat/CVS
  ./compat/CVS/Root

  @ashland [~/download/tcl] $ find `pwd` |less

  /home/davidw/download/tcl
  /home/davidw/download/tcl/CVS
  /home/davidw/download/tcl/CVS/Root
  /home/davidw/download/tcl/CVS/Repository
  /home/davidw/download/tcl/CVS/Entries
  /home/davidw/download/tcl/compat
  /home/davidw/download/tcl/compat/CVS
  /home/davidw/download/tcl/compat/CVS/Root

  tcllib's find does not exhibit this behaviour - it
  *always* prefixes [pwd] to the results.


tkt_uuid: 928995ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: inifile
priority: 5 Medium
foundin: None
title: modules/inifile/test.ini ships read-only
cmimetype: text/plain
submitter: kot
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-05-04T19:13:02
comment:
  The file is extracted read-only, but the test script tries to open it 
  read-write (default). 
   
  I think, the default should change to read-only. chmod-ing the 
  file after extraction provides a workaround for the FreeBSD port. 
   


tkt_uuid: 1663970fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
title: Submitting code for multivar linear regression
cmimetype: text/plain
submitter: erickb
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2007-05-08T07:07:33
comment:
  Hi,

  I have written some code for carrying out multivariate linear regressions. I think it would be a good candidate for tcllib's math::statistics module, and when I posted a version of it to the tcler's wiki, I was asked (by AM & LV) to submit it here.

  I'm attaching a zip file with the following contents:

   - mvlinreg.tcl : The code for the package
   - pkgIndex.tcl : A basic pkgIndex for the submitted code to work as its own package
   - mvlinreg_test.tcl : A single example that exercises the code in a "main path" way (no exceptions are tested)
   - mvlr.man.txt : A simple man page in plain text format (no *roff)

  Some comments:
   - Although I don't offer a test for the wls function directly (it's tested indirectly since it's called from the ols procedure), I've tested it as part of the SWLS code that I posted on the Tcler's wiki, and reproduced published results.
   - For the example included in the zip file, I compared the output from the example against the output for the same data using Excel's "LINEST" function and they match.
   - I'm submitting this using the BSD license, on the understanding that that is the license used for tcllib. But the main point is not BSD - I want to submit the code under a license that is compatible with it being used in tcllib, so let me know if BSD isn't the right choice.

  Thanks!
  Eric


tkt_uuid: 3317772fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ListBox does not allow scrolling to last line on Windows 7
cmimetype: text/plain
submitter: zoro2
assignee: oehhar
closer: oehhar
closedate: 2011-06-24T09:25:31
comment:
  Hi,

  Example below shows the issue:

  catch {destroy .x}
  toplevel .x
  ScrolledWindow .x.w
  pack .x.w -fill both -expand 1
  ListBox .x.w.l -deltay 25
  wm geometry .x 400x169
  for {set i 0} {$i < 10} {incr i} {
      .x.w.l insert end i$i -text TEST$i
  }
  .x.w setwidget .x.w.l

  When using scrollbar, you can't scroll down to see entire last entry. Works fine on Linux, not sure about other platforms.


tkt_uuid: 1688650fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: grammar_peg
priority: 5 Medium
foundin: None
title: latest docs not installing
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2007-03-26T18:45:45
comment:
  when I attempt to install the latest tcllib docs, I get:
  Generating /projects/sprs_lwv/tcl85/man/mann/peg.n
  Doctools Error in macro at line 728, column 0:
  [section {BUGS, IDEAS, FEEDBACK...]
  --> (FmtError) Manpage error (nolistcmd), "section BUGS, IDEAS, FEEDBACK" : Comm
  and not allowed inside of a list.
      while executing
  "::doctools::_format dt \[comment\ \{-*-\ tcl\ -*-\ doctools\ manpage\}\]\n\[man
  page_begin\ grammar::peg\ n\ 0.1\]\n\[copyright\ \{2005\ Andreas\ Kupri..."
      ("eval" body line 1)
      invoked from within
  "eval [list ::doctools::_$cmd $name] $args"
      (procedure "::doctools::DoctoolsProc" line 15)
      invoked from within
  "dt format [get_input $f]"
      (procedure "_man" line 26)
      invoked from within
  "_man grammar_peg nroff n /projects/sprs_lwv/tcl85/man/mann"
      ("eval" body line 1)
      invoked from within
  "eval $guide($m,$type) $m $args"
      (procedure "xinstall" line 4)
      invoked from within
  "xinstall doc nroff n    $config(doc,nroff,path)"
      (procedure "doinstall" line 19)
      invoked from within
  "doinstall"
      (procedure "main" line 11)
      invoked from within
  "main"
      (file "../installer.tcl" line 594)
  gmake: *** [install] Error 1


tkt_uuid: 1896363fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: irc
priority: 5 Medium
foundin: None
title: irc::destroy mentioned in man page doesn't exist
cmimetype: text/plain
submitter: mpc_janssen
assignee: afaupell
closer: afaupell
closedate: 2009-10-15T19:18:56
comment:
  The manual page refers to ::irc::destroy to cleanup a connection. That command doesn't exist, it is [$conn destroy] instead


tkt_uuid: 1588808fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Combobox autocomplete won't turn on/off
cmimetype: text/plain
submitter: daiei27
assignee: damonc
closer: dev_null42a
closedate: 2006-11-10T21:57:29
comment:
  ## Bug info
  I'm making a tool that has a combobox.  I tried adding
  an option to allow the user to turn autocomplete
  on/off, but it doesn't seem to be configurable after
  it's been created.  (Using Tcl/Tk 8.4.13 with BWidget 1.8)

  The tool does this via the '$path configure
  -autocomplete $value' command, where $path is obviously
  to the combobox and $value is 0 or 1. Doing a cget
  shows the value is changing, but the functionality of
  autocomplete never changes.

  ## Patch info
  I decided to take a peek into the code and found it was
  easy to add.  While testing, I found autopost suffered
  from the same problem so I added it as well.  I'm
  attaching the patch to enable/disable both with the
  configure command.

  The patch was made from combobox.tcl in BWidget 1.8.0.
   Unless there is reason not to, I would appreciate it
  if you would incorporate this patch to make
  autocomplete/autopost configurable.

  HTH,
  Chris


tkt_uuid: 2646568fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: jpeg
priority: 5 Medium
foundin: None
title: jpeg::imageInfo opens files with r+
cmimetype: text/plain
submitter: kot
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2009-03-02T18:39:03
comment:
  The procedure never needs to write the file -- and really ought not to, of course.

  So, it is wrong for it to open the file with mode r+ -- doing so requires increased permissions (a program is unable to gather imageInfo on a file, that it is not allowed to overwrite), and is otherwise wrong.

  The simple patch is attached -- it will soon be part of FreeBSD's devel/tcllib port.

  Thanks.


tkt_uuid: 726275ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: general request
priority: 3 Low
foundin: None
title: distinguish tcllib man pages from other packages
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
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: 2800387fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
title: struct::graph:op::{kruskal,prim}
cmimetype: text/plain
submitter: lars_h
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2009-09-24T16:50:33
comment:
  The documentation for these commands should state their complexities, as that is the primary factor for choosing one or the other.

  I would also prefer it if the phrase "minimum spanning tree" was replaced by "minimum weight spanning tree", as that better highlights the dependence on this factor. The abbreviation MST is fine, however.

  Finally, it should be pointed out that returning only the arcs means all 1-vertex components are missing from the forest computed. This is not so likely to be an issue in real life, but the documentation is making a claim which is false in that situation.


tkt_uuid: 1165534fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Listbox bug, a non-stop loop cause the shaking of the widge
cmimetype: text/plain
submitter: pharmatcl
assignee: damonc
closer: oehhar
closedate: 2009-06-30T14:22:59
comment:
  Following is a test code, please run it and your will
  see a ScrolledWindow shaking. 

  Before you run it, please make sure that "CP: 555  *
  AAA-I am shaking wildly 10mm dia:  59.5 mm" is in a
  single line. The length of the list item name really
  matters.

  ######### test code starts ######################
  set bwidget_path *YOUR BWIDGET PATH HERE*
  lappend auto_path $bwidget_path
  package require BWidget
                                                        
                           
  toplevel  .shaking
                                                        
                           
  set f [frame .shaking.butF]
                                                        
                           
  set sw [ScrolledWindow $f.sw -auto both\
              -relief sunken -borderwidth 2]
                                                        
                           
  set marksList [ListBox $f.lb -relief flat -borderwidth 0 \
                  -padx 0 -height 8 -width 40 -bg white]
                                                        
                           
  $sw setwidget $marksList
                                                        
                           
  grid $sw -row 0 -column 0 -columnspan 6 -pady 0 -padx 2m
                                                        
                           
  $marksList insert end 1 -text "1"
  $marksList insert end 2 -text "2"
  $marksList insert end 3 -text "3"
  $marksList insert end 4 -text "CP: 555  * AAA-I am
  shaking wildly 10mm dia:  59.5 mm"
  # make sure that "CP: 555  * AAA-I am shaking wildly
  10mm dia:  59.5 mm" is a single line
  $marksList insert end 5 -text "5"
  $marksList insert end 6 -text "6"
  $marksList insert end 7 -text "7"
  $marksList insert end 8 -text "8"
                                                        
                           
  pack $f       
  #### test code ends #################################

  #### test environment ################################
  If you run it by wish8.3, no problme at all, 
  if you run it by wish8.4, you got  a shaking widget.

  My testing environment:
        1. Redhat Linux  2.4.21-9.ELsmp
        2. BWidget-1.7.0, tcl 8.4, and tk 8.4
        3. Default font

  #### Code analysis ##################################
  Bwidget induces an endless loop through a "bind" command.
  (In Bwidget-1.7.0),
  In line 105 of listbox.tcl:
    bind ListBox <Configure> [list ListBox::_resize  %W]

  In proc ListBox::_resize, line 1139 of listbox.tcl:
  it call _update_scrollregion :

      } else {
          if {[Widget::cget $path -selectfill]} {
              _update_select_fill $path
          }
          _update_scrollregion $path # this line triggers
  an endless loop
      }

  In proc ListBox::_update_scrollregion, line 918 of
  listbox.tcl
    it call $path.c configure -scrollregion [list 0 0 $w $h] 
    This triggers ListBox <Configure> event and call
  _resize again, forming a loop.

  If you put in "puts " commands in _resize and
  _update_scrollregion
  you will see _resize and _update_scrollregion called
  alternatively
   
  Removing line 1139, "_update_scrollregion $path",
  dismantles the shaking. 


tkt_uuid: 951568ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: smtp
priority: 9 Immediate
foundin: None
title: Problems sending long messages.
cmimetype: text/plain
submitter: patthoyts
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-05-13T07:02:21
comment:
  From Peter Campbell on comp.lang.tcl
  Message-ID: <DSSnc.1164$FN.128726@news02.tsnz.net>

  I have done some more debugging and found the problem
  to be with the "Trf"
  package, an incompatibility. The transform function of
  the "trf" package
  sends back a command "query/ratio" which the
  "smtp::wdata" function does not
  know - this returns the error.

  I included some debugging information in the mime
  package to delve deeper
  into the code and find the original error messages,
  rather than the message
  as reported by the application.

  By editing "smtp.tcl" and removing the usage of Trf the
  sending of the email
  works.
  ie: remove the trf line at the top, so create our own
  transform procedure.
  smtp.tcl; line 37:
  if {[catch {package require Trf  2.0}]} {
      # Trf is not available, but we can live without it
  as long as the
      # transform and unstack procs are defined.

      # Warning!
      # This is a fragile emulation of the more general
  calling sequence
      # that appears to work with this code here.

      proc transform {args} {
   upvar state mystate
   set mystate(size) 1
      }
      proc unstack {channel} {
          # do nothing
          return
      }
      set ::smtp::trf 0
  }

  The following is the output from my debugging:



  The following is the output from my debugging:

  (Desktop) 11 % smtp::sendmessage $multiT -servers [list
  {localhost}] -debug
  1 \
  >  -header [list From "<pc@acs.co.nz>"] \
  >  -header [list To pc@acs.co.nz] \
  >  -header [list Subject "Invoice TEST"]
  Trying localhost...
  <-- 220 hermes.acs.co.nz ESMTP Sendmail 8.11.6/8.11.6;
  Tue, 11 May 2004
  09:39:31 +1200
  --> EHLO localhost (wait upto 300 seconds)
  <-- 250-hermes.acs.co.nz Hello dhcp67.acs.co.nz
  [192.168.100.67], pleased to
  meet you
  <-- 250-ENHANCEDSTATUSCODES
  <-- 250-8BITMIME
  <-- 250-SIZE
  <-- 250-DSN
  <-- 250-ONEX
  <-- 250-ETRN
  <-- 250-XUSR
  <-- 250 HELP
  --> ONEX (wait upto 300 seconds)
  <-- 250 2.0.0 Only one transaction
  --> MAIL FROM:<pc@acs.co.nz> (wait upto 600 seconds)
  <-- 250 2.1.0 <pc@acs.co.nz>... Sender ok
  --> RCPT TO:<pc@acs.co.nz> (wait upto 3600 seconds)
  <-- 250 2.1.5 <pc@acs.co.nz>... Recipient ok
  --> DATA (wait upto 300 seconds)
  <-- 354 Enter mail, end with "." on a line by itself
  result =
  ecode = NONE
  einfo = Unknown command "query/ratio"
      while executing
  "error "Unknown command \"$command\"""
      ("default" arm line 2)
      invoked from within
  "switch -- $command {
   create/read
       -
          create/write
              -
          clear/write
              -
          delete/write {
              set s..."
      (procedure "::smtp::wdata" line 6)
      invoked from within
  "::smtp::wdata ::smtp::1 query/ratio {}"


  I am sure the correct way to solve this problem is to
  update the
  "smtp::wdata" procedure to handle the "query/ratio"
  command (and any others
  that the Trf package provides).

  Plus enhance the flow of error messages within the
  mime/smtp package so the
  original error information is not lost.


tkt_uuid: 2220156fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: snit
priority: 5 Medium
foundin: None
title: Several questions about Snit objects
cmimetype: text/plain
submitter: arjenmarkus
assignee: duquette
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: 839066ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: bwidget - Binding for whole Tree Area
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: dev_null42a
closedate: 2006-09-28T15:50:08
comment:
  I'm using BWidgets for creating a user interface for a
  test system.
  Among other things this user interfaces shows and
  handles data presented as a tree (which I have realized
  by BWidgets). By this I have to be able to show a
  context menu when the mouse is clicked upon the
  BWidgets tree. This means I need a binding not only for
  the text or the image of a node but for the entire tree
  area.

  I made a litte enhancement in the module tree.tcl which
  offers me the command
      $tree bindArea $event $script

  I added the following lines:
  15d14
  < #     - Tree::bindArea
  443,448d441
  < #
  ----------------------------------------------------------------------------
  < #  Command Tree::bindArea (added by MHO - Sigos GmbH)
  < #
  ----------------------------------------------------------------------------
  < proc Tree::bindArea { path event script } {
  <   bind $path.c $event $script
  < }


  I think this enhancement is useful for all users of
  BWidgets and therefore I would be encouraged, if you
  could take this enhancement over into the next version
  of BWidgets.

  Best regards
  Monika Holzammer

  E-Mail: Monika.Holzammer@sigos.de


tkt_uuid: 1695145fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: doctools
priority: 2
foundin: None
title: doctools - General tree representation as backend API
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
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: 708502ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: struct
priority: 7 High
foundin: None
title: Longest common subsequence of two lists
cmimetype: text/plain
submitter: kennykb
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-04-02T07:48:39
comment:
  The core of a differential file comparison program,
  such as Unix 'diff', is the ability to compute or
  approximate the longest common subsequence
  of two lists. In response to requests from Pascal
  Scheffers and Jean-Claude Wippler for a pure-Tcl
  'diff' for wikit, I've developed Tcl code that implements
  the Hunt-McIlroy algorithm for longest common
  subsequence.

  It strikes me that this fits the [chart of proposed
  additional list functionality] that Andreas has
  placed on the Wiki, and that a natural place to
  put it in Tcllib would be as

       [::struct::list lcs $list1 $list2]

  But of course, we don't have the ::struct::list
  command yet, so I've no framework in which to
  fit this.

  I'm attaching source code, test suite, and a
  draft manual page for the comparison code
  to this article for your review.  I'm presuming
  that it should fit nicely with feature request
  # 577055. But I think that Andreas should
  review it and commit if he approves, since he
  seems to be the leader for this functionality.


tkt_uuid: 607085ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: struct
priority: 8
foundin: None
title: priority queue
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-04-15T22:02:20
comment:
  Hi, simple priority queue implementation.

  Not perfect and missing docs (and more tests, as always).


tkt_uuid: 753170ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ScrolledWindow hang
cmimetype: text/plain
submitter: jaspert
assignee: hobbs
closer: jaspert
closedate: 2003-06-16T09:23:19
comment:
  A dialogue box that works OK with a frame causes a hang
  when it is replaced by a ScrolledWindow -- sorry there
  is so much stuff in the attached example file but I
  couldn't get the hang to happen with just the
  ScrolledWindow on its own

  [jaspert@spirograph Run]$ uname -r
  2.4.20-8
  [jaspert@spirograph Run]$ /usr/local/ActiveTcl/bin/wish
  % info patchlevel
  8.4.3
  % package require BWidget
  1.6
  % source disag.tcl
  % Disaggregate .mswindow00001.canvas {Desktop} white
  generated 1.0 {} Default {} {} 0 0 0

  <at this point it is hung>


tkt_uuid: 533788ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: bwidget
priority: 5 Medium
foundin: None
title: bwidget include synonym problem?
cmimetype: text/plain
submitter: nobody
assignee: hobbs
closer: hobbs
closedate: 2002-06-04T21:05:57
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: 2886893fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: ldap
priority: 5 Medium
severity: Minor
foundin: None
title: fix documentation for ldapx's ldap class
cmimetype: text/plain
submitter: cmay
assignee: schlenk
comment:
  ldapx's ldap class documentation contains two errors showing "::ldapx::ldap create" when it should be "::ldapx::entry create".  Patch attached.


tkt_uuid: 1886636fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: snit
priority: 6
foundin: None
title: [clock] inside snit::widgetadaptor
cmimetype: text/plain
submitter: nobody
assignee: duquette
comment:
  In Tcl 8.5.0 with snit 2.2.1:

  ----
  package require snit
  snit::widgetadaptor sframe {
  option -foo[clock format [clock seconds] -format "%Y"]
  constructor {args} { installhull using frame }
  }
  ----

  Produces:
  ----
  invalid command name "::tcl::clock::format"
  ----


tkt_uuid: 2962077fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: tklib :: ipentry
priority: 5 Medium
severity: Minor
foundin: None
title: error if an array element is used as -textvariable
cmimetype: text/plain
submitter: wtschueller
assignee: afaupell
closer: aku
closedate: 2456444.39381481
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: 1532791fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: snit
priority: 5 Medium
foundin: None
title: snit2, snit::widget problem
cmimetype: text/plain
submitter: andreas_kupries
assignee: duquette
closer: duquette
closedate: 2006-08-16T02:05:36
comment:
  When using 'variable' to define components snit 2.0 has
  a problem if the component has delegates set on it, and
  the delegates are defined before the component.

  When trying to create an instance snit crashes with the
  attached stacktrace.

  The reason is that the 'variable' statement coming
  after the delegation cause snit to insert assignments
  to the relevant instance variables, after the delegates
  have set up traces. The trace is triggered, and comes
  ultimatively to RT.ClearInstanceCaches, which accesses
  the internal Snit_instance variable. At a time when
  this variable is not defined yet. This happens a few
  lines later, via installhull.

  The relevant lines in snit2.tcl are 1906, which runs
  the assignments triggering the trace accessing the
  variable, and 1922, where the variable is defined.

  Workarounds for this problem are to either move the
  'variable' declarations before the delegation setup, or
  to use the 'component' command. The latter apparently
  has additional intelligence about delegation which
  prevents it from inserting the additional assignments
  into the generated Snit_instanceVars hook procedure.


tkt_uuid: 1102131fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: log
priority: 8
foundin: None
title: logger: does not print full service name
cmimetype: text/plain
submitter: hemanglavana
assignee: mic42
closer: mic42
closedate: 2005-02-09T17:05:53
comment:
  Hi,

  If I create a logger service name called "foo::bar", it
  simply prints "foo" in the log message instead of the
  full service name. See below:

  godel:144> cat foobar.tcl
  #!/bin/sh
  # \
  exec tclsh "$0" ${1+"$@"}


  package require logger

  namespace eval ::foo {

      namespace export {[a-z]*} ;# export all commands
  begining with lower case.
      variable _foo             ;# array containing foo
  runtime globals

      set log [logger::init foo]
      logger::import -all -namespace log foo
      log::setlevel notice
      puts "foo level = [log::currentloglevel]"

  }

  namespace eval ::foo::bar {

      set log [logger::init foo::bar]
      logger::import -all -namespace log foo::bar
      log::setlevel info
      puts "foo::bar level = [log::currentloglevel]"

  }

  proc ::foo::x args {
      log::warn   "foo::x warn"
      log::debug  "foo::x debug"
  }
  proc ::foo::bar::y args {
      log::warn   "foo::bar::y warn"
      log::info   "foo::bar::y info"
      log::debug  "foo::bar::y debug"
  }

  ::foo::x
  ::foo::bar::y

  godel:145> tclsh foobar.tcl
  foo level = notice
  foo::bar level = info
  [Fri Jan 14 01:47:04 EST 2005] [foo] [warn] 'foo::x warn'
  [Fri Jan 14 01:47:04 EST 2005] [foo] [warn]
  'foo::bar::y warn'
  [Fri Jan 14 01:47:04 EST 2005] [foo] [info]
  'foo::bar::y info'
  godel:146> 

  I would have expected the above output to be as follows:

  [Fri Jan 14 01:47:04 EST 2005] [foo] [warn] 'foo::x warn'
  [Fri Jan 14 01:47:04 EST 2005] [foo::bar] [warn]
  'foo::bar::y warn'
  [Fri Jan 14 01:47:04 EST 2005] [foo::bar] [info]
  'foo::bar::y info'

  Without full service name, it is difficult to
  distinguish/debug as to which module the message is
  comming from.

  Hemang.


tkt_uuid: 1545931fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: ldap
priority: 5 Medium
foundin: None
title: A proposal for "ldapx", a new package
cmimetype: text/plain
submitter: pdav
assignee: mic42
closer: mic42
closedate: 2006-09-08T22:00:15
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: 1416743fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: fileutil :: magic
priority: 5 Medium
foundin: None
title: fumagic: test suite bugs
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-29T05:59:28
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: 1254934fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: mime
priority: 7 High
foundin: None
title: mime - Extra line feed removed from output
cmimetype: text/plain
submitter: erl
assignee: patthoyts
closer: andreas_kupries
closedate: 2006-10-03T16:30:27
comment:
  The following patch fixed a problem with extra line
  feeds in mime attachments in code to upload binary
  files to a web page. I imagine that the extra line feed
  is not noticed with text files.

  A line feed is output before the border, making this
  line-feed unneccessary. 

  This problem is mentioned on http://wiki.tcl.tk/13675

  I have only tested the fix with my code - it should be
  tested to verify that it does not cause problems in
  other situations.

  The patch file is generated with cvs diff -u, I hope
  that's ok (I wasn't sure what the standard way of doing
  this was.


tkt_uuid: 1061207fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: Tcl 8.5a2 breaks test suite
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-26T23:35:47
comment:
  the syntax of the "wrong # args"
  error message recently changed
  in Tcl, and as a consequence,
  `make test` for tcllib has
  56 failing tests.


tkt_uuid: 1557268fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: html
priority: 5 Medium
foundin: None
title: TABLE tag case
cmimetype: text/plain
submitter: sigzero
assignee: welch
closer: mic42
closedate: 2006-09-12T17:13:32
comment:
  This is a minor but easy thing. In looking through the
  html package there are a couple instances where the
  table tag is being passed back in UPPERCASE when it
  should all come back in lowercase.

  Look into the following procs:

  ::html::tableFromArray
  ::html::tableFromList

  As far as I can tell everything else is passed back as
  lowercase.


tkt_uuid: 2018141fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: ldap
priority: 5 Medium
foundin: None
title: Reimpl. of search filter strings parsing/encoding
cmimetype: text/plain
submitter: flatworm
assignee: loewerj
closer: mic42
closedate: 2008-07-20T19:52:43
comment:
  This patch reimplements parsing and encoding of search filter strings, namely:
  * Implemented proper syntax parsing using regexps only when really applicable. The parser appears to be enough robust for errors in filter specifications.
  * Options in attribute descriptions are now permitted (but not used, see below).
  * Implemented full support for extensible match rules.

  Test suite with pretty complete coverage for this code is also provided.

  Other changes include:
  * Removed artifical restriction of permitted types of search result PDUs: this removes module misbehaving when presented with a PDU tagged with apptype 19 (search continuation).
  * Fixed RFC number in leading commend in ldap.tcl.
  * Added Vim modelines to ldap.tcl and ldap.test to force braindamaged indentation mode used in these files.

  This patch should fix bugs 1751871 and 1852718.

  The ldap module with this patch applied works for me against Windows Server 2003 LDAP directory.

  Note on options: while LDAP RFCs mention one standard attribute description option "binary" which requires special encoding when transmitting associated attribute values, I failed to understand both its applicability to client requests and whether its usage has any sense in search representation of filter strings. So the proposed implementation parses it, but does nothing besides this.


tkt_uuid: 1492527fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Rejected
subsystem: bwidget
priority: 5 Medium
foundin: None
title: bwidget - Dialog uses tk_messageBox: frozen gui.
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: oehhar
closedate: 2009-06-29T14:15:34
comment:
  Executing the attached code on wish from ActiveState 8.
  4.[11,13] results
  on an unresponsive gui when the user does something of 
  this:

  * click the Dialog's button labeled as "click me!". 
  Then click the ok
    button on the messagebox. [Win2KSP4, ActiveState Tcl/
  Tk 8.4.11].

  * click the dialog's button labeled as "click me!", 
  then click the
    Dialog's title bar, the click the Ok button on the
    messagebox. [WinXPSP2, ActiveState Tcl/Tk 8.4.13].

  * click the dialog's button labeled as "click me!", the 
  click the Ok
    button on the messagebox, click again the "click me!" 
  button, click
    again the messagebox Ok button [WinXPSP2, ActiveState 
  Tcl/Tk 8.4.13].

  The OS/Tcl version combination is just the setup 
  available to
  me. Nothing beyond that was tested.


tkt_uuid: 1913502fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: log
priority: 5 Medium
foundin: None
title: Suppression level Enhancement
cmimetype: text/plain
submitter: mocallins
assignee: mic42
comment:
  I've worked as a scripter the last couple of years doing network testing with TCL. And 1 thing that has come up in at least the last 2 places that I've had work, is the use of the tcllib's log package.

  The enhancement I'd like to see would be levels of suppression for any of the current levels defined.

  What we've all really wanted is levels of debug logging, but after thinking about it some why not just make the change for all of the different levels.

  We can still maintain the use of the idea of suppression but extend it some so that we can have additional levels of suppression for each logLevel (which for sake of discussion would be more appropriately defined as a category).

  Currently we have suppression defined as 0|1, on or off for any particular "category"  info,debug,alert....

  What I would like to see is say have a maximum suppression level of say 5.

  Which I would leave to your capable hands of determining if we change the definition of suppression or just learn what a suppresion level means.

  So we'd have suppression levels of say 0-5 with 0 meaning no suppression and everything less than the level number passed would be suppressed, or the other way around that everything less than the suppression level is suppressed and everything greater is logged.

  The major change to the package would be that the log::log command would require this additional parameter to be passed in. So now we'd have "log::log logLevel suppLevel msg"

  Currently you can just use the different logLevels but the name that gets tagged on the message tends to be misleading. I still only want certain info messages to be displayed at say production run time, but when I'm debugging or developing I'd want addtional "info" messages and not have to use another level like "alert". I'd like the logLevel to still be indicative of the severity of what I am logging.

  So like I said I think a lot of testers would really like levels of debug logging, but if were going to enhance then just lets just have levels of logging for all the current logLevels.


tkt_uuid: 1752755fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: An error dialog pops up while ListBox is resizing
cmimetype: text/plain
submitter: legolas_a20
assignee: damonc
closer: oehhar
closedate: 2009-06-10T08:49:08
comment:
  (See also discussion at http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/97c4892c68312e6b/1b31a8239ee3d4cd?lnk=raot#1b31a8239ee3d4cd , although the initial ideas at what went wrong were wrong).

  Run the attached file, click the button and you'll get this error dialog:
  ----------------------------
  unknown widget .sw.lb.a1
  unknown widget .sw.lb.a1
      while executing
  "Widget::cget $path $option"
      (procedure "Widget::getoption" line 6)
      invoked from within
  "Widget::getoption $path.$item $option"
      (procedure "_getoption" line 2)
      invoked from within
  "_getoption $path $item -foreground"
      (procedure "_redraw_selection" line 11)
      invoked from within
  "_redraw_selection $path"
      (procedure "_update_select_fill" line 13)
      invoked from within
  "_update_select_fill $path"
      (procedure "ListBox::_resize" line 27)
      invoked from within
  "ListBox::_resize .sw.lb"
      (command bound to event)
  ----------------------------

  Note that the whole callstack is inside BWidget's ListBox class.

  I'm running "ActiveState ActiveTcl 8.4.14.0.272572   Nov 26, 2006", according to the readme and the software. This contains BWidget 1.8. I'm on Windows XP SP2.) 

  Something appears to be going wrong while resizing, but only if the -selectfill true option is set, I think only if the ListBox is inside a ScrollWindow. At the time of the resize, I can see the scrollbars pop up and immediatly disappear again(indeed they are not needed at all in this case).

  As a bonus bug(?): it is not possible to add items whose name contains :: or ends in : . From the errors, it seems like this is because the name passed in is directly used as a variable name.

  As noted in the newsgroup, the bug can be worked around by not causing the resize at that point in the code, although I have no idea why. The solution in the newsgroup (after 1 [list .b configure -text "[.b cget -text]aaaa"] ) doesn't always work, after 5 ... does seem to work, and for my own code, I have inserted an 'update idletasks' in between changing the listbox contents and the change to the other widgets (those changes then cause the resize).


tkt_uuid: 970199ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: MessageDlg::create Bug and Fix
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: dev_null42a
closedate: 2006-09-28T15:48:10
comment:
  BUG:

  The dialog type abortretryignore has no default button.

  In the demo this results in a tcl-error:

  bad -default value "": must be abort, retry, ignore, ok, 
  cancel, no, or yes
      while executing
  "tk_messageBox -icon info -default {} -message 
  {Message for MessageBox} -type abortretryignore -title 
  Information -parent ."
      ("eval" body line 1)
      invoked from within
  "eval [list tk_messageBox] [array get tkMBoxArgs]"
      (procedure "MessageDlg::create" line 81)
      invoked from within

  ... (further is uninteresting)


  FIX:

  add a default button even for type abortretryignore:
  (line 56 and 57 in messagedlg.tcl):

      switch -- $type {
          abortretryignore {set lbut {abort retry ignore}; 
  set defb 0 }

  regards
  Vera


tkt_uuid: 3440115fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: pki
priority: 5 Medium
foundin: None
title: Unknown hashing algorithm: unknown
cmimetype: text/plain
assignee: rkeene
closer: rkeene
closedate: 2012-02-19T02:04:15
comment:
  Using pki package contained in tcllit1.14RC0, there comes a problem (not always) after generating a rsa key pair (2048) when singing a request certificate, and it throws that error mentioned in the summary.  Same situation happen with 1.13.

  However, using the additions I posted in "Feature request" with id 3440058, which allows me to convert a generated key set to pem and write it in disk, I can generate a key, convert it to pem, and parse it again and the problem does not happen.

  I wrote a test case code fully explained attached in this report

  Regards,

  -=Raul=-


tkt_uuid: 948063ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: MenuFrame: no 'getmenustate' method
cmimetype: text/plain
submitter: pointsman
assignee: damonc
closer: oehhar
closedate: 2009-07-01T07:43:32
comment:
  Apparently, there is not way, to query the state of a
  menu tag.

  The state of menu tags could be set with:

  $mainframe setmenustate tag state

  I would be very handy, to be able to query the state of
  a tag. Something like a getmenustate method with syntax
  like

  $mainframe getmenustate tag

  returning the state. Or enhanced setmenustate syntax

  $mainframe setmenustate tag ?state?

  If the optional new state is omitted, then the current
  state of the tag is returned. (And emtpy string for not
  knows tags? Or error? Curently,  setmenustate simply
  ignores unknown tags - which shuld be mentioned in the
  documentation.)

  The current setmenustate implementation in
  mainframe.tcl still includes the old tag state
  mechanism commented out. I agree, that the current
  state system is better. Shouldn't this code be removed?

  The documentation should mention at one place, that
  only state "disabled" disables the tag and that every
  other state enables it.


tkt_uuid: 567326ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 8
foundin: None
title: install.tcl script fails
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-04-21T18:32:07
comment:
  Platform: SPARC Solaris 2.6
  Tcl / Tk 8.4a5
  tcllib-20020610.tar.gz from ftp.activestate.com

  When attempting to make use of the new install.tcl
  script, I get
  this error:
  $ ./install.tcl
  /usr/tcl84/bin/tclsh ...
  Tcl script library at      /usr/tcl84/lib/tcl8.4
  Installing Tcllib 1.3 into /usr/tcl84/lib/tcllib1.3
  error copying "pkgIndex.tcl": no such file or directory
      while executing
  "file copy pkgIndex.tcl $installdir"
      (file "./install.tcl" line 30)

  Also, the INSTALL.txt file mentions an install.sh and
  install.bat file which do not appear in the tar file.


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
cmimetype: text/plain
submitter: zoro2
assignee: patthoyts
closer: patthoyts
closedate: 2006-09-14T13:16:52
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: 438415ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: bwidget
priority: 5 Medium
foundin: None
title: bwidget leaves widget droppings...
cmimetype: text/plain
submitter: boakley
assignee: hobbs
closer: hobbs
closedate: 2002-01-22T23:41:31
comment:
  BWidget leaves "widget droppings" scattered about. 
  Witness the following session:

  % package require BWidget
  1.3.0
  % Entry .x
  .x
  % winfo children .
  .#BWidget#entry .#BWidget#button .#BWidget#label .#BWid
  getClass#DynamicHelp .x .#BWidgetClass#DragSite .#BWidg
  etClass#DropSite


  My, my. That's very untidy of bwidgets. At the very 
  least, these should all be children of a single 
  special frame to be a bit more manageable.

  FWIW, This problem cropped up during an interactive 
  session that went something like this (assuming the 
  above code has already been run):

  % eval destroy [winfo children .]
  % Entry .x
  .x
  % .x configure -relief groove
  invalid command name ".#BWidget#entry"


  Ouch! So, not only does it leave widget droppings 
  around, if you delete those widget droppings Bad 
  Things will happen. Assuming for the moment that 
  leaving these widgets around can't be avoided (which 
  is Bad, IMHO), the code should at least be prepared to 
  recreate them if they get deleted.


tkt_uuid: 891254ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: utils.tcl, place proc: does not place left or top
cmimetype: text/plain
submitter: rmaris
assignee: damonc
closer: rmaris
closedate: 2004-05-19T12:36:48
comment:
  BWidget V1.7 has very minor changes in the place proc 
  of utils.tcl (compared to V1.6).
  child windows will not display on top or to the left side of 
  the parent window. Probably coordinates run out of a 
  valid range.

  When I substitute the old place procedure within the 
  new utils.tcl, all works well.

  NOTE: the Activestate 8.4.5 distribution contails 
  BWidget V1.7, but the subdirectory under "lib" is still 
  named "bwidget1.6".


tkt_uuid: 2686560fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: crc
priority: 8
foundin: None
title: memleak in crc::cksum
cmimetype: text/plain
submitter: pedietz
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2009-04-21T20:08:25
comment:
  calling crc::cksum over and over causes a huge memleak.

  while { 1 } {
          set a [crc::cksum helloworld]
  }

  doing the same with crc::crc32 doesnt.


tkt_uuid: 1245508fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ntp
priority: 5 Medium
foundin: None
title: NTP handling wrong
cmimetype: text/plain
submitter: dkf
assignee: patthoyts
closer: patthoyts
closedate: 2005-08-18T12:04:42
comment:
  The handling of (s)ntp by the ntp package is wrong; you
  can't talk ntp (these days) over tcp and you certainly
  can't use 'abcd' as a request message!

  And the package claims to be the time package for
  [package require], despite being in the ntp dir within
  the distribution.


tkt_uuid: 3440045fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: pki
priority: 5 Medium
foundin: None
title: ::pki::x509::_list_to_dn invalid char
cmimetype: text/plain
assignee: rkeene
closer: rkeene
closedate: 2012-02-19T02:04:23
comment:
  here is another fix, may be is already considered

  proc ::pki::x509::_list_to_dn {name} {
  set ret ""
  foreach {oid_name value} $name {
  if {![regexp {[^ A-Za-z0-9'()+,.:/?=-]} $value]} {
  set avalue [::asn::asnPrintableString $value]
  } else {
  set avalue [::asn::asnUTF8String $value]
  }
  append ret [::asn::asnSet \
  [::asn::asnSequence \
  [::asn::asnObjectIdentifier [::pki::_oid_name_to_number $oid_name]] \
  $avalue \
  ] \
  ] \
  }

  return $ret
  }


tkt_uuid: 548233ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: ftp
priority: 5 Medium
foundin: None
title: more hpupdate bug reports
cmimetype: text/plain
submitter: lvirden
assignee: gwlester
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: 1511333fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: tar
priority: 5 Medium
foundin: None
title: tar: error in option handling
cmimetype: text/plain
submitter: exgerhardr
assignee: afaupell
closer: afaupell
closedate: 2006-06-29T23:20:51
comment:
  tar package does not work if using options due to a bug
  in proc ::tar::parseOpts.
  e.g. ::tar::untar archive.tar -file somefile

  The following diff does show this:
  +++++++++++++++++++++++++++++++++++
  26c26
  <             set flags [lrange $opts [expr {$i + 1}]
  [expr {$i + $flags($name)}]]
  ---
  >             set $name [lrange $opts [expr {$i + 1}]
  [expr {$i + $flags($name)}]]
  +++++++++++++++++++++++++++++++++++
  Or shorter: replace 'flags' by '$name' in line 26.

  I think this was present already in 1.7

  BTW: there's a wonderfull cmdline package, why not
  using this?

  Bye,
  Gerhard Reithofer


tkt_uuid: 476804ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: ftp
priority: 3 Low
foundin: None
title: geturl handlers in protocol packages
cmimetype: text/plain
submitter: patthoyts
assignee: andreas_kupries
closer: patthoyts
closedate: 2002-01-26T22:15:28
comment:
  The uri module implements a general geturl method which
  delegates to the scheme handler. Thus uri::geturl
  file:// is handled by the uri packaage, uri::geturl
  http:// is passed off to http::geturl.

  We should implement a geturl procedure in the ftp
  package and in any other package implementing such
  internet protocols (gopher, news?)


tkt_uuid: 1733094fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tklib: khim
priority: 5 Medium
foundin: None
title: Misc fixes + RU, PL and UK msg catalogs
cmimetype: text/plain
submitter: flatworm
assignee: kennykb
closer: kennykb
closedate: 2007-06-08T19:25:01
comment:
  Short summary of changes:

  1. Added title to KHIM help window. It's translated where appropriated.

  2. Colors of character picker made more consistent.

  3. Added check for existence of character map window -- closes the bug occuring on, say, triple strikes of composition key.

  4. Added Russian, Polish and Ukrainian message catalogs.

  Note: unified diff is UTF-8.


tkt_uuid: 1105778fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ProgressDlg -stop button bug
cmimetype: text/plain
submitter: olaborda
assignee: damonc
closer: dev_null42a
closedate: 2006-02-10T23:23:39
comment:
  In V1.7.0, using ProgressDlg with -stop option, the
  click events for the button are not processed.

  This worked fine in V.1.4.1 and can be solved replacing
  the "update idletasks" into "update" at line 181, file
  progressbar.tcl, like was in V1.4.1.

  Example Tcl code:
  --------------
  package require -exact BWidget 1.7.0


  proc cbLdCancel {} {
    puts "Click"
  }

  set Progress 0
  set Action "Loading files..."

  ProgressDlg .loading -parent . -title "Loading" -type
  normal \
    -textvariable Action -variable Progress -maximum
  20000 -stop "Cancel" \
    -command cbLdCancel

  for {set x 0} {$x<20000} {incr x} {
    incr Progress
  }
  --------------


tkt_uuid: 638075ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: uri
priority: 5 Medium
foundin: None
title: JoinHttpInner doesn't deal with fragment
cmimetype: text/plain
submitter: davidw
assignee: davidw
closer: davidw
closedate: 2002-11-15T20:34:49
comment:
  tclsh8.3 [~/workshop/tcllib/modules/uri]uri::split 
  http://tcl.apache.org/websh/faq.ws3#generic

  fragment generic port {} path websh/faq.ws3 scheme http
  host tcl.apache.org query {}

  uri::join fragment generic port {} path 
  websh/faq.ws3 scheme http host tcl.apache.org query {}

  http://tcl.apache.org/websh/faq.ws3

  The fragment is gone!

  This patch fixes that, and adds a test.


tkt_uuid: 1316052fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math
priority: 4
foundin: None
title: math/roman.test prints extra info
cmimetype: text/plain
submitter: techentin
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2005-11-04T07:53:44
comment:
  roman.test includes gratuitous puts commands,
  cluttering the log.  It doesn't need to say "Testing
  library roman" or "Using Pkg: Tcl 8.4"


tkt_uuid: 520940ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: apps : request for new app
priority: 5 Medium
foundin: None
title: New application bundle - tcldevapps
cmimetype: text/plain
submitter: lvirden
assignee: nobody
closer: hobbs
closedate: 2004-09-14T20:08:49
comment:
  I'd like to suggest a new bundle created in tcllib -
  this might be called tcldevapps.  The idea would be
  development tools for the Tcl programmer.

  The first application I would like to see in that suite
  would be tkinspect.  Another might be one of the
  debugging tools.  There are likely other applications
  that are of use to the developer that would fall into
  this category.


tkt_uuid: 570227ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Works For Me
subsystem: None
priority: 5 Medium
foundin: None
title: crc32 not like zlib crc (with patch)
cmimetype: text/plain
submitter: cferril
assignee: patthoyts
closer: patthoyts
closedate: 2002-09-24T23:06:54
comment:
  This may be a moot point, but...

  I am using the pure Tcl version of the crc32 package to 
  calculate crc's to match with crc's created from the zlib 
  version of crc code.  I found that the following change 
  would correct the Tcl crc32 to return the same value as 
  the zlib c code returns.  In the procedure crc::Crc32_tcl, 
  change the inital setting of crcval as follows:

       set crcval [expr {$seed ^ 0xFFFFFFFF}]

  I'm not using Trf so I don't know what crc code it uses or 
  if this change breaks that compatibility.  I had figured 
  this crc package was the same as zlib; and I expect 
  others may too.

  Hope this helps


tkt_uuid: 1633074fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: app: tkchat
priority: 5 Medium
foundin: None
title: tkchat extra features
cmimetype: text/plain
submitter: decosterjos
assignee: patthoyts
closer: patthoyts
closedate: 2007-08-22T23:03:15
comment:
  Hi,

  This patch is a diff of tkchat.tcl (1.356) and the modified tkchat.tcl with following features:

  New commands:
  -------------

  * /wikip <text>

  Search wikipedia with specified text

  * /wikid <text>

  Search Wiktionary with specified text

  Updated commands:
  -----------------

  * /googlefight

  Web interface changed

  New feature:
  ------------

  * Highlight and raise alert for specified subjects

  Specify subjects as 'string match' patterns. If a message matches a specified subject, it will be colored (background yellow by default). The subjects are saved in the tkchat resource file. The background color is adjustable through the colors dialog. It's also possible to trigger an alert when a message matches a subject.

  Kind regards,

  Jos.


tkt_uuid: 410198ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: None
priority: 5 Medium
foundin: None
title: New module: logging facility
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-03-26T16:56:37
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: 837818ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
title: Quoting module
cmimetype: text/plain
submitter: dkf
assignee: nobody
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
resolution: Fixed
subsystem: cmdline
priority: 5 Medium
foundin: None
title: cmdline with ::argv does not update ::argc
cmimetype: text/plain
submitter: glennjnn
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2010-05-27T19:09:32
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: 792796ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: mime
priority: 5 Medium
severity: Minor
foundin: None
title: Let ::mime::parsepart accept a header only with multipart
cmimetype: text/plain
submitter: ingemarh
comment:
  When calling ::mime::initialize with a header only and the 
  header includes a multipart description, ::mime::parsepart 
  will return an end-of-file error.
  This patch fixes that by counting the lines after the 
  header. If no lines are found, no error is thrown.

  This is useful when you want to parse a mail header only 
  with help of the mime package.

  Something to think of:
  This only works if the last newline character returned 
  from ::pop3::top is removed prior to calling ::mime::
  initialize. I thought of patching pop3 too, but thought 
  that it's correct that the last line returned also contains 
  a newline character.
  To help the user so he not needs to think of removing the 
  last newline character, maybe ::mime::parsepart should 
  count non-blank lines after the header, instead of just 
  counting lines.


tkt_uuid: 1042613fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Can't drag into an emtpy tree widget
cmimetype: text/plain
submitter: pointsman
assignee: damonc
closer: oehhar
closedate: 2009-06-30T15:18:05
comment:
  A drag to a tree widget does not work, if the
  destination tree doesn't have any nodes. 

  This script illustrates the problem:

  package require BWidget

  proc dropcmd {dest source dropInfo operation dataType
  data} {
      set sourceTree [winfo parent $source]
      $dest insert end root $data \
           -text [$sourceTree itemcget $data -text]
      $sourceTree delete $data
  } 

  set t1 [Tree .t1 -dragenabled 1]
  $t1 insert end root aNode -text "A sample Node"

  set t2 [Tree .t2 -dropenabled 1 \
              -dropovermode w \
              -dropcmd dropcmd]
  # If the destination tree has at least one node,
  everything works
  # $t2 insert end root anotherNode  -text "Another node"

  pack $t1 $t2 -side left

  If the destination tree doesn't have a node, the
  dropcmd will not be called. As far, as I've debugged
  the problem, the reason, that the dropcmd isn't called,
  is in  Tree::_drop_cmd:
      if {[llength $data(dnd,node)]
          && [llength [set cmd [Widget::getoption $path
  -dropcmd]]]} {
          return [uplevel \#0 $cmd \
                      [list $path $source $data(dnd,node)
  $op $type $dnddata]]
      }
  If the destination tree doesn't have a node,
  $data(dnd,node) is empty (but should be "widget", as
  far, as I can tell)


tkt_uuid: 3428262fffffffffffffffffffffffffffffffff
type: Bug
status: Pending
resolution: Invalid
subsystem: json
priority: 5 Medium
foundin: None
title: JSON: Trailing spaces added to number value
cmimetype: text/plain
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2011-11-10T22:53:09
comment:
  When the source json is { "a" : 0 }, then the resulting dict is: { a {0 } } (not {a 0}). This may be significant when comparing json results coming from two different sources.

  To fix this problem, please change near this line:
  string is double -failindex last $txt
  the following line:
  set num [string range $txt 0 [expr {$last - 1}]]
  into:
  set num [string trim [string range $txt 0 [expr {$last - 1}]]]


tkt_uuid: 3553350fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: htmlparse
priority: 5 Medium
foundin: None
title: htmlparse does't handle callback command containing "&"
cmimetype: text/plain
submitter: dvrsn
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2012-08-02T22:22:39
comment:
  If the callback command contains a "&" character, it is treated as part of the regular expression substitution string and ends up creating incorrect commands.   The same likely happens if the command contains \0 or similar sequences special to regsub.

  htmlparse should escape any special characters in the command before creating the substitution string.


tkt_uuid: 1492211fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 7 High
foundin: None
title: NoteBook Tab Deletion Problems
cmimetype: text/plain
submitter: davidhbigelow
assignee: hobbs
closer: hobbs
closedate: 2006-06-14T17:38:32
comment:
  If you have 6 notebook tabs, and start deleting them 
  from the middle to the end (e.g. index 2 -> end), the 
  tabs will either not reorganize properly and the 
  final tab will throw an exception.

  If a middle tab is removed, the tabs should 
  automatically slide-down to take it's place.


tkt_uuid: 1280529fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: inifile
priority: 5 Medium
foundin: None
title: Bug in Tcl
cmimetype: text/plain
submitter: nobody
assignee: afaupell
closer: patthoyts
closedate: 2005-09-05T09:24:13
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: 723692ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct :: tree
priority: 8
foundin: None
title: ADD: ::struct::tree -copy -- myTree myTree2
cmimetype: text/plain
submitter: davidhbigelow
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-08-08T18:28:16
comment:
  Currently there appears to be no way to copy 
  a ::struct::tree without walking the tree and setting 
  contents to a new tree structure.

  CURRENT METHOD:

  # note - "myTree" already exists in this example (which 
  does not account for keys and values - just node 
  transfer)

  # New Tree Structure
  ::struct::tree myTree2

  ::struct::tree walk root -command {
      if {"%n" != "root"} {
         myTree2 insert [myTree parent %n] end %n
      }
  }


  PROPOSED METHOD:
  ::struct::tree -copy -- myTree myTree2


  This command would greatly simplify and enhance the 
  ability to duplicate a tree and all of the attributes within it 
  and it's nodes as compared to the the current work 
  around.

  Any Questions?

  David Bigelow
  davidhbigelow@compuserve.com


tkt_uuid: 481161ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
title: put/get into channels
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-11-19T21:03:45
comment:
  The put and get methods currently read from a file or
  in-memory string, or write to a file or a variable.
  Both methods should support reading from and writing to
  a channel too.

  Both should also be able to give up ownership of such a
  channel so that it can be driven by someone else
  instead of only from the inside of the ftp module.


tkt_uuid: 1310038fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: A Category Is Missing
priority: 5 Medium
foundin: None
title: tie file implementation broken
cmimetype: text/plain
submitter: dvrsn
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-10-04T17:34:17
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: 557520ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: smtp
priority: 5 Medium
foundin: None
title: smtp::sendmessage -maxsecs
cmimetype: text/plain
submitter: tcoram
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-08-15T16:37:35
comment:
  A patch to workaround bug #557040. 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: 1193023fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: smtp
priority: 5 Medium
foundin: None
title: smtp can have no originator/from
cmimetype: text/plain
submitter: davidw
assignee: patthoyts
comment:
  Consider this code:

  -----------------------------
          # If no -originator was provided, get the
  originator from the "From"
          # header.  If there was no "From" header get it
  from the username
          # executing the script.

          set who "-originator"
          if {$originator == ""} {
              if {![info exists header($fromL)]} {
                  set originator $::tcl_platform(user)
              } else {
                  set originator [join $header($fromL) ,]

                  # Indicate that we're using the From
  header for the originator.

                  set who $fromM
              }
          }
          
  # If there's no "From" header, create a From header
  with the value
  # of -originator as the value.

          if {[lsearch -exact $lowerL $fromL] < 0} {
              lappend lowerL $fromL
              lappend mixedL $fromM
              lappend header($fromL) $originator
          }

  # ::mime::parseaddress returns a list whose elements
  are huge key-value
  # lists with info about the addresses.  In this case,
  we only want one
  # originator, so we want the length of the main list
  to be 1.

          set addrs [::mime::parseaddress $originator]
          if {[llength $addrs] > 1} {
              error "too many mailboxes in $who: $originator"
          }
          array set aprops [lindex $addrs 0]
          if {$aprops(error) != ""} {
              error "error in $who: $aprops(error)"
          }
  -----------------------------

  It is entirely possible that there is no originator,
  because tcl_platform(user) can be empty.  In that case,
  the above code will fail if no -originator is provided
  because aprops(error) will be empty.


tkt_uuid: 809821ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: tkchat 1.119 user info editor problem
cmimetype: text/plain
submitter: dkf
assignee: patthoyts
closer: patthoyts
closedate: 2003-09-20T20:38:09
comment:
  The tkchat user info editor dialog fails on my user
  info because some of it looks like Tcl code.  :^)

  Here's a patch to fix that.


tkt_uuid: 483838ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 6
foundin: None
title: minor changes to several BWidget widgets
cmimetype: text/plain
submitter: decosterjos
assignee: hobbs
closer: hobbs
closedate: 2002-09-11T19:24:51
comment:
  I've attached the result of a 'cvs diff' between my
  local BWidget
  sources and the current CVS head (20-nov-2001). This
  diff
  contains the following changes:

  1) tree.tcl

  Added a 'recursive' argument to 'Tree::opentree' and 
  'Tree::closetree'

  2) dialog.tcl

  Added '-transient' and '-place' flag

  3) listbox.tcl

  Added '-selectmode' flag and 2 possible select-modes:
  single and 
  multiple

  4) widget.tcl

  Select element 4 (was 3) from the config-options to get
  value from 
  optiondb

  5) progressbar.tcl

  Added new type 'nonincremental_infinite' and modified
  movement of 
  progressbar when in 'infinite' or
  'nonincremental_infinite' mode. The
  'nonincremental_infinite' can be used when a certain
  process 
  monitored by a ProgressBar returns a total count and
  not an 
  increment count.

  6) panedw.tcl

  Added '-weights' flag with possible value 'extra' or
  'available'. 
  Since BWidget-1.3.1, the meaning of the '-weight' flag
  for the 
  'PanedWindow::add' command was changed. This made it
  difficult to 
  create a layout where the panes occupy a certain amount
  of the 
  screen. When using the '-weights extra' flag when
  creating a 
  PanedWindow widget, the >=1.3.1 behavior is used: the
  weights
  for the different panes are only used for extra space.
  When using 
  the '-weights available' flag, the weights for the
  different panes are 
  used to set the size of each panes relative to the
  total available 
  space.

  Impact of changes to existing code: 
   
  None, behaviour is exactly the same when not specifying
  one of the 
  new flags or arguments (these have default values
  corresponding to 
  the old behavior), except for movement of ProgressBar
  in 
  one of the 'infinite' modes.


tkt_uuid: 3183080fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tcl :: chan :: *
priority: 5 Medium
foundin: None
title: Allowance in tcl::chan::string
cmimetype: text/plain
submitter: john-roll
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2011-02-16T20:58:58
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: 858218ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: ftp
priority: 5 Medium
foundin: None
title: errors thrown with no explanation
cmimetype: text/plain
submitter: vincentdarley
assignee: andreas_kupries
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
resolution: Rejected
subsystem: smtpd
priority: 5 Medium
foundin: None
title: HELO and EOL cumulative patches
cmimetype: text/plain
submitter: gionco
assignee: patthoyts
closer: patthoyts
closedate: 2002-12-13T23:35:33
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: 981605ffffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
resolution: Duplicate
subsystem: bwidget 1.x
priority: 5 Medium
severity: Minor
foundin: None
title: BWidget Calendar Dialog
cmimetype: text/plain
submitter: cmay
assignee: oehhar
closer: oehhar
closedate: 2456614.90365243
comment:
  This adds support for a calendar dialog, very similar
  to the iwidget version.  The dialog operates in one of
  two modes: dialog or popup.  The latter is just a
  special case of the former, but returns after one date
  is selected and offers no confirmation or cancellation
  buttons.  An embeddable method that fires virtual
  <<CalendarSelection>> events is on the TODO list.

  Also adds a manual page to the BWman directory, and
  files to the demo directory are modified to include the
  calendar as either a separate note book page or as a
  sub frame of the Dialogs page.  I couldn't decide where
  it would fit best.


tkt_uuid: 501339ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: None
priority: 6
foundin: None
title: CRC32 from Wiki - Call for comments.
cmimetype: text/plain
submitter: patthoyts
assignee: patthoyts
closer: patthoyts
closedate: 2002-01-11T23:08:59
comment:
  I've tcllib-ized the CRC32 Cyclic Redundancy Check
  implementation that is available from
  http://mini.net/tcl/2259.tcl by Wayland Augur and
  posted by Arjen Markus. We currently have sha, md5 and
  base64 modules so keeping with this style I propose a
  new crc module with the attached code etc.

  What does everyone think?


tkt_uuid: 697022ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: In Button, -repeatdelay command not cancelled on release
cmimetype: text/plain
submitter: snuffy2
assignee: damonc
closer: damonc
closedate: 2003-10-20T23:17:26
comment:
  Say you have a Button that uses the -armcommand -
  repeatdelay -repeatinterval commands:

  Button .vol.up -image imgvolup  -borderwidth 0 -
  highlightthickness 0 -repeatdelay 700 -repeatinterval 
  200 -armcommand {VolUp}

  (Note: VolUp just increses by 1 the volume)

  If you press the .vol.up button repeatedly then hold it 
  down it goes much faster than it should.  I think it is 
  because the after $delay "Button::_repeat $path" delay 
  command is never cancelled when the button is 
  released.

  I was trying to fix this and was able to do that in 
  button.tcl in the Button::_release procedure. I just 
  added an after cancel command and it appeared to fix 
  the problem:

  proc Button::_release { path } {
      variable _current
      variable _pressed

      if { $_pressed == $path } {
          set _pressed ""
          set relief [Widget::getMegawidgetOption $path -
  relief]
          #####################
          after cancel "Button::_repeat $path" 
          #####################
          if { ![string compare $relief "link"] } {
              set relief raised
          }
          $path:cmd configure -relief $relief
  set cmd [Widget::getMegawidgetOption 
  $path -disarmcommand]
          if { $cmd != "" } {
              uplevel \#0 $cmd
          }
          if { $_current == $path &&
               [string compare [$path:cmd cget -
  state] "disabled"] && \
       [set cmd [Widget::getMegawidgetOption 
  $path -command]] != "" } {
              uplevel \#0 $cmd
          }
      }
  }


tkt_uuid: 1566389fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: fileutil
priority: 5 Medium
foundin: None
title: tests fail in fileutil 1.9
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
comment:
  @@ Tcl 8.4.14
  @@ MatchTests *
  @@ SkipFiles l.*.test
  @@ MatchFiles *.test
  @@ Start 1159368646
  @@ Module fileutil
  @@ Testsuite modules/fileutil/fileutil.test
  - tcllib::testutils 1.1
  - cmdline 1.2.5
  * fileutil 1.9]

  ...

  ==== install-2.1 install a directory FAILED
  ==== Contents of test case:

      list [catch {
          fileutil::install [file join installSrc subdir]
  installDst
          set result [lsort [glob -tails -directory [file
  join installDst subdir] [file join . / *]]]
          file delete -force installDst
          set result
      } err] $err

  ---- Result was:
  0 {/subfile1 /subfile2 /subfile3}
  ---- Result should have been (exact matching):
  0 {subfile1 subfile2 subfile3}
  ==== install-2.1 FAILED

  ---- install-2.2 start

  ==== install-2.2 install a directory FAILED
  ==== Contents of test case:

      list [catch {
          fileutil::install [file join installSrc subdir]
  installDst
          set result [lsort [glob -directory [file join
  installDst subdir] [file join . / *]]]
          file delete -force installDst
          set result
      } err] $err

  ---- Result was:
  0 {installDst/subdir//subfile1
  installDst/subdir//subfile2 installDst/subdir//subfile3}
  ---- Result should have been (exact matching):
  0 {installDst/subdir/subfile1
  installDst/subdir/subfile2 installDst/subdir/subfile3}
  ==== install-2.2 FAILED


tkt_uuid: 766245ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: inifile
priority: 5 Medium
foundin: None
title: ini::commit bug
cmimetype: text/plain
submitter: andreas_kupries
assignee: afaupell
closer: andreas_kupries
closedate: 2003-07-15T18:29:28
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: 943994ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 9 Immediate
foundin: None
title: standard doctools target for TEA / Makefile authors
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: dgp
closedate: 2004-11-13T00:45:58
comment:
  The doctools package supports processing
  of a nice documentation markup language.

  Any Tcl package author who uses doctools
  markup to create documentation, will need
  a doc: target in his TEA Makefile to produce
  documentation in installable formats like
  nroff and html.  This suggests an application
  built around doctools.

  Candidates are mpexpand and dtp, but neither
  is routinely installed enough for simple use.

  Request that some such app get installed
  routinely when tcllib is installed, and that
  sample doc: target rules be made available,
  perhaps within the TEA sampleextension itself.


tkt_uuid: 490151ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: pop3
priority: 5 Medium
foundin: None
title: bugs in ::pop3::retrieve (RetrSlow)
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-12-11T18:00:00
comment:
  In ::pop3::retrieve with retr-mode "slow" or "list" with fallback to slow, 

  following call is missing just before calling set msgBuffer [RetrSlow $chan]

  ::pop3::send $chan "RETR $index"

  Consequences: The retrieve call will hang for ever. The call waits for data from
  the E-Mail server but the E-Mail server never got a Retrieve command to deliver data.

  The last code part in RetrFast looks very similar to functionality of RetrSlow

  P.s. Good work. Like the new structure in the package.

  In the meantime there do exist MS-Exchange Server that do understand 
  crlf. (-msex ). 
  Better rename the -msex option to tran-mode. Is more neutral.


tkt_uuid: 465210ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: csv
priority: 5 Medium
foundin: None
title: ::csv::joinlist sepChar handling
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-09-28T18:11:07
comment:
    file: csv.tcl Rev. 1.5

    procedure: ::csv::joinlist

  doesn't handle "sepChar" argument.
  "join $record" should be "join $record $sepChar"


tkt_uuid: 979487ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 5 Medium
foundin: None
title: SelectColor widget locks up on MacOS
cmimetype: text/plain
submitter: ssmedley
assignee: damonc
closer: oehhar
closedate: 2009-07-01T06:59:22
comment:
  Hi,

  The SelectColor widget locks up under Mac OS X. I'm
  using BWidget v1.7.

  If I remove the 3 "update" calls in SelectColor::menu, 
  everything works fine.

  I tried substituting with "update idletasks" but that
  didn't work.

  Email me at ssNO@SPAMaao.gov.au if you need more
  info or patches tested.

  SCoTT. :)


tkt_uuid: 1720331fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: list
priority: 5 Medium
foundin: None
title: lcsInvertMerge gives incorrect result
cmimetype: text/plain
submitter: kennykb
assignee: andreas_kupries
closer: kennykb
closedate: 2007-05-16T22:20:16
comment:
  The simple example:

  % set lcs [struct::list longestCommonSubsequence {a b c d e} {a f c g e}]
  {0 2 4} {0 2 4}
  % struct::list lcsInvertMerge $lcs 5 5
  {unchanged {-1 0} {-1 0}} {changed {1 1} {1 1}} {changed {3 3} {3 3}}

  yields an incorrect result.  The content of $lcs is correct; {0 2 4} in both lists is the common subsequence.  But the expected output would have been

  {unchanged {0 0} {0 0}} 
  {changed {1 1} {1 1}} 
  {unchanged {2 2} {2 2}} 
  {changed {3 3} {3 3}}
  {unchanged {4 4} {4 4}}


tkt_uuid: 621178ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget error in Tree under 8.4
cmimetype: text/plain
submitter: damonc
assignee: jenglish
closer: jenglish
closedate: 2003-01-24T22:22:58
comment:
  The following code under ActiveTcl 8.4.0.1 under Windows:

  package require BWidget

  pack [Tree .t]

  .t insert end root foo -text Foo
  .t selection set foo
  .t delete foo


  Yields the result:

  .t selection set: Cannot select unknown node "foo".
      while executing
  "selection .t set foo"
      ("eval" body line 1)
      invoked from within
  "eval selection $path set $sel"
      (procedure "Tree::delete" line 18)
      invoked from within
  "Tree::delete .t foo"
      ("eval" body line 1)
      invoked from within
  "eval Tree::$cmd .t $args"
      (procedure ".t" line 1)
      invoked from within
  ".t delete foo "

  This only occurs if the deleted node is selected.  If
  you remove the "selection set" line, everything works fine.


tkt_uuid: 1076403fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: html
priority: 5 Medium
severity: Minor
foundin: None
private_contact: b4d50b951a939be8202d97b819b12569058e0339
title: html: suggestion for a convenience "tag wrapping" proc
cmimetype: text/plain
submitter: dgonyier
assignee: aku
closer: aku
closedate: 2458660.29886182
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: 416955ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: profiler
priority: 5 Medium
foundin: None
title: Division by zero in stats procedure
cmimetype: text/plain
submitter: efrecon
assignee: gwlester
closer: andreas_kupries
closedate: 2002-05-14T20:46:52
comment:
  If called with all arguments to zero (presumably a 
  procedure that was never used), the stats procedure 
  will produce a division by zero error when computing 
  the covariance (cov).  I propose here a fix, but it 
  needs probably more thinking to make it into the CVS:

  proc ::profiler::stats {args} {
       set sum      0
       set mean     0
       set sigma_sq 0
       set sigma    0
       set cov      0
       set N [ llength $args ]
       if { $N > 1 } { 
          foreach val $args {
             set sum [ expr { $sum+$val } ]
          }
          set mean [ expr { $sum/$N } ]
          foreach val $args {
             set sigma_sq [ expr { $sigma_sq+pow(($val-
  $mean),2) } ]
          }
          set sigma_sq [ expr { $sigma_sq/($N-1) } ] 
          set sigma [ expr { round(sqrt($sigma_sq)) } ]
  if { $mean == 0 } {
      set cov 0.0
  } else {
      set cov [ expr { (($sigma*1.0)/$mean)
  *100 } ]
      set cov [ expr { round($cov*10)/10.0 } ]
  }
       }   
       return [ list $mean $sigma $cov ]
  }


tkt_uuid: 1060245fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 9 Immediate
foundin: None
title: bee: Corrupt file in CVS
cmimetype: text/plain
submitter: dkf
assignee: nobody
closer: andreas_kupries
closedate: 2004-11-04T16:53:31
comment:
  File
    modules/bee/examples.torrent
  is corrupt on Windows (missing -kb flag; use 'cvs
  admin' to fix.)


tkt_uuid: 1539479fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: asn
priority: 5 Medium
foundin: None
title: mispelled variable in asnContext
cmimetype: text/plain
submitter: pdav
assignee: mic42
closer: mic42
closedate: 2006-08-13T18:09:57
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: 449284ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 4
foundin: None
title: Tree does not handle Space key
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-08-08T20:58:53
comment:
  On behalf of Matthias Kleine.

  > Hi,
  > 
  > while working with the BWidgets version 1.3.1, I 
  found 
  > a behaviour which should be corrected in future 
  BWidget 
  > versions. 
  > 
  > In file tree.tcl, function Tree::_keynav, the code 
  to 
  > handle the "space" event for navigation in the 
  BWidget 
  > tree lacks a call to the opencmd, when the tree is 
  opened 
  > (and to the closecmd, when the tree is closed).
  > 
  > For example, the left-arrow event call the following 
  code
  > when opening a tree node:
  > 
  > if { [set cmd [Widget::getoption $win -opencmd]] !
  = "" } {
  >                     uplevel \#0 $cmd $node
  > }
  > 
  > This leads to a call to the opencmd of the tree. 
  Without 
  > this call, we have no chance to control what is 
  happening 
  > when the user presses the space key.
  > 
  > Regards,
  > Matthias 


tkt_uuid: 724730ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: struct :: graph
priority: 7 High
foundin: None
title: Behaviour of struct::graph walk
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
comment:
  The current implementation (tcllib1.3) of ::struct::graph:
  :_walk with options -order both -type dfs create a forest 
  of disjunct predecessor subgraph trees [1] .




  [2] Says that if G is a graph G=(V,E) then we can do one 
  of three possibilities:


  1. No restrictions (walk)


  2. Each edge E of G traversed at most once. (trail)


  3. Each vertex V visited at most once (path)




  In tcllib a vertex is a node and an edge is an arc.




  I think the current implementation of walk is actually a 
  path as each node is visited only once. In order to 
  implement a walk as defined in [2] an extra line 1834  
  array unset visited $node could be inserted.




  See http://mini.net/tcl/8787 for more info.




  Could the walk proc be extended to cover all three 
  cases?




  [1] Cormen, Leiserson, Rivest: Introduction to Algorithms, 
  p477


  [2] Kreystig, Advanced Engineering Mathematics, Sixth 
  Edition, p1139


tkt_uuid: 458306ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget ComboBox (1.3.1)
cmimetype: text/plain
submitter: petasis
assignee: hobbs
closer: hobbs
closedate: 2003-07-17T19:55:15
comment:
  BWidget 1.3.1 has changed the way ComboBox handles
  focus and selection, compared to the latest Unifix release, 1.2.1.

  First of all, option -entryfg removed,breaking older code.
  Why not -entryfg to be re-inserted as a synonym of -foreground,
  so as to maintain backward compatibility?

  Also, when the user selects a value from the drop-down list (or
  simply closes it without selecting anything), then the focus
  is set to the entry widget. This is perhaps ok if the ComboBox
  is editable, but when the ComboBox is not editable, there is no point
  in it: the user cannot type anything in there and an insertion cursor appears.
  This visually unpleasant, having an insertion cursor in an entry you cannot
  type.
  Also, it cannot be turned off with the various -insert* options, that seem to
  not work in order to make the insertion cursor invisible...

  Also regarding the selection, ComboBox obviously tries to mimic the combo box
  behaviour under windows, so along with the focus, the selection is also set.
  Again, under windows when you click outside the combo box, the selection is
  removed. This is not happening to the BWidget combo box. In my opinion,
  there should be an option to avoid also seting the selection in the changed
  value, as there are situations where this behaviour is not wanted.
  (but perhaps setting the selection bg/fg to the default entry fg/bg can solve
  this problem, although I have not tested it...)


tkt_uuid: 2155034fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: aes
priority: 8
foundin: None
title: Sign overflow in AddRoundKey
cmimetype: text/plain
submitter: twylite
assignee: patthoyts
closer: twylite
closedate: 2013-01-10T08:10:06
comment:
  There is a sign overflow in AddRoundKey that can cause 
  a 'integer value too large to represent' error from EncryptBlock or DecryptBlock.  When expr{} xors together a positive & negative number it preserves the sign and may extend the values to 64 bit.

  Similar sign overflows were fixed in EncryptBlock & DecryptBlock in aes.tcl 1.6.

  To reproduce:
  --
  package require aes

  set keyhex c47b0294dbbbee0fec4757f22ffeee3587ca4730c3d33b691df38bab076bc558
  set texthex 46f2fb342d6f0ab477476fc501242c5f

  aes::aes -dir decrypt -mode ecb -hex -key [binary format H* $keyhex] -- [binary format H* $texthex]
  --

  Fix: use a mask to limit the result to 32 bit
  Change to aes.tcl:
  --
  proc ::aes::AddRoundKey {Key round words} {
      upvar #0 $Key state
      set r {}
      set n [expr {$round * $state(Nb)}]
      foreach w $words {
          lappend r [expr {0xffffffff & ($w ^ [lindex $state(W) $n])}]
          incr n
      }
      return $r
  }
  --

  Additional note:
  There are uses of expr{} in ExpandKey that may also overflow in a similar manner, and should be investigated.


tkt_uuid: 619548ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 5 Medium
foundin: None
title: mime::field_decode is case sensitive
cmimetype: text/plain
submitter: giggls
assignee: mrose
closer: patthoyts
closedate: 2003-01-06T15:14:49
comment:
  Hi there,

  Looks like mime::field_decode does not work with some
  encodings written in Lowercase. Upercase is working
  fine though.

  This does not seem to be platform-specific (tested on
  Unix and WIn2k).

  Here is some example code:

  --cut--
  #!/usr/bin/tclsh

  package require mime

  # this works fine
  puts [mime::field_decode =?ISO-8859-1?B?5Pb8IN8=?=]
                   
  # this does not work
  puts [mime::field_decode =?iso-8859-1?B?5Pb8IN8=?=]
  --cut--


tkt_uuid: 1560822fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: blowfish
priority: 7 High
foundin: None
title: decrypt (blowfish) doesn't always work
cmimetype: text/plain
submitter: nobody
assignee: patthoyts
closer: patthoyts
closedate: 2006-09-19T10:35:25
comment:
  set key "uP/AD/oGb6q/"
  set text "ececho clear"
  set foo [::blowfish::blowfish -mode ecb -dir encrypt
  -key $key $text]

  And when I am trying to decrypt that:

  ::blowfish::blowfish -mode ecb -dir decrypt -key $key $foo

  Error:

  ": must be one of -chunksize, -dir, -hex, -in, -iv,
  -key, -mode, -out
      while executing
  "::blowfish::blowfish -mode ecb -dir decrypt -key $key
  $foo"


tkt_uuid: 861287ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: htmlparse
priority: 5 Medium
foundin: None
title: htmlparse: comment delimiters
cmimetype: text/plain
submitter: jenglish
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-09-22T03:10:03
comment:
  htmlparse::parse doesn't parse comments correctly.
  One example:

  htmlparse::parse "<pre>&lt;-- a comment --></pre>"

  The closing delimiter "-->" gets turned into \01, and
  never gets turned back.  (This is legal HTML BTW, found
  in the wild).

  It also fails to recognize comments if there is a space
  between the final COM (--) and MDC (>) delimiters.


tkt_uuid: 446562ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: profiler
priority: 5 Medium
foundin: None
title: profiler: uplevel breaks for rare case
cmimetype: text/plain
submitter: hemanglavana
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-07-31T23:48:32
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: 1909681fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Works For Me
subsystem: md5crypt
priority: 5 Medium
foundin: None
title: Tcl version of md5crypt::aprcrypt error for some values
cmimetype: text/plain
submitter: juliannoble
assignee: patthoyts
closer: patthoyts
closedate: 2008-04-08T00:35:30
comment:
  Tested with 
    tcl8.5a4 & tcllib 1.8.01 
    &
    tcl8.5.2b1 & tcllib 1.10

  If tcllib is installed without the tcllibc module,
  certain values cause md5crypt::aprcrypt to fail with an error as shown below.

  % package require md5crypt
  1.1.0
  % md5crypt::aprcrypt a c
  can't use empty string as operand of "|"

  % set ::errorInfo
  can't use empty string as operand of "|"
      while executing
  "expr {([lindex $V 3] << 16) | ([lindex $V  9] << 8) | [lindex $V 15]}"
      (procedure "::md5crypt::md5crypt_tcl" line 71)
      invoked from within
  "md5crypt::aprcrypt a c"


  When tcllibc is present the error doesn't occur.


tkt_uuid: 1176744fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: counter
priority: 5 Medium
foundin: None
title: counter, improper use of alt=
cmimetype: text/plain
submitter: davygrvy
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-04-12T02:38:12
comment:
  It should be title= as firefox doesn't (correctly)
  display a tooltip for alt.

  RCS file:
  /cvsroot/tcllib/tcllib/modules/counter/counter.tcl,v
  retrieving revision 1.18
  diff -c -r1.18 counter.tcl
  *** counter.tcl3 Oct 2004 23:06:55 -00001.18
  --- counter.tcl5 Apr 2005 02:04:43 -0000
  ***************
  *** 1019,1025 ****
            set img src=$options(-images)/$options(-gif)
        }
        append result "<td valign=bottom><img $img
  height=$height\
  !         width=$options(-width) alt=$value></td>\n"
        }
        append result "</tr>"
    
  --- 1019,1025 ----
            set img src=$options(-images)/$options(-gif)
        }
        append result "<td valign=bottom><img $img
  height=$height\
  !         width=$options(-width) title=$value></td>\n"
        }
        append result "</tr>"
    


tkt_uuid: 556509ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: doctools
priority: 3 Low
foundin: None
title: mpexpand nroff header comments
cmimetype: text/plain
submitter: jenglish
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-05-21T18:22:19
comment:
  'mpexpand nroff' inserts some comments in the header
  that probably do not belong there. It assigns copyright
  to the person who ran the converter (the original
  author may disagree with this :-), and inserts an
  unexpanded CVS revision tag (CVS: $Id$), which is
  inappropriate for an output file.

  It also adds the mysterious admonition "do not modify
  the .SH NAME line immediately below!" -- I don't think
  there's any reason to keep this particular coke bottle
  around.

  The attached patch removes the above stuff.


tkt_uuid: 1676157fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: http :: autoproxy
priority: 5 Medium
foundin: None
title: autoproxy in-code example creates bogus dependency
cmimetype: text/plain
submitter: andreas_kupries
assignee: patthoyts
closer: patthoyts
closedate: 2007-03-12T22:55:05
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: 577678ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
title: Add the package tkmisc to tklib
cmimetype: text/plain
submitter: arjenmarkus
assignee: hobbs
comment:
  I have formalised a small set of procs that handle
  toplevel windows:
  - Show a logo window at start-up
  - Show a window that fills the entire screen without
  decorations
  The attached file contains the source code, some
  documentation and test cases.


tkt_uuid: 479482ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: None
priority: 5 Medium
foundin: None
title: RFC: new smtpd module.
cmimetype: text/plain
submitter: patthoyts
assignee: patthoyts
closer: patthoyts
closedate: 2001-11-17T22:04:47
comment:
  I am submitting a skeleton Simple Mail Transfer
  Protocol daemon (smtpd) for inclusion into tcllib. This
  was written to permit testing of mail sending software
  (SOAP over SMTP) on the windows platform but may have
  other uses.

  The skeleton talks SMTP and will accept mail subject to
  validation of the host, sender and recipients. Once
  received the mail is passed to a user-specified
  delivery procedure for processing.

  I suggest creating a new subdirectory under
  tcllib/modules as has been done for the ftp/ftpd
  client/server packages.

  Comments please!


tkt_uuid: 444172ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Function key accelerators in menus
cmimetype: text/plain
submitter: venksi
assignee: hobbs
closer: hobbs
closedate: 2001-12-29T01:38:33
comment:
  The BWidget Mainframe allows a menu with an item
  of the form:

      "&Help" {} {} 0 {
          {command "&Contents" {} "Help" "F1" \
                  -command ::help}
          {command "&About" {} "About" {} \
                  -command ::about}
      }

  The "F1" key does not work.  In general any function
  key doesn't work as a menu item.  This patch at
  least lets the F1 work as it is:


tkt_uuid: 3000293fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ListBox bindText <Button-1> stops selection
cmimetype: text/plain
submitter: oehhar
assignee: oehhar
closer: oehhar
closedate: 2010-05-12T07:17:47
comment:
  Given a Listbox with the patch of bug 2995969 (which uses ButtonRelease events instead Button for selection) and the following script:
  pack [ListBox .l -selectmode single]
  .l insert end list:#auto -text 111
  .l insert end list:#auto -text 222
  .l insert end list:#auto -text 333
  .t.l configure -width 10
  proc p {args} {puts "p $args"}
  ListBox::bindTag .t.l <Button-1> p
  ---
  After the bindTag command, selection will not work any more.


tkt_uuid: 564071ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: doctools
priority: 5 Medium
foundin: None
title: doctools - multi-release SYNOPSIS convention
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
comment:
  When looking for documentation on Unix, one types

  man package

  and that turns into a search for a file named
  "package.n" on the MANPATH, and a formatting and
  display of its contents.

  When a new release of package is installed, say
  version 1.1, where a prior version, say 1.0, is
  already installed, the two versions get installed
  side by side, but the man page for 1.1 overwrites
  the one for 1.0.

  For this reason it would be a good convention for
  man pages to include documentation for earlier
  compatible versions, as well as the latest changes.
  I recommended a SYNOPSIS convention like this:

  package require foo 1.0
  foo::bar x
  foo::baz
  package require foo 1.1
  foo::grok a b c
  package require foo 1.2
  foo::snafu
  foo::bar x ?y z?

  Here it is clear what minor release introduced
  each (variation of) each command.

  If the doctools cannot format such a SYNOPSIS 
  convention, I request the new feature that they
  be enhanced so they can.


tkt_uuid: 3608951fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tepam
priority: 3 Low
foundin: None
title: TEPAM: Help text shows incorrect argument order
cmimetype: text/plain
submitter: droll
assignee: droll
closer: droll
closedate: 2013-03-25T22:15:25
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: 1003671fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
title: sourcegraph without arcs can not be copied
cmimetype: text/plain
submitter: bhushit
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-08-05T05:08:08
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: 1108569fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: latest tkchat.kit at least fails
cmimetype: text/plain
submitter: lvirden
assignee: rmax
closer: patthoyts
closedate: 2006-09-14T14:35:17
comment:
  Since the tkchat code, by itself, no longer runs
  without bits and pieces of things installed that are
  undocumented, I've been running tkchat from the
  tkchat.kit mentioned at http://wiki.tcl.tk/tkchat . 
  Today, when I downloaded the version there, and
  attempted to run it on my sparc solaris 8 machine, I
  got an error about being unable to find tls.  So I
  downloaded from the sdarchive the latest tls.kit ,
  which sdarchive says works on solaris 8.  Here is the
  error that appears if the tls.kit starkit is in the
  same directory as tkchat.kit:

  couldn't load library
  "/volws/lwv28/ldatae/bin/tls.kit/lib/tls/SunOS-sparc/tls.so":
  no such file or directory
      while executing
  "load
  /volws/lwv28/ldatae/bin/tls.kit/lib/tls/SunOS-sparc/tls.so
  "
      ("package ifneeded" script)
      invoked from within
  "package require tls"
      ("foreach" body line 4)
      invoked from within
  "foreach tlsname {tls.kit tls-win.kit tls-lin.kit} {    
      if { [file exists [file join $kitdir $tlsname]] } {
          source [file join $kitdir $tls..."
      (file "/volws/lwv28/ldatae/bin/tkchat.kit/main.tcl"
  line 5)
      invoked from within
  "source /volws/lwv28/ldatae/bin/tkchat.kit/main.tcl"
      ("uplevel" body line 1)
      invoked from within
  "uplevel [list source [file join $self main.tcl]]"

  sdx.kit says:

   $ sdx lsk /ldatae/bin/tls.kit           

  /ldatae/bin/tls.kit:
                              dir  lib/
          92  2004/03/22 02:23:41  main.tcl

  /ldatae/bin/tls.kit/lib:
                              dir  tls/

  /ldatae/bin/tls.kit/lib/tls:
                              dir  Darwin-ppc/
                              dir  Linux-x86/
                              dir  OpenBSD-x86/
                              dir  Solaris-sparc/
                              dir  Windows-x86/
         552  2004/03/22 02:51:38  pkgIndex.tcl
        5289  2004/03/22 02:52:13  tls.tcl

  /ldatae/bin/tls.kit/lib/tls/Darwin-ppc:
       41564  2004/03/22 02:32:12  tls.dylib

  /ldatae/bin/tls.kit/lib/tls/Linux-x86:
     1119770  2004/03/22 02:26:32  tls.so

  /ldatae/bin/tls.kit/lib/tls/OpenBSD-x86:
       38807  2004/09/07 08:37:21  tls.so

  /ldatae/bin/tls.kit/lib/tls/Solaris-sparc:
       46000  2004/02/13 19:38:53  tls.so

  /ldatae/bin/tls.kit/lib/tls/Windows-x86:
      536576  2004/03/21 21:24:22  tls.dll

  It appears that tkchat is generating the directory
  names differently than tls.kit has them named...


tkt_uuid: 3324610fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ListBox bindImage is broken
cmimetype: text/plain
submitter: takatsuki
assignee: oehhar
closer: oehhar
closedate: 2011-06-23T08:30:58
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: 1566488fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: math :: bignum :: float
priority: 5 Medium
foundin: None
title: failed tests with Tcl 8.5 (64-bit)
cmimetype: text/plain
submitter: dgp
assignee: dgp
closer: dgp
closedate: 2006-09-28T20:13:09
comment:
  Using Tcl HEAD (8.5a5) on a
  64-bit system:

  ==== bigfloat-fromdouble-2.1f Some floating-point
  computations related to command fromdouble FAILED
  ==== Contents of test case:
  return $resultat
  ---- Result was:
  0
  ---- Result should have been (exact matching):
  1
  ==== bigfloat-fromdouble-2.1f FAILED


  ==== bigfloat-int2float-2.9.2.3 Some integer
  computations related to command int2float FAILED
  ==== Contents of test case:
  uplevel 1 $code
  ---- Result was:
  -29127.3114
  ---- Result should have been (exact matching):
  5000000000.0000
  ==== bigfloat-int2float-2.9.2.3 FAILED


  ==== bigfloat-cos-4.4.1.0 Some floating-point
  computations related to command cos FAILED
  ==== Contents of test case:
  return $resultat
  ---- Result was:
  0
  ---- Result should have been (exact matching):
  1
  ==== bigfloat-cos-4.4.1.0 FAILED

  ---- bigfloat-sin-4.4.1.1 start


  ==== bigfloat-sin-4.4.1.1 Some floating-point
  computations related to command sin FAILED
  ==== Contents of test case:
  return $resultat
  ---- Result was:
  0
  ---- Result should have been (exact matching):
  1
  ==== bigfloat-sin-4.4.1.1 FAILED

  ---- bigfloat-cos-4.4.2.0 start


  ==== bigfloat-cos-4.4.2.0 Some floating-point
  computations related to command cos FAILED
  ==== Contents of test case:
  return $resultat
  ---- Result was:
  0
  ---- Result should have been (exact matching):
  1
  ==== bigfloat-cos-4.4.2.0 FAILED

  ---- bigfloat-sin-4.4.2.1 start


  ==== bigfloat-sin-4.4.2.1 Some floating-point
  computations related to command sin FAILED
  ==== Contents of test case:
  return $resultat
  ---- Result was:
  0
  ---- Result should have been (exact matching):
  1
  ==== bigfloat-sin-4.4.2.1 FAILED


tkt_uuid: 553732ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Wont Fix
subsystem: base64
priority: 5 Medium
foundin: None
title: uuencode.test warnings
cmimetype: text/plain
submitter: dgp
assignee: patthoyts
closer: patthoyts
closedate: 2002-09-09T07:59:40
comment:
  On my 64-bit Linux/Alpha machine, I see the following
  message from both uuencode-2.1 and uuencode-2.2:

  noticeinvalid uuencoded string: padding string to a
  multiple of 4.


tkt_uuid: 411422ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: None
priority: 5 Medium
foundin: None
title: Fix for bug #404917
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-03-31T13:45:13
comment:
  This patch fixes the bug 404917 by explicitly adding
  smtp to the list of packages to list in the main
  package index.


tkt_uuid: 1006282fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: comm
priority: 8
foundin: None
title: comm - Uncaught error when protocol negotiation fails
cmimetype: text/plain
submitter: cleverly
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-10-03T22:59:55
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
resolution: Fixed
subsystem: Documentation
priority: 5 Medium
foundin: None
title: pattern arg for profiler::reset not documented
cmimetype: text/plain
submitter: hemanglavana
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-10-29T19:25:27
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: 517066ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
title: EXIF digital image parser
cmimetype: text/plain
submitter: dnew
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-02-18T23:33:47
comment:
  Please incorporate this module into TclLib at your convenience.

  This is a pure-tcl namespace for parsing EXIF data blocks from JPEG images generated by digital 
  cameras, scanners, etc. It provides primarily textual information, rather than returning the raw data 
  in a form convenient for further processing.

  Attached: A zip file with code and documentation.


tkt_uuid: 456255ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: base64
priority: 5 Medium
foundin: None
title: export public API only
cmimetype: text/plain
submitter: hemanglavana
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-09-05T23:54:21
comment:
  In some modules, there is a single line code:

      namespace export *

  This exports public as well as private API.

  I am providing a patch generated based on the
  convention that all
  public APIs begin with lower case first letter. So,
  please verify the list of public APIs I have added to
  the "namespace export" list.


tkt_uuid: 588880ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: bwidget
priority: 5 Medium
foundin: None
title: flicker in ScrolledWindow and frame
cmimetype: text/plain
submitter: nobody
assignee: hobbs
closer: hobbs
closedate: 2002-10-14T20:31:51
comment:
  Addition of update idletask to proc
  ScrolledWindow::_set_hscroll 
  and 
  proc ScrolledWindow::_set_vscroll 
  cause flickering during window resize 
  and
  Tcl bg errors:

  bgerror failed to handle background error.
      Original error: too many nested calls to Tcl_Eval
  (infinite loop?)
      Error in bgerror: too many nested calls to
  Tcl_EvalObj (infinite loop?)


  When I commented the lines out, they work fine
  in my application.

  I was placing rows of buttons and labels inside
  the scrollable frame or window and the
  update idletask was excessive.


tkt_uuid: 2790985fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tar
priority: 5 Medium
foundin: None
title: fail to extract tar created by mks tools
cmimetype: text/plain
submitter: royterry
assignee: afaupell
closer: afaupell
closedate: 2009-05-13T21:23:29
comment:
  The 3rd call to readHearder blows up attempting to tar::untar this file made by windows tar.exe from MKS. Single file tar test case attached.
  FWIW, bsdtar windows exe running on same machine with same file) can extract the file fine. There is apparently confusion over the seek for preceding read as it seems not to return a proper header block. But bsdtar isn't affected. Thanks for any help.. Roy

  ERROR LOOKS LIKE THIS
  (app) 268 % ::tar::untar  ../dia/srch-30apr-01may-2009/test-mks.tar
  expected integer but got "0"


tkt_uuid: 2783019fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: scrollwindow bug - flickering scrollbar
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: oehhar
closedate: 2009-06-29T13:06:44
comment:
  The attached example shows a problem with scrolledwindow in bwidget. The scrolledwindow gets into an infinite loop between xscroll and yscroll when we zoom in out on this example.

  Tcl/tk version : 8.5.3
  BWidget version : 1.8


  package require Tcldot
  package require BWidget

  set graphstring {digraph graph5 {
          node [label="\N"];
          graph [bb="0,0,370,250"];
          "x" [label="AAA\n.Dl", fontsize=12, fontname=zzzfont, style=filled, fillcolor=white, shape=diamond, pos="150,214", width="2.69", height="1.00"];
          z [label=Hs, fontsize=12, fontname=zzzfont, style=filled, fillcolor=white, shape=rectangle, pos="53,64", width="1.47", height="0.50"];
          "y" [label="dl", fontsize=12, fontname=zzzfont, style=filled, fillcolor=white, shape=diamond, pos="247,64", width="3.42", height="1.78"];
          "x" -> z [fontsize=12, fontname=zzzfont, color=black, arrowsize="0.7", label=hs, pos="e,65,82 131,185 113,156 86,115 69,88", lp="152,153"];
          "x" -> "y" [fontsize=12, fontname=zzzfont, color=black, arrowsize="0.7", label=hs, pos="e,220,115 173,186 179,178 187,169 193,160 201,148 209,134 216,121", lp="236,153"];
  }}

  set g [dotstring $graphstring]

  toplevel .t
  set sw [ScrolledWindow .t.sw]
  set cvs [canvas .t.sw.cvs]
  $sw setwidget $cvs
  pack $sw -side top -fill both -expand yes
  bind $cvs <Button-4>  "zoom $cvs 1.1"
  bind $cvs <Button-5>  "zoom $cvs 0.9"
  eval [$g render $cvs dot]
  $cvs configure -scrollregion [$cvs bbox all]

  proc zoom {cvs factor} {
    $cvs scale all 0 0 $factor $factor
    $cvs configure -scrollregion [$cvs bbox all]
  }


tkt_uuid: 861622ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: mime
priority: 5 Medium
foundin: None
title: Documentation error(s)
cmimetype: text/plain
submitter: arjenmarkus
assignee: mrose
comment:
  The documentation for the mime package contains little
  or no information on the -parts option (it actually
  refers to -part). 

  One thing I found out trying:
  - if you combine several parts into one message, then
    you need to use "-canonical multipart/mixed" 

  It is not clear to me from the documentation how to 
  set a proper name for an attachment (default seems
  to be: Part 1.2)


tkt_uuid: 756939ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: ncgi
priority: 8
foundin: None
title: No way to get a list of only the known keys
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-30T22:23:35
comment:
  The package provides a command to ask if a key is 
  present in the ncgi package, but has no command to 
  return a list of all known keys ...

  Indirectly possible through 'nvlist' and stripping out the 
  data elements.


tkt_uuid: 1680877fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: asn
priority: 5 Medium
foundin: None
title: procedures to get/set ber encoded data independ of tag
cmimetype: text/plain
submitter: mpc_janssen
assignee: mic42
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: 501577ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Works For Me
subsystem: pop3
priority: 8
foundin: None
title: Delete reorders requests?
cmimetype: text/plain
submitter: dnew
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-04-10T01:17:22
comment:
  On a mailbox with multiple messages, the following does not process all of them:

  package require pop3 ; # from TclLib

  proc checkmail {} {
      set chan [::pop3::open pop-server.san.rr.com xxxxx secret]
      set x [lindex [::pop3::status $chan] 0]
      puts "x=$x"
      for {set i 0} {$i < $x} {incr i} {
          set msg [::pop3::retrieve $chan [expr $i+1]]
          puts "len msg=[string length $msg]"
          ::pop3::delete $chan [expr $i + 1]
      }
      ::pop3::close $chan
  }

  checkmail

  Instead, it seems to only process the first few messages, failing to retrieve or delete the others.

  If the messages are being renumbered by the deletion, then the man page entry stating
  Note, the indices are not reordered on the server,
  should be fixed, but that doesn't seem to be the problem.


tkt_uuid: 1699575fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: graph
priority: 3 Low
foundin: None
title: criticl accelerators have wrong error msgs with Tcl 8.5
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2008-03-08T02:55:33
comment:
  The struct::graph testsuite throws a lot of errors due to wrong style error messages when using Tcl 8.5 and the critcl wrappers.


tkt_uuid: 674331ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: irc
priority: 5 Medium
foundin: None
title: irc: Tcl requirement not specified
cmimetype: text/plain
submitter: dgp
assignee: davidw
closer: dgp
closedate: 2003-01-25T18:06:27
comment:
   package require Tcl $requiredVersion

  should be added to the package. Would
  be nice to add checks to the index script
  (pkgIndex.tcl file) as in other tcllib packages
  as well.


tkt_uuid: 687912ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: crc
priority: 5 Medium
foundin: None
title: crc16.tcl missing in tcllib-1.[23].tar.gz
cmimetype: text/plain
submitter: nobody
assignee: patthoyts
closer: patthoyts
closedate: 2003-02-17T21:03:23
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
resolution: Works For Me
subsystem: bwidget
priority: 5 Medium
foundin: None
title: NoteBook can't accept page named "C:\foo\bar"
cmimetype: text/plain
submitter: vincentdarley
assignee: hobbs
closer: hobbs
closedate: 2003-07-17T19:58:49
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: 1727793fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: apps : request for new app
priority: 5 Medium
foundin: None
title: ijbridge: Add nick address to jabber WHOIS return
cmimetype: text/plain
submitter: mpc_janssen
assignee: nobody
closer: patthoyts
closedate: 2008-01-27T00:18:47
comment:
  Currently it is not possible from jabber to determine the host from which an IRC user is logged in (the host field is usually empty) This makes it impossible to check if an IRC user might be a well known troll.

  However the response 311 on the WHOIS request does contain the required info. Therefore I request an additional line Address: is added to the return.

  The following changes should be enough to add this:

  In proc client::registerhandlers

  # change the 311 registerevent to (I was unable to test if [additional] is what's needed:
  $cn registerevent 311 {
  set ::client::whois(realname) [msg]
  set ::client::whois(address) [additional]
  }

  # and in the 318 registerevent add:
  append info "Address: $whois(address)"


tkt_uuid: 2499603fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: fileutil::jail returns wrong results in repeated execution
cmimetype: text/plain
submitter: apnadkarni
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2009-09-24T22:29:33
comment:
  See console output below:

  (woof) 48 % package require fileutil
  1.13.5
  (woof) 49 % ::fileutil::jail /temp /a
  /temp/a
  (woof) 50 % ::fileutil::jail /temp /a
  /a
  (woof) 51 % ::fileutil::jail /temp /b
  /temp/b
  (woof) 52 % ::fileutil::jail /temp /b
  /b

  I see this as pretty serious given the intent of jail is to provide some level of security.

  Platform is Tcl 8.6b1 on XP

  /Ashok


tkt_uuid: 3419727fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: inifile
priority: 9 Immediate
foundin: None
title: global variable key is destroyed during file open procedure
cmimetype: text/plain
submitter: tclelch
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2011-12-02T22:24:23
comment:
  code snipset out of
  # RCS: @(#) $Id: ini.tcl,v 1.15 2008/05/11 00:53:58 andreas_kupries Exp $

  the line
    ::set key [string trim [lindex $line 0]]

  destroys the content of the global variable  "key". 


tkt_uuid: 1869943fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Rejected
subsystem: base64
priority: 5 Medium
foundin: None
title: base64::decode fails while decoding invalid base64 strings
cmimetype: text/plain
submitter: billiob
assignee: andreas_kupries
closer: patthoyts
closedate: 2008-01-26T23:18:25
comment:
  base64::decode fails while decoding invalid base64 strings.
  If the string is "=" or "àà=" or "{what ever you want invalid base64 characters}={what ever you want}", it will bug when reading the "=" character.

  With the patch, it will return the empty string.


tkt_uuid: 438748ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: Misc typo fixes in man pages
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-07-06T18:31:24
comment:
  Here are some fixes for the tcllib man pages.
  The typos fixed are pretty consistent.  The
  comment lines added allow Sun man command to format
  the pages.


tkt_uuid: 1798420fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: doctools
priority: 5 Medium
foundin: None
title: Documenting C functions
cmimetype: text/plain
submitter: sdeasey
assignee: andreas_kupries
comment:
  Here's an example:

  http://naviserver.sourceforge.net/3/naviserver/files/Ns_Sls.html
  http://naviserver.cvs.sourceforge.net/naviserver/naviserver/doc/src/man3/Ns_Sls.man?view=markup


  - In the Synopsis and Functions sections there are no parentheses around the function arguments. They don't look like C functions.


  - The argument names are listed, but not their types. It's not clear from the doctools docs how to identify pointers, arrays etc.


  - How do do you make doctools arrange it so that when the man pages are installed and a user types

      $ man Ns_SlsAlloc

  the Ns_Sls man page appears, which documents all the sls functions?


tkt_uuid: 981764ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 5 Medium
foundin: None
title: label problem in BWidget-1.2.1
cmimetype: text/plain
submitter: joshim
assignee: damonc
closer: hobbs
closedate: 2004-09-14T20:49:15
comment:
  Error in startup script: unknown option "-label"
      while executing
  "error "unknown option \"$option\"""
      (procedure "Widget::parseArgs" line 7)
      invoked from within
  "Widget::parseArgs ComboBox $args"
      (procedure "ComboBox::create" line 3)
      invoked from within
  "ComboBox $parent.mscCombo -label "MSC"  -labelwidth 
  5 -labelanchor w  -textvariable save::mscNo  -values { 
  apollo athena mscE mscS }  -width 8  -helpt..."
      (procedure "_MscCell" line 7)
      invoked from within
  "_MscCell  [$mscCellFrame getframe]"
      (procedure "save::create" line 11)
      invoked from within
  "save::create $notebook"
      invoked from within
  "set f0  [save::create $notebook]"


tkt_uuid: 1027568fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: MainFrame: showstatusbar does not restore bottom frame.
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: dev_null42a
closedate: 2006-03-24T22:30:34
comment:
  Hi,

  For the MainFrame widget the following occurs.

  .mf showstatusbar none
  .mf showstatusbar progression

  The first time showstatusbar with "none" is specified
  it unmaps the bottom frame. Then when progression
  is specified the bottom frame is not mapped. The
  status bar and progressbar come back but not the
  bottom frame they were in.

  I was able to fix it by modifying the showstatusbar proc
  to pack the bottom frame and not just the status bar
  when the name argument is not "none".

  Greg Pierce


tkt_uuid: 2995969fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ListBox: No multiple drag
cmimetype: text/plain
submitter: oehhar
assignee: oehhar
closer: oehhar
closedate: 2010-05-05T06:56:48
comment:
  A BWidget listbox with multiple selection may not do multiple drag and drop.

  Code:
  pack [ListBox .l -selectmode multiple -dragenabled 1 -dropenabled 1]
  foreach item {A B C D E F} { .l insert end $item -text $item}

  Action:
  * Select item "A" and "B" with shift-select.
  Issue 1:
  * Click on the selection on "A" and move to the end of the list (to get a line) and drop (release mouse button)
    -> the click will unselect "B" and only item "A" will be moved to the end

  Issue 2:
  * (Restart script and select A and B)
  * Shift-Click on the selection on "A" and move to the end of the list (to get a line) and drop (release mouse button)
    -> Only item "B" will be moved to the end

  Reported by Robert Karen on c.l.t:
  http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/90362f0d0200a5b9/22ffbc8fc3196a1f#22ffbc8fc3196a1f


tkt_uuid: 3440058fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: pki
priority: 5 Medium
foundin: None
title: (pki) Key related stuff
cmimetype: text/plain
assignee: rkeene
closer: rkeene
closedate: 2013-01-07T05:19:02
comment:
  ::pki::rsa::generate and ::pki::pkcs::parse_key procs only handles the n,e,d vaules of a key, and calculates the size.  On file attached, there is the full info of the rsa key set.

  There is a new proc to converts the tcl stored key to pem, also with DES password encryption option, which is fully recognized by openssl.  (Not sure if it is named properly)

  However, there is a little bug i can not find yet after generating a rsa key, which sometimes makes crash the ::pki::pkcs::create_csr process, but it can be fix by generating a key then convert to pem then parse it back.

  btw, i get an "integer value too large to represent" error when generating a 4096bit length key on ::pki::_isprime, should i post it as a bug?

  Regards,

  -=Raul=-


tkt_uuid: 1961881fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 6
foundin: None
title: mime - termination string missing error
cmimetype: text/plain
submitter: ejunkermann
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2008-05-21T19:42:47
comment:
  See bug 631314 for some past history of this.

  The error termination is annoying me, and the pre-631314 code would avoid it, except that in some cases it causes an infinite loop.

  This seems to be because the older code changes the value of line, without changing the value stored for its length (in the meaningfully-named variable x). the following patch seems to deal with this, avoiding both the error and the infinite loop:

  *** 832,839 ****
        while {$moreP} {
            if {$fileP} {
                if {$pos > $last} {
  !                  error "termination string missing in $state(content)"
                     set line "--$boundary--"
                } else {
                  if {[set x [gets $state(fd) line]] < 0} {
                      error "end-of-file encountered while parsing $state(content)"
  --- 832,840 ----
        while {$moreP} {
            if {$fileP} {
                if {$pos > $last} {
  !                  # error "termination string missing in $state(content)"
                     set line "--$boundary--"
  +                set x [string length line]
                } else {
                  if {[set x [gets $state(fd) line]] < 0} {
                      error "end-of-file encountered while parsing $state(content)"


tkt_uuid: 720024ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: BWidget ComboBox claims selection on FocusIn
cmimetype: text/plain
submitter: jenglish
assignee: jenglish
closer: hobbs
closedate: 2003-04-12T19:37:47
comment:
  The BWidget ComboBox automatically selects the (entire)
  entry contents whenever it receives a <FocusIn> event,
  (asserting ownership of the PRIMARY selection in the
  process).

  This is appropriate when the widget receives focus due
  to keyboard traversal, but not for all <FocusIn>
  events.  (For example, if the user changes focus to a
  different toplevel or application and back again, the
  ComboBox should not reselect its contents.)


tkt_uuid: 1641071fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: tklib :: tooltip
priority: 5 Medium
foundin: None
title: Add alpha fading to tooltips
cmimetype: text/plain
submitter: tallniel
assignee: hobbs
closer: hobbs
closedate: 2007-10-31T18:47:38
comment:
  This patch adds simple alpha-transparency fading to the tooltip package on platforms that support [wm attributes -alpha]. I find this adds a little bit of extra polish. Possibly might want an option to disable this behaviour.

  PS - the tracker is missing a category for the tooltip package.

  PPS - I find most changing the label to -bd 0 in tooltip::show looks "better" on Mac OS X/Aqua (i.e., looks more like the tooltips in native/Cocoa apps).


tkt_uuid: 1308006fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: ftp
priority: 5 Medium
foundin: None
title: ftp::List problem on Windows
cmimetype: text/plain
submitter: cdclercq
assignee: gwlester
comment:
  When connection to a windows server
  whith ftp::Open ...

  Then:
  ftp::List $h "filename-which-does-not-exists"
  --> error     error | E: Error receiving list!

  When I add try with "x*" no problem. 
  An empty string is returned: meaning no file starting
  with x.

  When I connect to a Solaris server:
  ftp::List $h "filename-which-does-not-exists"
  works fine (without adding the *)


tkt_uuid: 891024ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: color handling problems for unrecognised users
cmimetype: text/plain
submitter: patthoyts
assignee: patthoyts
closer: patthoyts
closedate: 2004-02-05T15:22:47
comment:
   can't read "Options(Color,<[A]bomination>,Web)": no
  such element in array
      while executing
  "string compare $Options(Color,$nick,Web) $clr"
      (procedure "checkNick" line 23)
      invoked from within
  "checkNick $nick $clr"
      (procedure "addAction" line 3)
      invoked from within
  "addAction $clr "<$truenick>" $msg $mark"
      (procedure "addMessage" line 35)
      invoked from within
  "addMessage "" $nick $msg HISTORY"
      (procedure "::tkchat::LoadHistoryLines" line 15)
      invoked from within
  "::tkchat::LoadHistoryLines"
      ("after" script)


tkt_uuid: 586720ffffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
resolution: Not Applicable Here
subsystem: mclistbox
priority: 5 Medium
severity: Minor
foundin: None
title: comcmd itemconfigure, few options added
cmimetype: text/plain
submitter: ashalagi
assignee: afaupell
closer: aku
closedate: 2456444.39682431
comment:
  Command itemconfigure index column list ?list 
  Allows one to configure any given cell of a 
  mclistbox. The arguments index and column specify a 
  cell to be configures. 
  list argument is a set of option-value pairs as in the 
  listbox command itemconfigure. 

                    
  ::mclistbox::ResizeColumnsOfAllListboxes 
  This command adjusts widths of columns according to set 
  fonts of all mclistboxes in active an application. This 
  function is supposed to be called after any font 
  change. 

  Option -selectcolumn 
  Specifies behavior of selection. If -selectcolumn is 
  set to 1 and -selectmode is set to single, 
  then only one cell instead of hole line is highlighted 
  upon click. Default value is 0. 

  Opton -usexscroll 
  Specifies whether corresponding xscrollbar is visible. 
  This option works only if -usecolumnxscroll is set to 
  1. If the value is 1, 
  it makes corresponding xscrollbar visible. Default 
  value is 1. 


  PS. Sorry for previous anonymous submission of the same
  patch.

  Arkdi


tkt_uuid: 953854ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: htmlparse
priority: 1 Zero
foundin: None
title: Errors when parsing HTML to a tree
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-18T06:15:37
comment:
     Hello,

  In func

  proc ::htmlparse::mapEscapes

  line: return [subst $new]
  should change to:
     return [subst -nobackslashes -novariables $new]

  If not, if new has a backslash \, the subs breaks the 
  string (specially noted in paths on Windows)

  -------
  In func

  ::htmlparse::Reorder

  Lines:
      if {
         $sibling == {} ||
         (![string compare $tp [$tree get $sibling type]])
                   } {
                       break
                   }
  Should change to:
         if { $sibling == "" } { break }
         if { [lsearch "h1 h2 h3 h4 h5 h6 p li" [$tree get
                   $sibling type]] != -1 } {
      break
       }

    Second option is less agressive when reordering tags.

    Regards,

    Ramon Ribó
    ramsan@cimne.upc.es


tkt_uuid: 595240ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
title: patch for mime & mbot example files
cmimetype: text/plain
submitter: mrose
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-08-15T17:06:20
comment:
  andreas - attached are two files

  1. a small patch to mime.tcl that makes it more robust with 
  respect to a common mime encoding error

  2. some new files that go under modules/mime/examples/

  thanks!

  /mtr


tkt_uuid: 1391776fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: asn
priority: 5 Medium
foundin: None
title: asn::asnObjectIdentifier incorrectly encodes OIDs
cmimetype: text/plain
submitter: nobody
assignee: mic42
closer: mic42
closedate: 2005-12-30T16:24:41
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
resolution: Works For Me
subsystem: tklib :: ico
priority: 5 Medium
foundin: None
title: Problems with package ico
cmimetype: text/plain
submitter: nobody
assignee: afaupell
closer: afaupell
closedate: 2009-02-20T03:47:12
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
cmimetype: text/plain
submitter: nobody
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2007-05-08T07:09:10
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: 1824212fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: md5
priority: 5 Medium
foundin: None
title: add proc to generate salt
cmimetype: text/plain
submitter: afaupell
assignee: patthoyts
closer: patthoyts
closedate: 2008-01-26T23:57:07
comment:
  this would be really handy to have included as part of the module, for generating passwords. here is my version:

  proc salt {len {chars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/.}} {
      set salt {}
      set size [string length $chars]
      while {$len > 0} {
          append salt [string index $chars [expr {int(rand() * $size)}]]
          incr len -1
      }
      return $salt
  }

  set enc_pass [::md5crypt::aprcrypt [salt 8] $pass]


tkt_uuid: 917877ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Duplicate
subsystem: bwidget 1.x
priority: 5 Medium
severity: Minor
foundin: None
title: Add state readonly for Entry (and LabelEntry)
cmimetype: text/plain
submitter: mbroeken
assignee: oehhar
closer: oehhar
closedate: 2456614.90203174
comment:
  The Entry and LabelEntry widgets don't support the
  readonly-state like entry in pure Tk. This state is a
  perfect mix between normal and disabled because it can
  handle user events without changing its value.


tkt_uuid: 433970ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: frink/procheck results
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-06-22T15:30:45
comment:
  Applied frink 2.1.1 and procheck to the script code in
  tcllib. The enclosed patch is the results, fixing bugs,
  warnings, partially supressing warnings which are
  bogus.


tkt_uuid: 1784637fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math :: linearalgebra
priority: 5 Medium
foundin: None
title: Changes in matmul between vers. 1.0 and 1.0.1
cmimetype: text/plain
submitter: bwallner
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2009-11-16T08:22:07
comment:
  I found a different (wrong) behaviuor between version 1.0 and 1.0.1 in matrix multiplikation. See the attached file.
  The result for variable pvv should be: 1.6848 (vers. 1.0)
  but I got: 0.5220 0.1606 0.2770 0.3830 0.4059 ...


tkt_uuid: 556077ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 3 Low
foundin: None
title: Tree::see should only scroll vertically
cmimetype: text/plain
submitter: jenglish
assignee: hobbs
closer: hobbs
closedate: 2002-10-14T19:42:08
comment:
  The Tree::see $n command scrolls both horizontally and
  vertically to bring the label for node $n in view. 
  However, if the label is too large to fit within the
  window, the horizontal scrolling obscures the tree
  controls (icons and checkboxes).

  The attached patch fixes this problem by removing the
  horizontal scroll entirely.


tkt_uuid: 725231ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math
priority: 8
foundin: None
title: math:statistics has scope errors
cmimetype: text/plain
submitter: dgp
assignee: arjenmarkus
closer: andreas_kupries
closedate: 2003-04-24T19:08:12
comment:
  the routines in the file liststat.tcl
  accept $expression arguments.

  These routines can only work correctly
  if [uplevel] is used to evaluate those
  $expression values.

  Currently [uplevel] is omitted and
  none of these commands works;
  does not even pass its own test
  suite.


tkt_uuid: 756893ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: smtpd
priority: 5 Medium
foundin: None
title: Error in rcpt
cmimetype: text/plain
submitter: barcellos
assignee: patthoyts
closer: patthoyts
closedate: 2003-06-19T21:51:53
comment:
  When I use a "command" rcpt , I receive an eror:
  ----
  mail from:x
  501 Syntax error in parameters or arguments
  ----

  In server a message log is:

  ----
  debug     received: mail from: x
  debug     MAIL failed wrong # args: should be "array
  set arrayName list"
  ----

  I get tcllib1.4, tcl8.4.3 and tk8.4.3 today.

  When I use tcllib1.3 with same program I don't receive
  this error.

  For test only, I downgrade for "tcllib1.3", execute the
  same program, and the er

  In "telnet localhost 25"
  -----
  mail from:x
  250 OK
  -----

  In SERVER
  -----
  debug     received: mail from:x
  debug     MAIL FROM: x@fb.home
  -----

  Thank you.

  FB

  P.S.: I'm sorry, my english is bad!!!!


tkt_uuid: 3167248fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: Release file tcllib-1.13.tar.gz is corrupt
cmimetype: text/plain
submitter: egavilan
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2011-01-29T22:29:17
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
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Insufficient PagesManager documentation
cmimetype: text/plain
submitter: setok
assignee: damonc
closer: dev_null42a
closedate: 2006-02-10T22:04:00
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: 907904ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: None
priority: 8
foundin: None
title: Patches to adjust startup for modules and examples
cmimetype: text/plain
submitter: stwo
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-05-03T22:22:57
comment:
  These are the patches used in the OpenBSD port of
  Tcllib to adjust the 'exec tclsh' lines of scripts.


tkt_uuid: 1191607fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftp
priority: 5 Medium
foundin: None
title: Multi-line ftp messages are lost
cmimetype: text/plain
submitter: cdclercq
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-11-09T18:20:21
comment:
  In ::ftp::StateHandler multilines messages are not
  handled correctly, only the first messageline is kept.

  The loop :
  while { [string equal $multi_line "-"] } {
  --> Throws away the 'buffer' variable

  eg. When I do a manual ftp via UNIX ftp I get:
  ftp> put timesheet.xml
  200 PORT Command successful
  150 ASCII Data Connection
  550- Error Response
  ORA-31038: Invalid boolean value: "False"
  550 End Error Response
  ftp>


  --> In ::ftp::DisplayMsg the msg inputparameter
  only contains " Error Response " and not the 2 next lines
  with more info (I want to log this errors).


  I think the multiline text should be concatenated in
  msgtext.

  Regards,
  Christophe De Clercq


tkt_uuid: 2695618fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math :: linearalgebra
priority: 8
foundin: None
title: MkWilkinson- is also false...
cmimetype: text/plain
submitter: relaxmike
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2009-03-20T18:00:47
comment:
  Compute the Wilkinson - matrix of size 5 :

  math::linearalgebra::show [math::linearalgebra::mkWilkinsonW- 5]
  2.0000 1.0000 0.0000 0.0000 0.0000 
  1.0000 3.0000 1.0000 0.0000 0.0000 
  0.0000 1.0000 4.0000 1.0000 0.0000 
  0.0000 0.0000 1.0000 5.0000 1.0000 
  0.0000 0.0000 0.0000 1.0000 6.0000

  Notice that the diagonal terms are increasing.
  But the formula gives 
  Aii= [n/2]+1-i
  so that the diagonal terms must decrease.

  The following is a fix :

  proc mkWilkinsonW- { size } {
      set result {}
      for { set j 0 } { $j < $size } { incr j } {
          set row {}
          for { set i 0 } { $i < $size } { incr i } {
              if { $i == $j } {
                  set entry [expr {int($size/2) + 1 - ($i+1)}]
              } elseif { $i == $j+1 || $i+1 == $j } {
                  set entry 1
              } else {
                  set entry 0
              }
              lappend row $entry
          }
          lappend result $row
      }
      return $result
  }

  math::linearalgebra::show [mkWilkinsonW- 5]

  2.0000 1.0000 0.0000 0.0000 0.0000 
  1.0000 1.0000 1.0000 0.0000 0.0000 
  0.0000 1.0000 0.0000 1.0000 0.0000 
  0.0000 0.0000 1.0000 -1.0000 1.0000 
  0.0000 0.0000 0.0000 1.0000 -2.0000 


tkt_uuid: 1599978fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: log
priority: 5 Medium
foundin: None
title: RFE: add emergency and alert levels to logger
cmimetype: text/plain
submitter: hemanglavana
assignee: mic42
closer: mic42
closedate: 2007-02-08T22:11:04
comment:
  Hi,

  The syslog protocol supports the following levels of severity (copied from http://tools.ietf.org/html/rfc3164#section-4.1.1):

  ---------------------
          Numerical         Severity
            Code

             0       Emergency: system is unusable
             1       Alert: action must be taken immediately
             2       Critical: critical conditions
             3       Error: error conditions
             4       Warning: warning conditions
             5       Notice: normal but significant condition
             6       Informational: informational messages
             7       Debug: debug-level messages

             Table 2. syslog Message Severities
  ---------------------

  The "emergency" and "alert" levels are currently missing from tcllib's logger package. These should be added to make it consistent with syslog protocol.


tkt_uuid: 739387ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: pop3
priority: 5 Medium
foundin: None
title: -ERR authorization first on pop3::open
cmimetype: text/plain
submitter: mindtrader
assignee: andreas_kupries
closer: sf-robot
closedate: 2006-10-13T02:20:09
comment:
  I have trouble connecting to one of my mailservers with
  pop3::open. 
  It gives me:
  +OK (for socket)
  +OK (for user)
  -ERR autorization fist (for password), I will enquire
  as to the specifics of this server, but I wanted to
  post this first in case anyone else had come across a
  similar problem.

  My other mailserver works with no problems.

  I will attempt to investigate this myself and post
  followup if I find something.


tkt_uuid: 883573ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: ftp
priority: 5 Medium
foundin: None
title: ftp change directory problems
cmimetype: text/plain
submitter: dejavo
assignee: gwlester
comment:
  There is a problem changing to directories with some
  special
  characters.

  I checked the ftp with gftp client and the directories
  are accessible.

  Roi


tkt_uuid: 1664626fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: blowfish
priority: 5 Medium
foundin: None
title: s/token/Key/ in blowfish::Chunk
cmimetype: text/plain
submitter: tallniel
assignee: patthoyts
closer: patthoyts
closedate: 2007-03-12T22:59:25
comment:
  The blowfish::Chunk procedure has the line
   upvar #0 $token state
  but is not actually passed a token argument. Instead, it seems the Key argument should be used:
   upvar #0 $Key state

  The attached minimal patch fixes this (apply from within the modules/blowfish dir).


tkt_uuid: 784523ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: (unused)
priority: 7 High
foundin: None
title: make install fails on Mac OS X
cmimetype: text/plain
submitter: duquette
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-10-21T19:36:43
comment:
  On Mac OS X, configure generates a Makefile with 
  extraneous carriage returns in the VERSION and pkglibdir 
  variables.  There might be additional problems as well.

  My suspicion is that the following calls to sak.tcl in 
  configure.in are responsible:

  PACKAGE=`$TCLSH_PROG ${srcdir}/sak.tcl name`
  MAJOR_VERSION=`$TCLSH_PROG ${srcdir}/sak.tcl major`
  MINOR_VERSION=`$TCLSH_PROG ${srcdir}/sak.tcl minor`


tkt_uuid: 457129ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 1 Zero
foundin: None
title: SNMP functions
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-10-20T20:31:32
comment:
  Presently I'm using shelling out to use SNMP from net-
  snmp, but it could be really cool if we could control 
  SNMP with Tcl as a package.  Actually exec everytime 
  does put a high overhead and it's pretty slow.

  I don't how hard would it be to connect directly to 
  the net-snmp API.

  S.


tkt_uuid: 3477684fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: crc
priority: 5 Medium
foundin: None
title: CRC of binary string: bad parsing
cmimetype: text/plain
submitter: tmmenezes
assignee: patthoyts
closer: patthoyts
closedate: 2012-01-23T20:28:24
comment:
  Calculating the CRC of a binary string can break the library.
  This happens when the input binary string includes the ASCII code for text symbol '-'.
  The proc parsing the input data breaks the input binary string into options because of '-'
  See attached file with example.


tkt_uuid: 224476ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
priority: 5 Medium
title: BWidget - MainFrame::setmenustate broken
cmimetype: text/plain
submitter: jenglish
assignee: jenglish
closer: andreas_kupries
closedate: 2001-06-20T15:01:49
comment:
  The following script works with BWidget 1.2.1, but raises an error in 1.3.0:

  --
  package require BWidget
  MainFrame .mf -menu {
          &File {fileTag} file 0 { }
  }
  pack .mf -side top -expand true -fill both
  .mf setmenustate fileTag disabled;# <== here's the problem
  --
  The error message is:
  --
  Error in startup script: syntax error in expression "1 && disabled"
      while executing
  "expr $expression"
      (procedure "MainFrame::setmenustate" line 25)
      invoked from within
  "MainFrame::setmenustate .mf fileTag disabled"
      ("eval" body line 1)
      invoked from within
  "eval MainFrame::$cmd .mf $args"
      (procedure ".mf" line 1)
      invoked from within
  ".mf setmenustate fileTag disabled"
  --

  It looks like this was introduced in mainframe.tcl revision 1.2.

  Suggested fix: revert to the old implementation.


tkt_uuid: 663394ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: None
priority: 6
foundin: None
title: Update all.tcl
cmimetype: text/plain
submitter: andreas_kupries
assignee: dgp
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
resolution: Fixed
subsystem: inifile
priority: 5 Medium
foundin: None
title: inifile test suite failures
cmimetype: text/plain
submitter: dgp
assignee: afaupell
closer: andreas_kupries
closedate: 2004-03-07T07:27:10
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: 528433ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: math
priority: 5 Medium
foundin: None
title: Update for "calculus" module
cmimetype: text/plain
submitter: arjenmarkus
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-03-14T19:35:02
comment:
  Sorry, I am not quite sure how to upload new versions
  of the source code, so I use the bug tracking system
  for this.

  The attached file is an update for the calculus module:
  improved sources, improved documentation.


tkt_uuid: 732597ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: general request
priority: 5 Medium
foundin: None
title: move tcllib doc generation to build step
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
comment:
  Currently the tcllib generated Makefile generates the
  nroff documentation each time one does a make install.

  This means that if one has to install the library on
  1000 machines, the doc has to be generated a 1000 times.

  A change to make use of the Makefile, the target could
  be set up to only build the pieces which are out of
  date, and to do so once, at build time, saving computer
  resources and user time.


tkt_uuid: 447022ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: tcllib packages not immediately loadable
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-08-02T18:12:27
comment:
  With Tcl 8.2.3...

  Install tcllib 1.0.  Then try the demo in the
  ftp module:

  $ cd modules/ftp
  $ wish ftpdemo.tcl
  Error in startup script: can't find package ftp 2.0
      while executing
  "package require ftp 2.0"
      (file "ftpdemo.tcl" line 25)

  The problem is that tcllib doesn't install its
  constituent packages in a directory relative
  to the default $::auto_path where they will
  be loaded.

  After one failed [package require], the index
  script for "tcllib" itself will augment $::auto_path
  with an additional search directory, so the packages
  will be found on the second attempt.

  Later releases of Tcl (8.3.1+) have changed the
  default [package unknown] behavior so that it
  keeps searching for pkgIndex.tcl files as long
  as the value of $::auto_path keeps changing...

  ...but if tcllib's installation depends on that,
  then the whole tcllib collection ought to

  package require Tcl 8.3.1

  I think we want (most of) tcllib usable with Tcl 8.2.
  This can be accomplished with some special
  processing in tcllib's index script.


tkt_uuid: 1414589fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: snit
priority: 7 High
foundin: None
title: [package require snit] stomps on $::dir
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-31T04:49:24
comment:
  % set dir "Important Data"
  Important Data
  % package require snit     
  1.1
  % set dir
  /local/src/tcllib/modules/snit


  Stay in your own namespace, snit!


  :)


tkt_uuid: 1362899fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ButtonBox does calculate homogenous sizes correctly
cmimetype: text/plain
submitter: dev_null42a
assignee: dev_null42a
closer: dev_null42a
closedate: 2006-01-31T15:13:35
comment:
  Given a ButtonBox with -homogeneous 1 and -orient
  horizontal, it is possible for buttons to be
  incorrectly sized.  The [_redraw] procedure attempts to
  determine the maximum button width and then sets the
  columns' minsize.  However, it has not scanned /all/ of
  the buttons and thus only knows the maximum size up to
  that point; there could be an even larger button later
  in the list.

  The following code was tested under Linux/x86, Tk 8.4,
  and BWidgets 1.7:

  % package require BWidget
  1.7
  % Dialog .test -homogeneous 1
  .test
  % .test add -text "ok" ; .test add -text "really long
  cancel button"
  .test.bbox.b1
  % puts [grid columnconfigure .test.bbox 0 -minsize];
  puts [grid columnconfigure .test.bbox 2 -minsize]
  44
  169
  % .test draw

  Attached to this bug report is a patch that correctly
  calculates button widths.  It should work for all cases.


tkt_uuid: 861277ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: htmlparse
priority: 5 Medium
foundin: None
title: htmlparse.tcl: backslashes in content
cmimetype: text/plain
submitter: jenglish
assignee: jenglish
closer: andreas_kupries
closedate: 2004-10-04T18:58:23
comment:
  htmlparse::parse fails if backslashes appear in content:

  htmlparse::parse "<p>\\</p>"
    ==> error "Missing close-brace"


tkt_uuid: 1693491fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: grammar_fa
priority: 5 Medium
foundin: None
title: Expand the grammar::fa::dexec
cmimetype: text/plain
submitter: rftghost
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2007-04-05T21:35:07
comment:
  Here is my implementation for the feature request. I only did the .tcl and the .man. I don't quite understand the .test format and procedures, so no .test file.

  Thanks,
  Bogdan.


tkt_uuid: 601960ffffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
resolution: None
subsystem: cmdline
priority: 5 Medium
foundin: None
title: New Proc: cmdline::parseargs
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-09-06T20:53:30
comment:
  Please see the attached cmdline.tcl file, which
  includes a new proc "cmdline::parseargs".

  Here is a usage example:

  cmdline::parseargs \
  {startPath.arg {safeFlag} port.arg {host.arg 127.0.0.1}} \
  {stuff {morestuff 0}} $argv

  This gives the proc the following cmdline:
  -startPath <path> -port <port> ?-safeFlag? ?-host?
  stuff ?morestuff?

  It's been a tremendously valuable proc for my own work.
  Enjoy -- it's yours. If possible, I'd appreciate
  inclusion of the credit line in the file head (see
  attached file) but you can take it out if you want.

  -Ed


tkt_uuid: 3458158fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tklib :: widget
priority: 8
foundin: None
title: widget::calendar 1.0
cmimetype: text/plain
submitter: maxjarek
assignee: andreas_kupries
closer: haertel
closedate: 2011-12-13T21:29:10
comment:
  widget::dateentry use widget::calendar for select date. New version widget::calendar 1.0 has wrong bindings. Click on month/year close calendar frame. Version 0.98 calendar works fine.


tkt_uuid: 3603562fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tklib: crosshair
priority: 7 High
foundin: None
title: confine crosshair::crosshair to a canvas area
cmimetype: text/plain
submitter: franktx
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2013-04-04T03:39:58
comment:
  Hi,

  Sorry but I could not find a crosshair category.

  Currently the Tklib crosshair::crosshair  creates the crosshair in the whole canvas. To make this more flexible it would be better to have the ability to confine the crosshair to a location in the canvas (or a series of locations in a canvas).

  In my case I am using PlotChart to create a series of plots. I would like to confine the crosshair in the plot area only. In other words I do not want the cross hairs to extend pass the axis of the graph and running over the plot labels and titles.

  This enhancement can easily be done by passing the BBox (llx lly urx ury) to crosshair. Store the bbox in a crosshair name space variable and when drawing the lines in the move procedure use the bbox boundary as the start and end points of the lines drawn.

  In the case of a series of locations in a canvas, the user can pass a list of BBoxes when the mouse pointer enters one of those areas the same approach will be done with the move procedure but in that case using the BBox associated with that area. Plotchart allows the user to put more than one plot in a canvas. Therefore this will be an even more versatil implementation of crosshair.

  Thanks in advance,
  Frank


tkt_uuid: 478478ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftp
priority: 5 Medium
foundin: None
title: ftp::ModTimePostProcess fails
cmimetype: text/plain
submitter: mrfitz
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-11-08T06:27:26
comment:
  Admittedly this is most likely due to a server-side 
  problem, but I was unable to figure out which RFC 
  covered the MDTM command/response definition.  

  The server:
   (Version wu-2.4(4) Thu Jun 18 14:15:17 PDT 1998) 
  returns from MDTM a string like:
  "213 191010831020526" 
  instead of:
  "213 20010831020526"

  which cause the following code to fail at clock scan 
  (the following lines are split for entry width):

      scan $clock "%4s%2s%2s%2s%2s%2s" \
                year month day hour min sec
      set clock [clock scan \
           "$month/$day/$year $hour:$min:$sec" -gmt 1]


  I do not know how widespread this response may be, but 
  the code could be modified to handle it by replacing 
  the "scan $clock ..." line with:

      if { [string length $clock] == 15 } {
          scan $clock "%2s%3s%2s%2s%2s%2s%2s" \
                    cent year month day hour min sec
          set year [expr ($cent * 100) + $year]
      } else {
          scan $clock "%4s%2s%2s%2s%2s%2s" \
                    year month day hour min sec
      }


tkt_uuid: 1429377fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftp
priority: 5 Medium
foundin: None
title: syntax error in expression " $ftp(State) ne "quit_sent" "
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-06-13T18:34:14
comment:
  The ftp package require for Tcl is 8.2 but the use of
  "ne" to compare strings invalidates this. The "ne"
  keyword was not available till 8.4.  Should either make
  the package require for tcl 8.4 or replace "ne" with
  "string equal"

  Thanks,

  John Mercogliano III
  Contractor, TekSystems
  Systems Integration
  Sentara Health Care
  jxmercog@sentara.com


tkt_uuid: 454718ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: control
priority: 5 Medium
foundin: None
title: Semephore
cmimetype: text/plain
submitter: erempel
assignee: dgp
comment:
  With packages that provide a call back mechanism, it is
  possible to have many essentially background processes.
  Take the http:: package. It is possible to have many
  http::geturl requests running simultaneously, but there
  is really no default way to coordinate the call backs for
  the various open requests.

  A semephore package with the ability to wait on any
  number of call backs is desirable. Using a generic
  waitany routine would require that I be aware of the
  internal variables of the http package to wait on
  changes of these variables. Implimenting all of this in
  a single semephore package allows the same
  functionality without the need to have knowledge of the
  internals of a package.

  As a staring point I submit the following. There may
  have to be changes due to multi-threaded tcl code, but
  its a start none the less.

  #  semephore.tcl
  #  Impementation of semephores
  #
  #  Semephore::Signal token
  #  Semephore::Wait   ?pattern?   - returns token
  #  Semephore::Reset  token

  package provide SemephorePkg 2.1

  # 2.1 - October 22, 2000
  #     - fixed a bug that would result in a very slow
  memory leak

  namespace eval Semephore {
    variable SemData
    array set SemData {}
    variable SemAny 0

    namespace export Signal Wait Reset
  }


  # -------------------------------------------------
  Signal ----
  # Signal a semephore
  proc Semephore::Signal { SemToken } {
    variable SemData
    variable SemAny

    if {![info exist SemData($SemToken)]} then {
       set SemData($SemToken) 1
    } else {
       incr SemData($SemToken)
    }
    incr SemAny
  }

  # -------------------------------------------------
  Wait ----
  # Wait for a semephore
  # Note: Resetting a semephore does not signal it.

  proc Semephore::Wait { args } {
    variable SemData
    variable SemAny

    set Pattern [lindex $args 0]
    if {"$Pattern" == ""} then { set Pattern "*" }
    set FoundFlag 0
    set FoundName ""
    if {$SemAny != 0} then {
      foreach n [array names SemData $Pattern] {
        if {$SemData($n) > 0} then {
          set FoundName $n
          set FoundFlag 1
          break
        }
      }
    }
    while {!$FoundFlag} {
      vwait Semephore::SemAny
      foreach n [array names SemData $Pattern] {
        if {$SemData($n) > 0} then {
          set FoundName $n
          set FoundFlag 1
          break
        }
      }
    }
    if {[incr SemData($FoundName) -1] == 0} then {
      unset SemData($FoundName)
    }
    incr SemAny -1
    return $FoundName
  }

  # -------------------------------------------------
  Reset ----
  # Reset a semephore
  # Note: Resetting a semephore does not signal it.

  proc Semephore::Reset { SemToken } {
    variable SemData
    variable SemAny

    if {[info exist SemData($SemToken)]} then {
      incr SemAny -$SemData($SemToken)
    }
    set SemData($SemToken) 0
  }


tkt_uuid: 1172924fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: tklib: ctext
priority: 4
foundin: None
title: doctools style man for ctext
cmimetype: text/plain
submitter: mic42
assignee: georgeps
closer: georgeps
closedate: 2005-06-21T03:32:49
comment:
  Hi,

  attached you'll find a first cut at doctools style
  documentation for the ctext widget. Maybe it is a
  helpful start for using doctools to document ctext. 

  (I was annoyed that no docs for ctext could be found
  inside ActiveTcl...)


  Michael


tkt_uuid: 472718ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ScrollWindow update idletasks
cmimetype: text/plain
submitter: nobody
assignee: hobbs
closer: hobbs
closedate: 2003-02-25T22:13:36
comment:
  I have noticed that in some rare cases the "update 
  idletask" command added into 
  ScrolledWindow::_set_hscroll and 
  ScrolledWindow::_set_vscroll procs enter into a 
  infinite loop.
  I think loop borns when _set_hscroll or _set_vscroll 
  changes the displayed portions of the contained widget
  (setwidget), thus "update idletask" reach a 
  <configure> binding on the contained widget wich call 
  again _set_hscroll or _set_vscroll.
  Sorry I can't provide a source example, but I'm using 
  Bwidget embedded into a commercial app.


tkt_uuid: 3182287fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Themed ComboBox failes due to themed entry widget
cmimetype: text/plain
submitter: oehhar
assignee: oehhar
closer: oehhar
closedate: 2011-02-15T14:28:58
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: 443645ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: pop3
priority: 5 Medium
foundin: None
title: pop3::retrieve fails...
cmimetype: text/plain
submitter: deery
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-08-02T16:24:34
comment:
  I've been trying out the new tcllib pop3 module 
  included in the latest ActiveTcl distribution 
  (8.3.3.2) some more, and found that pop3::retrieve 
  fails on some POP3 servers with an unknown "size" 
  variable message...

  The new retrieval scheme ("blob" vs. the old "line-by-
  line") assumes POP3 servers _always_ respond with the 
  message size directly after the "+OK" answer. 

  Although an example scenario in the POP3 RFC seems to 
  suggest this, I do not think it is required POP3 
  behaviour (at least from the various versions of the 
  POP3 RFCs I've read [RFC1725, RFC1939]).

  Unfortunatly, various POP3 server implementations 
  think the same way...

  Though I'm somewhat partial to the line-by-line 
  approach [possibly more robust?] myself, the current 
  scheme might still work by issuing a separate command 
  (like LIST) to retrieve the mail message size.

  -- AH.


tkt_uuid: 1042122fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Combobox: placement of dropdown list strange - near bottom
cmimetype: text/plain
submitter: arjenmarkus
assignee: damonc
closer: hobbs
closedate: 2004-10-07T17:34:31
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: 1861370fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: math
priority: 5 Medium
foundin: None
title: Submission: Chi-squared distribution
cmimetype: text/plain
submitter: erickb
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2008-01-18T09:39:47
comment:
  Hi,

  I'm submitting an implementation of the (central) chi-squared distribution.

  This time around, I did a more systematic job of testing the code, by using a test-driven development approach. To do that, I used my little "simple test" library.

  I'm attaching the code that implements the chi-squared library first. Then I'll post the simple test code.

  Dependencies:
   - Gamma distribution
   - Simple test

  Eric


tkt_uuid: 2014172fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: tklib :: tooltip
priority: 5 Medium
foundin: None
title: Unkown option "-highlightthickness" when using ttk
cmimetype: text/plain
submitter: neilhampton
assignee: hobbs
closer: hobbs
closedate: 2008-11-18T00:17:25
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: 3058654fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: doctools
priority: 8
foundin: None
title: Incorrect nroff generation
cmimetype: text/plain
submitter: dkf
assignee: andreas_kupries
comment:
  When generating nroff from a [titledesc] directive, it's important that the description of commands all be placed on a single line. This is because the apropos search tool assumes that these descriptions are on a single line following the ".SH NAME" directive. Right now, you generate output here that is multiline in some cases (found when preparing HTML documentation for the Thread package with Tcl's 'make html', which failed; that's now fixed, but even so...) It's also expected that the part of the NAME description before the \- will be a list of commands described by the manual page, and not the name of the manual page itself. This makes a difference when manual pages describe multiple commands or when the name is not a "good" filename (e.g., by containing a colon).

  It would also be useful if the generation of nroff from [example] used .CS/.CE to surround the example code instead of .nf/.fi as that is converted better. (.CS always marks sample code in some sense, .nf is used for many purposes.)


tkt_uuid: 1908098fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: set
priority: 7 High
foundin: None
title: ::struct::set include errors for non-existing dst variable
cmimetype: text/plain
submitter: sjeanjean
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2008-03-09T04:26:49
comment:
  %puts $tcl_version
  8.5
  % package require struct::set
  2.2.2
  % ::struct::set include myset A      <- non initialized set but there is no constructor!
  can't read "myset": no such variable
  % ::struct::set include myset A      <- second try it's ok ?
  % ::struct::set include myset B
  % ::struct::set include myset C
  % ::struct::set size myset   
  1                                    <- must be 3
  % puts $myset
  A B C
  % ::struct::set exclude myset A
  % ::struct::set exclude myset B
  % ::struct::set exclude myset C
  % puts $myset

  % ::struct::set size myset  
  1                                    <- must be 0
  % ::struct::set empty myset 
  0                                    <- must be true(1)


tkt_uuid: 1348430fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: None
priority: 5 Medium
foundin: None
title: math doc should hint at child namespaces
cmimetype: text/plain
submitter: nobody
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2006-04-25T12:26:11
comment:
  http://tcllib.sourceforge.net/doc/math.html gives no 
  indication that there are sub-namespaces
  math::bignum - Arbitrary precision integer numbers
  math::bigfloat - Arbitrary precision floating-point numbers
  math::constants - Mathematical and numerical constants
  math::statistics - Basic statistical functions and 
  procedures
  math::calculus - Integration and ordinary differential 
  equations
  math::calculus::romberg - Romberg integration
  math::linearalgebra - Linear Algebra
  math::optimize - Optimisation routines
  math::fourier - Discrete and fast fourier transforms
  math::fuzzy - Fuzzy comparison of floating-point 
  numbers
  math::combinatorics - Combinatorial functions in the Tcl 
  Math Library
  math::geometry - Geometrical computations
  math::interpolate - Interpolation routines
  math::complexnumbers - Straightforward complex 
  number package
  math::polynomials - Polynomial functions
  math::special - Special mathematical functions 

  One only finds out when looking at 
  http://tcllib.sourceforge.net/doc/

  I suggest to put links to these on the math page.
  Richard.Suchenwirth-Bauersachs at siemens.com


tkt_uuid: 1528614fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: tree
priority: 9 Immediate
foundin: None
title: Using the C version of struct::tree crashes Tcl 8.4.13
cmimetype: text/plain
submitter: hgiese
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-07-27T20:44:54
comment:
  Hello out there,
  all of a sudden I got the error message 'malformed
  bucket chain in Tcl_DeleteHashEntry'.
  The only significant change I could think of was the
  introduction of tcllib's tree module, so I started
  investigating a bit.
  The attached file demonstrates the bug.

  I only observed it on Win98 (because my XP machine runs
  Tcl 8.4.9) and on 8.4.9 the bug doesn't happen. Also,
  it is limited to the C(ritcl) version - the pure Tcl
  version is clean. So I got a workaround and am still a
  happy camper.

  Best regards and keep up the good work
  Helmut Giese


tkt_uuid: 528287ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: smtp
priority: 5 Medium
foundin: None
title: Explodes for 'From: <>'
cmimetype: text/plain
submitter: nobody
assignee: mrose
closer: andreas_kupries
closedate: 2002-03-18T19:25:32
comment:
  I have some code to replicate a pop3 box by downloading
  it
  and resending it to N other popboxen via SMTP.

  Care is taken to pass the message thru "as is",
  from headers to MIME body.

  Running it against a real-world pop that had 14Mb of
  email,
  it blew up on the RFC valid "bounce" syntax of 'From:
  <>'.

  ----

  -header {Date {Wed, 20 Feb 2002 20:34:04 -0400 (EDT)}} 
  \
  -header {From <>}  \
  -header {Subject {Home Based Employment - No Selling}} 
  \
  -header {Bcc {}}  \
  -header {Message-id <805913@635096>}  \
   '.
  error in From: expecting mailbox in local-part (found
  >)
      while executing
  "error "error in $who: $aprops(error)""
      (procedure "smtp::sendmessage" line 144)
      invoked from within
  "smtp::sendmessage $part -servers vpop1.superb.net  
  -recipients
  [redacted]@orwellian.org,[redacted]@orwellian.org
  -header {Return-path <>}  \
  -header {..."
      ("eval" body line 1)
      invoked from within
  "eval $Build_SMTP"
      (procedure "Main" line 57)
      invoked from within
  "Main
  "
      (file "./Multiplier.tcl" line 130)
  Exit 1


tkt_uuid: 2499978fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: tklib
priority: 5 Medium
foundin: None
title: Infinite bug on widget::scrolledwindow
cmimetype: text/plain
submitter: ofv
assignee: hobbs
comment:
  On a dialog that contains a ttk::treeview  as the widget of a scrolledwindow, when the treeview has certain items, this errors happens:

  too many nested evaluations (infinite loop?)
      (procedure "::snit::RT.CallInstance" line 5)
      invoked from within
  "::snit::RT.CallInstance ::widget::scrolledwindow::Snit_inst1 _set_scroll hsb 0 0.00555556"
  too many nested evaluations (infinite loop?)
      (procedure "::snit::RT.CallInstance" line 1)
      invoked from within
  "::snit::RT.CallInstance ::widget::scrolledwindow::Snit_inst1 _set_scroll vsb 0 0.00403226"
  too many nested evaluations (infinite loop?)
      (procedure "Tree::_update_scrollregion" line 42)
      invoked from within
  "Tree::_update_scrollregion .i_form_1.sw.i_frame.frame.lf_2.sw.tree"
      (command bound to event)
  too many nested evaluations (infinite loop?)
      (procedure "::snit::RT.CallInstance" line 42)
      invoked from within

  (this repeats several times).

  Unneded horizontal and vertical scrollbars are displayed too.

  The problem goes away with this patch:

  Index: scrollw.tcl
  ===================================================================
  --- scrollw.tcl(revision 333)
  +++ scrollw.tcl(working copy)
  @@ -183,7 +183,7 @@
   if {!$realized} { return }
   # This is only called if the scrollbar is attached properly
   upvar 0 $varname sb
  -if {$sb(auto)} {
  +if {$sb(auto) && !$sb(lock)} {
       if {!$sb(lock)} {
   # One last check to avoid loops when not locked
   if {$vmin == $sb(lastmin) && $vmax == $sb(lastmax)} {

  (I didn't remove the second if, which is now redundant, for making clear the ciritical change).


tkt_uuid: 929727ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget notebook page name bug
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: hobbs
closedate: 2004-09-14T21:34:42
comment:
  BWidget notebook page name retrieval uses wrong index.
  Here is the diff that I made:

  diff notebook.tcl BWidget-1.7.0/notebook.tcl 
  336c336
  <       append script " \[NoteBook::_get_page_name [list $path] current 1\]"
  ---
  >       append script " \[NoteBook::_get_page_name [list $path] current 2\]"


tkt_uuid: 3610478fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: None
subsystem: json
priority: 5 Medium
foundin: None
title: json conversion fails on help example
cmimetype: text/plain
submitter: tombert
assignee: hobbs
closer: tombert
closedate: 2013-04-10T16:34:51
comment:
  Tested in Tcl 8.5.14, WinXP

  Working with the example given in the tcllib help file (tcllib/embedded/www/tcllib/files/modules/json/json.html)

  dict2json:
  set j [json::dict2json {Image {IDs {116 943 234 38793} Thumbnail {Width 100 Height 125 Url http://www.example.com/image/481989943} Width 800 Height 600 Title {View from 15th Floor}}}]
  {"Image": IDs {116 943 234 38793} Thumbnail {Width 100 Height 125 Url http://www.example.com/image/481989943} Width 800 Height 600 Title {View from 15th Floor},
  }

  the same json2dict:
  json::json2dict $j
  unexpected token "116" at position 5; expecting STRING

  I put the example into http://jsoneditor.net/ which does not complain, but compresses it a little bit.
  set j {"Image":{"Width":800,"Height":600,"Title":"View from 15th Floor","Thumbnail":{"Url":"http://www.example.com/image/481989943","Height":125,"Width":100},"IDs":[116,943,234,38793]}}

  but the conversion to dict gives:
  json::json2dict $j
  Image



  thx


tkt_uuid: 1428544fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math :: linearalgebra
priority: 5 Medium
foundin: None
title: Incorrect results from math::linearalgebra::matmul
cmimetype: text/plain
submitter: nobody
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2006-04-25T12:25:30
comment:
  Make this 2 rox 1 column matrix using mkMatrix and setrow:
  {2.333 6.7801}
  Call this A so A is:
  2.333
  6.7801

  Now transpose it and call it At so it is:
  2.333 6.7801

  now do math::linearalgebra::matmul $A $At:

  The result is the error: "can't use empty string as
  operand of "*" "

  when it should be: 51.4126

  Now do math::linearalgebra::matmul $At $A:

  The result is: 51.4126
  when is should be:
      5.4429   15.8180
     15.8180   45.9698

  Other multiplication operations seem to work, it is
  this vector case that look like it fails...


tkt_uuid: 772535ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: snit
priority: 3 Low
foundin: None
title: snit: implementation of mymethod command
cmimetype: text/plain
submitter: andreas_kupries
assignee: duquette
closer: duquette
closedate: 2004-08-08T04:21:16
comment:
  To deal with renaming of objects snit provides the 
  command [mymethod] to create code which can be 
  given to callback handlers.

  The generated code essentially refers to the variable 
  $Snit_instance in the unchanging private namespace of 
  the object, which contains the current name of the 
  intance = instance command.

  Example:
       mymethod foo
  generates
       "$Snit_instance foo"

  This is variable reference is a bit problematic. The code 
  executing the callback __must not__ any list command 
  when adding additional arguments to the callback. Which 
  is usual. The moment a list command is used, for 
  example [linsert], or [lappend] to build up the full cllback 
  command the variable reference will be quoted in braces, 
  and the final command will look like:

       "{$Snit_instance} foo arg1 arg2 ..."

  [eval]'ing this fails.

  Example stacktrace

  invalid command 
  name "$::ttable::ttable::Snit_inst1::Snit_instance"
      while executing
  "{$::ttable::ttable::Snit_inst1::Snit_instance} 
  NColChanged 0 3"
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 [linsert $options(-ncolcommand) end 
  $oldncols $ncols]"
      (procedure "Snit_configure-data" line 42)
      invoked from within

  You see how the command is constructed, and the 
  additional quoting generated by this.

  The big problem is that the usage of list commands to 
  construct an eval'able callback is the usual way of doing 
  this.


tkt_uuid: 905906ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: des
priority: 5 Medium
foundin: None
title: des: problem wit variable options - variable not set
cmimetype: text/plain
submitter: arjenmarkus
assignee: patthoyts
closer: patthoyts
closedate: 2005-09-02T21:55:10
comment:
  I got an error report while using the DES module in the
  following way:

  DES::des -mode decode -key $passwd $string

  The loop to analyse the arguments ran into the default
  case and produced an error because the options variable
  was not set. 

  The remedy was simple (after inspecting the code):

  DES::des -mode decode -key $passwd -- $string

  The error message should at least:
  - show the list of valid keywords
  - show an indication that perhaps "--" was forgotten


tkt_uuid: 1427220fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: None
priority: 5 Medium
foundin: None
title: TraceLog: Debugging helper
cmimetype: text/plain
submitter: wildcard_25
assignee: andreas_kupries
comment:
  Looking for a home for this mini app.
  Can be broken up into a log extension and Tk 
  interface if need be.

  The package provides a simple Tcl source code
  execution flow tracer.  It is a detailed tracer that 
  will allow tracing down to the line-level of 
  execution.  It operates by adding traces to 
  procedures and logging the entry arguments and 
  results to the log package. If Tk is available it 
  will log to its own window and redirect ::log 
  messages there as well.

  Example of usage is to add these lines at the start 
  of a script.

  package require TraceLog
  ::TraceLog::Init
  ::TraceLog::SetCreateLog

  Any feedback or comments welcome.


tkt_uuid: 516723ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: doctools
priority: 5 Medium
foundin: None
title: doctools - javadoc like application
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
comment:
  Add library/application which does javadoc like 
  processing of .tcl files and thus auto-generates 
  documentation.


tkt_uuid: 1416784fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: pop3d
priority: 5 Medium
foundin: None
title: pop3d: test suite bugs
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-29T02:09:49
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: 1469593fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
resolution: Accepted
subsystem: csv
priority: 5 Medium
foundin: None
title: csv - Add delimiter support beyond double-quotes
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-06-15T22:00:51
comment:
  The CSV package that comes with tcllib only accepts
  double-quotes as the delimiter character when parsing
  input data or when generating output.

  I have changed it to accept any character as delimiter.
   The delimiter can be specified as an optional extra
  argument. 


  Sample:

  % package req csv

  % ### use single quote as delimiter
  % set line "1,'abc , def',ttt,20.5"


  % csv::split $line , '
  1 {abc , def} ttt 20.5

  % ### join the list back again with @ as delimiter
  % ### and : as separator
  % set line2 [csv::join [csv::split $line , '] : \@]
  @1@:@abc , def@:@ttt@:@20.5@

  % ### get back the original list
  % csv::split $line2 : @
  1 {abc , def} ttt 20.5


tkt_uuid: 3105665fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget 1.x
priority: 5 Medium
foundin: None
title: bwidget menu white on white
cmimetype: text/plain
submitter: ssmedley
assignee: oehhar
closer: oehhar
closedate: 2010-11-09T16:01:53
comment:
  Using BWidget v1.8.0 or v1.9.2 on Mac OS X 10.6.4, menu item text is white, on a white background! & only visible when the mouse cursor highlights the menu item. Key accelerators are in black however, & therefore visible.


tkt_uuid: 564279ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ncgi
priority: 5 Medium
foundin: None
title: ncgi::multipart bug
cmimetype: text/plain
submitter: midseb
assignee: davidw
closer: davidw
closedate: 2002-08-09T21:22:39
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: 1720898fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: Build System & Testing
priority: 5 Medium
foundin: None
title: test suite problem?
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: sf-robot
closedate: 2007-09-05T02:20:06
comment:
  I was running the cvs head tcllib test suite against a cvs head tcl 8.5a6. A number of tests failed (which didn't surprise me). What did surprise me,however, is that there were times when the test suite output went from the "one line per module" mode into a "one line per test" mode. Here's an example:
  [  * ]  [8.5a6] profiler    ---- profiler::leaveHandler::initialize_descendent_t[  * ]  [8.5a6] profiler    PASS profiler::leaveHandler::initialize_descendent_t[  * ]  [8.5a6] profiler    ---- profiler::leaveHandler::increment_descendent_ti[   *]  [8.5a6] profiler    PASS profiler::leaveHandler::increment_descendent_ti[   *]  [8.5a6] profiler    ---- profiler-4.1                                   [   *]  [8.5a6] profiler    PASS profiler-4.1                                   [   *]  [8.5a6] profiler    ---- profiler-5.1                                   [   *]  [8.5a6] profiler    PASS profiler-5.1                                   [  * ]  [8.5a6] profiler    ---- profiler-6.1                                   [  * ]  [8.5a6] profiler    PASS profiler-6.1                                   [  * ]  [8.5a6] profiler    ---- profiler-7.1                                   [  * ]  [8.5a6] profiler    PASS profiler-7.1                                   [  * ]  [8.5a6] profiler    SKIP profiler-7.2                                   [ *  ]  [8.5a6] profiler    ---- profiler-7.2-85                                [ *  ]  [8.5a6] profiler    PASS profiler-7.2-85                                [ *  ]  [8.5a6] profiler    ---- profiler-7.3                                   [ *  ]  [8.5a6] profiler    PASS profiler-7.3                                   [ *  ]  [8.5a6] profiler    ---- profiler-7.4                                   [*   ]  [8.5a6] profiler    PASS profiler-7.4                                   [*   ]  [8.5a6] profiler    ---- profiler-7.5                                   [*   ]  [8.5a6] profiler    PASS profiler-7.5                                   [*   ]  [8.5a6] profiler    ---- profiler-8.1                                   [*   ]  [8.5a6] profiler    PASS profiler-8.1                                   [ *  ]  [8.5a6] profiler    ---- profiler-8.2 
  [ *  ]  [8.5a6] profiler    PASS profiler-8.2                                   [ *  ]  [8.5a6] profiler    ---- profiler-9.1                                   [ *  ]  [8.5a6] profiler    PASS profiler-9.1                                   [    ]  [8.5a6] profiler    ~~       T    21 P    15 S     6 F     0               


tkt_uuid: 1053086fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
resolution: Duplicate
subsystem: bwidget 1.x
priority: 5 Medium
severity: Minor
foundin: None
title: A new widget for scrolling many widgets with a ScrolledWidge
cmimetype: text/plain
submitter: petasis
assignee: oehhar
closer: oehhar
closedate: 2456612.1852906
comment:
  Hi all,

  I recently needed the functionality of scrolling two 
  canvas widgets simultaneously, both of them embedded 
  in a ScrolledWindow widget. Of course there are 
  hundrends of references for doinh it in c.l.t., but not 
  easy to use code. So I decided it to write a BWidget 
  widget for doing exactly this.

  The attched code is a first implementation of such a 
  widget. Of course name/options are open to 
  discussion :-)

  The idea behind the new widget is simple: when a 
  new "MultipleScrollableWidgets" widget is created, only a 
  frame widget (without a border) is created. Then the 
  user is expected to create all the widgets that will be 
  scrolled as children of this frame. Also the user *must* 
  pack/place/grid the children onto the frame, in any way 
  he wants (i.e. like notebook pages).

  Then, each child widget must be declared to the 
  MultipleScrollableWidgets widget with 
  method "addwidget". Only declared widgets will be 
  scrolled. Finally a ScrolledWindow can be created, 
  having the MultipleScrollableWidgets widget as 
  its "scrollable" widget.

  The current implementation has also an option (-scroll) 
  to addwidget, for specifying whether each added widget 
  will scroll in the x & y direction. I.e,  you can add two 
  canvases both of which will be scrolled in the x 
  direction, but only the second will be scrollable in the y 
  direction (i.e. because the first holds some header items 
  we want always visible...)

  Any ideas are welcomed. Of course, the final target 
  should be to add such a widget in BWidgets :-)


tkt_uuid: 548221ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: ftp
priority: 5 Medium
foundin: None
title: hpupdate.tcl ftp demo typos
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-04-25T23:27:16
comment:
  the ftp module demo "hpupdate.tcl" has a number of
  misspellings and german phrases in it that I decided I
  could fix.  I am enclosing a patch for these.


tkt_uuid: 849829ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: AutoScroll not set in TK 8.5a0
cmimetype: text/plain
submitter: dgp
assignee: hartweg
closer: patthoyts
closedate: 2004-04-30T13:32:03
comment:
  When Tk 8.5a0 is used to run tkChat 1.128,
  the chat area does not scroll to make
  new messages visible.

  Further examination shows that
  $Options(AutoScroll) is false, so
  apparently [tkchat::scroll_set] is
  failing to enable it.

  This probably traces back to a flaw
  in Tk 8.5a0, but the tkchat maintainer
  is probably best to continue the analysis.


tkt_uuid: 639036ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: uri
priority: 5 Medium
foundin: None
title: resolve doesn't work with url like ?N=D
cmimetype: text/plain
submitter: davidw
assignee: davidw
closer: davidw
closedate: 2002-11-15T20:34:22
comment:
  If you look at a page such as

  http://www.dedasys.com/freesoftware/patches/

  The HTML sources provide links like ?N=D which change
  the behavior of how Apache displays the file listings.
   These url's are valid.

  The problem is that 'resolve' doesn't handle these well:

  uri::resolve
  http://dedasys.com/freesoftware/patches/?M=A ?N=D
  http://dedasys.com/freesoftware/patches/?M=A?N=D

  This is not how a browser resolves these url's.


tkt_uuid: 1220090fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 3 Low
foundin: None
title: subsection markup doesn't detect duplicate anchors
cmimetype: text/plain
submitter: duquette
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2008-05-16T06:47:02
comment:
  If a doctools file has two "subsection" tags with the same title, the 
  two subsections will have identical HTML anchor string.  Doctools 
  should issue a warning, and provide a way for the author to resolve 
  the ambiguity without necessarily changing their titles.


tkt_uuid: 553784ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 5 Medium
foundin: None
title: word_decode: test failures
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-05-09T05:59:43
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: 1558351fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: asn
priority: 5 Medium
foundin: None
title: ASN Library
cmimetype: text/plain
submitter: wajih_ur_rehman
assignee: mic42
comment:
  Dear TCL Experts and Developer,

  Recently , I used TCL Asn linrary package which made 
  lots of thing easier. However, I found that bugs or 
  possibilites of improvement.

  Please check the following and see if it will be a 
  good idea to make following changes:

  1. TAG Verification
  In all of the asn Package, after reading TAG value it 
  is verified with Universal TAG , e.g.

      if {$tag != 0x02} {
          return -code error \
              [format "Expected Integer (0x02), but got 
  %02x" $tag]
      }

  This , however , is true only when universal TAGs are 
  in use. In many cases private TAG are also use for 
  the data encoding.

  I think , such checks should be removed as it should 
  be consider programmer responsibility to verify if 
  the TAG is expected , universal or private. Library 
  should not provide any restriction.


  2. TAG Length
  The library package consider TAG length as one byte 
  only. This , however , might not be true in some case 
  where the TAG can be of 2 bytes.

  This should be corrected with the possibility of TAG 
  with variable length.

  3. PeekBytes Procedure?
  There is no procedure for PeekBytes. Sometimes it is 
  necessary to read the byte/bytes without affecting 
  the original Data. ::asn::asnPeekByte though exist 
  but there is nothing like PeekBytes

  4. Output of getByte
  The output byte of asnGetByte gives the result in 
  decimal format. Since it is binary data I will 
  suggest the result should be hex coded format to keep 
  all things in same format.


  5. Introduction of Choce Structure ( and others )
  The ASN library package should be able to handle 
  other kinds of ASN structure e.g. Choice structure

  The Choice structure allows to match one of the 
  various possibilites:

  Choice :: {

            1. Money
            2. Car
            3. Nothing
            
            }

  With this type of encoding any one of the above 
  choice may happen. Therefore , there should be a 
  possibility of passing TAG values as an argument and 
  the procedure should try which to match the TAG and 
  then pass the value back of the choice which actually 
  appeared .

  Similarly , we have SEQOF , SETOF types of data 
  structure which should also be consider.

  Many thanks!

  Wajih


tkt_uuid: 1950457fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: snit
priority: 5 Medium
foundin: None
title: hierarchical methods are not delegated
cmimetype: text/plain
submitter: matzek
assignee: duquette
closer: duquette
closedate: 2008-04-26T01:29:25
comment:
  Hi,

  I was stumbling over an unusual behavior of the hierarchical methods. The attached script will deliver the following output:

  Tcl version: 8.4.18
  snit version 1.3.1
  [::.gf is foo] := This is gFoo 1!
  [::.gf isFoo] := This is gFoo 2!
  [::.gf is bar] := "::.gf is bar" is not defined
  [::.gf isBar] := This is gBar 2!

  Tcl version: 8.5.2
  snit version 2.2.1
  [::.gf is foo] := This is gFoo 1!
  [::.gf isFoo] := This is gFoo 2!
  [::.gf is bar] := unknown subcommand "bar": must be foo
  [::.gf isBar] := This is gBar 2!

  The method "isBar" of type gBar is correctly delegated and available to an object .gf of type gFoo, while the method "is bar" is not.

  Is this a bug, or did I miss the respective chapter in the docs?

  kind regards
  -- Matthias Kraft


tkt_uuid: 1099727fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: "make install" fails to install apps other than in /usr/bin
cmimetype: text/plain
submitter: gleusch
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-01-10T22:33:41
comment:
  When one tries to install tcllib in another directory
  than /usr/...

  the installation process, called as 
  ./configure --prefix=...  && make install

  tries to install dtplite into /usr/bin and fails (until
  /usr/bin is writable for the user, of course).

  Example:

  > ./configure --prefix=/u/leusch/tmp/eval
  --exec-prefix=/u/leusch/tmp/eval/intel 
  [...]

  > make install
  /usr/bin/tclsh8.4 `echo ./installer.tcl` \
          -no-examples -no-html \
          -pkg-path  
  /u/leusch/tmp/eval/intel//lib/tcllib1.7 \
          -nroff-path /u/leusch/tmp/eval//man/mann \
          -no-wait -no-gui
  Installing Tcllib 1.7
  You have chosen the following configuration ...

  Packages:      /u/leusch/tmp/eval/intel//lib/tcllib1.7
  Applications:  /usr/bin                             [
  <===== !!!!! ]
  Examples:      Not installed.
  Documentation:

          NROFF:  /u/leusch/tmp/eval//man/mann
          HTML:   Not installed.

  [...]
  Generating /u/leusch/tmp/eval/man/mann/uri.n
  Generating /u/leusch/tmp/eval/man/mann/uuid.n
  error copying "./apps/dtplite" to "/usr/bin/dtplite":
  permission denied
      while executing
  "file copy -force $aexe    $adst"
      (procedure "ainstall" line 16)
      invoked from within
  "ainstall"
      (procedure "doinstall" line 26)
      invoked from within
  "doinstall"
      (procedure "main" line 11)
      invoked from within
  "main"
      (file "./installer.tcl" line 536)
  make: *** [install] Error 1



  Stating --bin-path explicitly when calling configure
  doen't help either.


  Diagnosis:
  installer.tcl requires the -app-path parameter if the
  apps are to be installed other than in /usr/bin which
  the Makefile doesn't.


  Possible fix:
  *** Makefile.in.orig    2005-01-10 21:20:27.000000000 +0100
  --- Makefile.in 2005-01-10 21:24:17.000000000 +0100
  ***************
  *** 28,33 ****
  --- 28,34 ----
    exec_prefix   = @exec_prefix@
    libdir                = @libdir@
    mandir                = @mandir@
  + bindir                = @bindir@
    
    DESTDIR               =
    pkglibdir     = $(libdir)/@PACKAGE@@VERSION@
  ***************
  *** 52,57 ****
  --- 53,59 ----
          $(TCLSH_PROG) `$(CYGPATH)
  $(srcdir)/installer.tcl` \
                  -no-examples -no-html \
                  -pkg-path   $(DESTDIR)$(pkglibdir) \
  +               -app-path   $(DESTDIR)$(bindir) \
                  -nroff-path $(DESTDIR)$(mandir)/mann \
                  -no-wait -no-gui
    

  (or whatever path is reasonable for the apps)


tkt_uuid: 1378556fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: tie
priority: 5 Medium
foundin: None
title: tie file buffering isn't disabled on windows
cmimetype: text/plain
submitter: wish2
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-10T21:44:57
comment:
  In package 'tie::std::file 1.0', on Windows, after tie
  log file compaction, tie log file is re-opened with
  buffering enabled. The buffering should be disabled.


tkt_uuid: 1198196fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: app: tkchat
priority: 5 Medium
foundin: None
title: Convert bridged entry/exit messages to Traffic Messages
cmimetype: text/plain
submitter: wildcard_25
assignee: wildcard_25
closer: wildcard_25
closedate: 2005-05-17T09:24:41
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: 630405ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Duplicate
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget LabelEntry -textvariable option
cmimetype: text/plain
submitter: decosterjos
assignee: hobbs
closer: patthoyts
closedate: 2003-01-19T23:24:57
comment:
  As reported on CLT, te change to the _LabelFrame_
  widget were the _-textvariable_, _-image_ and _-bitmap_
  option were added to the _LabelFrame_ widget now causes
  problems with the _LabelEntry_ widget. This patc will
  solve this by renaming the 3 options mentioned above.


tkt_uuid: 504350ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: calendar
priority: 3 Low
foundin: None
title: install for calendar code fails
cmimetype: text/plain
submitter: lvirden
assignee: kennykb
closer: andreas_kupries
closedate: 2002-03-07T16:49:15
comment:
  Version: tcllib 2002-01-14 version from cvs (using A.
  Kupries cvs snapshot tar file).

  After doing a configure and then a make and then a make
  install, I get this error:

  Installing documentation for base64
  Installing documentation for calendar
  Can't open
  /vol/tclsrcsol/tcl84/tcllib/modules/calendar/*.n
  /projects/gnu/sparc-sun-solaris2.6/bin/ginstall:
  installing multiple files, but last argument,
  `/usr/tcl84/man/mann/wm.n' is not a directory
  Try `/projects/gnu/sparc-sun-solaris2.6/bin/ginstall
  --help' for more information.


tkt_uuid: 3163579fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: None
priority: 5 Medium
foundin: None
title: Add a -compress config option for ::http::config
cmimetype: text/plain
submitter: karll
assignee: patthoyts
comment:
  Right now the http packages requests compressed results if the website offers it and the zlib package has been loaded (or Tcl 8.6 is being used).

  We are tracking a problem where some compressed data is getting corrupted.  We want to use the http package to fetch both compressed and uncompressed versions of the page.  Currently with the http package it's all or nothing.  

  I can work around the problem by specifying a -channel or -handler option, based on reading the source, but an explicit way to control the behavior would be preferable.


tkt_uuid: 446997ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: sha1
priority: 5 Medium
foundin: None
title: sha1 fails on 64-bit platform
cmimetype: text/plain
submitter: dgp
assignee: dgp
closer: dgp
closedate: 2002-02-21T00:16:26
comment:
  % package require sha1
  1.0
  % sha1::sha1 abc     
  integer value too large to represent as non-long
  integer
  % set errorInfo
  integer value too large to represent as non-long
  integer
      while executing
  "format %0.8x%0.8x%0.8x%0.8x%0.8x $H0 $H1 $H2 $H3 $H4"
      (procedure "sha1::sha1" line 112)
      invoked from within
  "sha1::sha1 abc"


tkt_uuid: 476988ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: textutil
priority: 5 Medium
foundin: None
title: splitx and the empty string
cmimetype: text/plain
submitter: glennjnn
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-12-11T21:50:00
comment:
  Using splitx on an empty string does not return

  an empty list.



  # test script

  package require textutil

  namespace import ::textutil::split::splitx

  puts [llength [split ""]]  ;# ==> 0

  puts [llength [splitx ""]] ;# ==> 1





  The first line of the splitx should be

    if {[string length $str]==0} {return {}}


tkt_uuid: 704175ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: doctools
priority: 7 High
foundin: None
title: doctools - generalize: doctool .GT. manpage tool
cmimetype: text/plain
submitter: royterry
assignee: andreas_kupries
comment:
  I would like to see alternatives to manpage_*. Or at least 
  do not require all the arguments.

  - "section" is a unixism that should not be required in a 
  general package. It just clutters and confuses those who 
  don't know what it means.

  - "version" is nice but ought to be optional

  - "command" is ok for manpage_begin but there should 
  be other ways of starting a page as it would make the 
  doctools package more generic which would be a good 
  thing.

  Thanks for this very useful tool! - Roy Terry


tkt_uuid: 2976290fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: base64
priority: 5 Medium
foundin: None
title: decode fails
cmimetype: text/plain
submitter: daapp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2010-07-06T19:16:46
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: 1416815fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: textutil :: expander
priority: 5 Medium
foundin: None
title: expander: test suite bug
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-29T00:30:58
comment:
  with -debug 1:

  * textutil::expander 1.3
  test name 'expander-3.3' re-used; prior use in
  /local/src/tcllib/modules/textutil/expander.test


tkt_uuid: 1563137fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftp
priority: 5 Medium
foundin: None
title: NList fails for files with spaces
cmimetype: text/plain
submitter: keithv
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-09-22T23:08:55
comment:
  If you call ::ftp::NList and there is a file with
  spaces, then NList returns each piece of the filename
  as a separate file.

  The problem is that a string result from the server is
  passed as a list to lsort. Solution is to split the
  line to convert it to a proper list.

  Offending line:
    ftp.tcl, v1.39 #1164
       return [lsort $ftp(List)]

  Solution:
   return [lsort [split [string trim $ftp(List) "\n"] "\n"]]


tkt_uuid: 1119279fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math
priority: 5 Medium
foundin: None
title: error in loading math::rationalfunctions pkg
cmimetype: text/plain
submitter: hemanglavana
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-09T16:37:41
comment:
  Please see the following error:

  hlavana-u5:53> tclsh
  % package require math::rationalfunctions
  couldn't read file "polynomials.tcl": no such file or
  directory
  % exit
  hlavana-u5:54> less
  /auto/ttsw/ActiveTcl/8.4.9/lib/tcllib1.7/math/rational_funcs.tcl

  # rational_funcs.tcl --
  #    Implement procedures to deal with rational functions
  #
  source polynomials.tcl
  package require math::polynomials
  ..

  The "source polynomials.tcl" cmd  is causing this
  problem. This line should be deleted because the
  following line "package require math::polynomials"
  loads the polynomials.tcl file correctly.

  Hemang.


tkt_uuid: 707009ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: fileutil::stripPwd [pwd] produces error
cmimetype: text/plain
submitter: hgiese
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-03-25T23:57:18
comment:
  Hello,
  fileutil::stripPwd produces an error when called like
      fileutil::stripPwd [pwd]
  While I would suggest to return '.' in this case, it
  might make  sense to return $path unchanged, but in any
  case it should not produce an error.

  I attach a version where '.' is returned in this
  particular case - and some typos corrected.
  Best regards
  Helmut Giese


tkt_uuid: 2557046fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: list
priority: 5 Medium
foundin: None
title: struct::list test suite case assign-4.4 fails w/Tcl 8.6
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2009-09-24T22:27:40
comment:
  Tcl 8.6 cvs head, and tcllib cvs head from activestate ftp site snapshot.

  sparc solaris 8, Sun C compiler

  After building and installing tcl, I configured the tcllib and ran the test suite.

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

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

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

  is different from most of the test case failures. It appears not to be related to changing error message syntax, but instead, something working that wasn't expected to work.


tkt_uuid: 817351ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: comm
priority: 5 Medium
foundin: None
title: error for new comm channels
cmimetype: text/plain
submitter: hemanglavana
assignee: andreas_kupries
closer: hobbs
closedate: 2003-10-21T23:15:10
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: 729709ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 6
foundin: None
title: tkchat no longer pops to top or beeps on alerts
cmimetype: text/plain
submitter: lvirden
assignee: patthoyts
closer: patthoyts
closedate: 2003-04-30T21:48:42
comment:
  somewhere in the last change or two, tkchat at least
  for me has lost the functionality of alerting me when
  someone whispers to my login id.

  I am running sparc/solaris 2.8, with tcl/tk 8.4.2
  installed and the latest tcllib from cvs.

  Up until the past few weeks, if I had tkchat running,
  then opened netscape, dtmail, or dtterm windows on top
  of tkchat, a whisper would result in a beep sound and
  the window raising.

  This no longer is the case.

  from $HOME/.tkchatrc, I see:

  array set Options {
  Alert,ACTION 1
  Alert,ALL 0
  Alert,ME 1
  Alert,NORMAL 1
  Alert,RAISE 1
  Alert,SOUND 1
  Alert,TOPIC 0
  AnimEmoticons 1
  AutoConnect 1
  AutoScroll 1

  plus more.

  It _appears_ to be configured properly - the menus have
  the appropriate check boxes highlighted.


tkt_uuid: 1359041fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: patch adding -autopost option to ComboBox
cmimetype: text/plain
submitter: dev_null42a
assignee: dev_null42a
closer: dev_null42a
closedate: 2006-02-08T16:48:02
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: 1474629fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget::place wrong placement when above or left
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: oehhar
closedate: 2009-06-26T14:54:22
comment:
  BWidget::place (used, for example, by ComboBox) does
  the wrong thing when something has to be placed above
  or to the left. Instead of placing as expected, the
  placement is made somewhere off the top or left-hand
  side of the screen.

  This seems to be because the calculation for left or
  above placement is wrong. Instead of $x0-$sw and
  $y0-$sh, respectively, the calculations should be
  $x0-$w and $y0-$h. The former takes the position of the
  reference widget and subtracts from it the dimension of
  the screen. This is incorrect. The latter takes the
  position of the reference widget and subtracts from it
  the dimension of the widget being placed, resulting in
  correct placement.

  This mistake appears several times throughout the
  BWidget::place procedure.

  Bug submitted by Mario Becroft <mb@gem.win.co.nz>


tkt_uuid: 627521ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: app: tkchat
priority: 5 Medium
foundin: None
title: patch to searching the chat history
cmimetype: text/plain
submitter: pascalscheffers
assignee: patthoyts
closer: patthoyts
closedate: 2003-03-10T21:18:10
comment:
  This patch adds two commands /? and /! to start
  searching and cancel searching for a search string:

  /?pascal

  will search for the regular expression 'pascal' and
  mark it orange (by default). 

  /? 

  Will search again for the last expression and mark the
  next one found.

  /! will clear all markers and jump the widget back to
  [.txt see end]

  I've also added the color to the color preferences, so
  you can customize the color.


tkt_uuid: 1416755fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: logger
priority: 5 Medium
foundin: None
title: logger: test suite bugs
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-29T06:01:23
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: 2182378fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: nameserv (aka nns)
priority: 5 Medium
foundin: None
title: Running nameserv::search results in no such variable error.
cmimetype: text/plain
submitter: vonbane
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2008-10-21T17:04:58
comment:
  Running nameserv::search with no arguments results in no such variable error.  The "0" condition of the switch in ::nameserv::search-parseargs does not set oneshot.

  nameserv::search
  can't read "oneshot": no such variable
      while executing
  "list oneshot $oneshot continuous $continuous pattern $pattern"
      (procedure "search-parseargs" line 46)
      invoked from within
  "search-parseargs $args"
      (procedure "nameserv::search" line 9)
      invoked from within
  "nameserv::search"
      (file "client.tcl" line 9)


tkt_uuid: 948273ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: log
priority: 5 Medium
foundin: None
title: logger::services returns "services", not $services
cmimetype: text/plain
submitter: nobody
assignee: mic42
closer: mic42
closedate: 2004-05-25T17:45:13
comment:
  I believe the code in the logger::services

  proc ::logger::services {} {
      variable services
      return services
  }
                                                        
                                                        
                       
  should return $services, not "services"


  regards
  Jouni.Ryno@fmi.fi


tkt_uuid: 725557ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 8
foundin: None
title: tcllib installer failure
cmimetype: text/plain
submitter: lvirden
assignee: nobody
closer: andreas_kupries
closedate: 2003-04-24T17:33:04
comment:
  I fetched the 20030419 cvs snapshot from Activestate
  ftp site.
  $ rm -rf tcllib
  $ gtar xfz tcllib-20030419.tar.gz
  $ mkdir tcllib/unix
  $ cd tcllib/unix
  $ ../configure --prefix=/usr/tcllib
  $ make all
  $ make install
   $ make install;exit                  
  /usr/tcl84/bin/tclsh8.4 `echo ../installer.tcl` \
          -pkg-path   /usr/tcl84/lib/tcllib1.4 \
          -no-examples -no-html -no-nroff \
          -no-wait -no-gui
  Installing Tcllib 1.4
  You have chosen the following configuration ...

  Packages:      /usr/tcl84/lib/tcllib1.4
  Examples:      Not installed.
  Documentation: Not installed.

  .........error copying "../modules/calendar/tclIndex"
  to "/usr/tcl84/lib/tcllib1.4/calendar/tclIndex": file
  already exists
      while executing
  "file copy [file join $distribution modules $module
  tclIndex]  [file join $libdir $module]"
      (procedure "_tci" line 5)
      invoked from within
  "_tci calendar /usr/tcl84/lib/tcllib1.4"
      ("eval" body line 1)
      invoked from within
  "eval $guide($m,$type) $m $args"
      (procedure "xinstall" line 4)
      invoked from within
  "xinstall   pkg $config(pkg,path)"
      (procedure "doinstall" line 5)
      invoked from within
  "doinstall"
      (procedure "main" line 11)
      invoked from within
  "main"
      (file "../installer.tcl" line 579)
  *** Error code 1
  make: Fatal error: Command failed for target
  `install-libraries'
  Connection closed.


tkt_uuid: 3151099fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: mime
priority: 5 Medium
severity: Minor
foundin: None
title: fail to send when addr is like foobar.@example.com
cmimetype: text/plain
submitter: sickpig
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: 1800344fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: doctools
priority: 5 Medium
foundin: None
title: Extra <br> tags before new definition list
cmimetype: text/plain
submitter: sdeasey
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2008-04-28T04:28:47
comment:
  Using tcllib from cvs HEAD.



  Here's some markup:

  [call [cmd ns_limits_get] [arg limit]]

  Get the current configuration options and accumulated runtime statistics for
  the named limits bundle. The result is a list in Tcl array-get format which
  can be used, for example, to initialise a hash table.

  [list_begin definitions]

  [lst_item nrunning]
  The number of connections currently running with a URL which is mapped to
  this limit bundle.



  Here's the HTML output:

  <dt><a name="2"><b class='cmd'>ns_limits_get</b> <i class='arg'>limit</i></a></dt><dd>


  Get the current configuration options and accumulated runtime statistics for
  the named limits bundle. The result is a list in Tcl array-get format which
  can be used, for example, to initialise a hash table.


  </p><br><br>
  <dl>

  <dt>nrunning</dt><dd>
  The number of connections currently running with a URL which is mapped to
  this limit bundle.



  There is a an extra pair of <br><br> tags between the closing </p> and opening <dl> which is throwing the formatting off.


tkt_uuid: 459197ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftpd
priority: 5 Medium
foundin: None
title: More fixes in ftpd for the export of the public API
cmimetype: text/plain
submitter: hemanglavana
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-09-07T22:22:31
comment:
  On further examination wrt [456255], I found out that the 
  ftpd.tcl file had few more "namespace export *" stmts in it
  which I had missed earlier. Here's a patch for the same.

  godel:47> cvs diff ftpd.tcl 
  Index: ftpd.tcl
  ===================================================================
  RCS file: /cvsroot/tcllib/tcllib/modules/ftpd/ftpd.tcl,v
  retrieving revision 1.10
  diff -r1.10 ftpd.tcl
  108d107
  <     namespace export fsFile::docRoot fsFile::fs
  658c657,659
  <     namespace export *
  ---
  >     namespace export ABOR APPE CDUP CWD DELE HELP LIST MDTM MKD NOOP
  >     namespace export NLST PASS PORT PWD QUIT REIN RETR RMD RNFR RNTO
  >     namespace export SIZE STOR STOU SYST TYPE USER
  1627c1628
  <     namespace export *
  ---
  >     namespace export docRoot fs
  godel:48>


tkt_uuid: 545368ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: uri
priority: 8
foundin: None
title: uri default scheme
cmimetype: text/plain
submitter: markgsaye
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-04-14T20:34:49
comment:
  I've noticed that the uri package defaults to a http
  scheme when none is specified:

  % package require uri
  1.1
  % uri::split ftp.somewhere.com
  port {} path ftp.somewhere.com scheme http host {}
  query {}
                                 ^^^^^^^^^^^
  Wouldn't it make more sense for it to return a scheme
  of {} ? Then an application could default to http if
  required. In my case, I want to default to ftp, but
  need to know if the url contains another scheme
  specifier.

  I suppose the uri::split needs to assume a default
  scheme to that it knows which sub-proc to call (i.e.
  uri::SplitFtp, uri::SplitHttp) Perhaps the uri::split
  proc could take an optional arg to specify the default
  scheme?

  % uri::split ftp.somewhere.com ftp

  This addition is trivial to implement.

  proc uri::split {url {scheme {}}} {
   ...
  }

  or even make it more flexible with 'args' (but right
  now I don't see any need to specify defaults for
  anything other than the scheme)


tkt_uuid: 1416729fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: counter
priority: 5 Medium
foundin: None
title: counter: test suite bugs
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-29T08:34:15
comment:
  with -debug 1:

  * counter 2.0.4
  test name 'counter-avg' re-used; prior use in
  /local/src/tcllib/modules/counter/counter.test
  test name 'counter-lastn' re-used; prior use in
  /local/src/tcllib/modules/counter/counter.test
  test name 'counter-lastn' re-used; prior use in
  /local/src/tcllib/modules/counter/counter.test
  test name 'counter-hist' re-used; prior use in
  /local/src/tcllib/modules/counter/counter.test


tkt_uuid: 1078504fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: tclapps :: tkchat
priority: 3 Low
foundin: None
title: application generates error
cmimetype: text/plain
submitter: lvirden
assignee: pascalscheffers
closer: patthoyts
closedate: 2006-09-14T14:24:38
comment:
  Attempt to startup tkchat today results in this error
  being raised:

   $ tkchat.tcl
  Error in startup script: can't find package jlib
      while executing
  "package require jlib            "
      (procedure "logonChat" line 13)
      invoked from within
  "logonChat"
      (procedure "::tkchat::Init" line 202)
      invoked from within
  "::tkchat::Init"
      ("eval" body line 1)
      invoked from within
  "eval [linsert $argv 0 ::tkchat::Init]"
      invoked from within
  "if {![info exists ::URLID]} {
      eval [linsert $argv 0 ::tkchat::Init]
  }"
      (file "/projects/xopsrc/bin/tkchat.tcl" line 6560)

  What is jlib and where does one get it to install it?
  Seems like either tkchat should come with it, or it
  should come in tcllib or the tcl distribution if tkchat
  is going to depend on it.
  I don't even see a README in the tclapps distribution
  that references the library.

  There is, however, a note about irbridge being
  dependent on jlib.


tkt_uuid: 1091766fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclbench
priority: 2
foundin: None
title: runbench.tcl - documentation not up to date
cmimetype: text/plain
submitter: pointsman
assignee: hobbs
closer: hobbs
closedate: 2004-12-27T19:40:06
comment:
  tclbench CVS as of 2004-12-27.

  doc/runbench.1 has

         -errors
                Takes  a  boolean  value  (0 or 1). True
  means that
                errors are thrown, else they are ignored.

  The runbench.tcl script itself exects:

          -throwerrors            # propagate errors in
  benchmarks files 

  The -threads option understood by the script isn't
  documented at all.


tkt_uuid: 2967134fffffffffffffffffffffffffffffffff
type: RFE
status: Open
resolution: None
subsystem: json
priority: 5 Medium
severity: Minor
foundin: None
title: json2dict improvements index json arrays in dict
cmimetype: text/plain
submitter: cwjolly
assignee: hobbs
closer: nobody
comment:
  I modified the json 1.0 package with code (attached) that adds a option switch to add an index to json arrays when converted to dict format and all values remain quoted. See example below.  After looking in the tracker I see that json.tcl has changed dramatically but I still want the new features.  see attached driver code also 
  Input json snippet :

  ..."link":["rel","alternate","type","text html","href"],...

  is converted to this dict snippet 

  .... link { rel alternate type {text html} href } ....

  there is no way to tell the resulting dict is key,value or a list. You would  have to know this before
  hand. So if your input changes so does your code. Since javascript would access the results of the
  as link[0] == "rel"  why not auto index when converting to dict. I changed my json2dict function
  to accept the -indexlists option to do just that so now for the example above the following results. 

  .... link { 0 rel 1 alternate 2 type 3 {text html} 4 href } ....

  Thats pretty good but then the next problem cropped up notice the { text html } ? Is it text or
  another dict ( i.e key value } ?  If you did not know what to expect (and you won't) this is bad news. I changed the json2dict script to maintain the quotes about the values and now the json above is converted to:

  .... link { 0 "rel" 1 "alternate" 2 "type" 3 {"text html"} 4 "href" } ....


tkt_uuid: 616911ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Out of Date
subsystem: log
priority: 4
foundin: None
title: services for log
cmimetype: text/plain
submitter: davidw
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-03-25T05:26:35
comment:
  This is my first go at creating 'services' for the log
  package.  It is not complete: it is lacking
  documentation and testing.  I am including it here not
  for review for inclusion, yet, but to make sure I'm on
  the right track.  I will post to the mailing list as
  well, which is better suited to quick discussion
  (October 2002).


tkt_uuid: 1710637fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: Development Tools
priority: 5 Medium
foundin: None
title: use of deprecated syntax
cmimetype: text/plain
submitter: dgp
assignee: dgp
closer: dgp
closedate: 2007-05-01T14:42:23
comment:
  I assume this is the category
  for "sak".

  The files sak/registry/registry.tcl
  and sak/util/registry.tcl make use
  of the {expand} syntax which is no
  longer approved.


tkt_uuid: 957180ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: log
priority: 5 Medium
foundin: None
title: Various bug fixes and enhancements to the logger package
cmimetype: text/plain
submitter: mic42
assignee: mic42
closer: mic42
closedate: 2004-05-25T17:57:39
comment:
  Bugfixes and Enhancements to logger:

  * fixed broken logger::services and added tests
  * implemented ${log}::services and added tests and
  changed docs
  * fixed broken cleanup in ${log}::delete and the testsuite
  * fixed some bad uses of set in namespaces which could
  lead to overwrite of global vars.
    used 'variable' instead of 'set' where appropriate
  * added introspection commands with docs and tests
    ${log}::servicename and logger::servicecmd
  * added introspection to ${log}::logproc with docs and
  tests
  * bumped version No to 0.4
  * added introspection to ${log}::delproc with docs and test


tkt_uuid: 2943788fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: ntp
priority: 5 Medium
foundin: None
title: couldn't open socket: connection refused
cmimetype: text/plain
submitter: hm2k
assignee: patthoyts
closer: patthoyts
closedate: 2010-02-01T13:20:53
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: 503336ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
title: Add no_softbreak flag to qp_encode
cmimetype: text/plain
submitter: usus
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-01-16T19:39:03
comment:
  Add the argument "no_softbreak" with a default value 
  of false to the argument list of mime::qp_encode.
  If this flag is set to true, the extra handling of 
  lines longer than 72 (shouldn't it be 76?) characters 
  should be skipped.

  Reason:  It is possible to qp_encode the subject 
  string. If you do this and the subject exceeds 72 
  characters, a soft break is inserted. This scrambles 
  the entire message at least if read with Outlook 
  Express. If the insertion of soft breaks is skipped, 
  it appears to work right with subject strings of 
  arbitrary length (tried with strings up to about 200 
  chars).


tkt_uuid: 1393804fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: asn
priority: 5 Medium
foundin: None
title: asnPeekByte contains a typo which prevents it from working
cmimetype: text/plain
submitter: vbwagner
assignee: mic42
closer: mic42
closedate: 2006-01-05T17:12:34
comment:
  procedure asn::asnPeekByte contains a typo:

  It starts with lines

   proc ::asn::asnPeekByte {data_var byte_var} {
      upvar $data_var data $byte_var $byte

  which obvoisly cause error "Cannot read byte - no such
  variable" 

  Should be 

   proc ::asn::asnPeekByte {data_var byte_var} {
      upvar $data_var data $byte_var byte


tkt_uuid: 720934ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math
priority: 9 Immediate
foundin: None
title: Test failures in math::fuzzy
cmimetype: text/plain
submitter: andreas_kupries
assignee: arjenmarkus
closer: andreas_kupries
closedate: 2003-04-23T17:28:19
comment:
  When running the testsuite for 'math' I get three
  failures in the math::fuzzy testsuite. Attached the log
  for the whole math package.


tkt_uuid: 795608ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: tk binding problem in Gnome and Ximian
cmimetype: text/plain
submitter: donp1
assignee: jenglish
closer: sf-robot
closedate: 2009-07-16T02:21:56
comment:
  There seems to be a bug when a tk listbox is embedded 
  inside a BWidget paned window frame. I have tried 
  putting the listbox outside of the frame and it works 
  correctly. This problem does not occur in KDE or using a 
  vnc. Is this a tcl/tk bug or is there some default setting 
  in Gnome or Ximian that needs to be changed in order 
  for the double-click event to be recognized? 

  Don


tkt_uuid: 1254937fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: mime
priority: 5 Medium
foundin: None
title: Binary files get an extra line feed at the end
cmimetype: text/plain
submitter: erl
assignee: mrose
closer: patthoyts
closedate: 2005-09-20T14:18:12
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: 1435941fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Hanging problem with ComboBox in Dialog
cmimetype: text/plain
submitter: rheller
assignee: damonc
closer: sf-robot
closedate: 2009-07-14T02:20:46
comment:
  I am encountering a strange problem using BWidget
  (1.7).  I am using a
  ComboBox inside of a Dialog.  I can make one choice
  with the ComboBox,
  but when I try to make a *second* choice, things
  'hang'.  It seems to be
  a problem involving focus, but I am not sure I
  understand it (things are
  hanging in BWidget::focus).


  I have uploaded a fairly striped down version of the
  code which has this
  problem to 

  ftp://ftp.deepsoft.com/pub/deepwoods/Other/BWBroken-1.0.0.tar.gz
  (the above is also attached to this bug report)

  I am doing this on a RH 7.3 system, using both the
  'stock' Tcl/Tk
  (8.3.3), but it is also broken with ActiveState Tcl
  8.4.12, so it is not
  a function on an 'old' version of Tcl/Tk.

  Other version info:

  sauron.deepsoft.com% rpm -q XFree86
  XFree86-4.3.0-2.90.55
  sauron.deepsoft.com% rpm -q glibc
  glibc-2.2.5-42
  sauron.deepsoft.com% uname -a
  Linux sauron.deepsoft.com 2.4.18-3 #1 Thu Apr 18
  07:31:07 EDT 2002 i586 unknown
   


tkt_uuid: 1346295fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: tklib :: plotchart
priority: 2
foundin: None
title: plotchart files in release have wrong unix permissions
cmimetype: text/plain
submitter: mic42
assignee: arjenmarkus
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: 3382519fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
resolution: Duplicate
subsystem: bwidget 1.x
priority: 5 Medium
severity: Minor
foundin: None
title: "Font" option configuration for selected page of NoteBook
cmimetype: text/plain
submitter: sosna
assignee: oehhar
closer: oehhar
closedate: 2456614.90109057
comment:
  In documentation for BWidget it is stated that with "itemconfigure" command user can query/modify any option that can be used during NoteBook widget creation.
  With current version of BWidget (1.9.5) there is no possibility to change "-font" option for single page.
  I've made few modifications to file "notebook.tcl", and right now it is possible to do that.
  Modified file is attached to this report - maybe it is worth to include it in official release.

  Best regards to all,
  Michal.


tkt_uuid: 606141ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: csv
priority: 8
foundin: None
title: csv bug: empty field in middle of row
cmimetype: text/plain
submitter: todolson
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-04-25T18:12:48
comment:
  csv has a bug parsing an empty field in the middle of a
  row.

  In the attached tarball, see sample.data (taken from MS
  Access export file).  The fourth field in the last
  three rows is empty, but csv parses it as containing a
  single double-quote character.  The fix is a single
  line added to  csv.tcl, see csv.diff in the tarball, or
  csv-fixed.tcl.  Run the sample program  csv-test.tcl to
  see the difference in action.

  I'd be grateful if you could incluge this fix in the
  next release, as I am relying on the csv package in one
  of my projects.

  -Tod Olson <tod@uchicago.edu>


tkt_uuid: 450914ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: ftp
priority: 7 High
foundin: None
title: example access Tk internals
cmimetype: text/plain
submitter: dgp
assignee: gwlester
comment:
  The hpupdate.tcl script calls the Tk private
  command [tkButtonInvoke].  That command is
  moving in Tk 8.4.

  Here's a patch to workaround the problem.


tkt_uuid: 416799ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: None
priority: 5 Medium
foundin: None
title: A new datastructure, matrix
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-05-02T14:24:06
comment:
  The attached archive provides documentation, testsuite
  and code for an addition to the "struct" module, a
  matrix object.


tkt_uuid: 1392879fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: inifile
priority: 5 Medium
foundin: None
title: inifile: docs and code at odds
cmimetype: text/plain
submitter: nobody
assignee: afaupell
closer: afaupell
closedate: 2006-06-29T23:18:49
comment:
  The inifile docs for the open command say "Opens an INI
  file and returns a handle that is used by other
  commands. Mode has the same types as the open command.
  The default mode is r+."  But the code only allows
  r/w[+], not append mode.  


tkt_uuid: 436762ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget tree and listbox binding bug
cmimetype: text/plain
submitter: bach
assignee: damonc
closer: damonc
closedate: 2003-10-20T23:16:44
comment:
  Version: BWidget CVS nightly from 21.06.2001

  In BWidget version 1.2.1, the following code worked:

  Tree .t 
  bind .t <ButtonPress-3> {foo}
  ListBox .l
  bind .l <ButtonPress-3> {foo}

  This doesn't work anymore. Looking through the CVS for
  tree.tcl,
  I saw that somewhere between tree Rev1.1 (from
  BWidget-1.2.1) and tree Rev1.11 a change was made that
  broke the above code.

  Looking further, ericm tried out some fancy things in
  tree Rev 1.27 that made it work again, but has undone
  them in 1.28. (I suppose the same applies for
  listbox.tcl).

  I need that sort of things to get a popup menu on right
  mouseclick in the whole tree (listbox) area, not just
  when right-clicking on items or icons ( a la ".t
  bindText" and ".t bindImage".

  Any idea how to get this to work?

  Salut,
         Bastien


tkt_uuid: 535382ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 7 High
foundin: None
title: definition list problems
cmimetype: text/plain
submitter: boakley
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-04-01T19:01:07
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: 704187ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 5 Medium
foundin: None
title: doctools - manpage_begin doc error re args
cmimetype: text/plain
submitter: royterry
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-03-24T23:59:02
comment:
  The doc I have says:
  manpage_begin command section version 
  This command begins a manpage. Nothing is allowed to 
  precede it. Arguments are the name of the command 
  described by the manpage, the section of the manpages 
  this manpages lives in, the version of the module 
  containing the command, the name of the module itself 
  and two descriptions, one short for the command and 
  one a bit longer for the module. Both have to fit on one 
  line.

  NOTICE: the descriptive verbiage calls out "two 
  descriptions" which the summary line does not show.
  Seems a contradiction; either the summary or the 
  verbiage needs changing.


tkt_uuid: 1866134fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: math
priority: 5 Medium
foundin: None
title: Submission: Student's t-distribution
cmimetype: text/plain
submitter: erickb
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2008-01-18T09:39:34
comment:
  Hi,

  I'm submitting some code for pdf-students-t and random-students-t (cdf-students-t is already implemented). Both procs will allow noninteger degrees of freedom, but the algorithm for the random deviates requires a value >= 1.

  Eric


tkt_uuid: 1658061fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: smtp
priority: 3 Low
foundin: None
title: Poor/misleading diagnostics from smtp::sendmessage
cmimetype: text/plain
submitter: kot
assignee: patthoyts
closer: patthoyts
closedate: 2007-10-08T11:24:41
comment:
  After switching to a new server, my TCL mailing list software stopped working -- sending to all addresses would fail with "read from server timed out".

  The server (on localhost) would log simply "unexpectedly closed connection".

  It was not until I modified the script to print out the entire errorInfo, that I saw the _real_ problem: "can't find package tls".

  Similarly, on another installation, the SMTP server was modified (unbeknown to me) to require username and password. Instead of relaying the "553 Authorization required" error message to me, smtp::sendmessage began complaining:

  key message-id not in header
      while executing
  "error "key $mixed not in header""
      ("default" arm line 5)
      invoked from within
  "switch -- $key {
          "" {
              set result ""
              foreach lower $state(lowerL) mixed $state(mixedL) {
                  lappend result..."
      (procedure "::mime::getheader" line 7)
      invoked from within
  "::mime::getheader $part ${message-idL} "
      invoked from within
  [... my code ...]


tkt_uuid: 992481ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: log
priority: 5 Medium
foundin: None
title: typo in logger::services proc
cmimetype: text/plain
submitter: hemanglavana
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-07-16T17:57:54
comment:
  The logger::services always returns "services", see below:

  godel:678> tclsh
  % package provide ActiveTcl
  8.4.6.0
  % package require logger
  0.3
  % logger::init foo
  ::logger::tree::foo
  % logger::init bar
  ::logger::tree::bar
  % logger::services
  services
  % exit
  godel:679> 

  This is because there is a typo in the services proc.
  The variable name is not accessed using $. See below:

  proc ::logger::services {} {
      variable services
      return services     <---- should be "return $services"
  }


tkt_uuid: 530907ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: exif
priority: 5 Medium
foundin: None
title: exif 1.0 bug patch
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-08-16T21:38:46
comment:
  I found some bugs into exif 1.0.
  Maybe these are original bugs.
  I've improved on FlashPixVersion, ShutterSpeedValue,
  SubjectDistance, Flash and FlashMode.
  Here is a patch I've made.


tkt_uuid: 1283594fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: snit
priority: 5 Medium
foundin: None
title: $object info self command
cmimetype: text/plain
submitter: coldstore
assignee: duquette
comment:
  When an object inherits publically from another, it
  would sometimes be useful to be able to determine the
  object name from outside - this suggested instance
  standard command would enable that, by returning (for
  any object) its $self value.

  I don't believe there's any other way to do this
  introspectively.


tkt_uuid: 1006157fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftpd
priority: 5 Medium
foundin: None
title: ftpd LIST response mis-formatted
cmimetype: text/plain
submitter: blacksqr
assignee: gwlester
closer: andreas_kupries
closedate: 2004-10-05T19:16:02
comment:
  ::ftpd's response to the LIST command should be
  formatted similar to the output of "ls -l", including
  owner and group values.  But when ftpd is run on
  Windows, the owner and group fields are simply omitted,
  causing the ftp clients I am working with to mis-parse
  the response.

  I investigated how the ftp server at ftp.microsoft.com
  formats its response to LIST, and I found that it uses
  the generic literal strings "owner" and "group" to fill
  the necessary fields.  So I patched ::ftpd to behave in
  the same way.

  The procedure ::ftpd::fsFile::fs needs the "list"
  option of the switch command replaced with the following:

  list {
      # [ 766112 ] report . and .. directories (linux)
      # Copied the code from 'nlst' above to handle this.

              foreach f [lsort $fileList] {
                          if {[string equal [file tail
  $f] "."] || \
                                  [string equal [file
  tail $f] ".."]} {
                              continue
                          }
  file stat $f stat
                          if {[string equal
  $tcl_platform(platform) "unix"]} {
                              set user [file attributes
  $f -owner]
                              set group [file attributes
  $f -group]
                          } else {
                              set user owner
                              set group group
                          }
      puts $outchan [format "%s %3d %s %8s %11s %s %s" \
              [PermBits $f $stat(mode)] $stat(nlink) \
                              $user $group $stat(size) \
                                      [FormDate
  $stat(mtime)] [file tail $f]]

      }
  }


tkt_uuid: 1970893fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
title: Serialize Helper
cmimetype: text/plain
submitter: kanryu6
assignee: nobody
closer: kanryu6
closedate: 2008-06-06T13:17:31
comment:
  This library holds the data of complicated structure more strictly, and offers the means to write out.
  In Tcl, the internal expression of "space separated string"s, "list"s, and "dictionary(dict)"s are the same, and is not mutually distinguished so that it may know.
  It is simplicity peculiar to Tcl.
  However, there is a fault that it is undistinguishable what the node is in the library side to write out the data of the two or more floor layer to XML, JSON, YAML, etc. as a fault.
  Then, it stores once what each node is in the "tree" specified clearly, and was made to change into the target form from there.
  It seems that it is moving well although the code which changes the data of five classes into a trial at JSON form was described.
  But I feel [ that are a wonderful talk and I have not found the library and its usage ] only for such a fundamental thing not being offered as a library.
  This library is whether to be required and ? (should be recorded on tcllib?).
  And, what kind of library name should it be?

  # -----------------
  # working sample
  % set bb [huddle create a b c d] ; # create as a dict
  HUDDLE {d {a b c d}}
  % set cc [huddle create e f g h]
  HUDDLE {d {e f g h}}
  % set bbcc [huddle create bb $bb cc $cc]
  HUDDLE {D {bb {d {a b c d}} cc {d {e f g h}}}}
  % set folding [huddle list $bbcc p [huddle list q r] s] ; # create as a list
  HUDDLE {L {{D {bb {d {a b c d}} cc {d {e f g h}}}} {s p} {l {q r}} {s s}}}
  % huddle strip $folding ; # normal Tcl's notation
  {bb {a b c d} cc {e f g h}} p {q r} s
  % huddle jsondump $folding ; # dump as a JSON stream
  [
    {
      "bb": {
        "a": "b",
        "c": "d"
      },
      "cc": {
        "e": "f",
        "g": "h"
      }
    },
    "p",
    [
      "q",
      "r"
    ],
    "s"
  ]


tkt_uuid: 1898189fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math :: special
priority: 5 Medium
foundin: None
title: Unbalanced parenthesis in elliptic.tcl
cmimetype: text/plain
submitter: relaxmike
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2008-02-21T07:35:07
comment:
  Hi,
  The line #209 of the file elliptic.tcl
  contains the evaluation of an expression containing an unbalanced parenthesis :

  return [expr {sqrt(...)}]

  where the closing parenthesis does not exist in the source.
  This prevents the math package from being included as-is in a compiled starkit or starpack.

  Best regards,

  Michaël


tkt_uuid: 2855302fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: LexNormalize should be a public routine
cmimetype: text/plain
submitter: apnadkarni
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2009-09-14T17:11:24
comment:
  It is often useful to be able to lexically normalize a path (removing . and ..) without going to the disk and without resolving links. fileutil already has a routine LexNormalize that does this but it is internal and not documented. This is a request to make the command an "official" part of the interface and document it.

  /Ashok


tkt_uuid: 1634416fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: -geometry option to BWidget Dialog undocumented
cmimetype: text/plain
submitter: eriklns
assignee: damonc
closer: oehhar
closedate: 2009-06-12T08:04:11
comment:
  The Dialog BWidget supports a -geometry option (which works well for me). However, the documentation for that widget doesn't even mention this option.


tkt_uuid: 899225ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: pop3
priority: 5 Medium
foundin: None
title: tests pop3-6.* hang
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-27T16:23:27
comment:
  The [setupServer] command hangs
  in tests pop3-6.0 and pop3-6.1 when
  running the pop3 tests.  The hangs
  trace to the [vwait] command within
  [::subserv::muservSpawn] .

  This is on Linux/Alpha, a 64-bit system.


tkt_uuid: 2890743fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: comm
priority: 5 Medium
foundin: None
title: comm crashes on large amount of data from server
cmimetype: text/plain
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2009-11-04T17:52:35
comment:
  Since Tcl 8.0, using lindex and lreplace forces comm to have received a well-formed list from the comm server. If there is a large amount of data from the server, it is possible that the list does not become well-formed before running up against memory constraints resulting in a crash.


tkt_uuid: 754920ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 5 Medium
foundin: None
title: text/html file content causes socket error
cmimetype: text/plain
submitter: royterry
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-03-08T21:41:07
comment:
  My original experimental code combined three MIME 
  parts into a single message and used SMTP to send 
  successfully. The parts where a plain text file, a binary 
  file and an html file.

  When I moved the html file to the beginning of the 
  -parts list, I started getting 

  400: error writing "sock248": invalid argument

  out of mime::copymessageaux

  On further trials, I've simplfied the issue and it seems 
  related to the *contents* of a file.

  The following script will trigger the error. (file is 
  attached)

  # 14Jun03RT - experimental mime/smtp coding
  package require mime
  package require smtp

  proc mb {} {
      # Build a mime thingy
      set TO royterry@earthlink.net
      set FROM royterry@earthlink.net
      set SUBJ "Mime [clock format [clock seconds] -
  format "%m%d-%T"]"

         set hfile mime-bad.htm

      # Start making mime parts
       # The error also occurs if "text/html" is used
      set hpart [mime::initialize -canonical text/plain  -file 
  $hfile]

      # Put them all together
      # The error also occurs if 2 or 3 parts are combined 
  as long as $hpart is the first in the list.
      set allparts [mime::initialize -canonical 
  multipart/mixed \
          -parts [list $hpart ] ]


      # Send it!
      set sres [smtp::sendmessage $allparts      \
          -header [list From $FROM]    \
          -header [list To $TO]        \
          -header [list Subject $SUBJ] \
          -servers mail.earthlink.net ]

  }


tkt_uuid: 1263071fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: Later
subsystem: snit
priority: 5 Medium
foundin: None
title: -configuremethod
cmimetype: text/plain
submitter: matben
assignee: duquette
comment:
  Things like:

      option -text      -configuremethod [list SetText 1]
      method SetText {num option value} {
  $win.lbl$num configure -text $value
  set options($option) $value
      }

  wont work. Perhaps the callback should be concatenated 
  (uplevel) when executed.

  snit 1.0


tkt_uuid: 1547729fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tklib
priority: 5 Medium
foundin: None
title: Tooltip isn't cleared correctly
cmimetype: text/plain
submitter: mbroeken
assignee: hobbs
closer: hobbs
closedate: 2007-10-31T23:04:45
comment:
  If an item has a tooltip, this tooltip is shown when
  the cursor enters this item. When I try to clear the
  tooltip with [tooltip::tooltip clear] when the cursor
  is on the item, the tooltip isn't cleared. Only after I
  move the mouse *and* click elsewhere is the tooltip
  removed.


tkt_uuid: 3536133fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: Build System & Testing
priority: 5 Medium
foundin: None
title: Installation fails...
cmimetype: text/plain
submitter: petasis
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2012-06-21T18:16:28
comment:
  Installing tklib in a cross-compilation environment fails. The problem is in Makefile.in, where the option -app-path is not used.

  The following:
  install:
  $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/installer.tcl` \
  -no-examples -no-html \
  -pkg-path   $(DESTDIR)$(pkglibdir) \
  -nroff-path $(DESTDIR)$(mandir)/mann \
  -no-wait -no-gui

  Must be changed to:

  install:
  $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/installer.tcl` \
  -no-examples -no-html \
  -pkg-path   $(DESTDIR)$(pkglibdir) \
  -app-path   $(DESTDIR)$(bindir) \
  -nroff-path $(DESTDIR)$(mandir)/mann \
  -no-wait -no-gui


tkt_uuid: 1400838fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: MessageDlg bug, LabelEntry bug, demo bug
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: dev_null42a
closedate: 2006-11-10T21:27:37
comment:
  I have found 2 bugs in BWidgets and 1 bug in BWisgets-demo 
  (ActiveState Tcl/Tk 8.4 12 WindowsXP).
  BWidgets bug1: MessageDlg abort-retry-ignore -
  "-default must 
  not be """ 
  BWidgets bug2: Dialog focus bug with LabelEntry.
  Dialog draw LabelEntry - LabelEntry not request focus.
  When I change LabelEntry with tk-entry - all OK.

  BWidgets demo bug: Notebook page 'Basic' - 'Entry' 
  In entry command must be space before and after ';'.
  When I 
  press Enter on entry - error genrates. After adding
  space all 
  works ok.


tkt_uuid: 1168649fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: Installer
priority: 5 Medium
foundin: None
title: debian package regression 1.7 (from 1.6.1)
cmimetype: text/plain
submitter: robertojimenoca
assignee: andreas_kupries
closer: sf-robot
closedate: 2005-11-02T03:20:41
comment:
  I was trying to make a new Debian package of tcllib:
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=300805
  but I found there's a regression in tcllib-1.7 from
  tcllib-1.6.1 since it tries to install dtplite direcly
  in /usr/bin/ instead the debian package directory.
  Could you fix this problem so I can make a Debian package?
  Any idea how to fix it?

  ---8<---
  error copying "./apps/dtplite" to "/usr/bin/dtplite":
  permission denied
      while executing
  "file copy -force $aexe    $adst"
      (procedure "ainstall" line 16)
      invoked from within
  "ainstall"
      (procedure "doinstall" line 26)
      invoked from within
  "doinstall"
      (procedure "main" line 11)
      invoked from within
  "main"
      (file "./installer.tcl" line 536)
  make[1]: *** [install] Error 1
  make[1]: Leaving directory `/tmp/tcllib/tcllib-1.7'
  make: *** [install-stamp] Error 2
  ---8<---


tkt_uuid: 1416814fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: tree
priority: 5 Medium
foundin: None
title: tree: test suite bugs
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-29T00:12:13
comment:
  with -debug 1:

  * struct::tree 1.2.2
  test name 'tree-11.2' re-used; prior use in
  /local/src/tcllib/modules/struct/tree1.test
  test name 'tree-13.3' re-used; prior use in
  /local/src/tcllib/modules/struct/tree1.test
  test name 'tree-14.2' re-used; prior use in
  /local/src/tcllib/modules/struct/tree1.test


tkt_uuid: 947109ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: font selection dialog up/down bindings
cmimetype: text/plain
submitter: wilkason
assignee: damonc
closer: dev_null42a
closedate: 2006-09-27T03:31:23
comment:
  The listbox used to select the font should have the 
  following bindings added such that when the up/down 
  cursor keys are used in the listbox, the sample font is 
  shown in the sample area.

  In SelectFont::create procedure, add

          bind $lbf <Up>    $script
          bind $lbf <Down>   $script

  after existing bindings

          bind $lbf <ButtonRelease-1> $script
          bind $lbf <space>           $script
          bind $lbf <1>               [list focus %W]


tkt_uuid: 1525172fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: error in fileutil::jail
cmimetype: text/plain
submitter: ramsan
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-07-19T16:23:44
comment:
   fileutil::jail basedir "file with spaces"
  ----> C:/Documents and Settings/ramsan/Mis documentos/
  basedir/file/with/spaces

  the correction seems to be. change:

   return [eval [linsert [LexNormalize $filename] 0 \
                  file join [pwd] $jail]]

  to:

   return [eval [linsert [file split [LexNormalize 
  $filename]] 0 \
                  file join [pwd] $jail]]


tkt_uuid: 806420ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: comm
priority: 5 Medium
foundin: None
title: comm uses wrong fconfigure options
cmimetype: text/plain
submitter: mic42
assignee: hobbs
closer: hobbs
closedate: 2003-10-21T22:50:07
comment:
  Comm loses unicode chars on the way.

  This originates from a bug in the configuration of the
  channel, it is configured with:

  proc ::comm::commNewConn {chan id fid} {
      ...
      fconfigure $fid -trans binary -blocking 0
      ...
  }

  which kills all unicode chars above ascii, as encoding
  is set to binary, which strips high bytes from unicode
  chars.

  This should really be:
      fconfigure $fid -translation lf -encoding utf-8
  -blocking 0


tkt_uuid: 3610022fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: ftp
priority: 5 Medium
foundin: None
title: Unprotected close causes script crash
cmimetype: text/plain
submitter: guitarzar
assignee: andreas_kupries
closer: guitarzar
closedate: 2013-04-05T15:15:26
comment:
  In tcllib /modules/ftp on a line near the end of the ftp.tcl file there is:

  close $ftp(SourceCI)

  Can you please change this to:

  catch {close $ftp(SourceCI)}

  to prevent crashes? Thanks!


tkt_uuid: 1145523fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: bwidget - progressbar divide by zero
cmimetype: text/plain
submitter: bschofield
assignee: damonc
closer: dev_null42a
closedate: 2006-02-10T23:06:13
comment:
  BWidget version 1.7
  progressbar.tcl line ~152 in proc ProgressBar::_modify

  Where the "max" is determined from the widget's option
  "-maximum". It is possible if the user configured the
  -maximum to be 0, that you will get a divide by zero error.

  While this shouldn't happen often, it is reasonable to
  assume that the user might try to set this value to 0.
  The progress bar should either throw an error
  immediately when the user configures the widget to have
  -maximum that is unacceptable or the progress bar
  should handle the value.

  adding

    if {$max == 0} { set max 1}

  just after [Widget::getoption $path -maximum] call
  fixes this the divide by 0 error.


tkt_uuid: 823346ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: htmlparse
priority: 5 Medium
foundin: None
title: Minor updates to htmlparse
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-10-24T19:39:46
comment:
  The attached patch contains some minor updates to
  htmlparse, so that it uses string functions in some
  places where regexp/regsub isn't needed and simplifies
  some code.

  Changes:
  MapEscapes now uses string map where possible.
  DoMap eliminated
  parse now uses string last for detection of incomplete
  html, instead of the 10x slower regexp...
  CClass eliminated, and re rewritten with \s shorthands
  in parse
   
  Overall performance improvement is minor (1% vor 150k
  using debugCallback), but MapEscapes should be faster
  than before.


tkt_uuid: 3315620fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: huddle
priority: 5 Medium
severity: Minor
foundin: None
title: Invalid JSON with values that begin with 0
cmimetype: text/plain
closer: nobody
comment:
  I think [huddle jsondump] should quote values with a beginning zero:

  ::json::json2dict [huddle jsondump [huddle create key 000000]]

  --> unexpected token "0" at position 5; expecting ","|"}"

  ::json::json2dict [huddle jsondump [huddle create key 1000000]]

  --> key 1000000

  PS
  The category huddle is missing!


tkt_uuid: 3292977fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 3 Low
foundin: None
title: Error when Themed Label foreground changed
cmimetype: text/plain
submitter: oehhar
assignee: oehhar
closer: oehhar
closedate: 2011-04-26T08:16:55
comment:
  An error arises when foreground color of a themed label widget is changed.
  Use -foreground instead -fg for ttk::label.

  This was corrected on CSV.


tkt_uuid: 1740862fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: Documentation
priority: 5 Medium
foundin: None
title: replace {expand} uses
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2007-06-23T03:41:25
comment:
  The latest Tcl 8.5 cvs head appears to no longer support {expand}, the deprecated notation for {*}. Tcllib has a dozen or more cases of use, including man page references.  See fileutil, fumagic, grammar_fa, pluginmgr, page, snit, transfer treeql, and transfer...


tkt_uuid: 1416731fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: dns
priority: 5 Medium
foundin: None
title: dns: test suite bugs
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-29T08:34:13
comment:
  with -debug 1:

  * spf 1.1.0
  test name 'spf-1.3' re-used; prior use in
  /local/src/tcllib/modules/dns/spf.test
  test name 'spf-2.4' re-used; prior use in
  /local/src/tcllib/modules/dns/spf.test


tkt_uuid: 659238ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: ftp
priority: 6
foundin: None
title: FTP Support for MDTM setting ModTime
cmimetype: text/plain
submitter: ddrogahn
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-03-31T22:58:19
comment:
  Some simple changes to allow setting of file modified 
  time on FTP servers that allow it (which apparently isnt 
  many)

  changes need to be made to file:
  tcl:/lib/tcllib1.3/ftp/ftp.tcl
  change is backward compatible & fails gracefully

  Also a simple change to tclVFS that requires the 
  change to the above ftp.tcl (I'll post it to the tclVFS 
  group)

  Note: ftpd's mdtm command should be patched to 
  support setting mdtm

  Sorry for the messy attached changes file, (and my 
  probably old files) I dont know a lot about CVS yet

  Also, I'm new to TCL, so someone should check my 
  work anyway.


tkt_uuid: 693009ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Works For Me
subsystem: bwidget
priority: 7 High
foundin: None
title: ScrolledWindow infinite loop
cmimetype: text/plain
submitter: pkienzle
assignee: hobbs
closer: hobbs
closedate: 2003-04-12T01:46:56
comment:
  Bug #472718 ScrollWindow update idletask

  This bug was closed so I could not attach a patch. 
  Here is the code which triggers the bug.

  ScrolledWindow .textbox -auto none
  text .textbox.text -wrap no -height 2 -width 6
  .textbox setwidget .textbox.text
  pack .textbox -fill both -expand yes
  .textbox.text insert 0.0 "Line 1\nLine 2\nLong line 3"

  I put together a patch involving a lock and an update
  idletask so that if you add a scroll bar then it will
  ignore any request to remove it.
  Not very nice, but much nicer than an infinite loop.


tkt_uuid: 1007396fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: graph
priority: 3 Low
foundin: None
title: incomplete options checking on arcs and nodes subcommand
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-09-22T04:49:52
comment:
  I got the following report for cgraph, but the same is
  true for at least tcllib struct::graph v1, maybe v2.

  The problem ist the bad option check on the arcs and
  nodes subcommand that do not check for multiple -key
  occurances of an option, they just take that last one
  without throwing an error. Testsuite should be enhanced
  and either an error thrown or multiple key/values
  should be supported.

  set g [::struct::graph::graph]

  foreach n {n1 n2 n3} {
     $g node insert $n
  }

  foreach source {n1 n2} target {n2 n3} {
      set arc [$g arc insert $source $target]
      $g arc set $arc -key contain $source
  }

  # setup other keys
  $g arc set arc1 -key foo v1
  $g arc set arc2 -key bar v2

  #
  # a useful feature colud be the selections of arcs (and
  nodes) that 
  match multiple keys, as in the following example
  #
  # that, incidentally, work as expected, but I think
  simply use the last 
  key/value pair to do the selection ...
  #
  #
  $g arcs -key contain -value n1 -key foo -value v1

  # this work as expected, it returns arc1
  $g arcs -key contain -key foo

  #
  # this doesnt work, it returns a void list
  #
  $g arcs -key contain -value n1 -key foo

  #
  # this returns a void list, it is right?
  #
  #  peraphs an error should be throwed ...
  #
  $g arcs -value n1


tkt_uuid: 1285549fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: comm
priority: 5 Medium
foundin: None
title: comm 4.2.1 doesn't work on Tk8.3.4
cmimetype: text/plain
submitter: kgsf05
assignee: andreas_kupries
closer: sf-robot
closedate: 2005-10-22T02:20:23
comment:
  Upgrading from tcllib1.3 to tcllib1.7 includes an upgrade 
  from comm-4.0 to comm-4.2.1. 

  Under tcl/tk 8.3.4 comm-4.0 works fine but comm-4.2.1 
  does not.

  The doco for comm says it requires 8.2.

  To test this try the following under 8.3.4

  Pre-conditions:
    Both versions of comm are somewhere in
    your auto-path. What I have done is install
    tcllib-1.3, copy tcllib/comm to a temp location
    as comm-1.3. Then uninstall tcllib-1.3 and install
    tcllib-1.7. Copy comm-1.3 back to tcllib/

  Test:
   1) Open two wish shells
   2) In both: package require -exact comm 4.0 -> 4.0
   3) In one: comm::comm self -> <id>
   4) In the other: comm::comm send <id> puts fred
      --> "fred" appears in console of first shell.

   Now repeat this but use this alternate step 2:
   2) In both: package require comm -> 4.2.1

   The outcome in the second case is that nothing
   happens.


tkt_uuid: 1908510fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: fileutil
priority: 5 Medium
foundin: None
title: Submission: fileutil::globfind
cmimetype: text/plain
submitter: blacksqr
assignee: nobody
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: 2059415fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: None
priority: 5 Medium
foundin: None
title: ctext error when widget destroyed
cmimetype: text/plain
submitter: relaxmike
assignee: georgeps
closer: georgeps
closedate: 2008-08-19T21:19:58
comment:
  Hi,

  The following error message appears :

  invalid command name ".t._t"
  invalid command name ".t._t"
      while executing
  "$twin search -count length -regexp -- {([^\s\(\{\[\}\]\)\.\t\n\r;\"'\|,]+)} $si $end"
      (procedure "ctext::highlight" line 25)
      invoked from within
  "ctext::highlight .t 1.0 1.19"
      ("after" script)

  This error is reported in background.

  The reason for that bug is that "after" scripts are not cleaned after the destruction of the ctext widget.
  Looking at the ctext::highlight command, it is triggered by the following after sequence :

  after idle [list ctext::highlight $self $lineStart $lineEnd]

  in ctext::instanceCmd command.
  Other "after" script are associated with the command "ctext::comments" as well.

  A solution is to keep track of all after script generated, and to clean them when the widget is destroyed.
  For example, one can add a variable to keep track of the last after script associated with the highlight command :

  namespace eval ctext {
      variable lastafterscript ""
  }

  One can store the after ID with :

  set ::ctext::lastafterscript [after idle [list ctext::highlight $self $lineStart $lineEnd]]

  The Destroy method may contain :

  proc ctext::event:Destroy {win dWin} {
    after cancel $ctext::lastafterscript

  That solves the problem for one ctext only, and only for the last "after" highlight command.
  The real fix needs to store all after scripts, for the current ctext widget only.

  The bug can be reproduced with the unit test script in attachment.

  Regards,

  Michaël


tkt_uuid: 1540192fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: comm
priority: 7 High
foundin: None
title: RFE: add comm::comm alias subcmd (similar to interp alias)
cmimetype: text/plain
submitter: hemanglavana
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-08-30T15:34:10
comment:
  Hi,

  The comm package should support an alias sub-command
  which behaves similar to [interp alias] command with
  the main difference that the aliased commands get
  invoked on the remote process. 

  Here's an example of how to acheive the same using a
  wrapper proc:

  set rmt_id [getRemoteCommId]
  set lcl_id [comm::comm selfid]

  proc commAlias {lcl_id lcl_proc rmt_id rmt_proc args} {
      # Create a local proc which will invoke the remote
      # proc via comm::comm send and return its results
      proc $lcl_proc args "uplevel 1 [list \
          comm::comm send $rmt_id $rmt_proc \
                          $args \$args]"
  }

  # Create an alias for the proc foo.
  # Also pass $lcl_id as an argument so that the 
  # remote proc knows where the request is coming from
  commAlias $lcl_id foo $rmt_id foo $lcl_id

  A "comm::comm alias" sub-command would make the above
  setup very easy.

  Thanks,
  Hemang.


tkt_uuid: 3606564fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: Build System & Testing
priority: 8
foundin: None
title: test fail - can't delete "namespace": command doesn't exist
cmimetype: text/plain
submitter: jlec
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2013-03-01T21:22:14
comment:
  when running the testsuite with

  tclsh8.6 ./sak.tcl validate

  I get following error

  [ ] zip ~~ 0/ 2 ! 2 U 0 E 0 W 0
  can't delete "namespace": command doesn't exist
  while executing
  "::rename namespace {}"
  invoked from within
  "interp eval $ip [list ::rename namespace {}]"
  (procedure "Setup" line 19)
  invoked from within
  "Setup"
  (procedure "sak::validate::testsuites::run" line 31)
  invoked from within
  "sak::validate::testsuites::run $modules $mode $stem $tclv"
  (procedure "sak::validate::all" line 9)
  invoked from within
  "sak::validate::$cmd $argv $mode($raw$log) $stem $tclv"
  (file "./support/devel/sak/validate/cmd.tcl" line 67)
  invoked from within
  "source $cmdf"
  invoked from within
  "if {[file exists $cmdf] && [file readable $cmdf]} {
  source $cmdf
  exit 0
  }"
  (file "./sak.tcl" line 2402)


tkt_uuid: 3606619fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: pt (parsetools)
priority: 5 Medium
foundin: None
title: test fail - pt-peg-to-json-3* *-ultracompact
cmimetype: text/plain
submitter: jlec
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2013-03-05T06:57:25
comment:
  ==== pt-peg-to-json-3.0.0 pt::peg::to::json, basic arithmetic-ultracompact, ok FAILED
  ==== Contents of test case:

      pt::peg::to::json convert $data
  running 

  tclsh8.6 sak.tcl test run -v pt

  on 4e66a372368bfccb80d68fa6cc80f58e205e0c2c I get following error. Same hapens for 1.15 release.


  ---- Result was:
  {\"pt::grammar::peg\":{\"rules\":{\"AddOp\":{\"is\":\"/ {t -} {t +}\",\"mode\":\"value\"},\"Digit\":{\"is\":\"/ {t 0} {t 1} {t 2} {t 3} {t 4} {t 5} {t 6} {t 7} {t 8} {t 9}\",\"mode\":\"value\"},\"Expression\":{\"is\":\"/ {x {t (} {n Expression} {t )}} {x {n Factor} {* {x {n MulOp} {n Factor}}}}\",\"mode\":\"value\"},\"Factor\":{\"is\":\"x {n Term} {* {x {n AddOp} {n Term}}}\",\"mode\":\"value\"},\"MulOp\":{\"is\":\"/ {t *} {t /}\",\"mode\":\"value\"},\"Number\":{\"is\":\"x {? {n Sign}} {+ {n Digit}}\",\"mode\":\"value\"},\"Sign\":{\"is\":\"/ {t -} {t +}\",\"mode\":\"value\"},\"Term\":{\"is\":\"n Number\",\"mode\":\"value\"}},\"start\":\"n Expression\"}}
  ---- Result should have been (exact matching):
  {\"pt::grammar::peg\":{\"rules\":{\"AddOp\":{\"is\":\"\\/ {t -} {t +}\",\"mode\":\"value\"},\"Digit\":{\"is\":\"\\/ {t 0} {t 1} {t 2} {t 3} {t 4} {t 5} {t 6} {t 7} {t 8} {t 9}\",\"mode\":\"value\"},\"Expression\":{\"is\":\"\\/ {x {t (} {n Expression} {t )}} {x {n Factor} {* {x {n MulOp} {n Factor}}}}\",\"mode\":\"value\"},\"Factor\":{\"is\":\"x {n Term} {* {x {n AddOp} {n Term}}}\",\"mode\":\"value\"},\"MulOp\":{\"is\":\"\\/ {t *} {t \\/}\",\"mode\":\"value\"},\"Number\":{\"is\":\"x {? {n Sign}} {+ {n Digit}}\",\"mode\":\"value\"},\"Sign\":{\"is\":\"\\/ {t -} {t +}\",\"mode\":\"value\"},\"Term\":{\"is\":\"n Number\",\"mode\":\"value\"}},\"start\":\"n Expression\"}}
  ==== pt-peg-to-json-3.0.0 FAILED


tkt_uuid: 3463420fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: logger
priority: 5 Medium
foundin: None
title: level below currentloglevel is logged
cmimetype: text/plain
submitter: heinrichmartin
assignee: mic42
closer: mic42
closedate: 2011-12-21T21:29:43
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: 479174ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: smtp
priority: 5 Medium
foundin: None
title: SMTP documentation unclear
cmimetype: text/plain
submitter: dnew
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2001-11-08T06:44:17
comment:
  -recipients 
    A string containing one or more 822-style address specifications. 

  Space-separated? Comma-separated? Or is it really a list inside a
  string? 


tkt_uuid: 1892687fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: Build System & Testing
priority: 5 Medium
foundin: None
title: sak.tcl test shell add fails
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2008-02-28T05:17:17
comment:
  I tried to add a shell for testing to sak.tcl but get a not so informative stack trace:
  (this is inside msys/mingw, using AS Tcl shells)

  $ c:/tools/bin/tclsh85.exe sak.tcl test shell add c:/tools/bin/tclsh85.exe
  invalid command name "::uplevel"
      while executing
  "::uplevel #0 {set I 0
  set {C {} {}} 0
  set {N 0 P} {}
  set {N 0 M} 1158662637
  }"
      invoked from within
  "$ip eval [list ::uplevel \#0 $data]"
      (procedure "::tie::std::file::Snit_methodReplay" line 30)
      invoked from within
  "$self Replay"
      (procedure "::tie::std::file::Snit_methodLoadJournal" line 7)
      invoked from within
  "$self LoadJournal"
      (procedure "::tie::std::file::Snit_methodget" line 7)
      invoked from within
  "$dso get"
      (procedure "Connect" line 6)
      invoked from within
  "Connect thearray $open $merge $dso"
      (procedure "tie::tie" line 42)
      invoked from within
  "tie::tie ::pregistry::Snit_inst2::data file ~/.Tcllib/Registry"
      ("eval" body line 1)
      invoked from within
  "eval [linsert $value 0 tie::tie [myvar data]]"
      (procedure "::pregistry::Snit_methodTIE" line 9)
      invoked from within
  "::sak::registry::pregistry1 TIE -tie {file ~/.Tcllib/Registry}"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command"
      (procedure "::snit::RT.method.configurelist" line 37)
      invoked from within
  "$self configurelist $args"
      (procedure "::pregistry::Snit_constructor" line 5)
      invoked from within
  "::pregistry::Snit_constructor ::pregistry ::pregistry::Snit_inst2 ::sak::registry::pregistry1 ::sak::registry::pregistry1 -tie {file ~/.Tcllib/Registr..."
      ("eval" body line 1)
      invoked from within
  "eval [linsert $arglist 0  ${type}::Snit_constructor $type $selfns $instance $instance]"
      (procedure "RT.ConstructInstance" line 9)
      invoked from within
  "RT.ConstructInstance $type $selfns $name $args"
      (procedure "::snit::RT.type.typemethod.create" line 45)
      invoked from within
  "pregistry %AUTO%  -tie [list file $state]"
      (procedure "Setup" line 11)
      invoked from within
  "Setup"
      (procedure "sak::registry::local" line 2)
      invoked from within
  "sak::registry::local  get||default Tests Shells {}"
      (procedure "sak::test::shell::add" line 8)
      invoked from within
  "sak::test::shell::add $argv"
      (procedure "sak::test::shell" line 9)
      invoked from within
  "sak::test::$cmd $argv"
      (file "./support/devel/sak/test/cmd.tcl" line 25)
      invoked from within


tkt_uuid: 2557107fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 5 Medium
foundin: None
title: dtplite seems to insist on presence of keywords
cmimetype: text/plain
submitter: apnadkarni
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2009-02-10T22:59:18
comment:
  I have a simple test file as follows:
  ----
  [manpage_begin "test" "n" "0.0"]
  [copyright {2009 "Ashok"}]
  [moddesc "sample"]
  [description]

  [manpage_end]
  ----

  If I place it in a directory, say doc, and run the command

  tclsh86 C:\bin\Tcl86\bin\dtplite.tcl -o doc html doc

  the following error is spit out:
  C:\bin\Tcl86\bin\dtplite.tcl: Docidx Error in macro at line 2, column 0:
  [index_end]
  --> (FmtError) IDX error (idx/endcmd), "index_end" : Command not allowed here..

  Adding a [keywords foo] to the above file fixes the error.

  Keywords should be always required. Note that running the command
  tclsh86 C:\bin\Tcl86\bin\dtplite.tcl -o test.html html test.man
  (where test.man is the above file) works fine.

  /Ashok


tkt_uuid: 528392ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: doctools
priority: 5 Medium
foundin: None
title: Missing commands in nroff format
cmimetype: text/plain
submitter: arjenmarkus
assignee: andreas_kupries
closer: arjenmarkus
closedate: 2002-03-15T07:22:28
comment:
  The nroff format does not implement the commands [lb]
  and [rb]. These are necessary for entering code
  examples in the man pages.


tkt_uuid: 1695120fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: doctools
priority: 5 Medium
foundin: None
title: doctools - add diagram support
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
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: 1430694fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: smtp
priority: 7 High
foundin: None
title: smtp or socket issue causes error 400 in Windows XP Pro
cmimetype: text/plain
submitter: guitarzar
assignee: patthoyts
closer: guitarzar
closedate: 2006-05-15T15:34:33
comment:
  I thought I had submitted this back in 2005 but I do 
  not see it in the bug database so I am sumbitting 
  again.

  I am using tcllib mime and smtp to send email from a 
  tcl tool. Unfortunately, it seems that a socket error 
  is being thrown if the body size gets beyond around 
  10KB. I'm unsure if it's a socket issue or a tcllib 
  issue. It seems to be consistent as I have tried this 
  with 3 different body texts. I already sumbitted this 
  to ActiveState and they referred me over here. Please 
  see the submission on ActiveStates bug system. The 
  bug ID is 42067. I have upload several files there. I 
  would really appreciate it if you guys could take a 
  look at this.

  Thanks,
  Robert Joy


tkt_uuid: 1016865fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: md5
priority: 9 Immediate
foundin: None
title: md5 test suite causes tcl core dump!
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-10-06T21:12:17
comment:
  platform: sparc sunblade 100 solaris 8, sun c compiler,
  tcl 8.4.7, tcllib latest cvs snapshot - this has been
  going on for a day or so now.


  Module: md5
  modules/md5/md5.test
  - md5 1.4.3 (Trf based)
  modules/md5/md5x.test
  - md5 2.0.1 (Trf based)

  Module: md5crypt
  modules/md5crypt/md5crypt.test
  - md5crypt 1.0.0 (pure Tcl)
  child killed: bus error
      while executing
  "exec [info nameofexecutable]  [file join $distribution
  all.tcl]  -modules $modules  >@ stdout 2>@ s
  tderr"
      (procedure "__test" line 10)
      invoked from within
  "__$cmd"
      (file "../sak.tcl" line 1593)
  gmake: *** [test] Error 1

  The stack trace is a bit peculiar:
   $ dbx /usr/tcl84/bin/tclsh8.4 core
  Reading tclsh8.4
  core file header read successfully
  Reading ld.so.1
  Reading libtcl8.4g.so
  Reading libdl.so.1
  Reading libsocket.so.1
  Reading libnsl.so.1
  Reading libm.so.1
  Reading libc.so.1
  Reading libmp.so.2
  Reading libc_psr.so.1
  Reading libtk8.4g.so
  Reading libX11.so.4
  Reading libXext.so.0
  Reading libTrf2.1g.so
  Reading libz.so
  Reading libmemchan.so
  program terminated by signal BUS (invalid address
  alignment)
  dbx: warning: can't find file
  "/vol/tclsrcsol/tcl84/trf/md5.o"
  dbx: warning: see `help finding-files'
  0xfec5d4d8: md5_process_block+0x0130:   ld      [%l0], %l5
  dbx: warning: can't find file
  "/vol/tclsrcsol/tcl84/trf/md5dig.o"
  dbx: warning: can't find file
  "/vol/tclsrcsol/tcl84/trf/digest.o"
  dbx: warning: can't find file
  "/vol/tclsrcsol/tcl84/trf/registry.o"
  Current function is FlushChannel
   2078                   &errorCode);
  (dbx 1) where                                         
                 
    [1] md5_process_block(0xff00, 0xd76aa478, 0xff00,
  0xffbe80c0, 0x61, 0x5a71dc), at 0xfec5d4d8
    [2] md5_process_bytes(0x5a93a0, 0xc8, 0x5a71c0,
  0x5aa3b0, 0x719, 0x5aa3b8), at 0xfec5d324
    [3] MDmd5_UpdateBuf(0x5a71c0, 0x5a93a0, 0xc8, 0x1030,
  0x2234c, 0xfefc1ce4), at 0xfec45f7c
    [4] EncodeBuffer(0x2453e0, 0x5a93a0, 0xc8, 0x0,
  0xfec77ad8, 0x19e94c), at 0xfec44244
    [5] TrfOutput(0x5a7128, 0x5a93a0, 0xc8, 0xffbe8330,
  0x16ee4d, 0xff332b01), at 0xfec30d94
  =>[6] FlushChannel(interp = (nil), chanPtr = 0x270560,
  calledFromAsyncFlush = 0), line 2078 in "tclIO.c"
    [7] CheckFlush(chanPtr = 0x270560, bufPtr = 0x5a9380,
  newlineFlag = 0), line 3429 in "tclIO.c"
    [8] WriteBytes(chanPtr = 0x270560, src = 0x5a2fa0
  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  srcLen = 200), line 3040 in "tclIO.c"
    [9] Tcl_WriteObj(chan = 0x34ecd0, objPtr = 0x1fdfa8),
  line 2957 in "tclIO.c"
    [10] Tcl_PutsObjCmd(dummy = (nil), interp = 0x1fa328,
  objc = 4, objv = 0x19e9a4), line 132 in "tclIOCmd.c"
    [11] TclEvalObjvInternal(interp = 0x1fa328, objc = 4,
  objv = 0x19e9a4, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [12] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0xba750), line 1404 in "tclExecute.c"
    [13] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x19a088), line 982 in "tclExecute.c"
    [14] TclObjInterpProc(clientData = 0x1b3a70, interp =
  0x1fa328, objc = 3, objv = 0x19e998), line 1100 in
  "tclProc.c"
    [15] InvokeImportedCmd(clientData = 0x110bc8, interp
  = 0x1fa328, objc = 3, objv = 0x19e998), line 1476 in
  "tclNamesp.c"
    [16] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x19e998, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [17] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x3551e8), line 1404 in "tclExecute.c"
    [18] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x16aae0), line 982 in "tclExecute.c"
    [19] TclObjInterpProc(clientData = 0x3562b8, interp =
  0x1fa328, objc = 4, objv = 0xffbe9424), line 1100 in
  "tclProc.c"
    [20] TclEvalObjvInternal(interp = 0x1fa328, objc = 4,
  objv = 0xffbe9424, command = 0xff35b5e4 "", length = 0,
  flags = 524288), line 3087 in "tclBasic.c"
    [21] Tcl_EvalObjv(interp = 0x1fa328, objc = 4, objv =
  0xffbe9424, flags = 524288), line 3203 in "tclBasic.c"
    [22] AliasObjCmd(clientData = 0x24aa10, interp =
  0x1fa328, objc = 3, objv = 0xffbe95a8), line 1486 in
  "tclInterp.c"
    [23] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0xffbe95a8, command = 0x150b09
  "::md5crypt::md5crypt $passwd $salt\n    ", length =
  35, flags = 0), line 3087 in "tclBasic.c"
    [24] Tcl_EvalEx(interp = 0x1fa328, script = 0x150b00
  "\n        ::md5crypt::md5crypt $passwd $salt\n    ",
  numBytes = 48, flags = 262144), line 3683 in "tclBasic.c"
    [25] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x1611e0, flags = 262144), line 4000 in "tclBasic.c"
    [26] Tcl_UplevelObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 1, objv = 0x19e994), line 674 in
  "tclProc.c"  [27] TclEvalObjvInternal(interp =
  0x1fa328, objc = 3, objv = 0x19e98c, command = (nil),
  length = 0, flags = 0), line 3087 in "tclBasic.c"
    [28] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x34f618), line 1404 in "tclExecute.c"
    [29] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x2ae910), line 982 in "tclExecute.c"
    [30] TclObjInterpProc(clientData = 0x247cb0, interp =
  0x1fa328, objc = 3, objv = 0x304960), line 1100 in
  "tclProc.c"
    [31] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x304960, command = 0xff35b5e4 "", length = 0,
  flags = 262144), line 3087 in "tclBasic.c"
    [32] Tcl_EvalObjv(interp = 0x1fa328, objc = 3, objv =
  0x304960, flags = 262144), line 3203 in "tclBasic.c"
    [33] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x96b98, flags = 262144), line 3997 in "tclBasic.c"
    [34] Tcl_UplevelObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 1, objv = 0x19e988), line 674 in
  "tclProc.c"
    [35] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x19e980, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [36] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x371de0), line 1404 in "tclExecute.c"
    [37] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x1f9a68), line 982 in "tclExecute.c"
    [38] TclObjInterpProc(clientData = 0x25fa80, interp =
  0x1fa328, objc = 3, objv = 0x1a8348), line 1100 in
  "tclProc.c"
    [39] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x1a8348, command = 0xff35b5e4 "", length = 0,
  flags = 262144), line 3087 in "tclBasic.c"
    [40] Tcl_EvalObjv(interp = 0x1fa328, objc = 3, objv =
  0x1a8348, flags = 262144), line 3203 in "tclBasic.c"
    [41] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x24f138, flags = 262144), line 3997 in "tclBasic.c"
    [42] Tcl_UplevelObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 1, objv = 0x19e97c), line 674 in
  "tclProc.c"
    [43] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x19e974, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [44] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x37ad00), line 1404 in "tclExecute.c"
    [45] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x250c70), line 982 in "tclExecute.c"
    [46] TclObjInterpProc(clientData = 0x12d048, interp =
  0x1fa328, objc = 5, objv = 0x19e960), line 1100 in
  "tclProc.c"
    [47] InvokeImportedCmd(clientData = 0x2527d8, interp
  = 0x1fa328, objc = 5, objv = 0x19e960), line 1476 in
  "tclNamesp.c"
    [48] TclEvalObjvInternal(interp = 0x1fa328, objc = 5,
  objv = 0x19e960, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [49] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x8a6a0), line 1404 in "tclExecute.c"  [50]
  TclCompEvalObj(interp = 0x1fa328, objPtr = 0x98848),
  line 982 in "tclExecute.c"
    [51] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x98848, flags = 0), line 4012 in "tclBasic.c"
    [52] Tcl_ForeachObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 4, objv = 0xffbeb750), line 1863 in
  "tclCmdAH.c"
    [53] TclEvalObjvInternal(interp = 0x1fa328, objc = 4,
  objv = 0xffbeb750, command = 0x2a6408 "foreach {n salt
  passwd expected} [list \\n    1    {a}  {} 
  {$1$a$8CfZSfErbeskipdhZHtvu.} \\n    2    {a}  {a}
  {$1$a$44cUw6Nm5bX0muHWNIwub0} \\n    3    {a}  [string
  repeat a  100] {$1$a$vTAcWEblAgdUlX6KBz0NM.} \\n    4 
    {a}  [string repeat a  200]
  {$1$a$kC.K4D6mvUznpkjWJK8Tm0} \\n    5    {a}  [string
  repeat a  400] {$1$a$nBvNVTsAryOnHlW7L/gzf/} \\n    6 
    {a}  [string repeat a 1000]
  {$1$a$yhNnTV4IKHbl8oEB/eJaj0} \\n] {\n    test
  md5passwd-4.${n} {md5crypt check passwd} {\n       
  ::md5crypt::md5crypt $passwd $s" ..., length = 800,
  flags = 0), line 3087 in "tclBasic.c"
    [54] Tcl_EvalEx(interp = 0x1fa328, script = 0x2a55c8
  "# -*- tcl -*-\n# md5crypt.test:  tests for the
  md5crypt commands\n#\n# This file contains a collection
  of tests for one or more of the Tcllib\n# commands. 
  Sourcing this file into Tcl runs the tests and
  generates\n# output for errors.  No output means no
  errors were found.\n#\n# Copyright (C) 2003 Pat Thoyts
  <patthoyts@users.sourceforge.net>\n#\n# RCS: @(#) $Id:
  md5crypt.test,v 1.5 2004/02/14 05:59:21 andreas_kupries
  Exp $\n\n#
  -------------------------------------------------------------------------\n#
  Initialize the " ..., numBytes = 5337, flags = 0), line
  3683 in "tclBasic.c"
    [55] Tcl_FSEvalFile(interp = 0x1fa328, pathPtr =
  0x250628), line 1749 in "tclIOUtil.c"
    [56] Tcl_SourceObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 2, objv = 0x19e958), line 1058 in
  "tclCmdMZ.c"
    [57] TclEvalObjvInternal(interp = 0x1fa328, objc = 2,
  objv = 0x19e958, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [58] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x1c0a30), line 1404 in "tclExecute.c"
    [59] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x2321c0), line 982 in "tclExecute.c"
    [60] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x2321c0, flags = 0), line 4012 in "tclBasic.c"
    [61] Tcl_CatchObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 3, objv = 0x19e94c), line 254 in
  "tclCmdAH.c"
    [62] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x19e94c, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [63] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x12ba00), line 1404 in "tclExecute.c"
    [64] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x163978), line 982 in "tclExecute.c"
    [65] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x163978, flags = 0), line 4012 in "tclBasic.c"
    [66] SlaveEval(interp = 0x23858, slaveInterp =
  0x1fa328, objc = 1, objv = 0x254b4), line 2094 in
  "tclInterp.c"
    [67] SlaveObjCmd(clientData = 0x1fa328, interp =
  0x23858, objc = 3, objv = 0x254ac), line 1933 in
  "tclInterp.c"
    [68] TclEvalObjvInternal(interp = 0x23858, objc = 3,
  objv = 0x254ac, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"

    [69] TclExecuteByteCode(interp = 0x23858, codePtr =
  0x152030), line 1404 in "tclExecute.c"
    [70] TclCompEvalObj(interp = 0x23858, objPtr =
  0x4de78), line 982 in "tclExecute.c"
    [71] Tcl_EvalObjEx(interp = 0x23858, objPtr =
  0x4de78, flags = 0), line 4012 in "tclBasic.c"
    [72] Tcl_ForeachObjCmd(dummy = (nil), interp =
  0x23858, objc = 4, objv = 0x2549c), line 1863 in
  "tclCmdAH.c"
    [73] TclEvalObjvInternal(interp = 0x23858, objc = 4,
  objv = 0x2549c, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [74] TclExecuteByteCode(interp = 0x23858, codePtr =
  0xb2548), line 1404 in "tclExecute.c"
    [75] TclCompEvalObj(interp = 0x23858, objPtr =
  0x31300), line 982 in "tclExecute.c"
    [76] Tcl_EvalObjEx(interp = 0x23858, objPtr =
  0x31300, flags = 0), line 4012 in "tclBasic.c"
    [77] Tcl_ForeachObjCmd(dummy = (nil), interp =
  0x23858, objc = 4, objv = 0xffbecda8), line 1863 in
  "tclCmdAH.c"
    [78] TclEvalObjvInternal(interp = 0x23858, objc = 4,
  objv = 0xffbecda8, command = 0x34c55 "foreach module
  $modules {\n    set ::tcltest::testsDirectory [file
  join $root modules $module]\n\n    if { ![file
  isdirectory $::tcltest::testsDirectory] } {\n^Iputs
  stdout "unknown module $module"\n    }\n\n    set
  auto_path $old_apath\n    set auto_path [linsert
  $auto_path 0 $::tcltest::testsDirectory]\n\n    #
  foreach module, make a slave interp and source that
  module's tests into\n    # the slave.  This isolates
  the test suites from one another.\n    puts stdout
  "Module:\t[file tail $module]"\n    set c [interp
  creat" ..., length = 3554, flags = 0), line 3087 in
  "tclBasic.c"
    [79] Tcl_EvalEx(interp = 0x23858, script = 0x33de8 "#
  all.tcl --\n#\n# This file contains a top-level script
  to run all of the Tcl\n# tests.  Execute it by invoking
  "tclsh all.test" in this directory.\n#\n# To test a
  subset of the modules, invoke it by 'tclsh all.test
  -modules "<module list>"'\n#\n# Copyright (c) 1998-2000
  by Ajuba Solutions.\n# All rights reserved.\n# \n# RCS:
  @(#) $Id: all.tcl,v 1.19 2004/08/10 07:01:30
  andreas_kupries Exp $\n\nset old_auto_path
  $auto_path\n\nif {[lsearch [namespace children]
  ::tcltest] == -1} {\n    namespace eval ::tcltest {}\n
     proc " ..., numBytes = 7355, flags = 0), line 3683
  in "tclBasic.c"
    [80] Tcl_FSEvalFile(interp = 0x23858, pathPtr =
  0x2c8f8), line 1749 in "tclIOUtil.c"
    [81] Tcl_Main(argc = 3, argv = 0xffbed3f0,
  appInitProc = 0x10820 = &Tcl_AppInit(Tcl_Interp
  *interp)), line 292 in "tclMain.c"
    [82] main(argc = 4, argv = 0xffbed3ec), line 90 in
  "tclAppInit.c"
  (dbx 2) 


tkt_uuid: 731759ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: mime
priority: 5 Medium
foundin: None
title: line endings wrong for buildmessage
cmimetype: text/plain
submitter: gunzel
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2003-05-05T07:15:42
comment:
  Using buildmessage and therefore buildmessageaux to generate a 
  mime message results in the headers and boundaries having LF as 
  their line ending. According to RFC2045 these should be CRLF. 

  This may also apply to copymessage/copymessageaux also although 
  it may be using channels to do the translation I'm not sure.

  I have attached a suggested patch for mime.tcl

  Thanks

  Matthew


tkt_uuid: 746960ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget Tree insert bug
cmimetype: text/plain
submitter: petasis
assignee: damonc
closer: damonc
closedate: 2003-10-20T23:17:35
comment:
  In the current implementation of the BWidget tree
  widget, not enough checks are performed when
  adding new nodes into the tree.

  For example, the current code allows
  somebody to create a new tree node
  that contains into its node name any
  instances of the characters &, |, ^, !.
  However, if you add such nodes, expect
  problems: as a canvas widget is
  used for implementing the widget and these
  characters have special meaning in tag
  names (are considered operators - the
  canvas man page does not stress this issue but thats
  another story :-)) you end
  up with various errors when the widget gets
  drawn (for example errors during
  canvas bbox). The user is not
  always able to trace down the source of error
  (I had to check the canvas implementation to
  locate the error message, see what the
  code tried to do (a search upon the tags)
  and then go to the man page to find out what is wrong).

  I can think of two possible solutions:
  1) Check for these characters when a node is created
  and through an error if any of these characters are used.
  2) Allow these characters, but silently replace them
  with something else.

  George


tkt_uuid: 697183ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: latest chat logout menu selection broken
cmimetype: text/plain
submitter: lvirden
assignee: hartweg
closer: patthoyts
closedate: 2003-03-10T13:34:58
comment:
  tkchat 1.80 logout feature produces this output using
  Tcl/Tk 8.4.2:

  invalid command name "logonScreen"
      while executing
  "logonScreen"
      invoked from within
  ".#mbar.#mbar#file invoke active"
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 [list $w invoke active]"
      (procedure "tk::MenuInvoke" line 47)
      invoked from within
  "tk::MenuInvoke .#mbar.#mbar#file 1"
      (command bound to event)


  To fix it, I changed all the invocations of logonScreen
  to ::tkchat::logonScreen and it seems to work.


tkt_uuid: 682187ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: math
priority: 8
foundin: None
title: Add a statistics module
cmimetype: text/plain
submitter: arjenmarkus
assignee: arjenmarkus
closer: andreas_kupries
closedate: 2003-04-16T19:46:29
comment:
  The module I propose to add contains a set of
  statistical procedures for analysing and manipulating
  data. It comes with a full set of documentation and a
  reasonable set of tests.

  Though still work in progress, I would like to submit
  it, as the parts that are complete may be useful for
  somebody. 


tkt_uuid: 3313923fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: http :: autoproxy
priority: 7 High
foundin: None
title: configure -authProc does not grab the correct argument
cmimetype: text/plain
submitter: fvogelnew1
assignee: patthoyts
closer: patthoyts
closedate: 2012-02-08T00:25:08
comment:
  package require autoproxy
  autoproxy::init
  autoproxy::configure  ; # show what was found
  autoproxy::configure -authProc defAuthProc
  autoproxy::configure  ; # see the BUG?
  autoproxy::cget -authProc  ; # see the BUG more clearly!

  The last command returns "-authProc" whereas it should return "defAuthProc"

  Fix:
  Line 106 of autoproxy.tcl should read:
              -authProc { set options(authProc) [Pop args 1] }
  instead of:
              -authProc { set options(authProc) [Pop args] }


tkt_uuid: 459186ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: stats - deprecated
priority: 4
foundin: None
title: counter & stats modules are almost same
cmimetype: text/plain
submitter: hemanglavana
assignee: welch
closer: patthoyts
closedate: 2003-04-29T08:42:34
comment:
  A cursory look at the diffs of counter.tcl and stats.tcl files
  gives the impression that both are essentially the same.
  Moreover, the ChangeLog file under counter module says:

  2000-10-02  Brent Welch <welch@ajubasolutions.com>

          * NAME CHANGE from "stats" to "counter"
          * counter.tcl: Changed shading of histogram labels.


  I think having two such modules with almost the same 
  functionality can lead to several problems, including confusing
  users on which module to use as well as code maintenance.

  Therefore, it would be best to delete one of the two modules
  -- I don't care which one. It it is not possible to delete one of the
  modules then the procs common to both should be merged into
  a single new library module and then both the modules should 
  refer/call the procs in the new library module.


tkt_uuid: 1276561fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 7 High
foundin: None
title: Handling of dates/times
cmimetype: text/plain
submitter: yaroslav1
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-10-04T18:48:10
comment:
  Dates/times are handled incorrectly in tcllib in
  non-English locales.
  Look at this piece of code from mime.tcl:

  --------- piece of code ------
              set gmt [clock format $clock -format "%d %b
  %Y %H:%M:%S" \
                             -gmt true]
              if {[set diff [expr {($clock-[clock scan
  $gmt])/60}]] < 0} {
                  set s -
                  set diff [expr {-($diff)}]
              } else {
                  set s +
              }
  ------------------------------
  Time in this format doesn't get scanned back into
  seconds by clock scan,
  because, for example, in Russian locale (ru_RU.KOI8-R)
  in looks like:

  30 <unicode string> 2005 11:32:07

  Unicode string here transcribes as "avgust" which is
  russian name for
  August. So Tcl error "unable to convert date-time
  string" appears.
  I suggest to replace it with something like:

              set gmt [clock format $clock -format
  "%Y-%m-%d %H:%M:%S" \
                             -gmt true]

  Also I suggest to check in other such places (use of
  clock format / clock scan) in tcllib's code.


tkt_uuid: 1566460fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math
priority: 5 Medium
foundin: None
title: math-fuzzy-ManyCompares-1.1 fails with Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2006-11-08T08:10:55
comment:
  ==== math-fuzzy-ManyCompares-1.1 Compare fails due to
  missing braces FAILED
  ==== Contents of test case:

     set tol_eq 0
     set tol_ne 0
     set tol_ge 0
     set tol_gt 0
     set tol_le 0
     set tol_lt 0

     for { set i -1000 } { $i <= 1000 } { incr i } {
        if { $i == 0 } continue

        #
        # NOTE: The braces in the assignment for y are
  missing on purpose!
        #
        set x [expr {1.01/double($i)}]
        set y [expr (2.1*$x)*(double($i)/2.1)]

        if { [teq $y 1.01] } { incr tol_eq }
        if { [tne $y 1.01] } { incr tol_ne }
        if { [tge $y 1.01] } { incr tol_ge }
        if { [tgt $y 1.01] } { incr tol_gt }
        if { [tle $y 1.01] } { incr tol_le }
        if { [tlt $y 1.01] } { incr tol_lt }
     }
     set result [list $tol_eq $tol_ne $tol_ge $tol_gt
  $tol_le $tol_lt]
     set intended {2000 0 2000 0 2000 0}
     set equal 1
     foreach r $result i $intended {
        if { $r != $i } {
           set equal 0
        }
     }
     set equal

  ---- Result was:
  1
  ---- Result should have been (exact matching):
  0
  ==== math-fuzzy-ManyCompares-1.1 FAILED


tkt_uuid: 1373937fffffffffffffffffffffffffffffffff
type: Bug
status: Open
resolution: None
subsystem: bench
priority: 5 Medium
foundin: None
title: bench package does not work as TM
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
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: 552972ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct :: tree
priority: 5 Medium
foundin: None
title: Feature Req: addtl introspection methods
cmimetype: text/plain
submitter: cleverly
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2002-05-09T05:48:56
comment:
  I've made modifications to the struct::graph module
  that I've found useful in my own scripts.
   
  These modifications add several new submethods. 
  Introspection: keys (returns a list of keys), keyexists
  (returns 1 or 0 depending on whether a given key
  exists), and getall (returns a serialized list suitable
  for using with [array set]); and an append and lappend
  (to avoid doing a 'get/[l]append/set' manually).
   
  Patches for the tree.tcl, tree.test, and tree.n files
  are attached.  


tkt_uuid: 2420330fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
title: Problem in Post-order dfs walk of the graph
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2008-12-13T03:58:35
comment:
  While walking the graph , in post-order depth-first search, currently only the last entry (node) in the list , will be deleted, if it has already been visited. Please find the code snippet below: (/struct/graph_tcl.tcl)


  elseif { [string equal $order "post"] } {
              # Post-order Depth-first search

              while { [llength $st] > 0 } {
                  set node [lindex $st end]

                  if {[info exists visited($node)]} {
                      # Second time we are here, pop it,
                      # then evaluate the command.

                      ldelete st end
                       ...
                        ...
                         ... <rest of the code follows>
           


  If there are multiple entries of the same node in the list (st), (this is possible because a single node NODE3 can be a neighbouring node for both NODE1 and NODE2)then this will result in duplicate entries being added in the final sorted list, which is not the right thing.

  To fix this, not just the last entry of the list(for eg: NODE3), but all the entries of that node "NODE3" needs to be removed from the list.

  The fix we have to solve the above problem:
   elseif { [string equal $order "post"] } {
              # Post-order Depth-first search

              while { [llength $st] > 0 } {
                  set node [lindex $st end]

               if {[info exists visited($node)]} {
                   # Second time we are here, pop it,
                   # then evaluate the command.
    while {[set index [lsearch -exact $st node]] != -1} {
             set st [lreplace $st $index $index]
          }
                       ...
                        ...
                         ... <rest of the code follows>

          
  We have noticed this problem only in tcllib, but not in the "critcl version of tcllib". We currently need this working on HP-Itanium platform. But unfortunately, we could not get a critcl version of tcllib available for Hp-Itanium, so looking for this fix in tcllib.

  Thanks in advance.


tkt_uuid: 2024843fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math :: special
priority: 5 Medium
foundin: None
title: erf is not accurate
cmimetype: text/plain
submitter: nobody
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2008-08-13T07:47:02
comment:
  Problem description
  ====================

  For erf(1)
  Tcl gives 0.842638529766, while gcc 0.84270079294971

  Reproduction
  ============

  > package require math
  1.2.2
  > package require math::special
  0.1
  > ::math::special::erf 1
  0.842638529766
  ===========================================
  gcc --version
  gcc (GCC) 3.4.2
  Copyright (C) 2004 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  >cat <<EOF >erf.c
  ? #include <stdio.h>
  ? #include <stdlib.h>
  ? #include <math.h>
  ? int main(int argc, char**argv) {
  ?    printf("%16.14lf\n", erf(atof(argv[1])));
  ?    return 0;
  ? }
  ? EOF
  >gcc -o erf erf.c -lm ; erf 1
  0.84270079294971


tkt_uuid: 1274120fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: crc
priority: 5 Medium
foundin: None
title: package overwrites ::v
cmimetype: text/plain
submitter: dgp
assignee: patthoyts
closer: andreas_kupries
closedate: 2005-08-26T16:59:51
comment:
  The crc packages writes to
  the variable "v" without
  resolution control.  This means
  if a variable ::v exists, it will be
  overwritten by the crc16 and
  crc32 packages.

  Attached patch corrects
  the problem.

  Patch also adds int(.)
  coercion protection to
  the calculation of signbit
  to avoid trouble if/when
  Tcl converts to supporting
  bignums.


