Diff for /gforth/backtrac.fs between versions 1.3 and 1.5

version 1.3, 2000/09/23 15:05:58 version 1.5, 2001/02/27 21:17:10
Line 16 Line 16
   
 \ 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, write to the Free Software
 \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
   
   
 \ growing buffers that need not be full  \ growing buffers that need not be full
Line 77  IS 'cold Line 77  IS 'cold
     then ;      then ;
 IS store-backtrace  IS store-backtrace
   
 : print-backtrace ( addr1 addr2 -- )  : print-bt-entry ( return-stack-item -- )
     \G print a backtrace for the return stack addr1..addr2      cell - dup in-dictionary? over dup aligned = and
     cr ." Backtrace:"      if
     swap u+do          @ dup look
         cr  
         i @ dup hex. ( return-addr? )  
         cell - dup in-dictionary? over dup aligned = and  
         if          if
             @ look              .name drop
           else
               drop body> look \ !! check for "call" in cell before?
             if              if
                 .name                  .name
             else              else
                 drop                  drop
             then              then
         else  
             drop  
         then          then
       else
           drop
       then ;
   
   : print-backtrace ( addr1 addr2 -- )
       \G print a backtrace for the return stack addr1..addr2
       cr ." Backtrace:"
       swap u+do
           cr
           i @ dup hex. ( return-addr? )
           print-bt-entry
         cell +loop ;          cell +loop ;
   
 :noname ( -- )  :noname ( -- )

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


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