Menu

#4609 Move \once action from iterators to listeners

Verified
Enhancement
2015-10-03
2015-09-15
No

Owner: dak@gnu.org

This ends the dependency of the events generated for \once\unset and
\once\set on the current context (bad for recording and replaying events
like with the part combiner and quoted music). It also implements
\once\revert and makes every \once\override and \once\revert impervious
to any other overrides and reverts that may happen at the same time.

Also contains commits (obviously making issue [#4596] abandoned):

Issue 4596/6: Document \once \revert

Issue 4596/5: Regtest for \once \revert

Issue 4596/4: Let \displayLilyMusic heed \once \unset and \once \revert

Create ly:context-matched-pop-property

Add Grob_property_info::temporary_{override,revert} functions

Let nalist_to_alist accept temporary overrides/reverts

At the current point of time, some Midi properties (balance, pan and
others) are implemented via SetProperty events. Those have not yet
been converted to deal with \once. The disadvantage of this patch is
that all recipients of SetProperty/UnsetProperty/Override/Revert now
have to implement the "once" property themselves. The advantage is
that at the time of recording events, the actual property values for
undoing the action are not reliably known and shifting the
implementation of \once to the listeners makes its behavior reliable.

As a side effect, it should be possible to revisit issue [#4131] without
the principal shortcomings that stalled it.

Rietveld issue: 265180043

Related

Issues: #4131
Issues: #4596

Discussion

  • Anonymous

    Anonymous - 2015-09-15
    • status: New --> Started
     
  • Anonymous

    Anonymous - 2015-09-16
    • Patch: new --> review
     
  • Anonymous

    Anonymous - 2015-09-16

    Passes make, make check and a full make doc.

     
  • Anonymous

    Anonymous - 2015-09-17

    Patch on countdown for September 20th

     
  • Anonymous

    Anonymous - 2015-09-17
    • Patch: review --> countdown
     
  • Anonymous

    Anonymous - 2015-09-20

    Patch counted down - please push

     
  • Anonymous

    Anonymous - 2015-09-20
    • Patch: countdown --> push
     
  • Simon Albrecht

    Simon Albrecht - 2015-09-20
    • labels: --> Fixed_2_19_28
    • status: Started --> Fixed
    • Patch: push -->
     
  • Simon Albrecht

    Simon Albrecht - 2015-09-20
    Pushed to staging as merge commit
    
    *   commit 313d11786149a101118f3db1ab319ca0c7b6f113
    |\  Merge: bf7f767 28add69
    | | Author: David Kastrup <dak@gnu.org>
    | | Date:   Sun Sep 20 15:16:31 2015 +0200
    | | 
    | |     Merge branch 'issue4609' into HEAD
    | |   
    | * commit 28add695953862ef4a87f9fbeadd1d02dc299244
    | | Author: David Kastrup <dak@gnu.org>
    | | Date:   Tue Sep 8 09:57:36 2015 +0200
    | | 
    | |     Issue 4609/7: Document \once \revert
    | |   
    | * commit c7632cdcacc566dac0bd8a1382ae2fda5d33cda3
    | | Author: David Kastrup <dak@gnu.org>
    | | Date:   Tue Sep 8 15:16:28 2015 +0200
    | | 
    | |     Issue 4609/6: Regtest for \once \revert
    | |   
    | * commit 5e0a5fa7bd8c923732e18e3c0cab2aa26c5fec93
    | | Author: David Kastrup <dak@gnu.org>
    | | Date:   Mon Sep 7 23:09:09 2015 +0200
    | | 
    | |     Issue 4609/5: Let \displayLilyMusic heed \once \unset and \once \revert
    | |   
    | * commit 314743a9769d8094d23cd45eb307b1485b41cb44
    | | Author: David Kastrup <dak@gnu.org>
    | | Date:   Tue Sep 15 20:50:13 2015 +0200
    | | 
    | |     Issue 4609/4: Move \once action from iterators to listeners
    | |     
    | |     This ends the dependency of the events generated for \once\unset and
    | |     \once\set on the current context (bad for recording and replaying events
    | |     like with the part combiner and quoted music).  It also implements
    | |     \once\revert and makes every \once\override and \once\revert impervious
    | |     to any other overrides and reverts that may happen at the same time.
    | |   
    | * commit ab62fdca38d77aaf780b209f2b420f9c70053d98
    | | Author: David Kastrup <dak@gnu.org>
    | | Date:   Tue Sep 15 20:44:29 2015 +0200
    | | 
    | |     Issue 4609/3: Create ly:context-matched-pop-property
    | |   
    | * commit f60196bc3f9f565ad484edec211101ad491af8b5
    | | Author: David Kastrup <dak@gnu.org>
    | | Date:   Tue Sep 15 17:16:36 2015 +0200
    | | 
    | |     Issue 4609/2: Add Grob_property_info::temporary_{override,revert} functions
    | |   
    | * commit 66f2e4d70f2ca06003240100b3305b91ba504354
    |/  Author: David Kastrup <dak@gnu.org>
    |   Date:   Tue Sep 15 12:57:17 2015 +0200
    |   
    |       Issue 4609/1: Let nalist_to_alist accept temporary overrides/reverts
    |  
    
     
  • Trevor Daniels

    Trevor Daniels - 2015-10-02
    • assigned_to: David Kastrup
     
  • Trevor Daniels

    Trevor Daniels - 2015-10-03
    • status: Fixed --> Verified
     
MongoDB Logo MongoDB