X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fsketch.scm;h=a76f79d5c36c2544181396c1a1cc3b891dcc68b8;hb=43e92a55dd6874d78abc5c32a74bd987753e26db;hp=c5417abeabe99a810a3f7f7e0105af51e5fc9f29;hpb=372c3944d6b441f7b4a8609d42c6e2bdd71d65c3;p=lilypond.git diff --git a/scm/sketch.scm b/scm/sketch.scm index c5417abeab..a76f79d5c3 100644 --- a/scm/sketch.scm +++ b/scm/sketch.scm @@ -1,3 +1,4 @@ + ;;; sketch.scm -- implement Scheme output routines for Sketch ;;; ;;; source file of the GNU LilyPond music typesetter @@ -29,19 +30,24 @@ ;; )) +;; guile < 1.4 compatibility for eval +(if (or (equal? (minor-version) "4") + (equal? (minor-version) "3.4")) + (define (ly-eval e m) + (eval-in-module e m)) + (define (ly-eval e m) + (eval e m))) -(define-module (scm sketch) - :export (sketch-output-expression) - :no-backtrace) +(define-module (scm sketch)) +(debug-enable 'backtrace) (define this-module (current-module)) -(define (sketch-output-expression expr port) +(define-public (sketch-output-expression expr port) (display (dispatch expr) port)) (use-modules - (guile) - (guile-user)) + (guile)) (use-modules (ice-9 format)) @@ -52,10 +58,10 @@ ((eq? keyword 'placebox) (dispatch-x-y (cadr expr) (+ 150 (caddr expr)) (cadddr expr))) (else - (apply (eval keyword this-module) (cdr expr)))))) + (apply (ly-eval keyword this-module) (cdr expr)))))) (define (dispatch-x-y x y expr) - (apply (eval (car expr) this-module) (append (list x y) (cdr expr)))) + (apply (ly-eval (car expr) this-module) (append (list x y) (cdr expr)))) @@ -117,7 +123,7 @@ (define (fontify x y name-mag-pair exp) (string-append (select-font name-mag-pair) - (apply (eval (car exp) this-module) + (apply (ly-eval (car exp) this-module) (append (list x y) (cdr exp))))) ;; (if (string? exp) exp ""))) @@ -228,9 +234,6 @@ layer('Layer 1',1,1,0,0,(0,0,0)) (define (invoke-char s i) "") -(define (invoke-dim1 s d) - (string-append - (ly-number->string (* d (/ 72.27 72))) " " s )) (define (bezier-sandwich x y l thick) (apply