Hello all,
jamesjb and I have been looking at the problems with backtrace on Win32. He
figured out what was going on, and I started figuring out how to fix it.
Anyway, the attached patch fixes the lisp-side notion of where the control
stack is, which makes backtraces work properly (the case which was breaking
earlier was trying to backtrace through an internal-error).
Unfortunately, this patch has a side effect. There are now constant
notifications from VirtualProtect that it has failed with code 0x1e7. This
turns out to be ERROR_INVALID_ADDRESS, and is because SBCL is attempting to
install a stack guard page on uncommitted memory. The stack guard page stuff
doesn't work on win32 -anyway-, so the easiest thing would be to disable it.
--Alastair Bridgewater

Hello all,
The attached patch cleans up two KLUDGEs in the compiler to do with macros
that use get-setf-expander, specifically DELETEF-IN and PUSH-IN. SBCL still
manages to build with this change, and it doesn't if you just apply the
late-macros.lisp part, so it should be correct. The only reason I can think
of for how DELETEF-IN and PUSH-IN were originally implemented is some sort
of performance hack. I didn't compare build times for with and without this
patch, so I don't know if there are any performance implications.
--Alastair Bridgewater

Hi,
For folks wanting to compile SBCL/Win32 on Windows, I've put up some
recent binaries from CVS head plus the latest patches for stdcall
aliens and I/O:
http://slacknet.com/~jamesjb/sbcl-win32
There are a few gotchas still with the build process:
- If you are checking out the SBCL source using a Windows CVS that
does CRLF translation (anything except Cygwin CVS IIRC), you need to
do a checkout with -kb to preserve the UNIX endings. If you get
errors about non-STANDARD-CHARs in string literals, this is why.
- If you are going to be hacking on the source, you will probably want
to comment out the part of canonicalize-whitespace-1 that calls
'expand', because this utility is something different on Windows,
and will overwrite your freshly modified files if they contain tabs!
- The contribs don't all build yet.
James