Menu

#4617 Missing error/message on unmatched brace

Accepted
nobody
None
Defect
2015-09-23
2015-09-23
No

If

$ git grep '= #(context-spec-music'
Documentation/snippets/additional-voices-to-avoid-collisions.ly:voiceFive = #(co
ly/declarations-init.ly:melisma = #(context-spec-music (make-property-set 'melis
ly/declarations-init.ly:melismaEnd = #(context-spec-music (make-property-unset '
ly/property-init.ly:voiceOne   = #(context-spec-music (make-voice-props-set 0)  
ly/property-init.ly:voiceTwo   = #(context-spec-music (make-voice-props-set 1)  
ly/property-init.ly:voiceThree = #(context-spec-music (make-voice-props-set 2)  
ly/property-init.ly:voiceFour  = #(context-spec-music (make-voice-props-set 3)  
ly/property-init.ly:oneVoice   = #(context-spec-music (make-voice-props-revert)

doesn’t deceive me, there are seven commands which output context-spec-music.

It’s currently possible to use these on top level:

:::TeX
\version "2.19.27"
\melisma

gives no warning or other message, but the attached (nonsense) output.

This becomes a problem when ")" has been redefined and somewhere else a Scheme expression has mismatched braces:

:::TeX
\version "2.19.27"
")" = \melismaEnd
#(define test "foo"))

An extremely annoying case to debug, I can tell you.

So redefining ")" should not preclude the warnings which turn up without the redefinition.

1 Attachments

Discussion

  • Simon Albrecht

    Simon Albrecht - 2015-09-23
    • summary: Disallow uncontained context-spec-music on top level --> Missing error/message on unmatched brace
     
  • Simon Albrecht

    Simon Albrecht - 2015-09-23

    David K. indicated on the bug list (message 00129 &c.) that there is likely no way to recognise this situation, so this must stay unresolved.

     

    Last edit: Simon Albrecht 2015-09-23
MongoDB Logo MongoDB