Hi,
I recently ran into a few minor glitches getting Hunchentoot to run under Allegro's Modern Common Lisp. Here are some patches (based on the darcs repos). The flexistream patch is the "important" one. The hunchentoot changes are just adding a declare ignore, fixing a typo in a docstring and rewiting some #+ #+ a b as #+ a #+ b (the former has a claim to elegance but the later is unambiguous and works regardless of the default settings in allegro).
HTH,
# Flexistreams
diff -rN -u old-flexi-streams/packages.lisp new-flexi-streams/ packages.lisp --- old-flexi-streams/packages.lisp 2007-06-02 08:32:41.000000000 -0400 +++ new-flexi-streams/packages.lisp 2007-06-02 08:32:41.000000000 -0400 @@ -29,7 +29,7 @@ (in-package :cl-user) -(unless (find-symbol "STREAM-FILE-POSITION" :trivial-gray-streams) +(unless (find-symbol (symbol-name 'stream-file-position) :trivial- gray-streams) (error "You need a newer version of TRIVIAL-GRAY-STREAMS.")) (defpackage :flexi-streams
# Hunchentoot
diff -rN -u old-hunchentoot/server.lisp new-hunchentoot/server.lisp --- old-hunchentoot/server.lisp 2007-06-02 08:35:13.000000000 -0400 +++ new-hunchentoot/server.lisp 2007-06-02 08:35:13.000000000 -0400 @@ -159,6 +159,7 @@ but this works only on LispWorks - for other Lisps the key must not be associated with a password." ;; initialize the session secret if needed + (declare (ignorable port-provided-p)) (unless (boundp '*session-secret*) (reset-session-secret)) (let ((output-chunking-p t)) @@ -180,14 +181,20 @@ :dispatch-table dispatch-table :output-chunking-p (and output- chunking-p (not mod-lisp-p)) :input-chunking-p input-chunking-p - #-:hunchentoot-no-ssl #-:hunchentoot-no-ssl - :ssl-certificate-file (and ssl- certificate-file - (namestring ssl-certificate-file)) - #-:hunchentoot-no-ssl #-:hunchentoot-no-ssl - :ssl-privatekey-file (and ssl- privatekey-file - (namestring ssl-privatekey-file)) - #-:hunchentoot-no-ssl #-:hunchentoot-no-ssl - :ssl-privatekey-password ssl- privatekey-password + #-:hunchentoot-no-ssl + :ssl-certificate-file + #-:hunchentoot-no-ssl + (and ssl-certificate-file + (namestring ssl-certificate-file)) + #-:hunchentoot-no-ssl + :ssl-privatekey-file + #-:hunchentoot-no-ssl + (and ssl-privatekey-file + (namestring ssl-privatekey-file)) + #-:hunchentoot-no-ssl + :ssl-privatekey-password + #-:hunchentoot-no-ssl + ssl-privatekey-password :mod-lisp-p mod-lisp-p :use-apache-log-p (and mod-lisp-p use-apache-log-p) :read-timeout read-timeout diff -rN -u old-hunchentoot/test/test.lisp new-hunchentoot/test/ test.lisp --- old-hunchentoot/test/test.lisp 2007-06-02 08:35:13.000000000 -0400 +++ new-hunchentoot/test/test.lisp 2007-06-02 08:35:13.000000000 -0400 @@ -150,7 +150,7 @@ (log-message :info "Oops info") (log-message :debug "Oops debug") (error "An error was triggered on purpose. Check your ~ -Apache error log. Up to 12 messages where logged depending on ~ +Apache error log. Up to 12 messages were logged depending on ~ the Apache log level set in httpd.conf.") (:html (:body "You'll never see this sentence...")))) @@ -580,3 +580,4 @@ ("/hunchentoot/test/files/" send-file) ("/hunchentoot/test" menu))) (list #'default-dispatcher)))
-- Gary Warren King, metabang.com Cell: (413) 885 9127 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM
Hi,
On Sat, 2 Jun 2007 08:38:29 -0400, Gary King gwking@metabang.com wrote:
I recently ran into a few minor glitches getting Hunchentoot to run under Allegro's Modern Common Lisp. Here are some patches (based on the darcs repos).
The patches are otherwise fine with me, but please send them without Tab characters and not against the (unofficial) Darcs repositories but against the latest releases. I'd also prefer separate patches for the two different projects so that I can simply apply them and don't have to sort them out manually. See also
The hunchentoot changes are just adding a declare ignore, fixing a typo in a docstring and rewiting some #+ #+ a b as #+ a #+ b (the former has a claim to elegance but the later is unambiguous and works regardless of the default settings in allegro).
If the former doesn't work, isn't that a bug in AllegroCL then?
Thanks, Edi.