Fix previous commit to exscribe-html.
authorFrancois-Rene Rideau <fare@tunes.org>
Tue, 12 Jun 2012 23:46:58 +0000 (19:46 -0400)
committerFrancois-Rene Rideau <fare@tunes.org>
Tue, 12 Jun 2012 23:46:58 +0000 (19:46 -0400)
Simplifiy a few things using utilities from asdf and xcvb.

build.xcvb
exscribe-data.lisp
exscribe-html.lisp
exscribe.asd
exscribe.lisp
packages.lisp
test.lisp

index 063e026..105ee98 100644 (file)
@@ -5,7 +5,7 @@
   :nicknames ("exscribe")
   :supersedes-asdf ("exscribe")
   :build-depends-on
-        ("/cl-launch" "/fare-utils"
+        ("/cl-launch" "/xcvb/driver" "/fare-utils"
          "/fare-matcher" "/scribble"
          (:when (:featurep :exscribe-typeset)
            (:asdf "cl-typesetting")))
index abf022c..4d8121f 100644 (file)
@@ -94,7 +94,7 @@
     h1 h2 h3 h4 h5 h6)
 
 (deftag body () (color bgcolor))
-(deftag p () (align))
+(deftag p () (align style))
 (deftag font () (size face color bgcolor))
 (deftag td () (align valign width height color bgcolor colspan rowspan))
 (deftag th () (align valign width height color bgcolor colspan rowspan))
index 10076a9..765d7cf 100644 (file)
 (defun make-subsection (options)
   (let ((number (getf options :number t)))
     (when (eq number t)
-      (setf number (format nil "~@{~A~}.~A"
+      (setf number (format nil "~@[~A.~]~A"
                           *section-name*
                           (incf *subsection-counter*))))
     (setf *subsection-name* number *subsubsection-counter* 0)
 (defun make-subsubsection (options)
   (let ((number (getf options :number t)))
     (when (eq number t)
-      (setf number (format nil "~@{~A.~}~A"
+      (setf number (format nil "~@[~A.~]~A"
                           *subsection-name*
                           (incf *subsubsection-counter*))))
     (setf *subsubsection-name* number)
index feb8512..387df4d 100644 (file)
@@ -11,6 +11,7 @@
 using a high-level syntax (Scribble) completely integrated with the CL syntax.
 It notably features proper support for footnotes, table-of-contents, bibliography."
   :depends-on (:cl-launch ;; Always put cl-launch first
+               :xcvb-driver
                :scribble :fare-matcher :fare-utils
               #+exscribe-typeset :cl-typesetting)
   :components ((:file "packages")
index 2e4680e..2e1badd 100644 (file)
@@ -14,7 +14,7 @@
 ;;; pathname munging
 
 (defun add-exscribe-path (d)
-  (setf *exscribe-path* (append *exscribe-path* (list (ensure-directory-pathname d)))))
+  (append1f *exscribe-path* (ensure-directory-pathname d)))
 
 (defun maybe-error (user-default if-error)
   (flet ((f (x)
                      ((or string pathname) (list types))))))
     (if (absolute-pathname-p p) p
        (or
-        (loop for d in l
-              for x = (merge-pathnames p d)
-              thereis (or (probe-file x)
-                          (loop for tx in tp
-                                thereis (probe-file (merge-pathnames x tx)))))
+        (loop :for d :in l
+           :for x = (merge-pathnames* p d)
+           :thereis (or (probe-file* x)
+                        (loop :for tx :in tp
+                          :thereis (probe-file* (merge-pathnames* x tx)))))
         (on-error if-error
                   (error "Cannot find file ~A in search path ~A" f l))))))
 
 
 (defun read-eval-stream (s &key &allow-other-keys)
   (let ((forms (xxtime ("<== reading ~A~%" s)
-               (loop with eof = '#:eof
-                     for i = (read s nil eof) until (eq i eof)
-                     collect i))))
+                 (xcvb-driver:slurp-stream-forms s))))
     (xxtime ("<== evaluating ~A~%" s)
-          (loop for i in forms do (eval i)))))
+      (map () #'eval forms))))
 
 (defun do-load (s &key &allow-other-keys)
   (typecase s
                          )
          (exscribe-load-document input))))))
 
-(defparameter *wild-path*
-   (make-pathname :directory '(:relative :wild-inferiors)
-                 :name :wild :type :wild :version :wild))
-(defun wilden (path)
-   (merge-pathnames *wild-path* path))
-
 (defun process-many (src dst &rest files)
   (add-exscribe-path src)
   (loop with source = (wilden (ensure-directory-pathname src))
index 78f022e..d968712 100644 (file)
@@ -38,7 +38,7 @@ not to actually implement deep Scheme semantics.")
 
 (defpackage :exscribe
   (:documentation "core infrastructure for exscribe")
-  (:use :common-lisp :fare-utils :scribble)
+  (:use :common-lisp :fare-utils :scribble :asdf)
   #+exscribe-typeset
   (:import-from :typeset
    #:*paper-size* #:*page-margins* #:*twosided* #:*toc-depth*
index f49f9d6..ba5979e 100644 (file)
--- a/test.lisp
+++ b/test.lisp
@@ -56,11 +56,7 @@ TODO:
 |#
 
 (defun slurp (f)
-  (let ((eof '#:eof))
-    (with-open-file (s f :direction :input :if-does-not-exist :error)
-      (loop for i = (read s nil eof nil)
-       until (eq i eof)
-       collect i))))
+  (xcvb-driver:slurp-file-lines f))
 
 (defun scrulp (f)
   (reenable-scribble-syntax)
@@ -69,7 +65,7 @@ TODO:
 (defvar *h* nil)
 
 (defun in-home (f)
-  (concatenate 'string (cl-launch:getenv "HOME") "/" f))
+  (strcat (cl-launch:getenv "HOME") "/" f))
 
 ;;(setq *h* (scrulp (in-home "fare/www/index.scr")))