about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/guile/skribilo/skribe/api.scm9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/guile/skribilo/skribe/api.scm b/src/guile/skribilo/skribe/api.scm
index 2cd8b2e..2a4d0ae 100644
--- a/src/guile/skribilo/skribe/api.scm
+++ b/src/guile/skribilo/skribe/api.scm
@@ -551,12 +551,13 @@
 	    (null? (cdr lst)))
        (parse-list-of for markup (car lst)))
       (else
-       (let loop ((lst lst))
+       (let loop ((lst lst)
+		  (result '()))
 	  (cond
 	     ((null? lst)
-	      '())
+	      (reverse! result))
 	     ((pair? (car lst))
-	      (loop (car lst)))
+	      (loop (car lst) result))
 	     (else
 	      (let ((r (car lst)))
 		 (if (not (is-markup? r markup))
@@ -567,7 +568,7 @@
 						 (markup-markup r)
 						 (find-runtime-type r))
 					     markup)))
-		 (cons r (loop (cdr lst))))))))))
+		 (loop (cdr lst) (cons r result)))))))))
 
 ;*---------------------------------------------------------------------*/
 ;*    itemize ...                                                      */