ycl

Artifact [1dd54d60fc]
Login

Artifact [1dd54d60fc]

Artifact 1dd54d60fced17d6472c0300f393aa021cfb1a7f:


#! /usr/bin/env tclsh


proc ensure {listname value args} {
	upvar $listname list
	set idx [lsearch -exact -bisect $list $arg]
	if {$idx >= 0 && [lindex $list $idx] eq $idx} {
		return $idx
	}
	incr idx
	linsert list $idx $value 
}


proc insert {listname value} {
	upvar $listname list
	if {[info exists list]} {
		set idx [lsearch -bisect $list $value]
		incr idx
		set list [linsert $list[set list {}] $idx $value]
	} else {
		lappend list $value
	}
}