;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: lml.cl
+;;;; Name: base.lisp
;;;; Purpose: Lisp Markup Language functions
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Aug 2002
;;;;
-;;;; $Id: base.lisp,v 1.13 2003/03/23 18:38:16 kevin Exp $
+;;;; $Id: base.lisp,v 1.14 2003/04/19 03:50:12 kevin Exp $
;;;;
;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(defun new-string ()
(make-array 1024 :fill-pointer 0 :adjustable t :element-type 'character))
-(set-macro-character #\[
- #'(lambda (stream char)
- (declare (ignore char))
- (let ((forms '())
- (curr-string (new-string))
- (paren-level 0)
- (got-comma nil))
- (declare (type fixnum paren-level))
- (do ((ch (read-char stream t nil t) (read-char stream t nil t)))
- ((eql ch #\]))
- (if got-comma
- (if (eql ch #\()
- ;; Starting top-level ,(
- (progn
- #+cmu
- (setf curr-string (coerce curr-string `(simple-array character (*))))
-
- (push `(lml-princ ,curr-string) forms)
- (setq curr-string (new-string))
- (setq got-comma nil)
- (vector-push #\( curr-string)
- (do ((ch (read-char stream t nil t) (Read-char stream t nil t)))
- ((and (eql ch #\)) (zerop paren-level)))
- (when (eql ch #\])
- (format *trace-output* "Syntax error reading #\]")
- (return nil))
- (case ch
- (#\(
- (incf paren-level))
- (#\)
- (decf paren-level)))
- (vector-push-extend ch curr-string))
- (vector-push-extend #\) curr-string)
- (let ((eval-string (read-from-string curr-string))
- (res (gensym)))
- (push
- `(let ((,res ,eval-string))
- (when ,res
- (lml-princ ,res)))
- forms))
- (setq curr-string (new-string)))
- ;; read comma, then non #\( char
- (progn
- (unless (eql ch #\,)
- (setq got-comma nil))
- (vector-push-extend #\, curr-string) ;; push previous command
- (vector-push-extend ch curr-string)))
- ;; previous character is not a comma
- (if (eql ch #\,)
- (setq got-comma t)
- (progn
- (setq got-comma nil)
- (vector-push-extend ch curr-string)))))
-
- #+cmu
- (setf curr-string (coerce curr-string `(simple-array character (*))))
-
- (push `(lml-princ ,curr-string) forms)
- `(progn ,@(nreverse forms)))))
+
configure-stamp:
dh_testdir
# Add here commands to configure the package.
-
touch configure-stamp
build-stamp: configure-stamp
dh_testdir
-
# Add here commands to compile the package.
-
touch build-stamp
clean:
dh_clean -k
# Add here commands to install the package into debian/lml.
dh_installdirs $(clc-systems) $(clc-lml) $(doc-dir)
- dh_install lml.asd $(shell echo *.lisp) $(clc-lml)
+ dh_install lml.asd lml-base.asd $(shell echo *.lisp) $(clc-lml)
dh_install $(shell echo doc/*.html) $(doc-dir)
+ dh_link $(clc-lml)/lml-base.asd $(clc-systems)/lml-base.asd
dh_link $(clc-lml)/lml.asd $(clc-systems)/lml.asd
# Build architecture-independent files here.
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Aug 2002
;;;;
-;;;; $Id: lml.asd,v 1.12 2002/12/29 09:10:41 kevin Exp $
+;;;; $Id: lml.asd,v 1.13 2003/04/19 03:50:12 kevin Exp $
;;;;
;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(defsystem :lml
:name "cl-lml"
- :author "Kevin M. Rosenberg <kmr@debian.org>"
- :version "1.0.7"
+ :author "Kevin M. Rosenberg <kevin@rosenberg.net>"
+ :version "2.4.0"
:maintainer "Kevin M. Rosenberg <kmr@debian.org>"
:licence "GNU General Public License"
:description "Lisp Markup Language"
:long-description "LML provides creation of XHTML for Lisp programs."
- :perform (load-op :after (op lml)
- (pushnew :lml cl:*features*))
+ :depends-on (:lml-base)
:components
- ((:file "package")
- (:file "utils" :depends-on ("package"))
- (:file "files" :depends-on ("utils"))
- (:file "base" :depends-on ("files"))
- (:file "stdsite" :depends-on ("base"))
- (:file "downloads" :depends-on ("base"))
- ))
+ ((:file "read-macro"))
+ )
+
+