about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès2012-12-01 15:46:31 +0100
committerLudovic Courtès2012-12-01 15:47:09 +0100
commit3d6d88762828f407ade638ddb369248baf3011f4 (patch)
tree3236f404e47c679dd1168250be5d30887190ad57
parente2140ac8c217a3523fab8371cfb6e6e8d31ec98e (diff)
downloadskribilo-3d6d88762828f407ade638ddb369248baf3011f4.tar.gz
skribilo-3d6d88762828f407ade638ddb369248baf3011f4.tar.lz
skribilo-3d6d88762828f407ade638ddb369248baf3011f4.zip
html: footnotes: Fix predicate to determine whether nodes are in the same file.
* src/guile/skribilo/engine/html.scm (section-in-separate-file?,
  section-in-current-file?): Remove.
  (sections-in-same-file?): New procedure.
  (&html-generic-document)[ftnote]: Use it.
-rw-r--r--src/guile/skribilo/engine/html.scm23
1 files changed, 6 insertions, 17 deletions
diff --git a/src/guile/skribilo/engine/html.scm b/src/guile/skribilo/engine/html.scm
index 2595277..9f21d2c 100644
--- a/src/guile/skribilo/engine/html.scm
+++ b/src/guile/skribilo/engine/html.scm
@@ -1147,22 +1147,11 @@
 
 			  (display "</tbody>\n</table>\n")))))))
 
-(define (section-in-separate-file? n e)
-  ;; Return true if N, a node (chapter, section, etc.), is to be put in a
-  ;; separate file, according to the customs of engine E.
-  (and (container? n)
-       (not (document? n))
-       (or (markup-option n :file)
-           (let ((kind (markup-markup n)))
-             (engine-custom e (string->symbol
-                               (string-append (symbol->string kind)
-                                              "-file")))))))
-
-(define (section-in-current-file? n e)
-  ;; Return true if N is to be output in the current file, or in the main
-  ;; file.
-  (and (container? n)
-       (not (section-in-separate-file? n e))))
+(define (sections-in-same-file? n1 n2 e)
+  ;; Return #t when N1 and N2 are to be output in the same file according to
+  ;; E's settings.
+  (and (container? n1) (container? n2)
+       (equal? (html-file n1 e) (html-file n2 e))))
 
 ;*---------------------------------------------------------------------*/
 ;*    &html-generic-document ...                                       */
@@ -1207,7 +1196,7 @@
                       ;; Collect the footnotes of all the sub-containers that
                       ;; are to be output in the same file.
                       (match (find-down (lambda (s)
-                                          (section-in-current-file? s e))
+                                          (sections-in-same-file? s n e))
                                         n)
                         ((containers ...)
                          (reverse