File:  [gforth] / gforth / BUGS
Revision 1.60: download - view: text, annotated - select for diffs
Mon Dec 31 19:02:24 2007 UTC (9 years, 9 months ago) by anton
Branches: MAIN
CVS tags: v0-7-0, HEAD
updated copyright year after changing license notice

You can find more recent bug reports at

gforth.el: indentation does not work right on the first line of a
buffer. anton 27jan95

Conditional compilation continues after the file ends. This is allowed
by the standard (through an ambiguous condition), but the compiler
should at least produce a warning.  anton 27jan95

QUERY and TIB may behave differently than some may expect. TIB always
points to the current SOURCE, and QUERY puts its result there.  anton

open-path-file expands "./" into the sourcefilename. It should either
not expand "./" or provide a mechanism that allows the application to
determine what "./" should expand to. anton 16jun98

gforth.el: Typing <ret> does not work when tabs separate words in a
line, and there is a \-comment at the end of the line.  anton 19feb00

SEE does not work when the control structure is too complex (e.g.,
load and then do
SEE NEXT-PIECE). anton 5mar2000

Include cannot handle lines longer than 255 characters.  anton 4sep00

Errors happening during a LOAD do not report the offending word and
its context (e.g., the 64-byte line). anton 8sep00

Our ecvt routine apparently does not work correctly for Infs and NaNs.
Try "ac_cv_func_ecvt=no ./configure; make" and then in Gforth: "1e 0e
f/ f. 0e 0e f/ f.". anton 25sep00

Our ecvt routine does not round correctly, e.g., 0.25->0.3. Marcel
Hendrix 3oct00 <8rdcmd$j96$>

Newline has only LF (instead of CRLF) in DOS.  Bruce Hoyt 25oct2000

F. does not print trailing zeroes (e.g., "10 SET-PRECISION 125e f.")
anton 31may01

Block 0 does not work as it should: "0 block drop update save-buffers"
does not write to the blocks file.  "0 block 1024 dump" seems to give
the previous contents of the buffer.  Travis Bemann 10jul2001

When accessing a block beyond the end of the block file, the result is
filled with spaces (this is also documented).  However, when accessing
a previously unwritten block before the end of the block file, we will
get a block full of zeroes on most (all?) OSs.  This inconsistency
should be eliminated and the documentation fixed.  anton 14jul2001

Path handling may have a bug:
strace $FORTH 'fpath= .|~+/gforth s" /home/anton/threading-variations/gforth/mach32b.fs" include gforth/kernel/main.fs bye'
tries to open gforth/kernel/gforth/kernel/aliases.fs, then
gforth/gforth/kernel/aliases.fs, but not gforth/kernel/aliases.fs.
anton 3 sep 2001

gforth-native does not deal correctly with inline arguments in static
superinstructions: when using lit_lit, the wrong literals are put into
the native code (probably due to wrong assumptions about argument
offsets). 6 nov 2003

finish-code changes the stack for gforth-fast with --enable-force-reg
(probably for gforth-native too).  Apparently ecx (spTOS) is neither
saved by engine, nor by finish_code().

Wrong decompilation:
create foo
5 constant bar
: xxx foo bar ;
simple-see xxx
16 nov 2005

Debian's gforth's etags.fs crashes (probably due to path problems)
on b3:
gforth etags.fs
16 nov 2005

Copyright (C) 1995,1996,1997,1998,2000,2003,2005,2007 Free Software Foundation, Inc.

This file is part of Gforth.

Gforth is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation, either version 3
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see

FreeBSD-CVSweb <>