Use alexandria for things like with-gensyms that fare-utils no longer provides.
authorFrancois-Rene Rideau <fare@tunes.org>
Wed, 25 Jul 2012 22:44:51 +0000 (18:44 -0400)
committerFrancois-Rene Rideau <fare@tunes.org>
Wed, 25 Jul 2012 22:44:51 +0000 (18:44 -0400)
build.xcvb
exscribe-typeset.lisp
exscribe.asd
packages.lisp

index 105ee98..c7367b1 100644 (file)
@@ -6,7 +6,7 @@
   :supersedes-asdf ("exscribe")
   :build-depends-on
         ("/cl-launch" "/xcvb/driver" "/fare-utils"
-         "/fare-matcher" "/scribble"
+         "/fare-matcher" "/scribble" (:asdf "alexandria")
          (:when (:featurep :exscribe-typeset)
            (:asdf "cl-typesetting")))
   :depends-on
index 1f0cd65..a822bbb 100644 (file)
@@ -243,11 +243,7 @@ Also, some code stolen from com.gigamonkeys.markup, then mutilated.
             ((equal features '(:bold)) #b10)
             ((equal features '(:italic)) #b01)
             ((equal features '(:bold :italic)) #b11)
-            ((equal features '(:italic :bold)) #b11)))
-        (ensure-list (obj)
-          (if (consp obj)
-              obj
-              (list obj))))
+            ((equal features '(:italic :bold)) #b11))))
     (loop for f in *font-variants* do
         (let ((pos (position font f :test #'string-equal)))
           (when pos
index 3a2cc96..7cca17f 100644 (file)
@@ -10,9 +10,9 @@
   :long-description "Exscribe helps you author documents and produce HTML output,
 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
+  :depends-on (:cl-launch :xcvb-driver
                :scribble :fare-matcher :fare-utils :fare-memoization
+               :alexandria
               #+exscribe-typeset :cl-typesetting)
   :components ((:file "packages")
               (:file "macros" :depends-on ("packages"))
index a59214a..9d6ba78 100644 (file)
@@ -38,7 +38,11 @@ not to actually implement deep Scheme semantics.")
 
 (defpackage :exscribe
   (:documentation "core infrastructure for exscribe")
-  (:use :common-lisp :fare-utils :scribble :asdf)
+  (:use :common-lisp :fare-utils :scribble :asdf :alexandria)
+  (:shadowing-import-from :asdf
+   #:appendf #:ends-with #:featurep) ;; also in alexandria
+  (:shadowing-import-from :fare-matcher
+   #:of-type) ;; also in alexandria
   #+exscribe-typeset
   (:import-from :typeset
    #:*paper-size* #:*page-margins* #:*twosided* #:*toc-depth*
@@ -83,8 +87,10 @@ not to actually implement deep Scheme semantics.")
 
 (defpackage :exscribe-data
   (:documentation "internal data representation for exscribe")
-  (:use :exscribe :fare-utils :fare-matcher
+  (:use :exscribe :fare-utils :fare-matcher :alexandria
        :common-lisp)
+  (:shadowing-import-from :fare-matcher
+   #:of-type) ;; also in alexandria
   (:export
    #:tag-attr #:tag #:xtag #:otag #:ctag
    #:make-xml-tag #:make-open-tag #:make-close-tag
@@ -118,23 +124,30 @@ not to actually implement deep Scheme semantics.")
 (defpackage :exscribe-html
   (:documentation "HTML backend for exscribe")
   (:shadowing-import-from :exscribe-data #:html)
-  (:use :exscribe-data :exscribe :fare-utils :fare-matcher
-       :html-dumper :common-lisp))
+  (:use :exscribe-data :exscribe :fare-utils :fare-matcher :alexandria
+       :html-dumper :common-lisp)
+  (:shadowing-import-from :fare-matcher
+   #:of-type)) ;; also in alexandria
+
 
 (defpackage :exscribe-txt
   (:documentation "Text backend for exscribe")
-  (:use :exscribe-data :exscribe :fare-utils :fare-matcher :common-lisp)
+  (:use :exscribe-data :exscribe :fare-utils :fare-matcher :alexandria :common-lisp)
+  (:shadowing-import-from :fare-matcher
+   #:of-type) ;; also in alexandria
   (:export #:extract-text #:normalize-text))
 
 #+exscribe-typeset
 (defpackage :exscribe-typeset
   (:documentation "CL-Typesetting backend for exscribe")
   (:shadowing-import-from :exscribe-data #:image #:hrule #:table)
+  (:shadowing-import-from :fare-matcher #:of-type) ;; also in alexandria
   (:use :exscribe-data :exscribe :fare-utils :fare-matcher
-        :common-lisp :typeset)
+        :common-lisp :typeset :alexandria)
   (:export))
 
 (defpackage :exscribe-user
   ;(:shadowing-import-from :scheme-makeup :map)
-  (:use :exscribe-html :exscribe-data :exscribe
-       :fare-utils :scheme-makeup :common-lisp))
+  (:use :exscribe-html :exscribe-data :exscribe :fare-matcher
+       :fare-utils :scheme-makeup :common-lisp :alexandria)
+  (:shadowing-import-from :fare-matcher #:of-type)) ;; also in alexandria