From: Thomas Morley Date: Sun, 12 Jul 2015 16:18:02 +0000 (+0200) Subject: Table Of Contents crash with negative first-page-number X-Git-Tag: release/2.19.24-1~5^2~12 X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=commitdiff_plain;h=a6bb9af34fc611f264533becc578285ea678033e;p=lilypond.git Table Of Contents crash with negative first-page-number Issue 4494 Let \with-link point to the physical page-number --- diff --git a/scm/define-markup-commands.scm b/scm/define-markup-commands.scm index 5a08facce2..d7c0f22e46 100644 --- a/scm/define-markup-commands.scm +++ b/scm/define-markup-commands.scm @@ -529,18 +529,24 @@ only works in the PDF backend. (x-ext (ly:stencil-extent arg-stencil X)) (y-ext (ly:stencil-extent arg-stencil Y))) (ly:stencil-add - (ly:make-stencil - `(delay-stencil-evaluation - ,(delay (let* ((table (ly:output-def-lookup layout 'label-page-table)) - (page-number (if (list? table) - (assoc-get label table) - #f))) - (list 'page-link page-number - `(quote ,x-ext) `(quote ,y-ext))))) - x-ext - y-ext) - arg-stencil))) - + (ly:make-stencil + `(delay-stencil-evaluation + ,(delay (let* ((table (ly:output-def-lookup layout 'label-page-table)) + (table-page-number + (if (list? table) + (assoc-get label table) + #f)) + (first-page-number + (ly:output-def-lookup layout 'first-page-number)) + (current-page-number + (if table-page-number + (1+ (- table-page-number first-page-number)) + #f))) + (list 'page-link current-page-number + `(quote ,x-ext) `(quote ,y-ext))))) + x-ext + y-ext) + arg-stencil))) (define-markup-command (beam layout props width slope thickness) (number? number? number?)