Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!hp-pcd!hpcvra!billw From: billw@hpcvra.CV.HP.COM (William C Wickes) Newsgroups: comp.sys.handhelds Subject: Re: HP48SX funny bugs, and TRACE replacement Message-ID: <25590041@hpcvra.CV.HP.COM> Date: 3 Aug 90 20:23:25 GMT References: <1920@charon.cwi.nl> Organization: Hewlett-Packard Co., Corvallis, OR, USA Lines: 52 Mr. Bos is a little too liberal with the term "bug." A bug is usually considered to be a software defect where a program executes differently from its specifications, and which should be fixed if possible. This definition does not apply to any of the behaviors described by Mr. Bos. > Type [EQUATION] [{}] 1 / 7 + 2 [y^x] 5 + 3 - > Now type [{}] [<-]. > You would expect only the - to disappear, but that doesn't happen: > It invents an entirely new formula for you. When you hit backarrow, effectively the expression is reentered. Since you have changed the implicit parentheses mode, the entries are interpreted differently. > How about this one: > Put 7 in I by 'I=7' DEF or 7 'I' STO. > Now watch the difference between > 'N' {N I} | (giving 'I', wich is wrong), and > 'N*1' {N I} | (giving the correct answer 7). > Why does | forget to evaluate? When the source "expression" for | is a single name it is merely replaced if it matches the specified name, without evaluation. When the expression contains operators, their arguments are evaluated. This is in the specs; one could argue that the specs are "wrong." But | has almost no utility used in RPN form; an RPN execution was included only for completeness. > A not so serious one, but it is still a bug: > Type [EQUATION] to get into the equationWriter, and type (2+3 [triangle <-] > now you can go all the way to the left by [blue-shift] [triangle <-], but > you cannot reach this location by repeated [triangle <-]. The rules act as > if the + is selected. There is no value in reaching the left parenthesis, since all it can represent is the entire subexpression, which in this case is defined by the +. But there wasn't much point in spending extra code to prevent it either, for shift-left-arrow. > A tip: > execute {STO 32.1 PURGE 54.2} STOKEYS so that > STO and PURGE get a message when > typed (Yes, this is another bug. It is a result of the fact that the keys > differ from their commands (the keys save the old contents in LASTARG)). A full-featured trace mode was not provided nor supported on the HP 48SX, so we can hardly consider as a bug a behavior that does not support a particular attempt to provide a rudimentary trace mode. The STO and PURGE key actions, and vectored ENTER are excellent features that work EXACTLY as specified. Mr. Bos, you are to be congratulated on your evident enthusiasm for the HP 48SX, and your curiosity and attention to detail.