From: cloos@acsu.buffalo.edu (James H. Cloos) Newsgroups: comp.sys.handhelds,comp.sys.hp48 Subject: Small error in RPLMAN.DOC Date: 27 Jul 91 06:21:34 GMT Organization: State University of New York @ Buffalo While working on my current project, I discovered an error in the RPLMAN.DOC file that comes with the new development system. In the doc file, the effect of the word NDUPN is listed as: ( ob #n --> ob ... ob ) but this does not happen. A better description would be: ( ob #n --> ob(1) ... ob(n) #n ) ( ob #0 --> #0 ) where the parenthesized numbers indicate copies of the same ob, not different ob's. Note that this effect can be summarized by saying: The level 2 argument is duplicated until n copies exist (not counting any previously in levels 3+, of course), where n is the value of the level 1 short. Said short is left on the stack. If the short is 0, then 0 copies of the level 2 argument are left on the stack; ie., it is dropped. The word looks like: :: DUP#0=case SWAPDROP DUP #1- DUP#0=case DROP ZERO_DO (DO) OVER SWAP LOOP ; which documents my revised description. Note that this also affects the docs in the chapter on local variables and local environments. There the code example: NULLLAM TWENTYFOUR NDUPN TWENTYFOUR {}N BIND must be changed to: ' NULLLAM TWENTYFOUR NDUPN {}N BIND No flames, just a correction. -JimC -- James H. Cloos, Jr. Phone: +1 716 673-1250 cloos@ACSU.Buffalo.EDU Snail: PersonalZipCode: 14048-0772, USA cloos@ub.UUCP Note: Phone & Snail to change soon!