errorcall rather than error in do_set
speed up EnsureLocal by avoiding eval
Merge branch '21-misc-cleanup' into 25-from-2.15.1