;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 1998--2010 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; Copyright (C) 1998--2011 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
(defmacro-public _i (x) x)
(read-enable 'positions)
-(debug-enable 'debug)
(define-public PLATFORM
(string->symbol
(scm coverage))
(define-public _ gettext)
-;;; TODO:
-;; There are new modules defined in Guile V2.0 which we need to use, e.g.
-;; the modules and scheme files loaded by lily.scm use currying.
-;; In Guile V2 this needs (ice-9 curried-definitions) which is not
-;; present in Guile V1.8
+;;; There are new modules defined in Guile V2.0 which we need to use.
;;
-;; TODO add in modules for V1.8,7 deprecated in V2.0 and integrated
+;; Modules and scheme files loaded by lily.scm use currying
+;; in Guile V2 this needs a module which is not present in Guile V1.8
+;;
+
+(cond
+ ((guile-v2)
+ (if (ly:get-option 'verbose)
+ (ly:message (_ "Using (ice-9 curried-definitions) module\n")))
+ (use-modules (ice-9 curried-definitions)))
+ (else
+ (if (ly:get-option 'verbose)
+ (ly:message
+ (_ "Guile 1.8\n")))))
+
+;; TODO add in modules for V1.8.7 deprecated in V2.0 and integrated
;; into Guile base code, like (ice-9 syncase).
;;
format)
(define-public (ergonomic-simple-format dest . rest)
- "Like ice-9 format, but without the memory consumption."
+ "Like ice-9's @code{format}, but without the memory consumption."
(if (string? dest)
(apply simple-format (cons #f (cons dest rest)))
(apply simple-format (cons dest rest))))
(ly:get-option 'trace-scheme-coverage))
(begin
(ly:set-option 'protected-scheme-parsing #f)
- (debug-enable 'debug)
(debug-enable 'backtrace)
(read-enable 'positions)))
(ly:progress "[~A" file-name))
(if (not file-name)
(ly:error (_ "cannot find: ~A") x))
- (primitive-load file-name)
+ (primitive-load-path file-name) ;; to support Guile V2 autocompile
(if (ly:get-option 'verbose)
(ly:progress "]\n"))))
"define-event-classes.scm"
"define-music-callbacks.scm"
"define-music-types.scm"
+ "define-note-names.scm"
"output-lib.scm"
"c++.scm"
"chord-ignatzek-names.scm"
"chord-generic-names.scm"
"stencil.scm"
"markup.scm"
+ "modal-transforms.scm"
"music-functions.scm"
"part-combiner.scm"
"autochange.scm"
"define-music-properties.scm"
"time-signature-settings.scm"
"auto-beam.scm"
- "chord-name.scm"
"bezier-tools.scm"
"parser-ly-from-scheme.scm"
"ly-syntax-constructors.scm"
"define-context-properties.scm"
+ ;; guile 1.9 wants markups defined before referenced
+ "define-markup-commands.scm"
+
+ "chord-name.scm"
"translation-functions.scm"
"script.scm"
"midi.scm"
"flag-styles.scm"
"fret-diagrams.scm"
+ "tablature.scm"
"harp-pedals.scm"
"define-woodwind-diagrams.scm"
"display-woodwind-diagrams.scm"
"predefined-fretboards.scm"
- "define-markup-commands.scm"
"define-grob-properties.scm"
"define-grobs.scm"
"define-grob-interfaces.scm"
"paper.scm"
"backend-library.scm"
"x11-color.scm"
- "tablature.scm"
;; must be after everything has been defined
"safe-lily.scm"))
(,markup-list? . "markup list")
(,moment-pair? . "pair of moment objects")
(,number-or-grob? . "number or grob")
+ (,number-or-pair? . "number or pair")
(,number-or-string? . "number or string")
(,number-pair? . "pair of numbers")
(,rhythmic-location? . "rhythmic location")
(if separate-logs
(open-file (if (string-or-symbol? (ly:get-option 'log-file))
(format "~a.log" (ly:get-option 'log-file))
- "/dev/tty") "a") #f))
+ "/dev/stderr") "a") #f))
(do-measurements (ly:get-option 'dump-profile))
(handler (lambda (key failed-file)
(set! failed (append (list failed-file) failed)))))