]> 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 00e830881202d5475280075e913e7b8286ac8a50..203a449c8f00f1e9d9c7108cb7a8cd045077777f 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; 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
@@ -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).
 ;;
 
@@ -228,7 +237,7 @@ messages into errors.")
   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))))
@@ -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"))))
 
@@ -395,6 +403,7 @@ LilyPond safe mode.  The syntax is the same as `define*-public'."
     "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"
@@ -402,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"
@@ -430,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"