]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/lily.scm
* lily/global-context.cc (run_iterator_on_me): fix grace note
[lilypond.git] / scm / lily.scm
index 3b9e77530dd386196861351e4673276861e85917..6cdc3656c841d64a84d049e204bd9d822afcfb37 100644 (file)
@@ -7,7 +7,7 @@
 
 ;;; Library functions
 
-
+(set-debug-cell-accesses! #t)
 (use-modules (ice-9 regex)
             (ice-9 safe)
             (oop goops)
 (define (chain-assoc-get x alist-list . default)
   "Return ALIST entry for X. Return DEFAULT (optional, else #f) if not
 found."
-  (if (null? alist-list)
-      (if (pair? default) (car default) #f)
-      (let* ((handle (assoc x (car alist-list))))
-       (if (pair? handle)
-           (cdr handle)
-           (chain-assoc-get x (cdr alist-list) default)))))
+
+  (define (helper x alist-list default)
+    (if (null? alist-list)
+       default
+       (let* ((handle (assoc x (car alist-list))))
+         (if (pair? handle)
+             (cdr handle)
+             (helper x (cdr alist-list) default)))))
+
+  (helper x alist-list
+         (if (pair? default) (car default) #f)))
 
 (define (map-alist-vals func list)
   "map FUNC over the vals of  LIST, leaving the keys."
@@ -362,15 +367,21 @@ L1 is copied, L2 not.
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;  output
 (use-modules (scm output-tex)
-            (scm output-ps)
             (scm output-sketch)
             (scm output-sodipodi)
-            (scm output-pdftex)
-            )
+            (scm output-pdftex))
+
+
+(define output-tex-module
+  (make-module 1021 (list (resolve-interface '(scm new-output-tex)))))
+
+(define (new-tex-output-expression expr port)
+  (display (eval expr output-tex-module) port))
 
 (define output-alist
   `(
     ("tex" . ("TeX output. The default output form." ,tex-output-expression))
+    ("safetex" . ("TeX output. The default output form." ,new-tex-output-expression))
     ("scm" . ("Scheme dump: debug scheme stencil expressions" ,write))
     ("sketch" . ("Bare bones Sketch output." ,sketch-output-expression))
     ("sodipodi" . ("Bare bones Sodipodi output." ,sodipodi-output-expression))
@@ -391,10 +402,6 @@ L1 is copied, L2 not.
        (caddr d)
        (scm-error "Could not find dumper for format ~s" format))))
 
-(define-public (get-output-module output-format)
-  (resolve-module `(scm ,(string->symbol
-                         (string-append "output-" output-format)))))
-
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; other files.