edicl/drakma

http-request broken in LispWorks 8

Opened this issue · 6 comments

2.0.8 works in LispWorks 8 but 2.0.9 doesn't. The problem was introduced in commit 5f6962c

This quote from the LispWorks documentation describes the situation pretty accurately:

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.

[...]

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.

I just ran into this issue with LW8 and managed to work around it by adding (or :lispworks7.1 :lispworks8) wherever there was a lispworks7.1 reader conditional.

Changing to :lispworks (without a version) is even better. It is not going to work on earlier versions of LispWorks anyway.

Does this have impact on http over ssl?
Other than that Drakma works fine on Lispworks 8

Without SSL it changes the way it works in LispWorks, but still works ok.
With SSL it breaks because the underlying code that it uses to support SSL (CL+SSL) is no working properly on LispWorks.

Alright. Is there a PR that fixes it?

I don't actually make changes on github, but there are two PRs that fix it in the "Pull requests" tab.
The one by tfiala looks better #129.