# event

type: t
user: hobbs
brief: Ticket [402466ffff]: 2 changes
comment:
  Ticket [402466ffff] <i>Enanced tab shape in BWidgets notebook widget</i> status still Closed with 2 other changes


type: t
user: karll
brief: Ticket [3304371fff]: 4 changes
comment:
  Ticket [3304371fff] <i>Add secure IRC (TLS/994) support to pico IRC</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [519594ffff]: 6 changes
comment:
  Ticket [519594ffff] <i>parseaddress can't cope with spaces</i> status still Closed with 6 other changes


type: t
user: andreas_kupries
brief: Ticket [1048995fff]: 2 changes
comment:
  Ticket [1048995fff] <i>::fileutil::find filtercmd needs cwd</i> status still Closed with 2 other changes


type: t
user: patthoyts
brief: Closed ticket [1480703fff].
comment:
  Closed ticket [1480703fff]: <i>console support for platforms without native support</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Ticket [3513149fff]: 6 changes
comment:
  Ticket [3513149fff] <i>exra bracket in nvlist command causes corrupt return value</i> status still Open with 6 other changes


type: t
user: ricardoj
brief: Ticket [1425947fff]: 4 changes
comment:
  Ticket [1425947fff] <i>mime::parsedatetime - error on months</i> status still Closed with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [1272913fff]: 1 change
comment:
  Ticket [1272913fff] <i>profiler - failed test with Tcl 8.5</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [476729ffff]: 4 changes
comment:
  Ticket [476729ffff] <i>documentation bug regarding DisplayMsg</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [1008797fff]: 6 changes
comment:
  Ticket [1008797fff] <i>bad multiple calls to logging command in log::log</i> status still Open with 6 other changes


type: t
user: andreas_kupries
brief: Ticket [1002143fff]: 4 changes
comment:
  Ticket [1002143fff] <i>struct::set difference broken under &gt;=Tcl 8.4</i> status still Open with 4 other changes


type: t
user: droll
brief: Closed ticket [3608952fff].
comment:
  Closed ticket [3608952fff]: <i>TEPAM: Help text incorrect for procedures in namespaces</i> plus 6 other changes


type: t
user: andreas_kupries
brief: Ticket [1156718fff]: 1 change
comment:
  Ticket [1156718fff] <i>comm - Make each connection's serial into a lamport clock</i> status still Open with 1 other change


type: t
user: duquette
brief: Ticket [1483168fff]: 1 change
comment:
  Ticket [1483168fff] <i>Namspaced snit objs are not commands in their ns</i> status still Open with 1 other change


type: t
user: mic42
brief: Ticket [720933ffff]: 4 changes
comment:
  Ticket [720933ffff] <i>testsuite makes incorrect assumptions about walk order</i> status still Open with 4 other changes


type: t
user: ofv
brief: Ticket [2499978fff]: 4 changes
comment:
  Ticket [2499978fff] <i>Infinite bug on widget::scrolledwindow</i> status still Open with 4 other changes


type: t
user: royterry
brief: Ticket [900178ffff]: 4 changes
comment:
  Ticket [900178ffff] <i>Incorrect or unclear Response to PASS</i> status still Open with 4 other changes


type: t
user: patthoyts
brief: Closed ticket [727678ffff].
comment:
  Closed ticket [727678ffff]: <i>latest tcllib from CVS test suite has two stats module failu</i> plus 7 other changes


type: t
user: mic42
brief: Ticket [1240910fff]: 1 change
comment:
  Ticket [1240910fff] <i>Error in math::interpolate::neville</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [2829049fff]: 1 change
comment:
  Ticket [2829049fff] <i>&quot;failure&quot; or missing feature in &quot;getstring&quot;</i> status still Open with 1 other change


type: t
user: apnadkarni
brief: Ticket [3608581fff]: 4 changes
comment:
  Ticket [3608581fff] <i>Small change to configure script Windows</i> status still Open with 4 other changes


type: t
user: gwlester
brief: Ticket [416955ffff]: 1 change
comment:
  Ticket [416955ffff] <i>Division by zero in stats procedure</i> status still Open with 1 other change


type: t
user: nobody
brief: Ticket [748344ffff]: 4 changes
comment:
  Ticket [748344ffff] <i>Bug: packing a Tk listbox into a BWidget ScrolledWindow</i> status still Closed with 4 other changes


type: t
user: stwo
brief: Ticket [2521626fff]: 4 changes
comment:
  Ticket [2521626fff] <i>Tklib patches from the OpenBSD port</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [3606564fff]: 7 changes
comment:
  Ticket [3606564fff] <i>test fail - can't delete &quot;namespace&quot;: command doesn't exist</i> status still Open with 7 other changes


type: t
user: patthoyts
brief: Closed ticket [1254937fff].
comment:
  Closed ticket [1254937fff]: <i>Binary files get an extra line feed at the end</i> plus 5 other changes


type: t
user: hobbs
brief: Ticket [768610ffff]: 4 changes
comment:
  Ticket [768610ffff] <i>NoteBook can't accept page named &quot;C:\foo\bar&quot;</i> status still Open with 4 other changes


type: t
user: haneef
brief: Ticket [402466ffff]: 4 changes
comment:
  Ticket [402466ffff] <i>Enanced tab shape in BWidgets notebook widget</i> status still Open with 4 other changes


type: t
brief: Ticket [3308051fff]: 4 changes
comment:
  Ticket [3308051fff] <i>struct::list equal is not commutative in special case</i> status still Open with 4 other changes


type: t
user: bach
brief: Ticket [479935ffff]: 4 changes
comment:
  Ticket [479935ffff] <i>MainFrame font configuration added</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [676976ffff]: 1 change
comment:
  Ticket [676976ffff] <i>Regexp in uri::split allows ',' characters</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [429384ffff]: 2 changes
comment:
  Ticket [429384ffff] <i>execCmd procedure: improved catch/exec </i> status still Open with 2 other changes


type: t
user: dgp
brief: Ticket [1409177fff]: 4 changes
comment:
  Ticket [1409177fff] <i>more secure alternative to [tempfile]</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [2418580fff]: 4 changes
comment:
  Ticket [2418580fff] <i>log debug level is suppressed by default</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [1011102fff]: 5 changes
comment:
  Ticket [1011102fff] <i>counter - dependent on ncgi &amp; html, not in code, nor docs</i> status still Open with 5 other changes


type: t
user: andreas_kupries
brief: Ticket [564071ffff]: 1 change
comment:
  Ticket [564071ffff] <i>doctools - multi-release SYNOPSIS convention</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [3608951fff]: 5 changes
comment:
  Ticket [3608951fff] <i>TEPAM: Help text shows incorrect argument order</i> status still Closed with 5 other changes


type: t
user: andreas_kupries
brief: Ticket [1513342fff]: 6 changes
comment:
  Ticket [1513342fff] <i>tclapps - tclunit counts failures twice</i> status still Open with 6 other changes


type: t
user: cleverly
brief: Ticket [1006282fff]: 4 changes
comment:
  Ticket [1006282fff] <i>Uncaught error when protocol negotiation fails</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Closed ticket [832487ffff].
comment:
  Closed ticket [832487ffff]: <i>pattern arg for profiler::reset not documented</i> plus 7 other changes


type: t
user: nobody
comment:
  Add attachment [/artifact/6a54dd0814dd5491|patch.tcllib.installed_modules.tcl] to ticket [1515267fffffffff]


type: t
user: andreas_kupries
brief: Ticket [756939ffff]: 2 changes
comment:
  Ticket [756939ffff] <i>No way to get a list of only the known keys</i> status still Open with 2 other changes


type: t
user: mpc_janssen
brief: Ticket [1680877fff]: 4 changes
comment:
  Ticket [1680877fff] <i>procedures to get/set ber encoded data independ of tag</i> status still Open with 4 other changes


type: t
user: hobbs
brief: Closed ticket [768610ffff].
comment:
  Closed ticket [768610ffff]: <i>NoteBook can't accept page named &quot;C:\foo\bar&quot;</i> plus 7 other changes


type: t
user: patthoyts
brief: Closed ticket [1727793fff].
comment:
  Closed ticket [1727793fff]: <i>ijbridge: Add nick address to jabber WHOIS return</i> plus 6 other changes


type: t
user: wildcard_25
brief: Ticket [1344350fff]: 7 changes
comment:
  Ticket [1344350fff] <i>Enable browser launch for links in MacOS X</i> status still Closed with 7 other changes


type: t
user: andreas_kupries
brief: Closed ticket [2499603fff].
comment:
  Closed ticket [2499603fff]: <i>fileutil::jail returns wrong results in repeated execution</i> plus 7 other changes


type: t
user: patthoyts
brief: Closed ticket [1470818fff].
comment:
  Closed ticket [1470818fff]: <i>Wrong monthname returned by mime::parsedatetime.</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Closed ticket [3419727fff].
comment:
  Closed ticket [3419727fff]: <i>global variable key is destroyed during file open procedure</i> plus 7 other changes


type: t
user: dev_null42a
brief: Ticket [1027568fff]: 6 changes
comment:
  Ticket [1027568fff] <i>MainFrame: showstatusbar does not restore bottom frame.</i> status still Closed with 6 other changes


type: t
user: andreas_kupries
brief: Ticket [1018733fff]: 5 changes
comment:
  Ticket [1018733fff] <i>nesting record more than 1 level deep fails</i> status still Open with 5 other changes


type: t
user: hobbs
brief: Ticket [586720ffff]: 1 change
comment:
  Ticket [586720ffff] <i>comcmd itemconfigure, few options added</i> status still Open with 1 other change


type: t
user: mic42
brief: Closed ticket [1391776fff].
comment:
  Closed ticket [1391776fff]: <i>asn::asnObjectIdentifier incorrectly encodes OIDs</i> plus 3 other changes


type: t
user: andreas_kupries
brief: Ticket [447037ffff]: 4 changes
comment:
  Ticket [447037ffff] <i>mime::qp_encode failures (64 bit?)</i> status still Closed with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [1267636fff]: 5 changes
comment:
  Ticket [1267636fff] <i>logger: appender and formatter support</i> status still Closed with 5 other changes


type: t
user: nobody
brief: Ticket [1060353fff]: 4 changes
comment:
  Ticket [1060353fff] <i>ldap::search problem with spaces in filter specs</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [224476ffff]: 3 changes
comment:
  Ticket [224476ffff] <i>BWidget - MainFrame::setmenustate broken</i> status still Closed with 3 other changes


type: t
user: patthoyts
brief: Ticket [732597ffff]: 4 changes
comment:
  Ticket [732597ffff] <i>move tcllib doc generation to build step</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [447022ffff]: 1 change
comment:
  Ticket [447022ffff] <i>tcllib packages not immediately loadable</i> status still Open with 1 other change


type: t
user: oehhar
brief: Closed ticket [1492527fff].
comment:
  Closed ticket [1492527fff]: <i>bwidget - Dialog uses tk_messageBox: frozen gui.</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Closed ticket [3603562fff].
comment:
  Closed ticket [3603562fff]: <i>confine crosshair::crosshair to a canvas area</i> plus 6 other changes


type: t
user: vbwagner
brief: Ticket [1408807fff]: 4 changes
comment:
  Ticket [1408807fff] <i>Unversioned dependency on package log</i> status still Open with 4 other changes


type: t
user: pdav
brief: Ticket [1545931fff]: 4 changes
comment:
  Ticket [1545931fff] <i>A proposal for &quot;ldapx&quot;, a new package</i> status still Open with 4 other changes


type: t
user: oehhar
brief: Ticket [3182287fff]: 4 changes
comment:
  Ticket [3182287fff] <i>Themed ComboBox failes due to themed entry widget</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [1348430fff]: 1 change
comment:
  Ticket [1348430fff] <i>math doc should hint at child namespaces</i> status still Open with 1 other change


type: t
user: arjenmarkus
brief: Ticket [1428544fff]: 6 changes
comment:
  Ticket [1428544fff] <i>Incorrect results from math::linearalgebra::matmul</i> status still Closed with 6 other changes


type: t
user: patthoyts
brief: Closed ticket [905906ffff].
comment:
  Closed ticket [905906ffff]: <i>des: problem wit variable options - variable not set</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Ticket [1469593fff]: 4 changes
comment:
  Ticket [1469593fff] <i>csv - Add delimiter support beyond double-quotes</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [1681568fff]: 5 changes
comment:
  Ticket [1681568fff] <i>doctools - add facility to hyperlink between documents</i> status still Open with 5 other changes


type: t
user: petasis
brief: Ticket [1053086fff]: 4 changes
comment:
  Ticket [1053086fff] <i>A new widget for scrolling many widgets with a ScrolledWidge</i> status still Open with 4 other changes


type: t
user: davidw
brief: Ticket [639036ffff]: 4 changes
comment:
  Ticket [639036ffff] <i>resolve doesn't work with url like ?N=D</i> status still Open with 4 other changes


type: t
user: gleusch
brief: New ticket [1099727fff].
comment:
  New ticket [1099727fff] <i>&quot;make install&quot; fails to install apps other than in /usr/bin</i>.


type: t
user: wildcard_25
brief: Ticket [1198196fff]: 4 changes
comment:
  Ticket [1198196fff] <i>Convert bridged entry/exit messages to Traffic Messages</i> status still Open with 4 other changes


type: t
user: oehhar
brief: Ticket [3000293fff]: 4 changes
comment:
  Ticket [3000293fff] <i>ListBox bindtag &lt;Button-1&gt; stops selection</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [704175ffff]: 4 changes
comment:
  Ticket [704175ffff] <i>generalize: doctool .GT. manpage tool</i> status still Open with 4 other changes


type: t
user: duquette
brief: Ticket [1161779fff]: 4 changes
comment:
  Ticket [1161779fff] <i>destructor can't precede constructor</i> status still Open with 4 other changes


type: t
user: dev_null42a
brief: Ticket [1359041fff]: 4 changes
comment:
  Ticket [1359041fff] <i>patch adding -autopost option to ComboBox</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [2182378fff]: 4 changes
comment:
  Ticket [2182378fff] <i>Running nameserv::search results in no such variable error.</i> status still Closed with 4 other changes


type: t
user: mic42
brief: Closed ticket [948273ffff].
comment:
  Closed ticket [948273ffff]: <i>logger::services returns &quot;services&quot;, not $services</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Closed ticket [1800344fff].
comment:
  Closed ticket [1800344fff]: <i>Extra &lt;br&gt; tags before new definition list</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Ticket [709375ffff]: 1 change
comment:
  Ticket [709375ffff] <i>current tcllib test suite failures report</i> status still Open with 1 other change


type: t
user: mic42
brief: Closed ticket [1541828fff].
comment:
  Closed ticket [1541828fff]: <i>modifyDN : new arg, and split search function</i> plus 3 other changes


type: t
user: damonc
brief: Closed ticket [831496ffff].
comment:
  Closed ticket [831496ffff]: <i>BWidget combobox popdown keyboard traversal broken</i> plus 2 other changes


type: t
user: hobbs
brief: Ticket [1091766fff]: 2 changes
comment:
  Ticket [1091766fff] <i>runbench.tcl - documentation not up to date</i> status still Closed with 2 other changes


type: t
user: mic42
brief: Ticket [1393804fff]: 7 changes
comment:
  Ticket [1393804fff] <i>asnPeekByte contains a  typo which prevents it from working</i> status still Closed with 7 other changes


type: t
user: donp1
brief: Ticket [795608ffff]: 4 changes
comment:
  Ticket [795608ffff] <i>tk binding problem in Gnome and Ximian</i> status still Closed with 4 other changes


type: t
user: patthoyts
brief: Ticket [1254937fff]: 2 changes
comment:
  Ticket [1254937fff] <i>Binary files get an extra line feed at the end</i> status still Closed with 2 other changes


type: t
user: oehhar
brief: Ticket [3382519fff]: 1 change
comment:
  Ticket [3382519fff] <i>&quot;Font&quot; option configuration for selected page of NoteBook</i> status still Open with 1 other change


type: t
user: hobbs
brief: Ticket [1886636fff]: 5 changes
comment:
  Ticket [1886636fff] <i>[clock] inside snit::widgetadaptor</i> status still Open with 5 other changes


type: t
user: andreas_kupries
brief: Ticket [1658061fff]: 6 changes
comment:
  Ticket [1658061fff] <i>Poor/misleading diagnostics from smtp::sendmessage</i> status still Open with 6 other changes


type: t
user: arjenmarkus
brief: Ticket [1898189fff]: 4 changes
comment:
  Ticket [1898189fff] <i>Unbalanced parenthesis in elliptic.tcl</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [1634416fff]: 2 changes
comment:
  Ticket [1634416fff] <i>-geometry option to BWidget Dialog undocumented</i> status still Open with 2 other changes


type: t
user: dev_null42a
brief: Ticket [947109ffff]: 4 changes
comment:
  Ticket [947109ffff] <i>font selection dialog up/down bindings</i> status still Open with 4 other changes


type: t
user: rmaris
brief: Ticket [891254ffff]: 1 change
comment:
  Ticket [891254ffff] <i>utils.tcl, place proc: does not place left or top</i> status still Closed with 1 other change


type: t
user: andreas_kupries
brief: Ticket [606141ffff]: 2 changes
comment:
  Ticket [606141ffff] <i>csv bug: empty field in middle of row</i> status still Open with 2 other changes


type: t
user: andreas_kupries
brief: Ticket [1145523fff]: 2 changes
comment:
  Ticket [1145523fff] <i>bwidget - progressbar divide by zero</i> status still Open with 2 other changes


type: t
user: andreas_kupries
brief: Ticket [3315620fff]: 2 changes
comment:
  Ticket [3315620fff] <i>Invalid JSON with values that begin with 0</i> status still Open with 2 other changes


type: t
user: andreas_kupries
brief: Ticket [1540192fff]: 5 changes
comment:
  Ticket [1540192fff] <i>RFE: add comm::comm alias subcmd (similar to interp alias)</i> status still Open with 5 other changes


type: t
user: andreas_kupries
brief: Ticket [3606619fff]: 5 changes
comment:
  Ticket [3606619fff] <i>test fail - pt-peg-to-json-3* *-ultracompact</i> status still Open with 5 other changes


type: t
user: gunzel
brief: Ticket [731759ffff]: 4 changes
comment:
  Ticket [731759ffff] <i>line endings wrong for buildmessage</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [459186ffff]: 7 changes
comment:
  Ticket [459186ffff] <i>counter &amp; stats modules are almost same</i> status still Open with 7 other changes


type: t
user: andreas_kupries
brief: Pending ticket [1791379fff].
comment:
  Pending ticket [1791379fff]: <i>invalid command name &quot;::fileutil::magic::mime&quot;</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Closed ticket [3606620fff].
comment:
  Closed ticket [3606620fff]: <i>test strangeness - math-12.1                  !error reading</i> plus 7 other changes


type: t
user: jgodfrey
brief: Ticket [1155390fff]: 1 change
comment:
  Ticket [1155390fff] <i>app:asteroids: missing music reset</i> status still Closed with 1 other change


type: t
user: andreas_kupries
brief: Ticket [1608793fff]: 2 changes
comment:
  Ticket [1608793fff] <i>Czech message file for tklib's KHIM</i> status still Open with 2 other changes


type: t
user: nemethi
brief: Closed ticket [2159700fff].
comment:
  Closed ticket [2159700fff]: <i>Bug in tablelist when interacting with gridplus</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Ticket [772489ffff]: 1 change
comment:
  Ticket [772489ffff] <i>doctools: document internal cross-referencing</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [827436ffff]: 4 changes
comment:
  Ticket [827436ffff] <i>smtp::sendmail does not send correct ending sequence</i> status still Open with 4 other changes


type: t
user: rkeene
brief: Ticket [2526629fff]: 4 changes
comment:
  Ticket [2526629fff] <i>SPF package is apparently dysfunctional</i> status still Open with 4 other changes


type: t
user: jgodfrey
brief: Ticket [1155390fff]: 6 changes
comment:
  Ticket [1155390fff] <i>app:asteroids: missing music reset</i> status still Closed with 6 other changes


type: t
user: jenglish
brief: Ticket [225308ffff]: 5 changes
comment:
  Ticket [225308ffff] <i>BWidget: tk8.4 breaks Entry widget state option</i> status still Open with 5 other changes


type: t
user: glehner
brief: Ticket [2250870fff]: 4 changes
comment:
  Ticket [2250870fff] <i>improvements for fileutil::traverse</i> status still Open with 4 other changes


type: t
user: keithv
brief: Ticket [2895994fff]: 4 changes
comment:
  Ticket [2895994fff] <i>extend tooltip to the treeview widget</i> status still Open with 4 other changes


type: t
user: nobody
brief: Ticket [748344ffff]: 4 changes
comment:
  Ticket [748344ffff] <i>Bug: packing a Tk listbox into a BWidget ScrolledWindow</i> status still Open with 4 other changes


type: t
user: kennykb
brief: Ticket [909104ffff]: 1 change
comment:
  Ticket [909104ffff] <i>interface: can't send errors to /dev/null</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [1492630fff]: 4 changes
comment:
  Ticket [1492630fff] <i>Installer not creating tcllibc + related uuid issue</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [553773ffff]: 5 changes
comment:
  Ticket [553773ffff] <i>calculus: define and doc scope of funcs</i> status still Open with 5 other changes


type: t
user: oehhar
brief: Closed ticket [1029144fff].
comment:
  Closed ticket [1029144fff]: <i>bwidget listbox multi selection handles ctrl key wrong</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Ticket [3127781fff]: 5 changes
comment:
  Ticket [3127781fff] <i>term::interact::{menu,pager} consume 100% CPU</i> status still Open with 5 other changes


type: t
user: oehhar
brief: Pending ticket [1359028fff].
comment:
  Pending ticket [1359028fff]: <i>ScrolledWidget does not respect -relief upon creation</i> plus 3 other changes


type: t
user: jenglish
brief: Closed ticket [225308ffff].
comment:
  Closed ticket [225308ffff]: <i>BWidget: tk8.4 breaks Entry widget state option</i> plus 6 other changes


type: t
user: andreas_kupries
brief: Ticket [490151ffff]: 1 change
comment:
  Ticket [490151ffff] <i>bugs in ::pop3::retrieve (RetrSlow)</i> status still Open with 1 other change


type: t
user: dargosch
brief: Ticket [3064747fff]: 4 changes
comment:
  Ticket [3064747fff] <i>Failuret to match { and } in parser tools</i> status still Open with 4 other changes


type: t
user: lvirden
brief: Ticket [1021240fff]: 4 changes
comment:
  Ticket [1021240fff] <i>bwidget table of contents in doctools format</i> status still Open with 4 other changes


type: t
user: rich123
brief: Ticket [3090738fff]: 4 changes
comment:
  Ticket [3090738fff] <i>Minor doc typo in graphops manpage</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [3427030fff]: 5 changes
comment:
  Ticket [3427030fff] <i>Memory leak in md5crypt::aprcrypt in tcllib 1.13</i> status still Open with 5 other changes


type: t
user: nobody
brief: Ticket [1391776fff]: 4 changes
comment:
  Ticket [1391776fff] <i>asn::asnObjectIdentifier incorrectly encodes OIDs</i> status still Open with 4 other changes


type: t
user: arjenmarkus
brief: Closed ticket [1784637fff].
comment:
  Closed ticket [1784637fff]: <i>Changes in matmul between vers. 1.0 and 1.0.1</i> plus 7 other changes


type: t
user: dgp
brief: Closed ticket [943994ffff].
comment:
  Closed ticket [943994ffff]: <i>standard doctools target for TEA / Makefile authors</i> plus 6 other changes


type: t
user: mic42
brief: Ticket [1549391fff]: 1 change
comment:
  Ticket [1549391fff] <i>allow decoding as basic ASN type for implicit types</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [1813193fff]: 4 changes
comment:
  Ticket [1813193fff] <i>ftp - FXP - cross server transfer not going through client</i> status still Open with 4 other changes


type: t
user: rheller
brief: Ticket [1435941fff]: 4 changes
comment:
  Ticket [1435941fff] <i>Hanging problem with ComboBox in Dialog</i> status still Open with 4 other changes


type: t
user: andreas_kupries
brief: Closed ticket [3606564fff].
comment:
  Closed ticket [3606564fff]: <i>test fail - can't delete &quot;namespace&quot;: command doesn't exist</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Closed ticket [772491ffff].
comment:
  Closed ticket [772491ffff]: <i>doctools: html out - generate in-document toc (of sections)</i> plus 6 other changes


type: t
user: nobody
brief: Ticket [458011ffff]: 4 changes
comment:
  Ticket [458011ffff] <i>Limitations to the _names_ of nodes </i> status still Closed with 4 other changes


type: t
user: andreas_kupries
brief: Ticket [1680877fff]: 1 change
comment:
  Ticket [1680877fff] <i>procedures to get/set ber encoded data independ of tag</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Ticket [709375ffff]: 7 changes
comment:
  Ticket [709375ffff] <i>current tcllib test suite failures report</i> status still Open with 7 other changes


type: t
user: andreas_kupries
brief: Ticket [1841979fff]: 4 changes
comment:
  Ticket [1841979fff] <i>Tests for grammar::fa::op::toRegexp</i> status still Open with 4 other changes


type: t
user: mic42
brief: Closed ticket [1751871fff].
comment:
  Closed ticket [1751871fff]: <i>ldap::search : too many nested evaluations (infinite loop?)</i> plus 7 other changes


type: t
user: mic42
brief: Closed ticket [1645333fff].
comment:
  Closed ticket [1645333fff]: <i>asnGetContext fails if encoding is primitive </i> plus 7 other changes


type: t
user: patthoyts
brief: Closed ticket [1567320fff].
comment:
  Closed ticket [1567320fff]: <i>hpux, testcase SASL-DIGESTMD5-4.0 starts and hangs</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Ticket [1446320fff]: 1 change
comment:
  Ticket [1446320fff] <i>widget::dialog -modal local option does not work</i> status still Open with 1 other change


type: t
user: andreas_kupries
brief: Closed ticket [459197ffff].
comment:
  Closed ticket [459197ffff]: <i>More fixes in ftpd for the export of the public API</i> plus 7 other changes


type: t
user: andreas_kupries
brief: Ticket [1016865fff]: 5 changes
comment:
  Ticket [1016865fff] <i>md5 test suite causes tcl core dump!</i> status still Open with 5 other changes


type: t
user: andreas_kupries
brief: Ticket [1272899fff]: 1 change
comment:
  Ticket [1272899fff] <i>math::combinatorics - failed tests with Tcl 8.5</i> status still Open with 1 other change


type: t
user: patthoyts
brief: Ticket [809821ffff]: 7 changes
comment:
  Ticket [809821ffff] <i>tkchat 1.119 user info editor problem</i> status still Closed with 7 other changes


type: t
user: andreas_kupries
brief: Ticket [494388ffff]: 4 changes
comment:
  Ticket [494388ffff] <i>Section references &amp; Example sections</i> status still Open with 4 other changes


type: t
user: hobbs
brief: Closed ticket [688227ffff].
comment:
  Closed ticket [688227ffff]: <i>Notebook left side not drawn (0 borderwidth)</i> plus 7 other changes


type: t
user: andreask
brief: Deleted ticket [1007764fff].
comment:
  Deleted ticket [1007764fff]: <i>ctext - Clarifications needed in the documentation</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1007766fff].
comment:
  Deleted ticket [1007766fff]: <i>Add a case-insensitive matching option to ctext</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1008619fff].
comment:
  Deleted ticket [1008619fff]: <i>htmlparse::2tree gets the HTML Doc structure wrong</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1008797fff].
comment:
  Deleted ticket [1008797fff]: <i>bad multiple calls to logging command in log::log</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1011094fff].
comment:
  Deleted ticket [1011094fff]: <i>Restrictions for counter names not documented</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1011096fff].
comment:
  Deleted ticket [1011096fff]: <i>secret undocumented switches to counter::get</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1011102fff].
comment:
  Deleted ticket [1011102fff]: <i>counter - dependent on ncgi &amp; html, not in code, nor docs</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1021240fff].
comment:
  Deleted ticket [1021240fff]: <i>bwidget table of contents in doctools format</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1053086fff].
comment:
  Deleted ticket [1053086fff]: <i>A new widget for scrolling many widgets with a ScrolledWidge</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1116123fff].
comment:
  Deleted ticket [1116123fff]: <i>ncgi.tcl: misunderstands Content-Type: (bug #547274)</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1123327fff].
comment:
  Deleted ticket [1123327fff]: <i>histograms do not handle negative reals correctly.</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1156718fff].
comment:
  Deleted ticket [1156718fff]: <i>comm - Make each connection's serial into a lamport clock</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1191854fff].
comment:
  Deleted ticket [1191854fff]: <i>profiler - No sense to clutter output when total calls = 0</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1213545fff].
comment:
  Deleted ticket [1213545fff]: <i>mime: Provide getheaders and getbody (enhancement)</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1280862fff].
comment:
  Deleted ticket [1280862fff]: <i>profiler - errorInfo modifiable in enter- &amp; leaveHandler</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1316233fff].
comment:
  Deleted ticket [1316233fff]: <i>struct::tree - need more testcases - walk, deserialize</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1329207fff].
comment:
  Deleted ticket [1329207fff]: <i>mimetype, filetype result empty for text files</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1346295fff].
comment:
  Deleted ticket [1346295fff]: <i>plotchart files in release have wrong unix permissions</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1385688fff].
comment:
  Deleted ticket [1385688fff]: <i>pop3 - New retrieval method + minor performance improvement</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1430694fff].
comment:
  Deleted ticket [1430694fff]: <i>smtp or socket issue causes error 400 in Windows XP Pro</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1465066fff].
comment:
  Deleted ticket [1465066fff]: <i>logger does not print correct args when passed multiple args</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1475968fff].
comment:
  Deleted ticket [1475968fff]: <i>comm - use canonical ids for remote host connections</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1491894fff].
comment:
  Deleted ticket [1491894fff]: <i>comm &quot;-listen 0&quot; causes race conditions</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1492630fff].
comment:
  Deleted ticket [1492630fff]: <i>Installer not creating tcllibc + related uuid issue</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1502400fff].
comment:
  Deleted ticket [1502400fff]: <i>add an option to math::statistics::histogram</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1503677fff].
comment:
  Deleted ticket [1503677fff]: <i>Progress bar should display the current and maximum values</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1510449fff].
comment:
  Deleted ticket [1510449fff]: <i>Feature request: Robots exclusion rules parser/checker</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1545306fff].
comment:
  Deleted ticket [1545306fff]: <i>nonce-count for DIGEST-MD5 handled incorrect</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1610665fff].
comment:
  Deleted ticket [1610665fff]: <i>No constant header tokens in ::mime::getheader</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1613224fff].
comment:
  Deleted ticket [1613224fff]: <i>too much braced message header values (::mime::getheader)</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1615255fff].
comment:
  Deleted ticket [1615255fff]: <i>The &quot;notes&quot; in INSTALL.TXT are wrong</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1623653fff].
comment:
  Deleted ticket [1623653fff]: <i>Polygons in pointInPolygon are always closed - no check</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1646625fff].
comment:
  Deleted ticket [1646625fff]: <i>doctools - html backend - backslashes wrong in doc example</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1651842fff].
comment:
  Deleted ticket [1651842fff]: <i>notebook: -raisecmd should be able to forbid raising</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1680877fff].
comment:
  Deleted ticket [1680877fff]: <i>procedures to get/set ber encoded data independ of tag</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1681568fff].
comment:
  Deleted ticket [1681568fff]: <i>doctools - add facility to hyperlink between documents</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1695145fff].
comment:
  Deleted ticket [1695145fff]: <i>doctools - General tree representation as backend API</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1733442fff].
comment:
  Deleted ticket [1733442fff]: <i>elements of htmlparse param list cannot be accessed</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1735135fff].
comment:
  Deleted ticket [1735135fff]: <i>tcllib math::linearalgebra additions (matrix stuff)</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1747945fff].
comment:
  Deleted ticket [1747945fff]: <i>Patch to avoid inflation of the 'statTime' array</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1753433fff].
comment:
  Deleted ticket [1753433fff]: <i>Code and man page for lognormal income distribution library</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1763707fff].
comment:
  Deleted ticket [1763707fff]: <i>::ftp::Get returns &quot;&quot; in mode inline + error</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1779624fff].
comment:
  Deleted ticket [1779624fff]: <i>Execute a command only when debug is active.</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1798413fff].
comment:
  Deleted ticket [1798413fff]: <i>Documenting related commands on one man page</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1799702fff].
comment:
  Deleted ticket [1799702fff]: <i>::ip::reduceToAggregates with weird netmask broken</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1800338fff].
comment:
  Deleted ticket [1800338fff]: <i>dtplite can't find it's matching tcllib if --prefix used</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1800599fff].
comment:
  Deleted ticket [1800599fff]: <i>Generate html redirect pages to sub-commands</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1800608fff].
comment:
  Deleted ticket [1800608fff]: <i>dtplite html output: title, meta keywords + description</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1813193fff].
comment:
  Deleted ticket [1813193fff]: <i>ftp - FXP - cross server transfer not going through client</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1861700fff].
comment:
  Deleted ticket [1861700fff]: <i>Submission: Beta dist and Incomplete Beta Function</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1889835fff].
comment:
  Deleted ticket [1889835fff]: <i>fix for extra CR/LF's inserted into binary file data</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1891251fff].
comment:
  Deleted ticket [1891251fff]: <i>Support of long ylabels in horizontal bar charts</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1927092fff].
comment:
  Deleted ticket [1927092fff]: <i>ncgi documentation - confusing use of term 'session'</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1969144fff].
comment:
  Deleted ticket [1969144fff]: <i>Alternatives, repetition, and list structure</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1977644fff].
comment:
  Deleted ticket [1977644fff]: <i>Using case sensitive accelerator keys for bwidget mainframe</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2002489fff].
comment:
  Deleted ticket [2002489fff]: <i>tree-tcl test 4.4.17 in test suite - error msg difference</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2022905fff].
comment:
  Deleted ticket [2022905fff]: <i>74 test failures with Tcl HEAD (wrong # args)</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2023543fff].
comment:
  Deleted ticket [2023543fff]: <i>S3.test and xsxp.test fail during tcllib make test</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2113728fff].
comment:
  Deleted ticket [2113728fff]: <i>&quot;$type info instances&quot; corrupted after object-creation error</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2144802fff].
comment:
  Deleted ticket [2144802fff]: <i>snit's from command underdocumented, and possible flaw</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2168846fff].
comment:
  Deleted ticket [2168846fff]: <i>tklib test suite for plotchart generates core</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2220159fff].
comment:
  Deleted ticket [2220159fff]: <i>Missing in snitfaq: limitiation on names for options</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2225148fff].
comment:
  Deleted ticket [2225148fff]: <i>struct::list test suite problems against tcl 8.6 cvs head</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [232017ffff].
comment:
  Deleted ticket [232017ffff]: <i>&quot;string&quot; subcommands require at least Tcl8.1</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2414880fff].
comment:
  Deleted ticket [2414880fff]: <i>fix installer.tcl to look for and handle tcllibc</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2440373fff].
comment:
  Deleted ticket [2440373fff]: <i>broken compatibility for cookie with Safari + OS X.5.6</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2526633fff].
comment:
  Deleted ticket [2526633fff]: <i>SPF package fails with hosts with IPv6 specifications</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2787872fff].
comment:
  Deleted ticket [2787872fff]: <i>default standard channel should not be created implicitely</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2798448fff].
comment:
  Deleted ticket [2798448fff]: <i>uri::split makes host to path without scheme</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2798450fff].
comment:
  Deleted ticket [2798450fff]: <i>uri::split provides no user and pwd without (default) scheme</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2812473fff].
comment:
  Deleted ticket [2812473fff]: <i>test-normal description is confusing or wrong</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2829049fff].
comment:
  Deleted ticket [2829049fff]: <i>&quot;failure&quot; or missing feature in &quot;getstring&quot;</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2845453fff].
comment:
  Deleted ticket [2845453fff]: <i>MessageReceiver fails to read sequence byte on empty socket</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2848168fff].
comment:
  Deleted ticket [2848168fff]: <i>signmask incorrect in ::crc::Crc and ::crc::Crc32_tcl</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2861189fff].
comment:
  Deleted ticket [2861189fff]: <i>decode and encode: inconsistent handling of line breaks</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2875035fff].
comment:
  Deleted ticket [2875035fff]: <i>nextNet's count argument does not function as expected</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2907556fff].
comment:
  Deleted ticket [2907556fff]: <i>importFile fails, if the client filename contains a ;</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2962077fff].
comment:
  Deleted ticket [2962077fff]: <i>error if an array element is used as -textvariable</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [2967134fff].
comment:
  Deleted ticket [2967134fff]: <i>json2dict improvements  index json arrays in dict </i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3035986fff].
comment:
  Deleted ticket [3035986fff]: <i>determineSVD gives wrong dimensions in U for m&lt;n</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3036124fff].
comment:
  Deleted ticket [3036124fff]: <i>determineSVD gives wrong dimensions in U for m&lt;n</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3052576fff].
comment:
  Deleted ticket [3052576fff]: <i>Lines starting with # in block scalars are ignored</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3091244fff].
comment:
  Deleted ticket [3091244fff]: <i>parsing doesn't respect pre tag &amp; trims trailing whitespaces</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3106443fff].
comment:
  Deleted ticket [3106443fff]: <i>invalid option processing in tooltip::tooltip</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3107937fff].
comment:
  Deleted ticket [3107937fff]: <i>Manual/Modification: when is autoproxy hooked to http</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3127781fff].
comment:
  Deleted ticket [3127781fff]: <i>term::interact::{menu,pager} consume 100% CPU</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3138526fff].
comment:
  Deleted ticket [3138526fff]: <i>Wrong email server name gives unrelated error message</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3141163fff].
comment:
  Deleted ticket [3141163fff]: <i>Login at hosted accounts in Rest API gdocs API</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3151099fff].
comment:
  Deleted ticket [3151099fff]: <i>fail to send when addr is like foobar.@example.com</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3163579fff].
comment:
  Deleted ticket [3163579fff]: <i>Add a -compress config option for ::http::config</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3304371fff].
comment:
  Deleted ticket [3304371fff]: <i>Add secure IRC (TLS/994) support to pico IRC</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3309165fff].
comment:
  Deleted ticket [3309165fff]: <i>math::bigfloat::isInt returns 1 on non-integers</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3312860fff].
comment:
  Deleted ticket [3312860fff]: <i>Many FTP commands do not handle commands with absolute paths</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3382519fff].
comment:
  Deleted ticket [3382519fff]: <i>&quot;Font&quot; option configuration for selected page of NoteBook</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3427030fff].
comment:
  Deleted ticket [3427030fff]: <i>Memory leak in md5crypt::aprcrypt in tcllib 1.13</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3427858fff].
comment:
  Deleted ticket [3427858fff]: <i>Add secure IRC (TLS/994) support to pico IRC</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3475081fff].
comment:
  Deleted ticket [3475081fff]: <i>Parser accepts invalid YAML input, mistranslates others</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3493711fff].
comment:
  Deleted ticket [3493711fff]: <i>S3: Fix wasteful string conversion of large binary object</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3495047fff].
comment:
  Deleted ticket [3495047fff]: <i>Bug Database link broken on tcllib home page</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3513149fff].
comment:
  Deleted ticket [3513149fff]: <i>exra bracket in nvlist command causes corrupt return value</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3536709fff].
comment:
  Deleted ticket [3536709fff]: <i>huddle get does not accept non-scalar dict keys</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3552226fff].
comment:
  Deleted ticket [3552226fff]: <i>docs specify -part, but the option is -parts</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3567463fff].
comment:
  Deleted ticket [3567463fff]: <i>ctext sends &lt;&lt;Modified&gt;&gt; too often</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3603260fff].
comment:
  Deleted ticket [3603260fff]: <i>Descendants info not reset on profiler::reset</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3609183fff].
comment:
  Deleted ticket [3609183fff]: <i>ooutil::singleton not working when it is used as mixin class</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3610485fff].
comment:
  Deleted ticket [3610485fff]: <i>Validate option default at instance creation</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3612465fff].
comment:
  Deleted ticket [3612465fff]: <i>Spaces around section line specifications should be ignored</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3613644fff].
comment:
  Deleted ticket [3613644fff]: <i>incorrect namespace formatting results in no vars defined</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3613725fff].
comment:
  Deleted ticket [3613725fff]: <i>::rest::get &amp; &quot;format&quot; config option...</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [3613973fff].
comment:
  Deleted ticket [3613973fff]: <i>Does not properly install under windows with cygwin</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [492563ffff].
comment:
  Deleted ticket [492563ffff]: <i>relative domain when parsing email addresses</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [519214ffff].
comment:
  Deleted ticket [519214ffff]: <i>bwidget - TitleFrame: patch for rounded corners</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [564071ffff].
comment:
  Deleted ticket [564071ffff]: <i>doctools - multi-release SYNOPSIS convention</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [618241ffff].
comment:
  Deleted ticket [618241ffff]: <i>ftp::Get &lt;source&gt; -variable &lt;var&gt; bombs</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [681119ffff].
comment:
  Deleted ticket [681119ffff]: <i>bwidget - Add percentage text to progressbar</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [704171ffff].
comment:
  Deleted ticket [704171ffff]: <i>doctools - ease of use - no quoting required</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [704175ffff].
comment:
  Deleted ticket [704175ffff]: <i>doctools - generalize: doctool .GT. manpage tool</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [720933ffff].
comment:
  Deleted ticket [720933ffff]: <i>testsuite makes incorrect assumptions about walk order</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [724822ffff].
comment:
  Deleted ticket [724822ffff]: <i>graph - simply increased functionality in walk</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [726275ffff].
comment:
  Deleted ticket [726275ffff]: <i>distinguish tcllib man pages from other packages</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [763669ffff].
comment:
  Deleted ticket [763669ffff]: <i>Problems with qp_encode and encoded_word, no_softbreak</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [772430ffff].
comment:
  Deleted ticket [772430ffff]: <i>snit: clean up error stacks, hide internals.</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [772489ffff].
comment:
  Deleted ticket [772489ffff]: <i>doctools: latex, add document internal cross-referencing</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [783878ffff].
comment:
  Deleted ticket [783878ffff]: <i>FTP library responding WAY to slow on ftp connect timeout.</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [792796ffff].
comment:
  Deleted ticket [792796ffff]: <i>Let ::mime::parsepart accept a header only with multipart</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [861801ffff].
comment:
  Deleted ticket [861801ffff]: <i>Add a new option parser routine tailored for functions</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [862638ffff].
comment:
  Deleted ticket [862638ffff]: <i>can't read &amp;quot;ftp(Wait)&amp;quot;: no such variable - background error</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [880692ffff].
comment:
  Deleted ticket [880692ffff]: <i>ncgi - = in cgi value breaks parsing of variable/value pairs</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [886385ffff].
comment:
  Deleted ticket [886385ffff]: <i>Enhanced do...while|until [prefix] [suffix] Control Structur</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [917877ffff].
comment:
  Deleted ticket [917877ffff]: <i>Add state readonly for Entry (and LabelEntry)</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [932516ffff].
comment:
  Deleted ticket [932516ffff]: <i>html - many procedures not compatible with prodebug</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [955187ffff].
comment:
  Deleted ticket [955187ffff]: <i>Unknown state &quot;&lt;whatever&gt;_sent&quot;</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [957919ffff].
comment:
  Deleted ticket [957919ffff]: <i>uri::split fails on &quot;http://a.b.c/idx?path=/idx&quot;</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1015402fff].
comment:
  Deleted ticket [1015402fff]: <i>Add cmd to fileutil: which, a wrapper around auto_execok</i> plus 1 other change


type: t
user: andreask
brief: Deleted ticket [1076403fff].
comment:
  Deleted ticket [1076403fff]: <i>html: suggestion for a convenience &quot;tag wrapping&quot; proc</i> plus 1 other change


# attachment

src: 1543256dad79fc9576b286fd6792f316d5ddc721
target: 3584575fffffffffffffffffffffffffffffffff
filename: cmdline.patch
user: amitguptainn
comment:
  Attached file has code changes for this feature request and #3584575. It supports must,file,dir type commandline parameters.


src: 569bf7aaf4472b5d21e891fa048d0c0a1f8c989f
target: 3613162fffffffffffffffffffffffffffffffff
filename: logger.patch
user: amitguptainn
comment:
  Attached is the patch showing code changes for saving log to a file. ''logfile" needs to be set to logfile name for enabling the log saving


src: 6e73380502c198a93d2e627bfe7ea88d193abd00
target: 981605ffffffffffffffffffffffffffffffffff
filename: bwidget_calendar_06282004.patch.gz
user: cmay
comment:
  Gzipped output of diffs with current CVS using -u option, apply with patch -p0 in top source bwidget directory.


src: a86dfa2fe1380d605cb3e19d1bf72e001ed48f63
target: 1935658fffffffffffffffffffffffffffffffff
filename: tkchat-20080406.patch
user: nobody@86.57.139.233
comment:
  tkchat.tcl, tkchat_clock.tcl: If someone change the default font settings, some controls are changed too. Fix that.


src: 580f1bcf8e05ef7f635ef9f2fd8020fab283298d
target: 1254934fffffffffffffffffffffffffffffffff
filename: testmd5.php
user: erl
comment:
  A PHP script to receive an HTTP uploaded file. Despite the name, it doesn't use MD5, just prints the length of the file.


# ticket

tkt_uuid: 1000259fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: win98 demo->DIalog Tab->Abort,Retry,Ignore->Show -- Fails
cmimetype: text/plain
submitter: mkolesn
assignee: damonc
closer: sf-robot
closedate: 2006-10-13T02:20:08
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: 1000716fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: tree
priority: 8
foundin: None
title: Unset of last attribute followed by delete results in error
cmimetype: text/plain
submitter: btheado
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-08-05T03:55:49
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: 1002143fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct
priority: 5 Medium
foundin: None
title: struct::set difference broken under >=Tcl 8.4
cmimetype: text/plain
submitter: maroc
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-08-05T05:44:49
comment:
  struct::set difference [list Maryland DC Virginia]
  [list DC Virginia]
  returns -> Maryland

  However,
  struct::set difference [list "Washington, DC (District
  of Columbia)" Maryland Virginia] [list "Washington, DC
  (District of Columbia)" Virginia]
  returns -> Maryland {Washington, DC }

  Any list element with parens seems to have the parens
  stripped. This doesn't happen under the alternate
  definition of "proc" for Tcl 8.[23]


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

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

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

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

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

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

  Jou


tkt_uuid: 1002936fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: ftpd
priority: 5 Medium
foundin: None
title: ftpd can't handle pathnames with spaces
cmimetype: text/plain
submitter: blacksqr
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-08-05T03:59:53
comment:
  ftpd 1.2+ tcl 8.4.6 and .7

  I start up ftpd on my win machine and use Windows
  Explorer to create a network shortcut.  The contents of
  my C:/ directory appear in Window Explorer as expected.
   I then double-click on "/Program Files" and get empty
  directory listing.  Log output from ftpd shows that
  ftpd tried to get list from "/Program" which is
  non-existent.

  Debugging shows that ::ftpd::command::CWD gets passed
  /Program Files/ as the value of list, then 

  set relativepath [lindex $list 0]

  results in relative path getting the value /Program. 
  The line should be 

  set relativepath [lindex [list $list] 0]

  All the other file access sub-commands seem to handle
  $list the same way.  Perhaps a switch statement in
  ::ftpd::read which properly quotes the value of $list
  in the call to the file access sub-commands would be
  better than fixing each individual command.


tkt_uuid: 1003671fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
title: sourcegraph without arcs can not be copied
cmimetype: text/plain
submitter: bhushit
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-08-05T05:08:08
comment:
  A graph without arcs is possible and useful. Please help!
  I guess it must be a quick fix.

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

  package require Tcl 8.2
  package require struct
  package version struct

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

  Example Output :

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


tkt_uuid: 1003962fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget 1.7 Tree bindings (bindImage, bindText)
cmimetype: text/plain
submitter: treincke
assignee: damonc
closer: oehhar
closedate: 2009-06-30T16:06:42
comment:
  Concerning the tree widget in version 1.7

  When the option -selectfill is active, the bindings for bindImage and 
  bindText will interfere with each other so that calling bindImage 
  before bindText will give a different result that calling bindText before 
  bindImage. This is because both procedures (Tree::bindText and 
  Tree::bindImage) use:


  if {[Widget::getoption $path -selectfill]} {
    path.c bind "box" $event $script
  } else {
    $path.c bind "box" $event {}
  }

  Both procedures change the binding for the "box".

  Calling bindText first, then bindImage will fire the image binding when 
  clicking on the background of the item (provided the binding is bound 
  to <B-1>).


tkt_uuid: 1005377fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: struct :: stack
priority: 9 Immediate
foundin: None
title: struct::stack name collisions
cmimetype: text/plain
submitter: duquette
assignee: andreas_kupries
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: 1005380fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: stack
priority: 9 Immediate
foundin: None
title: stack::struct peek doesn't match docs
cmimetype: text/plain
submitter: duquette
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-08-10T07:40:06
comment:
  The stack::struct man page says of the "peek" subcommand, "If 
  there are no items on the stack, this command will return count 
  empty strings."

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

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

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

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


tkt_uuid: 1005948fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
title: LabelComboBox and LabelSpinBox
cmimetype: text/plain
submitter: oskin
assignee: nobody
closer: hobbs
closedate: 2004-09-14T20:04:38
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: 1006157fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftpd
priority: 5 Medium
foundin: None
title: ftpd LIST response mis-formatted
cmimetype: text/plain
submitter: blacksqr
assignee: gwlester
closer: andreas_kupries
closedate: 2004-10-05T19:16:02
comment:
  ::ftpd's response to the LIST command should be
  formatted similar to the output of "ls -l", including
  owner and group values.  But when ftpd is run on
  Windows, the owner and group fields are simply omitted,
  causing the ftp clients I am working with to mis-parse
  the response.

  I investigated how the ftp server at ftp.microsoft.com
  formats its response to LIST, and I found that it uses
  the generic literal strings "owner" and "group" to fill
  the necessary fields.  So I patched ::ftpd to behave in
  the same way.

  The procedure ::ftpd::fsFile::fs needs the "list"
  option of the switch command replaced with the following:

  list {
      # [ 766112 ] report . and .. directories (linux)
      # Copied the code from 'nlst' above to handle this.

              foreach f [lsort $fileList] {
                          if {[string equal [file tail
  $f] "."] || \
                                  [string equal [file
  tail $f] ".."]} {
                              continue
                          }
  file stat $f stat
                          if {[string equal
  $tcl_platform(platform) "unix"]} {
                              set user [file attributes
  $f -owner]
                              set group [file attributes
  $f -group]
                          } else {
                              set user owner
                              set group group
                          }
      puts $outchan [format "%s %3d %s %8s %11s %s %s" \
              [PermBits $f $stat(mode)] $stat(nlink) \
                              $user $group $stat(size) \
                                      [FormDate
  $stat(mtime)] [file tail $f]]

      }
  }


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

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


tkt_uuid: 1007396fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: graph
priority: 3 Low
foundin: None
title: incomplete options checking on arcs and nodes subcommand
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-09-22T04:49:52
comment:
  I got the following report for cgraph, but the same is
  true for at least tcllib struct::graph v1, maybe v2.

  The problem ist the bad option check on the arcs and
  nodes subcommand that do not check for multiple -key
  occurances of an option, they just take that last one
  without throwing an error. Testsuite should be enhanced
  and either an error thrown or multiple key/values
  should be supported.

  set g [::struct::graph::graph]

  foreach n {n1 n2 n3} {
     $g node insert $n
  }

  foreach source {n1 n2} target {n2 n3} {
      set arc [$g arc insert $source $target]
      $g arc set $arc -key contain $source
  }

  # setup other keys
  $g arc set arc1 -key foo v1
  $g arc set arc2 -key bar v2

  #
  # a useful feature colud be the selections of arcs (and
  nodes) that 
  match multiple keys, as in the following example
  #
  # that, incidentally, work as expected, but I think
  simply use the last 
  key/value pair to do the selection ...
  #
  #
  $g arcs -key contain -value n1 -key foo -value v1

  # this work as expected, it returns arc1
  $g arcs -key contain -key foo

  #
  # this doesnt work, it returns a void list
  #
  $g arcs -key contain -value n1 -key foo

  #
  # this returns a void list, it is right?
  #
  #  peraphs an error should be throwed ...
  #
  $g arcs -value n1


tkt_uuid: 1007762fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tklib :: ctext
priority: 5 Medium
foundin: None
title: Several options not working as expected in ctext widget
cmimetype: text/plain
submitter: arjenmarkus
assignee: georgeps
closer: georgeps
closedate: 2004-09-11T21:18:05
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: 1007764fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: tklib :: ctext
priority: 5 Medium
foundin: None
title: ctext - Clarifications needed in the documentation
cmimetype: text/plain
submitter: arjenmarkus
assignee: georgeps
comment:
  I would like to point out a few missing details in the
  documentation of ctext:

  1. You need to use the command "hightlight" when the
  widget has been filled to get the colouring to show.
  (Presumably also after each new addClass command)

  2. You need to use unique tag names if you want more
  than one regular expression to work for the same
  colouring (e.g. alternative formats for comment)

  3. Line numbering could interfere with the -elide
  option. It appears possible to use the linemap
  facilities to make the two work together, but this has
  not been described in any detail.


tkt_uuid: 1007766fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: tklib: ctext
priority: 5 Medium
foundin: None
title: Add a case-insensitive matching option to ctext
cmimetype: text/plain
submitter: arjenmarkus
assignee: georgeps
comment:
  For my editor of Fortran code I would like to be able
  to use case-insensitive matching of keywords. E.g.
  "subroutine" would match "Subroutine" as well as
  "SUBROUTINE" and any other variations.


tkt_uuid: 1007934fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: None
priority: 5 Medium
foundin: None
title: Typo in man page for struct::pool
cmimetype: text/plain
submitter: eriklns
assignee: afaupell
closer: afaupell
closedate: 2004-08-13T02:03:46
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: 1008455fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: Documentation
priority: 5 Medium
foundin: None
title: online docs incorrectly hyperlink to other modules
cmimetype: text/plain
submitter: afaupell
assignee: jenglish
closer: jenglish
closedate: 2004-08-13T03:08:21
comment:
  for example in the struct::pool page at
  http://tcllib.sourceforge.net/doc/pool.html
  "clear" and "destroy" are linked to the stack module.


tkt_uuid: 1008619fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: htmlparse
priority: 5 Medium
foundin: None
title: htmlparse::2tree gets the HTML Doc structure wrong
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
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: 1008797fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: log
priority: 5 Medium
foundin: None
title: bad multiple calls to logging command in log::log
cmimetype: text/plain
submitter: eriklns
assignee: andreas_kupries
comment:
  When the text to log consists of multiple lines, this
  results in calling the logging command as many times as
  there are lines.

  After inspecting the code, I saw that around line 672
  (in tcllib release 1.6), a change has been introduced
  to correctly handle log texts that consist of multiple
  lines.

  The relevant code snippet is:

  foreach line [split $text \n] {
       eval [linsert $cmd end $level $line]
  }

  This causes the logging command to be called repeatedly
  for a  single log text (which did not happen in the log
  extension that resided in tcllib release 1.3 for example).


tkt_uuid: 1009003fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: struct :: graph
priority: 5 Medium
foundin: None
title: "graph arcs -in, -out" broken?
cmimetype: text/plain
submitter: bhushit
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-08-16T04:28:32
comment:
  I can't thank you enough for support. ::struct::graph 
  can save my project. 

  In the following program using ::struct version 2.0, I 
  expected to see no loops and exactly 2 arcs between 2 
  dissimilar nodes. I am getting something different.

  BTW, I have applied your earlier change for null graphs 
  before running this.

  Thanks in advance,
  -Bhushit

  ######### graph1.tcl ###########
  package require struct
  puts [ package versions struct ]
  set x [ ::struct::graph ]
  puts "created $x"

  set a [ $x node insert ]
  set b [ $x node insert ]

  set c [ $x arc insert $a $b ]
  set d [ $x arc insert $b $a ]
  puts "inserted $c from $a to $b"
  puts "inserted $d from $b to $a"

  set e [ $x arc insert $a $b ]
  set f [ $x arc insert $b $a ]
  puts "inserted $e from $a to $b"
  puts "inserted $f from $b to $a"

  foreach n1 [ $x nodes ] {
      foreach n2 [ $x nodes ] {
  foreach arc [ $x arcs -out $n1 -in $n2 ] {
      puts "from $n1 to $n2 : $arc"
  }
      }
  }

  ######## output #########
  expectk5.40.0 > source graph1.tcl
  2.0 1.4 1.3
  created ::graph9
  inserted arc1 from node1 to node2
  inserted arc2 from node2 to node1
  inserted arc3 from node1 to node2
  inserted arc4 from node2 to node1
  from node2 to node2 : arc1
  from node2 to node2 : arc3
  from node2 to node2 : arc1
  from node2 to node2 : arc3
  from node2 to node1 : arc1
  from node2 to node1 : arc3
  from node2 to node1 : arc2
  from node2 to node1 : arc4
  from node1 to node2 : arc2
  from node1 to node2 : arc4
  from node1 to node2 : arc1
  from node1 to node2 : arc3
  from node1 to node1 : arc2
  from node1 to node1 : arc4
  from node1 to node1 : arc2
  from node1 to node1 : arc4

  ###### expected output #######
  expectk5.40.0 > source graph1.tcl
  2.0 1.4 1.3
  created ::graph9
  inserted arc1 from node1 to node2
  inserted arc2 from node2 to node1
  inserted arc3 from node1 to node2
  inserted arc4 from node2 to node1
  from node2 to node1 : arc2
  from node2 to node1 : arc4
  from node1 to node2 : arc1
  from node1 to node2 : arc3

  ### Difference between 2.0 and my graph.tcl ###
  ### < mine, > released ###

  1134,1139c1134
  <     if { [ info exists ina ] } {
  <       unset ina
  <     }
  <     if { [ info exists outa ] } {
  <       unset outa
  <     }
  ---
  >     unset ina outa
  1145,1147c1140
  <     if { [ info exists arcn ] } {
  <       unset arcn
  <     }
  ---
  >     unset arcn
  2703,2708d2695
  < 
  <     array set nodeAttr  {}
  <     array set arcAttr   {}
  <     array set inArcs    {}
  <     array set outArcs   {}
  <     array set arcNodes  {}


tkt_uuid: 1009543fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Rejected
subsystem: None
priority: 5 Medium
foundin: None
title: Better handling of up/down in text widgets
cmimetype: text/plain
submitter: lio_lion
assignee: nobody
closer: andreas_kupries
closedate: 2004-08-18T16:04:14
comment:
  This is in regards to the tk text windows.

  I find that the up/down keys do not work as one would
  expect in a text box that includes wrapped lines. It
  does not go to the character immediately above, rather
  goes to the character at the same index in the 'line'
  above which could actually be a number of lines up.

  Therefore I recommend changing the ::tk::TextUpDownLine
  to something more along the lines of below.

  Just a quick note it is not fully complete. I have not
  added the ::tk::Priv as before (which should be added)
  and there is a small bug with it when the cursor is at
  the very end of the line, although I believe that bug
  is due possibly to a bug in the return of [$inputbox
  bbox insert] when the character is at the end of the line.
  I also have it as 2 fucntions which could be
  reorganised to be 1 function as the old code.

  #///////////////////////////////////////////////////////////////////////////////
  # UpKeyPressed (inputbox)
  # Called by a window when the user uses the up key in
  a text box. It returns
  # the index of the character 1 line above the
  insertion cursor
  proc UpKeyPressed { inputbox } {
  $inputbox see insert

  set bbox [$inputbox bbox insert]
  set xpos [expr [lindex $bbox 0]+[lindex $bbox 2]/2]
  set ypos [lindex $bbox 1]
  set height [lindex $bbox 3]
  if { $ypos > $height } {
  return [$inputbox index "@$xpos,[expr $ypos-$height]"]
  } else {
  $inputbox yview scroll -1 units
  update
  set ypos [lindex [$inputbox bbox insert] 1]
  set height [lindex [$inputbox bbox insert] 3]
  if { $ypos > $height } {
  return [$inputbox index "@$xpos,[expr $ypos-$height]"]
  }
  }
  return [$inputbox index insert]
  }
  #///////////////////////////////////////////////////////////////////////////////


  #///////////////////////////////////////////////////////////////////////////////
  # DownKeyPressed (inputbox)
  # Called by a window when the user uses the down key
  in a text box. It returns
  # the index of the character 1 line below the
  insertion cursor
  proc DownKeyPressed { inputbox } {
  $inputbox see insert

  set bbox [$inputbox bbox insert]
  set xpos [expr [lindex $bbox 0]+[lindex $bbox 2]/2]
  set ypos [lindex $bbox 1]
  set height [lindex $bbox 3]
  set inputboxheight [lindex [$inputbox configure
  -height] end]
  if { [expr $ypos+$height] < [expr
  $inputboxheight*$height] } {
  return [$inputbox index "@$xpos,[expr $ypos+$height]"]
  } else {
  $inputbox yview scroll +1 units
  update
  set ypos [lindex [$inputbox bbox insert] 1]
  set height [lindex [$inputbox bbox insert] 3]
  set inputboxheight [lindex [$inputbox configure
  -height] end]
  if { [expr $ypos+$height] < [expr
  $inputboxheight*$height] } {
  return [$inputbox index "@$xpos,[expr $ypos+$height]"]
  }
  }
  return [$inputbox index insert]
  }
  #///////////////////////////////////////////////////////////////////////////////


tkt_uuid: 1011094fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: counter
priority: 2
foundin: None
title: Restrictions for counter names not documented
cmimetype: text/plain
submitter: mic42
assignee: welch
comment:
  The counter names are not arbitrary strings, strings
  containing namespace qualifiers are simply not working:

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

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

  Just documenting it might be enough.


tkt_uuid: 1011096fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: counter
priority: 2
foundin: None
title: secret undocumented switches to counter::get
cmimetype: text/plain
submitter: mic42
assignee: welch
comment:
  counter::get has several switches that are not
  documented, but sound useful -maxPerMinute,
  -maxPerHour, -maxPerDay

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

  if they get exposed, throw a more helpful error message


tkt_uuid: 1011102fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: counter
priority: 9 Immediate
foundin: None
title: counter - dependent on ncgi & html, not in code, nor docs
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
comment:
  The HTML generation facilities of the counter package
  depend on the html and ncgi packages, but do not
  require them or check if they are present.

  Either the html generation code should be moved out of
  the counter package or be protected with appropriate
  checks/lazy pkg requires if html generation is used.


tkt_uuid: 1011831fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: ncgi
priority: 5 Medium
foundin: None
title: should use the same code as http package
cmimetype: text/plain
submitter: davidw
assignee: nobody
comment:
  ncgi should use the http package's mapReply command to
  do encoding instead of copying the code verbatim. 
  Promote code-reuse!

  Thanks
  Dave


tkt_uuid: 1014795fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: base64
priority: 5 Medium
foundin: None
title: tcl crashes when I b64 encode files
cmimetype: text/plain
submitter: lucianoes
assignee: andreas_kupries
comment:
  I have a few files I want to encode into base64. Some are small, others are around 4 or 5 Mb. It takes so long to encode the large ones that I just kill the process and give up.

  But my attention caught the fact that one particular file always crasheed wish or tclsh. It is a 4,731,340-byte ZIP file. The file is OK, I can open it like any other. Whenever I try to encode it with ::base64::encode, however, I get this window title...

  Fatal Error in Wish

  ... and this error message:

  unable to realloc 5857536 bytes

  It also occurs with tclsh, except for the "Fatal Error in Wish" title, of course.

  So I went after a few 4 or 5-Mb zip files in my disk, did some more testing and saw that roughly 7 out of every 10 files make wish.exe crash.

  Intrigued by the "5857536" figure, I went after bigger files: 7 Mb, 8 Mb, 15 Mb, 24 Mb and 65 Mb. About 10 of them. Sometimes I get a different figure, "9326961" appeared twice, but "5857536" still is the most frequent one.

  I stil can use Cygwin-based b64.exe. No problems with that one.

  Now I am using ActiveTcl 8.4.7, but I also saw the problem in 8.4.6.

  My OS is Windows 98 SE.


tkt_uuid: 1015402fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: fileutil
priority: 5 Medium
foundin: None
title: Add cmd to fileutil: which, a wrapper around auto_execok
cmimetype: text/plain
submitter: certgen
assignee: andreas_kupries
comment:
  I have added a which package to the tcllib v1.4 library
  we are shipping with our Quartus II software developed
  here at Altera. I thought I'd submit the package back
  to the tcllib team for possible consideration as a
  standard tcllib package. This is a pure-Tcl which
  implementation that has the same interface on
  Windows/Unix (eases cross-platform scripting a bit).
  There's not much too it. It doesn't support MacOS (we
  don't ship for MacOS so I have no way to test it) but
  it shouldn't be hard to extend to the Mac platform.


tkt_uuid: 1016141fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: pop3d
priority: 5 Medium
foundin: None
title: pop3d test suite reports package version conflict
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-08-26T15:52:58
comment:
  platform: sparc solaris 8
  tcl: 8.5a2 cvs snapshot
  tcllib: latest cvs snapshot

  From: "Andreas Kupries" <andreask@activestate.com>

  > Module: pop3
  > modules/pop3/pop3.test
  > - tcltest 2.2.6
  > - pop3    1.6.1
  >
  > Module: pop3d
  > modules/pop3d/pop3d.test
  > skipped pop3d.test: conflicting versions provided for
  package
  > "md5": 2.0.1, then 1.4.3
  > modules/pop3d/pop3d_dbox.test
  > skipped pop3d_dbox.test: conflicting versions
  provided for
  > package "md5": 2.0.1, then 1.4.3
  > modules/pop3d/pop3d_udb.test
  > - pop3d::udb 1.1
  >
  > Any ideas what might be going on here?

  Something loaded the v1 md5, some other part wants md5
  v2, and the package
  system of the core balks at the conflict. Bug.


tkt_uuid: 1016865fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: md5
priority: 9 Immediate
foundin: None
title: md5 test suite causes tcl core dump!
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-10-06T21:12:17
comment:
  platform: sparc sunblade 100 solaris 8, sun c compiler,
  tcl 8.4.7, tcllib latest cvs snapshot - this has been
  going on for a day or so now.


  Module: md5
  modules/md5/md5.test
  - md5 1.4.3 (Trf based)
  modules/md5/md5x.test
  - md5 2.0.1 (Trf based)

  Module: md5crypt
  modules/md5crypt/md5crypt.test
  - md5crypt 1.0.0 (pure Tcl)
  child killed: bus error
      while executing
  "exec [info nameofexecutable]  [file join $distribution
  all.tcl]  -modules $modules  >@ stdout 2>@ s
  tderr"
      (procedure "__test" line 10)
      invoked from within
  "__$cmd"
      (file "../sak.tcl" line 1593)
  gmake: *** [test] Error 1

  The stack trace is a bit peculiar:
   $ dbx /usr/tcl84/bin/tclsh8.4 core
  Reading tclsh8.4
  core file header read successfully
  Reading ld.so.1
  Reading libtcl8.4g.so
  Reading libdl.so.1
  Reading libsocket.so.1
  Reading libnsl.so.1
  Reading libm.so.1
  Reading libc.so.1
  Reading libmp.so.2
  Reading libc_psr.so.1
  Reading libtk8.4g.so
  Reading libX11.so.4
  Reading libXext.so.0
  Reading libTrf2.1g.so
  Reading libz.so
  Reading libmemchan.so
  program terminated by signal BUS (invalid address
  alignment)
  dbx: warning: can't find file
  "/vol/tclsrcsol/tcl84/trf/md5.o"
  dbx: warning: see `help finding-files'
  0xfec5d4d8: md5_process_block+0x0130:   ld      [%l0], %l5
  dbx: warning: can't find file
  "/vol/tclsrcsol/tcl84/trf/md5dig.o"
  dbx: warning: can't find file
  "/vol/tclsrcsol/tcl84/trf/digest.o"
  dbx: warning: can't find file
  "/vol/tclsrcsol/tcl84/trf/registry.o"
  Current function is FlushChannel
   2078                   &errorCode);
  (dbx 1) where                                         
                 
    [1] md5_process_block(0xff00, 0xd76aa478, 0xff00,
  0xffbe80c0, 0x61, 0x5a71dc), at 0xfec5d4d8
    [2] md5_process_bytes(0x5a93a0, 0xc8, 0x5a71c0,
  0x5aa3b0, 0x719, 0x5aa3b8), at 0xfec5d324
    [3] MDmd5_UpdateBuf(0x5a71c0, 0x5a93a0, 0xc8, 0x1030,
  0x2234c, 0xfefc1ce4), at 0xfec45f7c
    [4] EncodeBuffer(0x2453e0, 0x5a93a0, 0xc8, 0x0,
  0xfec77ad8, 0x19e94c), at 0xfec44244
    [5] TrfOutput(0x5a7128, 0x5a93a0, 0xc8, 0xffbe8330,
  0x16ee4d, 0xff332b01), at 0xfec30d94
  =>[6] FlushChannel(interp = (nil), chanPtr = 0x270560,
  calledFromAsyncFlush = 0), line 2078 in "tclIO.c"
    [7] CheckFlush(chanPtr = 0x270560, bufPtr = 0x5a9380,
  newlineFlag = 0), line 3429 in "tclIO.c"
    [8] WriteBytes(chanPtr = 0x270560, src = 0x5a2fa0
  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  srcLen = 200), line 3040 in "tclIO.c"
    [9] Tcl_WriteObj(chan = 0x34ecd0, objPtr = 0x1fdfa8),
  line 2957 in "tclIO.c"
    [10] Tcl_PutsObjCmd(dummy = (nil), interp = 0x1fa328,
  objc = 4, objv = 0x19e9a4), line 132 in "tclIOCmd.c"
    [11] TclEvalObjvInternal(interp = 0x1fa328, objc = 4,
  objv = 0x19e9a4, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [12] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0xba750), line 1404 in "tclExecute.c"
    [13] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x19a088), line 982 in "tclExecute.c"
    [14] TclObjInterpProc(clientData = 0x1b3a70, interp =
  0x1fa328, objc = 3, objv = 0x19e998), line 1100 in
  "tclProc.c"
    [15] InvokeImportedCmd(clientData = 0x110bc8, interp
  = 0x1fa328, objc = 3, objv = 0x19e998), line 1476 in
  "tclNamesp.c"
    [16] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x19e998, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [17] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x3551e8), line 1404 in "tclExecute.c"
    [18] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x16aae0), line 982 in "tclExecute.c"
    [19] TclObjInterpProc(clientData = 0x3562b8, interp =
  0x1fa328, objc = 4, objv = 0xffbe9424), line 1100 in
  "tclProc.c"
    [20] TclEvalObjvInternal(interp = 0x1fa328, objc = 4,
  objv = 0xffbe9424, command = 0xff35b5e4 "", length = 0,
  flags = 524288), line 3087 in "tclBasic.c"
    [21] Tcl_EvalObjv(interp = 0x1fa328, objc = 4, objv =
  0xffbe9424, flags = 524288), line 3203 in "tclBasic.c"
    [22] AliasObjCmd(clientData = 0x24aa10, interp =
  0x1fa328, objc = 3, objv = 0xffbe95a8), line 1486 in
  "tclInterp.c"
    [23] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0xffbe95a8, command = 0x150b09
  "::md5crypt::md5crypt $passwd $salt\n    ", length =
  35, flags = 0), line 3087 in "tclBasic.c"
    [24] Tcl_EvalEx(interp = 0x1fa328, script = 0x150b00
  "\n        ::md5crypt::md5crypt $passwd $salt\n    ",
  numBytes = 48, flags = 262144), line 3683 in "tclBasic.c"
    [25] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x1611e0, flags = 262144), line 4000 in "tclBasic.c"
    [26] Tcl_UplevelObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 1, objv = 0x19e994), line 674 in
  "tclProc.c"  [27] TclEvalObjvInternal(interp =
  0x1fa328, objc = 3, objv = 0x19e98c, command = (nil),
  length = 0, flags = 0), line 3087 in "tclBasic.c"
    [28] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x34f618), line 1404 in "tclExecute.c"
    [29] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x2ae910), line 982 in "tclExecute.c"
    [30] TclObjInterpProc(clientData = 0x247cb0, interp =
  0x1fa328, objc = 3, objv = 0x304960), line 1100 in
  "tclProc.c"
    [31] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x304960, command = 0xff35b5e4 "", length = 0,
  flags = 262144), line 3087 in "tclBasic.c"
    [32] Tcl_EvalObjv(interp = 0x1fa328, objc = 3, objv =
  0x304960, flags = 262144), line 3203 in "tclBasic.c"
    [33] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x96b98, flags = 262144), line 3997 in "tclBasic.c"
    [34] Tcl_UplevelObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 1, objv = 0x19e988), line 674 in
  "tclProc.c"
    [35] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x19e980, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [36] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x371de0), line 1404 in "tclExecute.c"
    [37] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x1f9a68), line 982 in "tclExecute.c"
    [38] TclObjInterpProc(clientData = 0x25fa80, interp =
  0x1fa328, objc = 3, objv = 0x1a8348), line 1100 in
  "tclProc.c"
    [39] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x1a8348, command = 0xff35b5e4 "", length = 0,
  flags = 262144), line 3087 in "tclBasic.c"
    [40] Tcl_EvalObjv(interp = 0x1fa328, objc = 3, objv =
  0x1a8348, flags = 262144), line 3203 in "tclBasic.c"
    [41] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x24f138, flags = 262144), line 3997 in "tclBasic.c"
    [42] Tcl_UplevelObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 1, objv = 0x19e97c), line 674 in
  "tclProc.c"
    [43] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x19e974, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [44] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x37ad00), line 1404 in "tclExecute.c"
    [45] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x250c70), line 982 in "tclExecute.c"
    [46] TclObjInterpProc(clientData = 0x12d048, interp =
  0x1fa328, objc = 5, objv = 0x19e960), line 1100 in
  "tclProc.c"
    [47] InvokeImportedCmd(clientData = 0x2527d8, interp
  = 0x1fa328, objc = 5, objv = 0x19e960), line 1476 in
  "tclNamesp.c"
    [48] TclEvalObjvInternal(interp = 0x1fa328, objc = 5,
  objv = 0x19e960, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [49] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x8a6a0), line 1404 in "tclExecute.c"  [50]
  TclCompEvalObj(interp = 0x1fa328, objPtr = 0x98848),
  line 982 in "tclExecute.c"
    [51] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x98848, flags = 0), line 4012 in "tclBasic.c"
    [52] Tcl_ForeachObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 4, objv = 0xffbeb750), line 1863 in
  "tclCmdAH.c"
    [53] TclEvalObjvInternal(interp = 0x1fa328, objc = 4,
  objv = 0xffbeb750, command = 0x2a6408 "foreach {n salt
  passwd expected} [list \\n    1    {a}  {} 
  {$1$a$8CfZSfErbeskipdhZHtvu.} \\n    2    {a}  {a}
  {$1$a$44cUw6Nm5bX0muHWNIwub0} \\n    3    {a}  [string
  repeat a  100] {$1$a$vTAcWEblAgdUlX6KBz0NM.} \\n    4 
    {a}  [string repeat a  200]
  {$1$a$kC.K4D6mvUznpkjWJK8Tm0} \\n    5    {a}  [string
  repeat a  400] {$1$a$nBvNVTsAryOnHlW7L/gzf/} \\n    6 
    {a}  [string repeat a 1000]
  {$1$a$yhNnTV4IKHbl8oEB/eJaj0} \\n] {\n    test
  md5passwd-4.${n} {md5crypt check passwd} {\n       
  ::md5crypt::md5crypt $passwd $s" ..., length = 800,
  flags = 0), line 3087 in "tclBasic.c"
    [54] Tcl_EvalEx(interp = 0x1fa328, script = 0x2a55c8
  "# -*- tcl -*-\n# md5crypt.test:  tests for the
  md5crypt commands\n#\n# This file contains a collection
  of tests for one or more of the Tcllib\n# commands. 
  Sourcing this file into Tcl runs the tests and
  generates\n# output for errors.  No output means no
  errors were found.\n#\n# Copyright (C) 2003 Pat Thoyts
  <patthoyts@users.sourceforge.net>\n#\n# RCS: @(#) $Id:
  md5crypt.test,v 1.5 2004/02/14 05:59:21 andreas_kupries
  Exp $\n\n#
  -------------------------------------------------------------------------\n#
  Initialize the " ..., numBytes = 5337, flags = 0), line
  3683 in "tclBasic.c"
    [55] Tcl_FSEvalFile(interp = 0x1fa328, pathPtr =
  0x250628), line 1749 in "tclIOUtil.c"
    [56] Tcl_SourceObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 2, objv = 0x19e958), line 1058 in
  "tclCmdMZ.c"
    [57] TclEvalObjvInternal(interp = 0x1fa328, objc = 2,
  objv = 0x19e958, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [58] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x1c0a30), line 1404 in "tclExecute.c"
    [59] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x2321c0), line 982 in "tclExecute.c"
    [60] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x2321c0, flags = 0), line 4012 in "tclBasic.c"
    [61] Tcl_CatchObjCmd(dummy = (nil), interp =
  0x1fa328, objc = 3, objv = 0x19e94c), line 254 in
  "tclCmdAH.c"
    [62] TclEvalObjvInternal(interp = 0x1fa328, objc = 3,
  objv = 0x19e94c, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [63] TclExecuteByteCode(interp = 0x1fa328, codePtr =
  0x12ba00), line 1404 in "tclExecute.c"
    [64] TclCompEvalObj(interp = 0x1fa328, objPtr =
  0x163978), line 982 in "tclExecute.c"
    [65] Tcl_EvalObjEx(interp = 0x1fa328, objPtr =
  0x163978, flags = 0), line 4012 in "tclBasic.c"
    [66] SlaveEval(interp = 0x23858, slaveInterp =
  0x1fa328, objc = 1, objv = 0x254b4), line 2094 in
  "tclInterp.c"
    [67] SlaveObjCmd(clientData = 0x1fa328, interp =
  0x23858, objc = 3, objv = 0x254ac), line 1933 in
  "tclInterp.c"
    [68] TclEvalObjvInternal(interp = 0x23858, objc = 3,
  objv = 0x254ac, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"

    [69] TclExecuteByteCode(interp = 0x23858, codePtr =
  0x152030), line 1404 in "tclExecute.c"
    [70] TclCompEvalObj(interp = 0x23858, objPtr =
  0x4de78), line 982 in "tclExecute.c"
    [71] Tcl_EvalObjEx(interp = 0x23858, objPtr =
  0x4de78, flags = 0), line 4012 in "tclBasic.c"
    [72] Tcl_ForeachObjCmd(dummy = (nil), interp =
  0x23858, objc = 4, objv = 0x2549c), line 1863 in
  "tclCmdAH.c"
    [73] TclEvalObjvInternal(interp = 0x23858, objc = 4,
  objv = 0x2549c, command = (nil), length = 0, flags =
  0), line 3087 in "tclBasic.c"
    [74] TclExecuteByteCode(interp = 0x23858, codePtr =
  0xb2548), line 1404 in "tclExecute.c"
    [75] TclCompEvalObj(interp = 0x23858, objPtr =
  0x31300), line 982 in "tclExecute.c"
    [76] Tcl_EvalObjEx(interp = 0x23858, objPtr =
  0x31300, flags = 0), line 4012 in "tclBasic.c"
    [77] Tcl_ForeachObjCmd(dummy = (nil), interp =
  0x23858, objc = 4, objv = 0xffbecda8), line 1863 in
  "tclCmdAH.c"
    [78] TclEvalObjvInternal(interp = 0x23858, objc = 4,
  objv = 0xffbecda8, command = 0x34c55 "foreach module
  $modules {\n    set ::tcltest::testsDirectory [file
  join $root modules $module]\n\n    if { ![file
  isdirectory $::tcltest::testsDirectory] } {\n^Iputs
  stdout "unknown module $module"\n    }\n\n    set
  auto_path $old_apath\n    set auto_path [linsert
  $auto_path 0 $::tcltest::testsDirectory]\n\n    #
  foreach module, make a slave interp and source that
  module's tests into\n    # the slave.  This isolates
  the test suites from one another.\n    puts stdout
  "Module:\t[file tail $module]"\n    set c [interp
  creat" ..., length = 3554, flags = 0), line 3087 in
  "tclBasic.c"
    [79] Tcl_EvalEx(interp = 0x23858, script = 0x33de8 "#
  all.tcl --\n#\n# This file contains a top-level script
  to run all of the Tcl\n# tests.  Execute it by invoking
  "tclsh all.test" in this directory.\n#\n# To test a
  subset of the modules, invoke it by 'tclsh all.test
  -modules "<module list>"'\n#\n# Copyright (c) 1998-2000
  by Ajuba Solutions.\n# All rights reserved.\n# \n# RCS:
  @(#) $Id: all.tcl,v 1.19 2004/08/10 07:01:30
  andreas_kupries Exp $\n\nset old_auto_path
  $auto_path\n\nif {[lsearch [namespace children]
  ::tcltest] == -1} {\n    namespace eval ::tcltest {}\n
     proc " ..., numBytes = 7355, flags = 0), line 3683
  in "tclBasic.c"
    [80] Tcl_FSEvalFile(interp = 0x23858, pathPtr =
  0x2c8f8), line 1749 in "tclIOUtil.c"
    [81] Tcl_Main(argc = 3, argv = 0xffbed3f0,
  appInitProc = 0x10820 = &Tcl_AppInit(Tcl_Interp
  *interp)), line 292 in "tclMain.c"
    [82] main(argc = 4, argv = 0xffbed3ec), line 90 in
  "tclAppInit.c"
  (dbx 2) 


tkt_uuid: 1016869fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math
priority: 5 Medium
foundin: None
title: math test suite failures in latest cvs snapshot
cmimetype: text/plain
submitter: lvirden
assignee: arjenmarkus
closer: andreas_kupries
closedate: 2004-09-22T03:55:43
comment:
  sparc sunblad 100 solaris 8 sun c compiler
  tcl 8.4.7

  Module: math
  modules/math/bessel.test
  couldn't read file "polynomials.tcl": no such file or
  directory
      while executing
  "source "polynomials.tcl""
      (file
  "/vol/tclsrcsol/tcl84/tcllib/modules/math/classic_polyns.tcl"
  line 4)
      invoked from within
  "source [file join [file dirname [info script]]
  "classic_polyns.tcl"]"
      (file
  "/vol/tclsrcsol/tcl84/tcllib/modules/math/special.tcl"
  line 165)
      invoked from within
  "source [file join [file dirname [info script]]
  special.tcl]"
      (file
  "/vol/tclsrcsol/tcl84/tcllib/modules/math/bessel.test"
  line 21)
      invoked from within
  "source [pSet file]"
  modules/math/calculus.test
  modules/math/combinatorics.test
  modules/math/constants.test
  modules/math/elliptic.test
  can't import command "Beta": already exists
      while executing
  "namespace import ::math::Beta"
      (in namespace eval "::math::special" script line 11)
      invoked from within
  "namespace eval ::math::special {
      #
      # Define a number of common mathematical constants
      #
      ::math::constants::constants pi
      variable h..."
      (file
  "/vol/tclsrcsol/tcl84/tcllib/modules/math/special.tcl"
  line 19)
      invoked from within
  "source [file join [file dirname [info script]]
  "special.tcl"]"
      (file
  "/vol/tclsrcsol/tcl84/tcllib/modules/math/elliptic.test"
  line 16)
      invoked from within
  "source [pSet file]"
  modules/math/fuzzy.test
  math::fuzzy 0.2
  modules/math/geometry.test
  math::geometry 1.0.1
  modules/math/interpolate.test
  modules/math/math.test
  math 1.2.2
  modules/math/optimize.test
  modules/math/polynomials.test
  can't import command "saveState": already exists
      while executing
  "namespace import ::tcltest::*"
      (file
  "/vol/tclsrcsol/tcl84/tcllib/modules/math/polynomials.test"
  line 6)
      invoked from within
  "source [pSet file]"
  modules/math/qcomplex.test
  modules/math/special.test
  can't import command "Beta": already exists
      while executing
  "namespace import ::math::Beta"
      (in namespace eval "::math::special" script line 11)
      invoked from within
  "namespace eval ::math::special {
      #
      # Define a number of common mathematical constants
      #
      ::math::constants::constants pi
      variable h..."
      (file
  "/vol/tclsrcsol/tcl84/tcllib/modules/math/special.tcl"
  line 19)
      invoked from within
  "source [file join [file dirname [info script]]
  special.tcl]"
      (file
  "/vol/tclsrcsol/tcl84/tcllib/modules/math/special.test"
  line 21)
      invoked from within
  "source [pSet file]"
  modules/math/statistics.test


tkt_uuid: 1017743fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: pop3d
priority: 5 Medium
foundin: None
title: pop3d test suite failure
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-10-23T04:46:44
comment:
  platform: sparc blade 100 solaris 8 sun c compiler tcl
  8.4.7 latest tcllib cvs snapshot (from aug 26, 2004).

  I am seeing the following error messages

  Module: pop3d
  modules/pop3d/pop3d.test
  - pop3d 1.0.2
  - udb   1.1
  - dbox  1.0.1
  - mime  1.4
  - md5   2.0.1
  NONE
  can't read "conn()": no such element in array
      while executing
  "upvar $conn($sock) cstate"
      ("state" arm line 6)
      invoked from within
  "switch -exact -- $cmd {
          list {
              if {[llength $args] > 0} {
                  return -code error "wrong # args:
  should be \"$name conn list\""
              }
              return ..."
      (procedure "::pop3d::_conn" line 3)
      invoked from within
  "::pop3d::_conn pop3d40 state {}"
      ("eval" body line 1)
      invoked from within
  "eval [list ::pop3d::_$cmd $name] $args"
      (procedure "::pop3d::Pop3dProc" line 14)
      invoked from within
  "$srv conn state [$srv conn list]"
      invoked from within
  "set res [$srv conn state [$srv conn list]]"
      ("after" script)

  ==== pop3-srv-7.2 auth, APOP/USER FAILED
  ==== Contents of test case:

      newfsrv
      set res ""
      set trace [subshellpar {
          package require md5 2
          set c [socket localhost $port]
          regexp {(<.*>)} [gets $c] -> id
          set hash [string tolower [md5::md5 -hex
  ${id}smash]]
          puts $c "APOP ak $hash" ; flush $c
          set line [gets $c]
          puts $c "USER foo" ; flush $c
          puts "$line [gets $c]"
          after 5000
          close $c
      } {
          after 3000 {
              set res [$srv conn state [$srv conn list]]
          }
      } port [$srv cget -port]] ; # {}
      
      # Postprocess state to remove variable data from
  comparison
      set res [ppcstate $res]
      delfsrv
      list $trace $res

  ---- Result was:
  {+OK congratulations -ERR client already authenticated} {}
  ---- Result should have been (exact matching):
  {+OK congratulations -ERR client already authenticated}
  {deleted {} id <==@%%> l
  ogon {} msg 3 name ak remotehost 127.0.0.1 remoteport
  {} server 1 size 3 state t
  rans storage usr0}
  ==== pop3-srv-7.2 FAILED
  NONE
  can't read "conn()": no such element in array
      while executing
  "upvar $conn($sock) cstate"
      ("state" arm line 6)
      invoked from within
  "switch -exact -- $cmd {
          list {
              if {[llength $args] > 0} {
                  return -code error "wrong # args:
  should be \"$name conn list\""
              }
              return ..."
      (procedure "::pop3d::_conn" line 3)
      invoked from within
  "::pop3d::_conn pop3d42 state {}"
      ("eval" body line 1)
      invoked from within
  "eval [list ::pop3d::_$cmd $name] $args"
      (procedure "::pop3d::Pop3dProc" line 14)
      invoked from within
  "$srv conn state [$srv conn list]"
      invoked from within
  "set res [$srv conn state [$srv conn list]]"
      ("after" script)

  ==== pop3-srv-7.4.0 APOP FAILED
  ==== Contents of test case:

          newfsrv
          set res ""
          set trace [subshellpar {
              package require md5 2
              set c [socket localhost $port]
              gets $c line ; regexp {(<.*>)} $line -> id
              set hash [string tolower [md5::md5 -hex
  ${id}$pass]]
              puts $c "APOP $user $hash" ; flush $c ;
  gets $c line
              after 3000
              close $c
              puts $line
          } {
              after 2000 {
                  set res [$srv conn state [$srv conn list]]
              }
          } port [$srv cget -port] user $user pass $pass]
  ; # {}

          # Postprocess state to remove variable data
  from comparison
          set res [ppcstate $res]
          delfsrv
          list $trace $res
      
  ---- Result was:
  {-ERR authentication failed, sorry} {}
  ---- Result should have been (exact matching):
  {-ERR authentication failed, sorry} {deleted {} id
  <==@%%> logon {} msg 0 name f
  oo remotehost 127.0.0.1 remoteport {} server 1 size 0
  state auth storage {}}
  ==== pop3-srv-7.4.0 FAILED

  NONE
  can't read "conn()": no such element in array
      while executing
  "upvar $conn($sock) cstate"
      ("state" arm line 6)
      invoked from within
  "switch -exact -- $cmd {
          list {
              if {[llength $args] > 0} {
                  return -code error "wrong # args:
  should be \"$name conn list\""
              }
              return ..."
      (procedure "::pop3d::_conn" line 3)
      invoked from within
  "::pop3d::_conn pop3d44 state {}"
      ("eval" body line 1)
      invoked from within
  "eval [list ::pop3d::_$cmd $name] $args"
      (procedure "::pop3d::Pop3dProc" line 14)
      invoked from within
  "$srv conn state [$srv conn list]"
      invoked from within
  "set res [$srv conn state [$srv conn list]]"
      ("after" script)

  ==== pop3-srv-7.4.1 APOP FAILED
  ==== Contents of test case:

          newfsrv
          set res ""
          set trace [subshellpar {
              package require md5 2
              set c [socket localhost $port]
              gets $c line ; regexp {(<.*>)} $line -> id
              set hash [string tolower [md5::md5 -hex
  ${id}$pass]]
              puts $c "APOP $user $hash" ; flush $c ;
  gets $c line
              after 3000
              close $c
              puts $line
          } {
              after 2000 {
                  set res [$srv conn state [$srv conn list]]
              }
          } port [$srv cget -port] user $user pass $pass]
  ; # {}

          # Postprocess state to remove variable data
  from comparison
          set res [ppcstate $res]
          delfsrv
          list $trace $res
      
  ---- Result was:
  {-ERR authentication failed, sorry} {}
  ---- Result should have been (exact matching):
  {-ERR authentication failed, sorry} {deleted {} id
  <==@%%> logon {} msg 0 name a
  k remotehost 127.0.0.1 remoteport {} server 1 size 0
  state auth storage {}}
  ==== pop3-srv-7.4.1 FAILED

  NONE
  can't read "conn()": no such element in array
      while executing
  "upvar $conn($sock) cstate"
      ("state" arm line 6)
      invoked from within
  "switch -exact -- $cmd {
          list {
              if {[llength $args] > 0} {
                  return -code error "wrong # args:
  should be \"$name conn list\""
              }
              return ..."
      (procedure "::pop3d::_conn" line 3)
      invoked from within
  "::pop3d::_conn pop3d46 state {}"
      ("eval" body line 1)
      invoked from within
  "eval [list ::pop3d::_$cmd $name] $args"
      (procedure "::pop3d::Pop3dProc" line 14)
      invoked from within
  "$srv conn state [$srv conn list]"
      invoked from within
  "set res [$srv conn state [$srv conn list]]"
      ("after" script)

  ==== pop3-srv-7.4.2 APOP FAILED
  ==== Contents of test case:

          newfsrv
          set res ""
          set trace [subshellpar {
              package require md5 2
              set c [socket localhost $port]
              gets $c line ; regexp {(<.*>)} $line -> id
              set hash [string tolower [md5::md5 -hex
  ${id}$pass]]
              puts $c "APOP $user $hash" ; flush $c ;
  gets $c line
              after 3000
              close $c
              puts $line
          } {
              after 2000 {
                  set res [$srv conn state [$srv conn list]]
              }
          } port [$srv cget -port] user $user pass $pass]
  ; # {}

          # Postprocess state to remove variable data
  from comparison
          set res [ppcstate $res]
          delfsrv
          list $trace $res
      
  ---- Result was:
  {+OK congratulations} {}
  ---- Result should have been (exact matching):
  {+OK congratulations} {deleted {} id <==@%%> logon {}
  msg 3 name ak remotehost 1
  27.0.0.1 remoteport {} server 1 size 3 state trans
  storage usr0}
  ==== pop3-srv-7.4.2 FAILED

  modules/pop3d/pop3d_dbox.test
  - pop3d::dbox 1.0.1
  - mime        1.4
  - md5         2.0.1
  modules/pop3d/pop3d_udb.test
  - pop3d::udb 1.1

  Module: profiler
  modules/profiler/profiler.test
  - profiler 0.2.2


tkt_uuid: 1018625fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: htmlparse
priority: 5 Medium
foundin: None
title: htmlparse: hex entities not mapped
cmimetype: text/plain
submitter: davygrvy
assignee: andreas_kupries
closer: davygrvy
closedate: 2004-08-29T22:17:11
comment:
  % ::htmlparse::mapEscapes "do you see a question mark 
  &#x[format %x [scan ? %c]];"
  do you see a question mark &#x3f;
  %

  hex form {&#x[0-9a-fA-F]{1,4};} not respected


tkt_uuid: 1018733fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: record
priority: 8
foundin: None
title: nesting record more than 1 level deep fails
cmimetype: text/plain
submitter: nobody
assignee: schwarzkopf
closer: andreas_kupries
closedate: 2004-09-29T20:56:45
comment:
  nesting sets of record more than 1 level deep fails cf:

  record define fitParams {
      amp
      unmod
      jcoup
      t2star
  }

  record define fitData {
      delays
      values
  }

  record define fitInput {
      {reps 30}
      {sdev 0.1}
      {seed 12345}
      {record fitParams params}
      {record fitData data}
  }

  record define fitXYData {

      silent
      verbose
      macro
      confidence
      
      {record fitInput input}
   }

  set fitXYInputData [fitXYData #auto ]
      
      $fitXYInputData.silent true
      $fitXYInputData.verbose true
      $fitXYInputData.macro $jmod
      $fitXYInputData.confidence  0.9
      puts [record show values $fitXYInputData]

  gives

     Error in startup script: can't read
  "_defn(::fitXYData0.input)": no such element in array
      while executing
  "set ns $_defn($record_)"
      (procedure "::struct::record::Show" line 46)
      invoked from within
  "::struct::record::Show values ${record_}.${inst}"
      (procedure "::struct::record::Show" line 59)
      invoked from within
  "::struct::record::Show values ::fitXYData0"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 ::struct::record::${cmd_} $args"
      (procedure "record" line 9)
      invoked from within
  "record show values $fitXYInputData"
      (procedure "fitRawData" line 12)
      invoked from within
  "fitRawData $fitInputData"
      invoked from within
  "set fitData [fitRawData $fitInputData]"
      (file "./doJmodFit.tcl" line 588)


  from garyt@bmb.leeds.ac.uk


tkt_uuid: 1018934fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: dns
priority: 5 Medium
foundin: None
title: dns.tcl incorrectly detecting query as a reverse lookup
cmimetype: text/plain
submitter: nobody
assignee: patthoyts
closer: patthoyts
closedate: 2004-10-19T10:59:12
comment:
  I was trying to use the dns module to resolve an
  address similar to "127.0.0.1.example.org", but it was
  failing as this query was being incorrectly detected as
  an IP.

  I changed the line (in dns.tcl):
  if {[regexp {(?:\d{0,3}\.){3}\d{0,3}} $state(query)]} {

  to:
  if {[regexp {^(?:\d{0,3}\.){3}\d{0,3}$} $state(query)]} {

  and now everything seems to be working fine.


tkt_uuid: 1019052fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: bwidget listbox makes wrong key-bindings
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: hobbs
closedate: 2004-09-14T23:47:13
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: 1021240fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: bwidget
priority: 5 Medium
foundin: None
title: bwidget table of contents in doctools format
cmimetype: text/plain
submitter: lvirden
assignee: nobody
comment:
  I took a stab at converting the first of the bwidget
  files to doctools format.
  I don't have a lot of time - I would love to see all
  the bwidget pages reformatted.  


tkt_uuid: 1023867fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Tk dependency in version 1.7
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: hobbs
closedate: 2004-09-14T20:20:07
comment:
  BWidget 1.4 TitleFrame does not work with Tk 8.2

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


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

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

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

  By,
  Gerhard


tkt_uuid: 1023973fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: record
priority: 5 Medium
foundin: None
title: error in assigning structs #auto numbers
cmimetype: text/plain
submitter: nobody
assignee: schwarzkopf
closer: andreas_kupries
closedate: 2004-09-29T19:33:54
comment:
  if you create a record with #auto this gives record
  xxx1 $_count($defn_)= 1
  and then a second with #auto this gives record xxx2
  $_count($defn_) = 2
  then delete first record $_count($defn_)= 1

  now create some more records when $_count($defn_)= 2
  get error "Instances $inst_ already exists" from Create
  because of decrement of in Delete

  bug fix


  proc ::struct::record::Delete {sub_ item_} {

      variable _recorddefn
      variable _defn
      variable _count
      variable _defaults

      ##
      ## We just semi-blindly prepend :: to the record_
  argument
      ##
      if {![string match "::*" "$item_"]} {set item_
  "::$item_"}

      switch -- $sub_ {

          instance -
          instances -
          inst    {


              if {[Exists instance $item_]} {
          
  set ns $_defn($item_)
                  foreach A [info commands ${item_}.*] {
      Delete inst $A
                  }
          
                  catch {
                      foreach {k v} [array get [Ns
  $item_]values $item_,*] {
                          
                          unset [Ns $item_]values($k)
                      }
                      set i [lsearch [set [Ns
  $item_]instances] $item_]
                      set [Ns $item_]instances [lreplace
  [set [Ns $item_]instances] $i $i]
                      unset _defn($item_)
                  }
                  # NO NO!! we must have a monotonically
  incrementing record count
  # otherwise the next but one creation could fail as
  we will recreate this record and then
  # next time try to create a record ontop of a deleted
  on [of course we could have a free list ha ha!]
  # gst  
                  #incr _count($ns) -1
          
              } else {
                  #error "$item_ is not a instance"
              }
          }
          record  -
          records   {


              ##
              ##  Delete the instances for this
              ##  record
              ##
              foreach I [Show instance "$item_"] {
                  catch {Delete instance "$I"}
              }

              catch {
                  unset _recorddefn($item_)
                  unset _defaults($item_)
                  unset _count($item_)
                  namespace delete ::struct::record${item_}
              }

              
          }
          default   {
              error "Wrong arguments to delete"
          }

      }; # end switch

      catch { uplevel #0 [list interp alias {} $item_ {}]}

      return

  }; # end proc ::struct::record::Delete


  garyt@bmb.leeds.ac.uk


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

  For the MainFrame widget the following occurs.

  .mf showstatusbar none
  .mf showstatusbar progression

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

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

  Greg Pierce


tkt_uuid: 1027730fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: smtp
priority: 5 Medium
foundin: None
title: Covering case: undetectable originator
cmimetype: text/plain
submitter: csan
assignee: mrose
closer: patthoyts
closedate: 2005-09-05T11:46:25
comment:
  I bumped into this case while trying to find out why
  smtp cannot send mail from a Rivet script. 

  I was getting the following error:

  -------- cut here --------
  can't read "aprops(error)": no such element in array
      while executing
  "if {$aprops(error) != ""} {
              error "error in $who: $aprops(error)"
          }"
      (procedure "smtp::sendmessage" line 152)
      invoked from within
  "smtp::sendmessage $token -recipients $recipient
  -servers $email_server"
      (procedure "send_simple_message" line 8)
  -------- cut here --------

  I have found otu that while the too many senders
  (originators) case was covered:

  -------- cut here --------
  set addrs [::mime::parseaddress $originator]
  if {[llength $addrs] > 1} {
              error "too many mailboxes in $who: $originator"
          }
  -------- cut here --------

  the no sender (actually, undetectable sender) case was
  not covered.
  I am suggesting the following three lines be added to
  smtp.tcl to cover the no sender case and thus give a
  more comprehensive error message.

  -------- cut here --------
  # diff -u /usr/lib/tcllib1.6/mime/smtp.tcl~
  /usr/lib/tcllib1.6/mime/smtp.tcl---
  /usr/lib/tcllib1.6/mime/smtp.tcl~2004-05-27
  03:17:10.000000000 +0200+++
  /usr/lib/tcllib1.6/mime/smtp.tcl2004-09-13
  17:41:59.000000000 +0200@@ -252,6 +252,9 @@        
  if {[llength $addrs] > 1} {             error "too
  many mailboxes in $who: $originator"         }+     
    if {[llength $addrs] == 0} {+            error
  "could not detect sender address"+        }        
  array set aprops [lindex $addrs 0]         if
  {$aprops(error) != ""} {             error "error in
  $who: $aprops(error)"
  -------- cut here --------

  Optionally, the following note could be added to
  smtp(3tcl):

  -------- cut here --------
  # diff -u smtp.3tcl~ smtp.3tcl
  --- smtp.3tcl~2004-09-14 09:03:28.000000000 +0200
  +++ smtp.3tcl2004-09-14 09:10:18.000000000 +0200
  @@ -314,6 +314,11 @@
   added to the outgoing message as necessary to ensure
  that a valid
   822-style message is sent.
   .sp
  +NOTE: it could be necessary to specify the originator
  address with
  +the -originator option, especially when
  ::smtp::sendmessage is used
  +in server-side scripts such as e.g. Rivet scripts, in
  which case it
  +could happen that the originator address cannot be
  detected.
  +.sp
   The command returns a list indicating which recipients
  were
   unacceptable to the SMTP server. Each element of the
  list is another
   list, containing the address, an SMTP error code, and
  a textual
  -------- cut here --------

  Thank you.


tkt_uuid: 1028668fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: exif -- make field(19) optional
cmimetype: text/plain
submitter: kot
assignee: nobody
closer: andreas_kupries
closedate: 2004-09-29T22:18:56
comment:
  Our old Canon PowerShot S100 camera generates files, 
  which cause the following error from exif::analyze: 
   
  can't read "field(19)": no such element in array 
  % set errorInfo 
  can't read "field(19)": no such element in array 
      while executing 
  "expr {$field(19)-0x3000}" 
      (procedure "makerNote" line 130) 
      invoked from within 
  "makerNote $data $offset" 
      (procedure "exifSubIFD" line 18) 
      invoked from within 
  "exifSubIFD $data $offset" 
      (procedure "app1" line 62) 
      invoked from within 
  "app1 $data $thumbnail" 
      (procedure "exif::analyze" line 30) 
      invoked from within 
  "exif::analyze file7" 
      ("uplevel" body line 1) 
      invoked from within 
  "uplevel #0 {exif::analyze file7}" 
   
  The attached patch makes the code check for the presence 
  of field(19) prior to using it. 


tkt_uuid: 1029144fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: bwidget listbox multi selection handles ctrl key wrong
cmimetype: text/plain
submitter: pandur
assignee: damonc
closer: oehhar
closedate: 2009-06-30T15:46:09
comment:
  the multi-selection mode of listbox has a rather non-
  intuitive "feature": when holding down ctrl key and 
  clicking on an unselected item it selects it - so far so 
  good - when clicking on a selected item nothing changes.

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

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


tkt_uuid: 1030051fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: Incorrect use of http::status
cmimetype: text/plain
submitter: jenglish
assignee: patthoyts
closer: patthoyts
closedate: 2004-09-18T18:27:55
comment:
  The [Debug|Retrieve Script] menu option uses 'if
  {[http::status $token] == "ok"} { ... }' to test
  whether or not the download was successful.

  This is incorrect: [http::status] only reflects whether
  the HTTP transaction completed, it's still necessary to
  check if [http::ncode] is 200 to see if the resource
  was actually retrieved.  404, 502, and various other
  error conditions are possible and $status will still be
  "ok".


tkt_uuid: 1034580fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: htmlparse
priority: 5 Medium
foundin: None
title: Failure in parsing <??? /> tags
cmimetype: text/plain
submitter: petasis
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-09-29T18:18:32
comment:
  It seems that htmlparse module failes to handle tags of 
  the form <tag_name attr_1=val ... />. A quick fix is the 
  following:

  Add to line 329 of htmlparse.tcl:

  # Convert the HTML string into a script.
  set sub "\}\n$cmd {\\1} {/} {\\2} \{"
  regsub -all -- {<([^\s>]+)\s*([^>]*)/>} $html $sub 
  html
  set sub "\}\n$cmd {\\2} {\\1} {\\3} \{"
  regsub -all -- {<(/?)([^\s>]+)\s*([^>]*)>} $html $sub 
  html

  I simply add a new regular expression, that handles only 
  this special case.

  George


tkt_uuid: 1034924fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: tree
priority: 5 Medium
foundin: None
title: children with filter requires struct::list
cmimetype: text/plain
submitter: coldstore
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2004-09-29T17:34:25
comment:
  It is necessary for a user of [tree children] with
  filter to have [package require]d struct::list, or
  it'll crash.

  Solution is either to put a package require into the
  children source, or to document the dependency.


tkt_uuid: 1035281fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: tklib :: plotchart
priority: 5 Medium
foundin: None
title: Plotchart::determineScale return wrong values
cmimetype: text/plain
submitter: bwallner
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2004-11-08T10:53:59
comment:
  In this case Plotchart::determineScale returns wrong
  values:

  puts "-1.7 26.8: [determineScale -1.7 26.8]"

  >> -1.7 26.8: -1.0 21.0 10.0 <<

  Version Plotchart 0.9


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

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


  Tcllib 1.6

  Best regards
  Torben A. Hansen

  torben.arnt.hansen@sciatl.com

   


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

  Attached patch fixes the problem and adds a test case.


tkt_uuid: 1040372fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: generalise ::fileutil::stripPwd to any prefix
cmimetype: text/plain
submitter: coldstore
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-09T05:53:59
comment:
  It would be useful if stripPwd was [stripPrefix
  $somepath $someprefix] which returned a path relative
  to $someprefix, instead of only [pwd].
   


tkt_uuid: 1041229fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: bwidget
priority: 5 Medium
foundin: None
title: A new splash screen widget?
cmimetype: text/plain
submitter: petasis
assignee: hobbs
comment:
  I think that a splash screen widget is currently missing 
  from BWidget. Although a splash screen is used only 
  once during the life of an application, it would be good if 
  such a widget was in BWidget, so as to not re-
  implement code for splash screens for  each new 
  application.

  I have also attached a sample implementation of the 
  widget. Its a simple toplevel that stays always on top, 
  without borders and can display an image, a BWidget 
  progressbar and text label.
  However, there is no manual page yet, but I can write 
  one if the widget gets finally approved :-)

  George


tkt_uuid: 1042122fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Combobox: placement of dropdown list strange - near bottom
cmimetype: text/plain
submitter: arjenmarkus
assignee: damonc
closer: hobbs
closedate: 2004-10-07T17:34:31
comment:
  The dropdown part of a combobox gets posted near the
  top of the screen when the combobox is too close to the
  bottom edge.

  This is with BWidget 1.6


tkt_uuid: 1042420fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: png
priority: 9 Immediate
foundin: None
title: png/crc: 237 failed tests! (64-bit)
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-08-25T20:51:32
comment:
  About half of the tests on the
  png 0.1 package  (or is it
  the crc32 1.2 package?) are
  failing.  Many produce CKSUM
  where OK is expected.

  Others throw a "header checsum failed"
  error.

  Suggest one common error that hits
  a large number of tests.

  I see these failures on a 64-bit
  system, so I suspect they all
  derive from some place where
  the code has assumed 32-bit operations.


  NOTE: no "png" Category to assign to


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

  This script illustrates the problem:

  package require BWidget

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

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

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

  pack $t1 $t2 -side left

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


tkt_uuid: 1042987fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: treeql
priority: 5 Medium
foundin: None
title: Extra list layers on output of get
cmimetype: text/plain
submitter: btheado
assignee: coldstore
closer: coldstore
closedate: 2004-10-21T05:29:53
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: 1043107fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: MainFrame: Accelerator Ctrl f does not work
cmimetype: text/plain
submitter: pointsman
assignee: pointsman
closer: pointsman
closedate: 2004-10-09T00:20:07
comment:
  A Ctrl f accelerator in a MainFrame menu definition
  does not work.

  Example script:

  package require BWidget

  set menuDef {
      "Datei" {} {} 0 {
          {command "E Entry" {} "" {Ctrl e} \
               -command  {puts "E Entry called"}}
          {command "F Entry" {} "" {Ctrl f} \
               -command  {puts "F Entry called"}}
          {command "G Entry" {} "" {Ctrl g} \
               -command  {puts "G Entry called"}}
      }
  }

  MainFrame .mf -menu $menuDef

  Control-e and Control-g fire, Control-f does not.

  The reason is in MainFrame::_parse_accelerator. The
  regexp {f[1]?[0-9]*} tries to select f1 etc, to
  capitalize the f, but unfortunately the regexp also
  match a single 'f'. This ends in the Binding
   <Control-Key-F> instead of the necessary <Control-Key-f>.


tkt_uuid: 1043581fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: bwidget
priority: 5 Medium
foundin: None
title: SelectFont: add a -relief option?
cmimetype: text/plain
submitter: petasis
assignee: damonc
comment:
  Hi all,

  I am facing a problem with the SelectFont command 
  from the BWidget toolkit. SelectFont is a dual "nature" 
  command, as it can present itself as a dialogo or a 
  toolbar.
  I am trying to use it as a toolbar. However, in toolbars 
  usually all widgets have a flat relief, whcih changes to 
  raised when the mouse gets over a widget. This, cannot 
  be done with the current implementation of SelectFont, 
  which does not even have a -relief option. It would be a 
  good idea to at least add a "-relief" option to the 
  widget, even if it applies to all the internal sub-widgets 
  simultaneously...

  George


tkt_uuid: 1046955fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget 1.7.0: Tree::insert does not find parent node
cmimetype: text/plain
submitter: rogerjmeier
assignee: hobbs
closer: hobbs
closedate: 2007-10-31T18:54:41
comment:
  To the maintainer of BWidget's Tree widget:

  When inserting an element into a parent tree node which
  contained an ampersand (&) in the node name, this
  parent node is not found and an error is issued by
  Tree::insert.

  The following code shows the behaviour:

  package require BWidget 1.7
  frame .ftop
  pack .ftop
  set sampleTree .ftop.tsample
  Tree $sampleTree
  pack $sampleTree
  $sampleTree insert end root "/First&IT" -text "First&IT"
  $sampleTree insert end "/First&IT" "Abc" -text "Abc"

  The error is:

  node "/First&IT" does not exist
      while executing
  "Tree::insert .ftop.tsample end /First&IT Abc -text Abc"
      ("eval" body line 1)
      invoked from within
  "eval [linsert $args 0 Tree::$cmd .ftop.tsample]"
      (procedure ".ftop.tsample" line 1)
      invoked from within
  "$sampleTree insert end "/First&IT" "Abc" -text "Abc""
      (file
  "/home/users/roger/Dev/TclTk/Singles/treetest.tcl" line 17)

  When removing the "&" character from the insert
  commands it works.

  The attached one-line patch solves the problem: The
  parent node name is not converted to canonical form
  with _node_name before checking if the array entry exists.

  The patch does the following:

  set parent [_node_name $path $parent]

  This call overwrites parent with the canonical (mapped
  special characters) node name, add this line just
  before the [info exists data($parent)] line.

  The patch worked fine for me. I did not check the rest
  of the tree.tcl for other missing _node_name calls --
  maybe there are more...

  -- Roger

  PS: Thanks for the cool Tree widget!


tkt_uuid: 1047058fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: md5
priority: 5 Medium
foundin: None
title: document end of options switch -- for md5 2
cmimetype: text/plain
submitter: mic42
assignee: patthoyts
closer: patthoyts
closedate: 2005-02-17T14:47:44
comment:
  The md5 package has trouble with strings containing -
  as first character, so there is support for -- as end
  of options...

  example:

  # this errors
  md5::md5 -hex -flabber
  # this does not
  md5::md5 -hex -- -flabber

  So everything is fine, but the switch isn't documented....

  Optionally it could be an idea to just interpret the
  last argument as string if neither -file nor -channel
  is given and only one argument is left, would safe md5
  from the classical nuisance we have with switch...


  Michael


tkt_uuid: 1048995fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: ::fileutil::find filtercmd needs cwd
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-14T23:38:33
comment:
  ::fileutil::find should have been perfect for me to use in 
  traverse a directory with tens of thousands of files. The 
  problem is filtercmd only gets the rootname of the file 
  making it useless to do any processing. The alternative 
  of not using a filter and walking the resulting list is 
  unworkable due to the large number of files.

  I'd like to request either fully qualifying the filename or 
  passing in $cwd.


tkt_uuid: 1049503fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: Error messages go missing on Windows
cmimetype: text/plain
submitter: dkf
assignee: patthoyts
closer: patthoyts
closedate: 2004-10-19T11:14:34
comment:
  On Windows, you normally don't have a working proper
  console so any messages sent to stdout or stderr get
  lost.  These should either get logged (most cases) or
  popped up in dialog boxes (occasionally appropriate). 
  Offending lines (in tkchat.tcl v1.191)

  74: puts stderr $::errorInfo
  433: puts "ERROR: $new"
  445: puts "ERROR: $new"
  1734: puts [string map [list "\"" ""] $message]
  6081: puts "OPENSTREAM"


tkt_uuid: 1050377fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Wont Fix
subsystem: smtp
priority: 5 Medium
foundin: None
title: SMTP AUTH problems.
cmimetype: text/plain
submitter: orwellian
assignee: patthoyts
closer: patthoyts
closedate: 2006-04-21T11:15:18
comment:
  A sourceforge viewer contacted me about not being able to
  get -username/-password to work in tcllib-1.7 smtp.tcl.

  I encoded the username/password for a hand-telnet test and
  got that to work, then figured out what was wrong and told the
  user who then reported success in using it.

  Here's the problem.

  The SMTP server responded:

  250-AUTH LOGIN CRAM-MD5 PLAIN

  The smtp.tcl code tried CRAM-MD5 first, and for whatever
  reasons, that failed.

  535 authorization failed.(#5.7.0)

  Once that failed, no further AUTHs would work.

  The smtp.tcl code then tried requesting AUTH LOGIN, and
  received this from the SMTP server:

  502 unimplemented (#5.5.1)

  The smtp.tcl then tried AUTH PLAIN, receiving the same error.

  I had the user edit this line:

  foreach mech [list DIGEST-MD5 CRAM-MD5 LOGIN PLAIN] {

  to be:

  foreach mech [list LOGIN PLAIN] {

  And he reported it was working.

  Perhaps choose the SMTP server's offerings in the
  order they are given, instead of smtp.tcl's decision
  to use the "most secure" sequence first. Or make
  smtp.tcl break the connection before trying the next
  variation. Or let the user choose which one to use.

  In any case, the smtp.tcl module does not show the
  dialog sequence when a failure happens. I'd suggest
  having it cough that up when a failure occurs. Less
  technical users don't have a chance of figuring out
  what's wrong without a more detailed diagnostic.


tkt_uuid: 1050608fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: base64
priority: 5 Medium
foundin: None
title: base64 doesn't encode propertly unicode chars > 0xff
cmimetype: text/plain
submitter: lave
assignee: patthoyts
closer: patthoyts
closedate: 2005-02-17T15:33:49
comment:
  decode(encode()) is not the identiy operation for
  strings with unicode characters > 0x00ff:

  % info tclversion
  8.4
  % source modules/base64/base64.tcl
  % string equal \u2019 [::base64::decode
  [::base64::encode \u2019]]
  0

  In the (pure tcl) ::base64 implementation, "binary
  scan" is used to get the byte representation of the
  characters in the string. This doesn't work for
  characters with a unicode representation beyond 0x00ff,
  as Tcl itself throws away the unicode high byte:

  % set string \u2019
  ?
  % binary scan $string c* X
  1
  % set X
  25
  # (this is the low byte 0x19 in dec)

  Only variables of the type "bytearray" are handled
  correctly, but you will not know from the string
  representation if this Tcl object was created as string
  or bytearray.

  PS: I'm missing a -encoding option to provide the
  encoder (decoder) a hint how to get (interpret) the
  binary representation of the characters of the string,
  as the string to encode is only an array of chars, not
  of bytes.


tkt_uuid: 1050674fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: snit
priority: 5 Medium
foundin: None
title: typos in snit FAQ
cmimetype: text/plain
submitter: techentin
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-15T00:31:11
comment:
  I really enjoyed reading the snit FAQ.  It is almost a
  "snit by example."  But I noticed a few typos.

  In "What does the default constructor do?" 
  "interprete" should be "interpret."

  In "What does the install command do?" "install>"
  should probably be "install."

  In the delegation example.  "This code has the same
  affect..." should be "This code has the same effect..."

  And, finally, the resource and class names example code
  seems to mix "option -myvalue 5" with ".text configure
  -mytext."


tkt_uuid: 1053086fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: bwidget
priority: 5 Medium
foundin: None
title: A new widget for scrolling many widgets with a ScrolledWidge
cmimetype: text/plain
submitter: petasis
assignee: damonc
comment:
  Hi all,

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

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

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

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

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

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


tkt_uuid: 1054636fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: general request
priority: 8
foundin: None
title: Enhance test suite to disable all accel pkgs even if present
cmimetype: text/plain
submitter: lvirden
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-30T19:03:44
comment:
  I think it would be useful for the tcllib test suite to
  either
  by default, or via some sort of extra makefile target, have
  the option of indicating that the user wishes the test
  suite
  to run only the tcl versions of modules through the test
  cases, rather than loading things like trf if present.

  Or maybe what is needed is a tcllib module option that
  allows the developer to do that very same thing when
  doing the package require?


tkt_uuid: 1056892fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math :: statistics
priority: 5 Medium
foundin: None
title: math::statistics takes > 1 sec to load
cmimetype: text/plain
submitter: keithv
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2004-11-08T10:55:23
comment:
  math::statistics sources pdf_stat.tcl which calls 
  Initialise-cdf-normal which "Initialise the private data for 
  the normal cdf". Unfortunately, on my 700mhz machine 
  this takes over 1 sec to accomplish. 

  I think a lot more people are interested in doing 
  standard deviations and means than in pdf-exponential, 
  and so I think that that expensive initialization should be 
  deferred until needed.

  Keith Vetter


tkt_uuid: 1059528fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct
priority: 5 Medium
foundin: None
title: lock-free data structures
cmimetype: text/plain
submitter: elfring
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-01-19T19:42:29
comment:
  Would you like to see non-blocking implementations 
  of common data structures be added to a TCL library 
  module?
  - http://www.cs.chalmers.se/~noble/
  - http://groups.google.de/groups?
  threadm=YVyfd.10491%24HA.550%
  40attbi_s01&group=comp.programming.threads


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


tkt_uuid: 1060353fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: ldap
priority: 5 Medium
foundin: None
title: ldap::search problem with spaces in filter specs
cmimetype: text/plain
submitter: andreas_kupries
assignee: loewerj
closer: mic42
closedate: 2006-09-24T12:07:20
comment:
  The original report is
  http://bugs.activestate.com/show_bug.cgi?id=34774

  Running Active State Tcl 8.4.7 on Windows 2000 server.

  Problem with ldap package in tcllib 1.6. Ldap search
  does not pick up CNs with space in the CN name.

  % set tcl_version
  8.4

  % info patchlevel
  8.4.7

  % package require ldap
  1.2

  Ldap search does not pick up CNs with space in the name.

  TestCase.

  Search with "General*" works.

  % ldap::search $donnelly "o=HBF" "cn=General*" {cn}
  {{CN=General Management,O=HBF} {}}

  Search with "General Managemernt" fails.

  % ldap::search $donnelly "o=HBF" "cn=General Management" {}
  % 

  The filter string needs to be enclosed in "{}" or a list.

  % set f [ list "cn=General Management" ]
  {cn=General Management}

  (bin) 244 % ldap::search $donnellyServer "o=HBF" $f {cn}
  {{CN=General Management,O=HBF} {}}

  Doco may need to be updated.


tkt_uuid: 1060460fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: dns
priority: 5 Medium
foundin: None
title: ip::normalize & ipv6 rfc3513 sect 2.2.3 addressing
cmimetype: text/plain
submitter: nobody
assignee: patthoyts
closer: patthoyts
closedate: 2004-11-06T02:25:03
comment:
  Hi there,

  I really really like the IP:: package. Thanks very much for this.

  I have an IPv6 feature request.  Would it be possible to handle also
  the format described in section 2.2.3 of rfc3513, like so

          0:0:0:0:0:0:13.1.68.3
          0:0:0:0:0:FFFF:129.144.52.38

  I think contract is already handling this fine, but I wonder if it would be 
  possible to add a flag to normalize which would cause it to return the 
  last two 16 bit fields as decimal dotted octets, like the above?

  Thanks,

  Selina


tkt_uuid: 1061100fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Works For Me
subsystem: dns
priority: 5 Medium
foundin: None
title: ip::equal should only look at significant bits
cmimetype: text/plain
submitter: crunchyoats
assignee: patthoyts
closer: patthoyts
closedate: 2007-10-08T11:44:22
comment:
  It seems that the comparison, the two must have identical bits in the 
  longest match, but I think what is actually wanted is identical bits in 
  the shortest match.  

  Both the first and second comparisons should match, but the
  first succeeds and the second doesn't.  The third succeeds
  when I make sure that the longest has the same bits as the
  shortest.

  The fourth example is what I would use this for most commonly (is 
  this address a part of this subnet - would it match a route in the
  routing table, eg)?  However it will always fail since the subnet
  doesn't have all the significant bits of the /32.  

  I hope this is a bug and not purposeful because I would really like the 
  other feature.  :)

  % ip::equal 129.12/16 129.12/24
  1
  % ip::equal 129.12/12 129.12/16
  0
  % ip::equal 129/12 129/16
  1

  % ip::equal 129.12/16 129.12.1.1/24        
  0

  % ip::equal 129.12/16 129.12.1.1
  0
  % ip::equal 129.12/16 129.12.0.1/24
  1
  % ip::equal 129.12/16 129.12.1.1/24        
  0


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


tkt_uuid: 1061218fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: app: tkchat
priority: 5 Medium
foundin: None
title: Misc tkchat fixes
cmimetype: text/plain
submitter: dkf
assignee: patthoyts
closer: patthoyts
closedate: 2004-11-05T23:03:39
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: 1061759fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: pop3
priority: 5 Medium
foundin: None
title: Make pop3 non-blocking
cmimetype: text/plain
submitter: lio_lion
assignee: andreas_kupries
comment:
  Hi,

  I was using tcllib code for a plugin in amsn* to check
  pop3 email. The problem was that every time the email
  was checked it blocked amsn while it was checking.
  Therefore I suggest changing the code such that it is
  non-blocking. I have made a start (and possibly all the
  changes necessary). I made the ::pop3::open, and
  ::pop3::send both non-blocking which I think should
  then include all other functions (haven't looked)?

  Just note that Im not sure which version of pop3 I
  started with (someone else copied the code originally).
  Also in trying to make it non-blocking I went around in
  a couple of circles before getting it correct, so may
  have removed some code that could be reinserted.

  Now that it is complete it is not so hard to
  understand, and I recommend having a look at what I
  have done and possibly implementing it into pop3 in tcllib.

  Also to note, the way I have done it (to make it
  simpler) was that it is blocking to the calling process
  but not the program in entirety. This was ok for what I
  was doing as the calls to it were done by the after
  command which creates a new process and doesn't block
  the whole program.

  If you have any comments or questions don't hesistate
  to contact me at my sf email. Or by posting here.

  Lio.

  *PS The code was copied and a reference that the code
  was from tcllib was made, hope this is ok? if not tell
  me and I will remove.


tkt_uuid: 1063774fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: textutil
priority: 5 Medium
foundin: None
title: [splitn string ?len=1?] split string in chunks of length len
cmimetype: text/plain
submitter: suetterlin
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-19T06:00:27
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: 1067394fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 5 Medium
foundin: None
title: BWidget 1.6: ListBox arrow key handling is buggy
cmimetype: text/plain
submitter: pandur
assignee: damonc
closer: oehhar
closedate: 2009-06-30T14:54:25
comment:
  The ListBox::_keyboard_navigation function doesn't make
  the right item visible if the index of the item
  selected is not identical with its position in the list.

  The last line of this function is:
   $path see $sel
  (where $sel contains the line number in the display)
  while it should be
   $path see [$path selection get]
  (because this returns the user assigned index in the
  data list of the ListBox, which is expected by
  ListBox::see)


tkt_uuid: 1071339fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: tkchat requires unknown package jlib
cmimetype: text/plain
submitter: dkf
assignee: patthoyts
closer: patthoyts
closedate: 2004-11-29T12:55:57
comment:
  Latest tkchat *requires* a package jlib that is not
  supplied in either a standard tcl/tk distribution (up
  to and including activetcl) or tcllib.  This is against
  the policy of the tcllib project I believe; the tkchat
  authors should either code a replacement in pure tcl so
  they can reduce their package requirements to a
  reasonable level, or they should stop hosting tkchat
  within tcllib, so allowing them to require whatever
  third-party packages they want.


tkt_uuid: 1076400fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: html
priority: 5 Medium
foundin: None
title: html lib doesn't seem to support DOCTYPE tag
cmimetype: text/plain
submitter: dgonyier
assignee: welch
closer: mic42
closedate: 2006-07-02T19:33:18
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: 1076403fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: html
priority: 5 Medium
foundin: None
title: html: suggestion for a convenience "tag wrapping" proc
cmimetype: text/plain
submitter: dgonyier
assignee: welch
comment:
  In the current version of html, wrapping text with html 
  tags is a bit cumbersome in a lot of cases:

  Example:

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

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

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

  which would output the following:

  <p>This is my paragraph</p>

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

  would output:

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

  and so on.

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


tkt_uuid: 1076923fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftp
priority: 5 Medium
foundin: None
title: ftp::close failing
cmimetype: text/plain
submitter: keithv
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-15T00:06:42
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: 1078215fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math :: calculus
priority: 5 Medium
foundin: None
title: Possible bug in Runge-Kutta method
cmimetype: text/plain
submitter: arjenmarkus
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2006-04-25T12:32:36
comment:
  Mark Stucky reported this in c.l.t.:

  I think that I've found a small bug / typo within
  tcllib 
  (tcllib::math::calculus)
  rungeKuttaStep routine.

  Possibly I am just missing something here (it wouldn't
  be the first time), 
  but
  here is the routine (from tcllib-1.7) with my suggested
  fix :

   proc ::math::calculus::rungeKuttaStep { t tstep xvec
  func } {

     set funcq    [uplevel 1 namespace which -command
  $func]

     #
     # Four steps:
     # - k1 = tstep*func(t,x0)
     # - k2 = tstep*func(t+0.5*tstep,x0+0.5*k1)
     # - k3 = tstep*func(t+0.5*tstep,x0+0.5*k2)
     # - k4 = tstep*func(t+    tstep,x0+    k3)
     # - x1 = x0 + (k1+2*k2+2*k3+k4)/6
     #
     set tstep2   [expr {$tstep/2.0}]
     set tstep6   [expr {$tstep/6.0}]

     set xk1      [$funcq $t $xvec]
     set xvec2    {}
     foreach x1 $xvec xv $xk1 {
        lappend xvec2 [expr {$x1+$tstep2*$xv}]
     }

     set xk2      [$funcq [expr {$t+$tstep2}] $xvec2]
     set xvec3    {}
     foreach x1 $xvec xv $xk2 {
        lappend xvec3 [expr {$x1+$tstep2*$xv}]
     }

     set xk3      [$funcq [expr {$t+$tstep2}] $xvec3]
     set xvec4    {}
     foreach x1 $xvec xv $xk3 {
        lappend xvec4 [expr {$x1+$tstep2*$xv}]

  >********************************************************************************
  >  Here is the "bug" : $tstep2 in the above line should
  actually be $tstep
  >  From the description above
  >           # - k4 = tstep*func(t+    tstep,x0+    k3)
  >  tstep is used rather than tstep*0.5 (ie tstep2)
  >********************************************************************************

     }

     set xk4      [$funcq [expr {$t+$tstep}] $xvec4]
     set result   {}
     foreach x0 $xvec k1 $xk1 k2 $xk2 k3 $xk3 k4 $xk4 {
        set dx [expr {$k1+2.0*$k2+2.0*$k3+$k4}]
        lappend result [expr {$x0+$dx*$tstep6}]
     }

     return $result
  }


  --Mark 


tkt_uuid: 1078504fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: tclapps :: tkchat
priority: 3 Low
foundin: None
title: application generates error
cmimetype: text/plain
submitter: lvirden
assignee: pascalscheffers
closer: patthoyts
closedate: 2006-09-14T14:24:38
comment:
  Attempt to startup tkchat today results in this error
  being raised:

   $ tkchat.tcl
  Error in startup script: can't find package jlib
      while executing
  "package require jlib            "
      (procedure "logonChat" line 13)
      invoked from within
  "logonChat"
      (procedure "::tkchat::Init" line 202)
      invoked from within
  "::tkchat::Init"
      ("eval" body line 1)
      invoked from within
  "eval [linsert $argv 0 ::tkchat::Init]"
      invoked from within
  "if {![info exists ::URLID]} {
      eval [linsert $argv 0 ::tkchat::Init]
  }"
      (file "/projects/xopsrc/bin/tkchat.tcl" line 6560)

  What is jlib and where does one get it to install it?
  Seems like either tkchat should come with it, or it
  should come in tcllib or the tcl distribution if tkchat
  is going to depend on it.
  I don't even see a README in the tclapps distribution
  that references the library.

  There is, however, a note about irbridge being
  dependent on jlib.


tkt_uuid: 1079712fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Works For Me
subsystem: bwidget
priority: 5 Medium
foundin: None
title: listbox item selection abnormally cancelled
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: oehhar
closedate: 2009-06-30T14:41:27
comment:
  Version: ACTIVETCL 8.4.8.0
               BWidgets 1.7

  When using multiple selection widgets like
  listbox/combobox...in a same window,
  if you mouse-click other ones like combobox
  and select something, the selected item
  in listbox will be unselected at once,
  and if you use command:
  "set sel [listbox_path curselection]"

  $sel will be an empty string.
  This potentially denies the usage of listbox with some 
  other stuff.


tkt_uuid: 1081971fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: htmlparse
priority: 5 Medium
foundin: None
title: &ob; and &cb; don't seem to exist?
cmimetype: text/plain
submitter: davidw
assignee: andreas_kupries
closer: davidw
closedate: 2004-12-09T19:25:05
comment:
  The htmlparse::PrepareHtml procedure has this line:

      return [string map [list "\{" "&ob;" "\}" "&cb;"
  "\\" "&bsl;"] $html]

  I don't think &ob; and &cb; are really HTML for {}.  At
  least they don't work in my browser.  Best just to use
  the numeric versions, &#123; and &#125;.


tkt_uuid: 1082061fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: ldap
priority: 5 Medium
foundin: None
title: ldap::search has no way to specify scope
cmimetype: text/plain
submitter: dossy
assignee: loewerj
closer: mic42
closedate: 2006-06-21T09:34:13
comment:
  ldap 1.2 (Tcllib 1.7)

  ldap::search has no way of specifying scope.  The
  "default" scope is subtree.  This makes searching from
  the base DN not possible, see:

  % package require ldap
  1.2
  % set l [ldap::connect localhost]
  ::ldap::ldapsock5
  % ldap::search $l {} (objectClass=*) namingContexts
  LDAP error noSuchObject:

  I propose adding an optional "args" option arg to the
  end of the call signature for [ldap::search], like so:

  % package require ldap
  1.3
  % set l [ldap::connect localhost]
  ::ldap::ldapsock5
  % ldap::search $l {} (objectClass=*) namingContexts
  -scope base
  {{} {namingContexts dc=panoptic,dc=com}}

  Attached is a patch to provide the functionality in the
  above example.  The currently only valid switch is
  "-scope" and valid  values are: base, one{level},
  sub{tree}, or any integer (0-2).


tkt_uuid: 1085174fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: socket failure
cmimetype: text/plain
submitter: msofer
assignee: patthoyts
closer: patthoyts
closedate: 2005-03-04T02:59:53
comment:
  (Looks like a server problem to me - this worked fine
  until yesterday, I did not upgrade).

  At app startup (v 1.239) I get an error and no history
  selector, but tkChat works fine after that. The
  errorInfo is:

  couldn't open socket: connection refused
  couldn't open socket: connection refused
      while executing
  "::http::geturl $url  -headers [buildProxyHeaders]"
      (procedure "GetHistLogIdx" line 10)
      invoked from within
  "GetHistLogIdx logsize"
      (procedure "tkchat::LoadHistory" line 13)
      invoked from within
  "tkchat::LoadHistory"


tkt_uuid: 1085562fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math
priority: 5 Medium
foundin: None
title: math::bignum::testbit fails
cmimetype: text/plain
submitter: aubinroy
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-31T04:37:26
comment:
  I want to report a bug in ::math::bignum::testbit.
   
  In the documentation I got (ActiveTCL help file, version 
  8.4.9.0), it says:
  ::math::bignum::testbit bignum bit 
  Return true if the bit at the bit position of bignum is on, 
  otherwise false is returned. If bit is out of range, it is 
  considered as set to zero.

   
  However, if I use this test bit on a "bignum" for which a 
  bit has NOT been set yet, it fails miserably.
   
  Here is the TCL code to induce the bug and the error 
  message reported:
  (bin) 3 % package require math::bignum
  3.0
  (bin) 4 % set z [::math::bignum::fromstr "3220"]
  bignum 0 3220
  (bin) 5 % ::math::bignum::testbit $z 23
  can't use empty string as operand of "&"
  (bin) 6 % 
   
  However, if a bit has previously been set which is equal 
  or greater than the bit tested, then the error message is 
  NOT reported.
   
  (bin) 8 % ::math::bignum::setbit z 24
  bignum 0 3220 256
  (bin) 9 % ::math::bignum::testbit $z 23
  0
  (bin) 10 % 
   
  By comparison with the other functions and 
  some "analysis", I have concluded that 2 lines are in the 
  wrong order.
  As it stands now, the function reads as:
   
  # Test the bit 'n' of 'z'. Returns true if the bit is set.
  proc ::math::bignum::testbit {z n} {
      set atom [expr {$n / $::math::bignum::atombits}]
  ######## Next 2 lines in wrong order
      if {$atom >= [llength $z]} {return 0}
      incr atom 2
  ########
      set mask [expr {1 << ($n & 
  ($::math::bignum::atombits-1))}]
      expr {([lindex $z $atom] & $mask) != 0}
  }
   
  when it should read as:
   
  # Test the bit 'n' of 'z'. Returns true if the bit is set.
  proc ::math::bignum::testbit {z n} {
      set atom [expr {$n / $::math::bignum::atombits}]
  ######## Next 2 lines identical to other functions
      incr atom 2
      if {$atom >= [llength $z]} {return 0}
  ########
      set mask [expr {1 << ($n & 
  ($::math::bignum::atombits-1))}]
      expr {([lindex $z $atom] & $mask) != 0}
  }


tkt_uuid: 1087173fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: htmlparse
priority: 5 Medium
foundin: None
title: too much [package require]
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-01-18T16:52:14
comment:
  htmlparse starts out with

  package require struct 2

  but near as I can tell, the only
  command used is [::struct::stack]
  which is provided by the
  considerably smaller package

  package require struct::stack 1.2.1

  No need to drag in all the other
  struct stuff and then not use it.


tkt_uuid: 1091764fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclbench
priority: 5 Medium
foundin: None
title: runbench.tcl does not run on windows w/ msys
cmimetype: text/plain
submitter: pointsman
assignee: hobbs
closer: hobbs
closedate: 2004-12-27T19:34:49
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: 1091766fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclbench
priority: 2
foundin: None
title: runbench.tcl - documentation not up to date
cmimetype: text/plain
submitter: pointsman
assignee: hobbs
closer: hobbs
closedate: 2004-12-27T19:40:06
comment:
  tclbench CVS as of 2004-12-27.

  doc/runbench.1 has

         -errors
                Takes  a  boolean  value  (0 or 1). True
  means that
                errors are thrown, else they are ignored.

  The runbench.tcl script itself exects:

          -throwerrors            # propagate errors in
  benchmarks files 

  The -threads option understood by the script isn't
  documented at all.


tkt_uuid: 1094294fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 7 High
foundin: None
title: Some format cmds mangle text w/ nroff formatter
cmimetype: text/plain
submitter: pointsman
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-01-18T16:51:58
comment:
  See this sample doctools markup (please note, that the
  first sentence used in the example is in fact out of
  the wild - the snitfaq.man of snit 0.97):

  [manpage_begin foo n 0.97]
  [description]

  In this example, [cmd text] is the [term type] command and
  [cmd .mytext] is the [term instance] command.
  Some other explanations.

  [manpage_end]

  Processed with mpexpand, this nroff is generated:

  '\"
  '\" Generated from file foo.man' by tcllib/doctools
  with format 'nroff'
  '\"
  .so man.macros
  .TH "foo" n 0.97  ""
  .BS
  .SH "NAME"
  foo \-
  .SH "DESCRIPTION"
  In this example, \fBtext\fR is the \fItype\fR command and
  \fB.mytext\fR is the \fIinstance\fR command.
  Some other explanations.

  Viewed with man (at least under linux, man 2.3.19) the
  text out of the source line starting with [cmd .mytext]
  is not shown.

  It is important, that the line in the document source
  starts with [cmd] and that the argument given to [cmd]
  starts with a dot (as widget names do, which makes it
  not so unlikely, that that happes, as the real life
  example shows); if [cmd] is used somewhere in the line,
  the displayed man page looks OK, even if the argument
  given to [cmd] starts with a dot.

  It's apparently the line starting \fB. which confuses
  groff. (This is just a guess, my nroff is so rusty, I
  hardly remember nasty little details.) 

  The [emph], [strong], [arg], [var] (and eventually
  other formatting commands) have the same problem, if
  used at the start of a line in the document source -
  probably every markup, which is possible in continuous
  text, which ends up using nr_bld, nr_ul and nr_bolds
  (at least) out of _nroff.tcl.


tkt_uuid: 1098039fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: fileutil::find lists files that start with . twice
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-12T08:22:26
comment:
  TCL version: 2.4.9
  Platform:     WIN2K SP4
  tcllib:         1.7

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

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

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

  To reproduce:

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

  the .splintrc file is listed twice

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

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

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

  Ralph


tkt_uuid: 1098051fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math
priority: 5 Medium
foundin: None
title: bignum::rshift is wrong for negative inputs.
cmimetype: text/plain
submitter: andreas_kupries
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2006-04-25T12:31:52
comment:
  Test cases to consider:

  [10:04]kbkOh, by the way, >> is wrong as well.
  [10:05]akuAre you talking about bignum::rshift ?
  [10:05]kbkUhm, yeah. -1>>1 is -1, not 0; -3>>1 is -2,
  not -1.
  [10:06]akuWell, rshift is not tested by the bignum
  testsuite.
  [10:06]kbkWell, I suppose that I've just proposed a
  couple of tests, then. 
  [10:07]akuYep
  [10:08]akuI will cut&paste this into a bug report

  And a solution, by Kevin:

  [10:08]kbkFixing that one is: A>>B = ~(~A>>B) =
  -((-A-1)>>B)-1

  Note: ~A is defined as (-A)-1 (Infinite precision
  two-complement).

  The general context is a talk on the chat about bignums
  in Tcl (core-level), something Kevin is working on, and
  for complete seamlessness he has to impl. all bitops,
  i.e. &, |. ^. Through this we also looked at the tcllib
  bignum code in this area. Especially as there is a RFE
  pending for more bitops as well.

  [10:11]akuWe might have to look at the
  set/clear/test-bit operators as well I guess.
  [10:12]kbkWell, for tcllib's bignums, we don't have
  to make them algebraically consistent with 2-s comp
  ints, because they can't appear in [expr].


tkt_uuid: 1099162fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: None
priority: 5 Medium
foundin: None
title: autoproxy::init fails
cmimetype: text/plain
submitter: jgodfrey
assignee: patthoyts
closer: patthoyts
closedate: 2005-02-17T15:16:42
comment:
  autoproxy::init (version 1.2.0) fails under WinXP Pro 
  when the following line of code:

  registry get $winregkey "ProxyServer"

  returns a value like:

  ftp=quantex:8080;gopher=quantex:8080;http=quantex:8
  080;https=quantex:8080

  instead of a value like:

  quantex:8080

  This happens whenever "Control Panel | Internet 
  Options | Connections | LAN
  Settings | Advanced" | "Use the same proxy server for all
  protocols" *is not* checked, and instead, each protocol 
  is defined independently.

  The attached autoproxy.tcl has been patched to fix the 
  problem for my case, though I don't know enough about 
  this domain to be confident that the patch is generally 
  safe.  Specifically...

  1. Is it safe to parse this key (in the general case) using 
  [split]?
  2. Is the key always semi-colon separated?
  3. Am I always after the "http" portion of the key?

  Jeff


tkt_uuid: 1099581fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: doctools
priority: 5 Medium
foundin: None
title: New module submission: docstrip
cmimetype: text/plain
submitter: lars_h
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-15T00:59:14
comment:
  This is a suggested new module for tcllib, containing two 
  packages 'docstrip' and 'docstrip::util'.

  What the docstrip package provides is primarily the ability 
  to use source files that are not in the traditional "raw code" 
  form, but may contain also much other material (typically 
  documentation). Secondarily this makes it convenient to use 
  a form of literate programming that is very common in the 
  LaTeX community also for Tcl programs.

  (For an example, see
    http://cvs.sourceforge.net/viewcvs.py/alphatcl/Developer/
  Source/dialogs/dialogsNew.dtx?rev=HEAD&view=log   
  (source file)
  and
    http://cvs.sourceforge.net/viewcvs.py/alphatcl/Help/
  Dialogs%20Help.pdf?rev=HEAD&content-type=application/
  pdf   (typeset form of the above)
  .)

  The attached archive contains seven files.
    docstrip.tcl
    docstrip.man
    docstrip.test
    docstrip_util.tcl
    docstrip_util.man
  are the traditional .tcl sources, doctools-style 
  documentation, and test suite required a tcllib module. The 
  sixth file
    tcldocstrip.dtx
  is the _actual_ source for the entire module. The first five 
  files can be regenerated from it by LaTeXing the seventh file
    tcldocstrip.ins
  For what good would a source documentation system be if 
  one couldn't use it to document itself?


tkt_uuid: 1099722fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: log
priority: 7 High
foundin: None
title: bug in logger's inheritance of level
cmimetype: text/plain
submitter: hemanglavana
assignee: mic42
closer: mic42
closedate: 2005-01-12T21:32:06
comment:
  Hi,

  I am creating two services: foo and foo::bar using the
  logger command and seting the default log level to
  "notice" for the foo service. This means that the
  foo::bar will also have its default level set to
  "notice". However the following script shows that the
  debug logs are still printed for foo::bar service.

  godel:93> cat foobar.tcl 
  package require logger

  namespace eval ::foo {

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

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

  }

  namespace eval ::foo::bar {

      set log [logger::init foo::bar]
      logger::import -all -namespace log foo::bar
      # It should inherit foo's level, so do not set it here
      # log::setlevel notice
      puts "foo::bar level = [log::currentloglevel]"

  }

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

  ::foo::x
  ::foo::bar::y
  godel:94> tclsh foobar.tcl 
  foo level = notice
  foo::bar level = notice
  [Mon Jan 10 15:50:32 EST 2005] [foo] [warn] 'foo::x warn'
  [Mon Jan 10 15:50:32 EST 2005] [foo] [warn]
  'foo::bar::y warn'
  [Mon Jan 10 15:50:32 EST 2005] [foo] [debug]
  'foo::bar::y debug'    <---- this should not be printed.
  godel:95> 

  Note that the level for foo::bar is correctly set to
  "notice", however it still ends up printing debug logs.
  I suspect this is bug.

  Hemang.


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

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

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

  Example:

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

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

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

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

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



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


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


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

  (or whatever path is reasonable for the apps)


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

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

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


  package require logger

  namespace eval ::foo {

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

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

  }

  namespace eval ::foo::bar {

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

  }

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

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

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

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

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

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

  Hemang.


tkt_uuid: 1104059fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: pop3
priority: 3 Low
foundin: None
title: Allow easy use of TLS with pop3
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
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: 1105010fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: html
priority: 1 Zero
foundin: None
title: Font properties are printed twice
cmimetype: text/plain
submitter: lucianoes
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-01-19T22:00:05
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: 1105778fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ProgressDlg -stop button bug
cmimetype: text/plain
submitter: olaborda
assignee: damonc
closer: dev_null42a
closedate: 2006-02-10T23:23:39
comment:
  In V1.7.0, using ProgressDlg with -stop option, the
  click events for the button are not processed.

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

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


  proc cbLdCancel {} {
    puts "Click"
  }

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

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

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


tkt_uuid: 1106375fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: snit
priority: 5 Medium
foundin: None
title: Widget Error on failed object's construction
cmimetype: text/plain
submitter: aldobu
assignee: duquette
closer: duquette
closedate: 2005-06-04T21:09:20
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: 1108569fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: latest tkchat.kit at least fails
cmimetype: text/plain
submitter: lvirden
assignee: rmax
closer: patthoyts
closedate: 2006-09-14T14:35:17
comment:
  Since the tkchat code, by itself, no longer runs
  without bits and pieces of things installed that are
  undocumented, I've been running tkchat from the
  tkchat.kit mentioned at http://wiki.tcl.tk/tkchat . 
  Today, when I downloaded the version there, and
  attempted to run it on my sparc solaris 8 machine, I
  got an error about being unable to find tls.  So I
  downloaded from the sdarchive the latest tls.kit ,
  which sdarchive says works on solaris 8.  Here is the
  error that appears if the tls.kit starkit is in the
  same directory as tkchat.kit:

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

  sdx.kit says:

   $ sdx lsk /ldatae/bin/tls.kit           

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

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

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

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

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

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

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

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

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


tkt_uuid: 1110076fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: 'jail' filenames
cmimetype: text/plain
submitter: davidw
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-09T05:52:57
comment:
  One of the uses of commands such as stripPwd is as part
  of a system to 'jail' filenames in a certain directory.

  A 'jail' command that prevents URLs from escaping from
  that directory would be useful.  It would work
  something like this:

  fileutil::jail /var/www/ $somefile

  and returns an absolute pathname within /var/www

  $somefile is turned into a nativename

  if $somefile starts with /var/www, the filename is
  returned.

  otherwise, $somefile is appended to the 'jail', /var/www


tkt_uuid: 1111153fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: fileutil
priority: 5 Medium
foundin: None
title: fileutil::findByPattern fails during recursive search on XP.
cmimetype: text/plain
submitter: pfinnegan
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-02T06:49:56
comment:
  fileutil::findByPattern fails during recursive search on 
  Windows XP.     


  () 143 % set fileList [ fileutil::findByPattern c:\\ * ]
  couldn't change working directory to "sys": no such file 
  or directory
  (bind) 144 % 

  bin) 74 % fileutil::findByPattern c:/ *
  couldn't change working directory to "sys": no such file 
  or directory
  (bind) 75 % 

  Stack trace. 

  couldn't change working directory to "sys": no such file 
  or directory
      while executing
  "cd $basedir"
      (procedure "find" line 12)
      invoked from within
  "find $filename $filtercmd"
      (procedure "find" line 34)
      invoked from within
  "find $filename $filtercmd"
      (procedure "find" line 34)
      invoked from within
  "find $filename $filtercmd"
      (procedure "find" line 34)
      invoked from within
  "find $filename $filtercmd"
      (procedure "find" line 34)
      invoked from within
  "find $filename $filtercmd"
      (procedure "find" line 34)
      invoked from within
  "find $filename $filtercmd"
      (procedure "find" line 34)
      invoked from within
  "find $basedir [list $cmd $patterns]"
      (procedure "fileutil::findByPattern" line 23)
      invoked from within
  "fileutil::findByPattern c:\\ * "
      invoked from within
  "set fileList [ fileutil::findByPattern c:\\ * ]"
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 {set fileList [ fileutil::findByPattern c:\\ * ]}"


tkt_uuid: 1111364fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 5 Medium
foundin: None
title: dtplite error
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-14T23:48:42
comment:
  dtplite -o e:/mydir html myfile.man
  does not automatically create a file e:/mydir/myfile.html, 
  but a file e:/mydir/myfile., as specified in the command 
  syntax. 
  Reason: In procedure ::dtplite::processCmdline

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

  should be before

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

  (thl@gedas.de)


tkt_uuid: 1113033fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tklib: plotchart
priority: 5 Medium
foundin: None
title: Add support for shade and isoline drawing
cmimetype: text/plain
submitter: arjenmarkus
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2007-02-27T21:10:17
comment:
  Mark Stucky has provided a library to create isoline
  and shade drawings in a style that can be incorporated
  into Plotchart. I have attached the script for later
  reference.


tkt_uuid: 1113348fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: logger
priority: 5 Medium
foundin: None
title: No way for logproc to discover servicename
cmimetype: text/plain
submitter: mic42
assignee: mic42
comment:
  Currently there is no way for a logproc to discover its
  servicename.

  Example:
  set log [logger::init foo]
  proc customized {txt} {
     puts "How shall i find my servicename with this
  signature?: $txt"
  }
  ${log}::logproc error customized

  There is a workaround using the older logproc syntax
  though.

  set log [logger::init bar]
  proc customized {service txt} {
     puts "Logging service $service : $txt"
  }
  ${log}::logproc error txt {
     variable service
     ::customized $service $txt
  }

  The signature of the custom logproc should be enhanced
  with the loglevel, the service and the text and
  possible an args for future extensions.

  Michael


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


tkt_uuid: 1115335fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: mclistbox
priority: 5 Medium
foundin: None
title: mclistbox patch: select color
cmimetype: text/plain
submitter: koloska
assignee: boakley
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: 1115865fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
title: WebDAV client
cmimetype: text/plain
submitter: jcw
assignee: patthoyts
comment:
  There's a new implementation of a WebDAV client, which I hereby 
  would like to offer for consideration to be included in Tcllib.

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

  The code consists of two packages:

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

   - davvfs is a VFS driver which uses the webdav package

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

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

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

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

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

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

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

  -jcw


tkt_uuid: 1119279fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math
priority: 5 Medium
foundin: None
title: error in loading math::rationalfunctions pkg
cmimetype: text/plain
submitter: hemanglavana
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-02-09T16:37:41
comment:
  Please see the following error:

  hlavana-u5:53> tclsh
  % package require math::rationalfunctions
  couldn't read file "polynomials.tcl": no such file or
  directory
  % exit
  hlavana-u5:54> less
  /auto/ttsw/ActiveTcl/8.4.9/lib/tcllib1.7/math/rational_funcs.tcl

  # rational_funcs.tcl --
  #    Implement procedures to deal with rational functions
  #
  source polynomials.tcl
  package require math::polynomials
  ..

  The "source polynomials.tcl" cmd  is causing this
  problem. This line should be deleted because the
  following line "package require math::polynomials"
  loads the polynomials.tcl file correctly.

  Hemang.


tkt_uuid: 1119460fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 9 Immediate
foundin: None
title: Insert node with Tree -state disabled causes wish to crash
cmimetype: text/plain
submitter: skielty
assignee: hobbs
closer: hobbs
closedate: 2005-02-11T19:32:00
comment:
  Insert node with Tree -state disabled causes wish to 
  crash  -- This is obviously avoidable -- if you don't 
  disable. 
  The following script to reproduce: 
  # info patchlevel 
  # 8.4.6
  # BWidget v == 1.7 
  lappend auto_path [file join [pwd] .. lib bwidget1.7]  
  package require BWidget 
  set tree [Tree .a] 
  pack .a 
  $tree configure -state disable 
  foreach n {a b c} { 
  $tree insert end root $n -text Hello$n -
  drawcross allways   
  # wish crashes  
  } 
  # end of script 


tkt_uuid: 1120152fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: log
priority: 5 Medium
foundin: None
title: logger: maintain callstack for custom logprocs
cmimetype: text/plain
submitter: hemanglavana
assignee: mic42
closer: mic42
closedate: 2005-09-23T16:50:44
comment:
  Hi,

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

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

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

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

  I prefer calling it as:

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

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

  Hemang.


tkt_uuid: 1122790fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: treeql
priority: 5 Medium
foundin: None
title: Scoping undefined for node set iterators
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-30T18:46:39
comment:
  The documentation states nothing about the scope the
  body of the varous node set iterators (foreach, with,
  and over) is executed in. Experiments indicate that it
  is neither global scope, nor the scope of the code
  performing the query the operator is part of, but some
  impementation defined internal scope. IMHO it should be
  defined to be the scope of the calling code.


tkt_uuid: 1123327fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: counter
priority: 5 Medium
foundin: None
title: histograms do not handle negative reals correctly.
cmimetype: text/plain
submitter: sqrly
assignee: welch
comment:
  When I do this: 
  ::counter::init h -hist 10
  ::counter::count h 9.1
  ::counter::count h -9.2

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

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

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

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


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

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



  There are still problems with the -skip option


tkt_uuid: 1144466fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: log
priority: 5 Medium
foundin: None
title: RFE: logger: customizable output format
cmimetype: text/plain
submitter: hemanglavana
assignee: mic42
comment:
  The current log output format of the logger pkg is:

  "[time] [service] [level]: 'msg'"

  I would like to see an easier method to change the
  output format instead of having to write a custom
  logproc to change it. For example, I would like to see
  the caller proc name also printed in the output message:

  "[time] [service] [proc] [level]: 'msg'"

  To support such a feature, the logger package should be
  enhanced with a new API say logger::format which would
  allow us to configure the logger output. Here's a
  suggested syntax for logger::format API:

  logger::format log ?<format>?
     where <format> allows you to specify percent
  substitutions; valid percent keys are %time,  service,
  %proc, %level, %callerstack and %message. The default
  <format> could be {[%time] [%service] [%level]:
  '%message'. If <format> is not specified, this command
  would return the format value set previously. Setting
  <format> to null {} will restore the default value.

  logger::format time ?-format <dateformat>? ?-gmt boolean?
    This cmd will allow the user to change the format of
  %time substitution. The <dateformat> would allow
  percent substitutions accepted by the [clock format
  -format ..] command. For example, if the user just
  wants to print 23:42:12 under %time, use the cmd
  [logger::format time -format %H:%M:%S]. Again the
  default value for the <dateformat> is same as for clock
  format command. If -format option is specified without
  any value, it will return the current value.

  logger::format service ?<format>?  where <format>
  supports substitutions (%parent %tail) for namespace
  qualifiers
  logger::format proc ?<format>? where <format> supports
  substitutions (%parent %tail) for namespace qualifiers 

  -----------------------Micahel's comments below--------

  I like this proposal, and it isn't really that hard to
  implement. Basically it calls for dynamic rewriting of
  the custom logging command which is called by the
  logger system with some more logic bits.
  I thought of something similar, a bit more flexible
  (but it got too complex then).

  The interesting part is, if the logger::format command
  should be a global option or a per service option. I
  can imagine good reasons for a per service option (for
  example think about tclhttpd, use one service for
  logging access to the server, then another for server
  errors and one for application code, each needs a
  different format basicallly.).

  Format inheritance would work as before. 


tkt_uuid: 1145523fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: bwidget - progressbar divide by zero
cmimetype: text/plain
submitter: bschofield
assignee: damonc
closer: dev_null42a
closedate: 2006-02-10T23:06:13
comment:
  BWidget version 1.7
  progressbar.tcl line ~152 in proc ProgressBar::_modify

  Where the "max" is determined from the widget's option
  "-maximum". It is possible if the user configured the
  -maximum to be 0, that you will get a divide by zero error.

  While this shouldn't happen often, it is reasonable to
  assume that the user might try to set this value to 0.
  The progress bar should either throw an error
  immediately when the user configures the widget to have
  -maximum that is unacceptable or the progress bar
  should handle the value.

  adding

    if {$max == 0} { set max 1}

  just after [Widget::getoption $path -maximum] call
  fixes this the divide by 0 error.


tkt_uuid: 1150714fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: uuid
priority: 5 Medium
foundin: None
title: uuid should not make socket calls
cmimetype: text/plain
submitter: nobody
assignee: patthoyts
closer: patthoyts
closedate: 2005-09-05T08:32:09
comment:
  ::uuid::generate_tcl contains the following code:

  set s [socket -server void -myaddr [info hostname] 0]

  Creating a server socket may be a privileged operation. 
  With certain firewalls, it may produce a warning 
  message, which is inappropriate for many applications 
  that might want to create UUIDs.


tkt_uuid: 1151534fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Danish language file
cmimetype: text/plain
submitter: elhaard
assignee: hobbs
closer: hobbs
closedate: 2005-02-25T19:13:43
comment:
  Hi, I just created a Danish language file for bwidget.
  Please feel free to include it in the distro.


  - elhaard


tkt_uuid: 1151935fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math :: statistics
priority: 5 Medium
foundin: None
title: math::stats divide by zero error
cmimetype: text/plain
submitter: nobody
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2006-01-30T13:28:44
comment:
  If the sum of the numbers sent to math::stats is zero
  there will be a divide by zero error when it goes to
  calculate the coefficient of variation.


tkt_uuid: 1153603fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: tkchat errs out on a disconnection
cmimetype: text/plain
submitter: ephaeton
assignee: patthoyts
closer: patthoyts
closedate: 2005-03-04T03:17:18
comment:
  (this is msw from tcl'ers chat)
  This happened when my router reconnected itself:

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

  this is tkchat 1.263 and tcl 8.4.9 as tclkit.


tkt_uuid: 1154619fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: segfault in tkchat
cmimetype: text/plain
submitter: dgp
assignee: patthoyts
closer: patthoyts
closedate: 2005-03-04T01:35:56
comment:
  On Solaris 9, with Tcl/Tk 8.4.9,
  and tile 0.4, the tkchat.tcl
  program Revision 1.263
  segfaults at startup at line 4416

    catch {destroy $w}

  Upgrading to tile 0.5 corrects
  the problem.

  I recommend updating tkchat
  to [package require tile 0.5]


tkt_uuid: 1154863fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: SendAuthOld uses wrong variable
cmimetype: text/plain
submitter: ephaeton
assignee: patthoyts
closer: patthoyts
closedate: 2005-03-04T01:32:36
comment:
  tkjabber::SendAuthOld uses $username, but only sets $user.

  Fix: s/username/user/ @ line 6181 of tkchat.tcl 1.263


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

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

  if {!$MessageCounter} then { BookmarkAdd }

  et voila


tkt_uuid: 1155390fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: asteroids
priority: 5 Medium
foundin: None
title: app:asteroids: missing music reset
cmimetype: text/plain
submitter: dkf
assignee: jgodfrey
closer: jgodfrey
closedate: 2005-03-03T00:55:26
comment:
  The "music" in the game asteroids does not reset to its
  initial speed when you start a new game. After playing
  a fair number of games, it's going at a silly speed
  even on the initial level...


tkt_uuid: 1156611fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 7 High
foundin: None
title: Error raised by <iq> processing.
cmimetype: text/plain
submitter: patthoyts
assignee: patthoyts
closer: patthoyts
closedate: 2005-03-22T00:46:55
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: 1156718fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: comm
priority: 5 Medium
foundin: None
title: comm - Make each connection's serial into a lamport clock
cmimetype: text/plain
submitter: coldstore
assignee: andreas_kupries
comment:
  See this paper:
  http://research.microsoft.com/users/lamport/pubs/time-clocks.pdf
  pdf for a description of Lamport clocks.

  The method: each time a process sends a message to
  another it sends a serial number (which comm already
  does.)  Upon receipt the receiver of a message sets its
  serial number to the larger of its serial number, and
  the serial number sent by the sender.

  In a two-endpoint comm connection this makes no
  difference, but in an n-endpoint comm connection, the
  serial number of each endpoint's serial will always be
  one greater than the last serial number it received.

  This enables a server to establish a partial ordering
  between requests when different systems' real-time
  clocks run at different rates - a sender whose clock is
  greater wins, as it has evolved through communication
  events, and is in some sense 'later' than the other.

  The only current constraint on serial is that it be
  locally unique, there is no requirement that it
  monotonically increase, or that it only increase by
  one.  The proposed change would specify that serial
  increases monotonically, and change the protocol to
  include an extra timestamp on reply/callback protocol
  messages: the serial value of the replying endpoint.

  Comm provides for protocol extension, and the
  implementation would degrade to the previous protocol
  version's behavior.

  A patch will follow.


tkt_uuid: 1158037fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: dns
priority: 5 Medium
foundin: None
title: Resource exaustion
cmimetype: text/plain
submitter: edesio
assignee: patthoyts
closer: patthoyts
closedate: 2006-04-21T14:24:53
comment:
  dns::resolve fails after 65535 requests. It happens
  even with CVS head of dns.tcl.

  Error message:

  can't read "state(reply)": no such variable
  while executing
  "binary scan $state(reply) SS id flags"
  (procedure "Receive" line 6)
  invoked from within
  "Receive [namespace current]::$id"
  (procedure "::dns::UdpEvent" line 12)
  invoked from within
  "::dns::UdpEvent ::dns::66665"


tkt_uuid: 1160005fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: tklib :: plotchart
priority: 5 Medium
foundin: None
title: tklib plotchart test suite failure using tcl/tk 8.5 alpha
cmimetype: text/plain
submitter: lvirden
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2005-10-04T06:47:06
comment:
  Platform: sparc solaris sun c compiler
  Tcl/Tk latest from cvs
  tklib latest from cvs

  After configure and building, I ran the test suite and
  got this
  error:

  Module: plotchart
  modules/plotchart/plotchart.test
  Plotchart 1.0
  modules/plotchart/plotcontour.test
  couldn't read file "plotchart.tcl": no such file or
  directory
      while executing
  "source plotchart.tcl"
      (file
  "/vol/tclsrcsol/tcl85/tklib/modules/plotchart/plotcontour.test"
  line 3)
      invoked from within
  "source [pSet file]"


  Before the error appeared, a series of tk widgets
  appeared with plotting information.


tkt_uuid: 1161779fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: snit
priority: 5 Medium
foundin: None
title: destructor can't precede constructor
cmimetype: text/plain
submitter: coldstore
assignee: duquette
closer: duquette
closedate: 2005-06-04T20:40:30
comment:
  The following code:

  package require snit

  ::snit::type Boom {
      destructor {
      }

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

  Causes:

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

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


tkt_uuid: 1161939fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Duplicate
subsystem: exif
priority: 5 Medium
foundin: None
title: Add most EXIF-2.2 tags to exif.tcl
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-06T19:57:17
comment:
  This patch adds most of the EXIF-2.2 tags and some
  Olympus makernotes to exif.tcl. If an unknown tag is
  found, the script will report this tag as unknown tag
  instead of crashing.
  I checked the script with lots of personal photos as
  well as some sample images found on www.exif.org.

  - Matthias

  mlange_lists(at)yahoo.com


tkt_uuid: 1161942fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
resolution: Not Applicable Here
subsystem: exif
priority: 5 Medium
foundin: None
title: Adds most EXIF-2.2 tags to exif.tcl
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
comment:
  Add most EXIF-2.2 tags to exif.tcl
  This patch adds most of the EXIF-2.2 tags and some
  Olympus makernotes to exif.tcl. If an unknown tag is
  found, the script will report this tag as unknown tag
  instead of crashing.
  I checked the script with lots of personal photos as
  well as some sample images found on www.exif.org.

  - Matthias

  mlange_lists(at)yahoo.de

  --> This is a repost because I missed the checkbox for
  the file upload ...


tkt_uuid: 1164663fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ldap
priority: 7 High
foundin: None
title: package require ldap fails
cmimetype: text/plain
submitter: muonics
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-03-16T18:22:49
comment:
  "package require ldap" fails with 'can't create
  procedure "::asn::getInteger": unknown namespace"

  I suspect someone copy/pasted this function from the
  ASN.1 module and forgot to change the namespace in the
  proc declaration.


tkt_uuid: 1165525fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Listbox bug, a non-stop loop cause the shaking of the widge
cmimetype: text/plain
submitter: pharmatcl
assignee: damonc
closer: afaupell
closedate: 2005-03-18T18:00:17
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: 1165534fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Listbox bug, a non-stop loop cause the shaking of the widge
cmimetype: text/plain
submitter: pharmatcl
assignee: damonc
closer: oehhar
closedate: 2009-06-30T14:22:59
comment:
  Following is a test code, please run it and your will
  see a ScrolledWindow shaking. 

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

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

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

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

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

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

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

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

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


tkt_uuid: 1166235fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: bwidget
priority: 5 Medium
foundin: None
title: NoteBook delete reindexing
cmimetype: text/plain
submitter: altano
assignee: damonc
closer: oehhar
closedate: 2009-06-30T14:14:07
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: 1167772fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
resolution: Not Applicable Here
subsystem: tklib: ctext
priority: 5 Medium
foundin: None
title: code/block expansion
cmimetype: text/plain
submitter: georgeps
assignee: georgeps
comment:
  I've sat on this long enough, and I lack the motivation
  to work on the ctext 3.x series much anymore.  So,
  here's an email with some code that could be merged in
  to provide code expansion, or whatever it's called when
  you click the + to expand a block.  He also mentions a
  bug that should be fixed.

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


  Dear mister Staplin,

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

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

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

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

  Kind regards,

  Jos.


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

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

  pack .t .c

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

  proc toggle_prefix { txt x y } {

      global line_char

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

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

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

      $txt delete $iidx

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

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

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


tkt_uuid: 1167797fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
resolution: Not Applicable Here
subsystem: tklib: ctext
priority: 5 Medium
foundin: None
title: 8.5 speed improvement via -all
cmimetype: text/plain
submitter: georgeps
assignee: georgeps
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: 1168649fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: Installer
priority: 5 Medium
foundin: None
title: debian package regression 1.7 (from 1.6.1)
cmimetype: text/plain
submitter: robertojimenoca
assignee: andreas_kupries
closer: sf-robot
closedate: 2005-11-02T03:20:41
comment:
  I was trying to make a new Debian package of tcllib:
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=300805
  but I found there's a regression in tcllib-1.7 from
  tcllib-1.6.1 since it tries to install dtplite direcly
  in /usr/bin/ instead the debian package directory.
  Could you fix this problem so I can make a Debian package?
  Any idea how to fix it?

  ---8<---
  error copying "./apps/dtplite" to "/usr/bin/dtplite":
  permission denied
      while executing
  "file copy -force $aexe    $adst"
      (procedure "ainstall" line 16)
      invoked from within
  "ainstall"
      (procedure "doinstall" line 26)
      invoked from within
  "doinstall"
      (procedure "main" line 11)
      invoked from within
  "main"
      (file "./installer.tcl" line 536)
  make[1]: *** [install] Error 1
  make[1]: Leaving directory `/tmp/tcllib/tcllib-1.7'
  make: *** [install-stamp] Error 2
  ---8<---


tkt_uuid: 1171533fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Rejected
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ScrolledWindow/Notebook widgets result in hang
cmimetype: text/plain
submitter: hemanglavana
assignee: damonc
closer: oehhar
closedate: 2009-06-30T14:06:42
comment:
  Hi,

  The following code results in a "hang" state with
  BWidget1.7 on solaris2.8/tcl8.4 when "update idletasks"
  is called. 

      package require BWidget
      set swg [ScrolledWindow .swg]
      set wg [NoteBook $swg.nb]
      pack $wg -fill both -expand 1 ;# use of grid
  instead of pack resolves this issue
      update idletasks ;# it hangs here

  The same code works fine with BWidget1.4.1. After some
  debugging, I found out that the problem sees to occur
  due to changes commited to 1.5 version of scrollw.tcl file:

  ----------------------------
  revision 1.5
  date: 2003/02/25 09:51:03;  author: hobbs;  state: Exp;
   lines: +108 -180
          * scrollw.tcl: complete rewrite of
  ScrolledWindow widget to
          address infinite loop scrollbar problems.  This
  one is much
          simpler and does not suffer the infinite loop.
   There still seems
          to be an issue with shrinking smaller than one
  scrollbar width /
          height in size, but that's not common (nor
  fatal).  Addresses
          [Patch #671821, #520903] [Bug #472718, #564691]
  ----------------------------

  Am I facing the shrinking issue mentioned in this log
  message?


  Hemang.


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

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

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


  Michael


tkt_uuid: 1172938fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: profiler
priority: 7 High
foundin: None
title: profiler does not store descendent time
cmimetype: text/plain
submitter: davidlallen
assignee: ericm
closer: ericm
closedate: 2005-03-30T22:46:36
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: 1173444fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: dns
priority: 5 Medium
foundin: None
title: dns::resolve says - can't read "tok": no such variable
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-04-08T05:27:43
comment:
  From: bbame@umm.edu

  I've been exec-ing nslookup (and digging through the 
  result) to do dns lookups in one of my tcl apps for quite 
  a while.  Obviously that's not ideal, so I wanted to 
  replace that code with calls to the dns package.

  Below is tclsh output that shows the problem I've been 
  having...

  [note: the nameserver address and the name of the host 
  I tried to resolve have been replaced by bogus info.  Rest 
  assured that when I tried it both were valid and correct.]

  % package require dns
  1.2.1
  % dns::configure -nameserver 1.2.3.4
  % set xyz [dns::resolve some.host]
  can't read "tok": no such variable
      while executing
  "Finish $tok "Event error: $err""
      (procedure "::dns::TcpEvent" line 35)
      invoked from within
  "::dns::TcpEvent ::dns::1"

  Thinking this might be a behavior specific to 1.2.1 I tried 
  the version in the "stock" tcllib 1.7 package (1.2.0) and 
  got the same error.  Finally I attempted to use 1.1 but 
  still got the same error.

  My second theory was that this might be a Solaris-
  specific bug, so I loaded tcllib 1.7 on my Mandrake 
  Linux box (version 10.0).  Got the same error there too.

  Finally I took a look at dns.tcl and noticed that the 
  variable name should probably be $token not $tok, so I 
  modified the code accordingly (by changing all 
  occurances of "Finish $tok" to "Finish $token".  After 
  the changes this is what happened...

  % package require dns
  1.2.1
  % dns::configure -nameserver 1.2.3.4
  % set xyz [dns::resolve some.host]
  ::dns::1
  % dns::address $xyz
  can't read "hdr": no such variable

  I could probably debug and fix this error, too.  Perhaps 
  another variable was renamed without touching all 
  occurances, but instead I thought it might be a better 
  idea to simply report this as a bug and see what 
  happens.

  In the mean time I guess I'm stuck with "exec nslookup".

  Thanks!

  bbame@umm.edu


tkt_uuid: 1176268fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tar
priority: 5 Medium
foundin: None
title: incorrect use of open in tar.tcl
cmimetype: text/plain
submitter: nobody
assignee: afaupell
closer: afaupell
closedate: 2006-06-29T19:39:26
comment:
  tar.tcl uses 'open' to access files. In my app which
  uses tar and vfs::tar I'm getting errors of the form 

  wrong # args: should be "open path"

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


tkt_uuid: 1176295fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: tcllib: request for new module
priority: 5 Medium
foundin: None
title: memoize package
cmimetype: text/plain
submitter: nobody
assignee: nobody
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: 1176744fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: counter
priority: 5 Medium
foundin: None
title: counter, improper use of alt=
cmimetype: text/plain
submitter: davygrvy
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-04-12T02:38:12
comment:
  It should be title= as firefox doesn't (correctly)
  display a tooltip for alt.

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


tkt_uuid: 1176748fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: struct :: graph
priority: 5 Medium
foundin: None
title: graph.tcl uses global variable
cmimetype: text/plain
submitter: blacksqr
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-04-08T05:19:46
comment:
  When graph.tcl is sourced as the struct package is
  loaded, the following expression is evaluated near the
  beginning:

  if {
      ![catch {package require cgraph} version] &&
      [package vcompare $version 0.6] > 0
  }

  in this instance $version is created as a global
  variable, which has the potential to clash with with
  values defined in the program loading the package.

  Since tcllib packages are supposed to make rigorous use
  of namespaces, the above expression would be better if
  it read:

  if {
      ![catch {package require cgraph}
  ::struct::graph::version] &&
      [package vcompare $::struct::graph::version 0.6] > 0
  }


tkt_uuid: 1178045fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: ldap
priority: 5 Medium
foundin: None
title: Bad conversion for UTF-8 strings
cmimetype: text/plain
submitter: nobody
assignee: loewerj
closer: mic42
closedate: 2006-09-01T14:23:32
comment:
  UTF-8 are not handled correctly in LDAP module (or may be 
  ASN). 
   
  Repeat by: 
   
  ---------------------------------------------- 
  package require ldap 
  set x [::ldap::connect ldap.u-strasbg.fr] 
  set y [::ldap::search $x o=ulp {(cn=*jamet an*)} *] 
  set z [lindex $y 0] 
  array set t [lindex $z 1] 
  puts $t(cn) 
  --------------------------------------------- 
   
  I get UTF-8 characters on dislay, even if stdout is 
  fconfigured with the normal "iso8859-15" encoding. 
   


tkt_uuid: 1187156fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: md5
priority: 5 Medium
foundin: None
title: md5::md5 -hex $data fails for some data
cmimetype: text/plain
submitter: juliannoble
assignee: andreas_kupries
closer: juliannoble
closedate: 2005-04-21T08:20:18
comment:
  md5::md5 -hex $data can fail with:
  ::hex: wrong # args, all options require an argument

  protecting the arg with: md5::md5 -hex -- $data does not 
  help.

  %set errorInfo
  ::hex: wrong # args, all options require an argument
      while executing
  "Hex $r"
      (procedure "md5::md5" line 47)
      invoked from within
  "md5::md5 -hex -- $data"
  %

  My quick fix was to modify md5x.tcl so that the 2 
  occurrences of:

  set r [Hex $r]

  are replaced with:

  set r [Hex -- $r]

  I haven't thought through exactly what's going on and 
  whether or not it's required in both instances though.

  Unfortunately I only know of one string for which this 
  occurs, and that happens to be a chunk of xml which 
  includes private information.


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


tkt_uuid: 1191326fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ldap
priority: 5 Medium
foundin: None
title: ldap::add cannot handle multi-valuated attributes
cmimetype: text/plain
submitter: pdav
assignee: mic42
closer: mic42
closedate: 2006-08-15T16:19:34
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: 1191573fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: popup window (/msg) handling error
cmimetype: text/plain
submitter: ephaeton
assignee: wildcard_25
closer: sf-robot
closedate: 2006-03-15T03:21:18
comment:
  I've /msg'd someone without a new popup window coming
  up. That someone then replied, generating the following:

  can't read "ChatWindows(counter)": no such element in array
  can't read "ChatWindows(counter)": no such element in array
      (reading value of variable to increment)
      invoked from within
  "incr ChatWindows(counter)"
      ("tabbed" arm line 2)
      invoked from within
  "switch $Options(OneToOne) {
      tabbed -
      popup {
          set ChatWindows(toplevel.$jid) [toplevel
  .chat[incr ChatWindows(counter)
          set ChatWindows(ti..."
      (procedure "getChatWidget" line 33)
      invoked from within
  "getChatWidget $m(-from) $name"
      ("chat" arm line 7)
      invoked from within
  "switch -- $type {
      chat {
          set from $m(-from)
          set w .txt
          set name $from
              if { [regexp {([^/]+)/(.+)} $m(-from) ->
  conf name]..."
      (procedure "::tkjabber::MsgCB" line 42)
      invoked from within
  "::tkjabber::MsgCB ::jlib::jlib2 chat -from
  tcl@tach.tclers.tk/GPS -xmlns jabber
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 $opts(-messagecommand) [list $jlibname
  $type] $arglist"
      (procedure "message_handler" line 64)
      invoked from within
  "message_handler $jlibname $xmldata     "
      ("message" arm line 2)
      invoked from within
  "switch -- $tag {
      iq {
          iq_handler $jlibname $xmldata
      }
      message {
          message_handler $jlibname $xmldata
      }
      presence {
          presence_hand..."
      (procedure "::jlib::dispatcher" line 8)
      invoked from within
  "::jlib::dispatcher ::jlib::jlib2 {message {from
  tcl@tach.tclers.tk/GPS type cha
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 "$wrapper($id,parsecmd) [list
  $wrapper($id,tree,2)]""
      (procedure "::wrapper::elementend" line 39)
      invoked from within
  "::wrapper::elementend wrap1 message -namespace
  urn:tkchat:chat"
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 $options(-elementendcommand) [list $tag]
  $empty $ns"
      invoked from within
  "ParseEvent:ElementClose $tag [array get options]"
      invoked from within
  "::sgml::parseEvent {{} {} {} {} message {} {
  xmlns='jabber:client' to='msw@all.
      ("eval" body line 1)
      invoked from within
  "eval ::sgml::parseEvent [list $tokenised] $parseOptions"
      (procedure "parse" line 60)
      invoked from within
  "parse xmlparser2 {<message xmlns='jabber:client'
  to='msw@all.tclers.tk/tkchat'
      (in namespace inscope "::xml::tclparser" script line 1)
      invoked from within
  "::namespace inscope ::xml::tclparser parse xmlparser2
  {<message xmlns='jabber:c
      ("eval" body line 1)              
      invoked from within
  "eval $classinfo(-parsecommand) [list $name] $args"
      ("parse" arm line 5)
      invoked from within
  "switch -- $method {

      configure {
          # BUG: We're not checking for legal options
          array set data $args
          eval $classinfo(-configurecommand) [..."
      (procedure "::xml::ParserCmd" line 7)
      invoked from within
  "::xml::ParserCmd xmlparser2 parse {<message
  xmlns='jabber:client' to='msw@all.t
      ("eval" body line 1)
      invoked from within
  "eval ::xml::ParserCmd xmlparser2 [list $method] $args"
      (procedure "xmlparser2" line 1)
      invoked from within
  "$p parse $xml"
      (procedure "parsereentrant" line 9)
      invoked from within
  "parsereentrant $parser $xml"
      (procedure "wrapper::parse" line 7)
      invoked from within
  "wrapper::parse $lib(wrap) $temp"
      (procedure "::jlib::recvsocket" line 22)
      invoked from within
  "::jlib::recvsocket ::jlib::jlib2"

  Don't have the time right now to track this further.


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

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

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


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


  I think the multiline text should be concatenated in
  msgtext.

  Regards,
  Christophe De Clercq


tkt_uuid: 1191854fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: profiler
priority: 5 Medium
foundin: None
title: profiler - No sense to clutter output when total calls = 0
cmimetype: text/plain
submitter: nobody
assignee: nobody
comment:
  This is a kind of enhancement.
  I changed my local version by moving the piece 
  if { !$callCount($name) } {
      append result "\n"
      continue
  }
  in ::profiler::print towards the beginning of foreach loop. 
  Of course I removed the line append result "\n"


tkt_uuid: 1193023fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: smtp
priority: 5 Medium
foundin: None
title: smtp can have no originator/from
cmimetype: text/plain
submitter: davidw
assignee: patthoyts
comment:
  Consider this code:

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

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

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

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

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

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

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

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


tkt_uuid: 1193581fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Works For Me
subsystem: profiler
priority: 5 Medium
foundin: None
title: Time consumed in C/C++ calbacks is not collected
cmimetype: text/plain
submitter: mcocosila
assignee: ericm
closer: ericm
closedate: 2005-05-02T17:43:50
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: 1195267fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: mime
priority: 5 Medium
foundin: None
title: initializing multipart files too slow
cmimetype: text/plain
submitter: jaspert
assignee: mrose
closer: patthoyts
closedate: 2006-11-06T22:18:24
comment:
  This problem occurs with WinXP and TclTk 8.5a2

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

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

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


tkt_uuid: 1196567fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: app: tkchat
priority: 5 Medium
foundin: None
title: Automatic clean-up of the NickList
cmimetype: text/plain
submitter: wildcard_25
assignee: wildcard_25
closer: wildcard_25
closedate: 2005-05-17T09:18:47
comment:
  This adds automatic removal of old nicks and 
  associated data (ie Color and Visibility) from the 
  resource file.
  Old nicks are removed after 30 days of non-usage, 
  except for your own. This is done through the 
  addition of a time stamp to the nick in the NickList.

  The 30 days is hard-coded but it should be easy 
  enough to make it into a configurable menu option.

  Old resource files are automatically updated to the 
  new format.


tkt_uuid: 1198196fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: app: tkchat
priority: 5 Medium
foundin: None
title: Convert bridged entry/exit messages to Traffic Messages
cmimetype: text/plain
submitter: wildcard_25
assignee: wildcard_25
closer: wildcard_25
closedate: 2005-05-17T09:24:41
comment:
  This converts the bridged IRC/Web entry and exit 
  messages to Traffic messages so that they can be 
  hidden with the 'Hide Entry/Exit Messages' menu.

  Also converts bridged nick changes to system messages.

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

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

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


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

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

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

  Suggested fix:

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

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


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


tkt_uuid: 1198465fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: Documentation
priority: 5 Medium
foundin: None
title: Documentation glitch in ActiveStates's 8.4.9.1 release
cmimetype: text/plain
submitter: hgiese
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-05-09T18:05:42
comment:
  Hello out there,
  not entirely sure whether this is the right place but I
  couldn't find a better one.
  In the HTML docs the 'start page' for TkLib
  (.../tklib/toc.html) in the new release (8.4.9.1) by
  ActiveState is empty at least when viewed with Firefox
  (asking for this page's source code showed a blank page
  as well).
  Best regards
  Helmut Giese

  PS: There is another - albeit different - small issue
  with TkTable's start page, which I will report at there.


tkt_uuid: 1204345fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Rejected
subsystem: report
priority: 5 Medium
foundin: None
title: variable size cell
cmimetype: text/plain
submitter: bschofield
assignee: andreas_kupries
closer: sf-robot
closedate: 2006-01-25T03:20:56
comment:
  Here is a patch that allows a reports to formatted in
  such a manner that the cell widths are variable in
  size, just big enough to fit the value. If one were to
  define a style that converts a matrix to csv format,
  the current implementation would produce something like
  the following

  foo, bar , ack ick
  I   , love , tcl      

  This patch provides the a new key word "var" for column
  size and allows the integer value "0" to indicate that
  cells in that column should be just big enough to hold
  the data. For example, the following code fragment
  would alter the results in the example below.

  $report size 0 var
  $report size 1 var
  $report size 2 0 ; # integer value 0 to indicate
  variable size

  The new output would be

  foo, bar, ack ick
  I, love, tcl      


tkt_uuid: 1205536fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ComboBox Return binding broken if -bwlistbox set
cmimetype: text/plain
submitter: stevel
assignee: damonc
closer: oehhar
closedate: 2009-06-30T14:00:14
comment:
  The Return binding on a ComboBox is broken if the -bwlistbox option is 
  set. The problem is that the binding is set on the underlying canvas rather 
  than on the BWidget ListBox widget, and so the "curselection" method 
  isn't supported.

  The attached patch fixes the problem by passing the path to the ListBox 
  widget, rather than %W (which will expand to the name of the underlying 
  canvas widget).


tkt_uuid: 1206499fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: list
priority: 5 Medium
foundin: None
title: struct::list flatten throws error for valid list
cmimetype: text/plain
submitter: yahalom
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-05-23T20:32:47
comment:
  this script throws error:
  %set a [list \[a\] \[b\]]
  {[a]} {[b]}
  %  struct::list flatten $a
  invalid command name "a"

  this is the errorInfo:
  invalid command name "a"
      while executing
  "a"
      invoked from within
  "::lappend result [a]"
      ("eval" body line 1)
      invoked from within
  "eval [::list ::lappend result] $item"
      (procedure "::struct::list::Lflatten" line 26)
      invoked from within
  "::struct::list::Lflatten {{[a]} {[b]}}"
      ("uplevel" body line 1)
      invoked from within
  "uplevel 1 [linsert $args 0 ::struct::list::$sub]"
      (procedure "struct::list" line 15)
      invoked from within
  "struct::list flatten $a"


tkt_uuid: 1213123fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: DropSite::register fails with multiple droptypes
cmimetype: text/plain
submitter: neil1357
assignee: damonc
closer: oehhar
closedate: 2009-06-30T13:38:16
comment:
  If you specify multiple droptypes to DropSite::register
  and one of the later droptypes does not contain all of
  the operations that an earlier type supported, the
  command will cause an error:

  toplevel .f
  frame .f.fr
  DropSite::register .f.fr -dropcmd foo -dropovercmd bar
  -droptypes {ABC {copy {} move {}} DEF {copy {}}}

  can't read "drop(DEF,mod,4)": no such variable

  I'm not sure about the BWidget drag'n'drop internals,
  but I believe the problem is caused by the failure to
  clear the "masklist" variable in dropsite.tcl:

  --- ..\lib\BWidget-1.7.0\dropsite.tcl   2004-01-23
  10:31:48.000000000 -0800
  +++ C:\Program
  Files\Fs2\Mips\Lib\BWidget-1.7.0\dropsite.tcl   
  2005-06-01 15:53:24.708250000 -0700
  @@ -150,6 +150,7 @@
           set drop(overcmd) $overcmd
           foreach {type ops} $types {
               set drop($type,ops) {}
  +            set masklist {}
               foreach {descop lmod} $ops {
                   if { ![llength $descop] || [llength
  $descop] > 3 } {
                       return -code error "invalid
  operation description \"$descop\""


tkt_uuid: 1213527fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 5 Medium
foundin: None
title: mime: Adds spurious CRLF to each item
cmimetype: text/plain
submitter: cc_benny
assignee: mrose
closer: andreas_kupries
closedate: 2006-10-03T16:30:25
comment:
  I've been trying to use the mime package for HTTP form 
  data (see <http://wiki.tcl.tk/FileUploadWithTclSHttp>). 
   
  One problem is that mime::buildmessage adds a CRLF at the 
  end of every item and than again before each boundary. This 
  is one CRLF to much. 
   
  This is mostly harmless with HTML or GIF parts in mails, 
  because the additional CRLF is at the end of the file data and 
  just ignored by most viewers.  But for servers parsing it as 
  HTTP form data it is parsed as a significant part of the data. 
   


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


tkt_uuid: 1213646fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 2
foundin: None
title: French locale (fr) is blocking man pages making
cmimetype: text/plain
submitter: sarnold75
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-06-06T21:20:14
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: 1218397fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: smtp
priority: 8
foundin: None
title: "Can't find package md5c" error
cmimetype: text/plain
submitter: jgodfrey
assignee: patthoyts
closer: patthoyts
closedate: 2005-10-07T00:45:42
comment:
  While using the (slightly modified - added username and
  password switches) "send_simple_message" sample code
  from the SMTP (v1.4) module's help file, I receive the
  following error:

  Error in startup script

  can't find package md5c
  while executing
  "package require md5c"
  invoked from within
  "smtp::sendmessage $token -recipients $recipient
  -servers...

  Here's the actual code...

  proc send_simple_message {recipient email_server
  subject body} {
      package require smtp
      package require mime

      set token [mime::initialize -canonical text/plain \
      -string $body]
      mime::setheader $token Subject $subject
      smtp::sendmessage $token \
      -recipients $recipient -servers $email_server \
      -username <myusername> -password <mypassword>
      mime::finalize $token
  }

  send_simple_message <email> <myserver> \
                    "Auto Send" "This is an
  auto-generated message"

  Obviously, data between "<...>" contains real (though
  somewhat sensitive) data in my case...

  Jeff


tkt_uuid: 1220089fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 5 Medium
foundin: None
title: subsection markup doesn't encode quotes
cmimetype: text/plain
submitter: duquette
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-06-18T02:38:02
comment:
  If the title argument to the doctools "subsection" tag contains 
  quotes, those quotes aren't stripped when the subsection title is 
  turned into an HTML anchor, e.g.,

  [subsection {This Title Has "Quotes"}]

  results in

  <a name="#this_title_has_"quotes"">

  which is invalid HTML.  The quotes should be stripped out when the 
  title is encoded as an anchor string.


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


tkt_uuid: 1220195fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: smtpd
priority: 5 Medium
foundin: None
title: -deliverMIME option takes command not script prefix
cmimetype: text/plain
submitter: coldstore
assignee: patthoyts
closer: patthoyts
closedate: 2005-06-14T11:30:09
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: 1224203fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Rejected
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Tree widget substitutes wrong path for %W in command binding
cmimetype: text/plain
submitter: jaspert
assignee: damonc
closer: oehhar
closedate: 2009-06-30T13:27:06
comment:
  If you put %W in the command bound to an action on a
  Tree widget you expect to get the path of the tree
  widget in its place when the command is invoked. But
  instead you get a canvas called c which is a child of
  the tree widget, as in this simple example...

  [jaspert@nacho Simile]$ wish
  % package require BWidget
  1.7
  % pack [Tree .t]
  % .t insert end root foo -text FOO
  foo
  % proc putall {args} {puts $args}
  % .t bindText <Button-1> "putall %W"
  % # now click on the text FOO...
  % .t.c foo
  .t.c foo
  .t.c foo


tkt_uuid: 1224575fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: smtpd
priority: 5 Medium
foundin: None
title: 'MAIL FROM <>' fails, but shouldn't
cmimetype: text/plain
submitter: coldstore
assignee: patthoyts
closer: patthoyts
closedate: 2005-06-21T13:43:52
comment:
  in proc ::smtpd::MAIL, around line 624, the result from
  split_address is parsed using ::mime::parseaddress,
  which will fail if it is passed a "", ie if the form
  'MAIL FROM <>' is received.

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

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

  I can provide patches if necessary.  Please advise.


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

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

  Why the difference ?


tkt_uuid: 1225868fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: control
priority: 5 Medium
foundin: None
title: try command
cmimetype: text/plain
submitter: dkf
assignee: dgp
closer: dgp
closedate: 2009-10-08T17:48:20
comment:
  Here's a [try] command using the features of TIP#90,
  perhaps for adding to the control package. I'm
  perfectly happy with the code being published under the
  normal tcllib license.

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


tkt_uuid: 1229352fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: struct
priority: 8
foundin: None
title: add unget to queues
cmimetype: text/plain
submitter: dvrsn
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-30T23:48:50
comment:
  It would be useful to have an 'unget' operation
  available for queues, having the functionality of
  inserting items at the head of the queue.  The main
  purpose for this would be exception handling:


  while {[$q length] > 0} {
      if {[catch {
          set i [$q get] 
          process-item $i
      }]} {
          $q unget $i
      }
  }

  The same functionality can easily be achieved using
  peek initially and then using get to discarding the
  item in success cases, but to me handling it as an
  exceptional case reads cleaner.


tkt_uuid: 1230699fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: html
priority: 5 Medium
foundin: None
title: ::html::textInput size attribute always default
cmimetype: text/plain
submitter: nobody
assignee: welch
closer: mic42
closedate: 2006-07-02T20:01:47
comment:
  The output of
      html::textInput name "" size="15"
  is
      <input type="text" name="name" value="" size="45" size=15>
  which results in a field of size 45 (the second size=15 parameter
  is apparently ignored.)

  I think the fix is as follows:

  In html.tcl, proc ::html::textInput, the line
      append html [default input.size]
  should be
      append html [default input.size $args]


  Thanks,
  Greg

  greg@groupscope.com


tkt_uuid: 1230737fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: No cleanup after failure in bwidget::init
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: oehhar
closedate: 2009-06-29T16:30:38
comment:
  I think there is a bug in Widget::init, line 66 (4th
  from below): set pathopt($option)
  [$Widget::_optiontype($type) $option $value [lindex
  $optdesc 3]].
  The command that gets executed can throw an exception
  for example if an invalid value for an Enum is passed.
  This exception should be caught to unset pathopt and
  pathmod. As it is now, I am tempted to call this a
  memory leak.

  Example run showing the bug:
  wish
  % package require BWidget
  1.7
  % LabelFrame .lblf -side foo
  bad side value "foo": must be left, right, top or bottom
  % namespace eval ::Widget::LabelFrame {puts stderr
  [lsort [info vars]]}
  .lblf:mod .lblf:opt argc argv argv0 auto_index
  auto_oldpath auto_path env errorCode errorInfo map
  map.f map.l map:cmd opt optionClass optionExports sync
  tcl_interactive tcl_libPath tcl_library tcl_patchLevel
  tcl_pkgPath tcl_platform tcl_rcFileName tcl_version
  tk_library tk_patchLevel tk_strictMotif tk_version

  Solution:
  if [catch {$Widget::_optiontype($type) $option $value
  [lindex $optdesc 3]} msg] {
          if { [info exists pathopt] } {
              unset pathopt
          }
          unset pathmod
          return -code error "$msg"
  } else {
          set pathopt($option) "$msg"
  }


tkt_uuid: 1232385fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Wont Fix
subsystem: struct :: list
priority: 5 Medium
foundin: None
title: struct::list filter -not switch
cmimetype: text/plain
submitter: mpettigr
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-27T00:17:40
comment:
  Feature Request:

  Add -not switch to ::struct::list filter command so that 
  you can both filter and filter out.  This behavior mirrors 
  the tcl core lsearch -not switch.


tkt_uuid: 1234478fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: bibtex
priority: 5 Medium
foundin: None
title: Add support for writing Bibtex files
cmimetype: text/plain
submitter: mic42
assignee: tallniel
comment:
  It would be nice if support for writing bibtex files
  was added to the module, for example to export bibtex
  from a database or providing cut&copy ready bibtex
  snippets on a web page (like the ones offered by
  citeseer for example)


tkt_uuid: 1234831fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ftp
priority: 5 Medium
foundin: None
title: runtime-error when owner of file is wrong
cmimetype: text/plain
submitter: cdclercq
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-10-20T19:35:43
comment:
  Hi,

  I do a anonymous ftp from a UNIX machine to a "windows
  2000 server" (in passive mode):

  The owner of the file is Administrator, i try to
  overwrite it
  with anonymous account (i-user on windows).

  This should give a ftp error 550 instead I get 
  the error at the end of this post.

  After deleting the files and re-creating them with
  anonymous account my problem was solved, small
  non-blocking issue for me...

  Regards,

  Christophe

  :<<
  can't unset "ftp(state.data)": no such element in array
      while executing
  "unset ftp(state.data)"
      ("default" arm line 4)
      invoked from within
  "switch -exact -- $rc {
                  1 -
  2 {
                      set ftp(State) put_close
                  }
                  default {
              ..."
      ("put_sent" arm line 2)
      invoked from within
  "switch -exact -- $ftp(State) {
          user { 
              switch -exact -- $rc {
                  2 {
                      PutsCtrlSock $s "USER $ftp(U..."
      (procedure "::ftp::StateHandler" line 78)
      invoked from within
  "::ftp::StateHandler 0 sock5"
  >>


tkt_uuid: 1239915fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ldap
priority: 5 Medium
foundin: None
title: Bad processing of "*" in ldap::search
cmimetype: text/plain
submitter: pdav
assignee: loewerj
closer: mic42
closedate: 2005-07-20T11:59:04
comment:
  The ldap::search processing of substrings does not    
  handle "*" when used in more complex situations    
  than "*x", "*x*" or "x*". For example, this little test    
  program displays :    
     (sn=david) : 3 result(s)   
     (sn=da*id) : 0 result(s)     <--- obviousely wrong!   
     
  ------------------------------------------------------------------------   
  #!/usr/local/bin/tclsh8.4     
   
  package require ldap 
   
  set host ldap.u-strasbg.fr 
  set base "o=ulp" 
  set filter1 "(sn=david)" 
  set filter2 "(sn=da*id)" 
   
  set ldapfd [::ldap::connect $host] 
  set r1 [::ldap::search $ldapfd $base $filter1 {}] 
  set r2 [::ldap::search $ldapfd $base $filter2 {}] 
  ::ldap::disconnect $ldapfd 
   
  puts "$filter1 : [llength $r1] result(s)" 
  puts "$filter2 : [llength $r2] result(s)" 
  --------------------------------------------------------------------------   
    
  The attached patch provides a general solution to the 
  "*" handling. It is still not the complete solution to RFC 
  2254, but a little step forward. 
  .. :-( 


tkt_uuid: 1240910fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math
priority: 5 Medium
foundin: None
title: Error in math::interpolate::neville
cmimetype: text/plain
submitter: nobody
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2005-10-04T06:34:26
comment:
  Dear

  I have found out a situation where this function
  generates an error.

  The arguments that I let it pass through this function is :

  set arg1 "45 45 63 81 99 135 135 135 135 135 135 297
  324 351 369 396 423 450 477 504 531 558 585 603 630 657
  684 711 738 765 792 819 846 864 891 918 945 972 990
  1017 1044"

  set arg2 "2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62
  66 70 74 78 82 86 90 94 98 102 106 110 114 118 122 126
  130 134 138 142 146 150 154 158 162"

  set arg3 268

  In calling:
  math::interpolate::neville $arg1 $arg2 $arg3

  it generates the error:
  *********************************************************
  divide by zero
  divide by zero
  while executing
  "expr { $w / ( $ho - $hp ) }"
  (procedure "math::interpolate::neville" line 42)
  invoked from within
  "math::interpolate::neville [lindex $ipt 0] [lindex
  $ipt 1] $width"
  (procedure "adjustFont" line 3)
  invoked from within
  "adjustFont $font $width $ipt"
  (procedure "configureBinding" line 2)
  invoked from within
  "configureBinding title {{45 45 63 81 99 135 135 135
  135 135 135 297 324 351 369 396 423 450 477 504 531 558
  585 603 630 657 684 711 738 765 792 819 84..."
  (command bound to event) error :
  ********************************************************

  Has anyone an idea

  Best regards
  SaigonKid


tkt_uuid: 1242629fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: smtp
priority: 7 High
foundin: None
title: Fix of CRAM-MD5
cmimetype: text/plain
submitter: usus
assignee: patthoyts
closer: patthoyts
closedate: 2005-09-05T10:54:34
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: 1242740fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: Error in tkcat::addAction
cmimetype: text/plain
submitter: pointsman
assignee: patthoyts
closer: patthoyts
closedate: 2005-08-18T12:07:31
comment:
  In the wild, with tkchat v1.301 I got abrupt the error:


  can't read "tags": no such variable
  can't read "tags": no such variable
      while executing
  "$w insert $mark "\n" $tags"
      (procedure "::tkchat::addAction" line 38)
      invoked from within
  "::tkchat::addAction .txt $color $nick $msg $mark
  $timestamp $opts"
      (procedure "::tkjabber::parseMsg" line 47)
      invoked from within
  "::tkjabber::parseMsg $from $m(-body) $color end
  $timestamp"
      ("groupchat" arm line 23)
      invoked from within
  "switch -- $type {
          chat {
              set from $m(-from)
              set w .txt
              set name $from
              if { [regexp {([^/]+)/(.+)} $m(-from) ->
  conf name] } {
                  i..."
      (procedure "::tkjabber::MsgCB" line 42)
      invoked from within
  etc.


  Can't say, what triggered this, but it seems, that
  tkchat::addAction is too credulous. In the line 

    $w insert $mark "\n" $tags

  it depends on the variable tags to exist. But this
  variable is only set within this foreach loop in the proc:

      foreach { str url } [parseStr $str] {
         ....
      }

  which will run 0 times, if [parseStr] returns the empty
  list (which is possible, as a look at that proc shows
  and the error msg demonstrates), let tags unset.

   


tkt_uuid: 1243991fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Works For Me
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ListBox mouse selection bug
cmimetype: text/plain
submitter: lupylucke
assignee: damonc
closer: sf-robot
closedate: 2009-07-14T02:20:48
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: 1245508fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ntp
priority: 5 Medium
foundin: None
title: NTP handling wrong
cmimetype: text/plain
submitter: dkf
assignee: patthoyts
closer: patthoyts
closedate: 2005-08-18T12:04:42
comment:
  The handling of (s)ntp by the ntp package is wrong; you
  can't talk ntp (these days) over tcp and you certainly
  can't use 'abcd' as a request message!

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


tkt_uuid: 1249079fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: tklib :: install
priority: 7 High
foundin: None
title: non-root install fails
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-26T23:18:13
comment:
  Configure as follows:

  ./configure --prefix=/home/yourname/foo

  make install

  Should install LIBs and APPs in "foo", the app dtplite
  trys to install as /usr/bin/dtplite, it should not.

  It should install as: /home/yourname/foo/bin/dtplite


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

  > tclsh installer.tcl

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

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

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


tkt_uuid: 1254934fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: mime
priority: 7 High
foundin: None
title: mime - Extra line feed removed from output
cmimetype: text/plain
submitter: erl
assignee: patthoyts
closer: andreas_kupries
closedate: 2006-10-03T16:30:27
comment:
  The following patch fixed a problem with extra line
  feeds in mime attachments in code to upload binary
  files to a web page. I imagine that the extra line feed
  is not noticed with text files.

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

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

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

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


tkt_uuid: 1254937fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: mime
priority: 5 Medium
foundin: None
title: Binary files get an extra line feed at the end
cmimetype: text/plain
submitter: erl
assignee: mrose
closer: patthoyts
closedate: 2005-09-20T14:18:12
comment:
  Binary mime parts get an extra line feed at the end,
  before the border.

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


tkt_uuid: 1260174fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
resolution: None
subsystem: A Category Is Missing
priority: 5 Medium
foundin: None
title: ip: various procs for ip package
cmimetype: text/plain
submitter: aakhter
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-08-15T19:31:13
comment:
  below is the current man page for the extension to the
  ip package.

  A review and changes to accomodate integration into the
  tcllib ip package is requested.



  ipExtension.tcl(l)                                    
       ipExtension.tcl(l)



  NAMEE
         ::ipExtension:: - an extension to tcllib ip library

  SSYYNNOOPPSSIISS
         package require ipExtension



  AAUUTTHHOORRSS
         Aamer Akhter / aakhter@cisco.com


  SSUUPPPPOORRTT
         aakhter@cisco.com


  DDEESSCCRRIIPPTTIIOONN
         A detailed description of the functionality
  provided by the library.


  RREEQQUUIIRREEMMEENNTTSS
         package require logger
         package require ip



  NNOOTTEESS
         1.



  PPRROOCCEEDDUURREESS
         ::ip::prefixToNative




                convert from dotted from to native (hex) form




                       prefixToNative <prefix>



                Options:



                       <prefix>
                           string in the <ipaddr>/<mask>
  format



                Return values:



                       <prefix> in native format {<hexip>
  <hexmask>}



                Examples:



                       % ip::prefixToNative 1.1.1.0/24
                       0x01010100 0xffffff00




         ::ip::nativeToPrefix




                convert from native (hex) form to dotted form




                       nativeToPrefix <native>



                Options:



                       <native>
                           tcllist in format {<hexip>
  <hexmask>}



                Return values:



                       <prefix> form of <native>, where
  prefix is string in the <ipaddr>/<mask> format



                Examples:



                       % ip::nativeToPrefix {0x01010100
  0xffffff00}
                       1.1.1.0/24




         ::ip::intToString




                convert from an integer/hex to dotted form




                       intToString <integer/hex>



                Options:



                       <integer>
                           ip address in integer form



                Return values:



                       ip address in dotted form



                Examples:



                       ip::intToString 4294967295
                       255.255.255.255




         ::ip::ToInteger




                convert dotted form ip to integer




                       ToInteger <ipaddr>



                Options:



                       <ipaddr>
                           decimal dotted from ip address



                Return values:



                       integer form of <ipaddr>



                Examples:



                       % ::ip::ToInteger 1.1.1.0
                       16843008




         ::ip::ToHex




                convert dotted form ip to hex




                       ToHex <ipaddr>



                Options:



                       <ipaddr>
                           decimal dotted from ip address



                Return values:



                       hex form of <ipaddr>



                Examples:



                       % ::ip::ToHex 1.1.1.0
                       0x01010100




         ::ip::MaskToInt




                convert mask to integer




                       MaskToInt <mask>



                Options:



                       <mask>
                           mask in either dotted form or
  mask length form (255.255.255.0 or 24)



                Return values:



                       integer form of mask



                Examples:



                       ::ip::MaskToInt 24
                       4294967040




         ::ip::broadcastAddress




                return broadcast address given prefix




                       broadcastAddress <prefix>



                Options:



                       <prefix>
                           route in the form of
  <ipaddr>/<mask> or native form {<hexip> <hexmask>}



                Return values:



                       ipaddress of broadcast



                Examples:



                       ::ip::broadcastAddress 1.1.1.0/24
                       1.1.1.255

                       ::ip::broadcastAddress {0x01010100
  0xffffff00}
                       0x010101ff




         ::ip::MaskToLength




                converts dotted or integer form of mask
  to length




                       MaskToLength
  <dottedMask>|<integerMask>|<hexMask>



                Options:



                       <dottedMask>
                       <integerMask>
                       <hexMask>
                           mask to convert to prefix
  length format (eg /24)



                Return values:



                       prefix length



                Examples:



                       ::ip::MaskToLength 0xffffff00
                       24

                       % ::ip::MaskToLength 255.255.255.0
                       24




         ::ip::LengthToMask




                converts mask length to dotted mask form




                       LengthToMask <maskLength>



                Options:



                       <maskLength>
                           mask length



                Return values:



                       mask in dotted form



                Examples:



                       ::ip::LengthToMask 24
                       255.255.255.0




         ::ip::nextNet




                returns next an ipaddress in same
  position in next network




                       nextNet <ipaddr> <mask> [<count>]



                Options:



                       <ipaddress>
                           in hex/integer/dotted format
                       <mask>
                           mask in
  hex/integer/dotted/maskLen format
                       <count>
                           number of nets to skip over
  (default is 1)



                Return values:



                       ipaddress in same position in next
  network in hex




         ::ip::isOverlap




                checks to see if prefixes overlap




                       isOverlap <prefix> <prefix1>
  <prefix2>...



                Options:



                       <prefix>
                           in form <ipaddr>/<mask> prefix
  to compare <prefixN> against
                       <prefixN>
                           in form <ipaddr>/<mask>
  prefixes to compare against



                Return values:



                       1 if there is an overlap



                Examples:



                       % ::ip::isOverlap 1.1.1.0/24
  2.1.0.1/32
                       0

                       ::ip::isOverlap 1.1.1.0/24
  2.1.0.1/32 1.1.1.1/32
                       1




         ::ip::isOverlapNative




                checks to see if prefixes overlap
  (optimized native form)




                       isOverlap <hexipaddr> <hexmask>
  {{<hexipaddr1> <hexmask1>} {<hexipaddr2> <hexmask2>...}



                Options:



                       -all
                           return all overlaps rather
  than the first one
                       -inline
                           rather than returning index
  values, return the actual overlap prefixes
                       <hexipaddr>
                           ipaddress in hex/integer form
                       <hexMask>
                           mask in hex/integer form



                isOverlapNative is avaliabel both as a C
  extension and in a native tcl form
                if the extension is loaded (tried
  automatically), isOverlapNative will be
                linked to isOverlapNativeC. If an
  extension is not loaded, then isOverlapNative
                will be linked to the native tcl proc:
  ipOverlapNativeTcl.

                Return values:



                       non-zero if there is an overlap,
  value is element # in list with overlap



                Examples:



                       % ::ip::isOverlapNative 0x01010100
  0xffffff00 {{0x02010001 0xffffffff}}
                       0

                       %::ip::isOverlapNative 0x01010100
  0xffffff00 {{0x02010001 0xffffffff} {0x01010101
  0xffffffff}}
                       2




         ::ip::IpToLayer2Multicast




                converts ipv4 address to a layer 2
  multicast address




                       IpToLayer2Multicast <ipaddr>



                Options:



                       <ipaddr>
                           ipaddress in dotted form



                Return values:



                       mac address in xx.xx.xx.xx.xx.xx form



                Examples:



                       % ::ip::IpToLayer2Multicast 224.0.0.2
                       01.00.5e.00.00.02




         ::ip::IpHostFromPrefix




                gives back a host address from a prefix




                       ::ip::IpHostFromPrefix <ipprefix>
  [-exclude <list of prefixes>]



                Options:



                       <ipprefix>
                           prefix is <ipaddr>/<masklen>
                       -exclude <list of ipprefixes>
                           list if ipprefixes that host
  should not be in



                Return values:



                       ip address



                Examples:



                       %::ip::IpHostFromPrefix  1.1.1.5/24
                       1.1.1.1

                       %::ip::IpHostFromPrefix  1.1.1.1/32
                       1.1.1.1




         ::ip::reduceToAggregates




                finds nets that overlap and filters out
  the more specifc nets




                       ::ip::reduceToAggregates <list of
  ipprefixes>



                Options:



                       <ipprefix>
                           prefix is <ipaddr>/<masklen>
  or native format



                Return values:



                       non-overlapping ip prefixes



                Examples:




                         % ::ip::reduceToAggregates
  {1.1.1.0/24 1.1.0.0/8  2.1.1.0/24 1.1.1.1/32 }
                         1.0.0.0/8 2.1.1.0/24




         ::ip::longestPrefixMatch




                given host IP finds longest prefix match
  from set of prefixes




                       ::ip::longestPrefixMatch <ipaddr>
  <list of ipprefixes>



                Options:



                       <ipprefix>
                           prefix is <ipaddr>/<masklen>
  or native format
                       <ipaddr>
                           ip address in <ipprefix>
  format, dotted form, or integer form



                Return values:



                       <ipprefix> that is the most
  specific match to <ipaddr>



                Examples:



                       % ::ip::longestPrefixMatch 1.1.1.1
  {1.1.1.0/24 1.0.0.0/8  2.1.1.0/24 1.1.1.0/28 }
                       1.1.1.0/28




         ::ip::cmpDotIP




                helper function for dotted ip address for
  use in lsort




                       ::ip::cmpDotIP <ipaddr1> <ipaddr2>



                Options:



                       <ipaddr1> <ipaddr2>
                           prefix is in dotted ip address
  format



                Return values:



                       -1 if ipaddr1 is less that ipaddr2
                        1 if ipaddr1 is more that ipaddr2
                        0 if ipaddr1 and ipaddr2 are equal



                Examples:



                       % lsort -command ip::cmpDotIP
  {1.0.0.0 2.2.0.0 128.0.0.0 3.3.3.3}
                       1.0.0.0 2.2.0.0 3.3.3.3 128.0.0.0








  ATS                                  Cisco            
       ipExtension.tcl(l)


tkt_uuid: 1260196fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: ip
priority: 9 Immediate
foundin: None
title: ip: various procs for ip package
cmimetype: text/plain
submitter: aakhter
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-30T18:07:28
comment:
  a review is requested for various additional procs for
  the tcllib ip package.

  tar.gz file contains tcl code, embedded doc, and
  optional C extension code

  html file contains html view of documentation
  man file contains a manpage style view of documentation


tkt_uuid: 1261101fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: math :: bignum
priority: 5 Medium
foundin: None
title: Allow easy comparisons with 0 (zero)
cmimetype: text/plain
submitter: escargo
assignee: sarnold75
closer: sarnold75
closedate: 2005-08-30T16:33:12
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: 1263071fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: snit
priority: 5 Medium
foundin: None
title: -configuremethod
cmimetype: text/plain
submitter: matben
assignee: duquette
comment:
  Things like:

      option -text      -configuremethod [list SetText 1]
      method SetText {num option value} {
  $win.lbl$num configure -text $value
  set options($option) $value
      }

  wont work. Perhaps the callback should be concatenated 
  (uplevel) when executed.

  snit 1.0


tkt_uuid: 1266792fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Wrong option added to database by Widget::tkinclude.
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: oehhar
closedate: 2009-06-29T15:53:44
comment:
  Widget::tkinclude of BWidgets adds $option to the
  option database, but it should add $realopt. Compare
  for example with Widget::addmap.


tkt_uuid: 1266913fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: struct :: skiplist
priority: 1 Zero
foundin: None
title: skiplist - Walking through a range
cmimetype: text/plain
submitter: sarnold75
assignee: keithv
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: 1267112fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: doctools
priority: 5 Medium
foundin: None
title: doctools - Add table support
cmimetype: text/plain
submitter: techentin
assignee: andreas_kupries
comment:
  When composing the units man page, I used [example] to
  format the tables of units, because that appeared
  similar to preformatted, and was the only way I saw to
  make a table.

  It would be better if doctools supported [table]
  commands.  The html, latex, and nroff engines could be
  extended to support table output.  Tmml and wiki
  formats don't support tables, so those engines would
  have to generate some equivalent, perhaps preformatted,
  output.


tkt_uuid: 1267178fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: tcllib: request for new module
priority: 8
foundin: None
title: Aes module for tcllib
cmimetype: text/plain
submitter: fattobi
assignee: patthoyts
closer: patthoyts
closedate: 2005-08-31T11:18:34
comment:
  Hi,

  I've written a Tcl-Implementation of the Advanced
  Encryption Standard (AES) for my so-called "individual
  project" at university and thought it might be usefull
  for the tcllib.

  Since it's my first (real) program in Tcl, it may not
  be perfect, but I would be glad, if it would be
  considered helpful in some way.

  I've added a small manpage (in doctools format) and
  test-suite, but I'm not sure if I did it the way it is
  desired. So tell me if something is missing or can be
  improved.

  Thorsten 


tkt_uuid: 1267636fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: log
priority: 7 High
foundin: None
title: logger: appender and formatter support
cmimetype: text/plain
submitter: aakhter
assignee: mic42
closer: andreas_kupries
closedate: 2005-09-28T21:17:32
comment:
  The attached tar.gz file is for inclusion into the
  logger package. It introduces the concepts of appenders
  (console and colorConsole are included) and formatters
  to logger. 

  There is no existing code in logger changed, and all
  additions use  existing external apis. Additionally,
  the log procs generated try to resolve (hardcode) any
  pre-resolvable items to optimize log runtime.

  example of usage:

  % set log [logger::init testLog]
  ::logger::tree::testLog
  % logger::applyAppender -appender console -serviceCmd
  $log -conversionPattern {\[%d\] \[%c\] \[%M\] \[%p\] %m}

  % ${log}::error "this is error"
  [2005/08/22 10:14:13] [testLog] [global] [error] this
  is error



  I would welcome any review comments.

  doc attached in man and html format


tkt_uuid: 1272721fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: units
priority: 5 Medium
foundin: None
title: failed tests
cmimetype: text/plain
submitter: dgp
assignee: techentin
closer: techentin
closedate: 2005-08-25T19:24:45
comment:
  As part of a complete

    tclsh sak.tcl test

  run:

  ==== units-9.1 non-SI calorie FAILED
  ==== Contents of test case:

      ::units::convert 1.0calorie joule

  ---- Result was:
  4.1867999999999999
  ---- Result should have been (exact matching):
  4.1868
  ==== units-9.1 FAILED


  ==== units-10.1 leading zero is not octal FAILED
  ==== Contents of test case:

      ::units::convert 09mm meter

  ---- Result was:
  0.0090000000000000011
  ---- Result should have been (exact matching):
  0.009
  ==== units-10.1 FAILED

  No failures from

    tclsh sak.tcl test units

  so there's a tcl_precision leak
  between test files that should be
  fixed, and the test should be
  robust against it anyway.


tkt_uuid: 1272730fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Invalid
subsystem: asn
priority: 5 Medium
foundin: None
title: asn - failed tests with Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: dgp
closer: dgp
closedate: 2005-08-26T20:09:23
comment:
  With HEAD (Tcl 8.5a4):

    tclsh8.5 sak.tcl test asn

  shows failures on Solaris:

  ==== asn-2.19 integer FAILED
  ==== Contents of test case:

      binary scan [asn::asnInteger $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  8388608 02050000800000
  ---- Result should have been (exact matching):
  8388608 020400800000
  ==== asn-2.19 FAILED


  ==== asn-4.19 enum FAILED
  ==== Contents of test case:

      binary scan [asn::asnEnumeration $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  8388608 0A050000800000
  ---- Result should have been (exact matching):
  8388608 0A0400800000
  ==== asn-4.19 FAILED


  ==== asn-2.20 integer FAILED
  ==== Contents of test case:

      binary scan [asn::asnInteger $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  8388609 02050000800001
  ---- Result should have been (exact matching):
  8388609 020400800001
  ==== asn-2.20 FAILED


  ==== asn-4.20 enum FAILED
  ==== Contents of test case:

      binary scan [asn::asnEnumeration $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  8388609 0A050000800001
  ---- Result should have been (exact matching):
  8388609 0A0400800001
  ==== asn-4.20 FAILED


  ==== asn-2.21 integer FAILED
  ==== Contents of test case:

      binary scan [asn::asnInteger $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  16777216 02050001000000
  ---- Result should have been (exact matching):
  16777216 020401000000
  ==== asn-2.21 FAILED


  ==== asn-4.21 enum FAILED
  ==== Contents of test case:

      binary scan [asn::asnEnumeration $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  16777216 0A050001000000
  ---- Result should have been (exact matching):
  16777216 0A0401000000
  ==== asn-4.21 FAILED


  ==== asn-2.24 integer FAILED
  ==== Contents of test case:

      binary scan [asn::asnInteger $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  -8388609 0205FFFF7FFFFF
  ---- Result should have been (exact matching):
  -8388609 0204FF7FFFFF
  ==== asn-2.24 FAILED


  ==== asn-4.24 enum FAILED
  ==== Contents of test case:

      binary scan [asn::asnEnumeration $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  -8388609 0A05FFFF7FFFFF
  ---- Result should have been (exact matching):
  -8388609 0A04FF7FFFFF
  ==== asn-4.24 FAILED


  ==== asn-2.26 integer FAILED
  ==== Contents of test case:

      binary scan [asn::asnInteger $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  -2147483648 0205FF80000000
  ---- Result should have been (exact matching):
  -2147483648 020480000000
  ==== asn-2.26 FAILED


  ==== asn-4.26 enum FAILED
  ==== Contents of test case:

      binary scan [asn::asnEnumeration $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  -2147483648 0A05FF80000000
  ---- Result should have been (exact matching):
  -2147483648 0A0480000000
  ==== asn-4.26 FAILED


  ==== asn-2.27 integer FAILED
  ==== Contents of test case:

      binary scan [asn::asnInteger $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  2147483647 0205007FFFFFFF
  ---- Result should have been (exact matching):
  2147483647 02047FFFFFFF
  ==== asn-2.27 FAILED


  ==== asn-4.27 enum FAILED
  ==== Contents of test case:

      binary scan [asn::asnEnumeration $i] H* result
      list $i [string toupper $result]
      
  ---- Result was:
  2147483647 0A05007FFFFFFF
  ---- Result should have been (exact matching):
  2147483647 0A047FFFFFFF
  ==== asn-4.27 FAILED


tkt_uuid: 1272754fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: counter
priority: 5 Medium
foundin: None
title: counter - failed tests with Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: welch
closer: andreas_kupries
closedate: 2006-09-27T16:50:30
comment:
  ==== counter-avg counter::count FAILED
  ==== Contents of test case:

      counter::init avg
      counter::count avg 2.2
      counter::count avg 3.3
      counter::count avg 9.8
      counter::get avg -avg

  ---- Result was:
  5.1000000000000005
  ---- Result should have been (exact matching):
  5.1
  ==== counter-avg FAILED

  ==== counter-hist histogram average FAILED
  ==== Contents of test case:

      counter::init hist -hist 10
      counter::count hist 2.2
      counter::count hist 18.6
      counter::count hist 14.1
      counter::count hist 26.9
      counter::count hist 20.4
      counter::count hist 23.3
      counter::count hist 53.3
      counter::get hist -avg

  ---- Result was:
  22.685714285714283
  ---- Result should have been (exact matching):
  22.6857142857
  ==== counter-hist FAILED


tkt_uuid: 1272783fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: doctools
priority: 5 Medium
foundin: None
title: docidx - failed tests with Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-27T00:14:27
comment:
  ==== docidx-3.0 docidx errors FAILED
  ==== Contents of test case:

      catch {new} msg
      set msg

  ---- Result was:
  wrong # args: should be "new name ..."
  ---- Result should have been (exact matching):
  wrong # args: should be "new name args"
  ==== docidx-3.0 FAILED

  ==== doctoc-3.0 doctoc errors FAILED
  ==== Contents of test case:

      catch {new} msg
      set msg

  ---- Result was:
  wrong # args: should be "new name ..."
  ---- Result should have been (exact matching):
  wrong # args: should be "new name args"
  ==== doctoc-3.0 FAILED

  ==== doctools-3.0 doctools errors FAILED
  ==== Contents of test case:

      catch {new} msg
      set msg

  ---- Result was:
  wrong # args: should be "new name ..."
  ---- Result should have been (exact matching):
  wrong # args: should be "new name args"
  ==== doctools-3.0 FAILED


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

      # AFPoint == AutoFocus Point

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

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


tkt_uuid: 1272836fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math :: bignum :: float
priority: 5 Medium
foundin: None
title: math::bigfloat - failed tests with Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: sarnold75
closer: sarnold75
closedate: 2005-08-30T16:31:22
comment:
  ==== bigfloat-round-1.0 eval : 'tostr [round [fromstr
  $x]]' FAILED
  ==== Contents of test case:
  uplevel 1 $code
  ---- Result was:
  1
  ---- Result should have been (exact matching):
  0
  ==== bigfloat-round-1.0 FAILED


  ==== bigfloat-round-1.0 eval : 'tostr [round [fromstr
  $x]]' FAILED
  ==== Contents of test case:
  uplevel 1 $code
  ---- Result was:
  -1
  ---- Result should have been (exact matching):
  0
  ==== bigfloat-round-1.0 FAILED


tkt_uuid: 1272899fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math
priority: 5 Medium
foundin: None
title: math::combinatorics - failed tests with Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: kennykb
closer: kennykb
closedate: 2005-08-25T21:17:16
comment:
  ==== combinatorics-2.7 math::factorial, exponent
  overflow FAILED
  ==== Contents of test case:

      catch { math::factorial 171 } msg
      list $msg $::errorCode

  ---- Result was:
  Infinity {ARITH DOMAIN {argument to math::factorial
  must be greater than -1.0}}
  ---- Result should have been (exact matching):
  {floating-point value too large to represent} {ARITH
  OVERFLOW {floating-point value too large to represent}}
  ==== combinatorics-2.7 FAILED


  ==== combinatorics-3.10 math::choose big args FAILED
  ==== Contents of test case:

      catch { math::choose 1500 750 } msg
      list $msg $::errorCode

  ---- Result was:
  Infinity {ARITH DOMAIN {second argument to math::choose
  must be non-negative, or both must be integers}}
  ---- Result should have been (exact matching):
  {floating-point value too large to represent} {ARITH
  OVERFLOW {floating-point value too large to represent}}
  ==== combinatorics-3.10 FAILED


  ==== math-7.4 math::cov FAILED
  ==== Contents of test case:

      catch { math::cov 0 2 1 0 } msg
      set msg

  ---- Result was:
  Infinity
  ---- Result should have been (exact matching):
  divide by zero
  ==== math-7.4 FAILED


tkt_uuid: 1272910fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: math :: statistics
priority: 5 Medium
foundin: None
title: math::statistics - failed tests with Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: arjenmarkus
closer: arjenmarkus
closedate: 2006-09-18T16:59:16
comment:
  ==== Quantiles-1.0 Quantiles - raw data FAILED
  ==== Contents of test case:

    set values [::math::statistics::quantiles
  $::data_linear {0.25 0.55 0.95}]

  ---- Result was:
  2.0 6.0 10.0
  ---- Result should have been (tolerant matching):
  3.0 6.0 10.0
  ==== Quantiles-1.0 FAILED


tkt_uuid: 1272913fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: profiler
priority: 5 Medium
foundin: None
title: profiler - failed test with Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-09-27T16:40:34
comment:
  ==== profiler-7.2 sortFunctions 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::sortFunctions calls
      }]
      interp delete $c
      set result

  ---- Result was:
  {::tcl::clock::scan 0} {::tcl::clock::format 0}
  {::tcl::clock::add 0} {::bar 1} {::foo 2}
  ---- Result should have been (exact matching):
  {::bar 1} {::foo 2}
  ==== profiler-7.2 FAILED


tkt_uuid: 1272983fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: snit
priority: 5 Medium
foundin: None
title: snit v2 - rename-1.5 panic with Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: duquette
closer: dgp
closedate: 2005-08-26T15:02:21
comment:
  $ setenv TCLTEST_OPTIONS "-verbose bpste"
  $ /local/src/tcl/solaris/tclsh sak.tcl test snit
  Shell is "/local/src/tcl/solaris/tclsh"
  tcllib tests
  Test platform: "SunOS-5.9-sun4u" using Tcl 8.5a4
  Tests running in working dir:  /local/src/tcllib
  Only running tests that match:  *
  Skipping test files that match:  l.*.test
  Only sourcing test files that match:  *.test
  Tests began at Thu Aug 25 13:49:09 -0400 2005
  Module: snit
  modules/snit/snit.test
  - Tcl  8.5
  - snit 2.0
  ...
  ---- rename-1.5 start
  TclAppendLimitedToObj called with shared object
  child killed: SIGABRT
      while executing
  "exec [info nameofexecutable]  [file join $distribution
  all.tcl]  -modules $modules  >@ stdout 2>@ stderr"
      (procedure "__test" line 12)
      invoked from within
  "__$cmd"
      (file "sak.tcl" line 2287)


tkt_uuid: 1273537fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: base64
priority: 3 Low
foundin: None
title: uuencode pad character confusion/mess
cmimetype: text/plain
submitter: andreas_kupries
assignee: patthoyts
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: 1274120fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: crc
priority: 5 Medium
foundin: None
title: package overwrites ::v
cmimetype: text/plain
submitter: dgp
assignee: patthoyts
closer: andreas_kupries
closedate: 2005-08-26T16:59:51
comment:
  The crc packages writes to
  the variable "v" without
  resolution control.  This means
  if a variable ::v exists, it will be
  overwritten by the crc16 and
  crc32 packages.

  Attached patch corrects
  the problem.

  Patch also adds int(.)
  coercion protection to
  the calculation of signbit
  to avoid trouble if/when
  Tcl converts to supporting
  bignums.


tkt_uuid: 1274322fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: apps : tkchat
priority: 5 Medium
foundin: None
title: Support for pastebin and similar sites
cmimetype: text/plain
submitter: andreas_kupries
assignee: patthoyts
closer: patthoyts
closedate: 2006-09-14T23:46:14
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: 1276561fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 7 High
foundin: None
title: Handling of dates/times
cmimetype: text/plain
submitter: yaroslav1
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-10-04T18:48:10
comment:
  Dates/times are handled incorrectly in tcllib in
  non-English locales.
  Look at this piece of code from mime.tcl:

  --------- piece of code ------
              set gmt [clock format $clock -format "%d %b
  %Y %H:%M:%S" \
                             -gmt true]
              if {[set diff [expr {($clock-[clock scan
  $gmt])/60}]] < 0} {
                  set s -
                  set diff [expr {-($diff)}]
              } else {
                  set s +
              }
  ------------------------------
  Time in this format doesn't get scanned back into
  seconds by clock scan,
  because, for example, in Russian locale (ru_RU.KOI8-R)
  in looks like:

  30 <unicode string> 2005 11:32:07

  Unicode string here transcribes as "avgust" which is
  russian name for
  August. So Tcl error "unable to convert date-time
  string" appears.
  I suggest to replace it with something like:

              set gmt [clock format $clock -format
  "%Y-%m-%d %H:%M:%S" \
                             -gmt true]

  Also I suggest to check in other such places (use of
  clock format / clock scan) in tcllib's code.


tkt_uuid: 1276680fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math :: bignum
priority: 5 Medium
foundin: None
title: math::bignum namespace not exported properly
cmimetype: text/plain
submitter: dossy
assignee: arjenmarkus
closer: andreas_kupries
closedate: 2005-08-30T16:35:16
comment:
  See tcllib/math/bignum.tcl, line 828:

      828 namespace eval bignum {
      830     namespace export *
      831 }

  The namespace is ::math::bignum, not ::bignum.  This
  results in an empty export list in ::math::bignum. 
  Found this in Tcllib 1.7.0.1.


tkt_uuid: 1280529fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: inifile
priority: 5 Medium
foundin: None
title: Bug in Tcl
cmimetype: text/plain
submitter: nobody
assignee: afaupell
closer: patthoyts
closedate: 2005-09-05T09:24:13
comment:
  % package require inifile
  0.1
  % set ::data 45
  45
  % set ini [::ini::open file.ini]
  can't array set "data": variable isn't array


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

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

  a-tcl@freakmail.de


tkt_uuid: 1280862fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: profiler
priority: 5 Medium
foundin: None
title: profiler - errorInfo modifiable in enter- & leaveHandler
cmimetype: text/plain
submitter: tircnf
assignee: andreas_kupries
comment:
  enterHandler and leaveHandler use catch statements to
  test for the existance of certain namespace varibales.

  if these catch statements fire, they modify errorInfo.

  catching an error, and trying to log errorInfo can log
  the wrong information if you are visiting a function
  for the first time.

  can't read
  "::profiler::descendants(process_message,::errlog)": no
  such element in array
      (reading value of variable to increment)
      invoked from within
  "incr ::profiler::descendants($caller,$name)"


  I added
     global errorInfo

      set origError $errorInfo

  to the beginning and

   set errorInfo $origError

  to the end of both enterHandler and leaveHandler.


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


tkt_uuid: 1282221fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: uuid
priority: 5 Medium
foundin: None
title: [uuid generate] tests fail
cmimetype: text/plain
submitter: dgp
assignee: patthoyts
closer: patthoyts
closedate: 2005-09-05T20:05:33
comment:
  ==== uuid-1.1 uuid generate should create a 36 char
  string uuid FAILED
  ==== Contents of test case:

      list [catch {string length [uuid::uuid generate]}
  msg] $msg

  ---- Result was:
  1 {can't read "tcl_platform(platform)": no such variable}
  ---- Result should have been (exact matching):
  0 36
  ==== uuid-1.1 FAILED


  ==== uuid-1.2 uuid comparison of uuid with self should
  be true FAILED
  ==== Contents of test case:

      list [catch {
          set a [uuid::uuid generate]
          uuid::uuid equal $a $a
      } msg] $msg

  ---- Result was:
  1 {can't read "tcl_platform(platform)": no such variable}
  ---- Result should have been (exact matching):
  0 1
  ==== uuid-1.2 FAILED


  ==== uuid-1.3 uuid comparison of two different uuids
  should be false FAILED
  ==== Contents of test case:

      list [catch {
          set a [uuid::uuid generate]
          set b [uuid::uuid generate]
          uuid::uuid equal $a $b
      } msg] $msg

  ---- Result was:
  1 {can't read "tcl_platform(platform)": no such variable}
  ---- Result should have been (exact matching):
  0 0
  ==== uuid-1.3 FAILED


tkt_uuid: 1283594fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: snit
priority: 5 Medium
foundin: None
title: $object info self command
cmimetype: text/plain
submitter: coldstore
assignee: duquette
comment:
  When an object inherits publically from another, it
  would sometimes be useful to be able to determine the
  object name from outside - this suggested instance
  standard command would enable that, by returning (for
  any object) its $self value.

  I don't believe there's any other way to do this
  introspectively.


tkt_uuid: 1285549fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: comm
priority: 5 Medium
foundin: None
title: comm 4.2.1 doesn't work on Tk8.3.4
cmimetype: text/plain
submitter: kgsf05
assignee: andreas_kupries
closer: sf-robot
closedate: 2005-10-22T02:20:23
comment:
  Upgrading from tcllib1.3 to tcllib1.7 includes an upgrade 
  from comm-4.0 to comm-4.2.1. 

  Under tcl/tk 8.3.4 comm-4.0 works fine but comm-4.2.1 
  does not.

  The doco for comm says it requires 8.2.

  To test this try the following under 8.3.4

  Pre-conditions:
    Both versions of comm are somewhere in
    your auto-path. What I have done is install
    tcllib-1.3, copy tcllib/comm to a temp location
    as comm-1.3. Then uninstall tcllib-1.3 and install
    tcllib-1.7. Copy comm-1.3 back to tcllib/

  Test:
   1) Open two wish shells
   2) In both: package require -exact comm 4.0 -> 4.0
   3) In one: comm::comm self -> <id>
   4) In the other: comm::comm send <id> puts fred
      --> "fred" appears in console of first shell.

   Now repeat this but use this alternate step 2:
   2) In both: package require comm -> 4.2.1

   The outcome in the second case is that nothing
   happens.


tkt_uuid: 1289692fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: None
priority: 5 Medium
foundin: None
title: bug in installer.tcl
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-26T23:34:11
comment:
  Hi,

    I get the error from the bottom of the page:

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

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

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

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

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

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


tkt_uuid: 1292966fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: ftp
priority: 5 Medium
foundin: None
title: Performance: connection timeout
cmimetype: text/plain
submitter: cdclercq
assignee: gwlester
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: 1294733fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: html
priority: 8
foundin: None
title: Two small html helpers
cmimetype: text/plain
submitter: oliversix
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-10-03T22:23:32
comment:
  Because I used PHP for the web usually I missed some
  replacement for html_entities and nl2br in the html
  module of tcllib.


tkt_uuid: 1295737fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: Installer
priority: 5 Medium
foundin: None
title: installer - apps on windows .tcl
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-09-26T23:22:51
comment:
  When installing the applications on Windows they should
  be given the extension .tcl, to associate them with the
  installed tclsh/wish.


tkt_uuid: 1300795fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: struct :: prioqueue
priority: 5 Medium
foundin: None
title: fix for prioqueue binary serach
cmimetype: text/plain
submitter: nobody
assignee: mic42
closer: mic42
closedate: 2005-09-23T16:19:50
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: 1301707fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: sha1
priority: 8
foundin: None
title: TIP 237 compatibility patch
cmimetype: text/plain
submitter: dgp
assignee: patthoyts
closer: andreas_kupries
closedate: 2005-09-30T22:12:44
comment:
  TIP 237 proposes for Tcl integer
  computations to support an
  unlimited integer range.

  The sha1 package does its
  computations assuming a
  fixed-size buffer of at least
  32-bits.

  Doing unlimited range calculations
  won't exactly be wrong, but it will
  mean computing with truly
  enormous numbers, spending an
  ever-increasing amount of time,
  only to throw away all but the
  lowest 32-bits.

  Better to use the int(.) function
  to explicitly but the modular
  nature of the calculation in place.

  Here's a patch.


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

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

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


tkt_uuid: 1307714fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: ftp
priority: 5 Medium
foundin: None
title: ftp - NList Documentation problem
cmimetype: text/plain
submitter: cdclercq
assignee: gwlester
comment:
  In the ftp documentation --> NList command:
  ::ftp::NList handle ?directory? 

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

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


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

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

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

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


tkt_uuid: 1310038fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: A Category Is Missing
priority: 5 Medium
foundin: None
title: tie file implementation broken
cmimetype: text/plain
submitter: dvrsn
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-10-04T17:34:17
comment:
  The following script:

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

  Gives me an error:

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


tkt_uuid: 1310623fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Duplicate
subsystem: A Category Is Missing
priority: 5 Medium
foundin: None
title: tie file implementation broken
cmimetype: text/plain
submitter: dvrsn
assignee: andreas_kupries
closer: dvrsn
closedate: 2005-10-02T03:12:49
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: 1312869fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Duplicate
subsystem: mime
priority: 5 Medium
foundin: None
title: Fix locale problems (Bugs #911580 and #1276561)
cmimetype: text/plain
submitter: cc_benny
assignee: mrose
closer: andreas_kupries
closedate: 2005-10-04T18:15:50
comment:
  This patch fixes mime::parsedatetime such that 
  it doesn't rely on the user locale. 
   
  mime::parsedatetime is used for protocol 
  elements in SMTP and MIME.  These 
  should always be locale independent i.e. in 
  English. 
   


tkt_uuid: 1313173fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct
priority: 9 Immediate
foundin: None
title: Crash in htmlparse tests with critcl struct package
cmimetype: text/plain
submitter: patthoyts
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-10-06T21:11:30
comment:
  On Windows XP with the current CVS head of tcllib and
  tcl 8.4.11, if we first build the critcl package and
  then run the test suite we get a crash caused by a
  string buffer overflow raise from tcl. In the stack
  trace above I see functions from tcllibc and I believe
  it is the struct module. As I dig into this I'll add
  details here.

  To reproduce:
   tclsh sak.tcl critcl
   tclsh sak.tcl test htmlparse

  Stack trace is:
   MSVCRTD.DLL!strlen Line 78
   tcl84g.dll!UpdateParseVarName ...
   tcl84g.dll!Tcl_GetString ...
   tcl84g.dll!Tcl_ObjSetVar2 ...
   tcllibc!0175ed51()
   tcllibc!0175f06e()
   ...
   tcl84g.dll!TclEvalObjInternal...

  AFAICT the tcl proc actually being run here is
  htmlparse::2tree


tkt_uuid: 1316040fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: grammar_fa
priority: 4
foundin: None
title: grammar_fa/*.test prints extra info
cmimetype: text/plain
submitter: techentin
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-10T23:06:20
comment:
  dacceptor.test, dexec.test, fa.test, and faop.test
  include gratuitous puts commands, cluttering the log.


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


tkt_uuid: 1316061fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: tree
priority: 4
foundin: None
title: struct/tree.test prints extra info
cmimetype: text/plain
submitter: techentin
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-10T23:07:23
comment:
  tree.test includes gratuitous puts commands, cluttering
  the log.  It prints something about "impl. performance."


tkt_uuid: 1316063fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tie
priority: 4
foundin: None
title: tie/tie_rarray_comm.test prints extra info
cmimetype: text/plain
submitter: techentin
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-10T21:44:53
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: 1316233fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: struct :: tree
priority: 8
foundin: None
title: struct::tree - need more testcases - walk, deserialize
cmimetype: text/plain
submitter: andreas_kupries
assignee: andreas_kupries
comment:
  For deserialize - handling of attributes for root node

  For walk - Handling of walks modifying the tree while
  they are running (move/delete/add of children,
  move/delete of parent, etc). The current behaviour is
  highly implementation defined, and likely  different
  between Tcl and critcl implementations.


tkt_uuid: 1323146fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: dns
priority: 9 Immediate
foundin: None
title: dns: ip test fail on 64-bit systems
cmimetype: text/plain
submitter: dgp
assignee: aakhter
closer: andreas_kupries
closedate: 2005-10-18T17:53:05
comment:
  Did this testing with Tcl 8.4.11-cvs
  to avoid any question whether bignum
  bugs were at fault.

  These tests fails on a 64-bit system:

  ==== ::ip:maskToInt-2 dotted form FAILED
  ==== Contents of test case:

          ::ip::maskToInt 255.255.255.255
      
  ---- Result was:
  -1
  ---- Result should have been (exact matching):
  4294967295
  ==== ::ip:maskToInt-2 FAILED


  ==== ::ip:nextNet-7 1.1.1.1/32 -> 1.1.29.0 by 2 FAILED
  ==== Contents of test case:

          ip::nextNet 1.1.1.1 255.255.255.255 2
      
  ---- Result was:
  0xffffffff01010103
  ---- Result should have been (exact matching):
  0x01010103
  ==== ::ip:nextNet-7 FAILED


tkt_uuid: 1323295fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: sasl
priority: 9 Immediate
foundin: None
title: sasl test failure for Tcl 8.5
cmimetype: text/plain
submitter: dgp
assignee: patthoyts
closer: patthoyts
closedate: 2005-10-11T14:25:08
comment:
  Create one then move this bug
  report to it:

  The following test fails against
  the curren Tcl HEAD on 32-bit
  platforms:

  ==== SASL-NTLM-1.1 NTLM client response FAILED
  ==== Contents of test case:

      list [catch {
          set ctx [SASL::new -mechanism NTLM -callback
  NTLMCallback]
          SASL::step $ctx ""
          SASL::step $ctx [base64::decode $Chk(2)]
          set response [SASL::response $ctx]
          SASL::cleanup $ctx
          base64::encode -maxlen 0 $response
      } res] $res

  ---- Result was:
  0
  TlRMTVNTUAADAAAAGAAYAGoAAAAYABgAggAAAAwADABAAAAACAAIAEwAAAAWABYAVAAAAJoAAAABAgAAAAAAAABEAE8ATQBBAEkATgB1AHMAZQByAFcATwBSAEsAUwBUAEEAVABJAE8ATsM3zVy9RPyXgqZnr21CfG3mfCDC0+d8VoLTftHx9ZaM2NlnEeJBCjvPm4ryx3aR4A==
  ---- Result should have been (exact matching):
  0
  TlRMTVNTUAADAAAAGAAYAGoAAAAYABgAggAAAAwADABAAAAACAAIAEwAAAAWABYAVAAAAJoAAAABAgAAAAAAAEQATwBNAEEASQBOAHUAcwBlAHIAVwBPAFIASwBTAFQAQQBUAEkATwBOAMM3zVy9RPyXgqZnr21CfG3mfCDC0+d8ViWpjBwx6BhHRmspst9GgPOZWPuMITqcxg==
  ==== SASL-NTLM-1.1 FAILED

  It's possible the actual bug is really in Tcl, but
  assistance of the sasl maintainers will be
  helpful to determine that.


tkt_uuid: 1328920fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: math
priority: 5 Medium
foundin: None
title: Symbolic differentiation
cmimetype: text/plain
submitter: kennykb
assignee: kennykb
comment:
  The attached is a symbolic differentiation package for
  Tcl.  It depends on the 'tclparser' module from TclPro.


tkt_uuid: 1329207fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: fileutil :: magic
priority: 5 Medium
foundin: None
title: mimetype, filetype result empty for text files
cmimetype: text/plain
submitter: kot
assignee: andreas_kupries
comment:
  modules/fumagic/filetypes.test
  - tcltest 2.2.8
  - fileutil::magic::filetype 1.0
    - fileutil::magic::rt     1.0

  ==== fumagic.filetype-1.2 test file directory FAILED
  ==== Contents of test case:

      set f [file join $dir fileTypeTest]
      set res [catch {fileutil::magic::filetype $f} msg]
      regsub {file[0-9]+} $msg {fileXXX} msg
      list $res $msg

  ---- Result was:
  0 {}
  ---- Result should have been (exact matching):
  1 {error reading "fileXXX": illegal operation on a
  directory}
  ==== fumagic.filetype-1.2 FAILED

  modules/fumagic/mimetypes.test
  - tcltest 2.2.8
  - fileutil::magic::mimetype 1.0
    - fileutil::magic::rt     1.0

  ==== fumagic.mimetype-1.2 test file directory FAILED
  ==== Contents of test case:

      set f [file join $dir fileTypeTest]
      set res [catch {fileutil::magic::mimetype $f} msg]
      regsub {file[0-9]+} $msg {fileXXX} msg
      list $res $msg

  ---- Result was:
  0 {}
  ---- Result should have been (exact matching):
  1 {error reading "fileXXX": illegal operation on a
  directory}



  In fact, trying to apply to a text file, such as
  /var/log/messages or /COPYRIGHT returns nothing --
  [rt::resultv] seems to be an empty list.

  Using the procedure on some other things -- like
  picture files -- seems to work, however.


tkt_uuid: 1329212fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: pop3
priority: 8
foundin: None
title: Many test failures in module pop3
cmimetype: text/plain
submitter: kot
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-10-02T19:18:18
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: 1329642fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: logger
priority: 5 Medium
foundin: None
title: logger::disable/enable/setlevel ignored
cmimetype: text/plain
submitter: andreas_kupries
assignee: mic42
closer: mic42
closedate: 2005-12-02T22:14:45
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: 1335320fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: uri
priority: 5 Medium
foundin: None
title: Missing documentation of constituents
cmimetype: text/plain
submitter: setok
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-10T22:14:57
comment:
  The uri::split command is documented as splitting an URI into its 
  constituents but does not specify what these are. It would be 
  useful to have them documented in the same place so one would 
  not need to guess or look up from the RFC and base on that.


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

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


tkt_uuid: 1345967fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: graph
priority: 5 Medium
foundin: None
title: graph serialize broken (easy fix)
cmimetype: text/plain
submitter: spotam
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-11-02T18:03:29
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: 1346295fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: tklib :: plotchart
priority: 2
foundin: None
title: plotchart files in release have wrong unix permissions
cmimetype: text/plain
submitter: mic42
assignee: arjenmarkus
comment:
  In the tar files created for release too many files in
  the plotchart module carry an x (executable) bit. It
  should only be there for executable files, not for
  documentation etc.


tkt_uuid: 1346298fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tklib :: tkpiechart
priority: 2
foundin: None
title: tkpiechart demo.tcl should go into examples dir
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-10T22:30:41
comment:
  Currently the tkchat tkpiechart module dir contains a
  file demo.tcl, which should probably be moved to the
  examples dir of the tklib, like the other examples.


tkt_uuid: 1346299fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: tklib :: ctext
priority: 2
foundin: None
title: ctext module dir contains obsolete files
cmimetype: text/plain
submitter: mic42
assignee: georgeps
comment:
  The ctext module dir contains file which are obsolete
  since the inclusion in tklib. This is the case at least
  for ctext/installer.tcl but may be true for other files
  related to installation.


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

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

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


tkt_uuid: 1349154fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: irc
priority: 5 Medium
foundin: None
title: Patch to return channel from connection
cmimetype: text/plain
submitter: setok
assignee: davidw
closer: patthoyts
closedate: 2006-04-23T22:43:39
comment:
  Just a small and trivial little patch which will return the channel 
  used for a particular connection. Useful at least for setting stuff 
  like -encoding, although that should probably be handled by a 
  separate command.

  setox:~/Proging/tcllib setok$ diff /Library/Tcl/tcllib1.7/irc/irc.tcl 
  irc.tcl 
  10c10
  < package provide irc 0.5
  ---
  > package provide irc 0.6
  144a145,154
  >       # Return socket for this IRC connection, or "" if one does 
  not yet
  >       # exist.
  > 
  >       proc cmd-socket {} {
  >           variable sock
  > 
  >           return $sock
  >       }
  > 
  > 


tkt_uuid: 1352422fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: jpeg
priority: 5 Medium
foundin: None
title: tcllib jpeg bugs
cmimetype: text/plain
submitter: nobody
assignee: afaupell
closer: afaupell
closedate: 2005-11-10T07:49:33
comment:
  2 bugs in tcllib jpeg 0.1 module

  1. ::jpeg::isJPEG : the return value is inverted. Here is
  the correct code:

  proc ::jpeg::isJPEG {file} {
      set is [catch {openJFIF $file} fh]
      catch {close $fh}
      return [expr {! $is}]
  }


  2. ::jpeg::dimensions : this code needs to find the SOF
  marker but only recognizes the SOF marker type byte
  of value c0 and misses c1, c2 and c3. The wiki page 
  http://wiki.tcl.tk/757 has more details.

  Here is the correct code:


  proc ::jpeg::dimensions {file} {
      set fh [openJFIF $file]
      set chunks [markers $fh]

      foreach SOFByte {0 1 2 3} {
          set sof [lsearch $chunks "c$SOFByte *"]
          if {$sof != -1} break
      }
      if {$sof == -1} { return -code error "cannot locate sof 
  marker" }
      seek $fh [lindex $chunks $sof 1] start
          
      binary scan [read $fh 5] cSS precision height width
      close $fh
      return [list $width $height]
  }


  Keith Vetter


tkt_uuid: 1352763fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Duplicate
subsystem: log
priority: 5 Medium
foundin: None
title: file appender for logger
cmimetype: text/plain
submitter: aakhter
assignee: aakhter
closer: mic42
closedate: 2006-06-21T09:21:13
comment:
  file appender for logger patch includes:

  Patch file includes the following changes:

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


tkt_uuid: 1359028fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Works For Me
subsystem: bwidget
priority: 5 Medium
foundin: None
title: ScrolledWidget does not respect -relief upon creation
cmimetype: text/plain
submitter: dev_null42a
assignee: damonc
closer: sf-robot
closedate: 2009-07-14T02:20:48
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: 1359041fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: patch adding -autopost option to ComboBox
cmimetype: text/plain
submitter: dev_null42a
assignee: dev_null42a
closer: dev_null42a
closedate: 2006-02-08T16:48:02
comment:
  I wanted a ComboBox that would automatically post as
  soon as the user started typing, and would scroll to
  the value that is most similar to the entry's input. 
  The following patch adds an "-autopost" boolean
  configuration option that performs this behavior. 
  Furthermore it handles up and down arrow key events to
  let the user instead select an item from the listbox. 
  Pressing the escape key while the entry has focus
  causes the listbox to unpost.

  This patch is against BWidget 1.7.


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

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

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

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


tkt_uuid: 1371186fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tklib
priority: 5 Medium
foundin: None
title: "make check" fails for tklib
cmimetype: text/plain
submitter: wart
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2005-12-02T20:57:55
comment:
  A bug in sak.tcl is causing "make check" to fail with
  an error:

  3: Consistency of package versions ...
  ------------------------------------------------------
    Indexed, no provider:           widget::all
  can't read "::pf(ctext_tcl)": no such element in array
      while executing
  "format "%-*s | %s" $maxl $p $::pf($p)"
      (procedure "validate_versions_cmp" line 14)
      invoked from within
  "validate_versions_cmp ip pp"
  ...

  Looks like a typo where '::pf' should be 'pp'

  Attached is a patch to fix this problem.


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


tkt_uuid: 1376323fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Duplicate
subsystem: smtp
priority: 5 Medium
foundin: None
title: large message size causes error
cmimetype: text/plain
submitter: nobody
assignee: mrose
closer: patthoyts
closedate: 2006-04-21T11:36:20
comment:
  I reported this issue to ActiveState. You can 
  reference it by going to 
  http://bugs.activestate.com/show_bug.cgi?id=42067

  Basically, when using a remote server, sending a 
  message that is greater than ~9000 bytes on a windows 
  XP pro platform causes the function to crash.

  Since I don't want to upload everything all over 
  again please get the info at ActiveState.

  This issue is really limiting what I'm trying to do.


tkt_uuid: 1376637fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: textutil :: expander
priority: 7 High
foundin: None
title: cpush/cpop failure
cmimetype: text/plain
submitter: sarnold75
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-10T21:14:05
comment:
  While doing some HTML automatic generation, a problem
  appeared with the Context Stack:
   textutil::expander pc
   ::pc expand {[::pc cpush texte][::pc cpop texte]}

  creates an error:

   ::pc cget: char doesn't exist at that context (2)

  I fixed it by patching the Op_cpush proc like this :

  proc ::textutil::expander::Op_cpush {name cname} {
      # FRINK: nocheck
      incr [Var level]
      # FRINK: nocheck
      set [Var output-[Get level]] {}
      # FRINK: nocheck
      set [Var name-[Get level]] $cname
      # the first level is init'd elsewhere
      if {[set [Var level]]<2} {
          return
      }
      # important stuff here
      LocInit $cname
      catch {LocSet $cname [LocGet $name]}
      
  }

  and it did work then!


tkt_uuid: 1376903fffffffffffffffffffffffffffffffff
type: Patch
status: Open
resolution: None
subsystem: app: tkchat
priority: 5 Medium
foundin: None
title: tkchat - aqua mods - set app name + unhide on alert
cmimetype: text/plain
submitter: stevel
assignee: wildcard_25
comment:
  A could of mods to tkchat to make it "nicer" for AquaTk users

  The first sets the application name (i.e. the left most menu name in the 
  menu bar) to TkChat.

  The second "unhides" the chat window on alert. Previously only minimised 
  (i.e. iconified) windows were de-iconified.

  Both changes use Ffidl - thanks to Daniel Steffen for the pointers on how 
  to use it.

  A starkit containing the changes + Ffidl for OSX is at http://mini.net/
  sdarchive/tkchat.kit


tkt_uuid: 1377453fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: tclapps :: tkchat
priority: 5 Medium
foundin: None
title: Key bindings problems on Windows
cmimetype: text/plain
submitter: nobody
assignee: wildcard_25
closer: wildcard_25
closedate: 2006-02-03T17:23:04
comment:
  On Windows XP the Num-Lock key appears as MOD1, the key
  binding to bring up the popup menu causes the private
  chat not to popup.


tkt_uuid: 1377937fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: missing tcl.m4
cmimetype: text/plain
submitter: wart
assignee: damonc
closer: dev_null42a
closedate: 2006-11-10T21:28:37
comment:
  The bwidget 1.7.0 source tarball is missing tcl.m4,
  which is needed by autoconf in order to build the
  configure script.

  Please either include tcl.m4 or generate the configure
  script before making a source tarball.


tkt_uuid: 1377945fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: Incorrect version number
cmimetype: text/plain
submitter: wart
assignee: damonc
closer: dev_null42a
closedate: 2006-02-10T20:58:54
comment:
  The configure.in script for bwidget-1.7.0 has this line:

  MINOR_VERSION=6

  This should really be:

  MINOR_VERSION=7

  As it is now the installed files get put into a
  directory named /usr/lib/bwidget1.6 when it should be
  bwidget 1.7


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


tkt_uuid: 1381659fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: jpeg
priority: 5 Medium
foundin: None
title: jpeg::removeComments destroys jpeg files completely
cmimetype: text/plain
submitter: vbwagner
assignee: afaupell
closer: afaupell
closedate: 2005-12-15T17:06:44
comment:
  When tcllib jpeg package used with [encoding system]
  other than iso8859-1, procedures jpeg::removeComments
  and jpeg::replaceComments (which calls former one)
  convert jpeg file into piece of junk, replacing all
  8-bit symbols by question marks.

  Problem is that jpeg::openJFIF routine opens binary
  file properly, setting -translation binary, but
  jpeg::removeComments opens file in write mode to
  overwrite its content there, and doesn't configure it
  as binary. So, binary data read from original file are
  "converted" to [encoding system], which result in
  replacing all 8-bit symbols with "unknown character"
  marker.

  Solution is to add

  fconfigure $fh -translation binary 

  into jpeg::removeComments routine just after 

  set fh [open $file w]


tkt_uuid: 1385688fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: pop3
priority: 5 Medium
foundin: None
title: pop3 - New retrieval method + minor performance improvement
cmimetype: text/plain
submitter: nobody
assignee: andreas_kupries
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: 1386101fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: rc4
priority: 9 Immediate
foundin: None
title: rc4 critcl fails when used with channels
cmimetype: text/plain
submitter: patthoyts
assignee: patthoyts
closer: patthoyts
closedate: 2005-12-21T12:41:08
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: 1390477fffffffffffffffffffffffffffffffff
type: Patch
status: Deleted
resolution: Not Applicable Here
subsystem: snit
priority: 5 Medium
foundin: None
title: snit can destroy errorInfo in some cases
cmimetype: text/plain
submitter: amonarch
assignee: duquette
comment:
    Sometimes snit functions can be called from
  exception processing code:

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

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

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

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

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

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

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

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


tkt_uuid: 1391776fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: asn
priority: 5 Medium
foundin: None
title: asn::asnObjectIdentifier incorrectly encodes OIDs
cmimetype: text/plain
submitter: nobody
assignee: mic42
closer: mic42
closedate: 2005-12-30T16:24:41
comment:
  I've found that routine asn::asnObjectIdentifier
  produces incorrect encoding of OIDs, which is not
  understandable by OpenSSL 0.9.8a ASN1 parser.

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

  Example:

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

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

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


tkt_uuid: 1392879fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: inifile
priority: 5 Medium
foundin: None
title: inifile: docs and code at odds
cmimetype: text/plain
submitter: nobody
assignee: afaupell
closer: afaupell
closedate: 2006-06-29T23:18:49
comment:
  The inifile docs for the open command say "Opens an INI
  file and returns a handle that is used by other
  commands. Mode has the same types as the open command.
  The default mode is r+."  But the code only allows
  r/w[+], not append mode.  


tkt_uuid: 1393564fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: math
priority: 5 Medium
foundin: None
title: erorr in ::math::linearalgebra::angle
cmimetype: text/plain
submitter: ramsan
assignee: arjenmarkus
closer: andreas_kupries
closedate: 2006-01-29T09:13:22
comment:
  Hello,

  There is an error in:

  ::math::linearalgebra::angle

  instead of:

  set n1 [norm_2 $vect1]
  set n2 [norm_2 $vect2]

  it should be:

  set n1 [norm $vect1]
  set n2 [norm $vect2]

  or also:

  set n1 [norm_two $vect1]
  set n2 [norm_two $vect2]

  Also, there is no cross product fucnction in the
  package. It is a VERY common need for 3D vectors.

   Regards,


tkt_uuid: 1393804fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: asn
priority: 5 Medium
foundin: None
title: asnPeekByte contains a typo which prevents it from working
cmimetype: text/plain
submitter: vbwagner
assignee: mic42
closer: mic42
closedate: 2006-01-05T17:12:34
comment:
  procedure asn::asnPeekByte contains a typo:

  It starts with lines

   proc ::asn::asnPeekByte {data_var byte_var} {
      upvar $data_var data $byte_var $byte

  which obvoisly cause error "Cannot read byte - no such
  variable" 

  Should be 

   proc ::asn::asnPeekByte {data_var byte_var} {
      upvar $data_var data $byte_var byte


tkt_uuid: 1394840fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: mime
priority: 5 Medium
foundin: None
title: Module assumes wrong global $:: level
cmimetype: text/plain
submitter: orwellian
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-10T20:45:30
comment:
  Under cygwin, I directly sourced:

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

  It blew up.

  The MIME module gave me this error:

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

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

  I've mentioned this before: bugid 979894.

  You are assuming some namespace wrapping or something.

  Don't do that.


tkt_uuid: 1397543fffffffffffffffffffffffffffffffff
type: Bug
status: Deleted
resolution: Not Applicable Here
subsystem: snit
priority: 5 Medium
foundin: None
title: Snit v2 not handling tcl8.5 return -options
cmimetype: text/plain
submitter: nobody
assignee: duquette
comment:
  Since snitv2 runs under tcl8.5, I think CallInstance
  needs to handle the extended error options available
  under 8.5, so suggest the following amendment:


  proc ::snit::RT.CallInstance {selfns args} {
      upvar ${selfns}::Snit_instance self

      set retval [catch {uplevel 1 [linsert $args 0
  $self]} result eo]

      if {$retval} {
              return -code $retval -options $eo $result
      }

      return $result
  }

  Although, now I think about it, it doesn't really make
  sense to trap the errors merely to re-throw them, so it
  might be best to just make it this:


  proc ::snit::RT.CallInstance {selfns args} {
      upvar ${selfns}::Snit_instance self

      return [uplevel 1 [linsert $args 0 $self]]
  }

  Or even this:

  proc ::snit::RT.CallInstance {selfns args} {
      upvar ${selfns}::Snit_instance self

      return [$self {expand}$args]
  }


tkt_uuid: 1398330fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Fixed
subsystem: tklib: ico
priority: 5 Medium
foundin: None
title: memchan-based vfs compatibility patch
cmimetype: text/plain
submitter: a_kovalenko
assignee: afaupell
closer: afaupell
closedate: 2006-07-15T02:26:13
comment:
  The issue was discovered when I was trying to generate
  an icon dynamically and place it into in-memory vfs.
  writeIconICO does a wrong thing when [file size] is not
  updated immediately as the file is written. 

  Many VFSs implemented at the script level update file
  metadata only on [close], when the appropriate callback
  is called. Before closing the file, we may write 6
  bytes in it and still get [file size]==0.

  The patch presented here prevents writeIconICO from
  relying on [file size] of the newly-created file. As
  long as the ICO format is the only one that may be
  created from scratch, no issues with other formats are
  expected.


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


tkt_uuid: 1400838fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: None
subsystem: bwidget
priority: 5 Medium
foundin: None
title: MessageDlg bug, LabelEntry bug, demo bug
cmimetype: text/plain
submitter: nobody
assignee: damonc
closer: dev_null42a
closedate: 2006-11-10T21:27:37
comment:
  I have found 2 bugs in BWidgets and 1 bug in BWisgets-demo 
  (ActiveState Tcl/Tk 8.4 12 WindowsXP).
  BWidgets bug1: MessageDlg abort-retry-ignore -
  "-default must 
  not be """ 
  BWidgets bug2: Dialog focus bug with LabelEntry.
  Dialog draw LabelEntry - LabelEntry not request focus.
  When I change LabelEntry with tk-entry - all OK.

  BWidgets demo bug: Notebook page 'Basic' - 'Entry' 
  In entry command must be space before and after ';'.
  When I 
  press Enter on entry - error genrates. After adding
  space all 
  works ok.


tkt_uuid: 1403369fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: ldap
priority: 5 Medium
foundin: None
title: Fix non-standard usage of TLS
cmimetype: text/plain
submitter: andreas_kupries
assignee: patthoyts
closer: sf-robot
closedate: 2006-09-28T02:20:09
comment:
  Well, I am not sure if we have a standard, actually. I
  know that SMTP can use TLS, with graceful fallback if
  TLS is not available.

  The ldap package also has code using TLS, but it was
  done differently and there is no graceful fallback.

  Please have a look at ldap and see if it can be
  (re)done similarly to SMTP.


tkt_uuid: 1403452fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Out of Date
subsystem: mime
priority: 5 Medium
foundin: None
title: parsedatetime routine using clock format incorrectly
cmimetype: text/plain
submitter: clmcavaney
assignee: mrose
closer: andreas_kupries
closedate: 2006-01-12T00:11:45
comment:
  G'day,
  I have found a bug in the mime package (version 1.4.1)
  for the parsedatetime routine.

  The "%e" format option is being used in stead of "%m"
  for months.  This affects the selection of a short or
  long month from the MONTHS_SHORT and MONTHS_LONG arrays.

  I suggest the following changes:
  return [lindex $MONTHS_LONG [expr [clock format $clock
  -format %m] - 1]]

  in place of 
  return [lindex $MONTHS_LONG [clock format $clock
  -format %e]]

  and similar for the MONTHS_SHORT array.

  Christopher


tkt_uuid: 1407811fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
resolution: Accepted
subsystem: csv
priority: 7 High
foundin: None
title: read2* incorrect for multi-line data
cmimetype: text/plain
submitter: hobbs
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-17T03:51:42
comment:
  This patch applies to read2matrix, but each API that
  reads from a channel needs to account for multiline CSV
  data.

  Index: csv.tcl
  ===================================================================
  RCS file: /cvsroot/tcllib/tcllib/modules/csv/csv.tcl,v
  retrieving revision 1.22
  diff -u -r1.22 csv.tcl
  --- csv.tcl     30 Sep 2005 23:03:20 -0000      1.22
  +++ csv.tcl     17 Jan 2006 01:10:58 -0000
  @@ -166,10 +166,19 @@
          }
       }

  +    set data ""
       while {![eof $chan]} {
          if {[gets $chan line] < 0} {continue}
  -       if {$line == {}} {continue}
  -       Split2matrix $alternate $m $line $sepChar $expand
  +       # Why skip empty lines?  They may be in data.
  +       #if {$line == {}} {continue}
  +       append data $line
  +       if {[regexp -all \" $data] % 2} {
  +           # Odd number of quotes - must have embedded
  newline
  +           append data \n
  +           continue
  +       }
  +       Split2matrix $alternate $m $data $sepChar $expand
  +       set data ""
       }
       return
   }


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


tkt_uuid: 1408807fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: asn
priority: 5 Medium
foundin: None
title: Unversioned dependency on package log
cmimetype: text/plain
submitter: vbwagner
assignee: mic42
closer: mic42
closedate: 2006-03-22T18:57:22
comment:
  asn package depends on package log from tcllib.
  Current version of package doesn't work with log 1.0.2
  (as distributed with tcllib 1.4). 

  This can cause problem when I use last version of asn
  package from CVS, and rely on log package from system
  provided tcllib.

  I think that usage of log package can be removed from
  asn altogether, since it is not essential for operation
  of th e package, and needed only for debugging purpose
  (which is now covered by test suite), but at least
  particular working version should be required. 

  1.2 (from tcllib 1.7) would definitely do, and may be
  even 1.1, but I don't have machine with 1.1 handy


tkt_uuid: 1409083fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: fileutil
priority: 5 Medium
foundin: None
title: fileutil::find documentation improvement
cmimetype: text/plain
submitter: glennjnn
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-18T17:56:50
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: 1409177fffffffffffffffffffffffffffffffff
type: RFE
status: Deleted
resolution: Not Applicable Here
subsystem: fileutil
priority: 5 Medium
foundin: None
title: more secure alternative to [tempfile]
cmimetype: text/plain
submitter: dgp
assignee: nobody
comment:
  The [tempfile] command creates
  a new file and returns its name.

  The caller is then free to
  [open] that filename.

  The separation of file creation
  and the [open] leaves an interval
  when an attacker might manipulate
  that file.  So care must be taken
  when using this facility.

  A more secure strategy is to have
  one command do all parts: generate
  the file name, create and open
  the file, and pass back the channel
  of the open file in addition to
  the file name.

  This is analogous to using 
  mkstmp() instead of tmpnam()
  in a C program.

  It would be good to either modify
  [tempfile] to improve security, or
  if compatibility is a concern, offer
  an alternative command for the more
  secure option.

  Note there are some security issues
  that cannot be addressed fully at
  Tcl script level with Tcl's current
  built-in commands, and will require
  a C-coded solution.  See TIP 210.


tkt_uuid: 1409219fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: ntp
priority: 7 High
foundin: None
title: Bug in use of package ceptcl
cmimetype: text/plain
submitter: andreas_kupries
assignee: patthoyts
closer: patthoyts
closedate: 2006-04-20T10:20:06
comment:
  When package 'udp' is looked for in "ntp/time.tcl", the
  variable "options(-protocol)" is set to udp. For
  'ceptcl' however the variable "options(protocol)" is
  modified. Note the missing dash "-" before "protocol".
  I believe that that is wrong and should be
  "options(-protocol)" as well, i.e. with a dash.


tkt_uuid: 1412021fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Accepted
subsystem: sasl
priority: 5 Medium
foundin: None
title: Ignoring -service option in DIGEST-MD5
cmimetype: text/plain
submitter: nobody
assignee: patthoyts
closer: patthoyts
closedate: 2006-04-20T10:08:40
comment:
  Option -service is ignored in DIGEST-MD5 SASL auth
  method. digest-uri is always set to smtp/$realm.

  Possible fix is to replace smtp for $ctx(service).


tkt_uuid: 1414051fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: struct :: set
priority: 5 Medium
foundin: None
title: struct::set include does not create variable like lappend
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-31T04:58:08
comment:
  The struct::set include command is documented to work
  like lappend for sets, but differs in its handling of
  non-existing variables.

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

  It should create the variable nosuchvar like lappend does.

  Michael


tkt_uuid: 1414159fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: bench
priority: 4
foundin: None
title: incorrect prefix stripping and formatting problems
cmimetype: text/plain
submitter: mic42
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-06-13T23:21:13
comment:
  The bench::out::* functions and probably other parts of
  the package perform prefix stripping on array keys by
  using the following construction:

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

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

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

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

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


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


  Stay in your own namespace, snit!


  :)


tkt_uuid: 1416720fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: asn
priority: 5 Medium
foundin: None
title: asn: test suite bugs
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-29T08:34:19
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: 1416723fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
resolution: Fixed
subsystem: cmdline
priority: 5 Medium
foundin: None
title: cmdline: test suite bugs
cmimetype: text/plain
submitter: dgp
assignee: andreas_kupries
closer: andreas_kupries
closedate: 2006-01-29T06:15:52
comment:
  with -debug 1:

  * cmdline 1.2.4
  WARNING: removeFile removing "/local/src/tcllib/script":
    not created by makeFile
  WARNING: removeFile removing "/local/src/tcllib/script":
    not a file
  modules/cmdline/typedCmdline.test
  - tcllib::testutils 1.0
  * cmdline 1.2.4
  test name 'cmdline-6.1' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.2' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.3' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.4' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.5' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.6' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.7' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.8' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.9' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.10' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-6.11' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.1' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.2' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.3' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.4' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.5' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.6' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.7' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.8' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.9' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.10' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.11' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.12' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.13' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.14' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test
  test name 'cmdline-7.15' re-used; prior use in
  /local/src/tcllib/modules/cmdline/cmdline.test


