lilypond-devel
[Top][All Lists]
Advanced

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

Issue 4572: Remove the number of arguments from callback macros (issue 2


From: nine . fierce . ballads
Subject: Issue 4572: Remove the number of arguments from callback macros (issue 262980043 by address@hidden)
Date: Fri, 21 Aug 2015 20:11:18 +0000

Reviewers: ,

Description:
The compiler is capable of counting the number of arguments in a
callback.  It can also check that the number of optional arguments does
not exceed the total number of arguments.

I've put the code that accomplishes these things in
lily-guile-macros.hh, but it is generic enough that it might make more
sense to create a new file for it.  Suggestions are welcome.

Changes in lily-guile-macros.hh are manual.  Everything else is
automated with this script:

for FILE in $(git grep -l '^MAKE_[_A-Z]*SCHEME_CALLBACK[_A-Z]* ' lily)
do
    sed -i 's/\(MAKE_[_A-Z]*SCHEME_CALLBACK[_A-Z]*\) *(\([^,]*\),
*\([^,]*\), *\([^,)]*\)/\1 (\2, \3/' $FILE
done

Please review this at https://codereview.appspot.com/262980043/

Affected files (+312, -278 lines):
  M lily/accidental.cc
  M lily/accidental-placement.cc
  M lily/align-interface.cc
  M lily/arpeggio.cc
  M lily/axis-group-interface.cc
  M lily/balloon.cc
  M lily/beam.cc
  M lily/break-alignment-interface.cc
  M lily/breathing-sign.cc
  M lily/chord-name.cc
  M lily/clef.cc
  M lily/clef-modifier.cc
  M lily/cluster.cc
  M lily/custos.cc
  M lily/dot-column.cc
  M lily/dots.cc
  M lily/duration-scheme.cc
  M lily/enclosing-bracket.cc
  M lily/figured-bass-continuation.cc
  M lily/fingering-column.cc
  M lily/flag.cc
  M lily/grace-music.cc
  M lily/grid-line-interface.cc
  M lily/grob.cc
  M lily/hairpin.cc
  M lily/hara-kiri-group-spanner.cc
  M lily/horizontal-bracket.cc
  M lily/include/lily-guile-macros.hh
  M lily/key-signature-interface.cc
  M lily/kievan-ligature.cc
  M lily/ledger-line-spanner.cc
  M lily/line-spanner.cc
  M lily/lyric-combine-music.cc
  M lily/lyric-extender.cc
  M lily/lyric-hyphen.cc
  M lily/measure-grouping-spanner.cc
  M lily/melody-spanner.cc
  M lily/mensural-ligature.cc
  M lily/multi-measure-rest.cc
  M lily/music.cc
  M lily/music-sequence.cc
  M lily/music-wrapper.cc
  M lily/note-collision.cc
  M lily/note-head.cc
  M lily/ottava-bracket.cc
  M lily/paper-column.cc
  M lily/partial-iterator.cc
  M lily/percent-repeat-item.cc
  M lily/piano-pedal-bracket.cc
  M lily/pitch.cc
  M lily/property-iterator.cc
  M lily/pure-from-neighbor-interface.cc
  M lily/relative-octave-check.cc
  M lily/relative-octave-music.cc
  M lily/repeated-music.cc
  M lily/rest.cc
  M lily/rest-collision.cc
  M lily/script-column.cc
  M lily/script-interface.cc
  M lily/self-alignment-interface.cc
  M lily/semi-tie.cc
  M lily/semi-tie-column.cc
  M lily/separation-item.cc
  M lily/side-position-interface.cc
  M lily/skyline.cc
  M lily/skyline-pair.cc
  M lily/slur.cc
  M lily/slur-scoring.cc
  M lily/spacing-spanner.cc
  M lily/spanner.cc
  M lily/staff-symbol.cc
  M lily/staff-symbol-referencer.cc
  M lily/stem.cc
  M lily/stem-tremolo.cc
  M lily/stencil-integral.cc
  M lily/stream-event.cc
  M lily/sustain-pedal.cc
  M lily/system.cc
  M lily/system-start-delimiter.cc
  M lily/text-interface.cc
  M lily/tie.cc
  M lily/tie-column.cc
  M lily/tuplet-bracket.cc
  M lily/tuplet-number.cc
  M lily/vaticana-ligature.cc
  M lily/volta-bracket.cc





reply via email to

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