link zlib $define NO "nAAo" $define LI ("Line " || &line || ":") procedure p() return "Pattern state:\n" || &subject || "\n" || &subject[1:&pos] || "<--" end #procedure main() # write(if "NO" === "NO" then "yes" else "no") # write(w(w(1) * w(2))) #end procedure oldw(args[]) last := args[*args] every i := 1 to *args - 1 do writes(args[i], " ") if last === NO then write("failed") else { write(fullimage(last)) return last } end global ww_glued, ww_text # starts with &null, meaning "ws not glued" procedure vsw(args) # the name is a joke with "vsprintf" /ww_text := "" every ww_text ||:= args[1 to *args - 1] || " " if args[-1] ~=== NO then { # === because args[-1] may not be a string ww_text ||:= fullimage(args[-1]) if /ww_glued then { write(ww_text) ww_text := "" } return args[-1] } else { ww_text ||:= "failed " if /ww_glued then { write(ww_text) ww_text := "" } } # and fail end procedure wb(args[]) ww_text := "" ww_glued := "YES" return vsw(args) end procedure w(args[]) return vsw(args) end procedure we(args[]) ww_glued := &null return vsw(args) end procedure S(x) if x === NO then return "failed" else return fullimage(x) end