aboutsummaryrefslogtreecommitdiff
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)