Diff for /gforth/wf.fs between versions 1.3 and 1.4

version 1.3, 2001/07/17 13:14:12 version 1.4, 2001/07/17 14:21:21
Line 20  s" " tag-option $! Line 20  s" " tag-option $!
     s' "' tag-option $+! ;      s' "' tag-option $+! ;
 : href= ( addr u -- )  s" href" opt ;  : href= ( addr u -- )  s" href" opt ;
 : src=  ( addr u -- )  s" src" opt ;  : src=  ( addr u -- )  s" src" opt ;
   : alt=  ( addr u -- )  s" alt" opt ;
 : align= ( addr u -- ) s" align" opt ;  : align= ( addr u -- ) s" align" opt ;
 : mailto: ( addr u -- ) s'  href="mailto:' tag-option $+!  : mailto: ( addr u -- ) s'  href="mailto:' tag-option $+!
     tag-option $+! s' "' tag-option $+! ;      tag-option $+! s' "' tag-option $+! ;
Line 75  Variable do-size Line 76  Variable do-size
     link-icon? link $@ href= s" a" tagged      link-icon? link $@ href= s" a" tagged
     link-size? ;      link-size? ;
   
   : .img ( -- ) '{ parse type '} parse '| $split
       dup IF  2swap alt=  ELSE  2drop  THEN  src= s" img" tag ;
   
 \ line handling  \ line handling
   
   : char? ( -- c )  >in @ char swap >in ! ;
 : parse-tag ( addr u char -- )  : parse-tag ( addr u char -- )
     >r r@ parse type      >r r@ parse type
     r> parse 2swap tagged ;      r> parse 2swap tagged ;
Line 84  Variable do-size Line 89  Variable do-size
 : .bold ( -- )  s" b" '* parse-tag ;  : .bold ( -- )  s" b" '* parse-tag ;
 : .em   ( -- )  s" em" '_ parse-tag ;  : .em   ( -- )  s" em" '_ parse-tag ;
   
   : do-word ( char -- )
       CASE
           '* OF .bold ENDOF
           '_ OF .em   ENDOF
           '[ OF .link ENDOF
           '{ OF .img  ENDOF
           >in @ >r char drop
           source r@ /string >in @ r> - nip type
       ENDCASE ;
   
 : parse-line ( -- )  : parse-line ( -- )
     BEGIN  >in @ >r char r> >in !      BEGIN  char? do-word source nip >in @ = UNTIL ;
         CASE  
             '* OF .bold ENDOF  : parse-to ( char -- ) >r
             '_ OF .em   ENDOF      BEGIN  char? dup r@ <> WHILE
             '[ OF .link ENDOF          do-word source nip >in @ = UNTIL  ELSE  drop  THEN
             >in @ >r char drop      r> parse type ;
             source r@ /string >in @ r> - nip type  
         ENDCASE  
         source nip >in @ = UNTIL ;  
   
 \ paragraph handling  \ paragraph handling
   
Line 149  longtags set-current Line 161  longtags set-current
 : |> -env ;  : |> -env ;
 : +| |line  : +| |line
     BEGIN      BEGIN
         |h '| parse type          |h '| parse-to char? '+ =  UNTIL line| ;
         >in @ >r char r> >in ! '+ =  UNTIL line| ;  
 : -| |line  : -| |line
     BEGIN      BEGIN
         |d '| parse type          |d '| parse-to char? '- =  UNTIL line| ;
         >in @ >r char r> >in ! '- =  UNTIL line| ;  
   
 definitions  definitions
   

Removed from v.1.3  
changed lines
  Added in v.1.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>