r3474: *** empty log message ***
authorKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 25 Nov 2002 07:45:36 +0000 (07:45 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 25 Nov 2002 07:45:36 +0000 (07:45 +0000)
debian/changelog
debian/control
equal.lisp
kmrcl.asd
package.lisp
web-utils-aserve.lisp [deleted file]
xml-utils.lisp

index d2fe268472f841a336ecdc8e9e6b2b02220745a6..d55348bddf7447b0e67d4c156aec19d7fb8ba610 100644 (file)
@@ -1,3 +1,9 @@
+cl-kmrcl (1.21-1) unstable; urgency=low
+
+  * Remore allegroserve dependant modules
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Sun, 24 Nov 2002 13:13:05 -0700
+
 cl-kmrcl (1.20.2-1) unstable; urgency=low
 
   * Remove 'load-compiled-op from .asd file
index 3a4852b573a72d6d3ca7962cca142ecd3b5beb67..9a731cb4466b5bdafa1fedb32bee971f4ef952db 100644 (file)
@@ -7,7 +7,7 @@ Standards-Version: 3.5.8.0
 
 Package: cl-kmrcl
 Architecture: all
-Depends: ${shlibs:Depends}, common-lisp-controller, cl-aserve
+Depends: ${shlibs:Depends}, common-lisp-controller
 Description: General Utilities for Common Lisp Programs
  This package includes general purpose utilities for Common Lisp
  programs. It is packages for Debian primarily to support more complex
index b773db04316c8ed770fb8dc8dc8c62d874c58932..8049ed1045f5ccd21cdc1c7aa74e2a0a5ddcaeee 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: equal.lisp,v 1.1 2002/10/12 06:10:17 kevin Exp $
+;;;; $Id: equal.lisp,v 1.2 2002/11/25 07:45:36 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
        (return-from test nil)))
     (return-from test t)))
 
-#+(or allegro lispworks)
-(defun class-slot-names (class-name)
+(defun class-slot-names (c-name)
   "Given a CLASS-NAME, returns a list of the slots in the class."
+  #+(or allegro lispworks scl)
   (mapcar #'clos:slot-definition-name
-         (clos:class-slots (find-class class-name))))
+         (clos:class-slots (find-class c-name)))
+  #+sbcl (mapcar #'sb-pcl::slot-definition-name
+                (sb-pcl:class-slots (sb-pcl:find-class c-name)))
+  #+cmu (mapcar #'pcl::slot-definition-name
+                (pcl:class-slots (pcl:find-class c-name)))
+  #+mcl
+  (let* ((class (find-class class-name nil)))
+    (when (typep class 'standard-class)
+      (map 'list #'car (ccl::%class-instance-slotds class))))
+  #-(or allegro lispworks cmu mcl sbcl scl)
+  (error "class-slot-names is not defined on this platform")
+  )
 
-#-(or allegro lispworks)
-(defun class-slot-names (class-name)
-  (warn "class-slot-names not supported on this platform"))
+(defun structure-slot-names (s-name)
+  "Given a STRUCTURE-NAME, returns a list of the slots in the structure."
+  #+allegro (class-slot-names s-name)
+  #+lispworks (structure:structure-class-slot-names
+              (find-class s-name))
+  #+sbcl (mapcar #'sb-pcl::slot-definition-name
+                (sb-pcl:class-slots (sb-pcl:find-class s-name)))
+  #+cmu (mapcar #'pcl::slot-definition-name
+                (pcl:class-slots (pcl:find-class s-name)))
+  #+scl (mapcar #'kernel:dsd-name
+               (kernel:dd-slots
+                (kernel:layout-info
+                 (kernel:class-layout (find-class s-name)))))
+  #+mcl (let* ((sd (gethash s-name ccl::%defstructs%))
+              (slots (if sd (ccl::sd-slots sd))))
+         (mapcar #'car (if (symbolp (caar slots)) slots (cdr slots))))
+  #-(or allegro lispworks cmu sbcl scl mcl)
+  (error "structure-slot-names is not defined on this platform")
+  )
 
 
 (defun function-to-string (obj)
index 5e9f1e40985cf10b87c077c7290b131a176c72a2..d3c69b5fb94ffab7f7bd5c53a7341347baaa3cfb 100644 (file)
--- a/kmrcl.asd
+++ b/kmrcl.asd
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: kmrcl.asd,v 1.21 2002/11/08 16:51:40 kevin Exp $
+;;;; $Id: kmrcl.asd,v 1.22 2002/11/25 07:45:36 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
 ;;;; *************************************************************************
 
-#+allegro (require :pxml)
-#+(and allegro common-lisp-controller) (c-l-c::clc-require :aserve)
-#+(and allegro (not common-lisp-controller)) (require :aserve)
-       
 (in-package :asdf)
 
 (defsystem :kmrcl
@@ -29,7 +25,7 @@
     ((:file "package")
      (:file "genutils" :depends-on ("package"))
      (:file "strings" :depends-on ("package"))
-     #+(or allegro lispworks) (:file "equal" :depends-on ("package"))
+     (:file "equal" :depends-on ("package"))
      (:file "buff-input" :depends-on ("genutils"))
      (:file "telnet-server" :depends-on ("genutils"))
      (:file "random" :depends-on ("package"))
      (:file "math" :depends-on ("package"))
      #+allegro (:file "attrib-class" :depends-on ("package"))
      (:file "web-utils" :depends-on ("package"))
-     (:file "xml-utils" :depends-on ("package"))
-     #+(or allegro aserve) (:file "web-utils-aserve" :depends-on ("strings" "genutils")))
-
-    #+(and common-lisp-controller (or cmu lispworks mcl)) :depends-on
-    #+(and common-lisp-controller (or cmu lispworks mcl)) (:aserve)
+     (:file "xml-utils" :depends-on ("package")))
     )
 
 
index afb5385c9543902616f5312283da2b343ecc4203..8646698a4649c699e749759726699f72a7be2e54 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: package.lisp,v 1.12 2002/11/07 22:08:41 kevin Exp $
+;;;; $Id: package.lisp,v 1.13 2002/11/25 07:45:36 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 
 (defpackage #:kmrcl
   (:nicknames :kl)
-  (:use :common-lisp
-       #+(or aserve allegro) :net.html.generator 
-       #+(or aserve allegro) :net.aserve
-       #+allegro :net.xml.parser
-       )
+  (:use :common-lisp)
   (:export #:bind-if
           #:bind-when
           #:aif
          #:start-telnet-server   
 
          ;; From web-utils
+         #:*base-url*
+         #:base-url!
+         #:make-url
          #:*standard-html-header*
          #:*standard-xhtml-header*
          #:*standard-xml-header*
          #:xml-cdata
          #:user-agent-ie-p
-         
-         ;; From web-utils-aserve
-         #:cgi-var
-         #:print-http
-         #:princ-http
-         #:base-url!
-         #:make-url
-         #:with-tag
-         #:with-tag-attribute
-         #:princ-http-with-color
-         #:princ-http-with-size
-         #:with-link
-         #:home-link
-         #:head
-         #:with-page
-         #:wrap-with-xml
-         #:parse-xml-no-ws
-         #:positions-xml-tag-contents
-         #:xml-tag-contents
-         #:encode-query
          ))
 
 
diff --git a/web-utils-aserve.lisp b/web-utils-aserve.lisp
deleted file mode 100644 (file)
index 6ace751..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
-;;;; *************************************************************************
-;;;; FILE IDENTIFICATION
-;;;;
-;;;; Name:          web-utils-aserve.lisp
-;;;; Purpose:       Web utilities based on aserve functions
-;;;; Programmer:    Kevin M. Rosenberg
-;;;; Date Started:  Apr 2000
-;;;;
-;;;; $Id: web-utils-aserve.lisp,v 1.10 2002/10/18 07:28:57 kevin Exp $
-;;;;
-;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
-;;;;
-;;;; KMRCL users are granted the rights to distribute and use this software
-;;;; as governed by the terms of the Lisp Lesser GNU Public License
-;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
-;;;; *************************************************************************
-
-
-(in-package :kmrcl)
-(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3)))
-
-
-;;; AllegroServe interaction functions
-
-(defun cgi-var (var req)
-  "Look CGI variable in AllegroServe association list"
-  (cdr (assoc var (net.aserve:request-query req) :test #'equal)))
-
-(defun princ-http (s)
-  (princ s *html-stream*))
-
-(defun print-http (s)
-  (format *html-stream* "~a~%" s))
-
-
-;;; Tag functions
-
-(defmacro with-tag (tag &rest body)
-  "Outputs to http tag and executes body"
-  `(prog1
-       (progn
-        (princ-http (format nil "<~a>" ,tag))
-        ,@body)
-     (princ-http (format nil "</~a>" ,tag))))
-  
-(defmacro with-tag-attribute (tag attribute &rest body)
-  "Outputs to http tag + attribute and executes body"
-  `(prog1
-       (progn
-        (princ-http (format nil "<~a ~a>" ,tag ,attribute))
-        ,@body)
-     (princ-http (format nil "</~a>" ,tag))))
-  
-(defun princ-http-with-color (text color)
-  (with-tag-attribute "font" (format nil "color=\"~a\"" color)
-                     (princ-http text)))
-
-(defun princ-http-with-size (text size)
-  (with-tag-attribute "font" (format nil "size=\"~a\"" size)
-                     (princ-http text)))
-
-(defmacro with-link ((href &key (format :html)) &rest body)
-;   (format *html-stream* "Return to <cui2 xml:href=\"qstr\">Home</cui2>")
-;   (format *html-stream* "Return to <go xml:link=\"simple\" show=\"replace\" href=\"qstr/\">Home</go>")
-  `(case ,format
-     (:xml
-      (princ-http "<xmllink xlink:type=\"simple\" xlink:href=\"")
-      (princ-http ,href)
-      (princ-http "\">")
-      ,@body
-      (princ-http "</xmllink>"))
-     (:ie-xml
-      (princ-http "<html:a href=\"")
-      (princ-http ,href)
-      (princ-http "\">")
-      ,@body
-      (princ-http "</html:a>"))
-     (:html
-      (princ-http "<a href=\"")
-      (princ-http ,href)
-      (princ-http "\">")
-      ,@body
-      (princ-http "</a>"))))
-
-(defun home-link (&key (format :html) (vars nil))
-  (case format
-    (:html
-     (princ-http "<div class=\"homelink\">Return to ")
-     (with-link ((make-url "index.html" :vars vars))
-               (princ-http "Home"))
-     (princ-http "</div>"))
-    ((:xml :ie-xml)
-     (princ-http "<homelink>Return to ")
-     (with-link ((make-url "index.html" :vars vars :format format) :format format)
-       (princ-http "Home"))
-     (princ-http "</homelink>"))))
-
-(defun head (title-str &key css)
-  (unless css
-    (setq css "http://b9.com/main.css"))
-  (net.html.generator:html 
-   (:head
-    (princ-http (format nil "<link rel=\"stylesheet\" href=\"~A\" type=\"text/css\"></link>" css))
-    (:title (:princ-safe title-str)))))
-
-
-
-;;; Page wrappers
-
-(defmacro with-page ((title &key css (format :xhtml)) &rest body)
-  (case format
-    (:xhtml
-     `(prog1
-         (progn
-           (net.html.generator:html
-            (print-http *standard-xhtml-header*)
-            (print-http "<html xmlns=\"http://www.w3.org/1999/xhtml\">")
-            (head ,title :css ,css)
-            (print-http "<body>")
-            (prog1 
-                ,@body
-              (print-http "</body></html>"))))))
-    (:html
-     `(prog1
-         (progn
-           (net.html.generator:html
-            (print-http *standard-html-header*)
-            (head ,title :css ,css)
-            (print-http "<body>")
-            (prog1 
-                ,@body
-              (print-http "</body></html>"))))))
-    (:xml
-     `(prog1
-         (progn
-           (net.html.generator:html
-            (princ-http *standard-xml-header*)
-            (princ-http "<pagedata xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:html=\"http://www.w3.org/TR/REC-html40\">"))
-           (with-tag "pagetitle" (princ-http ,title))
-           ,@body)
-       (princ-http "</pagedata>")))))
-
-
-;;; URL Encoding
-
-(defun encode-query (query)
-  "Escape [] from net.aserve's query-to-form-urlencoded"
-  (substitute-string-for-char
-   (substitute-string-for-char
-    (substitute-string-for-char 
-     (substitute #\+ #\space query)
-     #\[ "%5B")
-    #\] "%5D")
-   #\" "%22"))
-
-
index 2b06f9c55386918ba9dc7c497ff293ffa372cb76..756d3393021635efedb68a22d9b3af9c76143551 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: xml-utils.lisp,v 1.4 2002/10/10 16:23:48 kevin Exp $
+;;;; $Id: xml-utils.lisp,v 1.5 2002/11/25 07:45:36 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 
 ;;; XML Extraction Functions
 
+#|
+#+allegro (require :pxml)
 #+allegro
 (defun parse-xml-no-ws (str)
   "Return list structure of XML string with removing whitespace strings"
   (remove-tree-if #'string-ws? (parse-xml str)))
+|#
 
 (defun positions-xml-tag-contents (tag xmlstr &optional (start-xmlstr 0) (end-xmlstr nil))
   "Returns three values: the start and end positions of contents between