]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/lily.scm
Divide collision Y extent by staff_space; add regression test.
[lilypond.git] / scm / lily.scm
index 7384d56f9e4b7750da6d3d9162ba562a748e9564..203a449c8f00f1e9d9c7108cb7a8cd045077777f 100644 (file)
@@ -28,7 +28,6 @@
 (defmacro-public _i (x) x)
 
 (read-enable 'positions)
-(debug-enable 'debug)
 
 (define-public PLATFORM
   (string->symbol
@@ -214,13 +213,23 @@ messages into errors.")
             (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).
 ;;
 
@@ -258,7 +267,6 @@ messages into errors.")
        (ly:get-option 'trace-scheme-coverage))
     (begin
       (ly:set-option 'protected-scheme-parsing #f)
-      (debug-enable 'debug)
       (debug-enable 'backtrace)
       (read-enable 'positions)))
 
@@ -280,7 +288,7 @@ messages into errors.")
        (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"))))
 
@@ -403,18 +411,22 @@ LilyPond safe mode.  The syntax is the same as `define*-public'."
     "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"
@@ -431,7 +443,6 @@ LilyPond safe mode.  The syntax is the same as `define*-public'."
     "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"