Hi everybody, I need your help and experience in order to track the origin of a problem that is plaguing the current version of rivet 2.3.0 when 'catch' is used in certain forms

The issue emerged when ::rivet::lempty (intensively called from dio.tcl and other dio_*.tcl files) started to return 0 even when its only argument was an empty list.

::rivet::lempty is very simple

proc lempty {list} {
  if {[catch {llength $list} len]} { return 0 }
  return [expr {$len == 0}]
}


and the problem is with 'catch' failing with a syntax error. The problem turned out to be related to ::rivet::catch (at least removing this command from the installation restores the expected lempty behavior). Still Rivet intentionally doesn't export the command ::rivet::catch and therefore it can't be imported into the global namespace so that the core command in not shadowed. Someone has some explanation for this? Another problem is with the setup that causes the problem: my Debian 'stretch' systems does have it, while a custom apache installation on linux Mint works as expected.

any ideas?

 -- Massimo


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org

Reply via email to