From 75f696f41c829a896ded4a0731cbfe644039ef48 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 1 Dec 2001 11:38:52 +0100 Subject: [PATCH] patch::: 1.5.23.jcn2 * Rewrote new conditional guile >= 1.5 compilation switches, to keep code clean from conditionals and have a concentrated sets of compatitility fixes for old guile versions. * Fixes for guile 1.4, including embedded ps. --- CHANGES | 6 +++++- VERSION | 2 +- input/test/hara-kiri.ly | 8 ++++++-- lily/include/lily-guile.hh | 4 ++++ lily/lily-guile.cc | 5 ----- scm/ps.scm | 9 +++------ scm/sketch.scm | 8 ++++++-- scm/tex.scm | 18 ++++++++++++------ 8 files changed, 37 insertions(+), 23 deletions(-) diff --git a/CHANGES b/CHANGES index c3a86f2e57..0d14dd62f3 100644 --- a/CHANGES +++ b/CHANGES @@ -1,7 +1,11 @@ 1.5.23.jcn1 =========== -* Fixes for guile 1.4. +* Rewrote new conditional guile >= 1.5 compilation switches, to keep + code clean from conditionals and have a concentrated sets of + compatitility fixes for old guile versions. + +* Fixes for guile 1.4, including embedded ps. 1.5.23 ====== diff --git a/VERSION b/VERSION index b3f6bc031a..67692397a3 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=5 PATCH_LEVEL=23 -MY_PATCH_LEVEL=jcn1 +MY_PATCH_LEVEL=jcn2 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/test/hara-kiri.ly b/input/test/hara-kiri.ly index 0058297c1c..a9f08fd533 100644 --- a/input/test/hara-kiri.ly +++ b/input/test/hara-kiri.ly @@ -56,12 +56,16 @@ zager = \context Staff = zager \notes \relative c'' { } zoger = \context Staff = zoger \notes \relative c'' { + % Hmm + \property Staff.HaraKiriVerticalGroup \override + #'items-worth-living = #'(#t #t) + + \clef treble \property Staff.instrument = #"Zoger" \property Staff.instr = #"Zog." c4^"zog" d e f \skip 1*2 - \translator Staff=zager \stemDown c2 g2 @@ -85,7 +89,7 @@ zagers = \context GrandStaff < > > \paper{ - linewidth = 80.0\mm + linewidth = 100.0\mm \translator { \HaraKiriStaffContext } %uh? \translator { \OrchestralScoreContext } diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index 2fb4f54cb3..55aafc98c7 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -51,6 +51,10 @@ #define fix_guile_1_4_scm_primitive_eval(form) scm_eval_3 (form, 1, SCM_EOL) #define scm_primitive_eval(form) fix_guile_1_4_scm_primitive_eval (form) +#define scm_current_module() (SCM)0 +#define scm_set_current_module(x) (void)x +#define scm_c_resolve_module(x) (SCM)0 + #define scm_c_define_gsubr scm_make_gsubr #define scm_c_eval_string(str) gh_eval_str ((char*)str) #define scm_c_memq scm_sloppy_memq diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index e01fd24b30..a427155491 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -266,11 +266,8 @@ init_lily_guile (String p ) // todo: junk this. We should make real modules iso. just loading files. prepend_load_path (p + "/scm/"); - -#if GUILE_MINOR_VERSION >= 5 SCM last_mod = scm_current_module (); scm_set_current_module (scm_c_resolve_module ("guile")); -#endif init_cxx_function_smobs (); for (int i=scm_init_funcs_->size () ; i--;) @@ -280,9 +277,7 @@ init_lily_guile (String p ) progress_indication ("\n"); read_lily_scm_file ("lily.scm"); -#if GUILE_MINOR_VERSION >= 5 scm_set_current_module (last_mod); -#endif } unsigned int ly_scm_hash (SCM s) diff --git a/scm/ps.scm b/scm/ps.scm index 6af36d6ab7..77ee7d379e 100644 --- a/scm/ps.scm +++ b/scm/ps.scm @@ -16,14 +16,11 @@ (if (or (equal? (minor-version) "4") (equal? (minor-version) "3.4")) - (define-public (ps-output-expression expr port) - (display (eval-in-module expr this-module) port ) - ) + (define-public (ps-output-expression expr) + (display (eval-in-module expr this-module))) (define-public (ps-output-expression expr port) - (display (eval expr this-module) port ) - ) - ) + (display (eval expr this-module) port))) (use-modules diff --git a/scm/sketch.scm b/scm/sketch.scm index 76eb775596..30ec4a4ce0 100644 --- a/scm/sketch.scm +++ b/scm/sketch.scm @@ -31,8 +31,12 @@ ;; guile < 1.4 compatibility for eval -(define (ly-eval e m) - (eval-in-module e m)) +(if (or (equal? (minor-version) "4") + (equal? (minor-version) "3.4")) + (define (ly-eval e m) + (eval-in-module e m)) + (define (ly-eval e m) + (eval e m))) (define-module (scm sketch)) (debug-enable 'backtrace) diff --git a/scm/tex.scm b/scm/tex.scm index 072ed76ece..123f7dc448 100644 --- a/scm/tex.scm +++ b/scm/tex.scm @@ -125,12 +125,18 @@ "" ) -(define (embedded-ps expr) - (let - ((os (open-output-string))) - (ps-output-expression expr os) - (string-append "\\embeddedps{" (get-output-string os) "}") - )) +(if (or (equal? (minor-version) "4") + (equal? (minor-version) "3.4")) + (define (embedded-ps expr) + (let ((ps-string + (with-output-to-string + (lambda () (ps-output-expression expr))))) + (string-append "\\embeddedps{" ps-string "}"))) + (define (embedded-ps expr) + (let + ((os (open-output-string))) + (ps-output-expression expr os) + (string-append "\\embeddedps{" (get-output-string os) "}")))) (define (comment s) (string-append "% " s "\n")) -- 2.39.5