--- gforth/source.fs 1995/11/07 18:08:47 1.1 +++ gforth/source.fs 1998/12/08 22:02:51 1.7 @@ -1,6 +1,6 @@ \ source location handling -\ Copyright (C) 1995 Free Software Foundation, Inc. +\ Copyright (C) 1995,1997 Free Software Foundation, Inc. \ This file is part of Gforth. @@ -19,26 +19,27 @@ \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -\ related stuff can be found in kernal.fs +\ related stuff can be found in kernel.fs \ this stuff is used by (at least) assert.fs and debugging.fs require struct.fs struct - 1 cells: field sourcepos-name# - 1 cells: field sourcepos-line# + cell% field sourcepos-name# + cell% field sourcepos-line# end-struct sourcepos : sourcepos, ( -- ) \ record the current source position HERE - loadfilename# @ , loadline @ , ; + loadfilename# @ , sourceline# , ; : get-sourcepos ( a-addr -- c-addr u n ) \ c-addr u is the filename, n is the line number - included-files 2@ drop over sourcepos-name# @ 2* cells + 2@ + dup sourcepos-name# @ loadfilename#>str rot sourcepos-line# @ ; : print-sourcepos ( a-addr -- ) get-sourcepos - >r type ." :" r> 0 .r ; + >r type ." :" + base @ decimal r> 0 .r base ! ;