Subject: 1999-01-08 and Win32

From: "Mark Reichert" <[email-masked]>
Date: Wed, 23 Jun 1999 15:51:42 -0400

I'm new to the list so if this question has been handled previously (I have
read this year's archives), please forgive me.

First off, the reason I built the 1999-01-08 source for Win32 was the
problem that I can't run CLISP under Win98 (even with the -m startup
suggestion) due to the invalid memory issue at startup--it works great under
NT, though!  Since I'm having problems with the 1999-01-08 source, I'm
wondering first of all which version of the source the Win32 1998-09-09
executable was built with.  Anyway, here's my problem:

I've compiled the 1999-01-08 source for Win32 (Visual C++ 6.0 with service
packs) and run into a problem when trying to load "init.lsp".  Around the
middle of the file (defun search-file...), the lisp interpreter goes into a
loop of calling eval_subr over and over without making any forward progress
through "init.lsp."  If I carefully break it out of the loop--the easiest
spot to get it out at the right place seems to be in eval.c:

case (uintW)subr_argtype_0_0_rest:
..
while (consp(args))
{ check_STACK();
pushSTACK(Cdr(args)); /* restliche Argumente */
eval(Car(args)); /* nächstes Argument auswerten */
args = STACK_0; STACK_0 = value1; /* und in den STACK */
argcount++;
}
goto apply_subr_rest;

--the load successfully completes (well, at least it complains about FORMAT
or some other symbol not being defined, but this is the same thing that
happens in the distributed 1998-09-09 CLISP executable, so I'm not too
worried at this point)

If anyone has any suggestions as to what to look for to prevent this loop
(without me having to spend all too much time delving into the code), they'd
be greatly appreciated.  Thanks a lot and keep up the good work.

---

From: Bruno Haible <[email-masked]>
Date: Thu, 24 Jun 1999 01:46:38 +0200 (MET DST)

Mark Reichert <[email-masked]> writes:
> executable was built with.

The source is available from the clisp home page, in this case more precisely
from http://clisp.cons.org/~haible/clisp-archive/source/1998-09-09/

> Anyway, here's my problem:
> 
> through "init.lsp."

I don't know what problem you are hitting there; the first thing I would
try is to reduce the optimization options. MSVC++ 5.0 and 6.0 are known
to have bugs in some of the optimization options which are on by default.

You might also try the most recent sources at
ftp://clisp.cons.org/pub/lisp/clisp/snapshots/
I have recently built NT binaries from that, with MSVC 4.0. You mileage
with MSVC6 might vary.

I've also uploaded binaries on the same location, and would be interested
to hear how they work out on various versions of Windows (NT/95/98/00beta).

Bruno

---

From: "Mark Reichert" <[email-masked]>
Date: Thu, 24 Jun 1999 08:07:14 -0400

Thanks a lot for your response.  I'll try out your binaries on NT and 98
(and maybe 2000 beta 3 when we have it up) and let you know how it goes.