From b0076083131587fe5c09115c5fa69433fdc7db07 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sun, 19 Feb 2006 12:04:42 +0000 Subject: [PATCH] *** empty log message *** --- ChangeLog | 4 ++++ scm/lily-library.scm | 13 +++++++++++++ scm/stencil.scm | 15 ++++++++++----- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 81abed7292..34a45b14a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,10 @@ 2006-02-19 Han-Wen Nienhuys + * scm/stencil.scm (annotate-y-interval): use it. + + * scm/lily-library.scm (interval-sane?): new function. + * buildscripts/mf-to-table.py (Char_metric.__init__): remove tfm_checksum stuff. diff --git a/scm/lily-library.scm b/scm/lily-library.scm index 3ad2d2764b..d3e75530a3 100644 --- a/scm/lily-library.scm +++ b/scm/lily-library.scm @@ -316,6 +316,9 @@ found." (cons (cons (car coords) (cadr coords)) (ly:list->offsets accum (cddr coords))))) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; intervals + (define-public (interval-length x) "Length of the number-pair X, when an interval" (max 0 (- (cdr x) (car x)))) @@ -350,6 +353,16 @@ found." (cons (min (car i1) (car i2)) (max (cdr i1) (cdr i2)))) +(define-public (interval-sane? i) + (not (or (nan? (car i)) + (inf? (car i)) + (nan? (cdr i)) + (inf? (cdr i))))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; + + (define-public (write-me message x) "Return X. Display MESSAGE and write X. Handy for debugging, possibly turned off." diff --git a/scm/stencil.scm b/scm/stencil.scm index 1bfa43a745..58b1934618 100644 --- a/scm/stencil.scm +++ b/scm/stencil.scm @@ -177,7 +177,7 @@ encloses the contents. ;; spacing variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(define-public (annotate-y-interval layout name extent is-length?) +(define-public (annotate-y-interval layout name extent is-length) ;; do something sensible for 0,0 intervals. (set! extent (interval-widen extent 0.001)) (let* @@ -192,10 +192,15 @@ encloses the contents. (make-whiteout-markup (make-simple-markup name)) (make-whiteout-markup (make-simple-markup - (if is-length? - (format "~$" (interval-length extent)) - (format "(~$,~$)" (car extent) - (cdr extent))))))))) + (begin + (display extent) + (cond + ((interval-empty? extent) "empty") + ((not (interval-sane? extent)) "insane") + (is-length (format "~$" (interval-length extent))) + (else + (format "(~$,~$)" (car extent) + (cdr extent))))))))))) (arrows (ly:stencil-translate-axis (dimension-arrows (cons 0 (interval-length extent))) -- 2.39.2