Diff for /gforth/doc/gforth.ds between versions 1.24 and 1.25

version 1.24, 1999/03/10 22:50:18 version 1.25, 1999/03/11 22:52:11
Line 7153  in file included from ./yyy.fs:1 Line 7153  in file included from ./yyy.fs:1
 ./xxx.fs:4: Invalid memory address  ./xxx.fs:4: Invalid memory address
 bar  bar
 ^^^  ^^^
 $400E664C @   $400E664C @@
 $400E6664 foo   $400E6664 foo
 @end example  @end example
   
 The message identifying the error is @code{Invalid memory address}.  The  The message identifying the error is @code{Invalid memory address}.  The
Line 7185  some cases (e.g., for @code{abort"}) we Line 7185  some cases (e.g., for @code{abort"}) we
 address the word that pushed the return address, so for some return  address the word that pushed the return address, so for some return
 addresses you see no names in the return stack dump.  addresses you see no names in the return stack dump.
   
   @cindex @code{catch} and backtraces
   The return stack dump represents the return stack at the time when a
   specific @code{throw} was executed.  In programs that make use of
   @code{catch}, it is not necessarily clear which @code{throw} should be
   used for the return stack dump (e.g., consider one @code{throw} that
   indicates an error, which is caught, and during recovery another error
   happens; which @code{throw} should be used for the stack dump).  Gforth
   presents the return stack dump for the first @code{throw} after the last
   executed (not returned-to) @code{catch}; this works well in the usual
   case.
   
   @cindex @code{gforth-fast} and backtraces
   @cindex @code{gforth-fast}, difference from @code{gforth}
   @cindex backtraces with @code{gforth-fast}
   @cindex return stack dump with @code{gforth-fast}
   @code{gforth} is able to do a return stack dump for throws generated
   from primitives (e.g., invalid memory address, stack empty etc.);
   @code{gforth-fast} is only able to do a return stack dump from a
   directly called @code{throw} (including @code{abort} etc.).  This is the
   only difference (apart from a speed difference of about 30%) between
   @code{gforth} and @code{gforth-fast}.  Given an exception caused by a
   primitive in @code{gforth-fast}, you will typically see no return stack
   dump at all; however, if the exception is caught by @code{catch} (e.g.,
   for restoring some state), and then @code{throw}n again, the return
   stack dump will be for the first such @code{throw}.
   
 @c ******************************************************************  @c ******************************************************************
 @node Tools, ANS conformance, Error messages, Top  @node Tools, ANS conformance, Error messages, Top
 @chapter Tools  @chapter Tools

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


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