--- dexec.tcl	2005-09-30 08:36:47.000000000 +0300
+++ dexec.tcl	2007-04-03 12:33:04.000000000 +0300
@@ -33,6 +33,7 @@
 
     method reset {} {}
     method put  {sy} {}
+    method state {} {}
 
     option -command {}
     option -any     {}
@@ -124,6 +125,10 @@
 	return
     }
 
+    method state {} {
+	return $curr
+    }
+
     method put {sy} {
 	if {$inerr} return
 	## puts " --($sy)-->"
@@ -153,6 +158,10 @@
 	    return
 	}
 	set curr $new
+	
+	uplevel #0 [linsert $cmd end \
+		state $curr]
+	
 	## puts -nonewline " \[$curr\]" ; flush stdout
 
 	if {[info exists final($curr)]} {
