+1.4.8.jcn1
+==========
+
+* Backported more guile > 1.4 compatibility stuff.
+
+1.4.8
+=====
+
1.4.7.jcn2
==========
<p>
Please send comments on these web pages to
-<a href="mailto:@MAIL_ADDRESS@"><em>@MAIL_ADDRESS@</em></a>
+<a href="mailto:@MAILADDRESS@"><em>@MAILADDRESS@</em></a>
<p>
MAJOR_VERSION=1
MINOR_VERSION=4
PATCH_LEVEL=8
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
+dnl WARNING WARNING WARNING WARNING
+dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
dnl aclocal.m4 -*-shell-script-*-
dnl StepMake subroutines for configure.in
next_origin = ly_symbol2scm ("begin-of-note");
SCM alist = me->get_grob_property ("space-alist");
- SCM e = scm_assoc (scm_listify (current_origin,
- next_origin,
- SCM_UNDEFINED), alist);
+ SCM e = scm_assoc (scm_list_n (current_origin,
+ next_origin,
+ SCM_UNDEFINED), alist);
SCM extra_space;
if (e != SCM_BOOL_F)
warning (_f ("unknown spacing pair `%s', `%s'",
ly_symbol2string (current_origin),
ly_symbol2string (next_origin)));
- extra_space = scm_listify (ly_symbol2scm ("minimum-space"), gh_double2scm (0.0), SCM_UNDEFINED);
+ extra_space = scm_list_n (ly_symbol2scm ("minimum-space"), gh_double2scm (0.0), SCM_UNDEFINED);
}
SCM symbol = gh_car (extra_space);
return 1;
}
-static
-scm_sizet free_smob (SCM)
+static size_t
+free_smob (SCM)
{
return 0;
}
*/
pscore_l_=0;
- status_i_ = 0;
+ status_c_ = 0;
original_l_ = 0;
immutable_property_alist_ = basicprops;
mutable_property_alist_ = SCM_EOL;
immutable_property_alist_ = s.immutable_property_alist_;
mutable_property_alist_ = SCM_EOL;
- status_i_ = s.status_i_;
+ status_c_ = s.status_c_;
pscore_l_ = s.pscore_l_;
smobify_self ();
void
Grob::calculate_dependencies (int final, int busy, SCM funcname)
{
- assert (status_i_ >=0);
-
- if (status_i_ >= final)
+ if (status_c_ >= final)
return;
- if (status_i_== busy)
+ if (status_c_== busy)
{
programming_error ("Element is busy, come back later");
return;
}
- status_i_= busy;
+ status_c_= busy;
for (SCM d= get_grob_property ("dependencies"); gh_pair_p (d); d = gh_cdr (d))
{
if (gh_procedure_p (proc))
gh_call1 (proc, this->self_scm ());
- status_i_= final;
+ status_c_= final;
}
0 means ORPHAN,
*/
- char status_i_;
+ char status_c_;
String name () const;
/*
/**
Recursively track all dependencies of this Grob. The
- status_i_ field is used as a mark-field. It is marked with
+ status_c_ field is used as a mark-field. It is marked with
#busy# during execution of this function, and marked with #final#
when finished.
void \
CL::init_smobs () \
{ \
- smob_tag_ = scm_make_smob_type_mfpe ( \
- #CL, 0, CL::mark_smob, CL::free_smob, CL::print_smob, \
- CL::equal_p); \
+ smob_tag_ = scm_make_smob_type (#CL, 0); \
+ scm_set_smob_mark (smob_tag_, CL::mark_smob); \
+ scm_set_smob_free (smob_tag_, CL::free_smob); \
+ scm_set_smob_print (smob_tag_, CL::print_smob); \
+ scm_set_smob_equalp (smob_tag_, CL::equal_p); \
} \
SCM CL::smobbed_self () const \
{ \
SCM s; \
s = gh_cons (SCM_PACK (CL::smob_tag_), SCM_PACK (this)); \
- scm_done_malloc (sizeof (CL)); \
+ scm_done_malloc (sizeof (CL)); \
\
return s; \
} \
else \
return 0; \
} \
-scm_sizet \
+size_t \
CL::free_smob (SCM ses) \
{ \
CL * s = (CL*) SCM_CDR (ses); \
2. UPON DESTRUCTION, DO
- scm_unprotect_object (tab->self_scm_);
+ scm_gc_unprotect_object (tab->self_scm_);
return 1;
}
-static
-scm_sizet free_smob (SCM s)
+static size_t
+free_smob (SCM s)
{
delete unsmob_input (s);
return 0;
static
void start_input_smobs ()
{
- input_tag
- = scm_make_smob_type_mfpe ("input", 0,
- mark_smob, free_smob,
- print_smob, 0);
- scm_c_define_gsubr ("ly-input-location?", 1, 0, 0, (Scheme_function_unknown)ly_input_p);
-
+ input_tag = scm_make_smob_type ("input", 0);
+ scm_set_smob_mark (input_tag, mark_smob);
+ scm_set_smob_free (input_tag, free_smob);
+ scm_set_smob_print (input_tag, print_smob);
+ scm_set_smob_equalp (input_tag, 0);
+
+ scm_c_define_gsubr ("ly-input-location?", 1, 0, 0,
+ (Scheme_function_unknown)ly_input_p);
}
SCM
{
if (SCM_IMP (s))
return 0;
- if ((long)SCM_CAR (s) == input_tag) // ugh.
+ if (SCM_CAR (s) == (SCM)input_tag) // ugh.
return (Input*) SCM_CDR (s);
else
return 0;
SCM vis = get_grob_property ("visibility-lambda");
if (gh_procedure_p (vis))
{
- SCM args = scm_listify (gh_int2scm (break_status_dir ()), SCM_UNDEFINED);
+ SCM args = scm_list_n (gh_int2scm (break_status_dir ()), SCM_UNDEFINED);
SCM result = gh_apply (vis, args);
bool trans = gh_scm2bool (gh_car (result));
bool empty = gh_scm2bool (gh_cdr (result));
if (key_req_l_)
{
SCM pitchlist = key_req_l_->get_mus_property ("pitch-alist");
- SCM proc = scm_eval2 (ly_symbol2scm ("accidentals-in-key"), SCM_EOL);
+ SCM proc = scm_primitive_eval (ly_symbol2scm ("accidentals-in-key"));
SCM acc = gh_call1 (proc, pitchlist);
- proc = scm_eval2 (ly_symbol2scm ("major-key"), SCM_EOL);
+ proc = scm_primitive_eval (ly_symbol2scm ("major-key"));
SCM major = gh_call1 (proc, pitchlist);
audio_p_ = new Audio_key (gh_scm2int (acc), major == SCM_BOOL_T);
Audio_element_info info (audio_p_, key_req_l_);
SCM_OPN | SCM_WRTNG,
"ly_write2string");
// SCM write = scm_eval_3 (ly_symbol2scm ("write"), s, SCM_EOL);
- SCM write = scm_eval2 (ly_symbol2scm ("write"), SCM_EOL);
+ SCM write = scm_primitive_eval (ly_symbol2scm ("write"));
// scm_apply (write, port, SCM_EOL);
gh_call2 (write, s, port);
/* Read expression from port */
if (!SCM_EOF_OBJECT_P (form = scm_read (port)))
- answer = scm_eval_3 (form, 1, SCM_EOL); // guh?
-
+ answer = scm_primitive_eval (form);
+
/*
After parsing
ly_symbol2string (SCM s)
{
assert (gh_symbol_p (s));
- return String ((Byte*)SCM_CHARS (s), (int) SCM_LENGTH (s));
+ return String ((Byte*)SCM_STRING_CHARS (s), (int) SCM_STRING_LENGTH (s));
}
{
Byte program_byte = 0;
bool found = false;
- SCM proc = scm_eval2 (ly_symbol2scm ("midi-program"), SCM_EOL);
+ SCM proc = scm_primitive_eval (ly_symbol2scm ("midi-program"));
SCM program = gh_call1 (proc, ly_symbol2scm (audio_l_->str_.ch_C()));
found = (program != SCM_BOOL_F);
if (found)
/*
music-list.cc -- implement Music_sequence, Simultaneous_music, Sequential_music
-
source file of the GNU LilyPond music typesetter
-
(c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
UGH: use grob-property.
*/
Molecule out = Font_interface::get_default_font (me)->find_by_name (String ("noteheads-") +
- ly_scm2string (scm_eval2 (gh_list (ly_symbol2scm ("find-notehead-symbol"),
+ ly_scm2string (scm_primitive_eval (gh_list (ly_symbol2scm ("find-notehead-symbol"),
me->get_grob_property ("duration-log"),
ly_quote_scm (style),
- SCM_UNDEFINED),
- SCM_EOL)));
+ SCM_UNDEFINED))));
if (streepjes_i)
{
SCM exp = gh_list (ly_symbol2scm ((output_format_global + "-scm").ch_C ()),
ly_quote_scm (ly_symbol2scm ("all-definitions")),
SCM_UNDEFINED);
- exp = scm_eval2 (exp, SCM_EOL);
- scm_eval2 (exp, SCM_EOL);
+ exp = scm_primitive_eval (exp);
+ scm_primitive_eval (exp);
String creator = gnu_lilypond_version_str ();
}
else
{
- SCM result = scm_eval2 (s, SCM_EOL);
+ SCM result = scm_primitive_eval (s);
char *c=gh_scm2newstr (result, NULL);
*stream_p_ << c;
r-> set_mus_property ("alternatives", alts->self_scm ());
scm_gc_unprotect_object (alts->self_scm ());
}
- SCM func = scm_eval2 (ly_symbol2scm ("repeat-name-to-ctor"), SCM_EOL);
+ SCM func = scm_primitive_eval (ly_symbol2scm ("repeat-name-to-ctor"));
SCM result = gh_call1 (func, $2);
set_music_properties (r, result);
sp-> set_mus_property ("context-type", ly_str02scm ( "Score"));
}
| CLEF STRING {
- SCM func = scm_eval2 (ly_symbol2scm ("clef-name-to-properties"), SCM_EOL);
+ SCM func = scm_primitive_eval (ly_symbol2scm ("clef-name-to-properties"));
SCM result = gh_call1 (func, $2);
SCM l = SCM_EOL;
$$ = $1;
}
| string '+' string {
- $$ = scm_string_append (scm_listify ($1, $3, SCM_UNDEFINED));
+ $$ = scm_string_append (scm_list_n ($1, $3, SCM_UNDEFINED));
}
;
if (first_pitches != SCM_EOL && second_pitches != SCM_EOL)
{
scm_sort_list_x (first_pitches,
- scm_eval2 (ly_str02scm ("Pitch::less_p"),
- SCM_EOL));
+ scm_primitive_eval (ly_str02scm ("Pitch::less_p")));
scm_sort_list_x (second_pitches,
- scm_eval2 (ly_str02scm ("Pitch::less_p"),
- SCM_EOL));
+ scm_primitive_eval (ly_str02scm ("Pitch::less_p")));
+
interval = gh_int2scm (unsmob_pitch (gh_car (first_pitches))->steps ()
- unsmob_pitch (gh_car (scm_last_pair (second_pitches)))->steps ());
}
if (first_durations != SCM_EOL)
{
scm_sort_list_x (first_durations,
- scm_eval2 (ly_str02scm ("Duration::less_p"),
- SCM_EOL));
+ scm_primitive_eval (ly_str02scm ("Duration::less_p")));
first_mom += unsmob_duration (gh_car (first_durations))->length_mom ();
}
if (second_durations != SCM_EOL)
{
scm_sort_list_x (second_durations,
- scm_eval2 (ly_str02scm ("Duration::less_p"),
- SCM_EOL));
+ scm_primitive_eval (ly_str02scm ("Duration::less_p")));
second_mom += unsmob_duration (gh_car (second_durations))->length_mom ();
}
if (val == SCM_EOL)
; // Not defined in context.
- else if (gh_apply (type_p, scm_listify (val, SCM_UNDEFINED))
+ else if (gh_apply (type_p, scm_list_n (val, SCM_UNDEFINED))
== SCM_BOOL_T) // defined and right type: do it
{
e->set_grob_property (elt_prop_sym, val);
if (val != SCM_EOL)
{ // not the right type: error message.
SCM errport = scm_current_error_port ();
- SCM typefunc = scm_eval2 (ly_symbol2scm ("type-name"), SCM_EOL);
+ SCM typefunc = scm_primitive_eval (ly_symbol2scm ("type-name"));
SCM type_name = gh_call1 (typefunc, type_p);
warning (_f ("Wrong type for property: %s, type: %s, value found: %s, type: %s",
ly_symbol2string (prop_sym).ch_C (),
int stemdir = stem ? Stem::get_direction (stem) : 1;
int slurdir = gh_scm2int (me->get_grob_property ("direction"));
SCM l = scm_assoc
- (scm_listify (a,
+ (scm_list_n (a,
gh_int2scm (stemdir * dir),
gh_int2scm (slurdir * dir),
SCM_UNDEFINED), alist);
{
/*
We'd be fucked if this is called before spanned_drul_[] is inited. */
- if (status_i_ == ORPHAN)
+ if (status_c_ == ORPHAN)
return SCM_EOL;
Direction d = LEFT;
void
Staff_performer::stop_translation_timestep ()
{
- SCM proc = scm_eval2 (ly_symbol2scm ("percussion-p"), SCM_EOL);
+ SCM proc = scm_primitive_eval (ly_symbol2scm ("percussion-p"));
SCM drums_p = gh_call1 (proc, ly_symbol2scm (instrument_str_.ch_C()));
audio_staff_p_->channel_i_ = (drums_p == SCM_BOOL_T ? 9 : -1 );
if (name_p_)
Item* item = dynamic_cast<Item*> (me);
Item * col = item->column_l ();
SCM dirlist =col->get_grob_property ("dir-list");
- if (scm_sloppy_memq (scmdir, dirlist) == SCM_BOOL_F)
+ if (scm_c_memq (scmdir, dirlist) == SCM_BOOL_F)
{
dirlist = gh_cons (scmdir, dirlist);
col->set_grob_property ("dir-list", dirlist);
{
SCM errport = scm_current_error_port ();
ok = false;
- SCM typefunc = scm_eval2 (ly_symbol2scm ("type-name"), SCM_EOL);
+ SCM typefunc = scm_primitive_eval (ly_symbol2scm ("type-name"));
SCM type_name = gh_call1 (typefunc, type_p);
scm_puts (_f ("Type check for `%s' failed; value `%s' must be of type `%s'",
)
(define (scm-as-output)
- (ly-eval (as-scm 'all-definitions)))
+ (primitive-eval (as-scm 'all-definitions)))
bass-and-inversion steps)))
(define (chord::restyle name style)
- (ly-eval (string->symbol
+ (primitive-eval (string->symbol
(string-append (symbol->string name)
(symbol->string style)))))
;;;; drum-"hack". See input/tricks/drums.ly and ly/drumpitch.ly
;;;; 2001/03/25 Rune Zedeler <rune@zedeler.dk>
-;;;; changed eval to ly-eval for guile 1.4/1.4.1 compatibility --jcn
+;;;; changed eval to primitive-eval for guile 1.4/1.4.1 compatibility --jcn
(define (seq-music-list elts)
(let* ( (ml (ly-make-music "Sequential_music")) )
(begin
(display p) ;; UGH. FIXME. pitch->string ???
(ly-warn " unknown drumpitch.")
- (cdar (ly-eval kit))
+ (cdar (primitive-eval kit))
))
((eq? p (caddr (car pitches))) ((name->paper kit) (caar pitches)) )
(else (p2p (cdr pitches) ) )
)
)
(define ((name->paper kit) n)
- (let n2p ((pitches (ly-eval kit)))
+ (let n2p ((pitches (primitive-eval kit)))
(cond ((eq? pitches '())
(begin
(ly-warn (string-append "Kit `" (symbol->string kit) "' doesn't contain drum `" n
"'\nSee lily/drumpitch.ly for supported drums."))
- (cdar (ly-eval kit))
+ (cdar (primitive-eval kit))
))
((eq? n (caar pitches)) (cdar pitches) )
(else (n2p (cdr pitches) ) )
))
-(ly-eval (cons
+(primitive-eval (cons
'begin
(map (lambda (x) (list 'define (car x) (list 'quote (cdr x))))
all-interfaces)))
;;; Un-assorted stuff
;; URG guile-1.4/1.4.x compatibility
-(define (ly-eval x) (eval2 x #f))
+(if (not (defined? 'primitive-eval))
+ (define (primitive-eval form)
+ (eval2 form #f)))
(define (sign x)
(if (= x 0)
)
(define (scm-pdf-output)
- (ly-eval (pdf-scm 'all-definitions)))
+ (primitive-eval (pdf-scm 'all-definitions)))
; Local Variables:
; scheme-program-name: "guile"
)
(define (scm-pdftex-output)
- (ly-eval (pdftex-scm 'all-definitions)))
+ (primitive-eval (pdftex-scm 'all-definitions)))
)
(define (scm-ps-output)
- (ly-eval (ps-scm 'all-definitions)))
+ (primitive-eval (ps-scm 'all-definitions)))
)
(define (scm-tex-output)
- (ly-eval (tex-scm 'all-definitions)))
+ (primitive-eval (tex-scm 'all-definitions)))
<p><font size="-1">
This page was built from @PACKAGE_NAME@-@PACKAGE_VERSION@ by<br>
</font>
-<address><font size="-1">@GCOS@ <<a href="mailto:%s">@MAIL_ADDRESS@</a>>,
+<address><font size="-1">@GCOS@ <<a href="mailto:%s">@MAILADDRESS@</a>>,
@LOCALTIME@.</font></address>"""
s = re.sub ('@WEBMASTER@', webmaster, s)
s = re.sub ('@GCOS@', gcos, s)
s = re.sub ('@LOCALTIME@', localtime, s)
- s = re.sub ('@MAIL_ADDRESS@', mail_address, s)
+ s = re.sub ('@MAILADDRESS@', mail_address, s)
open (f, 'w').write (s)