From: janneke Date: Thu, 19 Aug 2004 00:35:14 +0000 (+0000) Subject: Cosmetics. X-Git-Tag: release/2.3.12~21 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=abb68d59003c05590a9b4b9413546bbae79f24f9;p=lilypond.git Cosmetics. --- diff --git a/ChangeLog b/ChangeLog index fe863a495b..f4bb8a25aa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2004-08-19 Jan Nieuwenhuizen + + * lily/include/lily-guile.hh: Cosmetics. + 2004-08-18 Han-Wen Nienhuys * input/regression/fermata-rest-position.ly: new file diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index 7e5d5d8e06..4374d028c4 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -59,16 +59,22 @@ SCM ly_truncate_list (int k, SCM lst); every call. The overall speedup of lily is about 5% on a run of wtk1-fugue2. */ -#define ly_symbol2scm(x) ({ static SCM cached; \ - SCM value = cached; /* We store this one locally, since G++ -O2 fucks up else */ \ - if ( __builtin_constant_p ((x)))\ - { if (!cached)\ - value = cached = scm_gc_protect_object (scm_str2symbol((x)));\ - } else\ - value = scm_str2symbol ((char*) (x)); \ - value; }) +#define ly_symbol2scm(x) \ +({ \ + static SCM cached; \ + /* We store this one locally, since G++ -O2 fucks up else */ \ + SCM value = cached; \ + if ( __builtin_constant_p ((x))) \ + { \ + if (!cached) \ + value = cached = scm_gc_protect_object (scm_str2symbol ((x))); \ + } \ + else \ + value = scm_str2symbol ((char*) (x)); \ + value; \ +}) #else -inline SCM ly_symbol2scm(char const* x) { return scm_str2symbol((x)); } +inline SCM ly_symbol2scm(char const* x) { return scm_str2symbol ((x)); } #endif extern SCM global_lily_module; @@ -76,15 +82,21 @@ extern SCM global_lily_module; /* TODO: rename me to ly_c_lily_module_eval */ -#define ly_scheme_function(x) ({static SCM cached; \ - SCM value = cached; /* We store this one locally, since G++ -O2 fucks up else */ \ - if ( __builtin_constant_p ((x)))\ - { if (!cached)\ - value = cached = scm_gc_protect_object (scm_eval(scm_str2symbol (x), global_lily_module));\ - } else\ - value = scm_eval(scm_str2symbol (x), global_lily_module);\ - value; }) - +#define ly_scheme_function(x) \ +({ \ + static SCM cached; \ + /* We store this one locally, since G++ -O2 fucks up else */ \ + SCM value = cached; \ + if ( __builtin_constant_p ((x))) \ + { \ + if (!cached) \ + value = cached = scm_gc_protect_object (scm_eval (scm_str2symbol (x), \ + global_lily_module)); \ + } \ + else \ + value = scm_eval (scm_str2symbol (x), global_lily_module); \ + value; \ +}) String ly_scm2string (SCM s); @@ -226,7 +238,7 @@ typedef SCM (*Scheme_function_3) (...); Adds the NAME as a Scheme function, and a variable to store the SCM version of the function in the static variable NAME_proc */ -#define DECLARE_SCHEME_CALLBACK(NAME,ARGS) \ +#define DECLARE_SCHEME_CALLBACK(NAME, ARGS) \ static SCM NAME ARGS; \ static SCM NAME ## _proc @@ -234,60 +246,65 @@ typedef SCM (*Scheme_function_3) (...); Make TYPE::FUNC available as a Scheme function. */ #define MAKE_SCHEME_CALLBACK(TYPE, FUNC, ARGCOUNT) \ -SCM TYPE :: FUNC ## _proc;\ -void \ -TYPE ## _ ## FUNC ## _init_functions () \ -{ \ +SCM TYPE :: FUNC ## _proc; \ +void \ +TYPE ## _ ## FUNC ## _init_functions () \ +{ \ TYPE :: FUNC ## _proc = scm_c_define_gsubr (#TYPE "::" #FUNC, \ (ARGCOUNT), 0, 0, \ (Scheme_function_unknown)TYPE :: FUNC); \ - scm_c_export (#TYPE "::" #FUNC, NULL);\ -} \ - \ -ADD_SCM_INIT_FUNC (TYPE ## _ ## FUNC ## _callback, TYPE ## _ ## FUNC ## _init_functions); \ - - -void ly_add_function_documentation (SCM proc, char const * fname, - char const * varlist, - char const * doc); - -#define ADD_SCM_INIT_FUNC(name, func)\ -class name ## _scm_initter { \ -public:\ - name ## _scm_initter () \ - { \ - add_scm_init_func (func); \ - } \ -} _ ## name ## _scm_initter; \ + scm_c_export (#TYPE "::" #FUNC, NULL); \ +} \ + \ +ADD_SCM_INIT_FUNC (TYPE ## _ ## FUNC ## _callback, \ + TYPE ## _ ## FUNC ## _init_functions); + + +void +ly_add_function_documentation (SCM proc, char const *fname, + char const *varlist, + char const *doc); + +#define ADD_SCM_INIT_FUNC(name, func) \ +class name ## _scm_initter \ +{ \ +public: \ + name ## _scm_initter () \ + { \ + add_scm_init_func (func); \ + } \ +} _ ## name ## _scm_initter; \ /* end define */ -#define LY_DEFINE_WITHOUT_DECL(INITPREFIX, FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, DOCSTRING) \ -SCM FNAME ## _proc;\ +#define LY_DEFINE_WITHOUT_DECL(INITPREFIX, FNAME, PRIMNAME, REQ, OPT, VAR, \ + ARGLIST, DOCSTRING) \ +SCM FNAME ## _proc; \ void \ -INITPREFIX ## init ()\ -{\ - FNAME ## _proc \ - = scm_c_define_gsubr (PRIMNAME,REQ, OPT, VAR, (Scheme_function_unknown) FNAME);\ - ly_add_function_documentation ( FNAME ## _proc ,PRIMNAME, #ARGLIST, DOCSTRING);\ - scm_c_export (PRIMNAME,NULL);\ -}\ -ADD_SCM_INIT_FUNC (INITPREFIX ## init_unique_prefix, INITPREFIX ## init);\ +INITPREFIX ## init () \ +{ \ + FNAME ## _proc = scm_c_define_gsubr (PRIMNAME,REQ, OPT, VAR, \ + (Scheme_function_unknown) FNAME); \ + ly_add_function_documentation (FNAME ## _proc, PRIMNAME, #ARGLIST, \ + DOCSTRING); \ + scm_c_export (PRIMNAME, NULL); \ +} \ +ADD_SCM_INIT_FUNC (INITPREFIX ## init_unique_prefix, INITPREFIX ## init); \ SCM \ -FNAME ARGLIST\ +FNAME ARGLIST #define LY_DEFINE(FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, DOCSTRING) \ -SCM FNAME ARGLIST ; \ -LY_DEFINE_WITHOUT_DECL(FNAME, FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, DOCSTRING) - - -#define LY_DEFINE_MEMBER_FUNCTION(CLASS, FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, DOCSTRING) \ -SCM FNAME ARGLIST ; \ -LY_DEFINE_WITHOUT_DECL(CLASS ## FNAME, CLASS::FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, DOCSTRING) - - -#define get_property(x) internal_get_property(ly_symbol2scm(x)) -#define set_property(x,y) internal_set_property(ly_symbol2scm (x), y) - +SCM FNAME ARGLIST; \ +LY_DEFINE_WITHOUT_DECL (FNAME, FNAME, PRIMNAME, REQ, OPT, VAR, ARGLIST, \ + DOCSTRING) + +#define LY_DEFINE_MEMBER_FUNCTION(CLASS, FNAME, PRIMNAME, REQ, OPT, VAR, \ + ARGLIST, DOCSTRING) \ +SCM FNAME ARGLIST; \ +LY_DEFINE_WITHOUT_DECL (CLASS ## FNAME, CLASS::FNAME, PRIMNAME, REQ, OPT, \ + VAR, ARGLIST, DOCSTRING) + +#define get_property(x) internal_get_property (ly_symbol2scm (x)) +#define set_property(x,y) internal_set_property (ly_symbol2scm (x), y) #endif /* LILY_GUILE_HH */ diff --git a/lily/include/translator.hh b/lily/include/translator.hh index 9d6996d6d8..4b40032ba8 100644 --- a/lily/include/translator.hh +++ b/lily/include/translator.hh @@ -18,8 +18,10 @@ #include "input.hh" #include "smobs.hh" -#define get_property(x) internal_get_property(ly_symbol2scm(x)) - +/* copied from lily-guile.hh */ +#ifndef get_property +#define get_property(x) internal_get_property (ly_symbol2scm (x)) +#endif #define TRANSLATOR_DECLARATIONS(NAME) \ public: \ diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index 812f344a70..2205bee0f3 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -809,7 +809,8 @@ LY_DEFINE (ly_pango_add_afm_decoder, "ly:pango-add-afm-decoder", 1, 0, 0, (SCM font_family), "Add pango afm decoder for FONT-FAMILY.") { - SCM_ASSERT_TYPE (ly_c_string_p (font_family), font_family, SCM_ARG1, __FUNCTION__, "font_family"); + SCM_ASSERT_TYPE (ly_c_string_p (font_family), font_family, SCM_ARG1, + __FUNCTION__, "font_family"); pango_fc_afm_add_decoder (ly_scm2newstr (font_family, 0)); return SCM_UNSPECIFIED; }