Prev: Regex for Twitter usernames: need to exclude e-mail addresses
Next: Evaluating a complex list as a recursive command call?
From: Gerhard Reithofer on 5 Jul 2010 18:10 On Thu, 1 Jul 2010, Gerhard Reithofer wrote: > Hi Andreas, > I'll try your suggestions step by step. > > On Thu, 1 Jul 2010, Andreas Kupries wrote: > > > Gerhard Reithofer <gerhard.reitho...(a)tech-edv.co.at> writes: > > > > > Hi TCLers, > > > my ActiveTCL seems to be sick. .... > Next try: > ================================== > $ tclsh > % package require tablelist > > % info procs ::tablelist::* > ::tablelist::reconfigWindows ::tablelist::doCellConfig > ::tablelist::doRowConfig ::tablelist::doColCget > ::tablelist::createTileAliases ::tablelist::winnativeTreeImgs > ::tablelist::flat7x5Arrows ::tablelist::flat8x5Arrows > ::tablelist::flat9x5Arrows ::tablelist::oxygen1TreeImgs > ::tablelist::winxpSilverTreeImgs ::tablelist::extendConfigSpecs > ::tablelist::oxygen2TreeImgs ::tablelist::doRowCget > ::tablelist::doCellCget ::tablelist::isCellEditable > ::tablelist::createCheckbuttonImgs ::tablelist::vistaClassicTreeImgs > ::tablelist::vistaAeroTreeImgs ::tablelist::winxpBlueTreeImgs > ::tablelist::doColConfig ::tablelist::getCellFont > ::tablelist::flat6x4Arrows ::tablelist::restoreUsingTile > ::tablelist::flat7x4Arrows ::tablelist::plastiqueTreeImgs > ::tablelist::sunken10x9Arrows ::tablelist::aquaTreeImgs > ::tablelist::phaseTreeImgs ::tablelist::makeListVar > ::tablelist::flat10x6Arrows ::tablelist::winxpOliveTreeImgs > ::tablelist::DIR ::tablelist::doConfig ::tablelist::sunken8x7Arrows > ::tablelist::flat7x7Arrows ::tablelist::flat9x7Arrows > ::tablelist::createSortRankImgs ::tablelist::useTile > ::tablelist::win7AeroTreeImgs ::tablelist::doCget > ::tablelist::getEditWindow ::tablelist::sunken12x11Arrows > ::tablelist::createTreeImgs ::tablelist::baghiraTreeImgs > ::tablelist::gtkTreeImgs ::tablelist::klearlooksTreeImgs > ::tablelist::win7ClassicTreeImgs > % llength [info procs ::tablelist::*] > 48 > > ================================== > $ tclsh > % package require -exact tablelist 4.12.1 > 4.12.1 > % llength [info procs ::tablelist::*] > 244 > % > > This list is much short compared to working. > Still no idea what fails. @Caba: I don't think that's a problem with Tablelist I did also teacup install tablelist_tile 5.1 $teacup install tablelist_tile 5.1 Resolving tablelist_tile 5.1 ... [package tablelist_tile 5.1 tcl ... Already installed in repository, probing dependencies] Resolving Tcl 8.4 -is package ... [package Tcl 8.5.8 _ ... Installed outside repository, probing dependencies] Resolving Tk 8.4 -is package ... [package Tk 8.5.8 _ ... Installed outside repository, probing dependencies] Resolving tablelist::common 5.1-5.1 -is package ... [package tablelist::common 5.1 tcl ... Already installed in repository, probing dependencies] Resolving tile 0.6 -is package ... [package tile 0.8.3 linux-glibc2.3-x86_64 ... Already installed in repository, probing dependencies] $ tclsh % package require tablelist % ::tablelist::tablelist .t -columns {0 Left 0 Center 0 Right} % pack .t bad window path name ".t" % info procs ::tablelist::tablelist % @*: How can "no pocedure" become executed without error? -- Gerhard Reithofer Tech-EDV Support Forum - http://support.tech-edv.co.at
From: Andreas Leitgeb on 6 Jul 2010 06:13 Gerhard Reithofer <gerhard.reithofer(a)tech-edv.co.at> wrote: > % ::tablelist::tablelist .t -columns {0 Left 0 Center 0 Right} > > % info procs ::tablelist::tablelist > % > @*: How can "no pocedure" become executed without error? There's also [info commands ...] Not every tcl-command is a procedure. Even scripts can create commands that are not procedures: e.g. namespace ensemble, tk-widgets, interp-aliases,... And finally (but unlikely) it could also be [unknown]-magic. (then it wouldn't even show up with [info commands], but could still be "executed" without error) PS: Sorry, don't know much about tablelist, though.
From: Gerhard Reithofer on 6 Jul 2010 09:24 Hi Andreas, On Tue, 6 Jul 2010, Andreas Leitgeb wrote: > Gerhard Reithofer <gerhard.reitho...(a)tech-edv.co.at> wrote: > > % ::tablelist::tablelist .t -columns {0 Left 0 Center 0 Right} > > > > % info procs ::tablelist::tablelist > > % > > @*: How can "no pocedure" become executed without error? > > There's also [info commands ...] > > Not every tcl-command is a procedure. > Even scripts can create commands that are not procedures: > e.g. namespace ensemble, tk-widgets, interp-aliases,... > > And finally (but unlikely) it could also be [unknown]-magic. > (then it wouldn't even show up with [info commands], but could > still be "executed" without error) > > PS: Sorry, don't know much about tablelist, though. Also no reaction! $ tclsh % package require tablelist % ::tablelist::tablelist .t -columns {0 Left 0 Center 0 Right} % info commands ::tablelist::tablelist % This must be a bug in TCL/Tk .. ??? -- Gerhard Reithofer Tech-EDV Support Forum - http://support.tech-edv.co.at
From: Larry W. Virden on 6 Jul 2010 10:45 On Jul 6, 9:24 am, Gerhard Reithofer <gerhard.reitho...(a)tech- edv.co.at> wrote: > > This must be a bug in TCL/Tk .. ??? > This is more likely an installation error, since I certainly don't see a problem with the version of tablelist that I have installed: $ tclsh8.5 % package require tablelist 4.9.2 % ::tablelist::tablelist .t -columns {0 Left 0 Center 0 Right} ..t % info commands ::tablelist::tablelist ::tablelist::tablelist % info commands ::tablelist::tablelist* ::tablelist::tablelist ::tablelist::tablelistWidgetCmd % $ which tclsh8.6 /projects/sprs_lwv/tcl86/bin/tclsh8.6 srv45 (5313) $ tclsh8.6 % package require tablelist 5.1 % ::tablelist::tablelist .t -columns {0 Left 0 Center 0 Right} ..t % info commands ::tablelist::tablelist* ::tablelist::tablelist ::tablelist::tablelistWidgetCmd % So I have 2 different versions installed - a production version for an older tcl, and the latest tabelist in the latest cvs head of tcl 8.6. They both appear to be working on the sparc solaris sytsem I am using. I wonder if somehow the version of tclsh that you are picking up is pointing to a partial version of tablelist or something. It just seems so peculiar that it would appear to find the package, but not return the normal information. Could it be that your environment has somehow replaced the "puts" command with something else?
From: Gerhard Reithofer on 7 Jul 2010 06:36
Hi Larry, On Tue, 6 Jul 2010, Larry W. Virden wrote: > On Jul 6, 9:24 am, Gerhard Reithofer <gerhard.reitho...(a)tech- > edv.co.at> wrote: > > > > > This must be a bug in TCL/Tk .. ??? > > > This is more likely an installation error, since I certainly don't see > a problem with the version of tablelist that I have installed: I think also, that it is no Tablelist problem, but I am wondering why "normal" tcl commands fail. TCL is the language where (almost) everything can be introspected, therefore it should be possible to find out the reason for this behavior. Until now this was the case on similar problems. ... > I wonder if somehow the version of tclsh that you are picking up is > pointing to a partial version of tablelist or something. It just seems > so peculiar that it would appear to find the package, but not return > the normal information. Thanks, a new approach - 1st some details: 1. I have installed on my machine ActiveTcl 8.5 and "normal" Ubuntu provided version 8.4. 2. The problem ONLY appears when using Tablelist 3. The programs fail only when starting Tcl 8.5, no problem on 8.4 4. The same programs work when using package requite -exact 4.12.1 5. Same result if unstalling Tablelist 4.12.1 Therefore I think that it should be possible to find the "bug" or what else makes problems. IMHO the combination of ActiveTcl 8.5 and Tablelist 5.1 is the problem, but how to work it out in detail? Latest investigation results: mainly steppig througk "package provide" files /opt/ActiveTcl-8.5/lib/teapot/package/tcl/teapot/tcl8/8.0/tablelist-5.1.tm /opt/ActiveTcl-8.5/lib/teapot/package/tcl/teapot/tcl8/8.0/tablelist-4.12.1.tm $ wish % package require -exact tablelist::common 4.12.1 4.12.1 % ::tablelist::useTile 0 % ::tablelist::createBindings 0 ; nothing returned here for 5.1 % info procs ::tablelist::createBindings ::tablelist::createBindings % ------------------------------------ $ wish % package require -exact tablelist::common 5.1 5.1 % ::tablelist::useTile 0 % ::tablelist::createBindings % info procs ::tablelist::createBindings % info commands ::tablelist::createBindings ------------------------------------ For me it's the major problem, that I can execute a procedure which DOES NOT exist! These functions do not return anything. > Could it be that your environment has somehow replaced the "puts" > command with something else? I don't think so as puts "seems" to react normally, but how can I verify this? -- Gerhard Reithofer Tech-EDV Support Forum - http://support.tech-edv.co.at |