Diff for /gforth/Attic/errore.fs between versions 1.5 and 1.8

version 1.5, 1995/04/20 09:42:49 version 1.8, 1996/07/16 20:57:07
Line 1 Line 1
 \ ERRORE.FS English error strings                      9may93jaw  \ ERRORE.FS English error strings                      9may93jaw
   
   \ Copyright (C) 1995 Free Software Foundation, Inc.
   
   \ This file is part of Gforth.
   
   \ Gforth is free software; you can redistribute it and/or
   \ modify it under the terms of the GNU General Public License
   \ as published by the Free Software Foundation; either version 2
   \ of the License, or (at your option) any later version.
   
   \ This program is distributed in the hope that it will be useful,
   \ but WITHOUT ANY WARRANTY; without even the implied warranty of
   \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   \ GNU General Public License for more details.
   
   \ You should have received a copy of the GNU General Public License
   \ along with this program; if not, write to the Free Software
   \ 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
 \ and deleting. Speed is not neccassary at this point.  \ and deleting. Speed is not neccassary at this point.
   
 AVARIABLE ErrLink              \ Linked list entry point  AVARIABLE ErrLink              \ Linked list entry point
 0 ErrLink !  NIL ErrLink !
   
 : ERR" ( n -- )  : ERR" ( n -- )
        ErrLink linked         ErrLink linked
        ,         ,
        [char] " word count         [char] " parse
        string, align ;         string, align ;
   
 decimal  decimal
   
 -1 ERR" Aborted"  -1 ERR" Aborted"
 ErrLink @ unlock reloff lock \ make sure that the terminating 0 is not relocated  
 -3 ERR" Stack overflow"                 -4 ERR" Stack underflow"  -3 ERR" Stack overflow"                 -4 ERR" Stack underflow"
 -5 ERR" Return stack overflow"          -6 ERR" Return stack undeflow"  -5 ERR" Return stack overflow"          -6 ERR" Return stack undeflow"
 -7 ERR" Do-loops nested too deeply"     -8 ERR" Dictionary overflow"  -7 ERR" Do-loops nested too deeply"     -8 ERR" Dictionary overflow"
Line 47  ErrLink @ unlock reloff lock \ make sure Line 65  ErrLink @ unlock reloff lock \ make sure
 -55 ERR" Floating-point unidentified fault"  -55 ERR" Floating-point unidentified fault"
 -56 ERR" QUIT"                          -57 ERR" Error in sending or receiving a character"  -56 ERR" QUIT"                          -57 ERR" Error in sending or receiving a character"
 -58 ERR" [IF], [ELSE], [THEN] error"  -58 ERR" [IF], [ELSE], [THEN] error"
 \ signals: ( We list them all, execpt those already present, just in case )  
 -256 ERR" Hangup signal"  \ signals are handled with strsignal
 -257 ERR" Quit signal"  \ but some signals produce throw-codes > -256, e.g., -28
 -258 ERR" Illegal Instruction"  \ signals: ( We list them all, except those already present, just in case )
 -259 ERR" Trace Trap"  \ -256 ERR" Hangup signal"
 -260 ERR" IOT instruction"  \ -257 ERR" Quit signal"
 -261 ERR" EMT instruction" \ abort() call?  \ -258 ERR" Illegal Instruction"
 -262 ERR" Kill signal" \ cannot be caught but so what  \ -259 ERR" Trace Trap"
 -263 ERR" Bad arg to system call"  \ -260 ERR" IOT instruction"
 -264 ERR" Broken pipe"  \ -261 ERR" EMT instruction" \ abort() call?
 -265 ERR" Alarm signal"  \ -262 ERR" Kill signal" \ cannot be caught but so what
 -266 ERR" Terminate signal"  \ -263 ERR" Bad arg to system call"
 -267 ERR" User signal 1"  \ -264 ERR" Broken pipe"
 -268 ERR" User signal 2"  \ -265 ERR" Alarm signal"
   \ -266 ERR" Terminate signal"
   \ -267 ERR" User signal 1"
   \ -268 ERR" User signal 2"
 \ error numbers between -512 and -2047 are for OS errors and are  \ error numbers between -512 and -2047 are for OS errors and are
 \ handled with strerror  \ handled with strerror
   
   
 : .error ( n -- )  : .error ( n -- )
     cr ." Error: "      cr ." Error: "
     ErrLink      ErrLink
Line 74  ErrLink @ unlock reloff lock \ make sure Line 94  ErrLink @ unlock reloff lock \ make sure
         IF 2 cells + count type drop exit THEN          IF 2 cells + count type drop exit THEN
     REPEAT      REPEAT
     drop      drop
       dup -511 -255 within
       IF
           256 + negate strsignal type exit
       THEN
     dup -2047 -511 within      dup -2047 -511 within
     IF      IF
         512 + negate strerror type exit          512 + negate strerror type exit

Removed from v.1.5  
changed lines
  Added in v.1.8


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