Diff for /gforth/savesys.fs between versions 1.4 and 1.13

version 1.4, 2002/09/14 08:20:20 version 1.13, 2010/12/30 21:46:14
Line 1 Line 1
 \ image dump                                           15nov94py  \ image dump                                           15nov94py
   
 \ Copyright (C) 1995,1997 Free Software Foundation, Inc.  \ Copyright (C) 1995,1997,2003,2006,2007 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., 59 Temple Place, Suite 330, Boston, MA 02111, USA.  
   
 : save-string-dict { addr1 u -- addr2 u }  : save-mem-dict { addr1 u -- addr2 u }
     here { addr2 }      here { addr2 }
     u allot      u allot
     addr1 addr2 u move      addr1 addr2 u move
     addr2 u ;      addr2 u ;
   
   : delete-prefix ( c-addr1 u1 c-addr2 u2 -- c-addr3 u3 )
       \ if c-addr2 u2 is a prefix of c-addr1 u1, delete it
       2over 2over string-prefix? if
           nip /string
       else
           2drop
       endif ;
   
 : update-image-included-files ( -- )  : update-image-included-files ( -- )
     included-files 2@ { addr cnt }      included-files 2@ { addr cnt }
     image-included-files 2@ { old-addr old-cnt }      image-included-files 2@ { old-addr old-cnt }
Line 33 Line 40
     old-addr new-addr old-cnt 2* cells move      old-addr new-addr old-cnt 2* cells move
     cnt old-cnt      cnt old-cnt
     U+DO      U+DO
         addr i 2* cells + 2@ save-string-dict          addr i 2* cells + 2@
           s" GFORTHDESTDIR" getenv delete-prefix save-mem-dict
         new-addr i 2* cells + 2!          new-addr i 2* cells + 2!
     LOOP      LOOP
     maxalign ;      maxalign ;
Line 41 Line 49
 : dump-fi ( addr u -- )  : dump-fi ( addr u -- )
     w/o bin create-file throw >r      w/o bin create-file throw >r
     update-image-included-files      update-image-included-files
       update-image-order
     here forthstart - forthstart 2 cells + !      here forthstart - forthstart 2 cells + !
     forthstart      forthstart
     begin \ search for start of file ("#! " at a multiple of 8)      begin \ search for start of file ("#! " at a multiple of 8)

Removed from v.1.4  
changed lines
  Added in v.1.13


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