about summary refs log tree commit diff
path: root/src/guile/skribilo/engine
diff options
context:
space:
mode:
authorLudovic Court`es2007-03-07 13:56:46 +0000
committerLudovic Court`es2007-03-07 13:56:46 +0000
commitf9720fc22f252b44e21734deae5c45dfb75cf876 (patch)
tree1221ae703e1419841e2d67de30c314cd0d8fbbca /src/guile/skribilo/engine
parentee24ea684adfaa702122c64b99151f3a7258ff34 (diff)
parent66b863c26c55eb460dcc7da2d674bf00ec9e69cb (diff)
downloadskribilo-f9720fc22f252b44e21734deae5c45dfb75cf876.tar.gz
skribilo-f9720fc22f252b44e21734deae5c45dfb75cf876.tar.lz
skribilo-f9720fc22f252b44e21734deae5c45dfb75cf876.zip
Merge from skribilo@sv.gnu.org--2006
Patches applied:

 * lcourtes@laas.fr--2005-libre/skribilo--engine-classes--1.2  (patch 5, 11)

   - `slide' package: use the native APIs.
   - evaluator: Made safer with respect to module excursions.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2  (patch 92-99)

   - Merge from skribilo@sv.gnu.org--2006/skribilo--devo--1.2
   - evaluator: Made safer with respect to module excursions.
   - `slide' package: use the native APIs.
   - evaluator: Slight module-related cleanups.
   - skribe-load: Better modulogy.
   - `base' engine: Use the native Skribilo APIs.

 * lcourtes@laas.fr--2005-mobile/skribilo--engine-classes--1.2  (patch 7)

   - evaluator: Made safer with respect to module excursions.

 * skribilo@sv.gnu.org--2006/skribilo--devo--1.2  (patch 34-59)

   - lout & latex engines: Fixed the output of `&prog-line'.
   - eq/lout: Properly handle `div-style' and `mul-style'.
   - Fixed `publisher' in default biblio entry style.
   - lout engine: Fixed automatic `url-ref' breaking wrt. spacing.
   - LaTeX engine: Added support for classes without `chapter'.
   - Updated the LaTeX engine doc, mention `class-has-chapters?'.
   - `lncs' package: Use the native APIs.
   - `lncs' package: Fixed `abstract' for LaTeX.
   - `lncs' package: Use a native LaTeX/BibTeX bibliography.
   - `latex' engine: Removed stupid uses of `bold'.
   - `lncs' package: Changed the default bibliography sort, udpated the doc.
   - `latex' engine: Support `a' with grave accent.
   - `lncs' package: Tiny fix.
   - `latex' engine: Fixed `ref' with both `:handle' and `:text'.
   - Added basic GNU Gettext support.
   - Fixed biblio template output.
   - Rewrote the bib entry template evaluator, added support for `if'.
   - Cleaned up the default bibliography template.
   - biblio: Use SRFI-3[45] conditions instead of `skribe-error'.
   - Internationalized `(skribilo condition)'.
   - Updated (French) translation.
   - evaluator: Made safer with respect to module excursions.
   - `slide' package: use the native APIs.
   - evaluator: Slight module-related cleanups.
   - skribe-load: Better modulogy.
   - `base' engine: Use the native Skribilo APIs.

git-archimport-id: lcourtes@laas.fr--2006-libre/skribilo--devo--1.2--patch-18
Diffstat (limited to 'src/guile/skribilo/engine')
-rw-r--r--src/guile/skribilo/engine/base.scm44
1 files changed, 25 insertions, 19 deletions
diff --git a/src/guile/skribilo/engine/base.scm b/src/guile/skribilo/engine/base.scm
index 711c179..f339a40 100644
--- a/src/guile/skribilo/engine/base.scm
+++ b/src/guile/skribilo/engine/base.scm
@@ -19,11 +19,23 @@
 ;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 ;;; USA.
 
-(define-skribe-module (skribilo engine base)
-  :autoload (skribilo biblio template) (make-bib-entry-template/default
-                                        output-bib-entry-template)
-  :use-module (srfi srfi-13))
+(define-module (skribilo engine base)
+  :use-module (skribilo ast)
+  :use-module (skribilo engine)
+  :use-module (skribilo writer)
+  :autoload   (skribilo output) (output)
+  :use-module (skribilo evaluator)
+  :autoload   (skribilo package base) (color)
+  :autoload   (skribilo utils keywords) (list-split)
+  :autoload   (skribilo biblio template) (make-bib-entry-template/default
+                                          output-bib-entry-template)
+  ;; syntactic sugar
+  :use-module (skribilo reader)
+  :use-module (skribilo utils syntax))
 
+(fluid-set! current-reader (make-reader 'skribe))
+
+
 ;*---------------------------------------------------------------------*/
 ;*    base-engine ...                                                  */
 ;*---------------------------------------------------------------------*/
@@ -170,7 +182,7 @@
 			    (format #f "?~a " k))))
 		     (msg (list f (markup-body n)))
 		     (n (list "[" (color :fg "red" (bold msg)) "]")))
-		 (skribe-eval n e))))
+		 (evaluate-document n e))))
 
 ;*---------------------------------------------------------------------*/
 ;*    &the-bibliography ...                                            */
@@ -234,7 +246,7 @@
 (markup-writer '&bib-entry-url
                :action (lambda (n e)
                          (let ((url (markup-body n)))
-                           (skribe-eval
+                           (evaluate-document
                             (ref :text (it url) :url url) e))))
 
 ;*---------------------------------------------------------------------*/
@@ -258,7 +270,7 @@
 ;*---------------------------------------------------------------------*/
 (markup-writer '&bib-entry-title
    :action (lambda (n e)
-	      (skribe-eval (markup-body n)) e))
+	      (evaluate-document (markup-body n) e)))
 
 ;*---------------------------------------------------------------------*/
 ;*    &bib-entry-booktitle ...                                         */
@@ -266,21 +278,21 @@
 (markup-writer '&bib-entry-booktitle
                :action (lambda (n e)
                          (let ((title (markup-body n)))
-                           (skribe-eval (it title) e))))
+                           (evaluate-document (it title) e))))
 
 ;*---------------------------------------------------------------------*/
 ;*    &bib-entry-journal ...                                           */
 ;*---------------------------------------------------------------------*/
 (markup-writer '&bib-entry-journal
                :action (lambda (n e)
-                         (skribe-eval (it (markup-body n)) e)))
+                         (evaluate-document (it (markup-body n)) e)))
 
 ;*---------------------------------------------------------------------*/
 ;*    &bib-entry-publisher ...                                         */
 ;*---------------------------------------------------------------------*/
 (markup-writer '&bib-entry-publisher
    :action (lambda (n e)
-	      (skribe-eval (markup-body n) e)))
+	      (evaluate-document (markup-body n) e)))
 
 ;*---------------------------------------------------------------------*/
 ;*    &the-index ...  @label the-index@                                */
@@ -400,7 +412,7 @@
 			       ;;:&skribe-eval-location loc
 			       :class "index-table"
 			       (make-sub-tables ie nc pref))))))
-		 (output (skribe-eval t e) e))))
+		 (output (evaluate-document t e) e))))
 
 ;*---------------------------------------------------------------------*/
 ;*    &the-index-header ...                                            */
@@ -418,7 +430,7 @@
    :before (lambda (n e)
              (let ((num (markup-option n :number)))
                (if (number? num)
-                   (skribe-eval
+                   (evaluate-document
                     (it (string-append (string-pad (number->string num) 3)
                                        ": "))
                     e))))
@@ -432,11 +444,5 @@
    :action (lambda (n e)
 	      (let ((o (markup-option n :offset))
 		    (n (markup-ident (handle-body (markup-body n)))))
-		 (skribe-eval (it (if (integer? o) (+ o n) n)) e))))
-
-
+		 (evaluate-document (it (if (integer? o) (+ o n) n)) e))))
 
-;;;; A VIRER (mais handle-body n'est pas défini)
-(markup-writer 'line-ref
-   :options '(:offset)
-   :action #f)