Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!necntc!ames!sdcsvax!ucbvax!DICKINSN.BITNET!NEWCOMER_D From: NEWCOMER_D@DICKINSN.BITNET ("Newcomer, Don") Newsgroups: comp.os.vms Subject: TPU Message-ID: <8709220552.AA27928@ucbvax.Berkeley.EDU> Date: Mon, 21-Sep-87 10:44:10 EDT Article-I.D.: ucbvax.8709220552.AA27928 Posted: Mon Sep 21 10:44:10 1987 Date-Received: Thu, 24-Sep-87 01:29:40 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 75 ------------------------------ Begin Reference ------------------------------ Date: Sat, 19 Sep 87 3:35 cdt Received: From PSUVM(MAILER) by DICKINSN with RSCS id 7605 for NEWCOMER_D@DICKINSN; Sun, 20 Sep 87 06:35 EST by PSUVM (Mailer X1.24) id 7583; Sun, 20 Sep 87 06:32:16 EDT Reply-to: INFO-VAX@KL.SRI.COM Sender: INFO-VAX Discussion From: Ken Selvia 409-294-1853 Subject: TPU To: DON NEWCOMER Hello netlanders. I have become the local TPU expert and while working with it I have discovered a few "bugs?". Do any of you TPU wizards have any ideas or comments about the errors in the following TPU procedures? ! (1) !Try compiling (extending) this one. You should get a fatal internal TPU error. !Any idea why??? ! procedure fatal_err a_variable := ("1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "A" | "B" | "C" | "D" | "E" | "F" | "G"); endprocedure ! (2) !You can't access a local variable with execute, and on_error is ignored. ! !XYZ will not be defined and search will result in an error. ! procedure dummy on_error endon_error; local xyz, name; xyz := line_end; execute("name := search(line_begin & xyz ,forward)"); position(name); endprocedure ------------------------------- End Reference ------------------------------- >! (1) >!Try compiling (extending) this one. You should get a fatal internal TPU error. >!Any idea why??? >! >procedure fatal_err >a_variable := ("1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | > "9" | "A" | "B" | "C" | "D" | "E" | "F" | "G"); >endprocedure Looks like, for once, this one does indeed deserve an SPR. If you reduce the number of arguments from 16 to 15 it compiles. >! (2) >!You can't access a local variable with execute, and on_error is ignored. >! >!XYZ will not be defined and search will result in an error. >! >procedure dummy >on_error endon_error; >local xyz, name; > xyz := line_end; > execute("name := search(line_begin & xyz ,forward)"); > position(name); >endprocedure This makes intuitive sense since an EXECUTE() acts in a similar fashion to a PROCEDURE statement. It's been my experience that for an EXECUTE() to share variables with another procedure both must use global variables. An ON_ERROR ON_ERROR statement won't suppress the error message because the "Undefined procedure" error has the severity ERROR. ON_ERROR only suppresses WARNING messages. There, hope that all makes sense. After all, this is my first time responding in Net-land. I guess all disclaimers apply (especially since no one here uses TPU but me!). Don Newcomer