Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!wuarchive!udel!haven!decuac!shlump.nac.dec.com!jareth.enet.dec.com!edp From: edp@jareth.enet.dec.com (Eric Postpischil (Always mount a scratch monkey.)) Newsgroups: comp.sys.handhelds Subject: Re: HP 48: Weird IFERR | THEN END behavior Message-ID: <17826@shlump.nac.dec.com> Date: 5 Dec 90 11:51:46 GMT References: Sender: newsdaemon@shlump.nac.dec.com Reply-To: edp@jareth.enet.dec.com (Eric Postpischil (Always mount a scratch monkey.)) Organization: Digital Equipment Corporation Lines: 16 In article , es2a+@andrew.cmu.edu (Eric Stuyvesant) writes: > I presume this is happening because the LASTARG command is returning >the last argument it has seen, in this case, an argument to some >not-user-visible function called by |. Can anyone shed any light on the I expect what is happening is that the | function takes apart the expression it is given. Piece by piece, it compares each variable to the list of substitions and makes appropriate replacements. And to put the expression back to together, it evaluates things as it goes. So for 'INV(X)' at X=0, it substitutes 0 for X and then tries to apply INV to it. This causes an error. 0 is returned to the stack, and you proceed to the error clause. -- edp