Index: TODO
===================================================================
diff -u -r033c63d771af5253b0e94c2a9c1c6a94df40242e -r304c346008d3c471fa9350eb0b18813eec2a4be6
--- TODO	(.../TODO)	(revision 033c63d771af5253b0e94c2a9c1c6a94df40242e)
+++ TODO	(.../TODO)	(revision 304c346008d3c471fa9350eb0b18813eec2a4be6)
@@ -1019,6 +1019,7 @@
 - removed definition of slots from nx, changed regression tests
   examples to to ::attribute instead of -slots 
   
+- replaced several occurrences of "eval" in nx.tcl and xotcl2.tcl
 
 
 TODO: 
Index: library/nx/nx.tcl
===================================================================
diff -u -r033c63d771af5253b0e94c2a9c1c6a94df40242e -r304c346008d3c471fa9350eb0b18813eec2a4be6
--- library/nx/nx.tcl	(.../nx.tcl)	(revision 033c63d771af5253b0e94c2a9c1c6a94df40242e)
+++ library/nx/nx.tcl	(.../nx.tcl)	(revision 304c346008d3c471fa9350eb0b18813eec2a4be6)
@@ -1175,7 +1175,7 @@
 	 if {![::nsf::objectproperty $object object]} {
 	   $withclass create $object
 	 }
-	 eval ::nsf::next -childof $object $args
+	 ::nsf::next -childof $object {*}$args
        }
     }
   }
@@ -1297,11 +1297,12 @@
 	}
 	:copyNSVarsAndCmds $origin $dest
 	foreach i [::nsf::cmd::ObjectInfo::forward $origin] {
-	  eval [concat ::nsf::forward $dest -per-object $i [::nsf::cmd::ObjectInfo::forward $origin -definition $i]]
+	  ::nsf::forward $dest -per-object $i {*}[::nsf::cmd::ObjectInfo::forward $origin -definition $i]
+
 	}
 	if {[::nsf::objectproperty $origin class]} {
 	  foreach i [::nsf::cmd::ClassInfo::forward $origin] {
-	    eval [concat ::nsf::forward $dest $i [::nsf::cmd::ClassInfo::forward $origin -definition $i]]
+	    ::nsf::forward $dest $i {*}[::nsf::cmd::ClassInfo::forward $origin -definition $i]
 	  }
 	}
 	set traces [list]
@@ -1386,13 +1387,11 @@
   interp alias {} ::nx::self {} ::nsf::current object
 }
 
-
-
 #######################################################################
 # define, what should be exported 
 namespace eval ::nx {
 
-  # export the contents for all xotcl versions
+  # export the main commands of ::nx
   namespace export Object Class next self current
 
   # TODO should not be necessary in the future
Index: library/xotcl/library/xotcl2.tcl
===================================================================
diff -u -r033c63d771af5253b0e94c2a9c1c6a94df40242e -r304c346008d3c471fa9350eb0b18813eec2a4be6
--- library/xotcl/library/xotcl2.tcl	(.../xotcl2.tcl)	(revision 033c63d771af5253b0e94c2a9c1c6a94df40242e)
+++ library/xotcl/library/xotcl2.tcl	(.../xotcl2.tcl)	(revision 304c346008d3c471fa9350eb0b18813eec2a4be6)
@@ -610,7 +610,7 @@
       ::lappend mp $st$wd${sp}($methodkind)$sp$wd
     }
     foreach cl [concat ::xotcl::Class [::xotcl::Class info heritage]] {
-      eval ::lappend meths [$cl info instcommands]
+      ::lappend meths {*}[$cl info instcommands]
     }
     set old [pwd]
     cd $dir
@@ -619,7 +619,7 @@
     ::append idx "\"::xotcl::config::mkindex [list $meta] [list $dir] $args\"\n"
     set oc 0
     set mc 0
-    foreach file [eval glob -nocomplain -- $args] {
+    foreach file [glob -nocomplain -- {*}$args] {
       if {[catch {set f [open $file]} msg]} then {
         catch {close $f}
         cd $old
@@ -721,7 +721,7 @@
 
     :public object method extend {name args} {
       :require $name
-      eval $name configure $args
+	$name configure {*}$args
     }
     
     :public object method contains script {
@@ -747,7 +747,7 @@
     
     :public object method unknown args {
       #puts stderr "unknown: package $args"
-      eval [set :packagecmd] $args
+      [set :packagecmd] {*}$args
     }
     
     :public object method verbose value {
@@ -766,7 +766,7 @@
           error "not found"
         }
       } else {
-        eval [set :packagecmd] present $args
+	[set :packagecmd] present {*}$args
       }
     }
     
@@ -788,7 +788,7 @@
     :public object method require args {
       #puts "XOTCL package require $args, current=[namespace current]"
       set prevComponent ${:component}
-      if {[catch {set v [eval package present $args]} msg]} {
+      if {[catch {set v [package present {*}$args]} msg]} {
         #puts stderr "we have to load $msg"
         switch -exact -- [lindex $args 0] {
           -exact  {set pkg [lindex $args 1]}