Diff for /gforth/kernel/args.fs between versions 1.2 and 1.3

version 1.2, 1997/08/31 19:32:29 version 1.3, 1998/11/08 23:08:06
Line 42  Variable argc ( -- addr ) \ gforth Line 42  Variable argc ( -- addr ) \ gforth
     2swap      2swap
     2dup s" -e"         compare  0= >r      2dup s" -e"         compare  0= >r
     2dup s" --evaluate" compare  0= r> or      2dup s" --evaluate" compare  0= r> or
     IF  2drop dup >r ['] evaluate catch      IF  2drop dup >r evaluate
         ?dup IF  dup >r DoError r> negate (bye)  THEN  
         r> >tib +!  2 EXIT  THEN          r> >tib +!  2 EXIT  THEN
       2dup s" -h"         compare  0= >r
       2dup s" --help"     compare  0= r> or
       IF  ." Image Options:" cr
           ."   FILE                                   load FILE (with `require')" cr
           ."   -e STRING, --evaluate STRING      interpret STRING (with `EVALUATE')" cr
           ." Report bugs to <bug-gforth@gnu.ai.mit.edu>" cr
           bye
       THEN
     ." Unknown option: " type cr 2drop 1 ;      ." Unknown option: " type cr 2drop 1 ;
   
 : (process-args) ( -- )  : (process-args) ( -- )
     true to script?      true to script?
     >tib @ >r      >tib @ >r #tib @ >r >in @ >r
     argc @ 1      argc @ 1
     ?DO      ?DO
         I arg over c@ [char] - <>          I arg over c@ [char] - <>
         IF          IF
               2dup dup #tib ! >in ! >tib !
             required 1              required 1
         ELSE          ELSE
             I 1+ argc @ =  IF  s" "  ELSE  I 1+ arg  THEN              I 1+ argc @ =  IF  s" "  ELSE  I 1+ arg  THEN
             do-option              do-option
         THEN          THEN
     +LOOP      +LOOP
     r> >tib !      r> >in ! r> #tib ! r> >tib !
     false to script?      false to script?
 ;  ;
   

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


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