xref: /freebsd/stand/ficl/softwords/marker.fr (revision 26a58599)
1ca987d46SWarner Losh\ ** ficl/softwords/marker.fr
2ca987d46SWarner Losh\ ** Ficl implementation of CORE EXT MARKER
3ca987d46SWarner Losh\ John Sadler, 4 Oct 98
4ca987d46SWarner Losh\ Requires ficl 2.02 FORGET-WID !!
5ca987d46SWarner Losh\
6ca987d46SWarner Losh
7ca987d46SWarner Losh: marker   ( "name" -- )
8ca987d46SWarner Losh    create
9ca987d46SWarner Losh    get-current ,
10ca987d46SWarner Losh    get-order dup ,
11ca987d46SWarner Losh    0 ?do , loop
12ca987d46SWarner Losh  does>
13ca987d46SWarner Losh    0 set-order                     \ clear search order
14ca987d46SWarner Losh    dup body> >name drop
15ca987d46SWarner Losh    here - allot                    \ reset HERE to my xt-addr
16ca987d46SWarner Losh    dup @                           ( pfa current-wid )
17ca987d46SWarner Losh    dup set-current forget-wid      ( pfa )
18ca987d46SWarner Losh    cell+ dup @ swap                ( count count-addr )
19ca987d46SWarner Losh    over cells + swap               ( last-wid-addr count )
20ca987d46SWarner Losh    0 ?do
21ca987d46SWarner Losh        dup @ dup                   ( wid-addr wid wid )
22ca987d46SWarner Losh        >search forget-wid          ( wid-addr )
23ca987d46SWarner Losh        cell-
24ca987d46SWarner Losh    loop
25ca987d46SWarner Losh    drop
26ca987d46SWarner Losh;
27