1 ;;;; This file is part of LilyPond, the GNU music typesetter.
3 ;;;; Copyright (C) 1998--2014 Jan Nieuwenhuizen <janneke@gnu.org>
4 ;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
6 ;;;; LilyPond is free software: you can redistribute it and/or modify
7 ;;;; it under the terms of the GNU General Public License as published by
8 ;;;; the Free Software Foundation, either version 3 of the License, or
9 ;;;; (at your option) any later version.
11 ;;;; LilyPond is distributed in the hope that it will be useful,
12 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;;; GNU General Public License for more details.
16 ;;;; You should have received a copy of the GNU General Public License
17 ;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
20 (use-modules (ice-9 rdelim))
22 (define standalone (not (defined? 'ly:gulp-file)))
23 ;;(write standalone (current-error-port))
25 (define (gulp-file name)
26 (let* ((file (open-input-file name))
27 (text (read-delimited "" file)))
31 (define (scm-gulp-file name)
33 (cons (string-append (getenv "LILYPOND_DATADIR") "/ly")
34 (cons (string-append (getenv "LILYPOND_DATADIR") "/ps")
36 (let ((path (%search-load-path name)))
41 (define (scm-number->string x)
42 (let ((e (inexact->exact x)))
43 (string-append (if (= e x)
48 (define ly:gulp-file scm-gulp-file)
49 (define ly:number->string scm-number->string)
51 (eval-string (ly:gulp-file "lily.scm"))