bugGforth - Bugs: bug #42604, possible block bug - words with...

 
 

bug #42604: possible block bug - words with do/loop write garbage to block

Submitter:  None
Submitted:  Tue 24 Jun 2014 06:46:38 AM UTC
   
 
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Fixed
Privacy:  Public Assigned to:  paysan
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Sat 19 Dec 2015 10:29:21 PM UTC, comment #1: 

Before loading something from a block, make sure you aren't in the editor word list anymore.

I.e.  "forth 4 load".

I is a word in the editor (insert), which collides with I as loop index.

I'll add a LOAD into the editor vocabulary which does the switch back to Forth to avoid the confusion.

Bernd Paysan <paysan>
Group administrator
Tue 24 Jun 2014 06:46:38 AM UTC, original submission:  

1. Entering loop word into buffer
2. type "flush"
3. type "4 load"
5. Test the word.


4 list Screen 4 not modified

  1. ( testing bugs )

 1 : test   10 0 do i . loop ;
 2
 3 ÿ/ò¾+ò¿/Êð°¿ÿÂÿþÿõïõïó¿ÎÂÿð¿ÿÿÿÿÿþ/ÿÿÿÂÿÿÿïû»¿wÛûÝÿoÂïÞ/ÿ
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
 ok

The result is an error message and garbage written to the buffer. This issue does not exist if one exits Gforth and relaunches it before testing the new word.


Gforth 0.7.3 and Gforth 0.7.0
3.2.0-4-686-pae #1 SMP Debian 3.2.57-3+deb7u2 i686 GNU/Linux
( I also experience the issue on my 64 bit machine)


checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define _EXTENSIONS_... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether to use two dispatches per conditional branch... 1
checking make type... GNU Make
checking whether the linker accepts -export-dynamic... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
Check for arch/386//gforth.ld (false)
checking size of char *... 4
checking size of void *... 4
checking size of char... 1
checking size of short... 2
checking size of int... 4
checking size of long... 4
checking size of long long... 8
checking size of intptr_t... 4
checking size of int128_t... 0
checking size of uint128_t... 0
checking for a C type for cells... int
checking for a C type for wydes... short
checking for a C type for tetrabytes... int
checking for a C type for double-cells... long long
checking for a C type for unsigned double-cells... unsigned long long
checking for off_t... yes
checking size of off_t... 8
checking if gcc understands -fno-gcse... yes
checking if gcc understands -fno-strict-aliasing... yes
checking if gcc understands -fno-crossjumping... yes
checking if gcc understands -fno-reorder-blocks... yes
checking if gcc understands -falign-labels=1... yes
checking if gcc understands -falign-loops=1... yes
checking if gcc understands -falign-jumps=1... yes
checking how to suppress 'unused variable' warnings... _attribute_((unused))
checking how to invoke m4... m4 -s
checking for gforth... /usr/local/bin/gforth -i /usr/local/lib/gforth/0.7.3/gforth.fi
checking for ./arch/386/asm.fs... yes
checking for ./arch/386/disasm.fs... yes
checking for install-info... /usr/sbin/install-info
checking for chcon... chcon -t unconfined_execmem_exec_t
checking whether byte ordering is bigendian... no
checking if and how we can waste code space... .skip 16
checking if and how we can do comments in asm statements... "# "
checking whether ln -s works... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for texi2dvi4a2ps... no
checking for texi2dvi... texi2dvi
checking for glibtool... no
checking for libtool... no
checking for asin in -lm... yes
checking for lt_dlinit in -lltdl... no
checking ffi.h usability... no
checking ffi.h presence... no
checking for ffi.h... no
checking ffi/ffi.h usability... no
checking ffi/ffi.h presence... no
checking for ffi/ffi.h... no
checking for ffi_call in -lffi... no
checking for __builtin_avcall in -lavcall... no
configure: WARNING: The (old) lib.fs foreign function interface needs either libffi or the ffcall libraries
checking for working memcmp... yes
checking for memmove... yes
checking for strtoul... yes
checking for pow10... yes
checking for strerror... yes
checking for strsignal... yes
checking for atanh... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for ftello... yes
checking for dlopen... no
checking for sys_siglist... yes
checking for getrusage... yes
checking for nanosleep... yes
checking for stack_t... yes
checking whether sys_siglist is declared... yes
checking for getopt_long... yes
checking for expm1... yes
checking for log1p... yes
checking for rint... yes
checking for ecvt... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking fnmatch.h usability... yes
checking fnmatch.h presence... yes
checking for fnmatch.h... yes
checking alloca.h usability... yes
checking alloca.h presence... yes
checking for alloca.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking for working POSIX fnmatch... yes
checking for mmap... yes
checking for sysconf... yes
checking for getpagesize... yes
checking for wcwidth... yes
checking for emacs... no
checking for xemacs... no
checking where .elc files should go... ${datadir}/emacs/site-lisp
configure: creating ./config.status
config.status: creating Makefile
config.status: creating Makedist
config.status: creating gforthmi
config.status: creating vmgen
config.status: creating machpc.fs
config.status: creating envos.fs
config.status: creating preforth
config.status: creating engine/Makefile
config.status: WARNING:  'engine/Makefile.in' seems to ignore the --datarootdir
config.status: creating engine/libcc.h
config.status: creating doc/version.texi
config.status: creating build-ec
config.status: creating engine/config.h
config.status: engine/config.h is unchanged
config.status: executing stamp-h commands


No changes have been made to the Gforth sources.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by paysan (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-12-19 paysan Open/ClosedOpen Closed
    2015-12-19 paysan StatusNone Fixed
        Assigned toNone paysan

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code