lilypond-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Lilypond-auto] Issue 3631 in lilypond: 2.17 does a worse job using


From: lilypond
Subject: Re: [Lilypond-auto] Issue 3631 in lilypond: 2.17 does a worse job using skylines for the page layout than 2.16
Date: Wed, 23 Oct 2013 23:31:17 +0000

Updates:
        Cc: address@hidden

Comment #2 on issue 3631 by address@hidden: 2.17 does a worse job using skylines for the page layout than 2.16
http://code.google.com/p/lilypond/issues/detail?id=3631

Ok, bisected this problem. It's not 2.17 per se. The problem starts in 2.17.14:

74e4d219b24ec6d6f28d663c0285418e6c8e122e is the first bad commit
commit 74e4d219b24ec6d6f28d663c0285418e6c8e122e
Author: Mike Solomon <address@hidden>
Date:   Tue Mar 5 21:03:55 2013 +0100

Uses only unpure-pure containers to articulate unpure-pure relationships (issue 3199)

    Previously, LilyPond used several different lists in define-grobs.scm
    to define relationships between unpure and pure functions.  This patch
    eliminates these lists, using unpure-pure containers to articulate
    these relationships.

    The modifications required to implement this change are described below:

    -) axis-group-interface.cc
    A Scheme function is no longer needed to determine pure relevant grobs.
    All grobs can have their Y-extents meaningfully pure-evaluated now. The
    worst-case scenario is that they evaluate to false. Dead grobs, on the
    other hand, are never pure relevant. The calls to is_live are the only
    holdovers from the old pure-relevant? scheme function.

    -) grob-closure.cc
    We allow unpure-pure containers in simple closures.

    -) grob-property.cc
    call_pure_function no longer looks up a Scheme module. Because there are
    no hard-coded lists in Scheme any more, the function is smaller and
    writing it in C++ gets slight efficiency gains.

    -) grob.cc
    pure_stencil_height used to be a Scheme function in define-grobs.scm.
Because it is much simpler (it no longer makes references to lists defined
    in Scheme), it can be implemented in C++.

    -) pure-from-neighbor-engraver.cc
    Similar to axis-group-interface.cc, the pure-relevant distinction is
    no longer important.

    -) side-position-interface.cc
    In order to avoid issues with alterBroken, we only check pure properties
    before line breaking.

    -) simple-closure.cc
    Simple closures were incorrectly evaluated when containing unpure-pure
    containers. This rectifies that.

    -) stencil-integral.cc
    Several pure equivalent functions needed to be written for skylines.

    -) define-grobs.scm
    Multiple overrides must be changed to unpure-pure containers. Previous
    hard-coded lists are all deleted and several functions moved to C++ (see
    above).

    -) output-lib.scm
    Several common unpure-pure containers used in define-grobs.scm are
    defined here. Several functions from define-grobs.scm pertaining to
    grob offsets are moved to this file.

:040000 040000 69f10e267f63d1c3315e91557e9a61658a04c53b 7f47f318dd89f2e1768860293c1ed86c1fa23114 M input :040000 040000 7d0fce689cff49901f19d3ba182f253f6c27338b 4739327adefbb80fee3aa1e3c5b36a1ade66f595 M lily :040000 040000 1c9e860a272a4b38f36526023369319afd97820d 3ff043eb2e0349161f551d615ddbc2ee13387a2c M ly :040000 040000 2cfacbdbf1649347fd715b20a1d3afbdc15deb8e dcc4ac6d62edc606de038cac934da023971574d1 M scm

I don't see that the description of this patch would warrant such an increase in space.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings



reply via email to

[Prev in Thread] Current Thread [Next in Thread]