I wrote software which I've used for at least a decade that has
accumulated into a rather convoluted set of definitions. For the last
year or so, I was always running Debian lenny, so I was using SBCL
1.0.15.debian. Recently, I got a new computer and I set it up with
clbuild and so was using the latest version of SBCL. My software will
not compile under 22.214.171.124. The error occurs in a macroexpansion; in
this particular part of the code I make a lot of use of bindings added
to the environment to make the right thing happen. I was probably
unwise to do so, because it resulted in quite a bit of complexity that
was also hard to debug, but it has worked for me for all these years.
This complexity and the passage of time and consequent fading of my
knowledge of the code makes it very difficult for me to extract a
simple, self-contained example that exhibits the problem. However, I
have run git bisect successfully, searching through the SBCL history
to see where the problem started. My conclusion is that the problem
was introduced with version 126.96.36.199.
It is quite possible that my software does something not officially
permitted but tolerated by SBCL through 188.8.131.52, and that the change
made by SBCL in 184.108.40.206 is legitimate and therefore I should fix my
code. If that is the case, I will push back my working SBCL version
to .1 for the time being, because I am planning a wholesale
replacement of my software for independent reasons anyway, and it
probably won't be worth my time to debug it. However, I am hoping
that someone can re-examine what changed in .2 and perhaps find/fix
the problem in the SBCL code. If necessary, I can try to bundle up in
a single standalone file with the problem case, but it won't be simple
or very understandable. It is no problem for me to test patches (it's
easiest for me to do this on weekdays however).
Get latest updates about Open Source Projects, Conferences and News.