| break; |
break; |
| longname2=longname1; |
longname2=longname1; |
| : |
: |
| BEGIN dup WHILE (find-samelen) dup WHILE |
BEGIN dup WHILE (findl-samelen) dup WHILE |
| >r 2dup r@ cell+ char+ capscomp 0= |
>r 2dup r@ cell+ cell+ capscomp 0= |
| IF 2drop r> EXIT THEN |
IF 2drop r> EXIT THEN |
| r> @ |
r> @ |
| REPEAT THEN nip nip ; |
REPEAT THEN nip nip ; |
| : (find-samelen) ( u longname1 -- u longname2/0 ) |
: (findl-samelen) ( u longname1 -- u longname2/0 ) |
| BEGIN 2dup cell+ c@ $1F and <> WHILE @ dup 0= UNTIL THEN ; |
BEGIN 2dup cell+ @ lcount-mask and <> WHILE @ dup 0= UNTIL THEN ; |
| |
|
| \+hash |
\+hash |
| |
|
| } |
} |
| : |
: |
| BEGIN dup WHILE |
BEGIN dup WHILE |
| 2@ >r >r dup r@ cell+ c@ $1F and = |
2@ >r >r dup r@ cell+ @ lcount-mask and = |
| IF 2dup r@ cell+ char+ capscomp 0= |
IF 2dup r@ cell+ cell+ capscomp 0= |
| IF 2drop r> rdrop EXIT THEN THEN |
IF 2drop r> rdrop EXIT THEN THEN |
| rdrop r> |
rdrop r> |
| REPEAT nip nip ; |
REPEAT nip nip ; |
| } |
} |
| : |
: |
| BEGIN dup WHILE |
BEGIN dup WHILE |
| 2@ >r >r dup r@ cell+ c@ $1F and = |
2@ >r >r dup r@ cell+ @ lcount-mask and = |
| IF 2dup r@ cell+ char+ -text 0= |
IF 2dup r@ cell+ cell+ -text 0= |
| IF 2drop r> rdrop EXIT THEN THEN |
IF 2drop r> rdrop EXIT THEN THEN |
| rdrop r> |
rdrop r> |
| REPEAT nip nip ; |
REPEAT nip nip ; |
| |
|
| \+ |
\+ |
| |
|