using namespace std;
-#include "config.hh"
-
#include "dimensions.hh"
#include "direction.hh"
#include "file-path.hh"
return result;
}
-void
-ly_display_scm (void *s)
-{
- scm_display ((SCM)s, scm_current_output_port ());
- scm_newline (scm_current_output_port ());
-}
+extern "C" {
+ // maybe gdb 5.0 becomes quicker if it doesn't do fancy C++ typing?
+ void
+ ly_display_scm (SCM s)
+ {
+ scm_display (s, scm_current_output_port ());
+ scm_newline (scm_current_output_port ());
+ }
+};
string
ly_scm2string (SCM str)
scm_to_double (scm_cdr (s)));
}
+SCM
+ly_offsets2scm (vector<Offset> os)
+{
+ SCM l = SCM_EOL;
+ SCM *tail = &l;
+ for (vsize i = 0; i < os.size (); i++)
+ {
+ *tail = scm_cons (ly_offset2scm (os[i]), SCM_EOL);
+ tail = SCM_CDRLOC(*tail);
+ }
+ return l;
+}
+
+vector<Offset>
+ly_scm2offsets (SCM s)
+{
+ vector<Offset> os;
+ for (; scm_is_pair (s); s = scm_cdr (s))
+ os.push_back (ly_scm2offset (scm_car (s)));
+ return os;
+}
+
SCM
ly_deep_copy (SCM src)
{