summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès2008-04-15 21:47:31 +0200
committerLudovic Courtès2008-04-15 21:47:31 +0200
commit893ed2ceb4d77f4135a560ad86bf80855ee87132 (patch)
tree953c1b8fe62cb8ebefea579ff042b73446a8b432
parent2365d32facfecd2b946ff907815f2da31bc8e3bb (diff)
downloadskribilo-893ed2ceb4d77f4135a560ad86bf80855ee87132.tar.gz
skribilo-893ed2ceb4d77f4135a560ad86bf80855ee87132.tar.lz
skribilo-893ed2ceb4d77f4135a560ad86bf80855ee87132.zip
eq: Use plain procedures instead of stupid macros.
* src/guile/skribilo/package/eq.scm (simple-markup-writer,
  simple-binary-markup-writer): Turn into procedures, update callers.
-rw-r--r--src/guile/skribilo/package/eq.scm50
1 files changed, 24 insertions, 26 deletions
diff --git a/src/guile/skribilo/package/eq.scm b/src/guile/skribilo/package/eq.scm
index a9a64c1..c8c3bc3 100644
--- a/src/guile/skribilo/package/eq.scm
+++ b/src/guile/skribilo/package/eq.scm
@@ -1,6 +1,6 @@
 ;;; eq.scm  --  An equation formatting package.
 ;;;
-;;; Copyright 2005, 2006, 2007  Ludovic Courtès <ludovic.courtes@laas.fr>
+;;; Copyright 2005, 2006, 2007, 2008  Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;;
 ;;; This program is free software; you can redistribute it and/or modify
@@ -439,11 +439,11 @@ a symbol representing the mathematical operator denoted by @var{m} (e.g.,
 		      (skribe-error 'eq "`:renderer' -- wrong argument type"
 				    renderer))))))
 
-(define-macro (simple-markup-writer op . obj)
+(define (simple-markup-writer op . obj)
   ;; Note: The text-only rendering is less ambiguous if we parenthesize
   ;; without taking operator precedence into account.
   (let ((precedence (operator-precedence op)))
-    `(markup-writer ',(symbol-append 'eq: op) (find-engine 'base)
+    (markup-writer (symbol-append 'eq: op) (find-engine 'base)
        :action (lambda (node engine)
 		  (let loop ((operands (markup-body node)))
 		   (if (null? operands)
@@ -455,9 +455,7 @@ a symbol representing the mathematical operator denoted by @var{m} (e.g.,
  				    (>= (operator-precedence
                                          (equation-markup-name->operator
                                           (markup-markup o)))
-                                        ,precedence)
-				    )
-			       ))
+                                        precedence))))
 
 			 (display (if need-paren? "(" ""))
 			 (output o engine)
@@ -465,25 +463,25 @@ a symbol representing the mathematical operator denoted by @var{m} (e.g.,
 			 (if (pair? (cdr operands))
 			     (begin
 			       (display " ")
-			       (output ,(if (null? obj)
-					    (symbol->string op)
-					    (car obj))
+			       (output (if (null? obj)
+                                           (symbol->string op)
+                                           (car obj))
 				       engine)
 			       (display " ")))
 			 (loop (cdr operands)))))))))
 
-(simple-markup-writer +)
-(simple-markup-writer -)
-(simple-markup-writer /)
-(simple-markup-writer * (symbol "times"))
+(simple-markup-writer '+)
+(simple-markup-writer '-)
+(simple-markup-writer '/)
+(simple-markup-writer '* (symbol "times"))
 
-(simple-markup-writer =)
-(simple-markup-writer != (symbol "neq"))
-(simple-markup-writer ~= (symbol "approx"))
-(simple-markup-writer <)
-(simple-markup-writer >)
-(simple-markup-writer >= (symbol "ge"))
-(simple-markup-writer <= (symbol "le"))
+(simple-markup-writer '=)
+(simple-markup-writer '!= (symbol "neq"))
+(simple-markup-writer '~= (symbol "approx"))
+(simple-markup-writer '<)
+(simple-markup-writer '>)
+(simple-markup-writer '>= (symbol "ge"))
+(simple-markup-writer '<= (symbol "le"))
 
 (markup-writer 'eq:sqrt (find-engine 'base)
    :action (lambda (node engine)
@@ -491,8 +489,8 @@ a symbol representing the mathematical operator denoted by @var{m} (e.g.,
 	     (output (markup-body node) engine)
 	     (display ")")))
 
-(define-macro (simple-binary-markup-writer op obj)
-  `(markup-writer ',(symbol-append 'eq: op) (find-engine 'base)
+(define (simple-binary-markup-writer op obj)
+  (markup-writer (symbol-append 'eq: op) (find-engine 'base)
      :action (lambda (node engine)
 	       (let ((body (markup-body node)))
 		 (if (= (length body) 2)
@@ -501,11 +499,11 @@ a symbol representing the mathematical operator denoted by @var{m} (e.g.,
 		       (display (if (equation-markup? first) "(" " "))
 		       (output first engine)
 		       (display (if (equation-markup? first) ")" " "))
-		       (output ,obj engine)
+		       (output obj engine)
 		       (display (if (equation-markup? second) "(" ""))
 		       (output second engine)
 		       (display (if (equation-markup? second) ")" "")))
-		     (skribe-error ',(symbol-append 'eq: op)
+		     (skribe-error (symbol-append 'eq: op)
 				   "wrong argument type"
 				   body))))))
 
@@ -520,8 +518,8 @@ a symbol representing the mathematical operator denoted by @var{m} (e.g.,
 		       (display (if (equation-markup? first) ")" ""))
 		       (output (sup second) engine))))))
 
-(simple-binary-markup-writer in    (symbol "in"))
-(simple-binary-markup-writer notin (symbol "notin"))
+(simple-binary-markup-writer 'in    (symbol "in"))
+(simple-binary-markup-writer 'notin (symbol "notin"))
 
 (markup-writer 'eq:apply (find-engine 'base)
    :action (lambda (node engine)