Open tdrhq opened 2 years ago
While this patch will make it work in LispWorks 8, it won't work with future LispWorks versions (LW 9 etc)
From the LispWorks documentation (http://www.lispworks.com/documentation/lw80/lw/lw-common-lisp-18.htm):
Code using new LispWorks functionality should be conditionalized only using features representing earlier versions, so as to future-proof your code:
(defvar *feature-added-in-LispWorks-8.0* #+(or lispworks4 lispworks5 lispworks6 lispworks7) nil #-(or lispworks4 lispworks5 lispworks6 lispworks7) t)
This is because a feature added in LispWorks 8.0 will generally also be in LispWorks 8.1, LispWorks 9.0 and all later versions.
Similarly:
(defvar *feature-added-in-LispWorks-7.1* #+(or lispworks4 lispworks5 lispworks6 lispworks7.0) nil #-(or lispworks4 lispworks5 lispworks6 lispworks7.0) t)
[...]
We have seen several problematic examples like this:
(defvar *feature-added-in-LispWorks-6.0* #+lispworks6 t #-lispworks6 nil)
which breaks in LispWorks 7.0, because that release does not contain the :lispworks6 feature.
Unfortunately, it appears that LW hasn't defined a :lispworks8+ feature as of now, so we'll have to do this again when Lispworks 9 comes out.