Neil Puttock <[email protected]> writes: > 2009/11/24 David Kastrup <[email protected]>: > >> After applying <URL:http://codereview.appspot.com/160048> first, >> indeed the following diff that throws out all the toplevel scoping >> constructs and separate definitions of define-markup-command and >> define-markup-list-command passes the regressions tests. Furthermore, >> tests show that the namespace of markups defined in one input file does >> not extend into the next input file. > > As far as I can see, all you've done is effectively revert Nicolas's > code which fixed the memory leaks, so I can't see why it would work. > > I've just applied your patch, and as expected, I get the following > errors with nearly every file (using a binary compiled with > --disable-optimising): > > programming error: Parsed object should be dead: static > scm_unused_struct* Prob::mark_smob(scm_unused_struct*) > continuing, cross fingers > programming error: Parsed object should be dead: static > scm_unused_struct* Context_def::mark_smob(scm_unused_struct*) > continuing, cross fingers
I can't reproduce this with guile-1.8.7 and g++-4.4.1 from Ubuntu 9.10. The memory leak might possible be dealt with by putting the following code into markup-init.ly:
%% -*- Mode: Scheme -*- \version "2.12.0" % For documentation purposes % We add local bindings here to have the data structures go out of % scope at the end of the top module. % category -> markup functions #(define markup-functions-by-category (make-hash-table 150)) % markup function -> used properties #(define markup-functions-properties (make-hash-table 150)) % List of markup list functions #(define markup-list-function-list (list))
> Furthermore, make check segfaults if I use -j2. No idea about the relation to the patch. -- David Kastrup
_______________________________________________ lilypond-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-devel
