diff --git a/exscribe.asd b/exscribe.asd index 00abd73b5f712fa6858010088eba99d8ac63fdda..a581f895b5957bd089cbb8f3538c4d075194c7d7 100644 --- a/exscribe.asd +++ b/exscribe.asd @@ -10,9 +10,7 @@ :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 :xcvb-driver - :scribble :xcvb-utils :fare-quasiquote-optima :fare-memoization - :alexandria + :depends-on (:cl-launch :scribble :fare-utils :alexandria :fare-quasiquote-optima :fare-memoization #+exscribe-typeset :cl-typesetting) :components ((:file "packages") (:file "macros" :depends-on ("packages")) diff --git a/exscribe.lisp b/exscribe.lisp index 975e9dec58e51ebb89b88b522aa6b8bcbcc58fda..d687cab5134ef1ba690c82cf0fd37775ffc105e6 100644 --- a/exscribe.lisp +++ b/exscribe.lisp @@ -49,11 +49,6 @@ ((or string pathname) (find-file-in-path f *exscribe-path* "scr" if-error)))) -(defun do-load (s &key &allow-other-keys) - (typecase s - (stream (cl-launch::load-stream s)) - ((or string pathname) (load s)))) - (defun file-optimization () (proclaim `(optimize (speed 1) (space 2) #-sbcl (debug 2) @@ -71,11 +66,7 @@ (defun exscribe-load-file (file) (file-optimization) - ;;(cl-launch:compile-and-load-file - (load - (find-exscribe-file file) - :print *exscribe-verbose* - :verbose *exscribe-verbose*)) + (load* file :verbose *exscribe-verbose* :print *exscribe-verbose*)) (defun exscribe-load-style (style) (unless (member style *loaded-styles*) @@ -285,7 +276,6 @@ Options: (error "No output specified")) (process-file (car inputs) :into output)))) -#+cl-launch (defun main () (add-exscribe-path *default-pathname-defaults*) - (process-command-line cl-launch:*arguments*)) + (process-command-line *command-line-arguments*)) diff --git a/packages.lisp b/packages.lisp index efcbc848816d3d3227eb1ca0eeea94f938145ab1..dce00d0d92aba35064aeea9d646bb458dd8d3960 100644 --- a/packages.lisp +++ b/packages.lisp @@ -2,9 +2,9 @@ (module (:depends-on ("scribble/package"))) -(in-package :cl) +(in-package :asdf/driver) -(defpackage :scheme-makeup +(define-package :scheme-makeup (:documentation "a poor emulation of Scheme in CL. Meant to leverage simple code with Scheme syntax, not to actually implement deep Scheme semantics.") @@ -29,18 +29,19 @@ not to actually implement deep Scheme semantics.") #:*scribe-background* #:*scribe-foreground* #:*scribe-tbackground* #:*scribe-format* #:*scribe-header* #:*scribe-footer*)) -(defpackage :scheme-compat +(define-package :scheme-compat (:documentation "innards of the Scheme in CL emulation") - (:use :scheme-makeup - :xcvb-utils :fare-quasiquote :optima :common-lisp) + (:mix :asdf/driver :fare-utils :alexandria) + (:use :scheme-makeup :fare-quasiquote :optima :common-lisp) ;;(:shadowing-import-from :scheme-makeup :map) (:export #:set-scheme-macro-characters)) -(defpackage :exscribe +(define-package :exscribe (:documentation "core infrastructure for exscribe") - (:use :scribble - :xcvb-utils :fare-quasiquote :optima :common-lisp) + (:mix :asdf/driver :fare-utils :alexandria) + (:reexport :asdf/driver :fare-utils :alexandria) + (:use :scribble :fare-quasiquote :optima :common-lisp :cl-launch) #+exscribe-typeset (:import-from :typeset #:*paper-size* #:*page-margins* #:*twosided* #:*toc-depth* @@ -83,10 +84,9 @@ not to actually implement deep Scheme semantics.") #:html #:pdf #:txt #:info #:document #:style)) -(defpackage :exscribe-data +(define-package :exscribe-data (:documentation "internal data representation for exscribe") - (:use :exscribe - :xcvb-utils :fare-quasiquote :optima :common-lisp) + (:use :exscribe :fare-quasiquote :optima :common-lisp) (:export #:tag-attr #:tag #:xtag #:otag #:ctag #:make-xml-tag #:make-open-tag #:make-close-tag @@ -109,7 +109,7 @@ not to actually implement deep Scheme semantics.") #:brlist #:br* #:spacedlist #:spaced* #:walking-document #:walk #:recurse)) -(defpackage :html-dumper +(define-package :html-dumper (:documentation "HTML dumping functions") (:use :common-lisp) (:export @@ -117,28 +117,26 @@ not to actually implement deep Scheme semantics.") #:html-string #:html-escape-stream #:html-tag-attr #:html-close-tag)) -(defpackage :exscribe-html +(define-package :exscribe-html (:documentation "HTML backend for exscribe") (:shadowing-import-from :exscribe-data #:html) (:use :exscribe-data :exscribe :html-dumper - :xcvb-utils :fare-quasiquote :optima :common-lisp)) + :fare-quasiquote :optima :common-lisp)) -(defpackage :exscribe-txt +(define-package :exscribe-txt (:documentation "Text backend for exscribe") - (:use :exscribe-data :exscribe - :xcvb-utils :fare-quasiquote :optima :common-lisp) + (:use :exscribe-data :exscribe :fare-quasiquote :optima :common-lisp) (:export #:extract-text #:normalize-text)) #+exscribe-typeset -(defpackage :exscribe-typeset +(define-package :exscribe-typeset (:documentation "CL-Typesetting backend for exscribe") (:shadowing-import-from :exscribe-data #:image #:hrule #:table) - (:use :exscribe-data :exscribe :typeset - :xcvb-utils :fare-quasiquote :optima :common-lisp) + (:use :exscribe-data :exscribe :typeset :fare-quasiquote :optima :common-lisp) (:export)) -(defpackage :exscribe-user +(define-package :exscribe-user ;(:shadowing-import-from :scheme-makeup :map) (:use :exscribe-html :exscribe-data :exscribe :scheme-makeup - :xcvb-utils :fare-quasiquote :optima :common-lisp) + :fare-quasiquote :optima :common-lisp) (:export))