Diff for /gforth/ds2texi.fs between versions 1.24 and 1.30

version 1.24, 2000/09/23 15:46:52 version 1.30, 2005/12/31 15:46:08
Line 1 Line 1
 \ documentation source to texi format converter  \ documentation source to texi format converter
   
 \ Copyright (C) 1995,1996,1997,1998,1999 Free Software Foundation, Inc.  \ Copyright (C) 1995,1996,1997,1998,1999,2003,2005 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 61  create description-buffer 4096 chars all Line 61  create description-buffer 4096 chars all
     description-buffer tuck - ;      description-buffer tuck - ;
   
 : skip-prefix ( c-addr1 u1 -- c-addr2 u2 )  : skip-prefix ( c-addr1 u1 -- c-addr2 u2 )
     2dup 2 min s" --" compare 0=      2dup s" --" string-prefix?
     IF      IF
         [char] - skip [char] - scan 1 /string          [char] - skip [char] - scan 1 /string
     THEN ;      THEN ;
Line 94  create description-buffer 4096 chars all Line 94  create description-buffer 4096 chars all
 : make-doc ( -- )  : make-doc ( -- )
     get-current documentation set-current      get-current documentation set-current
     create      create
         last @ name>string skip-prefix 2,               \ name          latest name>string skip-prefix 2,               \ name
         [char] ) parse save-mem 2,      \ stack-effect          [char] ) parse save-mem 2,      \ stack-effect
         bl sword condition-wordset 2,   \ wordset          bl sword condition-wordset 2,   \ wordset
         bl sword dup    \ pronounciation          bl sword dup    \ pronounciation
         if          if
             condition-pronounciation              condition-pronounciation
         else          else
             2drop last @ name>string skip-prefix              2drop latest name>string skip-prefix
         endif          endif
         2,          2,
         get-description save-mem 2,          get-description save-mem 2,
Line 165  create description-buffer 4096 chars all Line 165  create description-buffer 4096 chars all
     \ with the prefix addr2 u2 and continuing with a word in the      \ with the prefix addr2 u2 and continuing with a word in the
     \ wordlist `documentation'. f is true if xt is executed.      \ wordlist `documentation'. f is true if xt is executed.
     >r dup >r      >r dup >r
     3 pick over compare 0=      3 pick over str=
     if \ addr2 u2 is a prefix of addr1 u1      if \ addr2 u2 is a prefix of addr1 u1
         r> /string documentation search-wordlist          r> /string -trailing documentation search-wordlist
         if \ the rest of addr1 u1 is in documentation          if \ the rest of addr1 u1 is in documentation
             execute r> execute true              execute r> execute true
         else          else
Line 203  create docline doclinelength chars allot Line 203  create docline doclinelength chars allot
   
 : compare-ci ( addr1 u1 addr2 u2 -- n )  : compare-ci ( addr1 u1 addr2 u2 -- n )
     \ case insensitive string compare      \ case insensitive string compare
       \ !! works correctly only for comparing for equality
     2 pick swap -      2 pick swap -
     ?dup-0=-if      ?dup-0=-if
         capscomp          capscomp

Removed from v.1.24  
changed lines
  Added in v.1.30


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