]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/lily.scm
Merge with git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond.git
[lilypond.git] / scm / lily.scm
index edd99461d5d7a7e7aca37959e6b633f3f11c1824..f3767ca9f5fb04e8231a2387ab2cf405272cfc70 100644 (file)
              (anti-alias-factor 1 "render at higher resolution and scale down result\nto prevent jaggies in PNG")
              (check-internal-types #f "check every property assignment for types")
              (clip-systems #f "Generate cut-out snippets of a score")
-             (debug-gc #f
-                       "dump memory debugging statistics")
-             (debug-midi #f "generate human readable MIDI")
-             (debug-parser #f "debug the bison parser")
+             (debug-gc #f "dump memory debugging statistics")
+             (debug-gc-assert-parsed-dead
+              #f "for memory debugging: ensure that all refs to parsed objects are dead.")
              (debug-lexer #f "debug the flex lexer")
              (debug-midi #f "generate human readable MIDI")
+             (debug-parser #f "debug the bison parser")
+             (debug-skylines #f "debug skylines")
              (delete-intermediate-files #f
                                         "delete unusable PostScript files")
              (dump-signatures #f "dump output signatures of each system")
@@ -51,7 +52,7 @@ scheme are caught in the parser. If off, halt
 on errors, and print a stack trace.")
              (profile-property-accesses #f "keep statistics of get_property() calls.")
              
-             (resolution 101 "resolution for generating bitmaps")
+             (resolution 101 "resolution for generating PNG bitmaps")
              (read-file-list #f "Read files to be processed from command line arguments")
 
              (safe #f "Run safely")
@@ -386,6 +387,8 @@ The syntax is the same as `define*-public'."
          (display "Live object statistics: GC'ing\n")
          (gc)
          (gc)
+         (ly:set-option 'debug-gc-assert-parsed-dead #t)
+         (gc)
          
          (set! stats (gc-live-object-stats))
          (display "Dumping live object statistics.\n")
@@ -419,6 +422,7 @@ The syntax is the same as `define*-public'."
          (ly:error (_ "failed files: ~S") (string-join failed))
          (exit 1))
        (begin
+         (ly:do-atexit)
          ;; HACK: be sure to exit with single newline
          (ly:message "")
          (exit 0)))))
@@ -445,6 +449,7 @@ The syntax is the same as `define*-public'."
 
     (for-each
      (lambda (x)
+       (ly:set-option 'debug-gc-assert-parsed-dead #f)
        (lilypond-file handler x)
        (ly:clear-anonymous-modules)
        (if (ly:get-option 'debug-gc)
@@ -458,8 +463,7 @@ The syntax is the same as `define*-public'."
         (lambda () (ly:parse-file file-name))
         (lambda (x . args) (handler x file-name))))
 
-(use-modules (scm editor)
-            )
+(use-modules (scm editor))
 
 (define-public (gui-main files)
   (if (null? files)