Skip to content

Lispworks feature fix#128

Open
rwiker wants to merge 3 commits intoedicl:masterfrom
rwiker:lispworks-feature-fix
Open

Lispworks feature fix#128
rwiker wants to merge 3 commits intoedicl:masterfrom
rwiker:lispworks-feature-fix

Conversation

@rwiker
Copy link
Contributor

@rwiker rwiker commented Nov 8, 2022

Simplified Lispworks-specific code:

  • Introduced two new features, :lw-simple-char and :lw-use-comm. These indicate whether to use lw:simple-char instead of cl:character, and whether to use the comm package instead of cl+ssl.
  • These features (and the pre-existing :lw-does-not-have-write-timeout) are only present during a quicklisp compile, but can be added statically for the current session when working on the code.
  • Added ssl verification for Lispworks, when using the comm package.

Tested on macos Ventura on Intel Macbook, with Lispworks 7.1.3 and 8.0.1. Also tested using SBCL 2.2.9.

@phoe
Copy link

phoe commented Nov 8, 2022 via email

@rwiker
Copy link
Contributor Author

rwiker commented Nov 8, 2022 via email

@rwiker
Copy link
Contributor Author

rwiker commented Nov 11, 2022 via email

@rwiker
Copy link
Contributor Author

rwiker commented Nov 11, 2022 via email

@svenemtell
Copy link

svenemtell commented Nov 15, 2022

I think the changes look good and I tested the rwiker:lispworks-feature-fix branch together with the latest chunga quicklisp version (chunga-20221106-git) on my Apple M1 Max with macOS 12.6.1 and LWM 8.0.1. It worked fine!

It would be great to have this in a new Drakma release in Quicklisp!

@svenemtell
Copy link

Wait a second!
I just noticed that there is a problem in drakma.asd.
The :around-compile function is run when each of the :components is compiled, but not when the dependencies in :depends-on are resolved. Therefore :lw-use-comm is not set in the following code and cl+ssl will always be compiled for LispWorks even though it will not be used.

My suggested solution is that:

#-(or :lw-use-comm (and :allegro (not :allegro-cl-express)) :mocl-ssl :drakma-no-ssl)
:cl+ssl)

is changed to:

#-(or (and lispworks (not (or lispworks4 lispworks5 lispworks6))) (and :allegro (not :allegro-cl-express)) :mocl-ssl :drakma-no-ssl)
:cl+ssl)

Another solution could have been to run the setup-lw-features function before the defsystem and keep :lw-use-comm in :depends-on but that would put the unnecessary litter :lw-use-comm in *features*.

@rwiker
Copy link
Contributor Author

rwiker commented Nov 16, 2022 via email

@svenemtell
Copy link

svenemtell commented Nov 22, 2023

Is there anything missing for this PR to make it into a QuickLisp release?
I saw that 2.0.10 was released and it would have been great to have this PR in there so that we LispWorks users don't need to make local changes...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants