Posted to tcl by oldlaptop at Fri Oct 24 22:40:48 GMT 2025view pretty

proc perpetrate_evil {{victim ::}} {
	array set $victim {}
	trace add variable $victim {read write} [list ::evil_672 $victim]
}

proc evil_672 {victim empty expr op} {
	if {$op eq {write}} {
		return -code error "Evil TIP672 bans writes to the empty-named array."
	}

	set [set victim]($expr) [uplevel 1 [list expr $expr]]
}

# $ tclsh9.0
# % info patchlevel
# 9.0.3
# % source evil-tip672.tcl
# % perpetrate_evil
# % puts $(1 + 1)
# 2