* lily/grob-interface-scheme.cc (LY_DEFINE): idem.
* lily/function-documentation.cc (ly_add_function_documentation):
use static member iso. Protected_scm
* lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
* config.make.in (prefix): remove HAVE_KPATHSEA_SO
+2005-12-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/stencil-expression.cc: idem.
+
+ * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
+
+ * lily/function-documentation.cc (ly_add_function_documentation):
+ use static member iso. Protected_scm
+
+ * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
+
+ * config.make.in (prefix): remove HAVE_KPATHSEA_SO
+
2005-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
* lily/relocate.cc (set_env_dir): New function.
package = @package@
PACKAGE_NAME = @PACKAGE_NAME@
-HAVE_LIBKPATHSEA_SO = @HAVE_LIBKPATHSEA_SO@
-
prefix = @prefix@
exec_prefix = @exec_prefix@
#include <cstring>
using namespace std;
-#include "protected-scm.hh"
#include "string.hh"
+#include "lily-guile.hh"
-static Protected_scm doc_hash_table;
+static SCM doc_hash_table;
void ly_add_function_documentation (SCM func,
char const *fname,
if (!strlen (doc))
return;
- if (scm_hash_table_p (doc_hash_table) != SCM_BOOL_T)
- doc_hash_table = scm_c_make_hash_table (59);
+ if (!doc_hash_table)
+ doc_hash_table = scm_permanent_object (scm_c_make_hash_table (59));
String s = String (" - ") + "LilyPond procedure: " + fname + " " + varlist
+ "\n" + doc;
*/
#include "lily-guile.hh"
-#include "protected-scm.hh"
#include "string.hh"
-Protected_scm all_ifaces;
+static SCM all_ifaces;
LY_DEFINE (ly_add_interface, "ly:add-interface",
3, 0, 0, (SCM a, SCM b, SCM c),
SCM_ASSERT_TYPE (scm_is_symbol (a), a, SCM_ARG1, __FUNCTION__, "symbol");
SCM_ASSERT_TYPE (scm_is_string (b), b, SCM_ARG2, __FUNCTION__, "string");
SCM_ASSERT_TYPE (ly_is_list (c), c, SCM_ARG3, __FUNCTION__, "list of syms");
- if (!scm_is_vector (all_ifaces))
- all_ifaces = scm_make_vector (scm_from_int (40), SCM_EOL);
-
+ if (!all_ifaces)
+ {
+ SCM tab = scm_c_make_hash_table (59);
+ all_ifaces = tab;
+ scm_permanent_object (tab);
+ }
+
SCM entry = scm_list_n (a, b, c, SCM_UNDEFINED);
scm_hashq_set_x (all_ifaces, a, entry);
#ifndef NDEBUG
#include "protected-scm.hh"
+
Protected_scm grob_property_callback_stack = SCM_EOL;
bool debug_property_callbacks = 0;
#endif
bool relocate_binary =
-#ifdef __MINGW32__
+#ifdef ARGV0_RELOCATION
true;
#else
false
#include "stencil.hh"
-#include "protected-scm.hh"
-
-static Protected_scm heads = SCM_EOL;
+static SCM heads;
void register_stencil_head (SCM symbol)
{
+ if (!heads)
+ heads = scm_permanent_object (scm_cons (SCM_EOL, SCM_EOL));
+
scm_set_object_property_x (symbol, ly_symbol2scm ("stencil-head?"), SCM_BOOL_T);
- heads = scm_cons (symbol, heads);
+ scm_set_cdr_x (heads, scm_cons (symbol, heads));
}
+
bool
is_stencil_head (SCM symbol)
{
SCM
all_stencil_heads ()
{
- return heads;
+ return scm_cdr (heads);
}