Diff for /gforth/kernel/errore.fs between versions 1.9 and 1.20

version 1.9, 2000/09/23 15:06:10 version 1.20, 2012/12/31 15:25:19
Line 1 Line 1
 \ ERRORE.FS English error strings                      9may93jaw  \ ERRORE.FS English error strings                      9may93jaw
   
 \ Copyright (C) 1995,1996,1997,1998,1999 Free Software Foundation, Inc.  \ Copyright (C) 1995,1996,1997,1998,1999,2000,2003,2006,2007,2012 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
 \ Gforth is free software; you can redistribute it and/or  \ Gforth is free software; you can redistribute it and/or
 \ modify it under the terms of the GNU General Public License  \ modify it under the terms of the GNU General Public License
 \ as published by the Free Software Foundation; either version 2  \ as published by the Free Software Foundation, either version 3
 \ of the License, or (at your option) any later version.  \ of the License, or (at your option) any later version.
   
 \ This program is distributed in the hope that it will be useful,  \ This program is distributed in the hope that it will be useful,
Line 15 Line 15
 \ GNU General Public License for more details.  \ GNU General Public License for more details.
   
 \ You should have received a copy of the GNU General Public License  \ You should have received a copy of the GNU General Public License
 \ along with this program; if not, write to the Free Software  \ along with this program. If not, see http://www.gnu.org/licenses/.
 \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  
   
   
 \ The errors are defined by a linked list, for easy adding  \ The errors are defined by a linked list, for easy adding
Line 39  decimal Line 38  decimal
   
 has? OS [IF]  has? OS [IF]
 : >stderr ( -- )  : >stderr ( -- )
     r> outfile-id >r stderr to outfile-id      r> outfile-id >r debug-fid to outfile-id
     >exec  r> to outfile-id ;      >exec  r> to outfile-id ;
 [ELSE]  
 : >stderr ;  
 [THEN]  [THEN]
   
 : .error ( n -- )  : error$ ( n -- addr u ) \ gforth
     >stderr      \G converts an error to a string
     ErrLink      ErrLink
     BEGIN @ dup      BEGIN @ dup
     WHILE      WHILE
         2dup cell+ @ =          2dup cell+ @ =
         IF          IF
             2 cells + count type drop EXIT THEN              2 cells + count rot drop EXIT THEN
     REPEAT      REPEAT
     drop      drop
 [ has? os [IF] ]  [ has? os [IF] ]
     dup -511 -255 within      dup -511 -255 within
     IF      IF
         256 + negate strsignal type EXIT          256 + negate strsignal EXIT
     THEN      THEN
     dup -2047 -511 within      dup -2047 -511 within
     IF      IF
         512 + negate strerror type EXIT          512 + negate strerror EXIT
     THEN      THEN
 [ [THEN] ]  [ [THEN] ]
     ." error " dec. ;      base @ >r decimal
       s>d tuck dabs <# #s rot sign s" error #" holds #> r> base ! ;
   
   : .error ( n -- )
   [ has? OS [IF] ]
       >stderr
   [ [THEN] ]
       error$ type ;
   

Removed from v.1.9  
changed lines
  Added in v.1.20


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