source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <stdio.h>
void
copy_scm_hashes (SCM dest, SCM src)
{
- for (int i = SCM_LENGTH(src); i--;)
+ for (int i = SCM_SYMBOL_LENGTH (src); i--;)
for (SCM s = scm_vector_ref (src, SCM_MAKINUM (i)); ly_pair_p(s); s = ly_cdr (s))
{
scm_hashq_set_x (dest, ly_caar (s), ly_cdar (s));
assert (unsmob (s));
char str[1000];
sprintf (str, "#<Scheme_hash_table 0x%0lx ", SCM_UNPACK(s));
- Scheme_hash_table *me = (Scheme_hash_table*) SCM_CELL_WORD_1 (s);
- scm_display (me->hash_tab_, p);
- scm_puts ("> ",p);
- return 1;
+ Scheme_hash_table *me = (Scheme_hash_table*) SCM_CELL_WORD_1 (s);
+ scm_display (me->hash_tab_, p);
+ scm_puts ("> ",p);
+ return 1;
}
bool
/*
resize if getting too large.
*/
- if (elt_count_ > 2 * SCM_LENGTH (hash_tab_))
+ if (elt_count_ > 2 * SCM_SYMBOL_LENGTH (hash_tab_))
{
SCM nh = scm_make_vector (gh_int2scm (3* elt_count_+1), SCM_EOL);
copy_scm_hashes (nh, hash_tab_);
Scheme_hash_table::to_alist () const
{
SCM l = SCM_EOL;
- for (int i = SCM_LENGTH(hash_tab_); i--;)
+ for (int i = SCM_SYMBOL_LENGTH (hash_tab_); i--;)
for (SCM s = scm_vector_ref (hash_tab_, gh_int2scm (i)); ly_pair_p(s); s = ly_cdr (s))
{
l = scm_acons (ly_caar (s), ly_cdar (s), l);
-IMPLEMENT_UNSMOB (Scheme_hash_table,scheme_hash);
+
IMPLEMENT_SMOBS (Scheme_hash_table);
IMPLEMENT_DEFAULT_EQUAL_P (Scheme_hash_table);