]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/backend-library.scm
Add a new program option: -dwarning-as-error
[lilypond.git] / scm / backend-library.scm
index 301868cb84d66baf54838e71738b45ec19a3ddbf..71ef9096f8e314249dfdd773f0a660918215473a 100644 (file)
@@ -8,6 +8,9 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
 ;; backend helpers.
 
+(use-modules (scm ps-to-png)
+            (ice-9 optargs))
+
 (define-public (ly:system command . rest)
   (let* ((status 0)
         (dev-null "/dev/null")
     (ly:progress "\n")
     (ly:system cmd)))
 
-(use-modules (scm ps-to-png))
-
 (define-public (postscript->png resolution paper-width paper-height name)
   (let* ((verbose (ly:get-option 'verbose))
         (rename-page-1 #f))
       scope)))
   (apply string-append (map output-scope scopes)))
 
+(define-public (backend-testing output-module)
+  (define (missing-stencil-expression name)
+    (apply
+     (if (ly:get-option 'warning-as-error) ly:error ly:warning)
+     (list (_ "missing stencil expression `~S'") name)))
+
+  (map (lambda (x)
+        (if (not (module-defined? output-module x))
+            (module-define! output-module x
+                            (lambda* (#:optional y . z)
+                              (missing-stencil-expression x)))))
+       (ly:all-stencil-expressions)))