Menu

#4911 Don't treat context modification identifiers special

Verified
Maintainability
2016-08-02
2016-06-30
No

Don't treat context modification identifiers special

This requires using \with before context modifications like
\RemoveEmptyStaves in order to make the syntax get along
with fewer special cases and exceptions.

Also contains commits:

Run scripts/auxiliar/update-with-convert-ly.sh

convert-ly rule to put \with before context mods

\with #unspecified should be equivalent to \with { }

http://codereview.appspot.com/299460043

Discussion

  • Anonymous

    Anonymous - 2016-07-01
    • Description has changed:

    Diff:

    
    
    • Needs: -->
    • Patch: new --> review
     
  • Anonymous

    Anonymous - 2016-07-01

    I'm getting programming errors but I know these types of errors can happen because of the way patches are tested (or something like that), the errors are these repeated on a number of reg tests:

    --snip--

    input/regression/midi/rest-dynamic-midi.log

    @@ -15,6 +15,6 @@
    Writing ./rest-dynamic-midi-systems.tex...
    Writing ./rest-dynamic-midi-systems.count...
    Writing timing to rest-dynamic-midi.profile...
    -programming error: Parsed object should be dead: #<prob: music="" c++:="" music((value="" .="" #\<mom="" 15="">) (symbol . tempoWholesPerMinute))((display-methods #\<procedure #f="" (expr)="">) (name . PropertySet) (types layout-instruction-event) (iterator-ctor . #\<primitive-procedure ly:property-iterator::constructor="">) (untransposable . #t)) >
    +programming error: Parsed object should be dead: #<prob: music="" c++:="" music((origin="" .="" #\<location="" (position="" unknown)="">) (value . #\<mom 15="">) (symbol . tempoWholesPerMinute))((display-methods #\<procedure #f="" (expr)="">) (name . PropertySet) (types layout-instruction-event) (iterator-ctor . #\<primitive-procedure ly:property-iterator::constructor="">) (untransposable . #t)) ></primitive-procedure></procedure></mom></prob:></primitive-procedure></procedure></prob:>

    continuing, cross fingers

    input/regression/midi/rest-dynamic-midi.log
    1.414214

    input/regression/midi/rest-midi.log

    @@ -15,6 +15,6 @@
    Writing ./rest-midi-systems.tex...
    Writing ./rest-midi-systems.count...
    Writing timing to rest-midi.profile...
    -programming error: Parsed object should be dead: #<prob: music="" c++:="" music((value="" .="" #\<mom="" 15="">) (symbol . tempoWholesPerMinute))((display-methods #\<procedure #f="" (expr)="">) (name . PropertySet) (types layout-instruction-event) (iterator-ctor . #\<primitive-procedure ly:property-iterator::constructor="">) (untransposable . #t)) >
    +programming error: Parsed object should be dead: #<prob: music="" c++:="" music((origin="" .="" #\<location="" out-test="" rest-midi.ly:46:3="">))((display-methods #\<procedure #f="" (check)="">) (name . BarCheck) (types bar-check) (iterator-ctor . #\<primitive-procedure ly:bar-check-iterator::constructor="">)) ></primitive-procedure></procedure></prob:></primitive-procedure></procedure></prob:>

    continuing, cross fingers

    input/regression/midi/rest-midi.log

    --snip--

    If these are real errors can you set the incident back to needs_work?

    Otherwise passes make, make check and a full make doc.

     
    • David Kastrup

      David Kastrup - 2016-07-01

      It's been so long since those programming errors actually pointed to an actual problem (some of them have become less likely due to some larger amount of restructuring). I'll probably yank them out altogether at some point of time.

      I have double-checked the patch and can state with confidence that it cannot be causably responsible for it because of not touching anything in that area.

      The double-checking, however, still turned up a blooper so we'll get to see another test run anyway. Sigh.

       
  • David Kastrup

    David Kastrup - 2016-07-01
     
  • David Kastrup

    David Kastrup - 2016-07-02

    Fix comments in context-mod-with regtest

    http://codereview.appspot.com/299460043

     
  • David Kastrup

    David Kastrup - 2016-07-02
    • Needs: -->
    • Type: --> Maintainability
     
  • Anonymous

    Anonymous - 2016-07-02
    • Patch: new --> review
     
  • Anonymous

    Anonymous - 2016-07-02

    Passes make, make check and a full make doc

     
  • David Kastrup

    David Kastrup - 2016-07-02

    Add other context starters to convert-ly rule

    http://codereview.appspot.com/299460043

     
  • Anonymous

    Anonymous - 2016-07-04
    • Needs: -->
    • Patch: new --> review
    • Type: --> Enhancement
     
  • Anonymous

    Anonymous - 2016-07-04

    Passes make, make check anf a full make doc.

    I got another load of 'programming errors' and this time I noticed they were all on MIDI reg tests again.

     
  • Anonymous

    Anonymous - 2016-07-07
    • Patch: review --> countdown
     
  • Anonymous

    Anonymous - 2016-07-07

    Patch on countdown for July 10th.

     
  • David Kastrup

    David Kastrup - 2016-07-10
    • labels: --> Fixed_2_19_46
    • status: Started --> Fixed
    • Patch: countdown -->
    • Type: Enhancement --> Maintainability
     
  • David Kastrup

    David Kastrup - 2016-07-10

    Pushed to staging as
    commit 90fce106774e91373aba8308f39da486064f4cef
    Author: David Kastrup dak@gnu.org
    Date: Sat Jul 2 11:23:43 2016 +0200

    Issue 4911/4: Fix comments in context-mod-with regtest
    

    commit 17378a326b64ebeaeb6f9454cde414923785a470
    Author: David Kastrup dak@gnu.org
    Date: Thu Jun 30 17:26:01 2016 +0200

    Issue 4911/3: Don't treat context modification identifiers special
    
    This requires using \with before context modifications like
    \RemoveEmptyStaves in order to make the syntax get along
    with fewer special cases and exceptions.
    

    commit f587047ea429f72e18b403e930bcf617557dd621
    Author: David Kastrup dak@gnu.org
    Date: Thu Jun 30 20:38:27 2016 +0200

    Run scripts/auxiliar/update-with-convert-ly.sh
    

    commit 685274d01ac3636cde82114a166ca952a7aa2f7c
    Author: David Kastrup dak@gnu.org
    Date: Thu Jun 30 18:28:23 2016 +0200

    Issue 4911/2: convert-ly rule to put \with before context mods
    

    commit be3f2841c224e88d36ecf0f809be60893c83471d
    Author: David Kastrup dak@gnu.org
    Date: Sat Sep 14 21:12:38 2013 +0200

    Issue 4911/1: \with #*unspecified* should be equivalent to \with { }
    
     
  • Phil Holmes

    Phil Holmes - 2016-08-02
    • status: Fixed --> Verified