Index: openacs-4/packages/acs-tcl/tcl/xml-0-sgml-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/xml-0-sgml-procs.tcl,v diff -u -r1.3.10.5 -r1.3.10.6 --- openacs-4/packages/acs-tcl/tcl/xml-0-sgml-procs.tcl 10 Oct 2013 20:44:08 -0000 1.3.10.5 +++ openacs-4/packages/acs-tcl/tcl/xml-0-sgml-procs.tcl 12 Oct 2013 13:55:18 -0000 1.3.10.6 @@ -994,7 +994,7 @@ eval $spec # Peel off the outer seq, its redundant - return [lindex [lindex $var(stack) 1] 0] + return [lindex $var(stack) 1 0] } # sgml::CModelSTname -- @@ -1276,23 +1276,23 @@ proc sgml::followpos {state st firstpos lastpos} { upvar #0 $state var - switch -- [lindex [lindex $st 1] 0] { + switch -- [lindex $st 1 0] { :seq { for {set i 1} {$i < [llength [lindex $st 1]]} {incr i} { - followpos $state [lindex [lindex $st 1] $i] \ - [lindex [lindex $firstpos 0] $i-1] \ - [lindex [lindex $lastpos 0] $i-1] - foreach pos [lindex [lindex [lindex $lastpos 0] $i-1] 1] { - lappend var($pos) {*}[lindex [lindex [lindex $firstpos 0] $i] 1] + followpos $state [lindex $st 1 $i] \ + [lindex $firstpos 0 $i-1] \ + [lindex $lastpos 0 $i-1] + foreach pos [lindex $lastpos 0 $i-1 1] { + lappend var($pos) {*}[lindex $firstpos 0 $i 1] set var($pos) [makeSet $var($pos)] } } } :choice { for {set i 1} {$i < [llength [lindex $st 1]]} {incr i} { - followpos $state [lindex [lindex $st 1] $i] \ - [lindex [lindex $firstpos 0] $i-1] \ - [lindex [lindex $lastpos 0] $i-1] + followpos $state [lindex $st 1 $i] \ + [lindex $firstpos 0 $i-1] \ + [lindex $lastpos 0 $i-1] } } default { @@ -1336,11 +1336,11 @@ set firstpos {} set lastpos {} - switch -- [lindex [lindex $t 1] 0] { + switch -- [lindex $t 1 0] { :seq - :choice { set rep [lindex $t 0] - set cs [lindex [lindex $t 1] 0] + set cs [lindex $t 1 0] foreach child [lrange [lindex $t 1] 1 end] { foreach {childNullable childFirstpos childLastpos} \ @@ -1354,8 +1354,8 @@ } default { incr var(number) - set rep [lindex [lindex $t 0] 0] - set name [lindex [lindex $t 1] 0] + set rep [lindex $t 0 0] + set name [lindex $t 1 0] eval $leaf } } @@ -1378,10 +1378,10 @@ proc sgml::firstpos {cs firstpos nullable} { switch -- $cs { :seq { - set result [lindex [lindex $firstpos 0] 1] + set result [lindex $firstpos 0 1] for {set i 0} {$i < [llength $nullable]} {incr i} { - if {[lindex [lindex $nullable $i] 1]} { - lappend result {*}[lindex [lindex $firstpos $i+1] 1] + if {[lindex $nullable $i 1]} { + lappend result {*}[lindex $firstpos $i+1 1] } else { break } @@ -1413,10 +1413,10 @@ proc sgml::lastpos {cs lastpos nullable} { switch -- $cs { :seq { - set result [lindex [lindex $lastpos end] 1] + set result [lindex $lastpos end 1] for {set i [expr {[llength $nullable] - 1}]} {$i >= 0} {incr i -1} { - if {[lindex [lindex $nullable $i] 1]} { - lappend result {*}[lindex [lindex $lastpos $i] 1] + if {[lindex $nullable $i 1]} { + lappend result {*}[lindex $lastpos $i 1] } else { break }