]> git.donarmstrong.com Git - lilypond.git/commitdiff
input/regression/bookparts.ly fails at PDF conversion stage
authorThomas Morley <thomasmorley65@gmail.com>
Thu, 13 Aug 2015 23:32:22 +0000 (01:32 +0200)
committerThomas Morley <thomasmorley65@gmail.com>
Sun, 23 Aug 2015 17:39:29 +0000 (19:39 +0200)
issue 4554

fixes \with-link
let it look at the first page number of the entire book

ly/titling-init.ly
scm/define-markup-commands.scm

index eb9ced5375c577714e31e005877a71caeaad6fe9..f397ad6bd90177b34de35c2f28ba5d96d8ce15f6 100644 (file)
@@ -76,14 +76,8 @@ scoreTitleMarkup = \markup { \column {
 #(define (book-first-page? layout props)
    "Return #t iff the current page number, got from @code{props}, is the
 book first one."
-   (define (ancestor layout)
-     "Return the topmost layout ancestor"
-     (let ((parent (ly:output-def-parent layout)))
-       (if (not (ly:output-def? parent))
-           layout
-           (ancestor parent))))
    (= (chain-assoc-get 'page:page-number props -1)
-      (ly:output-def-lookup (ancestor layout) 'first-page-number)))
+      (book-first-page layout props)))
 
 #(define (book-last-page? layout props)
    "Return #t iff the current page number, got from @code{props}, is the
index 363977da9be00b291770bfaddf504749751bebfe..0022d721fc1b527aecfd37321b38560b1a226e13 100644 (file)
@@ -509,6 +509,16 @@ in the PDF backend.
 
     (ly:stencil-add (ly:make-stencil link-expr xextent yextent) stil)))
 
+(define-public (book-first-page layout props)
+  "Return the @code{'first-page-number} of the entire book"
+  (define (ancestor layout)
+    "Return the topmost layout ancestor"
+    (let ((parent (ly:output-def-parent layout)))
+      (if (not (ly:output-def? parent))
+          layout
+          (ancestor parent))))
+  (ly:output-def-lookup (ancestor layout) 'first-page-number))
+
 (define-markup-command (with-link layout props label arg)
   (symbol? markup?)
   #:category other
@@ -536,8 +546,7 @@ only works in the PDF backend.
                           (if (list? table)
                               (assoc-get label table)
                               #f))
-                        (first-page-number
-                          (ly:output-def-lookup layout 'first-page-number))
+                        (first-page-number (book-first-page layout props))
                         (current-page-number
                           (if table-page-number
                               (1+ (- table-page-number first-page-number))