* scripts/lilypond-book.py (find_linestarts): new function.
(find_toplevel_snippets): keep track of line numbers.
2005-04-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/time-signature-performer.cc (derived_mark): new function.
+
* lily/lily-parser-scheme.cc: print mapped file name for progress
* scripts/lilypond-book.py (find_linestarts): new function.
@itemize @bullet
+
+@item
+@file{lilypond-book} now makes @file{lilypond} print line numbers
+relative to the input file for every error message.
+
@item
A new @code{\circle} markup command allows for all kinds of circled texts
Spaceable_grob::add_rod (Grob *me, Grob *p, Real d)
{
// printf ("rod %lf\n", d);
- if (isinf (d) || d < 0)
+ if (d < 0)
+ return ;
+
+ if (isinf (d))
{
- programming_error ("Weird rod");
+ programming_error ("Infinite rod");
}
SCM mins = get_minimum_distances (me);
#include "audio-item.hh"
#include "performer.hh"
+#include "protected-scm.hh"
class Time_signature_performer : public Performer
{
virtual void stop_translation_timestep ();
virtual void create_audio_elements ();
-
+ virtual void derived_mark () const;
SCM prev_fraction_;
private:
Audio_time_signature *audio_;
};
+void
+Time_signature_performer::derived_mark () const
+{
+ scm_gc_mark (prev_fraction_);
+}
+
Time_signature_performer::Time_signature_performer ()
{
prev_fraction_ = SCM_BOOL_F;
(if (member x formats) (set! new-fmts (cons x new-fmts))))
'("tex" "dvi" "ps" "pdf" "png"))
- (reverse new-fmts))
+ (uniq-list (reverse new-fmts)))
(define (header-to-file file-name key value)
(set! key (symbol->string key))
(display "%%Trailer\n%%EOF\n" port)
(ly:outputter-close outputter)
- (postprocess-output book framework-ps-module filename (ly:output-formats))
+ (postprocess-output book framework-ps-module filename
+ (completize-formats (ly:output-formats)))
))
(if (not (defined? 'nan?))
if snippet_type_to_class.has_key (type):
cl = snippet_type_to_class[type]
+
+ start = index + m.start ('match')
line_number = line_start_idx
- while (line_starts[line_number] < index):
+ while (line_starts[line_number] < start):
line_number += 1
line_number += 1
snip = cl (type, m, format, line_number)
- start = index + m.start ('match')
found[type] = (start, snip)
if found[type] \