1 \ @(#) private.fth 98/01/26 1.2
4 \ Privatize words that are only needed within the file
5 \ and do not need to be exported.
9 \ : FOO ; \ Everything between PRIVATE{ and }PRIVATE will become private.
12 \ : GOO foo moo ; \ can use foo and moo
13 \ PRIVATIZE \ smudge foo and moo
16 \ Copyright 1996 Phil Burk
18 \ 19970701 PLB Use unsigned compares for machines with "negative" addresses.
22 variable private-start
24 $ 20 constant FLAG_SMUDGE
27 private-start @ 0= not abort" ERROR: Missing PRIVATIZE"
28 private-stop @ 0= not abort" ERROR: Missing PRIVATIZE"
29 latest private-start !
34 private-stop @ 0= not abort" ERROR: Extra }PRIVATE"
38 : PRIVATIZE ( -- , smudge all words between PRIVATE{ and }PRIVATE )
39 private-start @ 0= abort" ERROR: Missing PRIVATE{"
40 private-stop @ 0= abort" ERROR: Missing }PRIVATE"
43 dup private-start @ u> \ 19970701
45 \ ." Smudge " dup id. cr
46 dup c@ flag_smudge or over c!