/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1998--2012 Jan Nieuwenhuizen <janneke@gnu.org>
+ Copyright (C) 1998--2015 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
}
string
-robust_symbol2string (SCM sym, string str)
+robust_symbol2string (SCM sym, const string &str)
{
return scm_is_symbol (sym) ? ly_symbol2string (sym) : str;
}
string
-gulp_file_to_string (string fn, bool must_exist, int size)
+gulp_file_to_string (const string &fn, bool must_exist, int size)
{
string s = global_path.find (fn);
if (s == "")
char *
ly_scm2str0 (SCM str)
{
- return scm_to_locale_string (str);
+ return scm_to_utf8_string (str);
}
/*
{
// If undefined, some internal function caused it...should never happen.
- assert (val != SCM_UNDEFINED);
+ assert (!SCM_UNBNDP (val));
if (!scm_is_symbol (sym))
return false;
SCM type = scm_object_property (sym, type_symbol);
- if (type != SCM_EOL && !ly_is_procedure (type))
+ if (!scm_is_null (type) && !ly_is_procedure (type))
{
warning (_f ("cannot find property type-check for `%s' (%s).",
ly_symbol2string (sym).c_str (),
TODO: should remove #f from allowed vals?
*/
- if (val == SCM_EOL || val == SCM_BOOL_F)
+ if (scm_is_null (val) || scm_is_false (val))
return true;
- if (val != SCM_EOL
+ if (!scm_is_null (val)
&& ly_is_procedure (type)
- && scm_call_1 (type, val) == SCM_BOOL_F)
+ && scm_is_false (scm_call_1 (type, val)))
{
SCM typefunc = ly_lily_module_constant ("type-name");
SCM type_name = scm_call_1 (typefunc, type);
-
+
warning (_f ("type check for `%s' failed; value `%s' must be of type `%s'",
ly_symbol2string (sym).c_str (),
print_scm_val (val),
}
string
-robust_scm2string (SCM k, string s)
+robust_scm2string (SCM k, const string &s)
{
if (scm_is_string (k))
- s = ly_scm2string (k);
+ return ly_scm2string (k);
return s;
}
int
robust_scm2int (SCM k, int o)
{
- if (scm_integer_p (k) == SCM_BOOL_T)
+ if (scm_is_integer (k))
o = scm_to_int (k);
return o;
}
vsize
robust_scm2vsize (SCM k, vsize o)
{
- if (scm_integer_p (k) == SCM_BOOL_T)
+ if (scm_is_integer (k))
{
int i = scm_to_int (k);
if (i >= 0)