IMPLEMENT_UNSMOB(Identifier, identifier);
IMPLEMENT_SMOBS(Identifier);
+IMPLEMENT_DEFAULT_EQUAL_P(Identifier);
Identifier::Identifier (int code)
{
- self_scm_ = SCM_EOL;
token_code_i_ = code;
accessed_b_ = 0;
+ smobify_self ();
}
Identifier::Identifier (Identifier const&s)
: Input (s)
{
- self_scm_ = SCM_EOL;
+ smobify_self ();
token_code_i_ = s.token_code_i_;
accessed_b_ = s.accessed_b_;
}
-void
-Identifier::do_smobify_self ()
-{
-
-}
Lookup::Lookup ()
{
afm_l_ = 0;
- self_scm_ = SCM_EOL;
- smobify_self ();
}
Lookup::Lookup (Lookup const& s)
{
font_name_ = s.font_name_;
- self_scm_ = SCM_EOL;
afm_l_ = 0;
- smobify_self ();
}
SCM
return 1;
}
-SCM
-Lookup::equal_p (SCM a , SCM b)
-{
- return a == b ? SCM_BOOL_T : SCM_BOOL_F;
-}
-
-void
-Lookup::do_smobify_self ()
-{
-
-}
IMPLEMENT_UNSMOB(Lookup, lookup);
-IMPLEMENT_SMOBS(Lookup);
+IMPLEMENT_SIMPLE_SMOBS(Lookup);
+IMPLEMENT_DEFAULT_EQUAL_P(Lookup);
SCM
Lookup::make_lookup ()
{
Lookup * l = new Lookup;
- SCM ls = l->self_scm_;
- scm_unprotect_object (ls);
- return ls;
+ return l->smobbed_self();
}
{
Moment now (now_mom ());
-
SCM smp = get_property ("measurePosition");
Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
}
void
-Paper_def::set_lookup (int i, Lookup*l)
+Paper_def::set_lookup (int i, SCM l)
{
- lookup_alist_ = scm_assq_set_x(lookup_alist_, gh_int2scm (i), l->self_scm_);
+ assert (unsmob_lookup (l));
+ lookup_alist_ = scm_assq_set_x(lookup_alist_, gh_int2scm (i), l);
}
for (SCM s = me->get_elt_property ("elements"); gh_pair_p (s); s = gh_cdr (s))
{
SCM elt = gh_car (s);
- if (!SMOB_IS_TYPE_B(Score_element, elt))
+ if (!unsmob_element (elt))
continue;
-
+
Item *il = dynamic_cast<Item*> (unsmob_element (elt));
if (pc != il->column_l ())
{
for (SCM s = mins; gh_pair_p (s); s = gh_cdr (s))
{
SCM dist = gh_car (s);
- if (gh_car (dist) == p->self_scm_)
+ if (gh_car (dist) == p->self_scm ())
{
gh_set_cdr_x (dist, scm_max (gh_cdr (dist),
newdist));
}
}
- mins = gh_cons (gh_cons (p->self_scm_, newdist), mins);
+ mins = gh_cons (gh_cons (p->self_scm (), newdist), mins);
me->set_elt_property ("minimum-distances", mins);
}
for (SCM s = mins; gh_pair_p (s); s = gh_cdr (s))
{
SCM dist = gh_car (s);
- if (gh_car (dist) == p->self_scm_)
+ if (gh_car (dist) == p->self_scm ())
{
programming_error("already have that spring");
return ;
}
SCM newstrength= gh_double2scm (strength);
- mins = gh_cons (gh_cons (p->self_scm_, gh_cons (newdist, newstrength)), mins);
+ mins = gh_cons (gh_cons (p->self_scm (), gh_cons (newdist, newstrength)), mins);
me->set_elt_property ("ideal-distances", mins);
}