%aop = "//" : do { $v is $p1 // $p2; } now : ignore [bras,quotes] | ; = `htmlrev_quote` : do { $v = htmlrev_unescapequotes($j); } now | ; = "str(" : do { $v is $p1; } now | ; = ")" : do { $v is $p1; } now; = "scriptformat(" : do { $v is $p1; } now | ; = ")" : do { $v is $p1; } now; = * : do { $v = "\n\n"; } now | ; = "htmlpage_" : do { $v = "$s1"; } now | ; = * : do { $v = ""//$j//""; } now; %eden htmlrev_quote = "\""; func htmlrev_unescapequotes { para instr; return unescapequotes(substr(instr,2,instr#-1)); } func unescapequotes { para instr; auto i, outstr; outstr = ""; for (i = 1; i <= instr#; i++) { if (instr [i] == '\\' && instr [i+1] == '\\') i++; if (instr [i] == '\\' && instr [i+1] == '"') i++; outstr = outstr // str(instr [i]); } return outstr; } newscriptvar_no = 0; func newscriptvar { para scriptval; newscriptvar_no++; `"scriptvar"//str(newscriptvar_no)` = scriptval; return "scriptvar"//str(newscriptvar_no); } func scriptformat { para scriptvar; return "
"//`scriptvar`//"

execute | copy to input box

"; } proc copytoinputbox { para mystr; pres_inputbox_text = mystr; }