Various fixes to case-dependent code, in order to allow CLASH to work
with Allegro CL in "modern" mode. Although we don't think that "modern" mode is the correct approach to case-sensitivity in CL, the changes we made should also make it easier to work in ANSI-compliant implementations/modes, with all the settings for readtable-case. Note though that this is a first best effort attempt, and so further case-ification bugs might still remain. YMMV.
This commit is contained in:
@ -21,7 +21,7 @@
|
||||
"CLASH error: ~?~& Possible HTTP status code: ~D (~A)."
|
||||
fmt args
|
||||
(clash-error-code condition)
|
||||
(HTTP-code-description (clash-error-code condition))))
|
||||
(HTTP-Code-Description (clash-error-code condition))))
|
||||
|
||||
(define-condition clash-error (error)
|
||||
((code :initarg :code :initform +HTTP-Code-Internal-Server-Error+
|
||||
|
||||
@ -575,23 +575,23 @@
|
||||
|
||||
|
||||
(defconstant +HTTP-Code-Symbols+
|
||||
'(+HTTP-CODE-NO-CONTENT+ +HTTP-CODE-GATEWAY-TIMEOUT+
|
||||
+HTTP-CODE-REQUEST-URI-TOO-LONG+ +HTTP-CODE-NON-AUTHORITATIVE-INFORMATION+
|
||||
+HTTP-CODE-USE-PROXY+ +HTTP-CODE-SERVICE-UNAVAILABLE+
|
||||
+HTTP-CODE-BAD-REQUEST+ +HTTP-CODE-MULTIPLE-CHOICES+
|
||||
+HTTP-CODE-SWITCHING-PROTOCOLS+ +HTTP-CODE-CREATED+ +HTTP-CODE-UNAUTHORIZED+
|
||||
+HTTP-CODE-BAD-GATEWAY+ +HTTP-CODE-FORBIDDEN+ +HTTP-CODE-CONFLICT+
|
||||
+HTTP-CODE-CONTINUE+ +HTTP-CODE-INTERNAL-SERVER-ERROR+
|
||||
+HTTP-CODE-RESET-CONTENT+ +HTTP-CODE-PRECONDITION-FAILED+
|
||||
+HTTP-CODE-UNSUPPORTED-MEDIA-TYPE+ +HTTP-CODE-OK+
|
||||
+HTTP-CODE-METHOD-NOT-ALLOWED+ +HTTP-CODE-LENGTH-REQUIRED+
|
||||
+HTTP-CODE-REQUEST-ENTITY-TOO-LARGE+ +HTTP-CODE-MOVED-TEMPORARILY+
|
||||
+HTTP-CODE-NOT-FOUND+ +HTTP-CODE-NOT-MODIFIED+
|
||||
+HTTP-CODE-HTTP-VERSION-NOT-SUPPORTED+ +HTTP-CODE-PARTIAL-CONTENT+
|
||||
+HTTP-CODE-PAYMENT-REQUIRED+ +HTTP-CODE-PROXY-AUTHENTICATION-REQUIRED+
|
||||
+HTTP-CODE-ACCEPTED+ +HTTP-CODE-NOT-ACCEPTABLE+
|
||||
+HTTP-CODE-MOVED-PERMANENTLY+ +HTTP-CODE-REQUEST-TIMEOUT+
|
||||
+HTTP-CODE-NOT-IMPLEMENTED+ +HTTP-CODE-SEE-OTHER+ +HTTP-CODE-GONE+)
|
||||
'(+HTTP-Code-No-Content+ +HTTP-Code-Gateway-Timeout+
|
||||
+HTTP-Code-Request-URI-Too-Long+ +HTTP-Code-Non-Authoritative-Information+
|
||||
+HTTP-Code-Use-Proxy+ +HTTP-Code-Service-Unavailable+
|
||||
+HTTP-Code-Bad-Request+ +HTTP-Code-Multiple-Choices+
|
||||
+HTTP-Code-Switching-Protocols+ +HTTP-Code-Created+ +HTTP-Code-Unauthorized+
|
||||
+HTTP-Code-Bad-Gateway+ +HTTP-Code-Forbidden+ +HTTP-Code-Conflict+
|
||||
+HTTP-Code-Continue+ +HTTP-Code-Internal-Server-Error+
|
||||
+HTTP-Code-Reset-Content+ +HTTP-Code-Precondition-Failed+
|
||||
+HTTP-Code-Unsupported-Media-Type+ +HTTP-Code-OK+
|
||||
+HTTP-Code-Method-Not-Allowed+ +HTTP-Code-Length-Required+
|
||||
+HTTP-Code-Request-Entity-Too-Large+ +HTTP-Code-Moved-Temporarily+
|
||||
+HTTP-Code-Not-Found+ +HTTP-Code-Not-Modified+
|
||||
+HTTP-Code-HTTP-Version-Not-Supported+ +HTTP-Code-Partial-Content+
|
||||
+HTTP-Code-Payment-Required+ +HTTP-Code-Proxy-Authentication-Required+
|
||||
+HTTP-Code-Accepted+ +HTTP-Code-Not-Acceptable+
|
||||
+HTTP-Code-Moved-Permanently+ +HTTP-Code-Request-Timeout+
|
||||
+HTTP-Code-Not-Implemented+ +HTTP-Code-See-Other+ +HTTP-Code-Gone+)
|
||||
"List of all HTTP-Code symbols.")
|
||||
|
||||
(defun HTTP-Code-Description (code)
|
||||
|
||||
@ -127,8 +127,8 @@ indicates the presence of authority information.")
|
||||
|
||||
(defmacro def-uri-char-p (name char &body body)
|
||||
"Declares an inlined predicate function on characters that is named
|
||||
`URI-name-CHAR-P', has a lambda list of (char) and the body body."
|
||||
(let ((realname (intern (format nil "URI-~A-CHAR-P" (symbol-name name))
|
||||
`uri-name-char-p', has a lambda list of (char) and the body body."
|
||||
(let ((realname (intern (concatenate-symbol-names '#:uri- name '#:-char-p)
|
||||
(symbol-package name))))
|
||||
`(progn
|
||||
(declaim (inline ,realname))
|
||||
|
||||
Reference in New Issue
Block a user