# ticket

tkt_uuid: 746960ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: None
title: BWidget Tree insert bug
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: 1329642fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: logger
priority: 5 Medium
foundin: None
resolution: Fixed
title: logger::disable/enable/setlevel ignored
comment:
  The global commands for setting a loglevel are ignored
  by global loggers created after their execution. This
  is surprising and will IMHO trip many application
  authors, as tehy will likely set the log level for
  their application before loggers in packaged are created.


tkt_uuid: 551133ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: csv
priority: 5 Medium
foundin: None
resolution: Fixed
title: csvdiff duplicate key bug
comment:
  csvdiff expects that there are no 'keys' within either
  the first or second input files.  This results in
  erroneous differences reported currently.

  the --help option doesn't mention this limitation and
  there is no man page to mention this limitation, so I
  will file this behavior as a bug.

  I know I'd prefer to have duplicates retained and
  diffed...


tkt_uuid: 1263071fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: -configuremethod
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: 1752755fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Accepted
title: An error dialog pops up while ListBox is resizing
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: 1751871fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ldap
priority: 5 Medium
foundin: None
resolution: Fixed
title: ldap::search : too many nested evaluations (infinite loop?)
comment:
  Hello 

  I have a trouble trying to search a element.
  this element is names eduid. When I'm trying to search on it , I obtain the following display:
  tcl> ldap::search $handle "ou=people,dc=XXX,dc=com" "eduid=ed148869" "uid"
  too many nested evaluations (infinite loop?)

  this uid exists as a search on the name return that:
  tcl> ldap::search $handle "ou=people,dc=XXX,dc=com" "uid=AERTY" "eduid"
  {eduid=ed043414,ou=people,dc=XXX,dc=com {eduid ed043414}}

  can you help me?

  regards
  Jerome


tkt_uuid: 981605ffffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
subsystem: calendar
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: BWidget Calendar Dialog
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: 731252ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: apps : tkchat
priority: 5 Medium
foundin: None
title: enhanced tkchat help requested
comment:
  When I check the tkchat Help menu item as well as /help in
  tkchat, I don't see commands such as /?<regexp> .  Thus,
  it appears this feature, and perhaps others, are not
  documented
  at this time anywhere other than within the source code.

  After determining where best this info should be found
  (perhaps in a  special help menu item?) , perhaps
  environment variables, features,  commands, etc. that
  one  can use within tkchat, but which have no menu
  setting, could be documented?


tkt_uuid: 1042613fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Can't drag into an emtpy tree widget
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: 3487731fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: pki
priority: 5 Medium
foundin: None
resolution: Duplicate
title: parse_csr errors
comment:
  Running:

  set csr [::pki::pkcs::create_csr $key [list C AU ST NSW L Sydney O imap OU bsd CN test]]
  set pcsr [::pki::pkcs::parse_csr $csr]

  result:

  Unknown hashing algorithm: unknown
      while executing
  "::pki::verify $signature $cert_req_info_saved $keylist"
      (procedure "::pki::pkcs::parse_csr" line 52)
      invoked from within
  "::pki::pkcs::parse_csr $csr"

  resulting from the caught error:

  Expected Sequence (0x30), but got 01
      while executing
  "::asn::asnGetSequence plaintext message"

  in ::pki::verify called by parse_csr


tkt_uuid: 978510ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Fixed
title: tkchat should add "package require Tcl 8.4"
comment:
  I tried running tkchat.tcl under Tcl 8.3, but it blew
  up because several places in the code require 8.4
  (lsearch switches, etc.).  You might want to add a
  "package require Tcl 8.4".  

  If anyone decides to support 8.3, contact me for a list
  of bugs I encountered.  I managed to get it to at least
  come up and display a few messages with only a few
  changes, but there might be deeper problems I haven't
  encountered yet.

  --willdye ("BobaFudd" on tkchat)


tkt_uuid: 3539249fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: aes
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Error in encrypting.
comment:
  Hello I am using the following tcl code 

  -[base64_encode [aes::aes -dir encrypt -key $key $email]]. 

  I generate a random key, when I want to decrypt the value using this code 

  -set decrypted_email [aes::aes -dir decrypt -key $key [base64_decode $email]] 

  I sometimes get this error:-

  can't use empty string as operand of "&"
      while executing
  "expr {($v << 2) | (($w & 0x30) >> 4)}"


tkt_uuid: 3058654fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: doctools
priority: 8
foundin: None
resolution: Not Applicable Here
title: Incorrect nroff generation
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: 955446ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftpd
priority: 7 High
foundin: None
resolution: Fixed
title: 227 reply non-recommended - causes failures
comment:
  ftpd.tcl (tcllib1.6) currently sends:
  227 Entering Passive Mode. 192,168,1,100,13,209

  The recommeded standard is
  227 Entering Passive Mode (192,168,1,100,13,209).

  Note the added parens. and the move of period to
  end of string.

  When I made this change my client, a Linux-based ROM-
  disk DVR (Digital Video Recorder) started working. So not
  much chance to change things on client.

  Seems in this case it's just a better idea to 
  exactly match the recommendation rather than
  vary slightly.


tkt_uuid: 1008619fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: htmlparse
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: htmlparse::2tree gets the HTML Doc structure wrong
comment:
  The following shows how to repeat the bug.

  $ cat wrong.tcl
   package require htmlparse
   set indent 0
   set t [struct::tree]
   set html
  {<html><head></head><body><h1>heading</h1><p>ayaken!</p></body></html>}
   proc painter {tree act node} {
          global indent
          if {$act == "enter"} then {
                  incr indent
                  puts ">[string repeat - [expr
  {$indent-1}]][$tree get $node type]"
          } else {
                  puts "<[string repeat - [expr
  {$indent-1}]][$tree get $node type]"
                  incr indent -1
          }
   }

   htmlparse::2tree $html $t
   $t walk root -order both -type dfs {act node} {painter
  $t $act $node}

   $ tclsh wrong.tcl
   >root
   >-hmstart
   >--html
   >---head
   <---head
   >---body
   >----h1
   >-----PCDATA
   <-----PCDATA
   >-----p
   >------PCDATA
   <------PCDATA
   <-----p
   <----h1
   <---body
   <--html
   <-hmstart
   <root

  You can see the p element is wrong in the hierarchy, it
  got sorted as a child of the h1 element, not, as it
  should be, as its sibling.

  I assume it's htmlparse innards which get it wrong, not
  2tree only, just a guess though.


  If there's need to contact me, I'm reachable at
  Ephaeton (at) gmx (dot) net.


tkt_uuid: 620754ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Patch to allow TkResource with toplevels
comment:
  Hi,

  When declaring a new widget based on the BWidget frame
  work it is possible to take default options from other
  widgets using 'TkResource'. When taking such default
  options from a toplevel, this toplevel is displayed
  (when taking from another widget, it is not displayed
  because it is not packed/gridded/placed). 

  This patch withdraws the toplevel used to get default
  options from.

  Jos.


tkt_uuid: 548224ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Fixed
title: hpupdate status incorrectly displays
comment:
  The idea in this demo is that one will, on a
  regular basis, update a series of files and then upload
  them via ftp to an http server.

  It depends on a proc called Touch to update a file's
  update date , which then it uses to determine which
  files were changed since that date.

  On my SPARC Solaris 8, using Tcl/Tk 8.4, the Touch
  proc does NOT update the file.  This results in the
  demo program not functioning properly.

  The strange thing is that I don't see a reason for it
  to fail.  And in fact, no errors occur - but the file's
  date never changes.

  I will continue searching for a solution.


tkt_uuid: 1187190fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Accepted
title: Update status icon when window regains focus
comment:
  Currently the status icon is only update when 
  restoring from the system tray.
  If the chat window doesn't have focus the number of 
  new messages is updated on both the window title and 
  the status icon, when regaining focus only the window 
  title is updated. This patch updates the status icon 
  as well.

  tkchatStatus1 is a minimal change to enable this.
  tkchatStatus2 is the way I think it should be done :)


tkt_uuid: 1960369fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: bignum :: float
priority: 5 Medium
foundin: None
resolution: Fixed
title: todouble returns 0.0 when it should not
comment:
  There appears to be a bug in math::bigfloat::todouble, which returns 0.0 when it should not. This is illustrated by the following.

  package require math::bigfloat
  namespace import ::math::bigfloat::*
  set foo [fromstr 317.22 4]

  In 8.4.1.4 the following prints 317.220, but in 8.5 it prints 0.000.

  set sr [todouble $foo]
  puts [format "%6.2f" $sr]

  If I convert the bigfloat to a string, then convert the string back to
  a float using scan, as below, the result is 317.220 in 8.5 as well as
  8.4.14.

  set str [tostr $foo]
  scan $str "%f" sr
  puts [format "%6.2f" $sr] 


tkt_uuid: 599306ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 8
foundin: None
resolution: Fixed
title: master index exposes unsupported pkgs
comment:
  dgp
  Uh, oh.  The "master" pkgIndex.tcl file for tcllib
  bypasses sanity checks. 
  dgp
  Can't think it through now; will report as a bug.
  aku
  What checks are bypassed ? Or do you mean its mere
  presence bypasses some checks in the safe stuff ?
  schlenk
  The pkgIndex.tcl file in tcllib1.3 main directory can
  load packages that can not be loaded directly, so it
  bypasses access restrictions.
  dgp
  I mean because it offers [package ifneeded] scripts for
  packages, the actual indexes for those packages lose
  any control they have.
  dgp
  take a look at the pkgIndex.tcl for control
  steveo saunters in.
  dgp
   if {![package vsatisfies [package provide Tcl] 8.2]}
  {return}
  package ifneeded control 0.1.1 [list source [file join
  $dir control.tcl]]
      * suchenwi goes home - a great weekend to y'all! 
  dgp
  It's coded that way to prevent any attempts to load
  control 0.1.1 into a pre-Tcl-8.2 interp.
  dgp
  But the tcllib pkgIndex.tcl is giving away the secret.
  suchenwi macht wie eine Banane ...
  dgp
  I know this was a big problem when prepping the 1.3
  release.
  dgp
  ...but this wasn't the right solution.
  schlenk
  So we have more than one bug: 1. bad pkgIndex.tcl for
  tcllib, that bypasses sanity checks 2. bad security
  checks, that allow loading of packages, that should not
  be loadable in a safe interp
  aku
  Yeah, I see.
  schlenk
  3. Inconvenient access for safe interp to tcllib modules.
  aku
  The alternative is to source all subordinate package
  indices directly, no ?
  aku
  ... Or maybe inlining them into the main package index. ...
  dgp
  I can't devote the time and attention required to come
  up with the right solution right now.
  dgp
  I recall from the previous discussion that just about
  every alternative has problems.


tkt_uuid: 1710644fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: treeql
priority: 5 Medium
foundin: None
resolution: Fixed
title: No {expand} for you!
comment:
  The file treeql85.tcl uses the
  {expand} syntax which is no longer
  approved.  Migrate to the {*} replacement.


tkt_uuid: 476988ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: textutil
priority: 5 Medium
foundin: None
resolution: Fixed
title: splitx and the empty string
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: 979894ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: smtp
priority: 5 Medium
foundin: None
resolution: Out of Date
title: username and password options are missing
comment:
  One of my web service providers recently started requiring all
  email use SMTP authorization - username/password. POP before
  SMTP was no longer good enough due to spammers.

  In the latest TCLLIB 1.6.1 there are username/password options
  in the smtp package for smtp::sendmessage invocations.

  Well, in the documentation. Not the code.

  I could really use to have these options available - TCLLIB can't
  send mail anymore without them, for me.

  ----

  I'm sourcing these TCLLIB 1.6.1 modules:

     base64.tcl,  md5.tcl, mime.tcl, smtp.tcl

  I uploaded those modules to source them because the hosting
  sit has an older TCLLIB installed.

  ----

  The MIME module gave me this error:

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

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


tkt_uuid: 1106375fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Fixed
title: Widget Error on failed object's construction
comment:
  ** Widget Error: when an object's constructor fails, the 
  object is not destroyed **


     Let's take the following example.
     Here's a widgetadaptor providing an extension of 
  the 'label' widget.

  package require snit 0.97
  ::snit::widgetadaptor mylabel {
     
     delegate method * to hull
     delegate option * to hull 

     constructor {args} {
        installhull using label
        $win configurelist $args
        puts "** $win created"
     }

     destructor {
        puts "** $win destroyed"
     }
  }   

     when I (wrongly) create an instance 
     (for example, I use an unsupported option),
     the instance is not not destroyed !
    
  mylabel .myL -strangeoption xyz

     the following error is correctly raised
    
  ** .myL destroyed
  Error in constructor: unknown option "-strangeoption" 
   
     but the ".myL" object still exists !
     This is in contrast with 'standard' widgets, because if 
  you write:
    
  label .myL -strangeoption xyz
    
     then an error is raised and the object is not created.

  I also experimented with 'widgetadaptor' ... the 
  behaviour is still wrong.
  Finally I experimented with 'type' ... the behaviour is 
  correct. 


tkt_uuid: 3607261fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: tklib :: widget :: dateentry
priority: 5 Medium
foundin: None
resolution: Duplicate
title: Calendar closes by clicking year/month navigation arrow.
comment:
  I have modified dateentry <ButtonPress> binding not to close a calendar by clicking items tagged with "cbutton".


tkt_uuid: 839066ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: None
title: bwidget - Binding for whole Tree Area
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: 773246ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: snit
priority: 3 Low
foundin: None
resolution: Not Applicable Here
title: snit: Multi-delegation for options
comment:
  For options it sometimes makes sense to delegate 
  changes to more than one component of a megawidget.

  For example: -background, -foreground of a megawidget 
  may go to all components.

  Currently we have no convenient way to specify such 
  multi-delegation. We can do it through an 'onconfigure' 
  handler, but this is inconvenient.


tkt_uuid: 918099ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: smtp
priority: 7 High
foundin: None
resolution: Accepted
title: SMTP AUTH support (RFC 2554)
comment:
  This patch adds support for the SMTP AUTH extension
  (RFC 2554). Currently this only deals with the LOGIN
  authentication mechanism but additional support for
  CRAM-MD5 and DIGEST-MD5 is planned.


tkt_uuid: 1695137fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - Misc processing ideas
comment:
  The results of the 'wordlist' and 'semantic' backends, see RFE 1695128, and RFE 1695126, can be used in lots of interesting ways. This RFE is a reminder of some of them, and the processing required.

  - spellchecking the words
  - word statistics
    -> find keywords for a document, set of documents
    (Need algorithm references which do stuff like this
     automatically - Bayes usable ?)


tkt_uuid: 1565836fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ldap
priority: 5 Medium
foundin: None
resolution: Fixed
title: ldapx man page ambiguous
comment:
  I grabbed the latest tcllib cvs snapshot from the
  activestate repository this morning. I ran the
  makefile, with a goal of installing it with tcl 8.5.

  I get this set of warnings:

  Generating /volws/lwv27/ldatae/man/mann/ldapx.n
  Manpage warning (sectambig): (Sub)Section title "Data"
  causes ambiguous section 
  references.
  Manpage warning (sectambig): (Sub)Section title
  "Options" causes ambiguous secti
  on references.
  Manpage warning (sectambig): (Sub)Section title
  "Example" causes ambiguous secti
  on references.
  Manpage warning (sectambig): (Sub)Section title "Data"
  causes ambiguous section 
  references.
  Manpage warning (sectambig): (Sub)Section title
  "Options" causes ambiguous secti
  on references.
  Manpage warning (sectambig): (Sub)Section title
  "Methods" causes ambiguous secti
  on references.
  Manpage warning (sectambig): (Sub)Section title
  "Example" causes ambiguous secti
  on references.
  Manpage warning (sectambig): (Sub)Section title "Data"
  causes ambiguous section 
  references.
  Manpage warning (sectambig): (Sub)Section title
  "Options" causes ambiguous secti
  on references.
  Manpage warning (sectambig): (Sub)Section title
  "Example" causes ambiguous secti
  on references.
  Manpage warning (sectambig): (Sub)Section title "Data"
  causes ambiguous section 
  references.
  Manpage warning (sectambig): (Sub)Section title
  "Options" causes ambiguous secti
  on references.
  Manpage warning (sectambig): (Sub)Section title
  "Methods" causes ambiguous secti
  on references.
  Manpage warning (sectambig): (Sub)Section title
  "Example" causes ambiguous secti
  on references.


tkt_uuid: 1533868fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ldap
priority: 5 Medium
foundin: None
resolution: Fixed
title: Connection not properly marked as unbound in ::ldap::unbind
comment:
  The connection is not properly marked as unbound 
  in ::ldap::unbind.

  A local variable is modified, instead of the array 
  used to remember the connection parameters.


tkt_uuid: 714947ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: widget
priority: 5 Medium
foundin: None
resolution: None
title: widget: digraph.tcl needs TIP 44 update
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: 520269ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
title: .man format files need comments
comment:
  The .man files  we are producing for processing by the
  doctools package currently seem to have so method for
  placing comments in the file. Placing '#' lines results
  in the tcl-style comment appeating in the output.
  Needless to say I want to add an emacs local variable
  block and the usual license header to the file. Plus
  comments are handy for breaking up the file in to sections.

  So: lines beginning with a # are comments to be ignored
  by the formatters??


tkt_uuid: 1475968fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: comm
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: comm - use canonical ids for remote host connections
comment:
  Hi,

  The comm man page mentions the following limitation:

  ---------
  WARNING: The host must always be specified in the same
  form (e.g., as either a fully qualified domain name,
  plain hostname or an IP address).
  ---------

  I use {<port> <hostname>} to connect to the remote comm
  channel. However, the id listed on the remote
  interpreter is of the form {<port> <hostip>}. As a
  result, it ends up creating one extra channel for
  communication between remote hosts. See below:

  # Host1 = mavis
  mavis:219> wish
  % package require comm
  4.2.1
  % comm::comm config -local 0
  % comm::comm self
  40048
  % hi    <----- "hi" printed from "hlavana-u5" below
  comm::comm ids
  40048 {32807 64.102.40.12}  <--- remote id uses ipaddr
  % comm::comm send {32807 hlavana-u5} {puts hi}
  % comm::comm ids
  40048 {32807 64.102.40.12} {32807 hlavana-u5}
  % 

  # Host2 = hlavana-u5
  hlavana-u5:52> wish
  %  package require comm
  4.2.1
  % comm::comm config -local 0
  % comm::comm self
  32807
  % comm::comm send {40048 mavis} {puts hi}
  % comm::comm ids
  32807 {40048 mavis}
  % hi  <---- "hi" printed from "mavis" host
  comm::comm ids
  32807 {40048 mavis} {40048 64.102.16.217}
  % 

  For the above case, I would expect the [comm::comm ids]
  command to return exactly the same values in both the
  interpreters once the connection is established between
  the two -- something like:

  {32807 hlavana-u5.cisco.com} {40048 mavis.cisco.com}

  In addition to the above issue, the $id value set for
  the callback hooks are also not consistent. So, the
  comm package should be enhanced to remove this
  limitation and always use the canonical id internally.
  It should not differentiate between whether the id is
  specified simply as "40048", or "40048 localhost", or
  "40048 mavis", or "40048 mavis.cisco.com", or "40048
  64.102.16.217". 

  Note that the [comm::comm self], [comm::comm ids] and
  $id variable set for callback hooks should return the
  cannonical forms of the id.

  Hemang.


tkt_uuid: 528929ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Dynamic balloonhelp bug (and patch)
comment:
  In some rare cases (race condition depending on
  balloonhelp configuration and user mousemovements), the
  procedure for destroying a balloonhelp interferes with
  the procedure still building the display, causing
  errors like:

  bad window path name ".help_shell"
      (procedure "DynamicHelp::_show_help" line 22)
      invoked from within
  "DynamicHelp::_show_help .bla.topf.tb0.bbox4.b1 329
  198"
      ("after" script)

  Hard to reproduce with a script, sorry.

  A quick resolution to this is to check if the targeted
  help window still exists in the ::_show_help procedure
  (see attached diff file, it's a twoline patch).


tkt_uuid: 3389655fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tcl :: chan :: *
priority: 5 Medium
foundin: None
resolution: Fixed
title: memchan not working
comment:
  testing in tkcon produces these responses (also tested with 8.5.10)

  ...(Tcl8.6b1.2 / Tk8.6b1.2)
  % package require TclOO
  0.6.2
  % package require tcl::chan::memchan
  1.0.1 

  % set fid [::tcl::chan::memchan]
  can't read "content": no such variable 

  % package require tcl::chan::variable
  1.0.1 

  % set fid [::tcl::chan::variable buffer]
  can't read "allowed(write)": no such variable 


tkt_uuid: 1935658fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Accepted
title: Minor issue on a change the font settings
comment:
  Hello,

  When I did try to change default font for tkchat window, using Preferences->Fonts dialog, I noticed that some controls (a few buttons and labels) change itself too (become to use the same font face). Tested platform is Linux.

  Look, please, on the font faces: Preferences->Colors, Preferences->Options dialogs, and a clock plugin then.

  I found that those widgets have an extra font settings. It seems, it's enough just to remove the font setting in a few places to get an expectected output.

  BUT, I don't know how the same widgets look on other platforms (Windows or MAC) when the default font is changed, so, perhaps, my tweaks are unneeded at all.

  The path was tested on the current tkchat revision: 1.422. It works for _me_.

  Thanks.

  Sergei Gavrikov


tkt_uuid: 1815027fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib
priority: 5 Medium
foundin: None
resolution: None
title: ::tooltip::show; wrong order of window checking
comment:
  The evaluation "{!$we || (!$wm && !$wc)}" if the window exists is to late:

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

  It's after "[winfo pointerxy $w]" where it already crashes.

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


tkt_uuid: 1273537fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: base64
priority: 3 Low
foundin: None
resolution: Not Applicable Here
title: uuencode pad character confusion/mess
comment:
  A number of testsuites for packages which have
  accelerators are written to load and test all available
  accelerators.

  The uuencode testsuite is not written to that form yet,
  but should, as we have pure Tcl, critcl, and Trf
  accelerators.

  It is written to select one of the available
  accelerators and test that. It however gets confused if
  there are both critcl and Trf present. It loads and
  uses critcl, but some test uuencode-1.4 reacts to the
  presence of Trf and changes to expect different
  results. This mismatch causes it to fail.

  The results are in disagreement about the padding
  character. Trf uses tilde (~), and pure Tcl/critcl use
  the backtick (`). Why the difference ? Do we have a
  document providing an authoritative answer to this ?


tkt_uuid: 704187ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Fixed
title: doctools - manpage_begin doc error re args
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: 723684ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct :: tree
priority: 5 Medium
foundin: None
title: ADD: ::struct::tree -delete -- myTree
comment:
  Currently there appears to be no way to delete 
  a ::struct::tree without usign non-lib functions to capture 
  what is availiable.

  CURRENT METHOD:
  rename myTree {}


  PROPOSED METHOD:
  ::struct::tree -delete -- myTree


  Any Questions?

  David Bigelow
  davidhbigelow@compuserve.com


tkt_uuid: 1007934fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: None
title: Typo in man page for struct::pool
comment:
  Example 2 for the struct::pool extension mentions:

      set fd {open "|backendApplication" w+}

  Of course, this should be:

      set fd [open "|backendApplication" w+]


  I probably had the "Caps Lock" on when typing this,

  Greetings,

  Erik Leunissen
  ============


tkt_uuid: 1191326fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ldap
priority: 5 Medium
foundin: None
resolution: Fixed
title: ldap::add cannot handle multi-valuated attributes
comment:
  ::ldap::add cannot add entries with multiple values for an 
  attribute. 
   
  My test program: 
   
  ----------------------------------------------------- 
  #!/usr/local/bin/tclsh8.4 
   
  package require ldap 
  set ldapfd [::ldap::connect ldap.my.domain] 
   
  ::ldap::bind $ldapfd "cn=admin,o=test" "mypassword" 
  set dn "cn=Test,ou=persons,o=test" 
   
  set attrval1 { 
      objectClass person 
      cn          Test 
      sn          Test 
      telephoneNumber {+31415926535 +27182818285} 
  } 
   
  set attrval2 { 
      objectClass person 
      cn          {Test User} 
      sn          Test 
      telephoneNumber +31415926535 
      telephoneNumber +27182818285 
  } 
   
  ::ldap::add $ldapfd $dn $attrval1 
   
  ::ldap::disconnect $ldapfd 
  ----------------------------------------------------- 
   
  When $attrval2 is given to ::ldap::add, I get an error 
  since telephoneNumber is repeated twice. 
   
  When $attrval1 is given to ::ldap::add, there is one 
  occurrence of the telephoneNumber with the two 
  numbers, which is not the required result. 
   
  This may (also) be a documentation problem. 


tkt_uuid: 1005948fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
title: LabelComboBox and LabelSpinBox
comment:
  It was - convenient to have such widgets with
  properties ComboBox and SpinBox in the version 1.2.x.
  It is convenient and readable at writing a code, and
  for example the command "$w -state disbled" will effect
  (to change color) both on Label and on ComboBox.
  In fact is LabelEntry - why to not make LabelComboBox
  and LabelSpinBox? :)
  Itself would write and send - a patch, but it is not
  confident, that I can write a good code.


tkt_uuid: 893259ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 8
foundin: None
title: Add simple plotting and charting package
comment:
  I have written a simple package for drawing plots and
  charts:
  - xy-plots
  - piecharts
  - barcharts
  - polar plots

  (I would like to add some simple 3D presentations too)

  It is still very much in its infancy, but I include
  the source nonetheless for early comments and
  suggestions.

  The basic design criterium was:

  Provide an easy-to-use package. It may not be as
  flexible as some others, but by offering lots of
  different chart types it should be worth looking
  into.


tkt_uuid: 1316063fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tie
priority: 4
foundin: None
resolution: Fixed
title: tie/tie_rarray_comm.test prints extra info
comment:
  tie_rarray_comm.test includes gratuitous puts commands,
  cluttering the log.  It prints something about "self @
  xxxx," waiting for spawned comm system to boot" etc.


tkt_uuid: 687923ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: stooop
priority: 6
foundin: None
resolution: Fixed
title: tcllib.sourceforge.net/doc/stooop.html points to itself
comment:
  At the end of the document above, a link points to the
  full HTML documentation for stooop.
  Unfortunately, it points to the current document, which
  is the HTML version of the manual page, instead of the
  large HTML document shipped with stooop.
  As the author, is there anything I can do to help
  resolve this issue?

  Many thanks in advance,  Jean-Luc (jfontain@free.fr)


tkt_uuid: 1928856fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: ftpd
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: fsCmd list - no socket as parameter?
comment:
  When the fsCmd-proc is called with "list" or "nlist" as command, the third parameter should be the socket for the answer. But when i print the args-var the values are only:

  / {list {}}

  there's no socket for the Answer!


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

  * uri 1.1.5
  WARNING: removeFile removing
  "/local/src/tcllib/__testdata":
    not created by makeFile
  WARNING: removeFile removing
  "/local/src/tcllib/__testdata":
    not a file
  test name 'uri-5.14-0' re-used; prior use in
  /local/src/tcllib/modules/uri/uri.test
  WARNING: cleanupTests deleting
  /local/src/tcllib/__testdata...


tkt_uuid: 2807147fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Accepted
title: buttonbox -homogeneous widths
comment:
  In buttonbox.tcl, the code which is used to ensure homogeneous button widths is bad. It can't accomodate buttons of which the width changes after they are initially drawn. This can be solved by using grid's -uniform option instead of -minsize, as in the attached patch. The code is much cleaner too.


tkt_uuid: 1766381fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Build System & Testing
priority: 5 Medium
foundin: None
resolution: Fixed
title: sak.tcl doc warning and error msgs
comment:
  With tcllib cvs head from 2007-08-01, 

  tclsh8.4 sak.tcl doc

  produced (beside a lot of doc files in various formats) some warning and error msgs. For a detailed list, see below.

  It finaly hang at
  Gen (dvi): ../latex/doctoc_lang_cmdref.tex

  After killing the latex process, it returned with:

  This is TeX, Version 3.14159 (Web2C 7.4.5)
  (../latex/doctoc_lang_cmdref.tex
  LaTeX2e <2001/06/01>
  Babel <v3.7h> and hyphenation patterns for american, french, german, ngerman, n
  ohyphenation, loaded.
  (/usr/share/texmf/tex/latex/base/article.cls
  Document Class: article 2001/04/21 v1.4e Standard LaTeX document class
  (/usr/share/texmf/tex/latex/base/size10.clo))
  No file doctoc_lang_cmdref.aux.
  [1] [2] [3]
  ! Missing $ inserted.
  <inserted text> 
                  $
  l.203 doctoc_
               intro, doctoc_lang_faq, doctoc_lang_intro, doctoc_lang_syntax
  ? child killed: software termination signal
      while executing
  "exec latex $f 1>@ stdout 2>@ stderr"
      (procedure "sak::doc::dvi" line 7)
      invoked from within
  "sak::doc::$f $argv"
      ("foreach" body line 3)
      invoked from within
  "foreach f {html nroff tmml text wiki latex dvi ps list validate} {

  The [sak.tcl doc ps] seem to depend on the dvi.

  [sak.tcl doc list] run without problem.

  [sak.tcl doc validate] has that output:

  Validate  : ./modules/nns/nns_client.man
  DocTools Warning (depr_lstitem): In macro at line 246, column 0:
  DocTools Warning (depr_lstitem): Misbilligter Befehl "[lst_item]".
  DocTools Warning (depr_lstitem):        Bitte verwenden sie [def].
  DocTools Warning (depr_lstitem): In macro at line 278, column 0:
  DocTools Warning (depr_lstitem): Misbilligter Befehl "[lst_item]".
  DocTools Warning (depr_lstitem):        Bitte verwenden sie [def].

  Here the detailed list of the warnings/error msgs:

  [...]
  Gen (tmml): ./modules/docstrip/docstrip.man
  Warning: Cannot start context optlist (manpage/section/dl/dle/dd - fmt_opt_def -trimlines {\1<m\1>boolean\1</m\1>})
  Gen (tmml): ./modules/docstrip/docstrip_util.man
  [...]
  Gen (tmml): ./modules/log/loggerUtils.man
  Warning: Cannot start context optlist (manpage/section/dl/dle/dd - fmt_opt_def -levels levelList)
  Gen (tmml): ./modules/log/logger.man
  [...]
  Gen (tmml): ./modules/math/linalg.man
  Warning: Cannot start context arglist (manpage/section/dl/dle/dd - fmt_arg_def list obj1 {})
  Gen (tmml): ./modules/math/statistics.man
  [...]
  Gen (tmml): ./modules/transfer/connect.man
  Warning: Cannot start context optlist (manpage/section/dl/dle/dd - fmt_opt_def -host {\1<m\1>hostname-or-ipaddr\1</m\1>})
  Gen (tmml): ./modules/treeql/treeql.man
  [...]
  Gen (text): ./modules/bench/bench_read.man
  Doctools Error in macro at line 39, column 0:
  [cmd_def bench::out::raw]
  --> invalid command name "cmd"
  Gen (text): ./modules/bench/bench_wtext.man
  [...]
  Gen (text): ./modules/doctools/doctoc_lang_intro.man
  Doctools Error in macro at line 118, column 0:
  [cmd_def division_start]
  --> invalid command name "cmd"
  Gen (text): ./modules/doctools/docidx.man
  Gen (text): ./modules/doctools/doctools_lang_intro.man
  Doctools Error in macro at line 78, column 0:
  [cmd_def titledesc]
  --> invalid command name "cmd"
  Gen (text): ./modules/doctools/doctools_intro.man
  [...]
  Gen (text): ./modules/nns/nns_client.man
  Doctools Error in macro at line 158, column 0:
  [cmd_def bind]
  --> invalid command name "cmd"
  Gen (text): ./modules/nns/nns_common.man
  [...]
  Gen (latex): ./modules/aes/aes.man
  Doctools Error in macro at line 148, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/asn/asn.man
  Doctools Error in macro at line 183, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/base32/base32.man
  Doctools Error in macro at line 48, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/base32/base32hex.man
  Doctools Error in macro at line 50, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/base32/base32core.man
  Doctools Error in macro at line 62, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/base64/yencode.man
  Gen (latex): ./modules/base64/base64.man
  Gen (latex): ./modules/base64/uuencode.man
  Gen (latex): ./modules/bee/bee.man
  Doctools Error in macro at line 136, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/bench/bench_read.man
  Doctools Error in macro at line 42, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/bench/bench_wtext.man
  Gen (latex): ./modules/bench/bench_lang_intro.man
  Gen (latex): ./modules/bench/bench_intro.man
  Doctools Error in macro at line 30, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/bench/bench.man
  Doctools Error in macro at line 89, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/bench/bench_lang_spec.man
  Doctools Error in macro at line 122, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/bench/bench_wcsv.man
  Gen (latex): ./modules/bibtex/bibtex.man
  Gen (latex): ./modules/blowfish/blowfish.man
  Doctools Error in macro at line 149, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/cmdline/cmdline.man
  Gen (latex): ./modules/comm/comm.man
  Doctools Error in macro at line 560, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/comm/comm_wire.man
  Doctools Error in macro at line 147, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/control/control.man
  Gen (latex): ./modules/counter/counter.man
  Gen (latex): ./modules/crc/sum.man
  Gen (latex): ./modules/crc/crc16.man
  Gen (latex): ./modules/crc/cksum.man
  Gen (latex): ./modules/crc/crc32.man
  Gen (latex): ./modules/csv/csv.man
  Doctools Error in macro at line 173, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/des/des.man
  Doctools Error in macro at line 185, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/dns/tcllib_dns.man
  Doctools Error in macro at line 224, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/dns/tcllib_ip.man
  Doctools Error in macro at line 96, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/docstrip/docstrip.man
  Doctools Error in macro at line 33, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/docstrip/docstrip_util.man
  Gen (latex): ./modules/doctools/cvs.man
  Doctools Error in macro at line 80, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_lang_cmdref.man
  Gen (latex): ./modules/doctools/doctools_lang_syntax.man
  Doctools Error in macro at line 56, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc.man
  Doctools Error in macro at line 260, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/docidx_lang_cmdref.man
  Gen (latex): ./modules/doctools/docidx_lang_intro.man
  Gen (latex): ./modules/doctools/doctools_plugin_apiref.man
  Doctools Error in macro at line 213, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_plugin_apiref.man
  Doctools Error in macro at line 181, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/docidx_intro.man
  Doctools Error in macro at line 31, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools.man
  Doctools Error in macro at line 319, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_lang_syntax.man
  Doctools Error in macro at line 56, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/changelog.man
  Gen (latex): ./modules/doctools/mpexpand.man
  Gen (latex): ./modules/doctools/docidx_lang_syntax.man
  Doctools Error in macro at line 56, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_lang_intro.man
  Doctools Error in macro at line 131, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/docidx.man
  Doctools Error in macro at line 260, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools_lang_intro.man
  Doctools Error in macro at line 82, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools_intro.man
  Doctools Error in macro at line 30, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools_lang_faq.man
  Doctools Error in macro at line 48, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/docidx_plugin_apiref.man
  Doctools Error in macro at line 183, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/docidx_lang_faq.man
  Doctools Error in macro at line 50, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_lang_faq.man
  Doctools Error in macro at line 50, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_intro.man
  Doctools Error in macro at line 31, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools_lang_cmdref.man
  Gen (latex): ./modules/exif/exif.man
  Gen (latex): ./modules/fileutil/multiop.man
  Doctools Error in macro at line 395, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/fileutil/fileutil.man
  Doctools Error in macro at line 395, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ftp/ftp.man
  Doctools Error in macro at line 216, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ftpd/ftpd.man
  Gen (latex): ./modules/fumagic/filetypes.man
  Doctools Error in macro at line 51, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/fumagic/mimetypes.man
  Doctools Error in macro at line 47, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/grammar_fa/dexec.man
  Gen (latex): ./modules/grammar_fa/faop.man
  Gen (latex): ./modules/grammar_fa/dacceptor.man
  Gen (latex): ./modules/grammar_fa/fa.man
  Doctools Error in macro at line 188, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/grammar_me/me_tcl.man
  Gen (latex): ./modules/grammar_me/me_cpucore.man
  Doctools Error in macro at line 270, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/grammar_me/me_ast.man
  Gen (latex): ./modules/grammar_me/me_util.man
  Gen (latex): ./modules/grammar_me/me_intro.man
  Gen (latex): ./modules/grammar_me/me_cpu.man
  Doctools Error in macro at line 259, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/grammar_me/me_vm.man
  Gen (latex): ./modules/grammar_peg/peg.man
  Doctools Error in macro at line 140, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/grammar_peg/peg_interp.man
  Gen (latex): ./modules/html/html.man
  Gen (latex): ./modules/htmlparse/htmlparse.man
  Gen (latex): ./modules/http/autoproxy.man
  Doctools Error in macro at line 106, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ident/ident.man
  Gen (latex): ./modules/inifile/ini.man
  Gen (latex): ./modules/interp/deleg_proc.man
  Gen (latex): ./modules/interp/deleg_method.man
  Gen (latex): ./modules/interp/tcllib_interp.man
  Gen (latex): ./modules/irc/irc.man
  Gen (latex): ./modules/javascript/javascript.man
  Gen (latex): ./modules/jpeg/jpeg.man
  Gen (latex): ./modules/json/json.man
  Gen (latex): ./modules/ldap/ldapx.man
  Doctools Error in macro at line 154, column 1:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ldap/ldap.man
  Doctools Error in macro at line 187, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/log/log.man
  Doctools Error in macro at line 267, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/log/loggerUtils.man
  Doctools Error in macro at line 65, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/log/logger.man
  Doctools Error in macro at line 210, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/log/loggerAppender.man
  Doctools Error in macro at line 49, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/interpolate.man
  Doctools Error in macro at line 40, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/geometry.man
  Doctools Error in macro at line 57, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/romberg.man
  Doctools Error in macro at line 243, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/fourier.man
  Doctools Error in macro at line 29, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/rational_funcs.man
  Doctools Error in macro at line 21, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/optimize.man
  Doctools Error in macro at line 25, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/polynomials.man
  Doctools Error in macro at line 21, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/math.man
  Doctools Error in macro at line 60, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/qcomplex.man
  Doctools Error in macro at line 67, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/constants.man
  Doctools Error in macro at line 27, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/linalg.man
  Doctools Error in macro at line 27, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/statistics.man
  Doctools Error in macro at line 26, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/roman.man
  Gen (latex): ./modules/math/fuzzy.man
  Doctools Error in macro at line 20, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/special.man
  Doctools Error in macro at line 55, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/bigfloat.man
  Doctools Error in macro at line 19, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/calculus.man
  Doctools Error in macro at line 22, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/combinatorics.man
  Gen (latex): ./modules/math/bignum.man
  Doctools Error in macro at line 26, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/md4/md4.man
  Doctools Error in macro at line 154, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/md5/md5.man
  Doctools Error in macro at line 161, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/md5crypt/md5crypt.man
  Gen (latex): ./modules/mime/mime.man
  Doctools Error in macro at line 50, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/mime/smtp.man
  Doctools Error in macro at line 156, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/multiplexer/multiplexer.man
  Doctools Error in macro at line 53, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ncgi/ncgi.man
  Gen (latex): ./modules/nmea/nmea.man
  Gen (latex): ./modules/nns/nns_server.man
  Doctools Error in macro at line 122, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/nns/nns_auto.man
  Doctools Error in macro at line 101, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/nns/nns_client.man
  Doctools Error in macro at line 163, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/nns/nns_common.man
  Gen (latex): ./modules/nns/nns_procotol.man
  Gen (latex): ./modules/nntp/nntp.man
  Gen (latex): ./modules/ntp/ntp_time.man
  Gen (latex): ./modules/otp/otp.man
  Doctools Error in macro at line 81, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/pluginmgr/pluginmgr.man
  Doctools Error in macro at line 43, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/png/png.man
  Gen (latex): ./modules/pop3/pop3.man
  Gen (latex): ./modules/pop3d/pop3d_udb.man
  Gen (latex): ./modules/pop3d/pop3d.man
  Gen (latex): ./modules/pop3d/pop3d_dbox.man
  Gen (latex): ./modules/profiler/profiler.man
  Gen (latex): ./modules/rc4/rc4.man
  Gen (latex): ./modules/rcs/rcs.man
  Doctools Error in macro at line 38, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/report/report.man
  Gen (latex): ./modules/ripemd/ripemd128.man
  Doctools Error in macro at line 174, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ripemd/ripemd160.man
  Doctools Error in macro at line 158, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/sasl/sasl.man
  Doctools Error in macro at line 327, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/sha1/sha1.man
  Doctools Error in macro at line 160, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/smtpd/smtpd.man
  Gen (latex): ./modules/snit/snitfaq.man
  Doctools Error in macro at line 107, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/snit/snit.man
  Doctools Error in macro at line 952, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/soundex/soundex.man
  Gen (latex): ./modules/stooop/stooop.man
  Gen (latex): ./modules/struct/skiplist.man
  Gen (latex): ./modules/struct/pool.man
  Doctools Error in macro at line 68, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/record.man
  Doctools Error in macro at line 154, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/matrix.man
  Gen (latex): ./modules/struct/struct_tree.man
  Doctools Error in macro at line 39, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/struct_list.man
  Doctools Error in macro at line 163, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/matrix1.man
  Gen (latex): ./modules/struct/struct_set.man
  Gen (latex): ./modules/struct/stack.man
  Gen (latex): ./modules/struct/graph.man
  Doctools Error in macro at line 242, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/prioqueue.man
  Gen (latex): ./modules/struct/struct_tree1.man
  Doctools Error in macro at line 53, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/graph1.man
  Gen (latex): ./modules/struct/queue.man
  Gen (latex): ./modules/tar/tar.man
  Doctools Error in macro at line 45, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/term/term_send.man
  Gen (latex): ./modules/term/ansi_cattr.man
  Gen (latex): ./modules/term/ansi_send.man
  Gen (latex): ./modules/term/imenu.man
  Doctools Error in macro at line 124, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/term/ansi_ctrlu.man
  Gen (latex): ./modules/term/term.man
  Gen (latex): ./modules/term/ansi_cmacros.man
  Gen (latex): ./modules/term/ansi_cctrl.man
  Gen (latex): ./modules/term/receive.man
  Gen (latex): ./modules/term/term_bind.man
  Gen (latex): ./modules/term/ansi_code.man
  Gen (latex): ./modules/term/ipager.man
  Doctools Error in macro at line 111, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/textutil/expander.man
  Doctools Error in macro at line 60, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/textutil/textutil.man
  Gen (latex): ./modules/tie/tie.man
  Doctools Error in macro at line 82, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/tiff/tiff.man
  Gen (latex): ./modules/transfer/ddest.man
  Doctools Error in macro at line 60, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/tqueue.man
  Gen (latex): ./modules/transfer/copyops.man
  Doctools Error in macro at line 162, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/dsource.man
  Doctools Error in macro at line 71, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/transmitter.man
  Doctools Error in macro at line 56, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/receiver.man
  Doctools Error in macro at line 49, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/connect.man
  Doctools Error in macro at line 100, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/treeql/treeql.man
  Doctools Error in macro at line 158, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/uev/uevent.man
  Doctools Error in macro at line 46, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/units/units.man
  Doctools Error in macro at line 148, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/uri/uri.man
  Gen (latex): ./modules/uuid/uuid.man
  Doctools Error in macro at line 46, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/wip/wip.man
  Doctools Error in macro at line 94, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/aes/aes.man
  Doctools Error in macro at line 148, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/asn/asn.man
  Doctools Error in macro at line 183, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/base32/base32.man
  Doctools Error in macro at line 48, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/base32/base32hex.man
  Doctools Error in macro at line 50, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/base32/base32core.man
  Doctools Error in macro at line 62, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/bee/bee.man
  Doctools Error in macro at line 136, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/bench/bench_read.man
  Doctools Error in macro at line 42, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/bench/bench_intro.man
  Doctools Error in macro at line 30, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/bench/bench.man
  Doctools Error in macro at line 89, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/bench/bench_lang_spec.man
  Doctools Error in macro at line 122, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/blowfish/blowfish.man
  Doctools Error in macro at line 149, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/comm/comm.man
  Doctools Error in macro at line 560, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/comm/comm_wire.man
  Doctools Error in macro at line 147, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/csv/csv.man
  Doctools Error in macro at line 173, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/des/des.man
  Doctools Error in macro at line 185, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/dns/tcllib_dns.man
  Doctools Error in macro at line 224, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/dns/tcllib_ip.man
  Doctools Error in macro at line 96, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/docstrip/docstrip.man
  Doctools Error in macro at line 33, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/cvs.man
  Doctools Error in macro at line 80, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools_lang_syntax.man
  Doctools Error in macro at line 56, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc.man
  Doctools Error in macro at line 260, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools_plugin_apiref.man
  Doctools Error in macro at line 213, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_plugin_apiref.man
  Doctools Error in macro at line 181, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/docidx_intro.man
  Doctools Error in macro at line 31, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools.man
  Doctools Error in macro at line 319, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_lang_syntax.man
  Doctools Error in macro at line 56, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/docidx_lang_syntax.man
  Doctools Error in macro at line 56, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_lang_intro.man
  Doctools Error in macro at line 131, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/docidx.man
  Doctools Error in macro at line 260, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools_lang_intro.man
  Doctools Error in macro at line 82, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools_intro.man
  Doctools Error in macro at line 30, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctools_lang_faq.man
  Doctools Error in macro at line 48, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/docidx_plugin_apiref.man
  Doctools Error in macro at line 183, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/docidx_lang_faq.man
  Doctools Error in macro at line 50, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_lang_faq.man
  Doctools Error in macro at line 50, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/doctools/doctoc_intro.man
  Doctools Error in macro at line 31, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/fileutil/multiop.man
  Doctools Error in macro at line 395, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/fileutil/fileutil.man
  Doctools Error in macro at line 395, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ftp/ftp.man
  Doctools Error in macro at line 216, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/fumagic/filetypes.man
  Doctools Error in macro at line 51, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/fumagic/mimetypes.man
  Doctools Error in macro at line 47, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/grammar_fa/fa.man
  Doctools Error in macro at line 188, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/grammar_me/me_cpucore.man
  Doctools Error in macro at line 270, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/grammar_me/me_cpu.man
  Doctools Error in macro at line 259, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/grammar_peg/peg.man
  Doctools Error in macro at line 140, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/http/autoproxy.man
  Doctools Error in macro at line 106, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ldap/ldapx.man
  Doctools Error in macro at line 154, column 1:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ldap/ldap.man
  Doctools Error in macro at line 187, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/log/log.man
  Doctools Error in macro at line 267, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/log/loggerUtils.man
  Doctools Error in macro at line 65, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/log/logger.man
  Doctools Error in macro at line 210, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/log/loggerAppender.man
  Doctools Error in macro at line 49, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/interpolate.man
  Doctools Error in macro at line 40, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/geometry.man
  Doctools Error in macro at line 57, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/romberg.man
  Doctools Error in macro at line 243, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/fourier.man
  Doctools Error in macro at line 29, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/rational_funcs.man
  Doctools Error in macro at line 21, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/optimize.man
  Doctools Error in macro at line 25, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/polynomials.man
  Doctools Error in macro at line 21, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/math.man
  Doctools Error in macro at line 60, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/qcomplex.man
  Doctools Error in macro at line 67, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/constants.man
  Doctools Error in macro at line 27, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/linalg.man
  Doctools Error in macro at line 27, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/statistics.man
  Doctools Error in macro at line 26, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/fuzzy.man
  Doctools Error in macro at line 20, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/special.man
  Doctools Error in macro at line 55, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/bigfloat.man
  Doctools Error in macro at line 19, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/calculus.man
  Doctools Error in macro at line 22, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/math/bignum.man
  Doctools Error in macro at line 26, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/md4/md4.man
  Doctools Error in macro at line 154, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/md5/md5.man
  Doctools Error in macro at line 161, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/mime/mime.man
  Doctools Error in macro at line 50, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/mime/smtp.man
  Doctools Error in macro at line 156, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/multiplexer/multiplexer.man
  Doctools Error in macro at line 53, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/nns/nns_server.man
  Doctools Error in macro at line 122, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/nns/nns_auto.man
  Doctools Error in macro at line 101, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/nns/nns_client.man
  Doctools Error in macro at line 163, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/otp/otp.man
  Doctools Error in macro at line 81, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/pluginmgr/pluginmgr.man
  Doctools Error in macro at line 43, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/rcs/rcs.man
  Doctools Error in macro at line 38, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ripemd/ripemd128.man
  Doctools Error in macro at line 174, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/ripemd/ripemd160.man
  Doctools Error in macro at line 158, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/sasl/sasl.man
  Doctools Error in macro at line 327, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/sha1/sha1.man
  Doctools Error in macro at line 160, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/snit/snitfaq.man
  Doctools Error in macro at line 107, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/snit/snit.man
  Doctools Error in macro at line 952, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/pool.man
  Doctools Error in macro at line 68, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/record.man
  Doctools Error in macro at line 154, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/struct_tree.man
  Doctools Error in macro at line 39, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/struct_list.man
  Doctools Error in macro at line 163, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/graph.man
  Doctools Error in macro at line 242, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/struct/struct_tree1.man
  Doctools Error in macro at line 53, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/tar/tar.man
  Doctools Error in macro at line 45, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/term/imenu.man
  Doctools Error in macro at line 124, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/term/ipager.man
  Doctools Error in macro at line 111, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/textutil/expander.man
  Doctools Error in macro at line 60, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/tie/tie.man
  Doctools Error in macro at line 82, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/ddest.man
  Doctools Error in macro at line 60, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/copyops.man
  Doctools Error in macro at line 162, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/dsource.man
  Doctools Error in macro at line 71, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/transmitter.man
  Doctools Error in macro at line 56, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/receiver.man
  Doctools Error in macro at line 49, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/transfer/connect.man
  Doctools Error in macro at line 100, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/treeql/treeql.man
  Doctools Error in macro at line 158, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/uev/uevent.man
  Doctools Error in macro at line 46, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/units/units.man
  Doctools Error in macro at line 148, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/uuid/uuid.man
  Doctools Error in macro at line 46, column 0:
  [list_end]
  --> Must not happen
  Gen (latex): ./modules/wip/wip.man
  Doctools Error in macro at line 94, column 0:
  [list_end]
  --> Must not happen


tkt_uuid: 861622ffffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Documentation error(s)
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: 450453ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Wont Fix
title: tcllib/ChangeLog not being maintained
comment:
  The tcllib/ChangeLog file that appears in the nightly
  cvs tar files hasn't been updated since July 18 -
  either there is something wrong with the snapshot
  utility or the file isn't being updated with changes.
  Either case makes life miserable for people trying
  to use the library and wanting to know what changes
  have recently went into the package.


tkt_uuid: 457129ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 1 Zero
foundin: None
title: SNMP functions
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: 1563137fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Fixed
title: NList fails for files with spaces
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: 727678ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: stats - deprecated
priority: 5 Medium
foundin: None
resolution: Invalid
title: latest tcllib from CVS test suite has two stats module failu
comment:
  Source is 20030424 cvs snapshot from activestate ftp site.

  When I get this code and run make test, I see the
  following output - even though here on SF.net, the
  category says the module is deprecated...



  Module: stats
  modules/stats/stats.test
  incr scaler 4 microseconds per iteration
  incr array 6 microseconds per iteration
  rawcount 16 microseconds per iteration
  simple 65 microseconds per iteration
  lastn 146 microseconds per iteration
  lastn 136 microseconds per iteration
  hist 186 microseconds per iteration
  hist2x 257 microseconds per iteration

  ==== stats-histlog stats::count FAILED
  ==== Contents of test case:

      stats::countInit histlog -histlog 10
      stats::count histlog 0.1
      stats::count histlog 0.5
      stats::count histlog 0.9
      stats::count histlog 1.0
      stats::count histlog 2
      stats::count histlog 3
      stats::count histlog 5
      stats::count histlog 10
      stats::count histlog 30
      stats::count histlog 50
      stats::count histlog 100
      stats::count histlog 300
      stats::count histlog 500
      stats::count histlog 1000
      stats::countGet histlog -hist

  ---- Result was:
  -23 1 -6 1 -1 1 0 1 6 1 10 1 16 1 23 1 34 1 39 1 46 1
  57 1 62 1 69 1
  ---- Result should have been (exact matching):
  0 1 1 7 2 2 3 1 6 1
  ==== stats-histlog FAILED

  Pausing during timehist tests
  timehist 224 microseconds per iteration

  ==== stats-countNames stats::countNames FAILED
  ==== Contents of test case:

      stats::countInit simple
      stats::countInit avg
      stats::countInit lastn -lastn 4
      stats::countInit hist -hist 10
      stats::countInit hits -timehist 4
      lsort [stats::countNames]

  ---- Result was:
  avg hist histlog hits lastn simple
  ---- Result should have been (exact matching):
  avg hist hits lastn simple
  ==== stats-countNames FAILED


  followed later by

  Tests ended at Fri Apr 25 14:35:33 EDT 2003
  all.tcl:        Total   3178    Passed  3121    Skipped
  57      Failed  0


  So somehow these FAILED tests don't get counted.  Is
  this part of the deprecation?  And should the test
  suite not test the code if it is intended to go away?


tkt_uuid: 1791379fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: fileutil :: magic
priority: 5 Medium
foundin: None
resolution: Fixed
title: Documentation error "::fileutil::magic::mime"
comment:
  Hi,

  I have trouble running "::fileutil::magic::mime" command from within the script. I don't know if anyone else had the same problem. The same command runs fine if called from within the interpreter directly (tclsh shell interactively). In both cases I included "package require fileutil::magic::mimetype".

  I run "ActiveState ActiveTcl 8.4.15.0" on Windows XP Pro Sp2. Is this a bug, or am I doing something wrong?

  Thank you,

  Vlad.


tkt_uuid: 1345967fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
resolution: Fixed
title: graph serialize broken (easy fix)
comment:
  Serialize does not work properly when arc name
  contains spaces.
  Fix: in modules/struct/graph.tcl line 2269 should
  become "set arc [list $a]" instead of "set arc $a"


tkt_uuid: 2695827fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: math :: fourier
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Emphasise DFT vs. FFT choice up front.
comment:
  The first line says this: "The math::fourier package implements two versions of discrete Fourier transforms, the ordinary transform and the fast Fourier transform.".  That implies that both versions are available for use.  

  Reading top to bottom it sounds like there are only commands for dft (and none for fft), which is not true.

  "The math::fourier package uses the fast Fourier transform, if applicable, or the ordinary transform to implement the
  discrete fourier transform." might be more appropriate.    


tkt_uuid: 1061218fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Accepted
title: Misc tkchat fixes
comment:
  Here's some fixes I've got applied that make tkchat a
  bit better for me.

  Ask for tile 0.5 (as distributed with ActiveTcl 8.4.7.1)
  Add [entry] to the list of widgets where we can access
  the classic versions if needed.
  Force one widget in the the font selector to use a
  classic [entry].
  Make it so that the catch in the winico handling code
  only protects the [package require] so other bugs won't
  get lost.


tkt_uuid: 3608581fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Build System & Testing
priority: 8
foundin: None
resolution: Fixed
title: Small change to configure script Windows
comment:
  Under MSYS, ./configure fails to detect tclsh because it does not realize it is Windows and needs a .exe extension. Fossil patch attached


tkt_uuid: 638075ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: uri
priority: 5 Medium
foundin: None
resolution: Accepted
title: JoinHttpInner doesn't deal with fragment
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: 1627888fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
title: Networking: X/Y/Z modem transfert protocols
comment:
  Hi,

  This is used for transfering data via serial line interface.

  see:
  http://www.atariarchives.org/cfn/12/02/0033.php

  http://synchro.net/docs/sexyz.txt


tkt_uuid: 485715ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: csv
priority: 5 Medium
foundin: None
resolution: None
title: csvcut example program output problem
comment:
  csvcut produces "non-standard" (whatever that means :-)
  output for csv input files with fields with embedded
  blanks:

  $ cat /tmp/sample.csv
  1,2,"this is a test",4
  $ csvcut 0-4 /tmp/sample.csv
  1,2,this is a test,4

  Notice the quoting of the column with spaces is lost
  during the cut.  If the quoted field contains a comma,
  the spacing is maintained however!


tkt_uuid: 1427220fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: None
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: TraceLog: Debugging helper
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: 3252952fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: coroutine
priority: 5 Medium
foundin: None
resolution: Fixed
title: Coroutine package overwrites core ::coroutine command
comment:
  The coroutine package creates a new command (via [namespace ensemble create]) which clashes with the core ::coroutine command.
  Possible solutions:
  * Move the original ::coroutine command to the ::coroutine namespace first.
  * Use the -command option of [namespace ensemble create] to change the name of the created ensemble.
  * Rename the ::coroutine namespace altoghether.


tkt_uuid: 1359028fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Works For Me
title: ScrolledWidget does not respect -relief upon creation
comment:
  When creating a ScrolledWindow, the ::create proc
  ignores the user's -relief setting; one has to
  explicitly call configure on the widget afterwards to
  set the relief.  Here is an example run:

  % puts $tk_version
  8.4
  % package require BWidget
  1.7
  % toplevel .top1
  .top1
  % ScrolledWindow .top1.sw -relief sunken -borderwidth 2
  .top1.sw
  % .top1.sw cget -relief
  flat
  % .top1.sw configure -relief sunken -borderwidth 2
  % .top1.sw cget -relief
  sunken


tkt_uuid: 1165534fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Out of Date
title: Listbox bug, a non-stop loop cause the shaking of the widge
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: 1874961fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Fixed
title: package traverse doesn't load
comment:
  OS: WindowsXP

  I installed version 1.13.3 of the fileutil package into a Tcl 8.4 lib directory that otherwise had tcllib 1.6 installed.

  When I did "package require traverse" I got the following error message:

   wrong # args: should be "::snit::Comp.statement.option optionDef ?defvalue?" 

  Snit backward compatibility problem?  Should package traverse require a minimum version of snit?


tkt_uuid: 984407ffffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: tklib :: ctext
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Hang in ctext with regexp match
comment:
  Just been playing with ctext and I ran into a bug which causes an 
  endless loop on my system. The problem came from trying to 
  highlight Tcl comments, using:

  ctext::addHighlightClassForRegexp $win comment navy 
  {#[^\n]*\n}

  Then if I add the following to the text widget:

  This is a test
  # This is a test
  foo


  Then position the cursor somewhere in the comment, and press 
  backspace - endless loop occurs in ctext::highlight - the third while 
  1 loop. Problem seems to be that the [$win search..] stuff is 
  passed indices like 4.0 3.15  (i.e. start is after end), and it return 
  3.0 bizarrely (this may be a bug in the text widget, or possibly in 
  the Mac OS X implementation - I haven't followed up yet). The fix 
  was to add these lines after the {"" == $res} check:

  # If result given is less than the start index (can happen), then
  # break out
  foreach {l1 c1} [split $res .] {l2 c2} [split $si .] { break }
  if {$l1 < $l2 || ($l1 == $l2 && $c1 < $c2)} { break }


  Everything seems to work again after adding that in. I would 
  upload a patch, but I'm very busy at present. Hassle me by email 
  if you really really want a patch!


tkt_uuid: 1525172fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Fixed
title: error in fileutil::jail
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: 2376321fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Fixed
title: bug in fileutil::TempDir
comment:
  I believe I spotted a bug in fileutil::TempDir for $tcl_platform(platform) eq macintosh. Here is the excerpt:

  macintosh {
      set tmpdir $env(TRASH_FOLDER)  ;# a better place?
  }

  But the variable tmpdir is nowhere used. Probably it should be:

  macintosh {
      lappend attempdirs $env(TRASH_FOLDER)
  }


tkt_uuid: 1266792fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Accepted
title: Wrong option added to database by Widget::tkinclude.
comment:
  Widget::tkinclude of BWidgets adds $option to the
  option database, but it should add $realopt. Compare
  for example with Widget::addmap.


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

  * csv 0.6
  WARNING: cleanupTests deleting
  /local/src/tcllib/eval-out1.csv...
  WARNING: cleanupTests deleting
  /local/src/tcllib/eval-out2.csv...
  WARNING: cleanupTests deleting
  /local/src/tcllib/eval-out3.csv...


tkt_uuid: 3357765fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftpd
priority: 5 Medium
foundin: None
resolution: Accepted
title: Many commands assume a socket is established, may not be so.
comment:
  When using PASV the client may not connect to the server until after the command that needs the data connection is issued.  Currently Fs commands are just given the sock handle of "" when this happens.

  The FTP RFC indicates that it is acceptable for the client not to have connected to the port described by the result of the PASV command until after a command that needs it is issued.


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

  * fileutil 1.8
  WARNING: removeDirectory removing
  "/local/src/tcllib/find 1":
    not created by makeDirectory
  WARNING: removeDirectory removing
  "/local/src/tcllib/find 1":
    not a directory
  WARNING: removeDirectory removing
  "/local/src/tcllib/dotfiles":
    not created by makeDirectory
  WARNING: removeDirectory removing
  "/local/src/tcllib/dotfiles":
    not a directory
  WARNING: removeDirectory removing
  "/local/src/tcllib/grepTest":
    not created by makeDirectory
  WARNING: removeDirectory removing
  "/local/src/tcllib/grepTest":
    not a directory
  WARNING: removeDirectory removing
  "/local/src/tcllib/touchTest":
    not created by makeDirectory
  WARNING: removeDirectory removing
  "/local/src/tcllib/touchTest":
    not a directory
  WARNING: removeDirectory removing
  "/local/src/tcllib/fileTypeTest":
    not created by makeDirectory
  WARNING: removeDirectory removing
  "/local/src/tcllib/fileTypeTest":
    not a directory
  WARNING: removeDirectory removing
  "/local/src/tcllib/installDst":
    not created by makeDirectory
  WARNING: removeDirectory removing
  "/local/src/tcllib/installDst":
    not a directory
  WARNING: removeDirectory removing
  "/local/src/tcllib/installSrc":
    not created by makeDirectory
  WARNING: removeDirectory removing
  "/local/src/tcllib/installSrc":
    not a directory
  WARNING: removeFile removing "/local/src/tcllib/dir.link":
    not created by makeFile
  WARNING: removeFile removing "/local/src/tcllib/dir.link":
    not a file
  WARNING: removeFile removing "/local/src/tcllib/dir2.link":
    not created by makeFile
  WARNING: removeFile removing "/local/src/tcllib/dir2.link":
    not a file
  WARNING: removeFile removing "/local/src/tcllib/link.file":
    not created by makeFile
  WARNING: cleanupTests deleting /local/src/tcllib/find 1...
  WARNING: cleanupTests deleting
  /local/src/tcllib/dotfiles...
  WARNING: cleanupTests deleting
  /local/src/tcllib/grepTest...
  WARNING: cleanupTests deleting /local/src/tcllib/catTest...
  WARNING: cleanupTests deleting
  /local/src/tcllib/touchTest...
  WARNING: cleanupTests deleting
  /local/src/tcllib/fileTypeTest...
  WARNING: cleanupTests deleting
  /local/src/tcllib/installDst...
  WARNING: cleanupTests deleting
  /local/src/tcllib/installSrc...
  WARNING: cleanupTests deleting
  /local/src/tcllib/dir.file...
  WARNING: cleanupTests deleting
  /local/src/tcllib/dir2.file...
  WARNING: cleanupTests deleting
  /local/src/tcllib/gorp.file...


tkt_uuid: 1316052fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math
priority: 4
foundin: None
resolution: None
title: math/roman.test prints extra info
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: 511692ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Accepted
title: fix for mime.n mime::getproperty doc
comment:
  there was a formatting problem in the section of the .n
  where mime::getproperty was discussed.  The attached
  patch should fix this problem.


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

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

  Gives me an error:

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


tkt_uuid: 3608952fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tepam
priority: 3 Low
foundin: None
resolution: Fixed
title: TEPAM: Help text incorrect for procedures in namespaces
comment:
  The help text for a procedure that is part of a namespace is incorrectly generated. Example:

  namespace eval ::ns {
  tepam::procedure MyProc {
  -short_description "Help generation demonstration"
  -description "Command to demonstrate the help text generation"
  -args {
  {Param -type integer -default 0 -description "Optional command argument"} }
  } {
  puts "MyProc called"
  }
  }

  ns::MyProc -help

  | NAME
  |       ns::ns::MyProc
  | SYNOPSIS

  The namespace is duplicated in the procedure name and all the detailed procedure information (descriptions, arguments, etc.) are not displayed. The expected help text is:

  | NAME
  |       ns::MyProc - Help generation demonstration
  | SYNOPSIS
  |       ns::MyProc
  |             [<Param>]
  |                Optional command argument, type: integer, default: 0
  | 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: 737162ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Accepted
title: prevent infinite loop on unterminated multipart
comment:
  in mime.tcl, change
  set line "--$boundary--"
  to
  set x [string length [set line "--$boundary--"]]
  (apparently works, and not setting x is obviously faulty)

  however, since missing MP boundaries are very frequent
  in spam and very rare in legitimate mail, I'd suggest
  to remove the comment sign from the preceeding line
  error "termination string missing in $state(content)"
  (or make it a config option)


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)
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: 3541628fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: logger
priority: 5 Medium
foundin: None
resolution: Fixed
title: ::logger::init has side-effects
comment:
  expect:/tmp$ package require logger
  0.9
  expect:/tmp$ set lvl "My private variable."
  My private variable.
  expect:/tmp$ ::logger::init foo
  ::logger::tree::foo
  expect:/tmp$ set lvl
  trace
  expect:/tmp$ 

  a trace on lvl shows a "foreach lvl" in "namespace eval tree::foo"...

  ==> http://wiki.tcl.tk/1030 gives a workaround; insert this line:
  logger.tcl:646: variable lvl ;# prevents foreach using global lvl if it exists


tkt_uuid: 1274322fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: apps : tkchat
priority: 5 Medium
foundin: None
title: Support for pastebin and similar sites
comment:
  Consider the possibility of adding support for sites
  like pastebin, etc. into tkchat. Not sure about the
  interface. Maybe a Post button which puts the sata into
  pastebin, etc. and then posts only the link to the
  chat. That way a user can paste something large to post
  into the chat UI and then through pastebin instead of
  doing the indirection manually.


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

  * struct::queue 1.4
  test name 'queue-8.3' re-used; prior use in
  /local/src/tcllib/modules/struct/queue.test


tkt_uuid: 466078ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: general request
priority: 5 Medium
foundin: None
title: Add modules to tcllib tar file
comment:
  Please add Bwidgets, mclistbox, and other tcl based
  extensions currently in this project in the tcllib tar
  files that are created during a release.


tkt_uuid: 1695129fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - Add backend 'Tk'
comment:
  Create a backend similar to plain text which also adds tags to character ranges and returns the combination in a format which makes inserting into a Tk Text widget easy.


tkt_uuid: 3193459fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: math :: optimize
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: divide by zero
comment:
  nelderMead can attempt to divide by zero. For example (Tcl8.5 tcllib-1.13) math::optimize::nelderMead {apply {{x y} {expr {abs($x-$y)}}}} {1 1}
  gives a domain error. The problem is not well formed, as the minimum is a line (x=y), but this could occur in other cases as well.
  One solution would be to add param(-ftol) to the denominator where rerror is calculated:
  set rerror [expr { 2. * abs( $yTop - $yBot )
     / ( abs( $yTop ) + abs( $yBot ) + $params(-ftol)) }]
  This will change the error from relative to absolute  with tolerance -ftol^2 for function values much less than -ftol
  It will change the relative error tolerance from -ftol to about 0.667*-ftol when the function value is near -ftol
  There is little effect when the function value is much larger than -ftol.

  -ftol must be larger than 0.
   it is already required (in  $rerror < $params(-ftol) on the line following rerror calculation)
  It might be worth verifying that while checking arguments.


tkt_uuid: 526835ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 8
foundin: None
resolution: Fixed
title: install.bat not quite satisfactory
comment:
  install.bat to install tcllib on Windows platforms may
  fail for two reasons:
  - The TCLINSTALL variable is set to the wrong directory
  - the user is 
     supposed to set this variable him/herself by editing
  the batch file prior
     to installation.
  - The TCLINSTALL variable may be not be set correctly
  due to problems
     with the environment space. This means that the
  files will be copied into
     an arbitrary directory \lib\tcllib1.2, rather than
  under the proper subdirectory 
     of the installation.

  A solution might be: use %1 instead of %TCLINSTALL.
  Checking that this
  first argument is not empty is easy and gives the batch
  file the opportunity to notify the user:

      if /%1 == / goto :message
      rem Install the stuff
      ...

      goto :end

      :message 
      echo Usage: install <tcl-directory>
      pause 
      :end
   


tkt_uuid: 1448424fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: None
title: Balloon help not removed when window closes.
comment:
  I think DynamicHelp::_unset_help is missing a call to
  "destroy $_top" (and "variable _top".
  As the following code can show, the balloon with the
  help message is not removed if Alt-d is used to destroy
  the widget to which the help is bound. Just hover the
  mouse over the Entry so that the balloon appears and
  then hit Alt-d.

  m.d.nauta@hetnet.nl

  package require BWidget
  Entry .e -helptext "This is helptext"
  button .b -text "Destroy Entry" -underline 0 -command
  {destroy .e}
  pack .e .b
  bind . <Alt-d> {destroy .e}


tkt_uuid: 1329212fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: pop3
priority: 8
foundin: None
resolution: Fixed
title: Many test failures in module pop3
comment:
  Please, find the log-file attached. Any fixes for the
  code and/or tests would be highly appreciated.

  I'm seeing these on FreeBSD-6/amd64.

  pop3d tests, seem fine, however.


tkt_uuid: 932437ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: dns
priority: 5 Medium
foundin: None
resolution: Wont Fix
title: dns::error not compatible with prodebug
comment:
  eventhough [error] is in the dns namespace, prodebug 
  doesn't like it.  Please rename it to something other than 
  a reserved name.


tkt_uuid: 516723ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - javadoc like application
comment:
  Add library/application which does javadoc like 
  processing of .tcl files and thus auto-generates 
  documentation.


tkt_uuid: 672957ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: math
priority: 8
foundin: None
resolution: Not Applicable Here
title: New submodule: optimisation
comment:
  I would like to submit a first version of a new
  submodule, optimize.
  It contains two working procedures, to optimize a given
  function. Work is being carried out to add a linear
  program solver.

  The tar-ball contains the source code, documentation
  and test cases (even for the routine that is not fully
  implemented yet)

  -- Possibly doubled, but I got an error message the
  first time


tkt_uuid: 476729ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Fixed
title: documentation bug regarding DisplayMsg
comment:
  andreas kupries requested that i log this doc bug
  against ftp.  Additional information about the
  DisplayMsg aspects of the ftp module are available at
  http://mini.net/cgi-bin/wikit/2444.html .  These are
  needed in the man page.


tkt_uuid: 1362899fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: ButtonBox does calculate homogenous sizes correctly
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: 1076923fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Fixed
title: ftp::close failing
comment:
  I'm consistently getting an error while 
  calling ::ftp::close after downloading multiple files. The 
  error message reads 
    error reading "sock1868": connection reset by peer 
    while executing "gets $sock bufline" 
    (procedure "::ftp::StateHandler" line 16)


  I dug into this a bit and it appears to be a timing error.. 
  It occurs after a "QUIT" has been sent to the server 
  and ::ftp::StateHandler is trying to read the goodbye 
  lines but the connection gets reset before it can do so.

  The simplest solution two fold: first wrap the "gets" in a 
  catch and setting number to 0 when it fails. Second, in 
  the error handling code don't give error 
  message "Service not available" if $ftp(State) 
  eq "quit_sent". I've attached a file with the updated 
  procedure with the fix.

  An annoying aspect of this bug is that it occurs in a 
  background handler and there's a vwait that doesn't get 
  satisfied--effectively making this uncatchable.


tkt_uuid: 3061815fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: csv
priority: 3 Low
foundin: None
resolution: Fixed
title: Docs: Example mixes up alternate
comment:
  CSV Dokumentation section "Examples".
  The result boxes are exchanged. The alternate format should result in the empty string for d).


tkt_uuid: 1558351fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: asn
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ASN Library
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: 1885638fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 2
foundin: None
resolution: Works For Me
title: Tree "see" problem in some situations
comment:
  The BWidget Tree object has problems with "see" in some situations.
  Example code:
   
    pack [set sw [ScrolledWindow .sw]]
    set lb [Tree $sw.lb]
    $sw setwidget $lb
    for {set i 0} {$i<100} {incr i} {
      if {$i} {
        $lb insert end  "Item_[expr ($i-1)/10]" "Item_$i" -text "This is item $i"
        } else {
        $lb insert end root "Item_$i" -text "This is item $i"
       }
    } 
    $lb itemconfigure Item_0 -open 1
    $lb itemconfigure Item_2 -open 1
    $lb selection set Item_27
    ### update ; ### "see" works correct with update
    $lb see Item_27

  The Item_27 is scrolled outside by one line (Item_28 is the 1st visible leaf). 

  See also bug report #1885621 regarding ListBox "see".
  In simpler situations (e.g. only 1 level tree like in ListBox example) Tree widget does "see" scroll correct. 

  Tested on BWidget 1.8.


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

  * struct::matrix 1.2.1
  test name 'matrix-0.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.8' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.9' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.10' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.11' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.12' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-0.13' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-1.0' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-1.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-1.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-1.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-1.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-1.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-2.0' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-2.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-2.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-2.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-2.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-2.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-2.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-2.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-3.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-3.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-3.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-3.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-3.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-3.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-3.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-3.8' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-3.9' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-4.0' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-4.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-4.1a' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-4.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-4.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-4.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-4.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-4.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-4.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-5.0' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-5.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-5.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-5.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.0' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.8' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.9' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.10' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.11' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.12' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.13' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.14' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.15' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.16' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.17' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.18' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.19' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.20' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.21' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.22' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.23' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.24' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.25' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.26' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.27' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.28' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.29' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.30' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.31' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.32' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.33' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.34' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.35' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.36' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.43' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-6.44' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.0' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.8' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.9' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-7.10' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.0' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.8' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.9' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.10' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.11' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-8.12' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.0' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.8' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.9' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.10' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.11' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.12' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.12a' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-9.13' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name '10.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name '10.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name '10.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name '10.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name '10.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name '10.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name '10.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name '10.8' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.9' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.10' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.11' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.12' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.13' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.14' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.15' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.16' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.17' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.18' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.19' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.20' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-10.21' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.0' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.8' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.9' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.10' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.11' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.12' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.13' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-11.14' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-12.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-13.1' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-12.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-13.2' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-12.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-13.3' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-12.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-13.4' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-12.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-13.5' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-12.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-13.6' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-12.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test
  test name 'matrix-13.7' re-used; prior use in
  /local/src/tcllib/modules/struct/matrix.test


tkt_uuid: 2444762fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: ncgi
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Mozilla 3.x breaks ncgi::nvlist
comment:
  Somewhere in the 3.x release Mozilla appends a character set on GET requests, which in turn breaks the parsing of env(CONTENT_TYPE), which in turns makes tclhttpd return "dont know how to handle "application/x-www-form-urlencoded; charset=XXX""

  This hack bypasses it, but maybe there's a better way to do it...

  proc ::ncgi::nvlist {} {
      set query [query]
      set type  [type]
      #Quick hack by nikos to overcome Mozilla 3.x which appends charset=xxx to env(CONTENT_TYPE)
      # returning a list, e.g. application/x-www-form-urlencoded; charset=UTF-8
       if {[string match "*;"  [lindex $query 0]]} {
  # set type "application/x-www-form-urlencoded"
  set type "[lindex $query 0]"
  set type "[lindex [split $type ";"] 0]"
  } else {
  }
      #end nikos
      switch -glob -- $type {
  "" -
  text/xml* -
  application/x-www-form-urlencoded* -
  application/x-www-urlencoded* {
      set result {}
          ...........
          ..........  


tkt_uuid: 1006157fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftpd
priority: 5 Medium
foundin: None
resolution: Fixed
title: ftpd LIST response mis-formatted
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: 516468ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: math
priority: 1 Zero
foundin: None
resolution: Not Applicable Here
title: Allow lists as arguments to statistics
comment:
  The math::min, math::max and others procs in the
  misc.tcl file are a bit complex to use if one has lists
  of values.

  To use you need:
  eval math::max [list 1 2 3 4 5 6 7]

  The extra complexity of eval is not nice. Perhaps lists
  could also be used, or a alternative version
  [math::lmax], or so could be done, to provide the
  functionality for lists instead of single values.


tkt_uuid: 704219ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - HTML customization features
comment:
  (Hope I'm not just missing something)

  Would like a way to "tune" the output for HTML, such as 
  specificy H1 vs. H2 or custom tag for section headers. 
  Also the built-in headers like NAME and DESCRIPTION 
  should be optional and their text should be settable. For 
  example, the user may wish initial caps instead of all 
  caps. Fonts? Colors, etc.

  Is there a plan for customizability of HTML?

  Cheers,
  Roy Terry


tkt_uuid: 1891251fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
subsystem: tklib: plotchart
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Support of long ylabels in horizontal bar charts
comment:
  Hi,
  The goal of this patch is to take into account for long y labels in an horizontal plotchart.
  I have allread discussed that problem on comp.lang.tcl where the solution has been suggested by other Tclers :
  http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/ab5ee289991f81f/6821b6d40899d276?lnk=gst&q=plotchart#6821b6d40899d276
  The problem is that, when long labels are to be displayed, some are hidden because there is no space left on the canvas.
  The patch is fixing the problem by computing the longest y label to display : this allows to set the view accordingly.
  The problem is located in the file plotchart.tcl, in the proc "::Plotchart::createHorizontalBarchart".
  The following code takes into account for the size of the current default font used in the barchart and is not perfect because Plotchart does not take into account the fonts yet.

     label .invisibleLabel
     set fontname [.invisibleLabel cget -font]
     destroy .invisibleLabel
     
     set xspacemax 0
     foreach ylab $ylabels {
         set xspace [font measure $fontname $ylab]
         if {$xspace> $xspacemax} then {
             set xspacemax $xspace
         }
     }
     set text_width [expr {int ( $xspacemax / 10.) + 1}]

     foreach {pxmin pymin pxmax pymax} [MarginsRectangle $w $notext $text_width] {break}

  Best regards,

  Michaël


tkt_uuid: 1566488fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: bignum :: float
priority: 5 Medium
foundin: None
resolution: Invalid
title: failed tests with Tcl 8.5 (64-bit)
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: 3477684fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: crc
priority: 5 Medium
foundin: None
resolution: Fixed
title: CRC of binary string: bad parsing
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: 1720896fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: general request
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: test suite enhancement - bug report files
comment:
  I'd like to request that, as a part of the tcllib test suite, one or more files be generated when tests fail, that would contain information formatted in such a way as to make submission of the bugs to the web site relatively trivial.

  In this way, after someone runs the tests, they could, if they so wanted, pop over to the sf.net site and submit a series of bug reports on problems seen.


tkt_uuid: 2192812fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: inifile
priority: 5 Medium
foundin: None
resolution: Out of Date
title: commentchar function not defined in ini namespace
comment:
  man page for inifile has the commentchar function as 

  ini::commentchar ?char? 

  but code has 

  proc commentchar { {new {} } } { ..

  need to change the above line to : 


  proc ::ini::commentchar { {new {}} } {

  in inifile.tcl


tkt_uuid: 2225148fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: struct :: list
priority: 3 Low
foundin: None
resolution: Not Applicable Here
title: struct::list test suite problems against tcl 8.6 cvs head
comment:
  I understand there is no use trying to keep tcllib up to date with a moving target. I just wanted to bring this up so that someone could be thinking about it.

  Tcl 8.6 cvs head (as of yesterday)
  tcllib cvs head 

  ==== 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

  ==== repeat-4.2 repeat command FAILED
  ==== Contents of test case:

      catch {repeat a} msg
      set msg

  ---- Result was:
  expected integer but got "a"
  ---- Result should have been (exact matching):
  wrong # args: should be "::struct::list::Lrepeat positiveCount value ?value ...?
  "
  ==== repeat-4.2 FAILED
  ==== repeat-4.4 repeat command FAILED
  ==== Contents of test case:

      catch {repeat 0 b} msg
      set msg

  ---- Result was:

  ---- Result should have been (exact matching):
  must have a count of at least 1
  ==== repeat-4.4 FAILED

  ---- repeat-4.5 start

  ==== repeat-4.5 repeat command FAILED
  ==== Contents of test case:

      catch {repeat -1 b} msg
      set msg

  ---- Result was:
  bad count "-1": must be integer >= 0
  ---- Result should have been (exact matching):
  must have a count of at least 1
  ==== repeat-4.5 FAILED


tkt_uuid: 1104059fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: pop3
priority: 3 Low
foundin: None
resolution: Not Applicable Here
title: Allow easy use of TLS with pop3
comment:
  As more and more services allow to use POP3 with
  SSL/TLS it would be a nice move to support SSL within
  the POP3 package.

  For SSL enabled servers listening only on an SSL port
  this is trivial, just use the tls::socket instead of
  the normal one for the connect.

  Using the POP3 STLS Command (StartTLS), is a bit more
  complex, but not that hard to do, its just an extra
  step in authentification and some logic to do a
  tls::import on the open channel.

  Michael


tkt_uuid: 2340320fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Accepted
title: Entry invoke is not reachable
comment:
  Hi (very) Dear Tcl maintainers !

  The _path_command of the Entry widget 
  does not take into account for the 
  invoke command.

  () 49 % package require BWidget
  1.8
  () 50 % Entry .myentry
  .myentry
  () 52 % catch {.myentry invoke} errmsg
  1
  () 53 % puts $errorInfo
  bad option "invoke": must be bbox, cget, configure, delete, get, icursor, index, insert, scan, selection, validate, or xview
      while executing
  ".myentry:cmd invoke"
      ("eval" body line 1)
      invoked from within
  "eval [linsert $larg 0 $path:cmd $cmd]"
      (procedure "Entry::_path_command" line 5)
      invoked from within
  "Entry::_path_command .myentry $cmd $args"
      (procedure ".myentry" line 1)
      invoked from within
  ".myentry invoke"


  The _path_command should be updated to

  proc Entry::_path_command { path cmd larg } {
      if {\
           [string equal $cmd "configure"] || \
           [string equal $cmd "cget"] || \
           [string equal $cmd "invoke"] \
           } {
          return [eval [linsert $larg 0 Entry::$cmd $path]]
      } else {
          return [eval [linsert $larg 0 $path:cmd $cmd]]
      }
  }

  Best regards,

  Michaël


tkt_uuid: 717594ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: dns
priority: 8
foundin: None
resolution: Fixed
title: bgerror in dns::TcpEvent
comment:
  if a dns reply comes back that is too short (e.g.,
  server doesn't wait for tcp connection to gracefully
  drain, the call to "binary scan" won't create variable
  "id" and "flags", which will cause a bgerror to get
  thrown when those variables are references a few lines
  later.


tkt_uuid: 1385688fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: pop3
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: pop3 - New retrieval method + minor performance improvement
comment:
  Attached is the entire pop3.tcl with the proposed 
  changes.  I took the liberty of bumping up the 
  version from 1.6.3 to 1.7.  Note that this code has 
  actually been in operation for almost two years.

  First a minor performance improvement in RetrFast - 
  don't spend time splitting potentially large message 
  if not doing any debug logging.

  Second is a new retrieval method - tofile.
  Since POP3 messages can be very large, with 
  attachments that may never need to be processed in 
  tcl, to minimize memory usage, it may be best to 
  write the retrieved message to a temp file and return 
  the temp filename instead of the entire message.

  # Alex Hisen (alex@am.net) 2005-12-18:
  # In order to provide support for the new tofile 
  retrieval method
  # we need a way to generate temporary file 
  paths/names.
  # We first try to use an AOLserver command if 
  available.
  # If not we try to see if our version of Tcl supports
  # the file tempfile subcommand (see TIP #210:
  # http://www.tcl.tk/cgi-bin/tct/tip/210.html )
  # Finally we fallback to the tcllib fileutil package.
  # Note that our package require fileutil is caught, 
  so even
  # if you don't have any of the three methods, this 
  package
  # will work fine as long as you don't use tofile 
  retrieval.
  #
  # The Tempfile proc we create in our namespace 
  operates
  # the way TIP #210 prescribes - it opens the file for 
  write,
  # returns the open file channel, and sets the 
  supplied variable
  # to the full path and name of the created temporary 
  file. 


tkt_uuid: 3035014fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: uuid
priority: 5 Medium
foundin: None
resolution: Wont Fix
title: "uuid::generate" returns binary data
comment:
  UUID 1.0.1 returns binary data and not a string representation of the UUID:
          % package require uuid
          1.0.1
          % uuid::generate
          ß4:GjK@QÐ2E`Á

  http://tcllib.sourceforge.net/doc/uuid.html


tkt_uuid: 792619ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Duplicate
title: tk binding problem in Gnome and Ximian
comment:
  I am having a problem binding the double click event to 
  a tk listbox
  which is embedded in BWidget frames. The code works in 
  KDE and in a
  VNC viewer, however. When I double-click, it does 
  nothing but highlight the selected item
  in the listbox. When I change the binding event in my 
  code to
  single-click, it works correctly, however. I tried to move 
  the custom
  bindtag before the class bindings, however I'm receiving 
  the same
  behavior.


  Code snippet ...
  ...
  ...

  #! /usr/bin/wish

  set rt [catch {set version [package require BWidget]} 
  err]
  if {$rt != 0 } {
   tk_messageBox -icon error -type ok -title "Missing 
  BWidgets" -message
  \
    "Missing BWidgets package."
   exit
  }
   
  set tlist [list  "element1" "element2"]
  set mainframe [MainFrame .mainframe]
   
  # NoteBook creation
  set frame    [$mainframe getframe]
  set notebook [NoteBook $frame.nb]

  # Create Top-level tab frames 
  set components_frame [$notebook insert end tab1 -
  text "Tab1"]
  # Create subordinate tab frames
  set components_nb [NoteBook 
  $components_frame.components_nb]
  set frame [$components_nb insert end tab2 -text "Tab2"]
  set topf  [frame $frame.topf]

   # Paned Windows
  set pw1   [PanedWindow $topf.pw -side top]
  set pane  [$pw1 add ]
  set pw2   [PanedWindow $pane.pw -side left]
  set tpane [$pw2 add -weight 3]

  # Major subframes
  set tbox [TitleFrame $tpane.tbox -text "Widgets"]

  # Placing layout frames and major subframes
  pack $tbox -padx 2 -side left -fill both -expand yes
  pack $pw1 -fill both -expand yes
  pack $pw2 -fill both -expand yes 
  pack $topf -fill both -expand yes 

  # Types listbox
  set sw_t       [ScrolledWindow [$tbox getframe].sw -
  auto both]
  set tlistbox [listbox [$sw_t getframe].lb -height 18 -
  width 20 \
   -highlightthickness 0 -listvar ::tlist] 
  $sw_t setwidget $tlistbox
  bindtags $tlistbox [linsert [bindtags $tlistbox] 3 
  tlist_Tag]  
  bind tlist_Tag <Double-Button-1> {puts HI}

  pack $sw_t -fill both -expand yes

  $notebook compute_size
  pack $notebook -fill both -expand yes -padx 4 -pady 4
  $notebook raise [$notebook page 0]

  $components_nb compute_size
  pack $components_nb -fill both -expand yes -padx 4 -
  pady 4
  $components_nb raise [$components_nb page 0]

  pack $mainframe -fill both -expand yes


tkt_uuid: 643337ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: html
priority: 5 Medium
foundin: None
resolution: Fixed
title: ::html::textInput does not process args
comment:
  The documentation for ::html::textInput reads:

  ::html::textInput name args
  Generate an INPUT form tag with type TEXT. This uses
  ::html::formValue. The args is any additional tag
  attributes you want to put into the INPUT tag.

  However, it takes args as the value of the text entry.

  For example: 

      ::html::textInput foo width=40

  generates:

      <input type="text" name="foo" value="width=40"
  size="45">

  Instead of:

     <input type="text" name="foo"  size="45"width=40>


tkt_uuid: 620753ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: New options for labelframe
comment:
  Hi,

  The BWidget LabelFrame widget uses a BWidget Label
  widget to display a label or a frame. Currently only a
  -text option is available to set the text of the label
  frame. This patch will also provide the -textvariable,
  -image and -bitmap options to set the label text or
  image.

  Jos.


tkt_uuid: 2820727fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Linux standalone executable not working on x86_64
comment:
  Using archlinux x86_64, just downloaded tkchat 1.465 standalone executable for linux. When i try to run it in a terminal i get:

  $  /home/saedelaere/Downloads/tkchat-linux-ix86
  couldn't load file "/tmp/tclfsB20G": libXft.so.2: wrong ELF class: ELFCLASS64
      while executing
  "load /home/saedelaere/Downloads/tkchat-linux-ix86/lib/tk8.5/../libtk8.5.so Tk"
      ("package ifneeded Tk 8.5.7" script)
      invoked from within
  "package require Tk  8.4"
      (file "/home/saedelaere/Downloads/tkchat-linux-ix86/bin/tkchat.tcl" line 36)
      invoked from within
  "source [file join $starkit::topdir bin tkchat.tcl]"
      (file "/home/saedelaere/Downloads/tkchat-linux-ix86/main.tcl" line 28)

  Some infos about my system
  $  uname -a
  Linux 2.6.30-ARCH #1 SMP PREEMPT Sat Jul 4 02:24:43 CEST 2009 x86_64
  tcl/tk 8.5.7

  Using a tclkit (8.5.1) and tkchat.kit works.

  Regards


tkt_uuid: 756939ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ncgi
priority: 8
foundin: None
resolution: Accepted
title: No way to get a list of only the known keys
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: 873666ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: scrollw.tcl does not support -relief
comment:
  BWidget's ScrolledWindow does not support options
  -relief and -bd at creation time

  May be the statement 
  set sw    [frame $path \
              -relief flat -borderwidth 0 -background $bg \
      -highlightthickness 0 -takefocus 0]
  is to change to
  set sw    [eval frame $path \
      -background $bg \
      -highlightthickness 0 -takefocus 0  \   
  [Widget::subcget $path :cmd]]


tkt_uuid: 842066ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: ncgi
priority: 5 Medium
foundin: None
title: need ncgi::exists
comment:
  Hi, 

  I need this simple function:

  proc ::ncgi::exists { var } {
     variable value
     return [info exists value($var)]
  }

  ncgi::empty does _not_ what i want.

  Thanks,
  Christoph


tkt_uuid: 1475567fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: tklib: plotchart
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: interaction with elements of the plots
comment:
  it would be nice if one could interact with the 
  plotted data
  - click on a rectangle and get the data associated 
  with it
  - change the look of a rectangle (i.e. for let them 
  blink)


tkt_uuid: 1063774fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: textutil
priority: 5 Medium
foundin: None
resolution: Accepted
title: [splitn string ?len=1?] split string in chunks of length len
comment:
  Dear tcllib maintainers, 
   
  This is a patch against tcllib, adding a new procedure splitn to 
  split.tcl and in addition having relevant tests in split.test. 
   
  [splitn string ?len=1?] will split string into chunks of length $len.  
  These are returned in a list.  If the string length is not an entire 
  multiple of $len, the last chunk will be short.  With an empty 
  string the empty list is returned.  And a nonpositive len will result 
  in an error. 
   
  The implementation used for splitn is almost identical to code 
  submitted by Bryan Oakley in a ``contest'' I did on c.l.t ... as this 
  was the first submitted code that used more than one algorithm 
  depending on the string length, I asked B.O. if I could use it.  
  Unfortunately I got no reply sofar.  But my spare time is running 
  short, so I will submit this patch now.  Once I get B.O.'s reply I 
  will forward it to the tcllib project. 
   
  Except as stated above the code is in the public domain. 
   
  Best regards, Robert S. 


tkt_uuid: 1007762fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: ctext
priority: 5 Medium
foundin: None
resolution: Fixed
title: Several options not working as expected in ctext widget
comment:
  I ran into a few oddities while using ctext to create a
  syntax-sensitive editor:

  After creation:

  .c configure -linemap 0 ==> unknown option 

  While creating the widget:
  -font has no effect (it is suppressed) but afterwards
  it does have. It seems to me unnecessary to suppress
  this option.


tkt_uuid: 1000259fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: None
title: win98 demo->DIalog Tab->Abort,Retry,Ignore->Show -- Fails
comment:
  win98 demo->DIalog Tab->Abort,Retry,Ignore->Show -- 
  Fails

  Windows98
  BWidget 1.7 (ActiveTcl 8.5.0.0 beta-2)

  Trace:
  bad -default value "": must be abort, retry, ignore, ok, 
  cancel, no, or yes
  bad -default value "": must be abort, retry, ignore, ok, 
  cancel, no, or yes
      while executing
  "tk_messageBox -message {Message for 
  MessageBox} -default {} -icon error -parent . -title Fehler -
  type abortretryignore"
      ("eval" body line 1)
      invoked from within
  "eval [list tk_messageBox] [array get tkMBoxArgs]"
      (procedure "MessageDlg::create" line 81)
      invoked from within
  "MessageDlg .msgdlg -parent .  -message "Message for 
  MessageBox"  -type    $msg(type)  -icon    $msg(icon)  -
  buttons $msg(buttons)"
      (procedure "DemoDlg::_show_msgdlg" line 5)
      invoked from within
  "DemoDlg::_show_msgdlg"
      invoked from within
  ".mainframe.frame.nb.fdemoDlg.titf3.f.but invoke"
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 [list $w invoke]"
      (procedure "tk::ButtonUp" line 24)
      invoked from within
  "tk::ButtonUp .mainframe.frame.nb.fdemoDlg.titf3.f.but"
      (command bound to event)


tkt_uuid: 474846ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: uri
priority: 5 Medium
foundin: None
resolution: Fixed
title: Failure to handle ftp uri's
comment:
  URI handling for ftp url's seems to be flawed.

  (1) splitting an FTP url that contains user/password
  information results in an error:

  % uri::split ftp://user:password@host:1234/where/ever
  expected integer but got ""

  % uri::split ftp://user@host:1234/where/ever
  expected integer but got ""

  (2) Password field is ignored when joining

  % uri::join port 1234 path where/ever \
          scheme ftp host host type {} \
          user foo pwd password
  ftp://foo@host:1234where/ever

  (3) invalid URL produced by joining (see above)

  (4) geturl fails

  % uri::geturl ftp://nowhere.com/nothing
  invalid command name "ftp::geturl"


tkt_uuid: 940375ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Duplicate
title: tcllib 1.6 install error due to doc. generation bug
comment:
  There is a problem generating the nroff documentation,
  which causes the installation of tcllib 1.6 to fail.

  In detail: When selecting the "Doc. Nroff" checkbox in
  the installer GUI, keeping "Simulate installation" off,
  and clicking on "Install", I get this output and error
  message:

  <47 triton->tcllib-1.6> wish installer.tcl 
  Installing Tcllib 1.6
  You have chosen the following configuration ...

  Packages:      install/lib/tcllib1.6
  Examples:      install/bin/tcllib_examples1.6
  Documentation:

          NROFF:  install/man/mann
          HTML:   install/lib/tcllib1.6/tcllib_doc

  Error in startup script: @--> invalid command name "option"
      while executing
  "::doctools::_format dt {[comment {-*- tcl -*- doctools
  manpage}]
  [comment { $Id: s.multiplexer.man 1.4 04/02/10
  23:36:58-08:00 tcl@bluepeak.home $ }]
  ..."
      ("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 17)
      invoked from within
  "_man multiplexer nroff n install/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 18)
      invoked from within
  "doinstall"
      (procedure "main" line 11)
      invoked from within
  "main"
      (file "installer.tcl" line 484)


  My wish shell is v8.4.5. This error happens whether I'm
  on Solaris or on Linux. The error seems to be caused by
  a problem encountered when processing the
  multiplexer.man documentation file. The same error also
  occurs for graph.man and struct_tree.man (both in
  module struct).

  These errors did not occur in tcllib 1.4.

  It would be good to fix this since it is somewhat
  frustrating for users to have the installation fail
  halfway through.

  I am not familiar with doctools or the doctools
  documentation format, but hopefully someone who is can
  identify the source of the problem from these symptoms.


tkt_uuid: 552968ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
resolution: Duplicate
title: Feature Req: new introspection methods
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).

  A patch for the graph.tcl, .test, and .n files is
  attached.


tkt_uuid: 1740862fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Documentation
priority: 5 Medium
foundin: None
resolution: Fixed
title: replace {expand} uses
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: 1897843fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: stringprep
priority: 5 Medium
foundin: None
resolution: Fixed
title: saslprep test 1.7 fails
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: 517066ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
title: EXIF digital image parser
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: 1695124fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
title: doctools - Extend testsuite
comment:
  The testsuite of doctools is quite small, it especially does not really test the markup language, nor the output of the various backends.


tkt_uuid: 3147481fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Fixed
title: find error on hidden, unreadable directory in Windows
comment:
  I am using ActiveTcl 8.5.9.1 on Windows XP SP3.

    fileutil::find $env(SYSTEMDRIVE)/ {string match *.pdf}
    couldn't read directory "C:/System Volume Information/*": permission denied
        while executing
    "glob -nocomplain -directory $current -types f          -- *"
        (procedure "GLOBF" line 8)
        invoked from within
    "GLOBF $current"
        (procedure "find" line 48)
        invoked from within
    "find $env(SYSTEMDRIVE)/ {string match *.pdf}"
        (file "./error.tcl" line 6)

  Maybe "glob -nocomplain" should not error out, but for now I added a check to
  make sure the directory is readable in GLOBF and GLOBD as a workaround.
  My workaround, along with my workaround for bug 3141568, looks like this:

      proc ::fileutil::GLOBF {current} {
          if {![file readable $current]} {
              return {}
          }
          if {([file type $current] eq {link}) && !([file exists [file readlink $current]] && [file readable [file readlink $current]])} {
              return {}
          }


tkt_uuid: 1510449fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: None
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Feature request: Robots exclusion rules parser/checker
comment:
  It would be nice to see an extension that allows
  parsing of a webserver's robots.txt file to see if our
  client is allowed to access a specific resource. Such
  an extension should return a boolean value.

  This feature would prove very useful when making web
  spiders (in general, web clients requiring no user
  interaction).


tkt_uuid: 532774ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ncgi
priority: 5 Medium
foundin: None
resolution: Accepted
title: ncgi::nvlist very slow for large queries
comment:
  Obtaining the results of form submissions where a 
  field contains a large amount of data ( >5-10kb ) 
  causes the CPU to max out for long periods of time 
  (several minutes for 40kb on a reasonably fast PC).

  The problem is caused by the regular expression:

  regexp -- (.*)=(.*) $x dummy varname val

  which doesn't seem to handle really large strings well.

  My fix was to use the following:

  set pos [string first "=" $x]
  set len [string length $x]

  if { $pos>=0 } {
      if { $pos == 0 } { # if the = is at the 
  beginning ...
          if { $len>1 } { # ... and there is something 
  to the right ...
              set varname anonymous
              set val [string range $x 1 [expr $len-1]]
          } else { # ... otherwise, all we have is an =
              set varname anonymous
              set val ""
          }
      } elseif { $pos==[expr $len-1] } { # if the = is 
  at the end ...
          set varname [string range $x 0 [expr $pos-1]]
          set val ""
      } else {
          set varname [string range $x 0 [expr $pos-1]]
          set val [string range $x [expr $pos+1] [expr 
  $len-1]]
      }
  } else { # no = was found ...
      set varname anonymous
      set val $x
  }

  in place of:

  if {![regexp -- (.*)=(.*) $x dummy varname val]} {
      set varname anonymous
      set val $x
  }

  in ncgi::nvlist in tcllib/ncgi. I know that the 
  problem exists in tcllib version 1.1 and 1.2.


tkt_uuid: 616522ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Out of Date
title: ListBox::_multiple_select error
comment:
  When trying to select the first elemet in the my list I get 
  the following error ...

  can't read "y": no such variable
      while executing
  "if { $y <= 6 } {
          if { [lindex [$path.c yview] 0] > 0 } {
              set scroll [list yview -1]
              DropSite::setcursor sb_up_arrow
    ..."
      (procedure "ListBox::_multiple_select" line 53)
      invoked from within
  "ListBox::_multiple_select .menu.frame.control.f0.frame.
  sTitleFrameControl.f.sTitleExecuteTCList.f.sTitleOP.f.list
  box n [string range [lindex [.menu.fr..."
      (command bound to event)

  Found in ...
       ActiveState ActiveTcl 8.3.4.2


tkt_uuid: 1438365fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: comm
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: possible error condition when port in use
comment:
  In line 632, there is a possible error condition with
  the command "rename $chan {}". 

  I've run into a case (with a user-defined port and
  channel) in which the user-defined port is in use (by
  an outside application), but the channel doesn't exist.
  In this case, the "rename $chan {}" errors out:
  can't delete "::test": command doesn't exist.

  But the real error should be that the port is already
  in use (line 634).

  This can be fixed by verifying that the channel exists
  before trying to do a rename (in line 631 for example).


tkt_uuid: 2886893fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
subsystem: ldap
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: fix documentation for ldapx's ldap class
comment:
  ldapx's ldap class documentation contains two errors showing "::ldapx::ldap create" when it should be "::ldapx::entry create".  Patch attached.


tkt_uuid: 3575707fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: csv
priority: 5 Medium
foundin: None
resolution: Accepted
title: add opt arg to csv::join to force insertion of delimiter
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: 603924ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
title: add getall / keys / keyexists to graph
comment:
  As the graph object stores data exactly like nodes and
  arcs do, it would be more symetric to have the extra
  subcommands, that were added to nodes and arcs.

  Implementation is trivial (copy nodes / arcs procs, one
  line change).


tkt_uuid: 1651842fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: notebook: -raisecmd should be able to forbid raising
comment:
  if the command associated with -leavecmd returns 0, the page is not left. (BTW, there's a spelling mistake in the docs :)) Thus I can make some checks whether I want to allow the user to move on..


  The same should be true for the -raisecmd.. if it returns 0, don't raise the page, but stay where you are instead..


  I had a brief look at noteboo.tcl (bwidget 1.8) and simply copied the code used at -leavecmd

  % diff notebook.tcl.ori notebook.tcl
  697c697,700
  <           uplevel \#0 $cmd
  ---
  >             set code [catch {uplevel \#0 $cmd} res]
  >             if { $code == 1 || $res == 0 } {
  >                 return -code $code $res
  >             }


  this kinda works.. if the command returns 0 the tab is not raised, however, the tab I was at before now does not appear selected anymore..



  Just an idea :)


tkt_uuid: 2807227fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Accepted
title: ScrollableFrame issues
comment:
  There are some problems with ScrollableFrame. The following code demonstrates them:

  pack [panedwindow .pw -orient vertical] -fill both -expand 1
  .pw add [set f [frame .pw.f -relief sunken -bd 1]] -minsize 30
  .pw add [set d [frame .pw.d -relief sunken -bd 1]] -minsize 30

  grid\
      [ScrollableFrame $f.sf -height 300 -yscrollcommand [list $f.yscroll set]]\
      [scrollbar $f.yscroll -orient vertical -command [list $f.sf yview]]\
      -sticky news
  grid rowconfigure $f 0 -weight 1
  grid columnconfigure $f 0 -weight 1

  set g [$f.sf getframe]

  update

  pack\
      [button $g.a -text A -command [list destroy $g.a]]\
      [button $g.b -text B -command [list destroy $g.a $g.b]]\
      [button $g.c -text C -command [list destroy $g.a $g.b $g.c]]\
      [button $g.d -text D -command [list destroy $g.a $g.b $g.c $g.d]]\
      [button $g.e -text E -command [list destroy $g.a $g.b $g.c $g.d $g.e]]\
      [button $g.f -text F -command [list destroy $g.a $g.b $g.c $g.d $g.e $g.f]]

  Now resize the panes of the panedwindow with the mouse (just a little bit). You will see that the scrollbar becomes active even though there is no reason (yet) for it.

  A second issue can be triggered by resizing the upper pane until just 2 or 3 of the buttons are still visible. Next, move the scrollbar down such that the last buttons (E and F) are visible. Now click the E button. You will see that the ScrollableFrame misbehaves.

  The attached patch solves these issues.


tkt_uuid: 1195267fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Out of Date
title: initializing multipart files too slow
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: 3312880fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftpd
priority: 5 Medium
foundin: None
resolution: Fixed
title: FTP command "RNFR" checks filesystem paths
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: 2794454fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: cmdline
priority: 5 Medium
foundin: None
resolution: None
title: error in info command
comment:
  line 196 of the source code reads: "if {[info exist result(?)] || [info exists result(help)]} {"

  I believe that first "exist" should read "exists"


tkt_uuid: 519594ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Invalid
title: parseaddress can't cope with spaces
comment:
  mime::parseaddress fails on simple, common cases. Specifically, it fails for some fairly typical user 
  input

       somebody@some.org someoneelse@other.com

  When I try to stress it and send mail to 

       foo<>bar@grill.com

  The parse "succeeds" but the send fails.


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

  * pop3 1.6.3
  - comm 4.3
  WARNING: removeFile removing
  "/local/src/tcllib/__pop3d.log":
    not created by makeFile
  WARNING: removeFile removing
  "/local/src/tcllib/__pop3d.log":
    not a file
  WARNING: cleanupTests deleting
  /local/src/tcllib/coserv.sub...


tkt_uuid: 2695564fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: linearalgebra
priority: 8
foundin: None
resolution: Fixed
title: mkWilkinson+ may be wrong
comment:
  Hi,

  Try 

  math::linearalgebra::show [math::linearalgebra::mkWilkinsonW+ 7]

  and see :

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

  but the diagonal must contain only positive 
  terms, as shown in :

  http://www.uni-kassel.de/hrz/server/UNIX+SW-Infos/graphics/MatLab-5.3/help/techdoc/ref/wilkinson.html

  The following fixes the problem :

  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 } {
              # int(n/2)+1-min(i, n- i+1)
                set min [expr {(($i+1)>$size-($i+1)+1? $size-($i+1)+1 : ($i+1))}]
                set entry [expr {int($size/2) + 1 - $min}]
              } 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+ 7]

  The problem was to correctly manage the 
  move for the mathematical formula (where i
  starts from 1) to Tcl (where i starts 
  from 0).

  Best regards,

  Michaël


tkt_uuid: 708502ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: struct
priority: 7 High
foundin: None
resolution: Accepted
title: Longest common subsequence of two lists
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: 1903306fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: tklib :: plotchart
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: xyplot xconfig / yconfig -scale not working
comment:
  Using the xconfig or yconfig command with the -scale option results in an "Unknown or invalid value" error.

  Script showing problem:

  package require Tk
  package require Plotchart

  canvas .c
  pack .c

  set s [Plotchart::createXYPlot .c {0 100 10} {0 100 10}]
  $s xconfig -scale {0 200 20}


  The problem is in Plotchart::AxisConfig, in the file plotaxis.tcl around line 492.  The "idx" value is the index into a list with a single value per option, and it is used to index into the axis_option_values which has two values per option.  One possible fix is to multiply the idx by 2 before using it on the axis_option_values.

    set clear   [lindex  $axis_option_clear  $idx]
  >>  set idx [expr {2 * $idx}]
    set values  [lindex  $axis_option_values [incr idx]]


  Also, in the plotaxis.tcl file there is "console show" and "puts" command in the Plotchart::DrawXaxis routine which seem out of place.

  Thanks,
  -paul


tkt_uuid: 1657338fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
subsystem: blowfish
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Blowfish CFB mode
comment:
  Hi, 
  This patch enables CFB (Crypto Forward Block) stream encryption in the blowfish module.
  It has a simple test in the test suite, and I used it to decrypt data encrypted in a cryptofs (fuse userland encrypted filesystem) so I think it works.
  I'm no crypto expert...
  As far as I know, the limitation is that you can not call the encrypt/decrypt multipletimes if you don't use a full block, so ONLY the last block is allowed to be less than 64bits in size, which should not be a problem.

  Regards


tkt_uuid: 943994ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 9 Immediate
foundin: None
title: standard doctools target for TEA / Makefile authors
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: 985601ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 6
foundin: None
resolution: Fixed
title: doctools - engine parameters not documented
comment:
  Neither the general methods to query and set engine
  parameters are documented, nor are the actual
  parameters defined by the predefined formatters.


tkt_uuid: 2010798fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: md5
priority: 5 Medium
foundin: None
resolution: Fixed
title: variable pollution on package require md5
comment:
  The final 'namespace eval' in md5x.tcl seems to have a 'creative writing' problem regarding the variable e.

  e.g

  % set e myvalue
  myvalue
  % package require md5
  2.0.5
  %set e
  critcl


  Looking in cvs - it seems an 'unset e' has been added, but this isn't enough, as the original e is still the variable being written to.

  Looks like it just needs an extra line:
  variable e 


tkt_uuid: 1292966fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Performance: connection timeout
comment:
  Hi,

  When I try to connect via (latest version 2.4.1):
  ftp::Open $some_ip anonymous "" -mode passive

  I takes sometimes more than a minut (sometimes a timeout).
  * We only have this when starting on Solaris connecting
  to Windows via a Fortigate 200 Antivirus Appl. and a
  firewall.
  * Windows to Windows via Fortigate and firewall works fine.
  * Solaris to whatever OS not via Fortigate and firewall
  works fine
  * When I test the connection via regular UNIX ftp
  command -->
  no problem

  The line of code slowing down is located in ftp.tcl
  proc ftp::OpenControlConn
  --> set peer [fconfigure $ftp(CtrlSock) -peername]

  This line is used only for a DisplayMsg. (I think this
  line should be in the if statement, but this is not the
  real issue).

  I found an old bug report on fconfigure -peername (tcl
  project):
  [ 533301 ] fconfigure -peername very slow

  Does somebody have an idea?

  Moving the fconfigure line into the 
  #    if { $VERBOSE } {

  block fixes my problem when VERBOSE mode is off.


tkt_uuid: 1949752fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: ncgi
priority: 5 Medium
foundin: None
resolution: Fixed
title: Documentation - misprint
comment:
  http://tcllib.sourceforge.net/doc/ncgi.html:
  ...
  ::ncgi::exists name
      Returns 1 if the CGI variable name is not present.
  ...

  In fact, it will return 1 if variable IS present and will return 0 if it's NOT. Obvious misprint in the documentation.


tkt_uuid: 1800344fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Accepted
title: Extra <br> tags before new definition list
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: 3608240fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: queue
priority: 5 Medium
foundin: None
resolution: Fixed
title: struct::queue error, procs peek and get
comment:
  Last action "qp peek [qp size]" gives an incorrect result [1 2 3 4 5] instead of [2 3 4 5]

  script:

  package require struct::queue
  struct::queue qp
  qp put 1 2 3
  puts [qp peek [qp size]]
  qp get
  puts [qp peek [qp size]]
  qp put 4 5
  puts [qp peek [qp size]]

  output:

  1 2 3
  2 3
  1 2 3 4 5


tkt_uuid: 1779348fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: profiler
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: profiler test suite peculiar behavior
comment:
  I downloaded from activestate's ftp site today the latest tcl, tk, tcllib cvs head snapshot tars. On a sparc solaris 9 system, using sun's c compiler, I built the pieces and installed them. All this is being done within Sun's standard xterm window, running under GNOME, displaying back to Exceed X server running on Windows XP sp2.

  I then ran a make test for tcllib. Things went well until:
  [    ]  [8.5a7] pop3d       ~~       T   152 P   152 S     0 F     0
  [  * ]  [8.5a7] profiler    ---- profiler::leaveHandler::initialize_descendent_ti[  * ]  [8.5a7] profiler    PASS profiler::leaveHandler::initialize_descendent_ti[  * ]  [8.5a7] profiler    ---- profiler::leaveHandler::increment_descendent_tim[   *]  [8.5a7] profiler    PASS profiler::leaveHandler::increment_descendent_tim[   *]  [8.5a7] profiler    ---- profiler-4.1                                    [   *]  [8.5a7] profiler    PASS profiler-4.1                                    [   *]  [8.5a7] profiler    ---- profiler-5.1                                    [   *]  [8.5a7] profiler    PASS profiler-5.1                                    [  * ]  [8.5a7] profiler    ---- profiler-6.1                                    [  * ]  [8.5a7] profiler    PASS profiler-6.1                                    [  * ]  [8.5a7] profiler    ---- profiler-7.1                                    [  * ]  [8.5a7] profiler    PASS profiler-7.1                                    [  * ]  [8.5a7] profiler    SKIP profiler-7.2                                    [ *  ]  [8.5a7] profiler    ---- profiler-7.2-85                                 [ *  ]  [8.5a7] profiler    PASS profiler-7.2-85                                 [ *  ]  [8.5a7] profiler    ---- profiler-7.3                                    [ *  ]  [8.5a7] profiler    PASS profiler-7.3                                    [ *  ]  [8.5a7] profiler    ---- profiler-7.4                                    [*   ]  [8.5a7] profiler    PASS profiler-7.4                                    [*   ]  [8.5a7] profiler    ---- profiler-7.5                                    [*   ]  [8.5a7] profiler    PASS profiler-7.5                                    [*   ]  [8.5a7] profiler    ---- profiler-8.1                                    [*   ]  [8.5a7] profiler    PASS profiler-8.1                                    [ *  ]  [8.5a7] profiler    ---- profiler-8.2                                    [ *  ]  [8.5a7] profiler    PASS profiler-8.2                                    [ *  ]  [8.5a7] profiler    ---- profiler-9.1                                    [ *  ]  [8.5a7] profiler    PASS profiler-9.1                                    [    ]  [8.5a7] profiler    ~~       T    21 P    15 S     6 F     0               

  Notice that for some reason, profiler outputs each of its steps, instead of writing them on top of each other like the previous tests all did.

  This is a make test performed "interactively" with output going to stdout/stderr.

  I've seen this kind of thing happen with the test suite at other times. I understand that others may not be able to duplicate the problem. I am reporting it because there appears to be something weird going on in the test suite software itself, or perhaps in this particular test.


tkt_uuid: 707607ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Fixed
title: Tcllib source README missing web info
comment:
  the README for the tcllib source or install
  distribution does not mention the sf.net web site.

  The attached patch adds a mention of the site to the
  README file.
  I'm uncertain where in the installation directory such
  a mention should go - should the README be installed?


tkt_uuid: 1243991fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Works For Me
title: ListBox mouse selection bug
comment:
  % package require Tk 
  8.4
  % package require BWidget
  1.7
  % ListBox .l -selectmode single -selectfill true
  .l
  % pack .l
  % for { set i 0 } { $i < 10 } {incr i } {
  .l insert end $i -text "Element $i" }
  %.l delete 2

  If you try now to select an item below item '1' by clicking on it with 
  the mouse, the item one position below it will get selected instead.
  The problem subsists only with "-selectfill true". "-selectmode 
  single/multiple" has no influence.


tkt_uuid: 1386101fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: rc4
priority: 9 Immediate
foundin: None
resolution: Fixed
title: rc4 critcl fails when used with channels
comment:
  As reported by RJ Bacon:
   package require rc4
   rc4::rc4 -key 01234567 -infile xxzzy.dat
  will die.
  The problem is that the key returned by RC4Init when
  using critcl is not an array but we attempt to treat it
  like on and upvar it.


tkt_uuid: 899152ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Fixed
title: installer should [package require Tcl 8]
comment:
  By mistake I tried to install using
  Tcl 7.6.  Led to some surprising
  suggestions for install locations.

  Probably a good idea to
  [package require Tcl 8] early
  in installer.tcl.  The installer
  should not have to support Tcl 7,
  because none of the packages
  to be installed supports Tcl 7.


tkt_uuid: 3495047fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: A Category Is Missing
priority: 1 Zero
foundin: None
resolution: Not Applicable Here
title: Bug Database link broken on tcllib home page
comment:
  If logged in, goes to 'add new bug report' page.
  When not logged in, gives error.
  I suppose it should go to the bug list like the 'patch' link goes to the patch list.
  Maybe also add a 'feature request' link?


tkt_uuid: 1425947fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Duplicate
title: mime::parsedatetime - error on months
comment:
  When using ::mime::parsedatetime on months ( long and
  short ) as well as on "proper", there are errors
  handling months. there are more ways to fix the error,
  but I think the easiest is :

  Change variables to :

    variable MONTHS_SHORT [list None Jan Feb Mar Apr May
  Jun Jul Aug Sep Oct Nov Dec]
    variable MONTHS_LONG  [list None January February
  March April May June July                             
         August Sepember October November December]

  You need the first element to be "None" ( could be
  dummy), because %m (clock format option) returns values
  from 1-12 not from 0-11

  Also you must change clock format option %e to %m on
  all month related functions, because %e returns the day
  of the month not the month.

  Change the line that read :

  return [lindex $MONTHS_LONG [clock format $clock
  -format %e]]

  to :

  return [lindex $MONTHS_LONG [clock format $clock
  -format %m]]

  Change the line that read :

  return [lindex $MONTHS_SHORT [clock format $clock
  -format %e]]

  to :

  return [lindex $MONTHS_SHORT [clock format $clock
  -format %m]]

  Change the line that read :

   set mon [lindex $MONTHS_SHORT [clock format $clock
  -format %e]]

  to :

   set mon [lindex $MONTHS_SHORT [clock format $clock
  -format %m]]


tkt_uuid: 719616ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: None
priority: 8
foundin: None
resolution: Fixed
title: alter install.tcl to support re-installs
comment:
  Index: install.tcl
  =========================================
  ==========================
  RCS file: /cvsroot/tcllib/tcllib/install.tcl,v
  retrieving revision 1.2
  diff -w -b -r1.2 install.tcl
  18c18
  <             file copy $file $sub
  ---
  >             file copy -force -- $file $sub

  30c30
  < file copy pkgIndex.tcl $installdir
  ---
  > file copy -force -- pkgIndex.tcl $installdir


tkt_uuid: 2800387fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
resolution: Fixed
title: struct::graph:op::{kruskal,prim}
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: 744109ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 8
foundin: None
title: easier help access for dtp
comment:
  It's not very easy for a tcl beginner to access to dtp help: no 
  manual or help file is given so you have to use dtp embeded 
  help. But it's not so easy to get it, you have to call dtp with a wrong 
  arg if you want a *real* subcommand list. Adding available 
  subcommands list to dtp (with no arg) output might be a good 
  thing.

  I've also notice that "dtp help" doesn't list wiki as 
  possible output format, but it works with the dtp.kit I've 
  recently downloaded from sdarchive.

  Last thing, I 
  think a ascii screen output format using something like unix or 
  dos more utility would be very fine.


tkt_uuid: 524712ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: md5
priority: 5 Medium
foundin: None
resolution: Invalid
title: md5::md5 fails with Trf2.1p2 (tcllib1.2)
comment:
  In tclsh (8.3):

  % package require tcllib
  1.2
  % md5::md5 507
  ::hex: wrong # args, all options require an argument

  I have Trf 2.1p2 installed, which means the following
  code is executed from md5.tcl:
  -------------------------------------------
  # Trf is available, so implement the functionality
  provided here
      # in terms of calls to Trf for speed.

      proc ::md5::md5 {msg} {
  string tolower [::hex -mode encode [::md5 $msg]]
      }
  -------------------------------------------

  The reason for the failure is that [::md5 $msg] returns
  a binary result starting with '-', which causes the
  ::hex to think there is another option.
   
  The fix is to insert "--" following the "encode":

  -------------------------------------------
      proc ::md5::md5 {msg} {
  string tolower [::hex -mode encode -- [::md5 $msg]]
      }
  -------------------------------------------

  There is at least one other occurrence of the same bug
  in md5.tcl, and I would imagine this could also occur
  where ::hex or other encoding functions are called.

  I'm willing to fix this bug.


tkt_uuid: 1897848fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: list
priority: 5 Medium
foundin: None
resolution: Fixed
title: repeat test suite failures
comment:
  sparc solaris 9 sun c compiler cvs head for tcl and tcllib.

  ---- repeat-4.1 start

  ==== repeat-4.1 repeat command FAILED
  ==== Contents of test case:

      catch {repeat} msg
      set msg

  ---- Result was:
  wrong # args: should be "::struct::list::Lrepeat positiveCount value ?value ...?
  "
  ---- Result should have been (exact matching):
  wrong # args: should be "lrepeat positiveCount value ?value ...?"
  ==== repeat-4.1 FAILED

  ---- repeat-4.2 start

  ==== repeat-4.2 repeat command FAILED
  ==== Contents of test case:

      catch {repeat a} msg
      set msg

  ---- Result was:
  wrong # args: should be "::struct::list::Lrepeat positiveCount value ?value ...?
  "
  ---- Result should have been (exact matching):
  wrong # args: should be "lrepeat positiveCount value ?value ...?"
  ==== repeat-4.2 FAILED


tkt_uuid: 1623653fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: math :: geometry
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Polygons in pointInPolygon are always closed - no check
comment:
  In pointInPolygon there is no check if the polygon is already closed. The first point is added anyway. If it is already closed however the result is false.


tkt_uuid: 767522ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct :: tree
priority: 8
foundin: None
title: add tree command list processing
comment:
  NOTE: This builds on the use of the "-key ?Pattern?" 
  enhancement request that I made earlier.


  I think it would be very useful to allow ::struct::tree 
  commands to hadle and return list inputs based on either 
  a ::struct::tree command or another tcl 
  command/variable that a user may wish to use.

  EXAMPLE GOAL: Extract a set of keys from a node, 
  extract all of the key-names/values to an array

  array set myArray [myTree getall [myTree get %n -key 
  paramValue*]]

  The point here is 3 fold:
  1) extract a group of keys by a pattern match
  2) get key values based on a list of keys
  3) getall keys/values based on a list of extracted node 
  keys and put into an array.


  As you can see, if the above example was implemented, 
  there would be significantly less coding required to 
  extract simple or complex ::stree::tree keys or values 
  (or both) as compared to several processes/variables to 
  track the same things.

  I realize that a user could simple convert the entire 
  structure into an array, but that is not the goal, 
  the ::struct::tree has the potential to be more 
  functional and useful if it had the abilities to truely 
  loop/break and had filtering capabilities.

  Questions?

  Dave Bigelow


tkt_uuid: 548540ffffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ftp::Put success on control timeout
comment:
  On numerous Tcl versions (up to 8.3) and ftp
  library versions (1.2, 2.2, 2.3) we have
  experienced false successes for ftp::Put.
  Recently, we have noticed that these occur when
  ftp::Put encounters the error:
  "Timeout of control connection"

  If a sequence of files are being sent by ftp::Put,
  then subsequent files after the erroneous success
  will have their data written to the wrong file name.

  E.g.

  ftp::Put A is OK

  ftp::Put B times out

  ftp::Put C sends C's contents to the file B!

  As a work-around I set a flag in the
  ftp::DisplayMsg procedure within the error
  branch.  If this flag is set despite ftp::Put
  indicating success, then I treat this as a 
  failed ftp::Put.  I then quit the connection
  to try again.

  Additionally, a couple of times after experiencing
  these false-positive results when we have attempted
  to quit the connection, we have encountered an
  inifinite loop:

  bgerror failed to handle background error.
      Original error: Unknown state "quit_sent"
      Error in bgerror: invalid command name "bgerror"
  bgerror failed to handle background error.
      Original error: too many nested calls to 
  Tcl_EvalObj (infinite loop?)
      Error in bgerror: too many nested calls to 
  Tcl_EvalObj (infinite loop?)

  (This is using ftp_lib.tcl 2.3 with Tcl 8.3 on
  Solaris)


tkt_uuid: 527029ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
title: Online help for mpexpand
comment:
  Add option -help which when used causes
  mpexpand to dump a short help on its use
  (options, arguments) to stdout.

  Add option -help-fmt which when used
  dumps a quick reference of the doctools
  manpage format to stdout.


tkt_uuid: 1156611fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 7 High
foundin: None
resolution: Fixed
title: Error raised by <iq> processing.
comment:
  Caused by a request for user info (actually version info):

  iqhook ::tkjabber::on_iq_version failed: 1
  expected boolean value but got ""
      while executing
  "if {$isempty} {
          append rawxml "/>"
      } else {
          append rawxml ">"
          
          # Call ourselves recursively for each child
  element. 
          # There is an arbitrary ..."
      (procedure "createxml" line 9)
      invoked from within
  "createxml $child"
      (procedure "wrapper::createxml" line 17)
      invoked from within
  [.....]


tkt_uuid: 720206ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: profiler
priority: 7 High
foundin: None
resolution: Fixed
title: test failure: profiler module with tcl8.3
comment:
  Using tcl 8.3 to run the tcllib test suite we get the
  following errors  not present when using tcl 8.4
  Test platform: tcl 8.3.5 Windows 2K intel.

  Module:profiler
  modules/profiler/profiler.test

  ==== profiler-3.1 profiler wrappers do profiling FAILED
  ==== Contents of test case:

      set c [interp create]
      interp alias $c parentSet {} set
      set result [$c eval {
  set auto_path [parentSet auto_path]
  package require profiler
  profiler::init
  proc ::foo {} {
      set foobar 0
  }
  foo
  foo
  foo
  foo
  profiler::dump ::foo
      }]
      interp delete $c
      array set bar $result
      array set foo $bar(::foo)
      list callCount $foo(callCount) callerDist
  $foo(callerDist)

  ==== Test generated error:
  divide by zero
  ---- Result should have been:
  callCount 4 callerDist {GLOBAL 4}
  ==== profiler-3.1 FAILED


  ==== profiler-4.1 profiler::print produces nicer output
  than dump FAILED
  ==== Contents of test case:

      set c [interp create]
      interp alias $c parentSet {} set
      set result [$c eval {
  set auto_path [parentSet auto_path]
  package require profiler
  profiler::init
  proc ::foo {} {
      set foobar 0
  }
  foo
  foo
  foo
  foo
  profiler::print ::foo
      }]
      interp delete $c
      regsub {Compile time:.*} $result {} result
      string trim $result

  ==== Test generated error:
  divide by zero
  ---- Result should have been:
  Profiling information for ::foo
  ============================================================
              Total calls:  4
      Caller distribution:
    GLOBAL:  4
  ==== profiler-4.1 FAILED


  ==== profiler-5.1 profiler respects suspend/resume FAILED
  ==== Contents of test case:

      set c [interp create]
      interp alias $c parentSet {} set
      set result [$c eval {
  set auto_path [parentSet auto_path]
  package require profiler
  profiler::init
  proc ::foo {} {
      set foobar 0
  }
  foo
  foo
  foo
  foo
  profiler::suspend ::foo ; # note the qualification,
  has to match proc!
  foo
  foo
  set res [profiler::print ::foo]
  profiler::resume
  set res
      }]
      interp delete $c
      regsub {Compile time:.*} $result {} result
      string trim $result

  ==== Test generated error:
  divide by zero
  ---- Result should have been:
  Profiling information for ::foo
  ============================================================
              Total calls:  4
      Caller distribution:
    GLOBAL:  4
  ==== profiler-5.1 FAILED


  ==== profiler-6.1 profiler handles functions with funny
  names FAILED
  ==== Contents of test case:

      set c [interp create]
      interp alias $c parentSet {} set
      set result [$c eval {
  set auto_path [parentSet auto_path]
  package require profiler
  profiler::init
  proc ::foo(bar) {} {
      set foobar 0
  }
  foo(bar); foo(bar); foo(bar)
  profiler::dump ::foo(bar)
      }]
      interp delete $c
      array set bar $result
      array set foo ${bar(::foo(bar))}
      list callCount $foo(callCount) callerDist
  $foo(callerDist)

  ==== Test generated error:
  divide by zero
  ---- Result should have been:
  callCount 3 callerDist {GLOBAL 3}
  ==== profiler-6.1 FAILED


  ==== profiler-9.1 dump for multiple functions FAILED
  ==== Contents of test case:

      set c [interp create]
      interp alias $c parentSet {} set
      set result [$c eval {
  set auto_path [parentSet auto_path]
  package require profiler
  profiler::init
  proc ::foo {} {
      set foobar 0
  }
  proc ::bar {} {
      set foobar 1
  }
  foo; foo; bar;
  profiler::dump *
      }]
      interp delete $c
      array set data $result
      catch {unset foo}
      catch {unset bar}
      array set foo $data(::foo)
      array set bar $data(::bar)
      list [list callCount $foo(callCount) callerDist
  $foo(callerDist)]  [list callCount $bar(callCount)
  callerDist $bar(callerDist)]

  ==== Test generated error:
  divide by zero
  ---- Result should have been:
  {callCount 2 callerDist {GLOBAL 2}} {callCount 1
  callerDist {GLOBAL 1}}
  ==== profiler-9.1 FAILED


tkt_uuid: 1733442fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: htmlparse
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: elements of htmlparse param list cannot be accessed
comment:
  Here's an example of a tag that has an attribute containing line breaks.

  set html {<select onChange="

                                                                  processFieldChanged(this);
                                                          " onFocus="gotFocus(this,'Y');" onBlur="gotFocus(this,'N');"></select>}
  <select onChange="

                                                                  processFieldChanged(this);
                                                          " onFocus="gotFocus(this,'Y');" onBlur="gotFocus(this,'N');"></select>


  Printing the param list causes no issues:

  (bin) 122 % htmlparse::parse $html
  ==> hmstart {} {} {}
  ==> select {} {onChange="

                                                                  processFieldChanged(this);
                                                          " onFocus="gotFocus(this,'Y');" onBlur="gotFocus(this,'N');"} {}
  ==> select / {} {}
  ==> hmstart / {} {}


  But trying to access elements of the param list, which is what the build_data command in the run below does, yields an error:

  (bin) 124 % htmlparse::parse -cmd build_data $html
  list element in quotes followed by "gotFocus(this,'Y');"" instead of space


tkt_uuid: 920974ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: nntp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Add support for async requests to nntp
comment:
  The NNTP package doesn't currently support asynchronous 
  requests. As NNTP commands may take a long time to run, it 
  would be useful to be able to do these asynchronously. The ability 
  to get a progress callback would also be useful (similar to the http 
  package).


tkt_uuid: 905132ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Accepted
title: time.tcl (version 1.8) fails to catch TCP connection timeout
comment:
  time.tcl fails to catch a timeout on the TCP socket
  connect, though it handles the UDP situation correctly.
   When used in TCP mode, either without the UDP package
  loaded or by specifying -protocol tcp, if there is
  nothing listening on the port of the specified server,
  the program ends with "connection refused".

  Also - this package is MISREPRESENTED. It does NOT
  implement the Network Time Protocol, RFC 1305, port
  123, nor does it claim to. It implements RFC 868, the
  system-independent time protocol, port 37, often
  implemented with other "simple server" protocols, like
  echo, chargen, and so forth (on Unix-derived systems,
  right in inetd). Whoever registered this within the tcl
  offering as NTP didn't do their homework.

  To make matters worse, if you really connect this thing
  to the REAL ntp on port 123, it doesn't recognize the
  fact, and it returns a WRONG VALUE. If I get time, I'll
  see if I can get it to return an error instead of a
  wrong value, but with the early, simple protocols,
  that's not always practical. I will also see how
  difficult it would be to get a value from the REAL NTP,
  though I'm not going to attempt to implement the
  convergence algorithms, just grab the time - though
  that isn't quite what it was intended for.


tkt_uuid: 2426988fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: struct :: matrix
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: linking to array variable problem
comment:
  version: 2.0.1 . 
  Platform windows. 
  ActiveTcl distribution .
  linking to array variable issue.

   Any delete of row of matrix is not reflected in the linked array variable.

  I am using this function in the context of updating Tktable. So it is a big problem

  Regards
  valli
  valli@ezorder.in


tkt_uuid: 2999764fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 2
foundin: None
resolution: Fixed
title: ListBox: icon out of view on keybord select
comment:
  Test script:
  ListBox::create .l -multicolumn 0 -selectmode single -width 5 -redraw 1
  pack .l
  .l insert end list:#auto -text 1 -image [Bitmap::get file]
  .l insert end list:#auto -text 2 -image [Bitmap::get file]
  .l insert end list:#auto -text 1234567890 -image [Bitmap::get file]
  .l insert end list:#auto -text 4 -image [Bitmap::get file]

  Good behaviour: when selecting the entry with the long text with the mouse, the icon is still visible and the text is clipped on the right
  Issue: when selecting this item by keyboard (up/down), the listbox scrolls right and puts the icons out of view.


tkt_uuid: 586708ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: mclistbox
priority: 5 Medium
foundin: None
resolution: Duplicate
title: comcmd itemconfigure, few options added
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.


tkt_uuid: 3292977fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 3 Low
foundin: None
resolution: Fixed
title: Error when Themed Label foreground changed
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: 1445692fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Out of Date
title: parsedatetime month wrong
comment:
  mime::parsedatetime -now proper determines the wrong
  month. Same is with lmonth and month.

  Here's a diff to a correctly working mime.tcl:

  diff -c /usr/local/lib/tcllib1.8/mime/mime.tcl.orig
  /usr/local/lib/tcllib1.8/mime/mime.tcl
  *** /usr/local/lib/tcllib1.8/mime/mime.tcl.orig     
  2005-10-04 20:47:37.000000000 +0200
  --- /usr/local/lib/tcllib1.8/mime/mime.tcl 2006-03-08
  16:29:33.000000000 +0200
  ***************
  *** 3256,3264 ****
            variable WDAYS_LONG   [list Sunday Monday
  Tuesday Wednesday Thursday \                          
             Friday Saturday]

  !         variable MONTHS_SHORT [list Jan Feb Mar Apr
  May Jun \
                                        Jul Aug Sep Oct
  Nov Dec]
  !         variable MONTHS_LONG  [list January February
  March April May June July \
                                        August Sepember
  October November December]  }
    proc ::mime::parsedatetime {value property} {
  --- 3256,3264 ----
            variable WDAYS_LONG   [list Sunday Monday
  Tuesday Wednesday Thursday \                          
             Friday Saturday]

  !         variable MONTHS_SHORT [list "" Jan Feb Mar
  Apr May Jun \
                                        Jul Aug Sep Oct
  Nov Dec]
  !         variable MONTHS_LONG  [list "" January
  February March April May June July \
                                        August Sepember
  October November December]  }
    proc ::mime::parsedatetime {value property} {
  ***************
  *** 3275,3281 ****

            lmonth {
                variable MONTHS_LONG
  !             return [lindex $MONTHS_LONG [clock format
  $clock -format %e]]
            }

            lweekday {
  --- 3275,3281 ----

            lmonth {
                variable MONTHS_LONG
  !             return [lindex $MONTHS_LONG [string
  trimleft [clock format $clock -format %m] 0]]
            }

            lweekday {
  ***************
  *** 3297,3303 ****

            month {
                variable MONTHS_SHORT
  !             return [lindex $MONTHS_SHORT [clock
  format $clock -format %e]]
            }

            proper {
  --- 3297,3303 ----

            month {
                variable MONTHS_SHORT
  !             return [lindex $MONTHS_SHORT [string
  trimleft [clock format $clock -format %m] 0]]
            }

            proper {
  ***************
  *** 3314,3320 ****
                variable WDAYS_SHORT
                set wday [lindex $WDAYS_SHORT [clock
  format $clock -format %w]]
                variable MONTHS_SHORT
  !             set mon [lindex $MONTHS_SHORT [clock
  format $clock -format %e]]

                return [clock format $clock \
                              -format "$wday, %d $mon %Y
  %H:%M:%S $zone"]
  --- 3314,3320 ----
                variable WDAYS_SHORT
                set wday [lindex $WDAYS_SHORT [clock
  format $clock -format %w]]
                variable MONTHS_SHORT
  !             set mon [lindex $MONTHS_SHORT [string
  trimleft [clock format $clock -format %m] 0]]

                return [clock format $clock \
                              -format "$wday, %d $mon %Y
  %H:%M:%S $zone"]


tkt_uuid: 2023543fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: amazon-s3
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: S3.test and xsxp.test fail during tcllib make test
comment:
  I'm using Tcl/Tk 8.5.3, and the latest tcllib cvs snapshot from the activestate ftp site.

  When I do the make test, I get this failure:

  @@ Module amazon-s3
  @@ Testsuite modules/amazon-s3/S3.test
  - tcllib::testutils 1.1
      Aborting the tests found in "S3.test"
      Error in xsxp.tcl: can't find package xml
  SETUP Error (Support): 
  SETUP Error (Support):     while executing
  SETUP Error (Support): "useLocal xsxp.tcl xsxp"
  SETUP Error (Support):     ("uplevel" body line 3)
  SETUP Error (Support):     invoked from within
  SETUP Error (Support): "uplevel 1 $script"
  @@ Testsuite modules/amazon-s3/xsxp.test
  - tcllib::testutils 1.1
      Aborting the tests found in "xsxp.test"
      Error in xsxp.tcl: can't find package xml
  SETUP Error (Testing): 
  SETUP Error (Testing):     while executing
  SETUP Error (Testing): "useLocal xsxp.tcl xsxp"
  SETUP Error (Testing):     ("uplevel" body line 2)
  SETUP Error (Testing):     invoked from within
  SETUP Error (Testing): "uplevel 1 $script"

  @@ End 1216643966

  Perhaps there is a dependency not specified?


tkt_uuid: 1747885fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: des
priority: 5 Medium
foundin: None
resolution: Fixed
title: des 1.0.0 loses what 0.8.1 could
comment:
  ActiveTcl 8.4.14:
  % packa re des
  1.0.0
  % set x [DES::des -mode encode -key SeCrEt "hello world"]
  can't use integer value too large to represent as operand of "^"

  while in ActiveTcl 8.4.9 it works well:
  % packa re des
  0.8.1
  % set x [DES::des -mode encode -key SeCrEt "hello world"]
  ?½??I-}????j??'?
  % DES::des -mode decode -key SeCrEt $x
  hello world


tkt_uuid: 466011ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Fixed
title: option rc file saved w/open permissions
comment:
  when tkchat creates its $HOME/.tkchatrc file , tkchat
  should probably do something about setting the files
  permissions to rw------- / 600 on unix.


tkt_uuid: 2113728fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: "$type info instances" corrupted after object-creation error
comment:
  = VERSION and PLATFORM
   snit 2.2.1
   tclkit 8.5.2  - Windows XP


  = HOW TO REPRODUCE ERROR

  Let's take the simplest snit-widget:

    snit::widget myWidget {
    }

  and let's create a myWidget instance named ".x" :

    myWidget .x
    myWidget info instances
      # OK  --> .x

  Now, if I (wrongly) try to create a new myWidget named ".x" ( or named like any existing widget ),
  then I (correctly) get an error message 

    myWidget .x
      # OK -->   window name "x" already exists in parent

  BUT, hereafter, I am no more able to query for "myWidget info instances"

    myWidget info instances
      # WRONG! -->   can't read "instance": no such variable

  NOTES:
   * no problem with snit::type
   * no problem with snit::widgetadaptor


tkt_uuid: 1172938fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: profiler
priority: 7 High
foundin: None
resolution: Fixed
title: profiler does not store descendent time
comment:
  I am a little confused about the tcllib profiler
  package.  I am using
  the 8.4.9 distribution on Windows XP, which includes
  profiler 0.2.2.

  Here is my elaborate test program.

     package require profiler
     ::profiler::init
     proc c1 { a } { for {set i 0} {$i<2000} {incr i} {;} }
     proc c2 { a } { for {set i 0} {$i<2000} {incr i} {;} }
     proc parent { } { for {set i 0} {$i<2000} {incr i} {
  c1 $i ; c2 $i }
  }

     parent
     ::profiler::dump ::parent

  The output is:

     ::parent {callCount 1 callerDist {GLOBAL 1}
  compileTime 2816000
     totalRuntime 2816000 averageRuntime 0 stddevRuntime 0
     covpercentRuntime 0 descendantTime 0
  averageDescendantTime 0
     descendants {}}

  The descendants data I would expect is like {c1 2000 c2
  2000}.
  The time reporting also seems wrong; how can all the
  time be
  reported as compile time with zero descendant time? 
  All the
  time is spent in the children.

  Am I missing something, or is this output completely
  wrong? 


tkt_uuid: 1242629fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: smtp
priority: 7 High
foundin: None
resolution: Accepted
title: Fix of CRAM-MD5
comment:
  Hi Marshall,

  today I tried to use the smtp modul to send mail
  to an authenticating MTA (qmail) using CRAM-MD5.
  That didn't work.
  Looking at the logs, I found the response to the
  challenge 4 char too short. The base64::encode
  proc folds this long response into 2 lines (which
  is coorect), but qmail is not able to digest a
  2 line response. Maybe other MTA's have the same
  problem. A simple removal of the newline char
  fixed the problem (see patch).
  I'm not sure if it's a bug of tcllib or if qmail
  is to blame. Regardless, now it works. Would you
  (or someone else) please check it against other
  MTAs?

  Best regards

  Ulrich


tkt_uuid: 702169ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: apps : tkchat
priority: 5 Medium
foundin: None
title: tcl nits picked in tkchat
comment:
  I'm attaching a patch to this feature request - it is
  just a set of changes to add -- to regexp, add switch
  default actions, and to brace some expr's.


tkt_uuid: 954328ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 8
foundin: None
resolution: Fixed
title: require md5 then mime, throws error
comment:
  From a clean CVS install of tcllib:

  tclsh 
  % package require md5 
  2.0.0 
  % package require mime 
  version conflict for package "md5": have 2.0.0, need 1.0 
  %  

  whereas the opposite order works:

  tclsh 
  % package require mime 
  1.4 
  % package require md5 
  1.4.3 
  %


tkt_uuid: 444172ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Function key accelerators in menus
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: 1566475fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: pop3
priority: 2
foundin: None
resolution: Not Applicable Here
title: pop3-6.1 fails sometimes
comment:
  Only on Solaris system do I see this.

  And only when running the whole tcllib
  test suite.  Testing the pop3 module alone
  doesn't cause the failure:

  ==== pop3-6.1 uidl FAILED
  ==== Contents of test case:

      dialog::dialog_set uidlFailed
      set psock [pop3::open localhost ak smash
  [dialog::listener]]
      catch {pop3::uidl $psock} msg
      pop3::close $psock
      dialog::waitdone
      set msg

  ---- Result was:
  POP3 UIDL ERROR: 
  ---- Result should have been (exact matching):
  POP3 UIDL ERROR:  unknown command 'UIDL'
  ==== pop3-6.1 FAILED


tkt_uuid: 1512671fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Improved delete for StatusBar
comment:
  When deleting the first item of a StatusBar an obsolete
  seperator is left at the front. This patch deletes this
  obsolete seperator when deleting the first item of a
  StatusBar. I've attached the patch as well as an
  example script to show the improved delete.


tkt_uuid: 1526641fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Fixed
title: find mishandles "hidden" files on Win
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: 2999846fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: plotchart
priority: 5 Medium
foundin: None
resolution: None
title: createHorizontalBarchart: wrong order of args
comment:
  Call of createHorizontalBarchart:
  Help file says:
  ::Plotchart::createHorizontalBarchart w ylabels xaxis noseries
  However, the proc demands a different order:
  proc ::Plotchart::createHorizontalBarchart { w xscale ylabels noseries }

  Oliver


tkt_uuid: 806420ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: comm
priority: 5 Medium
foundin: None
resolution: Fixed
title: comm uses wrong fconfigure options
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: 1416786fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: rc4
priority: 5 Medium
foundin: None
resolution: Fixed
title: rc4:test suite bugs
comment:
  with -debug 1:

  * rc4 1.1.0
  > pure Tcl - array based
  > pure Tcl - list based
  WARNING: cleanupTests deleting
  /local/src/tcllib/rc4test.data...
  WARNING: cleanupTests deleting
  /local/src/tcllib/rc4test2.data...


tkt_uuid: 2431506fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
subsystem: nntp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Event based nntp, plus cleanups
comment:
  FYI ...

  -------- Original Message --------
  Subject: Modification of tcllib1.11 package nntp 0.2.1
  Date: Sat, 13 Dec 2008 23:40:19 +0300
  From: Igor Gilyazov <igor.gilyazov@gmail.com>
  To: jeffh@activestate.com



  Hello Jeff,

  I have modified tcllib1.11 package nntp 0.2.1.
  Now it uses [fileevent] model, which allows async connection, timeout
  and other features.
  Also I have made various cleanups.
  My version supports only RFC 977 commands, but I can easily extend it
  with non-standard commands.

  The idea is to make the same modification to all tcllib modules like
  pop, ftp, smtp and etc.
  Also I can try to modify each of these packages to be full compatible
  with RFC.

  I attach Gzip archive with my version of nntp.
  I am not tcl expert, so if you have any suggestions to improve my code,
  you are welcome.
  If my code is useful to you, you can include this package to tcllib as
  nntp 0.2.2 or whatever.

  Regards,

  Igor


tkt_uuid: 472010ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Invalid
title: "smtp::sendmessage" and "header"
comment:
  he procedure "smtp::sendmessage" does not recognice the
  "header"
      data provided with the "mime::setheader" command.

  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  package require mime
  package require smtp

  set TEXT    {Hallo Otto}

  set M1      [ ::mime::initialize -canonical
  "Text/plain" -string $TEXT]

  mime::setheader $M1 To "Dev1Usr <dev1usr@linux02>"
  mime::setheader $M1 From "Andreas Otto
  <dev2usr@linux02>"
  mime::setheader $M1 Subject "test ..."

  #smtp::sendmessage $M1  -header [ list To "Dev1Usr
  <dev1usr@linux02>" ] \
  #                       -header [ list From "Andreas
  Otto <dev2usr@linux02>" ] \
  #                       -header [ list Subject "test
  ..." ]

  smtp::sendmessage $M1

  # clean everything up

  mime::finalize $M1
  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  generate

  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><
  need -header "To ..."
      while executing
  "error "need -header \"$toM ...\"""
      (procedure "smtp::sendmessage" line 176)
      invoked from within
  "smtp::sendmessage $M1"
      (file
  "/home/dev1usr/Project/Compiler2/bin/Mail.tcl" line 33)
  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


tkt_uuid: 1042987fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: treeql
priority: 5 Medium
foundin: None
resolution: Fixed
title: Extra list layers on output of get
comment:
  Here is one unexpected behavior I found.  There seem to
  be extra list layers on elements of the list returned
  by get when that list element contains spaces or square
  braces.

      package require treeql
      package require struct::tree
      package require tcltest
      namespace import tcltest::*
      set t [struct::tree]; ::treeql q -tree $t
      test get.1 {attributes with special characters} {
          $t insert root end n1 n2 n3
          $t set n1 title hello
          $t set n2 title "hello there"
          $t set n3 title {[hello]}
          q query root children get title
      } [list hello {hello there} {[hello]}]
      $t destroy; q destroy

  Output:

   ---- Result was:
   hello {{{hello there}}} {{{[hello]}}}
   ---- Result should have been (exact matching):
   hello {hello there} {[hello]}
   ==== get.1 FAILED


tkt_uuid: 1695123fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - Rework to use snit
comment:
  doctools currently uses a custom OO-like code base. Rewrite it to use snit instead for future manageability.

  This can be done before or after the internals have been changed to the use of pluginmgr (see RFE 1695122).


tkt_uuid: 3609346fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Installation
priority: 7 High
foundin: None
resolution: Accepted
title: /usr/bin/dia: filename clash
comment:
  Hi!

  The newly released tklib 0.6 installs the dia application into /usr/bin/. Though there is another dia (http://projects.gnome.org/dia/). It's unfortunate that two applications have the same name. Could you rename it somehow?


tkt_uuid: 862638ffffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: can't read &quot;ftp(Wait)&quot;: no such variable - background error
comment:
  When an FTP session is close, all the variables has been 
  unset. However, the ::ftp::Timeout{} event is still be 
  triggered. This event will read the ftp(Wait) variable 
  that doesn't exist because it has already been unset 
  during ftp close session. Therefore, this background 
  error occur.  To fix this or to work around, we need 
  check whether if the ftp(Wait) variable is exist 
  in ::ftp::Timeout{} procedure, then we only procceed 
  on the event. 

  proc ::ftp::Timeout {s} {
      upvar ::ftp::ftp$s ftp
      if {[info exist ftp(Wait)]} {
          after cancel $ftp(Wait)
          set ftp(state.control) 1

          DisplayMsg "" "Timeout of control connection after 
  $ftp(Timeout) sec.!" error
          Command $ftp(Command) timeout
      }
      return
  }

  This only happen when we use ftp in asynchronous 
  mode.

  My Email:
  champdog_s1977@hotmail.com


tkt_uuid: 944995ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ncgi
priority: 5 Medium
foundin: None
resolution: Fixed
title: xml content/type
comment:
  Reported as tclhttpd bug '[ 698549 ] direct url getting
  xml content/type' at
  http://sourceforge.net/tracker/index.php?func=detail&aid=698549&group_id=12884&atid=112884

   when using in ie ActiveXObject("Microsoft.XMLHTTP");
  to get xml from a direct_url the is a server 500 error.
  the problem is the content-type:
  Unknown Content-Type: text/xml
  while executing
  "ncgi::nvlist"(procedure "ncgi::parse" line 8)


  this is because ncgi package does not reconize test/xml
  type.
  adding it to ncgi solves the problem:

  proc ncgi::nvlist {} {
  set query [ncgi::query]
  set type [ncgi::type]
  switch -glob -- $type {
  "" -
  application/x-www-form-urlencoded -
  application/x-www-urlencoded -
  text/xml
  {

  I'm handpassing this to you.


tkt_uuid: 2798450fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: uri
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: uri::split provides no user and pwd without (default) scheme
comment:
  Hello,

  following code shows the bug:

      % info patchlevel
      8.5.7
      % package require uri
      1.2.1
      % uri::split host.td
      port {} path host.td scheme http host {} query {}
      % uri::split host.td http
      port {} path host.td scheme http host {} query {}
      % uri::split http://host.td
      port {} path {} scheme http host host.td query {} pwd {} user {}
      % uri::split host.td ftp
      port {} path host.td scheme ftp host {} type {} user {} pwd {}
      % uri::split ftp://host.td
      port {} path {} scheme ftp host host.td type {} user {} pwd {}

  So, the more common summary must be narrowed a bit, that a missing "http" scheme in the url with or without the default scheme "http" causes "uri::split" to do not return a user and pwd result list element.

  Best regards,

  Martin Lemburg


tkt_uuid: 3610478fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: json
priority: 5 Medium
foundin: None
resolution: None
title: json conversion fails on help example
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: 851495ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Enable drag and drop by default for ListBox
comment:
  I suggest adding two new defaults to ListBox widgets:

      Widget::declare ListBox {
          ...
  {-dragenabled      Boolean  1  1}
  {-dropenabled      Boolean  1  1}
      }


  The latest ListBox has a default for -dropcmd, which
  allows you to move list items within the widget. 
  However, you have to explicity set -dragenabled and
  -dropenabled to true before this starts working.  By
  defaulting these options to true, all ListBoxes get the
  feature without extra code clutter.


tkt_uuid: 988123ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Fixed
title: "./sak.tcl nroff" fails
comment:
  The output is:

  Gen (nroff): ./modules/asn/asn.man
  Gen (nroff): ./modules/base64/yencode.man
  Gen (nroff): ./modules/base64/base64.man
  Gen (nroff): ./modules/base64/uuencode.man
  Gen (nroff): ./modules/bee/bee.man
  command "dt" already exists, unable to create doctools
  object
      while executing
  "::doctools::new dt  -format $fmt  -module $m"
      (procedure "gendoc" line 19)
      invoked from within
  "gendoc nroff n"
      ("eval" body line 1)
      invoked from within
  "eval gendoc nroff n    $argv"
      (procedure "__nroff" line 1)
      invoked from within
  "__$cmd"
      (file "./sak.tcl" line 1582)


tkt_uuid: 2903927fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Development Tools
priority: 5 Medium
foundin: None
resolution: Fixed
title: tklib test suite failure on CVS head
comment:
  I configure and install tklib, then I type:

  $ gmake test
  /projects/sprs_lwv/tcl86/bin/tclsh8.6 `echo ../sak.tcl` test
  Command missing

      test -- Execute testsuites

      sak test run ?-s|--shell PATH? ?-l|--log STEM? ?-g|--valgrind? ?-v? ?MODULE ...?

          Run the testsuites of the specified modules, using the shell
          running SAK for the testsuites as well. If no modules are
          specified the testsuites of all modules are run.

  :
  and more stuff
  :
  gmake: *** [test] Error 1


tkt_uuid: 3574004fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: aes
priority: 5 Medium
foundin: None
resolution: Fixed
title: decrypt/encrypt fails for data beginning with '-'
comment:
  % set data_block -[string repeat \\0 15]
  -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
  % aes::aes -hex -mode cbc -dir encrypt -key $nil_block $data_block
  bad option "-\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0": must be one of -chunksize, -dir, -hex, -in, -iv, -key, -mode, -out

  The last item in the args list is always the data (or the in stream name).
  It is never a "-" option and should not be treated as one even if it starts with a "-".

  I have a server system that has been running for more than a year before happening to have some data beginning with a "-".
  Very hard to test for unless you already know what the problem is.

  Suggested fix: terminate argument processing when the args list length gets to 1...

  --- tcllib-1.14.orig/modules/aes/aes.tcl2012-07-25 10:53:21.000000000 +1000
  +++ tcllib-1.14/modules/aes/aes.tcl2012-10-03 12:19:44.000000000 +1000
  @@ -519,7 +519,7 @@
       set opts(-iv) [string repeat \0 16]
       set modes {ecb cbc}
       set dirs {encrypt decrypt}
  -    while {[string match -* [set option [lindex $args 0]]]} {
  +    while {[llength $args] > 1 && [string match -* [set option [lindex $args 0]]]} {
           switch -exact -- $option {
               -mode      { set opts(-mode) [SetOneOf $modes [Pop args 1]] }
               -dir       { set opts(-dir) [SetOneOf $dirs [Pop args 1]] }


tkt_uuid: 577678ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Add the package tkmisc to tklib
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: 3354014fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Fixed
title: Documentation describes "mime::initialize .. -part" option
comment:
  Documentation describes "mime::initialize .. -part" option, but no such option exists.  It should be "-parts", apparently.


tkt_uuid: 514486ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: textutil
priority: 5 Medium
foundin: None
title: request textutil snd-like comparisons
comment:
  I would like to request procs that implement string
  comparisons of soundex, extended soundex, metaphone,
  double metaphone be added to tcl.

  Text::Soundex, Text::Metaphone, Text::DoubleMetaphone
  are perl modules which implement 3 of these algorithms.

  When searching google for the above, I noticed
  http://www.linguistlist.org/~ask-ling/archive-1998.4/msg00854.html
  which claims to have some algorithm info for
  non-english languages.


tkt_uuid: 1000716fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: tree
priority: 8
foundin: None
resolution: Fixed
title: Unset of last attribute followed by delete results in error
comment:
  Unsetting the last attribute of a node and then
  deleting that node results in an error.

  Here is a unit test that shows this behavior:

  test tree-2.6.6 {unset followed by node delete} {
      tree mytree
      set     result [list]
      set n [mytree insert root end]
      mytree set $n foo bar
      mytree unset $n foo
      mytree delete $n
      set result [mytree exists $n]
      mytree destroy
      set result
  } 0

  Here is the result when executed:
  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: can't unset "::mytree::": no such variable
      while executing
  "unset ${name}::$attribute($node)"
      (procedure "KillNode" line 12)
      invoked from within
  "KillNode $name $node"
      (procedure "::struct::tree::_delete" line 27)
      invoked from within
  "::struct::tree::_delete ::mytree node1"
      ("_delete" body line 1)
      invoked from within
  "mytree delete $n"
      ("uplevel" body line 7)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tree-2.6.6 FAILED

  One fix that causes the above test to pass without
  breaking any of the other unit tests in tree.test is to
  change the line in ::struct::tree::_unset that says:

  set attribute($node) {}

  to

  unset attribute($node)


tkt_uuid: 2433410fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: plotchart
priority: 5 Medium
foundin: None
resolution: Fixed
title: tklib build process reports plotchart doc problem
comment:
  Generating /projects/sprs_lwv/tcl86/man/mann/plotchart.n
  DocTools Warning (sectambig): In macro at line 2332, column 0:
  DocTools Warning (sectambig): (Sub)Section title "RESIZING" causes ambiguous section references.


tkt_uuid: 2159700fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: tablelist
priority: 5 Medium
foundin: None
resolution: Rejected
title: Bug in tablelist when interacting with gridplus
comment:
  Hello,
  I noticed an intriguing bug when gridplus and tablelist interact. See the following suite of commands.

  D:\tmp>tclsh85
  % package require gridplus
  2.3
  % package present tablelist_tile
  4.9.2
  % pack [tablelist::tablelist .tbl1 -columns {0 col1 0 col2}]
  % source example2.tcl
  invalid command name ".__helpLabel"
  % pack [tablelist::tablelist .tbl2 -columns {0 col1 0 col2}]
  invalid command name ".__helpLabel"
  % info patchlevel
  8.5.3

  - After loading gridplus (which also loads tablelist_tile) I can create a table. 
  - Trying to [source example2.tcl] (an example from the gridplus distro which also wants to create a table) leads to an error. This error occurs inside of tablelist's code.
  - Now a command like the first one fails, too.

  Conclusion: 
  - gridplus interacts with tablelist in a way which provokes an error.
  - Once this error occurred it seems to be "persistent".

  One more detail: This depends on the version of tablelist: Loading example2.tcl from the gridplus starkit works - but this starkit contains tablelist 4.9.1.
  Best regards
  Helmut Giese


tkt_uuid: 2986744fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: sha1
priority: 5 Medium
foundin: None
resolution: Fixed
title: issue with tcllib sha256 on 64bit systems
comment:
  Having compiled Tcltk on a 64bit system I could not open databases which were encrypted with the sha256 algorithm. Before I used only 32bit versions of ActiveState binaries. Debugging the sha256.tcl file I found the reason:

  In line 303-308 there was one expression which was not ANDed by 0xffffffff. The patched line looks now like:

  for {set t 16} {$t < 64} {incr t} {
              lappend W [expr {([sigma1 [lindex $W [incr t2]]] \
                                   + [lindex $W [incr t7]] \
                                   + [sigma0 [lindex $W [incr t15]]] \
                                   + [lindex $W [incr t16]]) & 0xffffffff}]
          }

  Now everything works fine. 

  Zbigniew Diaczyszyn


tkt_uuid: 3300362fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: tklib :: tooltip
priority: 3 Low
foundin: None
resolution: Not Applicable Here
title: Tooltip font, msgcat namespace
comment:
  Leaving BWidget, I was looking to the tktooltip package. Here are two comments:

  1) Tooltip font
  Currently, the default font for labels is used as tooltip font.
  This might not be the desired font.
   Since Tk8.5, there is the special font "TkTooltipFont" containing the current tooltip font which might be used.
  Possible code from BWidget: 
      if {$::tcl_version >= 8.5} {
          set fontdefault TkTooltipFont
      } elseif {$Widget::_aqua} {
          set fontdefault {helvetica 11}
      } else {
          set fontdefault {helvetica 8}
      }
     label -font $fontdefault

  2) msgcat namespace
  IMHO, the use of msgcat within tooltips is half baken:
  - the namespace where msgcat::mc is called should be the namespace of the caller and not ::tooltip
  - there are no parameters allowed to" msgcat::mc"

  Suggestion:
  - save the caller namespace on tooltip creation for a later msgcat call
  - add a "--" option to the arguments to stop argument parsing
  - Allow to have multiple arguments after the message key.
    Save it as list and pass it to msgcat as arguments.

  Possible msgcat call with namespace and arguments
    namespace eval $ns [concat ::msgcat::mc $lkey]

  I would volonter to submit a patch for the two issues if this sounds reasonable

  - Harald


tkt_uuid: 1166235fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Out of Date
title: NoteBook delete reindexing
comment:
  version 1.7

  In NoteBook::delete

      foreach tmpPage [lrange $data(pages) $newPos end] {
  set pageToIndex($page) $newPos

  needs to be 

      foreach tmpPage [lrange $data(pages) $newPos end] {
  set pageToIndex($tmpPage) $newPos


tkt_uuid: 979487ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Out of Date
title: SelectColor widget locks up on MacOS
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: 2168846fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: tklib :: plotchart
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: tklib test suite for plotchart generates core
comment:
  platform: sparc solaris 8 displaying back to windows xp exceed
  tcl/tk: 8.5.4 release
  When I run the test suite for tklib, many of the modules generate the msg "No test files remain".

  However, plotchart generates this:
  Module: plotchart
  modules/plotchart/plotchart.test
  Plotchart 1.5.1
  modules/plotchart/plotcontour.test
  classes (cont) : 20.0 40.0 60.0 80.0 100.0 120.0
  modules/plotchart/plothist.test
  couldn't read file "plotchart.tcl": no such file or directory
      while executing
  "source plotchart.tcl"
      (file "/vol/tclsrcsol/tcl85/tklib/modules/plotchart/plothist.test" line 1)
      invoked from within
  "source [pSet file]"

  and, when I look in the directory, I see a core file.
  The core file is for tclsh8.5 and this is the stack trace I see:

   $ dbx /usr/tcl85/bin/tclsh8.5 core
  For information about new features see `help changes'
  To remove this message, put `dbxenv suppress_startup_message 7.0' in your .dbxrc
  Reading tclsh8.5
  core file header read successfully
  Reading ld.so.1
  Reading libtcl8.5.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.5.so
  Reading libX11.so.4
  Reading libXext.so.0
  program terminated by signal ABRT (Abort)
  0xfef9fe08: _libc_kill+0x0008:  bgeu    _libc_kill+0x30
  Current function is Tcl_PanicVA
    103           abort();
  (dbx 1) where                                                         
    [1] _libc_kill(0x0, 0x6, 0x0, 0xffffffff, 0xfefc03bc, 0xfef35940), at 0xfef9fe08
    [2] abort(0xfefbc000, 0xfefc3a44, 0x0, 0x0, 0x4, 0x1), at 0xfef35a24
  =>[3] Tcl_PanicVA(format = 0xfee7ead0 "TkpGetFontFromAttributes: cannot get any font", argList = 0xffbe6400), line 103 in "tclPanic.c"
    [4] Tcl_Panic(format = 0xfee7ead0 "TkpGetFontFromAttributes: cannot get any font", ...), line 132 in "tclPanic.c"
    [5] GetSystemFont(display = 0x15ee70), line 2812 in "tkUnixFont.c"
    [6] CreateClosestFont(tkwin = 0x2c5e98, faPtr = 0x1c80b8, xaPtr = 0xffbe6568), line 1511 in "tkUnixFont.c"
    [7] TkpGetFontFromAttributes(tkFontPtr = (nil), tkwin = 0x2c5e98, faPtr = 0x1c80b8), line 776 in "tkUnixFont.c"
    [8] Tk_AllocFontFromObj(interp = 0x1960b0, tkwin = 0x2c5e98, objPtr = 0x2c9740), line 1169 in "tkFont.c"
    [9] Tk_GetFont(interp = 0x1960b0, tkwin = 0x2c5e98, string = 0x2c8258 "TkDefaultFont"), line 1069 in "tkFont.c"
    [10] DoConfig(interp = 0x1960b0, tkwin = 0x2c5e98, specPtr = 0x2d3f68, value = 0x2c8258 "TkDefaultFont", valueIsUid = 1, widgRec = 0x2d3de8 ""), line 420 in "tkOldConfig.c"
    [11] Tk_ConfigureWidget(interp = 0x1960b0, tkwin = 0x2c5e98, specs = 0x2d3ea8, argc = 0, argv = 0x1812b0, widgRec = 0x2d3de8 "", flags = 128), line 203 in "tkOldConfig.c"
    [12] ConfigureText(interp = 0x1960b0, canvas = 0x2c9e60, itemPtr = 0x2d3de8, objc = 2, objv = 0x1812a8, flags = 0), line 408 in "tkCanvText.c"
    [13] CreateText(interp = 0x1960b0, canvas = 0x2c9e60, itemPtr = 0x2d3de8, objc = 4, objv = 0x1812a0), line 292 in "tkCanvText.c"
    [14] CanvasWidgetCmd(clientData = 0x2c9e60, interp = 0x1960b0, objc = 7, objv = 0x181294), line 978 in "tkCanvas.c"
    [15] TclEvalObjvInternal(interp = 0x1960b0, objc = 7, objv = 0x181294, command = 0xffffffff "", length = -1, flags = 0), line 3690 in "tclBasic.c"
    [16] TclExecuteByteCode(interp = 0x1960b0, codePtr = 0x2c9838), line 2341 in "tclExecute.c"
    [17] TclCompEvalObj(interp = 0x1960b0, objPtr = 0x2beed0, invoker = 0x1810f8, word = 3), line 1474 in "tclExecute.c"
    [18] TclEvalObjEx(interp = 0x1960b0, objPtr = 0x2beed0, flags = 0, invoker = 0x1810f8, word = 3), line 5095 in "tclBasic.c"
    [19] NamespaceEvalCmd(dummy = (nil), interp = 0x1960b0, objc = 4, objv = 0x181128), line 3290 in "tclNamesp.c"
    [20] Tcl_NamespaceObjCmd(clientData = (nil), interp = 0x1960b0, objc = 4, objv = 0x181128), line 2821 in "tclNamesp.c"
    [21] TclEvalObjvInternal(interp = 0x1960b0, objc = 4, objv = 0x181128, command = 0x2c1ffc "namespace eval ::Plotchart {\n    variable config\n\n    set config(charttypes) {xyplot xlogyplot piechart polarplot\n                            h
  istogram horizbars vertbars ganttchart\n                            timechart stripchart isometric 3dplot 3dbars\n                            radialchart txplot 3dribbon}\n\n    set config(xyplot,components)      {title margin text legend leftaxis rightaxis bottomaxis background}\n    set config(xlogyplot,components)   {title margin text legend leftaxis bottomaxis backgro" ..., length = 3763, flags = 0), line 3690 in "tclBasic.c"
    [22] TclEvalEx(interp = 0x1960b0, script = 0x2c1fa0 "# plotconfig.tcl --\n#     Facilities for configuring the various procedures of Plotchart\n#\n\nnamespace eval ::Plotchart {\n    variable config\n\n    set config(charttypes) {xyplot xlogyplot piechart polarplot\n                            histogram horizbars vertbars ganttchart\n                            timechart stripchart isometric 3dplot 3dbars\n                            radialchart txplot 3dribbon}\n\n    set config(xyplot,components)      {title margin text legend leftaxis rightaxis bottomaxis background}\n" ..., numBytes = 6711, flags = 0, line = 5), line 4339 in "tclBasic.c"
    [23] Tcl_EvalEx(interp = 0x1960b0, script = 0x2c1fa0 "# plotconfig.tcl --\n#     Facilities for configuring the various procedures of Plotchart\n#\n\nnamespace eval ::Plotchart {\n    variable config\n\n    set config(charttypes) {xyplot xlogyplot piechart polarplot\n                            histogram horizbars vertbars ganttchart\n                            timechart stripchart isometric 3dplot 3dbars\n                            radialchart txplot 3dribbon}\n\n    set config(xyplot,components)      {title margin text legend leftaxis rightaxis bottomaxis background}\n" ..., numBytes = 6711, flags = 0), line 4043 in "tclBasic.c"
    [24] Tcl_FSEvalFileEx(interp = 0x1960b0, pathPtr = 0x2bee88, encodingName = (nil)), line 1820 in "tclIOUtil.c"
    [25] Tcl_SourceObjCmd(dummy = (nil), interp = 0x1960b0, objc = 2, objv = 0x180e70), line 955 in "tclCmdMZ.c"
    [26] TclEvalObjvInternal(interp = 0x1960b0, objc = 2, objv = 0x180e70, command = 0x267f27 "source [file join [file dirname [info script]] "plotconfig.tcl"]\nsource [file join [file dirname [info script]] "plotpack.tcl"]\n#source [file join [file dirname [info script]] "plotbind.tcl"]\n\n# Announce our presence\n#\npackage provide Plotchart 1.5.1\n", length = 65, flags = 0), line 3690 in "tclBasic.c"
    [27] TclEvalEx(interp = 0x1960b0, script = 0x25c610 "# plotchart.tcl --\n#    Facilities to draw simple plots in a dedicated canvas\n#\n# Note:\n#    This source file contains the public functions.\n#    The others are contained in "plotpriv.tcl"\n#\npackage require Tcl 8.4\npackage require Tk\n\n# Plotchart --\n#    Namespace to hold the procedures and the private data\n#\nnamespace eval ::Plot
    [27] TclEvalEx(interp = 0x1960b0, script = 0x25c610 "# plotchart.tcl --\n#    Facilities to draw simple plots in a dedicated canvas\n#\n# Note:\n#    This source file contains the public functions.\n#    The others are contained in "plotpriv.tcl"\n#\npackage require Tcl 8.4\npackage require Tk\n\n# Plotchart --\n#    Namespace to hold the procedures and the private data\n#\nnamespace eval ::Plotchart {\n   variable settings\n   variable legend\n   variable scaling\n   variable methodProc\n   variable data_series\n\n   namespace export worldCoordinates viewPort coordsToPixel \\n  " ..., numBytes = 47634, flags = 0, line = 1434), line 4339 in "tclBasic.c"
    [28] Tcl_EvalEx(interp = 0x1960b0, script = 0x25c610 "# plotchart.tcl --\n#    Facilities to draw simple plots in a dedicated canvas\n#\n# Note:\n#    This source file contains the public functions.\n#    The others are contained in "plotpriv.tcl"\n#\npackage require Tcl 8.4\npackage require Tk\n\n# Plotchart --\n#    Namespace to hold the procedures and the private data\n#\nnamespace eval ::Plotchart {\n   variable settings\n   variable legend\n   variable scaling\n   variable methodProc\n   variable data_series\n\n   namespace export worldCoordinates viewPort coordsToPixel \\n  " ..., numBytes = 47634, flags = 0), line 4043 in "tclBasic.c"
    [29] Tcl_FSEvalFileEx(interp = 0x1960b0, pathPtr = 0x226880, encodingName = (nil)), line 1820 in "tclIOUtil.c"
    [30] Tcl_SourceObjCmd(dummy = (nil), interp = 0x1960b0, objc = 2, objv = 0x180bb8), line 955 in "tclCmdMZ.c"
    [31] TclEvalObjvInternal(interp = 0x1960b0, objc = 2, objv = 0x180bb8, command = 0x2589e6 "source [file join [file dirname [info script]] plotchart.tcl]\n\nputs "Plotchart [package present Plotchart]"\n\n# -------------------------------------------------------------------------\n\n#\n# Note:\n# The tests are formulated such that the resulting numbers\n# are exact. There is no need for a tolerance in the comparison\n#\nproc matchNumbers {expected actual} {\n    set match 1\n    foreach a $actual e $expected {\n^Iif {$a != $e} {\n^I    set match 0\n^I    break\n^I}\n    }\n    return $match\n}\n\nproc checkCanvasItems {w t" ..., length = 62, flags = 0), line 3690 in "tclBasic.c"
    [32] TclEvalEx(interp = 0x1960b0, script = 0x258600 "# -*- tcl -*-\n# Test cases of the Plotchart package\n#\n# Note:\n# Most tests concentrate on the coordinate transformations,\n# as these do not require graphics\n#\n# TODO:\n# - Error handling tests\n# - checks for setZoomPan (changes of coordinates)\n#\n\nif {![package vsatisfies [package provide Tcl] 8.3]} {\n    puts "    Aborting tests for plotchart."\n    puts "    Requiring Tcl 8.3, have [package present Tcl]"\n    return\n}\n\n# -------------------------------------------------------------------------\n#\n# Note:\n#    " ..., numBytes = 16129, flags = 0, line = 41), line 4339 in "tclBasic.c"
    [33] Tcl_EvalEx(interp = 0x1960b0, script = 0x258600 "# -*- tcl -*-\n# Test cases of the Plotchart package\n#\n# Note:\n# Most tests concentrate on the coordinate transformations,\n# as these do not require graphics\n#\n# TODO:\n# - Error handling tests\n# - checks for setZoomPan (changes of coordinates)\n#\n\nif {![package vsatisfies [package provide Tcl] 8.3]} {\n    puts "    Aborting tests for plotchart."\n    puts "    Requiring Tcl 8.3, have [package present Tcl]"\n    return\n}\n\n# -------------------------------------------------------------------------\n#\n# Note:\n#    " ..., numBytes = 16129, flags = 0), line 4043 in "tclBasic.c"
    [34] Tcl_FSEvalFileEx(interp = 0x1960b0, pathPtr = 0x1efe70, encodingName = (nil)), line 1820 in "tclIOUtil.c"
    [35] Tcl_SourceObjCmd(dummy = (nil), interp = 0x1960b0, objc = 2, objv = 0x1809f8), line 955 in "tclCmdMZ.c"
    [36] TclEvalObjvInternal(interp = 0x1960b0, objc = 2, objv = 0x1809f8, command = 0xffffffff "", length = -1, flags = 0), line 3690 in "tclBasic.c"
    [37] TclExecuteByteCode(interp = 0x1960b0, codePtr = 0x2083a8), line 2341 in "tclExecute.c"
    [38] TclCompEvalObj(interp = 0x1960b0, objPtr = 0x285270, invoker = 0x180998, word = 1), line 1474 in "tclExecute.c"
    [39] TclEvalObjEx(interp = 0x1960b0, objPtr = 0x285270, flags = 0, invoker = 0x180998, word = 1), line 5095 in "tclBasic.c"
    [40] Tcl_CatchObjCmd(dummy = (nil), interp = 0x1960b0, objc = 3, objv = 0x1809c0), line 253 in "tclCmdAH.c"
    [41] TclEvalObjvInternal(interp = 0x1960b0, objc = 3, objv = 0x1809c0, command = 0xffffffff "", length = -1, flags = 0), line 3690 in "tclBasic.c"
    [42] TclExecuteByteCode(interp = 0x1960b0, codePtr = 0x2082e8), line 2341 in "tclExecute.c"
    [43] TclCompEvalObj(interp = 0x1960b0, objPtr = 0x1efe28, invoker = 0x2bce8, word = 2), line 1474 in "tclExecute.c"
    [44] TclEvalObjEx(interp = 0x1960b0, objPtr = 0x1efe28, flags = 0, invoker = 0x2bce8, word = 2), line 5095 in "tclBasic.c"
    [45] SlaveEval(interp = 0x2b3d0, slaveInterp = 0x1960b0, objc = 1, objv = 0x2bd18), line 2483 in "tclInterp.c"
    [46] SlaveObjCmd(clientData = 0x1960b0, interp = 0x2b3d0, objc = 3, objv = 0x2bd10), line 2288 in "tclInterp.c"
    [47] TclEvalObjvInternal(interp = 0x2b3d0, objc = 3, objv = 0x2bd10, command = 0xffffffff "", length = -1, flags = 0), line 3690 in "tclBasic.c"
    [48] TclExecuteByteCode(interp = 0x2b3d0, codePtr = 0x208158), line 2341 in "tclExecute.c"
    [49] TclCompEvalObj(interp = 0x2b3d0, objPtr = 0x14ba88, invoker = 0x2bc78, word = 3), line 1474 in "tclExecute.c"
    [50] TclEvalObjEx(interp = 0x2b3d0, objPtr = 0x14ba88, flags = 0, invoker = 0x2bc78, word = 3), line 5095 in "tclBasic.c"
    [51] Tcl_ForeachObjCmd(dummy = (nil), interp = 0x2b3d0, objc = 4, objv = 0x2bca0), line 1818 in "tclCmdAH.c"
    [52] TclEvalObjvInternal(interp = 0x2b3d0, objc = 4, objv = 0x2bca0, command = 0xffffffff "", length = -1, flags = 0), line 3690 in "tclBasic.c"
    [53] TclExecuteByteCode(interp = 0x2b3d0, codePtr = 0x1103c8), line 2341 in "tclExecute.c"
    [54] TclCompEvalObj(interp = 0x2b3d0, objPtr = 0x40b48, invoker = 0x2bb10, word = 3), line 1474 in "tclExecute.c"
    [55] TclEvalObjEx(interp = 0x2b3d0, objPtr = 0x40b48, flags = 0, invoker = 0x2bb10, word = 3), line 5095 in "tclBasic.c"
    [56] Tcl_ForeachObjCmd(dummy = (nil), interp = 0x2b3d0, objc = 4, objv = 0x2bb40), line 1818 in "tclCmdAH.c"
    [57] TclEvalObjvInternal(interp = 0x2b3d0, objc = 4, objv = 0x2bb40, command = 0x47a34 "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 = 3391, flags = 0), line 3690 in "tclBasic.c"
    [58] TclEvalEx(interp = 0x2b3d0, script = 0x46bc8 "# 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.3 2004/04/16 05:21:55 andreas_kupries Exp $\n\nset old_auto_path $auto_path\n\nif {[lsearch [namespace children] ::tcltest] == -1} {\n    namespace eval ::tcltest {}\n    proc :" ..., numBytes = 7191, flags = 0, line = 128), line 4339 in "tclBasic.c"
    [59] Tcl_EvalEx(interp = 0x2b3d0, script = 0x46bc8 "# 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.3 2004/04/16 05:21:55 andreas_kupries Exp $\n\nset old_auto_path $auto_path\n\nif {[lsearch [namespace children] ::tcltest] == -1} {\n    namespace eval ::tcltest {}\n    proc :" ..., numBytes = 7191, flags = 0), line 4043 in "tclBasic.c"
    [60] Tcl_FSEvalFileEx(interp = 0x2b3d0, pathPtr = 0x3cfe0, encodingName = (nil)), line 1820 in "tclIOUtil.c"
    [61] Tcl_Main(argc = -1, argv = 0xffbee4a4, appInitProc = 0x11318 = &Tcl_AppInit(Tcl_Interp *interp)), line 441 in "tclMain.c"
    [62] main(argc = 4, argv = 0xffbee494), line 87 in "tclAppInit.c"
  (dbx 2) 


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

  test name 'asn-17.5' re-used; prior use in
  /local/src/tcllib/modules/asn/asn.test
  test name 'asn-18.6' re-used; prior use in
  /local/src/tcllib/modules/asn/asn.test


tkt_uuid: 476731ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
title: replace ftp displaymsg with log calls
comment:
  andreas kupries asked me to log a feature request to
  replace ftp's displaymsg calls with calls to the tcllib
  log module.


tkt_uuid: 1300795fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: struct :: prioqueue
priority: 5 Medium
foundin: None
resolution: Accepted
title: fix for prioqueue binary serach
comment:
  === patch ===

  --- prioqueue.tclFri Sep 23 13:28:13 2005
  +++ new/prioqueue.tclFri Sep 23 13:28:21 2005
  @@ -417,6 +417,7 @@
              } elseif {$test > 0 } {
                   # search lower section
                   set upper $pivot
  +                set bound $upper
                   set pos -1
              } else {
                   # search upper section 

  === testcase ===

  ::struct::prioqueue -integer testI

  testI put 1 1
  testI put 2 5
  testI put 3 7
  testI put 4 6
  testI put 5 0

  puts "[testI get]   =   3"
  puts "[testI get]   =   4"
  puts "[testI get]   =   2"
  puts "[testI get]   =   1"
  puts "[testI get]   =   5"

  Submitted by:
  Krzysztof Ska&#322;ecki <krys@dacsystem.pl>
  Tomasz Kosiak <tk@dacsystem.pl>


tkt_uuid: 3313923fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: http :: autoproxy
priority: 7 High
foundin: None
resolution: Fixed
title: configure -authProc does not grab the correct argument
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: 479935ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: MainFrame font configuration added
comment:
  Motivation:
  There is currently no way to set the menu and status
  bar fonts (sometimes needed for e.g. visually impaired)
  for the MainFrame widget.

  Remedy:
  This patch adds code to support options: -menubarfont,
  -menuentryfont and -statusbarfont at creation time of
  the widget as well as subsequent configures.

  Compatibility:
  The code extends the MainFrame configurability and does
  not interfere with older version usage.

  Bugs:
  None known so far. Documentation of these features must
  be included in the doc if accepted.

  Patch:
  The attached file contains a contextual diff and the
  complete new mainframe.tcl. BEWARE: the diff is based
  on my personal version of mainframe.tcl that already
  contains another patch (SF #470273: BWidget: MainFrame
  menu inconsistency), the new mainframe.tcl has it also
  incorporated.


tkt_uuid: 783878ffffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: FTP library responding WAY to slow on ftp connect timeout.
comment:
  I am currently programming a tcl script for an 
  eggdrop(www.egghelp.org) which shall tell me if a list of 
  ftp's are up and running or not. For making the coding a 
  lot more easy for me I am using the FTP library package 
  and I am running TCL 8.4.4 (did also try with 8.3.4). It is 
  a really great library and all seems to work ok, but a 
  rather large problem occurs when I am trying to connect 
  to a server which ends up with a timeout. It takes just 
  way to long time for the tcl library to give me the right 
  response: "-1".

  When I connect to this server in FlashFXP in Windows it 
  says;
  Connecting to 123.456.789.123
  Connection failed (Connection timed out)
   
  This is what I type & get in tcl cmd line;
  % ftp::Open 123.456.789.123 username password 
  -timeout 2 -port 12345 -mode passive
  -1
   
  As you can see, this works in theory, but it takes several 
  minutes before I get the "-1" response, even though I've 
  set the "timeout" setting.
   
  Those minutes causes my eggdrop to totally "crash" for 
  some minutes and usually disconnects from the IRC 
  server because of this... In short; I need it to tell me 
  MUCH faster if the ftp is responding or not...
   
  If this is not a bug in the tcl library, how can/shall I solve 
  my problem? If it is a bug, would it be possible for any of 
  you guys to give me a 
  fix? A fix is appreciated!
   
  Thanks!


tkt_uuid: 953075ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Invalid
title: ScrolleableFrame packs weird
comment:
  The BWidget demo displays so wrong behaviour.
  In the ScrolleableFrame it packs 20 entry fields
  and packs them with -fill both and -expand yes.

  However its seems like the expand tag is lost
  somewhere.


tkt_uuid: 1841979fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: grammar_fa
priority: 5 Medium
foundin: None
resolution: Accepted
title: Tests for grammar::fa::op::toRegexp
comment:
  Here are two tests for grammar::fa::op::toRegexp and
  grammar::fa::op::toTclRegexp which do not depend on 
  details of the implementation. The idea is to construct 
  an automaton which keeps track of of remainder modulo 3 
  (in order to keep it small; one could probably pick a larger 
  divisor, but I don't think it would make the test a better 
  error detector) while scanning the digits of a number, 
  then use that to generate a Tcl regexp for numbers belonging 
  to a particular modulo class, and finally compare the 
  result of [regexp] to the result of the straightforward 
  [expr] expression. The result is the list of numbers for 
  which these don't agree, so the correct result is empty 
  in both cases.

  I'm afraid I'm not quite sure how to best turn this into 
  a formal test, however.

  This first block of code tests integers in base 10 for being 
  congruent to 2 mod 3.

  set fa [grammar::fa decimal_2_mod_3]
  $fa state add 0 1 2
  $fa symbol add 0 1 2 3 4 5 6 7 8 9
  foreach state [$fa states] {
      foreach digit [$fa symbols] {
          $fa next $state $digit --> [expr {(10*$state + $digit) % 3}]
      }
  }
  $fa start add 0
  $fa final add 2
  set RE ^([
      grammar::fa::op::toTclRegexp [grammar::fa::op::toRegexp $fa] {}
  ])\$
  set res {}
  for {set n 0} {$n<1000} {incr n} {
      if {[regexp $RE $n] != ($n % 3 == 2)} then {lappend res $n}
  }
  $fa destroy
  set res

  This second block of code tests integers in base 8 for being 
  congruent to 1 mod 3.

  set fa [grammar::fa octal_1_mod_3]
  $fa state add 0 1 2
  $fa symbol add 0 1 2 3 4 5 6 7
  foreach state [$fa states] {
      foreach digit [$fa symbols] {
          $fa next $state $digit --> [expr {(8*$state + $digit) % 3}]
      }
  }
  $fa start add 0
  $fa final add 1
  set RE ^([
      grammar::fa::op::toTclRegexp [grammar::fa::op::toRegexp $fa] {}
  ])\$
  set res {}
  for {set n 0} {$n<4096} {incr n} {
      if {[regexp $RE [format %o $n]] != ($n % 3 == 1)} then {lappend res $n}
  }
  $fa destroy
  set res

  One limitation of these tests is however that they don't check 
  all parts of the regexp; some parts of it simply require longer 
  strings than the 3 and 4 respectively digits occurring in this 
  test. I'm working on a test that generates strings from the 
  regexp instead (essentially sampling the underlying language) 
  so that (in a sense) the implication can be tried the other way 
  round as well, but this string generation is itself a generally 
  useful operation on regexps, so I'll probably add that as 
  Yet Another regexp operation...


tkt_uuid: 3581373fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: base64
priority: 2
foundin: None
resolution: Fixed
title: "::base64::encode -maxlen 0" not documented
comment:
  Documentation of tcllib command "::base64::encode"

  It should be explicitly documented, that a value of "0" of the parameter "-maxlen" would disable the insertion of wrap characters.


tkt_uuid: 1774302fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: comm
priority: 5 Medium
foundin: None
resolution: Fixed
title: error in CommRunHook error handling
comment:
  In proc ::comm::CommRunHook there is a block of code that looks like this:

      if {<something> {
  set code [catch {interp eval $interp $cmd} res]
      } else {
  set code [catch {uplevel 1 $cmd} res]
      }

      switch -exact -- $code {
  0 {}
  1 {
      return -errorinfo $::errorInfo -errorcode $::errorCode -code error $result
  }
  3 {return}
  4 {}
  default {return -code $code $res}
      }


  Notice that the first few lines set the variable "res" as the result of the catch, but the "1" case in the switch tries to use the variable $result.


tkt_uuid: 2798448fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: uri
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: uri::split makes host to path without scheme
comment:
  Hello,

  following code shows the bug in tcllib 1.11.1:

      % info patchlevel
      8.5.7
      % package require uri
      1.2.1
      % uri::split host.td
      port {} path host.td scheme http host {} query {}
      % uri::split http://host.td
      port {} path {} scheme http host host.td query {} pwd {} user {}
      % uri::split host.td ftp
      port {} path host.td scheme ftp host {} type {} user {} pwd {}
      % uri::split ftp://host.td
      port {} path {} scheme ftp host host.td type {} user {} pwd {}

  Best regards,

  Martin Lemburg


tkt_uuid: 1730868fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: None
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: install as Tcl Modules
comment:
  Following the instructions in
  INSTALL.txt installs the packages
  in a [tclPkgUnknown]-compatible
  install scheme.

  Where Tcl Module installation is
  support, it ought to be a better
  choice.

  I request that the tcllib install
  machinery permit Tcl Module
  installation, at least as an option,
  and preferably moving fairly quickly
  to being the default option.


tkt_uuid: 1798420fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Documenting C functions
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: 1167797fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
subsystem: tklib: ctext
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: 8.5 speed improvement via -all
comment:
  Date: Thu, 10 Feb 2005 12:24:38 -0400
  From: Andrew Black <ablack@arva.net>
  To: GeorgePS@XMission.com
  Subject: ctext patch
  Parts/Attachments:
     1 Shown     14 lines  Text
     2   OK    ~7.4 KB     Text
  ----------------------------------------
  Hi George, Ive attached a patch to ctext.  It includes
  a highlight85 proc
  which uses the -all flag for searching (according to
  time I am seeing an
  average of 36% increase in speed)  And an overhaul of
  the linemap.  I did a full height widget with all
  linenumbers, and linked the yviews of the two text
  widgets.  There is also a change to use a tile frame if
  tile has been loaded.
   There were a couple of other minor tweaks, but they
  were purely personal, so review the patch carefully. 
  Mainly, I turned off quote matching and increased the
  flash time for bracematching.  Hope this helps.

  --
  Andrew J. Black
  Chief Engineer
  Automatic Rolls of Virginia
      [ Part 2, Text/X-PATCH (Name: "ctext.tcl.patch") 
  127 lines. ]

  ----
  The linemap changes may not handle images, or wrapping
  lines... -GPS


tkt_uuid: 1658089fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Fixed
title: snitfaq typo report
comment:
  I'm looking at the latest tcllib cvs head.

  1. Under the section "what are snit's goals", the
  first point says "a snit object should should" -
  one of those two "should"s probably should be
  deleted.

  2. Later on, under the heading "What is an abstract data type?",
  the second sentence
  begins "In systems that include include ..."
  That second "include" can be deleted.

  3. Under "Can objects be renamed?", the first example, that of a callback
  command to another object, fails to display in the formatted doc.
  Here's what I see when I do a "man -s n snitfaq"

       o    If the object is renamed, however, then $self's value will
            change.  Therefore, don't use $self for anything that will
            break if $self changes. For example, don't pass a callback
            command to another object like this:

            You'll get an error if .btn calls your command after your
            object is renamed.

  4. In this same section of doc, there is the statement:

  Instead, the your object ...

  but I think that should be:

  Instead, your object ...

  (without the "the")

  5. The bullet mentioned in (4) is also not displaying its example code.

  6. Under How do I destroy a Snit Object, the example of
  using the destroy method appears twice. The first example should
  be removed to improve the flow of reading.


tkt_uuid: 3606619fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: pt (parsetools)
priority: 5 Medium
foundin: None
resolution: Fixed
title: test fail - pt-peg-to-json-3* *-ultracompact
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: 1969042fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Typewriter/fixed-width font
comment:
  Doctools has a command [emph] for empasizing text. Another font variation, which is very common in documentation, is that of "typewriter" or fixed-width fonts, to underline that something is exact text as typed by a user or the computer. In LaTeX this is marked up using the \texttt command, in WubWikit it is marked up using backquotes (`tt`), and so on.

  The [example] and [example_begin]...[example_end] commands in doctools already use such a font where available, but always put the text on separate lines. In this, they are rather like the verbatim and alltt environments of LaTeX, but this RFE is for something like \texttt.

  For output formats where this font variation is not possible, the command need not have any effect. I find it rather annoying not to have this style variation for HTML pages or LaTeX, however.


tkt_uuid: 1348430fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: None
title: math doc should hint at child namespaces
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: 2025485fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: uevent
priority: 5 Medium
foundin: None
resolution: Fixed
title: uevent::unbind typo in variable name
comment:
  Missing category for tcllib: uev or uevent

  package: uevent 0.1.2
  file: uevent.tcl
  proc: uevent::unbind

  line 12 of uevent::unbind:
    set te [lrange $tex 0 1]
  should probably be:
    set te [lrange $tec 0 1]


tkt_uuid: 547245ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 8
foundin: None
resolution: Fixed
title: Tree widget -selectcommand
comment:
  This option is not documented.

  Usage of this option (see method selection) is 
  incomplete. IOW, we currently cannot use it to track 
  all changes to the selection.

  A patch will be supplied ...


tkt_uuid: 410106ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Accepted
title: Fix for bug #410104
comment:
  Under unix ::fileutil::find now does a stat on each
  file/directory it encounters and records their
  device/inode information. If we happen to come to the
  file again it will be skipped.


tkt_uuid: 1416729fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: counter
priority: 5 Medium
foundin: None
resolution: Fixed
title: counter: test suite bugs
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: 1824212fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: md5
priority: 5 Medium
foundin: None
title: add proc to generate salt
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: 656336ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Duplicate
title: Highlighting for tkchat
comment:
  This code provides to highlight interesting text in the
  tkchat message window.

  The user interface can be invoked in two ways:
  1.) Through the Find entry on the FIle menu.
  2.) By entering /find in the message post window.
  (command line) The /find command may have an optional
  argument, which will then be used as the search string.

  To highlight an exact string or regexp pattern, enter
  it in "Find text" field.  All matches in the chat
  window will be highlighted.  Should the search be a
  time consuming one, it will pause when the Find dialog
  is closed and resume when it is re-opened.

  To remove all highlighting, clear the "Find text" field
  in the Find dialog.

  Known caveats:

  Sub-strings are not highlighted separately from the
  rest of the matching text when using regexp
  sub-matching. The whole match will be highlighted the
  same. This is a limitation of of the [text] -search
  command.


tkt_uuid: 1115335fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: mclistbox
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: mclistbox patch: select color
comment:
  years ago, I have made a small change to mclistbox to
  get short options for -foreground and -background (-fg
  and -bg) and enable -selectforeground -selectbackground.

  Here it is now as diff to the current CVS.


tkt_uuid: 507242ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: crc
priority: 5 Medium
foundin: None
resolution: Fixed
title: test failed
comment:
  i got the following errors during \make test from crc:

  Module: crc
  modules/crc/cksum.test

  ==== cksum-4.0 cksum file option FAILED
  ==== Contents of test case:

      set r1 [crc::cksum -file $::argv0]
      set r2 [crc::cksum [crc::loaddata $::argv0]]
      if {$r1 != $r2} {
          set r "differing results: $r1 != $r2"
      } else {
          set r ok
      }

  ==== Test generated error:
  can't read "::argv0": no such variable
  ---- Result should have been:
  ok
  ==== cksum-4.0 FAILED

  modules/crc/crc32.test

  ==== crc32-4.0 crc32 file option FAILED
  ==== Contents of test case:

      set r1 [::crc::crc32 -file $::argv0]
      set r2 [::crc::crc32 [crc::loaddata $::argv0]]
      if {$r1 != $r2} {
          set r "differing results: $r1 != $r2"
      } else {
          set r ok
      }

  ==== Test generated error:
  can't read "::argv0": no such variable
  ---- Result should have been:
  ok
  ==== crc32-4.0 FAILED

  modules/crc/sum.test

  ==== sum-4.0 sum file option (BSD) FAILED
  ==== Contents of test case:

      set r1 [crc::sum -bsd -file $::argv0]
      set r2 [crc::sum -bsd [crc::loaddata $::argv0]]
      if {$r1 != $r2} {
          set r "differing results: $r1 != $r2"
      } else {
          set r ok
      }

  ==== Test generated error:
  can't read "::argv0": no such variable
  ---- Result should have been:
  ok
  ==== sum-4.0 FAILED


  ==== sum-4.1 sum file option (SysV) FAILED
  ==== Contents of test case:

      set r1 [crc::sum -sysv -file $::argv0]
      set r2 [crc::sum -sysv [crc::loaddata $::argv0]]
      if {$r1 != $r2} {
          set r "differing results: $r1 != $r2"
      } else {
          set r ok
      }

  ==== Test generated error:
  can't read "::argv0": no such variable
  ---- Result should have been:
  ok
  ==== sum-4.1 FAILED


  ********
  ******** solution?
  ********
  after, package require cksum in cksum.test, i added
  set ::argv0 [info script]

  that fixed it.


tkt_uuid: 836442ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 9 Immediate
foundin: None
resolution: Fixed
title: timeout with large data
comment:
  Hi,

    the "secs" parameter used in "smtp::talk" 
    calculated at line 849 in smtp.tcl:
      set secs [expr {(($state(size)>>10)+1)*3600}]
    for largs "state(size)" data the "secs" can become
    very big.

    Problem: 

    the command "smtp::hear" uses this parameter to
    setup an "after" event:

    if {$secs >= 0} {
              set state(afterID) [after [expr
  {$secs*1000}] \
                                        [list smtp::timer
  $token]]
          }

    the bug is in the code:

     [expr {$secs*1000}]

    the large secs become negative -> BUG
    the after get invoked and the error happen

    to fix this problem i add some code:

    ## correction, aotto 031105
      if {$secs > 600} {set secs 600}


  mfg

    aotto


tkt_uuid: 601257ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Accepted
title: fix missing content boundary workaround
comment:
  In parsepart, the following code checks for end-of-
  content without a boundary marker. 

      while {$moreP} {
          if {$fileP} {
              if {$pos > $last} {
          #        error "termination string missing ...
                    set line "--$boundary--
              } else {
   
  Later tests on 'line' assume that 'x' contains [string 
  length $line].  If the above code sets line in this way, an 
  infinite loop occurs.

  Need to add
                    set x [string length $line]

  after 'set line'.

  Attached patch does this.


tkt_uuid: 1416815fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: textutil :: expander
priority: 5 Medium
foundin: None
resolution: Fixed
title: expander: test suite bug
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: 564670ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Fixed
title: Package fails to load
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: 1634416fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Accepted
title: -geometry option to BWidget Dialog undocumented
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: 1220195fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: smtpd
priority: 5 Medium
foundin: None
resolution: Fixed
title: -deliverMIME option takes command not script prefix
comment:
  smtpd.tcl line 500 reads:

  set err [catch {$deliverMIME $tok} msg]

  should read:

  set err [catch {eval $deliverMIME $tok} msg]

  to be consistent with handling of -validate_* options,
  which take a script prefix and not a command.  This is
  noticable as a problem if one implements deliverMIME as
  (say) an object method.


tkt_uuid: 3613726fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: A Category Is Missing
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: rest package does not understand HTTP 303
comment:
  Hi all,

  While the rest package seems to handle HTTP codes 301/302 (and return an error with the Location header), it does not understand a 303 HTTP code,
  and throughs a plain error.

  All HTTP/1.1 clients should understand 303...


tkt_uuid: 1560822fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: blowfish
priority: 7 High
foundin: None
resolution: Fixed
title: decrypt (blowfish) doesn't always work
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: 2912295fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: Documentation
priority: 5 Medium
foundin: None
resolution: Fixed
title: random(n) manpage needs to be renamed
comment:
  simulation::random has a manpage random(n) which has a naming collision w/ the memchan projects random(n) manpage. As discussed in #tcl with Andreas, error is in tcllib.


tkt_uuid: 1076400fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: html
priority: 5 Medium
foundin: None
resolution: Fixed
title: html lib doesn't seem to support DOCTYPE tag
comment:
  the html library doesn't seem to support the DOCTYPE 
  directive that should be present at the beginning of an 
  HTML document to be W3C HTML 4.* compliant.

  A suggested solution would be the addition of 
  an ::html::doctype command that would take the doc 
  type arguments e.g:

  ::html::doctype {HTML PUBLIC "-//W3C//DTD HTML 4.0 
  Transitional//EN"}

  This would cause the appropriate code be generated 
  when ::html::head is called, etc.


tkt_uuid: 1631379fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Works For Me
title: ComboBox pulldown appears on wrong screen
comment:
  This occurs when using a MacBook with osx 10.4.8, ActiveTcl 8.4.14 including BWidget 1.8. The ComboBox works OK if the app is on the notebook's own screen, but if it is on the external screen, when you click the pulldown arrow the entry list appears briefly on the left of that screen then jumps to the internal screen. Also it has the decorations, which probably shouldn't be there.


tkt_uuid: 763712ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Accepted
title: add optional charset decode to mime::getbody
comment:
  when calling mime::getbody, the body returned is still in
  the charset as specified in the Content-Type, it seems to
  me that it would be good if it could be decoded using 
  ::encoding convertfrom before being returned. As doing this 
  automatically will probably break existing scripts I have 
  added a -decode switch to getbody that when specified 
  causes the charset to be decoded.

  I've attached a patch that does this and some tests to test it. 
  I'd strongly suggest adding my patch submission #758742, 
  "charset mapencoding improvements" at the same time.

  Matthew


tkt_uuid: 2818958fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: linearalgebra
priority: 5 Medium
foundin: None
resolution: Fixed
title: sizing of vectors
comment:
  I was working (on http://rosettacode.org/wiki/Multiple_Regression#Tcl) with a collection of vectors which were both row-vectors and column-vectors (one being a transposition of the other) and I was trying to multiply them together to get a matrix. This was causing errors; apparently the 'shape' command from this package goes completely to pieces when faced with a list of length 1 (making everything else in the package fail miserably too).

  A scalar must be a 1x1 matrix. A vector must be a 1xN or Nx1 matrix. If these aren't true, many innocent algorithms die in a fire (and Carl Friedrich Gauss kills a kitten).


tkt_uuid: 1105010fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: html
priority: 1 Zero
foundin: None
resolution: Fixed
title: Font properties are printed twice
comment:
  In my tests with Tcllib 1.6:

  % ::html::font size="18"

  <font size="18"size="18">

  I inspected the source and found this in line 1183:

  ::set param [tagParam font [join $args]][join $args]

  [join $args] is called twice for some reason. I guess that is what causes the bug.

  The source of Tcllib 1.7 looks just the same.

  Luciano ES


tkt_uuid: 1193023fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: smtp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: smtp can have no originator/from
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: 688696ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: None
title: Memory Leak in tkchat
comment:
  There is a memory leak in tkchat; it does not clean up 
  unused URL-* tags anywhere.  This doesn't matter too 
  much in the main window, where URLs are fairly 
  uncommon, but the users-online window at the side is 
  filled with URLs and it gets refreshed (with completely 
  new URL-* tags) each time.  And yet none of the old 
  tags are ever deleted, resulting in the accumulation of 
  several thousand dead tags an hour!  This is not good.  
  Not good at all!

  A possible fix for this is to add the following code to the 
  procedure updateNames immediately after the line that 
  deletes the old content of the .names widget:
    foreach tagname [.names tag names] {
       if {[string match URL-* $tagname]} {
          .names tag delete $tagname
       }
    }

  Please fix this ASAP, as it is a serious leak for anyone 
  using Tkchat for longer than an hour or two (as seems 
  to be fairly common.)


tkt_uuid: 2037560fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: inifile
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: support keys with no = sign
comment:
  imagine a ini file where you might have 
  [section]
  key

  missing the "= value" part or simply "=" to specify no value for that key

  support for this could be quite useful at times, and also not to hard to implement


tkt_uuid: 2782256fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Fixed
title: two potential package bugs found
comment:
  When using the version of doctools provided by teapot, I see the following two errors:

  package require doctools::nroff::man.macros
  can't find package doctools::nroff::man.macros

  even though the file doctools/nroff/man.macros-0.1.tm appears to have been installed by teacup.

  Also, I am seeing

  package require doctools::paths
  conflicting versions provided for package "doctools::paths": 0.1, then 0


tkt_uuid: 232017ffffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
priority: 5 Medium
resolution: Not Applicable Here
title: "string" subcommands require at least Tcl8.1
comment:
  Usage of "string" subcommands: is, equal, map, repeat, replace, totitle
  are not implemented in tcl 8.0.

  tcllib modules should either "package require Tcl 8.1", or be made
  backwards compatible to tcl 8.0.

  The following tcllib source files are affected:
      base64.tcl, compare.tcl, typedCmdline.tcl, ftp.tcl, ftpd.tcl,
      html.tcl, mime.tcl, ncgi.tcl, pop3.tcl, profiler.tcl, graph.tcl,
      queue.tcl, stack.tcl, tree.tcl, uri.tcl


tkt_uuid: 1416770fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: statistics
priority: 5 Medium
foundin: None
resolution: Fixed
title: statistics: test suite bug
comment:
  with -debug 1:

  * math::statistics 0.2
  test name 'BasicStats-1.3' re-used; prior use in
  /local/src/tcllib/modules/math/statistics.test
  test name 'Samplescount-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/statistics.test


tkt_uuid: 1559299fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: linearalgebra
priority: 5 Medium
foundin: None
resolution: None
title: leastSquareSVD runs into problem with simple test case
comment:
  The leastSquareSVD command produces a run-time error
  with the following simple script:

  #
  # Known relation: z = 1.0 + x + 0.1*y
  # Model this as: z = z0 + x + 0.1*y
  #
  #
  #          z0   x   y     z
  set Ab { {  1  1.0  1.0} 2.1
           {  1  2.0  1.0} 3.1
           {  1  2.0  2.0} 3.2
           {  1  4.0  2.0} 5.2
           {  1  4.0 22.0} 7.2
           {  1  5.0 -2.0} 5.8 }

  set A {}
  set b {}
  foreach {Ar br} $Ab {
      lappend A $Ar
      lappend b $br
  }
  set x [::math::linearalgebra::leastSquaresSVD $A $b}]
  puts $x             

  I must check this!


tkt_uuid: 1799702fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: ip
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ::ip::reduceToAggregates with weird netmask broken
comment:
  ::ip::reduceToAggregates returns an invalid result (i.e., a result that is not functionally the same as its input) when the netmask "255.255.0.255" is used in conjuction with disjoint, but still overlapping subnets.

  Example:

  tcl>package require ip
  1.1.1
  tcl>set iplist [list 1.2.0.4/255.255.0.255 1.2.3.0/255.255.255.0]
  tcl>set reducediplist [::ip::reduceToAggregates $iplist]
  tcl>puts $reducediplist
  1.2.0.4/16
  tcl>::ip::isOverlap 1.2.1.1/32 [lindex $iplist 0]
  0
  tcl>::ip::isOverlap 1.2.1.1/32 [lindex $iplist 1]
  0
  tcl>::ip::isOverlap 1.2.1.1/32 [lindex $reducediplist 0]
  1


tkt_uuid: 1779424fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: list
priority: 5 Medium
foundin: None
resolution: Fixed
title: Example Error ::struct::list filterfor
comment:
  Example in documentation for did not work.
  I remove the expr {..} layer and it worked as expected

  tcl_patchLevel 8.4.4
  % ::struct::list filterfor x {1 2 3 4 5} {expr {($x % 2) == 0}}
  syntax error in expression "expr {($x % 2) == 0}": variable references require preceding $
  % ::struct::list filterfor x {1 2 3 4 5} {($x % 2) == 0} 
  2 4


tkt_uuid: 1742078fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: html
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: html::nl2br procedure bug
comment:
  The "html::nl2br" procedure is designed to replace all line-endings with the HTML <br> construct.  It appears to be missing a common line-ending combo.  Here's the original procedure:

  proc ::html::nl2br {s} {
      return [string map [list \n\r <br> \n <br> \r <br>] $s]
  }

  It's missing a substitution of the common "\r\n" combo.  Ultimately, the current procedure replaces that combo with 2 <br>'s, which is incorrect.  Now, maybe the existing "\n\r" is just transposed by accident, as that seems odd anyway...

  I'd suggest the following replacement if that's the case:

  proc ::html::nl2br {s} {
      return [string map [list \r\n <br> \n <br> \r <br>] $s]
  }

  Jeff


tkt_uuid: 1276561fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 7 High
foundin: None
resolution: Fixed
title: Handling of dates/times
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: 564071ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - multi-release SYNOPSIS convention
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: 1193581fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: profiler
priority: 5 Medium
foundin: None
resolution: Works For Me
title: Time consumed in C/C++ calbacks is not collected
comment:
  I tried to use the profiler included in the tcllib. It
  seems to be a very useful thing. Still, I would like to
  present my current situation and the related questions.

  We have a C/C++ server with tcl interpreters embedded.
  We developed a specific application with a part of the
  business rules implemented in tcl.
  Right now we want to improve the overall performance of
  the application (to have acceptable execution times for
  specific tasks - this means time consumed in C/C++ plus
  time consumed in tcl).

  As I noticed from using the profiler in the tcl
  standard library, it seems that only time spent in pure
  tcl code in collected. To get a good feeling on the
  overall performance we need to measure both time
  components: the one spent in C and the one spent in
  pure tcl.

  Let's consider a simple app skeleton as an example.

  Let Tcl1 be a higher level tcl proc.
  Let Tcl11 be a lower level tcl proc that is called by Tcl1.
  Let C1 be a C/C++ callback implemented in C and exposed
  to external tcl code. Tcl11 has minimal pure tcl inside
  and invokes C1.

  Running the profiler, I noticed that the time reported
  for Tcl11 is 0. The fact the time is 0 makes me think
  of two concurrent possible reasons: (1) the pure tcl
  code in Tcl11 runs too fast and is approximated as 0
  and (2) the C1 is not profiled. This is not too useful
  and I will show you a simple scenario for this.

  Let's consider that Tcl11 invokes C1 (possible a costly
  calculating operation) hundreds times instead of only
  once and then caching the result.
  By not collecting the time consumed in C1, I miss an
  opportunity to improve the Tcl11 proc. I hope you got
  my point.

  In conclusion, please tell me if there is some option
  to configure the existing tcl profiler to do what I
  need. Or, maybe, you can direct me somehow to reach my
  goal. Anyway, it seems a general need for others to enjoy.

  Thank you very much for your time and consideration.


tkt_uuid: 2370853fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: None
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Wrong path added to auto_path
comment:
  If tcllib.kit (the one from http://www.equi4.com/pub/om/sdarchive/) is sourced after twapi-1.1.5.kit, a wrong path gets added to auto_path and "package require tcllib" fails.  If tcllib.kit is sourced alone, or before twapi-1.1.5.kit, it adds two entries to auto_path:

  (ORmaint) 1 % set auto_path
  <several paths>
  (ORmaint) 2 % source tcllib.kit
  (ORmaint) 3 % set auto_path
  <same paths plus> <path to>/tcllib.kit/lib <path to>/tcllib.kit/tcllib

  This is with an 8.5.2 tclkit for Windows. But if sourced after twapi-1.1.5.kit, the second entry gets twapi's name instead of tcllib's:

  (ORmaint) 1 % set auto_path
  <several paths>
  (ORmaint) 2 % source twapi-1.1.5.kit
  (ORmaint) 3 % set auto_path
  <same paths plus> <path to>/twapi-1.1.5.kit/lib
  (ORmaint) 4 % source tcllib.kit
  (ORmaint) 5 % set auto_path
  <same paths plus> <path to>/twapi-1.1.5.kit/lib <path to>/tcllib.kit/lib <path to>/twapi-1.1.5.kit/tcllib

  When I asked about this on c.l.t, Michael Schlenker suggested that it might be a bug in the tcllib kit packaging and asked me to file this bug report.


tkt_uuid: 1614860fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: smtp
priority: 5 Medium
foundin: None
title: Add a -client switch
comment:
  I would like to see a -client switch added to the SMTP library. Currently the SMTP library uses [info hostname] which can come back with a short name for the sending system and some MTA's might queue it and silently drop it.

  The -client switch would allow the programmer to set that to his desired client name to pass through.


tkt_uuid: 795032ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: uri
priority: 5 Medium
foundin: None
resolution: Fixed
title: [package require uri] alter some vars on global level
comment:
  This script:

  set host test
  package require uri
  puts $host

  returns:
  ((([A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]|[A-Za-z0-9])\.)*([a-zA-Z][A-Za-z0-9-]*[A-Za-z0-9]|[a-zA-Z]))|([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+))

  It's not, that [package require uri] simply pollutes
  the global namespace. A

  package require uri
  puts $host

  gives "can't read "host": no such variable" as
  expected. The var 'host' must be set prior to the
  [package require uri] to be altered by the package request.

  The same problem shows with other variable names, for
  example 'escape', 'hostOrPort', 'uChar' and very
  probably some more.

  As far, as I've tracked it down, it seems, that proc
  ::uri::register or the script args of the various
  ::uri::register calls at the end of uri.tcl are the
  source of the problem.


tkt_uuid: 740484ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Markup error in DragSite and DropSite HTML docu.
comment:
  Both DragSite and DropSite HTML docu pages are -
  starting in the -droptype docu and then until the end
  of the page - shown completely in bold. (Well, at least
  in mozilla.)

  There is a small markup error, which causes this. View
  the HTML pages in a text editor and search for: 
  <b>baseop</i>
  This markup should of course read: <i>baseop</i>


tkt_uuid: 1796255fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Fixed
title: Emoticons insertion
comment:
  on linux x68 when inserting emoticons, for some there are inserted three instead of one:
  cry:^(   :-(   :(

  these are also shown with ShowEmoticons menu (see attached file)


tkt_uuid: 470206ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Accepted
title: HTTP Redirect for TkChat
comment:
  This is two patches to the TkChat source because
  I can't disentangle them reliably and the cvs
  source has been changed since I posted my first
  patch and it'll clash now.

  So, patch 1 implements a Retrieve menu item for
  obtaining the current CVS file from the SourceForge
  repository via http.

  Patch 2 was induced by the recent loss of the
  mini.net domain and the subsequent use of purl.org
  for the Wiki. This patch provides HTTP Redirect
  following so that the chat program can be pointed
  at the PURL and dereference to the chat site.

  Pat Thoyts


tkt_uuid: 3610482fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
subsystem: json
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Symmetrical json conversion
comment:
  I propose the following enhancement:

  proc json::dict2json {dictVal {keys {}}} {
      set json ""
      dict for {key val} $dictVal {
  # key must always be a string, val may be a number, string or
  # bare word (true|false|null) or a dict if provided in keys

          ## check if we can resolve the value to a dictionary
          if {($key in $keys) && ![catch {dict keys $val}]} {
              set val [json::dict2json $val $keys]
          } elseif {![string is double -strict $val]
              && ![regexp {^(?:true|false|null)$} $val]} {
              set val "\"$val\""
          }
          if {$json ne ""} {append json ","}
          append json "\"$key\":$val"
      }
      return "\{${json}\}"
  }


  Normally one knows the keys in a dictionary, how else would you be able to access them? Thus you could also pass a list of all possible keys allowing for symmetric conversion:

  > json::json2dict {{"user1":{"maint":"yes"},"user2":{"maint":"no","home":{"town":"Vienna","state":"Austria"}}}}
  user1 {maint yes} user2 {maint no home {town Vienna state Austria}}

  > json::dict2json {user1 {maint yes} user2 {maint no home {town Vienna state Austria}}} {user1 user2 home}
  {"user1":{"maint":"yes"},"user2":{"maint":"no","home":{"town":"Vienna","state":"Austria"}}}


tkt_uuid: 1897850fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tie
priority: 5 Medium
foundin: None
resolution: Fixed
title: tie test suite failures
comment:
  sparc solaris 9 sun c compiler cvs head tcl 8.5 and tcllib.

  ---- tie-file-2.1 start

  ==== tie-file-2.1 file get FAILED
  ==== Contents of test case:

      set f [makeFile {array set {b 2 a 1}} journal]
      tie::std::file x $f
      set res [dictsort [x get]]
      x destroy
      removeFile journal
      set res

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: invalid command name "::uplevel"
      while executing
  "::uplevel #0 {array set {b 2 a 1}
  }"
      invoked from within
  "$ip eval [list ::uplevel \#0 $data]"
      (procedure "::tie::std::file::Snit_methodReplay" line 33)
      invoked from within
  "::tie::std::file::Snit_methodReplay ::tie::std::file ::tie::std::file::Snit_ins
  t12 ::x ::x"
      ("eval" body line 1)
      invoked from within
  "eval [linsert $args 0  ::tie::std::file::Snit_method$method ::tie::std::file ::
  tie::std::file::Snit_inst12 ::x $self]"
      (procedure "::x" line 10)
      invoked from within
  "$self Replay"
      (procedure "::tie::std::file::Snit_methodLoadJournal" line 10)
      invoked from within
  "::tie::std::file::Snit_methodLoadJournal ::tie::std::file ::tie::std::file::Sni
  t_inst12 ::x ::x"
      ("eval" body line 1)
      invoked from within
  "eval [linsert $args 0  ::tie::std::file::Snit_method$method ::tie::std::file ::
  tie::std::file::Snit_inst12 ::x $self]"
      (procedure "::x" line 10)
      invoked from within
  "$self LoadJournal"
      (procedure "::tie::std::file::Snit_methodget" line 10)
      invoked from within
  "::tie::std::file::Snit_methodget ::tie::std::file ::tie::std::file::Snit_inst12
   ::x ::x"
      ("eval" body line 1)
      invoked from within
  "eval [linsert $args 0  ::tie::std::file::Snit_method$method ::tie::std::file ::
  tie::std::file::Snit_inst12 ::x $self]"
      (procedure "x" line 10)
      invoked from within
  "x get"
      invoked from within
  "dictsort [x get]"
      invoked from within
  "set res [dictsort [x get]]"
      ("uplevel" body line 4)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-2.1 FAILED

  ---- tie-file-3.0 start

  ==== tie-file-3.0 file set, wrong#args FAILED
  ==== Contents of test case:

      set f [makeFile {} journal]
      tie::std::file x $f
      set     res {}
      catch {x set} msg
      x destroy
      removeFile journal
      set msg

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli
  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "tie::std::file x $f"
      ("uplevel" body line 3)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-3.0 FAILED

  ---- tie-file-3.1 start

  ==== tie-file-3.1 file set, wrong#args FAILED
  ==== Contents of test case:
      set f [makeFile {} journal]
      tie::std::file x $f
      set     res {}
      catch {x set a b} msg
      x destroy
      removeFile journal
      set msg

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli
  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "tie::std::file x $f"
      ("uplevel" body line 3)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-3.1 FAILED

  ---- tie-file-3.2 start

  ==== tie-file-3.2 file set FAILED
  ==== Contents of test case:

      set f [makeFile {} journal]
      tie::std::file x $f
      set     res {}
      lappend res [x set {c 3 b 2 a 1}]
      lappend res [viewFile journal]
      x destroy
       removeFile journal
      set res

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli
  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "tie::std::file x $f"
      ("uplevel" body line 3)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-3.2 FAILED

  ---- tie-file-4.0 start

  ==== tie-file-4.0 file names, wrong#args FAILED
  ==== Contents of test case:

      set f [makeFile {array set {b 2 a 1}} journal]
      tie::std::file x $f
      catch {x names a} msg
      x destroy
      removeFile journal
      set msg

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli
  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "tie::std::file x $f"
      ("uplevel" body line 3)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-4.0 FAILED

  ---- tie-file-4.1 start

  ==== tie-file-4.1 file names FAILED
  ==== Contents of test case:

      set f [makeFile {array set {b 2 a 1}} journal]
      tie::std::file x $f
      set res [lsort [x names]]
      x destroy
      removeFile journal
      set res

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli
  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within

  "tie::std::file x $f"
      ("uplevel" body line 3)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-4.1 FAILED

  ---- tie-file-5.0 start

  ==== tie-file-5.0 file size, wrong#args FAILED
  ==== Contents of test case:

      set f [makeFile {array set {b 2 a 1}} journal]
      tie::std::file x $f
      catch {x size a} msg
      x destroy
      removeFile journal
      set msg

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli
  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "tie::std::file x $f"
      ("uplevel" body line 3)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-5.0 FAILED

  ---- tie-file-5.1 start

  ==== tie-file-5.1 file size FAILED
  ==== Contents of test case:

      set f [makeFile {array set {b 2 a 1}} journal]
      tie::std::file x $f
      set res [x size]
      x destroy
      removeFile journal
      set res

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli
  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "tie::std::file x $f"
      ("uplevel" body line 3)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-5.1 FAILED

  ---- tie-file-6.0 start

  ==== tie-file-6.0 file unset, wrong#args FAILED
  ==== Contents of test case:

      set f [makeFile {array set {foo bar fox snarf a 3}} journal]
      tie::std::file x $f
      set     res {}
      catch {x unset a b} msg

      x destroy
      removeFile journal
      set msg

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli
  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "tie::std::file x $f"
      ("uplevel" body line 3)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-6.0 FAILED

  ---- tie-file-6.1 start

  ==== tie-file-6.1 file unset, default pattern FAILED
  ==== Contents of test case:

      set f [makeFile {array set {foo bar fox snarf a 3}} journal]
      tie::std::file x $f
      set     res {}
      lappend res [x unset]
      lappend res [viewFile journal]
      x destroy
      removeFile journal
      set res

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2

  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli
  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "tie::std::file x $f"
      ("uplevel" body line 3)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-6.1 FAILED

  ---- tie-file-6.2 start

  ==== tie-file-6.2 file unset, by pattern FAILED
  ==== Contents of test case:

      set f [makeFile {array set {foo bar fox snarf a 3}} journal]
      tie::std::file x $f
      set     res {}
      lappend res [x unset f*]
      lappend res [viewFile journal]
      x destroy
      removeFile journal
      set res

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli

  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "tie::std::file x $f"
      ("uplevel" body line 3)
      invoked from within
  "uplevel 1 $script"
  ---- errorCode: NONE
  ==== tie-file-6.2 FAILED

  ---- tie-file-7.0 start

  ==== tie-file-7.0 file getv, wrong#args FAILED
  ==== Contents of test case:

      set f [makeFile {} journal]
      tie::std::file x $f
      set     res {}
      catch {x getv} msg
      x destroy
      removeFile journal
      set msg

  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ---- errorInfo: command "::x" already exists
      while executing
  "error "command \"$name\" already exists""
      (procedure "::snit::RT.type.typemethod.create" line 22)
      invoked from within
  "::snit::RT.type.typemethod.create ::tie::std::file x /vol/tclsrcsol/tcl85/tclli
  b/unix/journal"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 $command $args"
      invoked from within
  "tie::std::file x $f"
      ("uplevel" body line 3)


  ...

  and on and on and on...


tkt_uuid: 2031231fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: app: tkchat
priority: 5 Medium
foundin: None
resolution: Out of Date
title: webchain integration
comment:
  Adding these lines to function tkjabber::parseMsg will hide the 'webchain' bridge name in tkchat:

  }
  +    } elseif { $nick eq "webchain" } {
  +set nick [lindex $msg 0]
  +set msg [lrange $msg 1 end]        
      } elseif { $nick eq $::Options(JabberConference) } {

  Kind regards,

  Jos.


tkt_uuid: 772489ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: doctools
priority: 7 High
foundin: None
resolution: Not Applicable Here
title: doctools: latex, add document internal cross-referencing
comment:
  In LaTex:
  - \label to define a location by name, and
  - \ref to create reference to a named location.


tkt_uuid: 1580120fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: snit
priority: 7 High
foundin: None
resolution: Fixed
title: Allow -class to be passed to snit::widget
comment:
  Attached is a patch that allows -class to be passed as
  an option to snit widgets.  This allows widgets like
  tklib's widget::scrolledwindow to be created with:

  widget::scrolledwindow .s -class SpecialScroller

  or used as a widgetadaptor like so:

  snit::widgetadaptor Scrolltree {
      ....
      constructor {args} {
  installhull using widget::scrolledwindow \
               -class Scrolltree
  install tree using treectrl $win.tree ...

  I think this is a natural extension to Snit and should
  be drop-in (backwards) compatible.  It just changed the
  undefined widgetclass behavior to allow for setting
  -class on the command line.


tkt_uuid: 917877ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Add state readonly for Entry (and LabelEntry)
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: 433145ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Fixed
title: csv module man page fix needed
comment:
  The current csv.n file has data on the first line
  which caused man commands on some systems to fail.
  The first line of a man page is used to define
  specialized filters, such as tbl, are required to
  format the man page.

  The current csv.n man page has what appears to be a
  comment used by emacs to indicate that the contents are
  nroff.

  Hopefully the emacs comment can be moved elsewhere -
  because right now, Solaris 8's man command is unable to
  format the man page correctly.


tkt_uuid: 3511938fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Invalid
title: ScrolledWindow setwidget buggy
comment:
  Calling ScrolledWindow::setwidget does not make the widget intended to be scrolled visible since ScrolledWindow::setwindow method lacks a raise:

  toplevel .t
  text .t.t -width 10 -height 4;
  .t.t insert end {z1
  z2
  z3
  z4
  z5
  z6
  z7
  z8
  z9
  z10}

  ScrolledWindow::create .t.s -auto none;
  pack .t.s -fill both -expand 1;
  .t.s setwidget .t.t

  does not show the text widget. Adding a raise command after gridding the widget into the scrolledwindow works fine:

      grid $widget -in $path -row 1 -column 1 -sticky news
      raise $widget;


  ATTENTION:
  - method getwidget would be fine
  - support to remove a widget from a scrolledwindow would be fine (setwidget "")


tkt_uuid: 1416765fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: linearalgebra
priority: 5 Medium
foundin: None
resolution: Fixed
title: linearalgebra: test suite bug
comment:
  with -debug 1:
  * math::linearalgebra 1.0
  test name 'symmetric-1.1' re-used; prior use in
  /local/src/tcllib/modules/math/linalg.test
  test name 'svd-1.0' re-used; prior use in
  /local/src/tcllib/modules/math/linalg.test


tkt_uuid: 2662968fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: struct :: graph
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Have lappend method accept multiple values
comment:
  I.e. make it consistent with the core built command.
  Look at nodes, arcs, the graph itself, and struct::tree as well.


tkt_uuid: 502246ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: bwidget 1.3 documentation
comment:
   I have installed ActiveTCL 8.3.1.4 for Linux and I 
  use Bwidgets.

   I have found that there is a problem of compatibility 
  between Bwidgets 1.2 and Bwidget 1.3
   By reading the code of the combobox and spinbox 
  megawidgets, I have seen that they no longer use 
  LabelledFrame  and associated options.  I have fixed 
  the problem in my application.

   This mail for telling you that the documentation of 
  the combobox (found in ActiveTcl  HTML documentation 
  tarball) has not been updated for the Bwidgets 1.3


tkt_uuid: 2804961fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 3 Low
foundin: None
resolution: Accepted
title: combobox syntactic nit
comment:
  bwidget/combobox.tcl:28 (warnContinuation) possibly bad continuation line, blank line after backslash
          initialize {-relief sunken -borderwidth 2} \
                                                     ^


tkt_uuid: 1427906fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: smtp
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: option for server timeout on initialize
comment:
  In ::smtp::initialize, you can pass a list of mail 
  servers to try, but the timeout to failover and try 
  the "next" server is hard-coded to 600 seconds.  It 
  would be better to have an option one could pass, 
  e.g. -servertimeout, to set this to something 
  different.

  In my installation I needed much faster failover, so 
  I took lazy approach and tweaked the 600 down to 10 
  for the "hear" statement below.

      ...
          if {[set code [catch { hear $token 600 } 
  result]]} {
              array set response [list code 400 
  diagnostic $result]
          } else {
              array set response $result
          }
      ...


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

  * report 0.3.1
  WARNING: cleanupTests deleting /local/src/tcllib/dummy...
  WARNING: cleanupTests deleting /local/src/tcllib/rep1...
  WARNING: cleanupTests deleting /local/src/tcllib/rep2...
  WARNING: cleanupTests deleting /local/src/tcllib/rep3...
  WARNING: cleanupTests deleting /local/src/tcllib/rep4...
  WARNING: cleanupTests deleting /local/src/tcllib/rep5...


tkt_uuid: 483623ffffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: struct :: graph
priority: 2
foundin: None
resolution: Not Applicable Here
title: Use cmdline where applicable
comment:
  The methods 'arcs' and 'nodes' of "graph" should use 
  the "cmdline" package to simplify their argument 
  processing.


tkt_uuid: 607749ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget ListBox/Tree Selection Outline
comment:
  I Would also like to ask to expose two new options in 
  the listbox and tree widgets: 
   
    -selectoutline and -selectoutlinestipple 

  which would control the outline and stipple of the  
  selection rectangle in the canvas so it would be possible 
  to have it look like the windows selection in Listboxes 
  that have usually a black outline with a dashed stipple

  thanks
  /NL


tkt_uuid: 527710ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: None
title: backslashes aren't always handled well
comment:
  In my man page I have something like this:

  [example {
     example 1:
     foo bar \
        baz

     example 1:
     foo bar \\
        baz
  }]

  When I convert that to html, example1 has baz on the 
  same line as "foo bar", and example2 shows the double 
  backslashes. That seems inconsistent, and makes it 
  impossible to get a single backslash.

  When I convert to nroff and run it through man, the 
  first example has baz on the same line as "foo bar", 
  and the second has a single backslash, pretty much as 
  I would expect.

  So, there's a bug there somewhere. My guess is, the 
  html converter is broken.


tkt_uuid: 2762361fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Accepted
title: ComboBox Backround error "ambiguous state"
comment:
  A backround error was invoked using a BWidget combo box:

  > ambiguous state "": must be active, disabled, or normal
  >     (processing "-state" option)
  >     invoked from within
  > "$path configure $realopt $value"
  >     (procedure "Widget::_test_tkresource" line 7)
  >     invoked from within
  > "$_optiontype($type) $option $value [lindex $optdesc 3]"
  >     (procedure "Widget::configure" line 31)
  >     invoked from within
  > "Widget::configure $path $args"
  >     (procedure "configure" line 2)
  >     invoked from within
  > "configure $path -state $_grab(oldstate)"
  >     (procedure "ArrowButton::_leave" line 6)
  >     invoked from within
  > "ArrowButton::_leave .wizard.layoutFrame.advanced.clientArea.c1.a.c"
  >     (command bound to event)

  This indicates, that the leave event may be invoked without a former enter event.

  To fortify the widget against this situation, the following two patches may be used:

  arrow.tcl Line 73:
  Old contents:
      array set _grab {current "" pressed "" oldstate "" oldrelief ""}
  New contents:
      array set _grab {current "" pressed "" oldstate "normal" oldrelief ""}

  Alternate patch:
  (Line 436)
  proc ArrowButton::_leave { path } {
  ...
  configure $path -state $_grab(oldstate)
  ...
  The configure line may be protected to empty string contents by:
  if {0 == [string length $_grab(oldstate)]} {
      configure $path -state $_grab(oldstate)
  }

  Version information:
  BWidget 1.8.0
  TCL8.4.16
  Windows XP (not shure)


tkt_uuid: 3603260fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: profiler
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: Descendants info not reset on profiler::reset
comment:
  Look at the result of this script:
  -----------
  package require profiler
  profiler::init
  proc profile_a {} {
  for {set f 0} {$f<100} {incr f} {
      profile_b
      }
  }

  proc profile_b {} {
  for {set f 0} {$f<100000} {incr f} {}
  }

  profile_a
  profiler::reset
  profile_a
  puts [profiler::print]
  -----------
  for profile_a, it prints:
            Total runtime:  729842
    Total descendant time:  1441896
  i.e.  Total descendant time>Total runtime
  The problem is that ::profiler::descendants isn't modified in ::profiler::reset.


tkt_uuid: 828160ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: None
title: "Holy cow"default headers break compatibility
comment:
  In generated by mime:: 
  messages there are two default headers, that are used
  nonconsistently and force hard-to-catch bugs
  1) Content-ID. There should be NO Content-ID inserted
  in main, the most outer message. The only parts that
  should get Content-ID are
  internal parts. Better remove default insertion of
  Content-ID or just
  note that in documentation, that if you generate a
  message, you should remove Content-ID from the main
  covering part.
  2) In all parts there is MIME-Version: header. This is
  not necessary,
  but it's not possible to remove that header by
  mime::setheader!
  It's better to make MIME-Version header removable by
  mime::setheader.
  3) it's not possible to create 
   Content-Disposition: attachment; filename="qqq"
   by usual means, Content-Disposition doesn't allow
  parameters, what is wrong.
  Denis Medvedev
  t_mdl@yahoo.com


tkt_uuid: 1588808fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: None
title: Combobox autocomplete won't turn on/off
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: 588880ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Duplicate
title: flicker in ScrolledWindow and frame
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: 514476ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: textutil
priority: 5 Medium
foundin: None
title: Add Pool_Base string functions
comment:
  Add the string processing facilities of
  Pool_Base, see

  http://www.purl.org/net/akupries/soft/pool/f_base_strin
  g.tcl.html


tkt_uuid: 2906306fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: md5
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: md5::md5 -file option error on close
comment:
  calling md5:
     set result "WUB[::md5::md5 -hex -file [dict get $req -file]]"

  bgerror: {can not find channel named "file51"} {-code 1 -level 0 -errorcode {TCL LOOKUP CHANNEL file51} -errorinfo can\ not\ find\ channel\ named\ \"file51\"\n\ \ \ \ while\ executing\n\"close\ \$opts(-channel)\"\n\ \ \ \ (procedure\ \"::md5::md5\"\ line\ 44)\n\ \ \ \ invoked\ from\ within\n\"::md5::md5\ -hex\ -file\ \[dict\ get\ \$req\ -file\]\"\n\ \ \ \ (procedure\ \"etag\"\ line\ 4)...

  pardon my backslashes.


tkt_uuid: 1005377fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: struct :: stack
priority: 9 Immediate
foundin: None
resolution: Not Applicable Here
title: struct::stack name collisions
comment:
  The command ::struct::stack generates a new stack object with an 
  automatically generated name. If the automatically generated 
  name is the name of an existing command, ::struct::stack throws 
  an error instead of automatically generating a unique name.

  The only way to protect against this is to specify the name 
  explicitly, which works; however, it's an undocumented feature.


tkt_uuid: 1672340fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Fixed
title: test expose-1.1 fails witch tcl 8.5a5
comment:
  The expose tests reports "expose" instead of ::snit::Comp.statement.expose.

  Tested on Linux and FreeBSD.
  See attached patch.


tkt_uuid: 3613725fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: A Category Is Missing
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ::rest::get & "format" config option...
comment:
  (This is about the rest package)

  Hi all,

  I am reading the manual for the rest package in tcllib, and I get the impression that in ::rest::simple, the config directory should contain \"format\". In the rest of the manual, I got the impression that \"format\" and \"result\" are somehow synonyms.

  Looking in the code, I see that only \"result\" is checked in config, and I am not sure what happens in parse_opts (:format is specified).

  May be the documentation needs to mention only \"result\"? (And fix the option handling?)

  George


tkt_uuid: 1581453fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ftp
priority: 5 Medium
foundin: None
resolution: Fixed
title: unset ftp(state.data) error
comment:
  I added this comment to bug 1234831, but wasn't sure 
  if that comment was monitored.  

  If there is an error in any file transfer in passive 
  mode, this error will come up:

  can't unset ftp(state.data)

  I have been able to trace this problem down to 
  the ::ftp::CopyNext routine and the StateHandler 
  routine. 

  The CopyNext routine will always unset ftp
  (state.data) 
  once the transfer is complete or there is an error.  
  Then 
  the StateHandler routine in the put_sent switch arm, 
  will 
  try to unset it again if the return code is not 1 or 
  2, 
  and it's passive mode.  

  All that's needed to fix this is either a catch, or a 
  cleaner way would be something like:

  if [info exists ftp(state.data)] {unset ftp
  (state.data)} 
  in the StateHandler routine.


tkt_uuid: 1720901fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
title: test suite enhancement - add tests for all modules
comment:
  Right now, there are at least 12 modules which apparently have no tests: bench, ftp, ftpd, grammar_peg, http, irc, javascript, jpeg, nmea, nntp, page, pluginmgr . It seems like it would be worthwhile to have experts of these modules provide a few tests to begin the development of testing for these modules.


tkt_uuid: 764702ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Fixed
title: unknown charset 'utf-8' in ::mime::word_decode
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: 987305ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Fixed
title: uuid::compare should be uuid::equal
comment:
  From the uuid manpage:

  | ::uuid::uuid compare id1 id2
  |                                                     
                             
  | Compares two uuids. If equal the result is 0 
  | otherwise the result will be either +1 or -1.

  It's almost never necessary to check if one UUID is
  less than or greater than another; UUIDs don't really
  have a natural ordering relation.  

  It's far more common to check UUIDs for equality.  I'd
  suggest that:

  | ::uuid::uuid equal $id1 $id2
  |  Returns 1 if $id1 and $id2 are equal, 0 otherwise.

  would be a more useful API.


tkt_uuid: 1541436fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Fixed
title: Problems on asn package
comment:
  The module asn.tcl contains errors that makes the 
  module ldap not working

  proc ::asn::asnGetApplication {data_var appNumber_var 
  {contet_var {}}} {


  should use content_var instead of contet_var and the 
  following test

  if {[string length content_var]} {

  shoud be

  if {[string length $content_var]} {


tkt_uuid: 478989ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: control
priority: 5 Medium
foundin: None
resolution: Fixed
title: Test failure
comment:
  tcllib CVS head, configure, make test.

  Module: control
  modules/control/no-op.test
  modules/control/rswitch.test

  ==== rswitch-3.0 rswitch argument checking FAILED
  ==== Contents of test case:

      [list [catch {rswitch 1 \{} msg] $msg $::errorInfo

  ==== Test generated error:
  missing close-bracket
  ---- Result should have been:
  1 {unmatched open brace in list} {unmatched open brace
  in list
      while executing
  "rswitch 1 \{"}
  ==== rswitch-3.0 FAILED


tkt_uuid: 1266913fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: struct :: skiplist
priority: 1 Zero
foundin: None
resolution: Not Applicable Here
title: skiplist - Walking through a range
comment:
  To walk through the skiplist, we already have the
  [walk] subcommand.
  But wouldn't it be better if we could walk, for instance,
  from one key to another like in SQL :
  SELECT... WHERE ID>='BOB' AND ID<='SMALL'
  I think this would be valuable.


tkt_uuid: 2913700fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Rejected
title: extra character in range [!..~]
comment:
  When parsing email messages, I ran across 1 message of thousands that mime would not parse. It's a spam message, none the less, it should parse? The error is:

  expecting character in range [!..~]
      while executing
  "$state(encoding) -mode decode  -- $state(string)"
      (procedure "mime::getbody" line 104)
      invoked from within
  "mime::getbody $m"
      (procedure "_body" line 5)
      invoked from within
  "_body $m"
      (procedure "insert" line 55)
      invoked from within
  "insert $content"
      (procedure "import_file" line 17)
      invoked from within
  "import_file {*}$args"
      (procedure "::mailroom::message::import" line 5)
      invoked from within
  "::mailroom::message import -file $filename"
      ("foreach" body line 3)
      invoked from within
  "foreach filename $messages {
    puts "Importing $filename"
    ::mailroom::message import -file $filename
  }"
      (file "test.tcl" line 12)


tkt_uuid: 1283594fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: $object info self command
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: 784523ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: (unused)
priority: 7 High
foundin: None
resolution: Fixed
title: make install fails on Mac OS X
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: 1572867fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: mime
priority: 5 Medium
foundin: None
resolution: Fixed
title: mime tests fail in 1.9
comment:
  Building tcllib-1.9 on FreeBSD with Tcl 8.4.13 fail:

  ==== mime-2.2 Generate a multi-part MIME message FAILED
  ==== Contents of test case:

      set tok1 [initialize -canonical "Text/plain"
  -string "jack and jill"]
      set tok2 [initialize -canonical "Text/plain"
  -string "james"]
      set bigTok [mime::initialize -canonical
  Multipart/MyType  -param [list MyPar
  am foo]  -param [list boundary bndry]  -header [list
  Content-Description "Test M
  ultipart"]  -parts [list $tok1 $tok2]]
      set msg [mime::buildmessage $bigTok]

      # The generated message is predictable except for
  the Content-ID
      list [regexp "MIME-Version: 1.0\r
  Content-Description: Test Multipart\r
  Content-ID: \[^\n]+\r
  Content-Type: multipart/mytype;\r
                \[^\n]+;\r
                \[^\n]+\r
  \r
  --bndry\r
  MIME-Version: 1.0\r
  Content-ID: \[^\n]+\r
  Content-Type: text/plain\r
  \r
  jack and jill\r
  \r
  --bndry\r
  MIME-Version: 1.0\r
  Content-ID: \[^\n]+\r
  Content-Type: text/plain\r
  \r
  james\r
  \r
  --bndry--\r
  " $msg] [regexp "boundary=\"bndry\"" $msg] [regexp
  "myparam=\"foo\"" $msg]

  ---- Result was:
  0 1 1
  ---- Result should have been (exact matching):
  1 1 1
  ==== mime-2.2 FAILED

  ---
  ==== mime-3.4 Try to parse a MIME message with an
  invalid version FAILED
  ==== Contents of test case:

      set msg1 {MIME-Version: 2.0
  Content-Type: text/plain

  msg1}

      set tok [mime::initialize -string $msg1]
      catch {mime::getbody $tok} err1
      catch {mime::buildmessage $tok} err1a
      list $err1 $err1a

  ---- Result was:
  msg1 {MIME-Version: 2.0
  Content-Type: text/plain

  msg1}
  ---- Result should have been (exact matching):
  msg1 {MIME-Version: 2.0
  Content-Type: text/plain

  msg1
  }
  ==== mime-3.4 FAILED


  --
  ==== mime-3.6 Try to parse a MIME message with no MIME
  version and generate a ne
  w message from it FAILED
  ==== Contents of test case:


      # No MIME version
      set msg3 {Content-Type: text/plain

  foo}

      set tok [mime::initialize -string $msg3]
      catch {mime::getbody $tok} err3
      catch {mime::buildmessage $tok} err3a
      list $err3 $err3a

  ---- Result was:
  foo {MIME-Version: 1.0
  Content-Type: text/plain

  foo}
  ---- Result should have been (exact matching):
  foo {MIME-Version: 1.0
  Content-Type: text/plain

  foo
  }
  ==== mime-3.6 FAILED


tkt_uuid: 1016865fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: md5
priority: 9 Immediate
foundin: None
resolution: Fixed
title: md5 test suite causes tcl core dump!
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: 2346118fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: tklib
priority: 7 High
foundin: None
resolution: Not Applicable Here
title: canvas::sqmap limitations
comment:
  The items used to show the images in their cells are currently visible to the user of the canvas::sqmap, allowing hacks and tricks, and possibly confusing things, like when finding nearest/overlapping items.
  Fix this before going v1. Basically have to inspect all methods taking and returning items and filter the internal items out. Ditto for tags, our tag for the image items should not be visible outside.


tkt_uuid: 1261101fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: math :: bignum
priority: 5 Medium
foundin: None
title: Allow easy comparisons with 0 (zero)
comment:
  In ::math::bignum, most of the comparison functions
  (except for iszero) require two bignums as inputs.
  However, there are many cases where the comparison is
  between 0 and some number.

  Right now, you need to make a bignum of 0 to do the
  comparison. It should be possible to special case the
  comparisons so that the comparison is against the
  literal 0 would be permitted.

  Another possibility would be to predefine two useful
  numbers as bignum constants: 0 and 1. With those two
  predefined, a lot of tests would be able to avoid
  having to create them. (Other powers of two (2^1, 2^2,
  2^3, ...2^64) would be potentially useful as well, but
  perhaps less worth the overhead.)


tkt_uuid: 688227ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: Notebook left side not drawn (0 borderwidth)
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: 1860190fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Duplicate
title: tkchat: can't read "state(status)": no such variable
comment:
  tkchat v1.413:

  After trying to "Login via IRC ..." (menu File), I got:

  can't read "state(status)": no such variable
      while executing
  "return $state(status)"
      (procedure "http::wait" line 10)
      invoked from within
  "http::wait $token"
      (procedure "http::geturl" line 146)
      invoked from within
  "http::geturl http://www.tcl.tk/cgi-bin/tct/tip/tclIndex.txt  -timeout 15000  -p
  rogress ::tkchat::Progress  -command [list [namespace origin fetchurldo..."
      (procedure "GetTipIndex" line 2)
      invoked from within
  "GetTipIndex"
      (procedure "::tkchat::LoadHistory" line 14)
      invoked from within
  "::tkchat::LoadHistory"
      ("after" script)


tkt_uuid: 3439702fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: html
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: ::html::js & ::html::css error
comment:
  Hi,

  When calling this 2 procs mentioned, it tries to set a namespace variable with a ::html::set instead of ::set.  However, even replacing "set" by "::set" on those 2 procs, it overrides the last value.

  What i did was just to replace "set page(js)" by "lappend page(js)".  same for css, as ::html::head calls those vars with a "foreach", meaning that they should be lists.  Now it works fine.

  Regards

  -=Raul=-


tkt_uuid: 1835240fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Duplicate
title: Error from http package during login
comment:
  Got:

  can't read "state(status)": no such variable
  can't read "state(status)": no such variable
      while executing
  "if {$state(status) eq "error"} {
      # Something went wrong while trying to establish the connection.
      # Clean up after events and such, but DON'..."
      (procedure "http::geturl" line 255)
      invoked from within
  "http::geturl http://www.tcl.tk/cgi-bin/tct/tip/tclIndex.txt  -timeout 15000  -progress ::tkchat::Progress  -command [list [namespace origin fetchurldo..."
      (procedure "GetTipIndex" line 2)
      invoked from within
  "GetTipIndex"
      (procedure "::tkchat::LoadHistory" line 14)
      invoked from within
  "::tkchat::LoadHistory"
      ("after" script)

  Note that this is using a partially patched http package from 8.5. In my case the body of the http::status command is:
  % info body http::status

      if {![info exists $token]} { return "error" }    
      upvar 0 $token state
      return $state(status)


tkt_uuid: 1695128fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: doctools - Add backend 'semantic'
comment:
  Create a backend which extracts all words which have been markup up in same way, and how (constants, options, commands, terms, etc. pp.), and return a dictionary (markup -> list of words).


tkt_uuid: 720208ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: ntp
priority: 7 High
foundin: None
resolution: Fixed
title: test failure: ntp module with tcl 8.3
comment:
  Test platform: tcl 8.3.5 Windows 2K intel.

  The following failures produced when using tcl 8.3.5 to
  run the tcllib test suite. These do not occur with tcl 8.4

  It seems these tests rely on features only present in
  tcltest 2.2+ (the ::tcltest::interpreter proc)

  Module:ntp
  modules/ntp/time.test

  ==== time-1.1 time::gettime FAILED
  ==== Contents of test case:

      global token
      list [catch {
          set f [createServerProcess]
          gets $f port
          set token [::time::gettime -protocol tcp
  localhost $port]
          set r {}
      } msg] $msg    

  ---- Result was:
  1 {invalid command name "::tcltest::interpreter"}
  ---- Result should have been:
  0 {}
  ==== time-1.1 FAILED


  ==== time-1.2 time::status FAILED
  ==== Contents of test case:

      global token
      list [catch {time::status $token} m] $m

  ---- Result was:
  1 {can't read "State(status)": no such variable}
  ---- Result should have been:
  0 ok
  ==== time-1.2 FAILED


  ==== time-1.2 time::unixtime FAILED
  ==== Contents of test case:

      global token
      list [catch {
          set t [time::unixtime $token]
          string is integer -strict $t
      } m] $m

  ---- Result was:
  1 {can't read "State(status)": no such variable}
  ---- Result should have been:
  0 1
  ==== time-1.2 FAILED


tkt_uuid: 1019052fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Fixed
title: bwidget listbox makes wrong key-bindings
comment:
  versions: 1.6 and 1.7
  Tcl: TclKit 8.4.5 and Tcl/Tk 8.4.6
  OS: SuSE Linux 9.1 running KDE 3.2.1, verified in the 
  BWidget demo from ActiveTcl 8.4.5 (BWidget 1.7)

  The BWidget ListBox binds the <Key-Up> and <Key-
  Down> events to the class ListBox, which refers to the 
  frame. It should however be bound to the canvas inside 
  that frame.

  A quick hack for me was to add these two lines to the 
  end of ListBox::create:

  bind $path.c <Key-Up> \
  [list ListBox::_keyboard_navigation $path -1]
  bind $path.c <Key-Down> \
  [list ListBox::_keyboard_navigation $path 1]

  There is probably a nice way of doing this....


tkt_uuid: 1091764fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclbench
priority: 5 Medium
foundin: None
resolution: Fixed
title: runbench.tcl does not run on windows w/ msys
comment:
  runbench.tcl exec 'echo' in proc getInterps:

  if {[catch {exec echo "puts \[info patchlevel\] ;
  exit" | \
  $interp} patchlevel]} {...}

  This does not work with msys, because it doesn't come
  with an echo binary (but only an echo written in terms
  of a shell script, which obviously isn't recognized as
  executable in an exec call). runbench.tcl seems to
  expect a cygwin environment (which has an echo.exe).

  Though, since both cygwin and msys (and any unix
  anyway) have a sh, I propose to change that code in
  getInterps to:

  if {[catch {exec sh -c "echo puts \[info patchlevel\]
  ; exit" | \
  $interp} patchlevel]} {...}

  With only this change, runbench.tcl runs under msys or
  a windows console with the msys binariers in the PATH.


tkt_uuid: 616911ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: log
priority: 4
foundin: None
resolution: Out of Date
title: services for log
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: 1557268fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: html
priority: 5 Medium
foundin: None
resolution: Fixed
title: TABLE tag case
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: 1739240fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tklib :: plotchart
priority: 8
foundin: None
resolution: None
title: tklib plotchart doc failure during build
comment:
  when i try to build the cvs head of tklib , I get this error:
  Generating /projects/sprs_lwv/tcl85/man/mann/plotchart.n
  Doctools Error in macro at line 150, column 24:
  [emph in days]
  --> wrong # args: should be "emph text"
      while executing
  "::doctools::_format dt {[comment {-*- tcl -*- doctools manpage}]
  [manpage_begin Plotchart n 1.3]
  [copyright {2007 Arjen Markus <arjenmarkus@users.sour..."
      ("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 17)
      invoked from within
  "_man plotchart 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 18)
      invoked from within
  "doinstall"
      (procedure "main" line 11)
      invoked from within
  "main"
      (file "../installer.tcl" line 485)
  gmake: *** [install] Error 1


tkt_uuid: 948273ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: log
priority: 5 Medium
foundin: None
resolution: Fixed
title: logger::services returns "services", not $services
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: 1800408fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 5 Medium
foundin: None
resolution: Fixed
title: Extra spaces around link text
comment:
  Using cvs HEAD, the following doctools markup:

    See [cmd ns_rollfile] for details...

  Produces this HTML output:

    See <b class='cmd'><a href="../ns_rollfile.html"> ns_rollfile </a></b> for details...


  There is extra space before and after 'ns_rollfile' within the anchor tag.

  In the above example it's not noticeable as runs of spaces are collapsed in HTML, but if there is anything other than a space surrounding the link, e.g. brackets, parentheses or question marks, the extra spaces break the formatting.


tkt_uuid: 2993029fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: aes
priority: 5 Medium
foundin: None
resolution: Fixed
title: aes procedure gives an error _just_ with a given vector
comment:
  After some "test and error", I find out that the vector that I am trying to decrypt triggers an error !!! but with similar vector the error does not happen!!!
  I upload a file with the ok vectors, and the bad one.
  Please, give me some feedback asas. Thank yo very much.
  Josep


tkt_uuid: 732597ffffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: general request
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: move tcllib doc generation to build step
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: 1176295fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: memoize package
comment:
  A package that can be used to cache, load and save the
  values of expensive pure function calls i.e function
  without side effects

  Implmentation: http://wiki.tcl.tk/memoize

  Perl has it as a default package  since 5.8.0
  http://perl.plover.com/Memoize/

  regards,,
  Detlef


tkt_uuid: 672956ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: math
priority: 8
foundin: None
title: New submodule for math - optimisation
comment:
  I would like to submit a first version of a new
  submodule, optimize.
  It contains two working procedures, to optimize a given
  function. Work is being carried out to add a linear
  program solver.

  The tar-ball contains the source code, documentation
  and test cases (even for the routine that is not fully
  implemented yet)


tkt_uuid: 1693391fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: Rejected
title: TitleFrame doesn't collapse after deleting all widgets
comment:
  I the following sample the TitleFrame reduces it's size, when the first widget $f.foo is deleted, but it doesn't collapse after deleting the last widget $f.bar:

  ##########
  package require BWidget
  TitleFrame .tf -text "title"
  grid .tf -sticky news

  set f [.tf getframe]
  label $f.foo -text "foo foo foo"
  label $f.bar -text "bar bar bar"
  grid $f.foo -sticky news
  grid $f.bar -sticky news

  after 3000 [list destroy $f.foo] 
  after 6000 [list destroy $f.bar] 
  ##########

  Rolf.


tkt_uuid: 1409083fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
resolution: Fixed
title: fileutil::find documentation improvement
comment:
  1.  typo:  "loose" -> "lose"
  2. The man page does not indicate that the filtercmd
  should return a boolean value.  An example would be
  warranted.  Suggested text to be appended to what
  currently exists:
  =====
  The result of [arg filtercmd] is a boolean value that
  indicates if the current file should be included in the
  list of interesting files.  Example:

  # find tcl files
  package require fileutil
  proc is_tcl {name} {return [string match *.tcl $name]}
  set tcl_files [fileutil::find . is_tcl]
  =====


tkt_uuid: 440051ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 3 Low
foundin: None
resolution: Fixed
title: latest sha1 test suite fails
comment:
  Note: I don't see sha1 listed in the sf tcllib project
  categories.

  I downloaded the latest tcllib snapshot from scriptics
  on July 10, 2001 at 9:30 AM EDT.

  when I run the test from the top level directory, I get
  this error.

  Module: sha1
  modules/sha1/sha1.test
  sha1 1.0 (pure Tcl)

  ==== sha1-1.0 sha1 FAILED
  ==== Contents of test case:

      catch {::sha1::sha1} result
      set result

  ---- Result was:
  wrong # args: should be "::sha1::sha1 msg"
  ---- Result should have been (exact matching):
  no value given for parameter "msg" to "::sha1::sha1"
  ==== sha1-1.0 FAILED

  ==== sha1-1.1 sha1 FAILED
  ==== Contents of test case:

      catch {::sha1::hmac} result
      set result

  ---- Result was:
  wrong # args: should be "::sha1::hmac key text"
  ---- Result should have been (exact matching):
  no value given for parameter "key" to "::sha1::hmac"
  ==== sha1-1.1 FAILED

  ==== sha1-1.2 sha1 FAILED
  ==== Contents of test case:

      catch {::sha1::hmac key} result
      set result

  ---- Result was:
  wrong # args: should be "::sha1::hmac key text"
  ---- Result should have been (exact matching):
  no value given for parameter "text" to "::sha1::hmac"
  ==== sha1-1.2 FAILED


tkt_uuid: 1581075fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: units
priority: 5 Medium
foundin: None
title: Feature submission: metric-imperial unit conversion
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: 2646568fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: jpeg
priority: 5 Medium
foundin: None
resolution: Accepted
title: jpeg::imageInfo opens files with r+
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: 1416814fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: struct :: tree
priority: 5 Medium
foundin: None
resolution: Fixed
title: tree: test suite bugs
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: 1838731fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: math :: statistics
priority: 5 Medium
foundin: None
resolution: Fixed
title: Pretty quick inverse normal cdf
comment:
  Hello,

  I have written a pretty quick inverse normal cdf proc. I start with a decent (I think good to 10^-4 ??) approximation from Abramowitz and Stegun as a starting point and then use Newton's method to find a much better estimate.

  Use it as you like. I'm attaching the code, and providing it as public domain (no copyright).

  Incidentally, math::statistics::pnorm is much faster than math::statistics::cdf-normal, and it might be better to use it (??)

  Eric


tkt_uuid: 1213646fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: doctools
priority: 2
foundin: None
resolution: Fixed
title: French locale (fr) is blocking man pages making
comment:
  I tried to install tcllib-1.7 from the tar.gz archive.
  On my computer (under WinME) the doc generation step
  throws an error that I could localize in
  'modules/doctools/mpformats/fr.msg'.
  mcset (from msgcat package) is used with an incorrect
  number of arguments :

  mcset fr "tag" "english desc" "french desc"

  All we need to fix this bug is to remove the "english
  desc" from all similar calls. And this is still present
  in the current CVS snapshot.
  May this be useful.
   Stephane


tkt_uuid: 1471885fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Invalid
title: snit2.tcl - faulty "in" keyword
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: 2144802fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: snit
priority: 5 Medium
foundin: None
resolution: Not Applicable Here
title: snit's from command underdocumented, and possible flaw
comment:
  It is not documented that 'from argvName option ?default?' only finds the first occurence of the option.
  It is not documented that no attempt is made to resolve how to handle multiple occurences of the same option.

  The flaw: from is able to find an option name, even if it was actually the value for a different option and thus not really an option.

  set argv {-foo -bar -snarf 0}
  from argv -bar x
  => returns -snarf as value
  and argv changes to {-foo 0}

  Should have returned x, as -bar is not present as option, only as value to option -foo.


tkt_uuid: 453519ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 7 High
foundin: None
resolution: Out of Date
title: 10.5 Needs Tk 8.4 (TIP 44) update
comment:
  Question 10.5 refers to redefining the commands
  [tk{Text|Entry}Insert] and accessing the 
  variable tkPriv to implement an overwrite
  mode for the text or entry widgets.

  These instructions are out of date now that
  private internal commands of Tk have been
  moved into the ::tk namespace for Tk 8.4
  (see TIP 44).


tkt_uuid: 1400838fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: None
title: MessageDlg bug, LabelEntry bug, demo bug
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: 1725324fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: uri
priority: 5 Medium
foundin: None
resolution: None
title: uri::split does not parse hosts with no dots (.) in them
comment:
  uri::split parses hosts with no dots (.) in them incorrectly:
  uri::split "http://3531454999:80/XXX/YYY"  returns an array with a "host" entry set to ""

  uri::split also fails with the following URIs:
  http://0xc9.0x02.0xdf.0x11:80/XXX/YYY
  http://0x5061bf3f/XXX/YYY


tkt_uuid: 1165525fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
subsystem: bwidget
priority: 5 Medium
foundin: None
resolution: None
title: Listbox bug, a non-stop loop cause the shaking of the widge
comment:
  Following is a test code, 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
      }

  in proc ListBox::_update_scrollregion, line 918 of
  listbox.tcl
    it call $path.c configure -scrollregion [list 0 0 $w $h]

  This triggered bind ListBox <Configure> event and call
  _resize again, forming a loop.

  If you put in "puts " command in _resize and
  _update_scrollregion
  you will see _resize and _update_scrollregion called
  alternatively
   Reason:
  Bwidget induces a endless loop by "bind" command.
  (In Bwidget-1.7.0),
  In line 105:
    bind ListBox <Configure> [list ListBox::_resize  %W]

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

  in proc ListBox::_update_scrollregion, line 918 of
  listbox.tcl
    it call $path.c configure -scrollregion [list 0 0 $w $h]

  This triggered bind ListBox <Configure> event and call
  _resize again, forming a loop.


tkt_uuid: 891024ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
resolution: Fixed
title: color handling problems for unrecognised users
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)


