Am Sonntag, 13. November 2011, 18:41:54 schrieb Josh Grams:
> >Hm, looking at head?, it really looks wrong.  Try replacing it with this:
> >: head? ( addr -- f )
> >
> >\G heuristic check whether addr is a name token; may deliver false
> >\G positives; addr must be a valid address
> >
> >    dup dup aligned <>
> >    if
> >     
> >     drop false exit \ heads are aligned
> >     
> >    then
> >    name>string dup $1F > if
> >     
> >     2drop false exit \ realistically the name is short
> >     
> >    then
> >    + cfaligned @ here forthstart within ; \ and the cfa is outside
> 
> That does look more straightforward.  But it doesn't eliminate the
> problem I was having.   I guess I never gave a good minimal test case.
> This should reproduce it for reliably:
> 
>       here 32 cells erase  wordlist .voc
> 
> Hmm...a zero-length name should always be an invalid header, so I assume
> replacing `$1F >` with `$20 1 WITHIN` should be OK?

Yes, that should do it.  Thanks for the reliable test.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to