Fix annoying marker bug.

This commit is contained in:
asau 2011-03-29 21:19:19 +00:00
parent fced493fb9
commit 551b74cd05
3 changed files with 37 additions and 3 deletions

View file

@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.27 2009/12/15 23:41:45 joerg Exp $
# $NetBSD: Makefile,v 1.28 2011/03/29 21:19:19 asau Exp $
DISTNAME= gforth-0.7.0
PKGREVISION= 1
PKGREVISION= 2
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gforth/}
MASTER_SITES+= http://www.complang.tuwien.ac.at/forth/gforth/

View file

@ -1,6 +1,7 @@
$NetBSD: distinfo,v 1.6 2009/08/14 22:52:20 asau Exp $
$NetBSD: distinfo,v 1.7 2011/03/29 21:19:19 asau Exp $
SHA1 (gforth-0.7.0.tar.gz) = 5bb357268cba683f2a8c63d2a4bcab8f41cb0086
RMD160 (gforth-0.7.0.tar.gz) = df0cef8cff25eddf670315c5497fc5634226968c
Size (gforth-0.7.0.tar.gz) = 2277918 bytes
SHA1 (patch-aa) = 88811b03619a597d202105c89b659576a9fd34b2
SHA1 (patch-ae) = 5ed4c1b54d6c2af55580183cdc9d66b70fffa955

View file

@ -0,0 +1,33 @@
$NetBSD: patch-ae,v 1.1 2011/03/29 21:19:20 asau Exp $
Due to the bug there is a finite limit on marker invocations.
Fixed upstream after 0.7.0.
--- extend.fs.orig 2007-12-31 21:19:58.000000000 +0300
+++ extend.fs 2009-08-23 04:42:10.000000000 +0400
@@ -213,15 +213,7 @@
\ defined afterwards) when executing the mark.
: included-files-mark ( -- u )
- included-files 2@ nip
- blk @ 0=
- if \ not input from blocks
- source-id 1 -1 within
- if \ input from file
- 1- \ do not include the last file (hopefully this is the
- \ currently included file)
- then
- then ;
+ included-files 2@ nip ;
\ hmm, most of the saving appears to be pretty unnecessary: we could
\ derive the wordlists and the words that have to be kept from the
@@ -247,7 +239,7 @@
: marker! ( mark -- )
\ reset included files count; resize will happen on next add-included-file
- included-files 2@ drop over @ included-files 2! cell+
+ included-files 2@ 2 pick @ min included-files 2! cell+
\ rest of marker!
dup @ swap cell+ ( here rest-of-marker )
dup @ voclink ! cell+