Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(672)

Issue 135240043: Provide some more smob functionality and use it (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 6 months ago by dak
Modified:
11 years, 4 months ago
Reviewers:
eble, lemzwerg, janek
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Provide some more smob functionality and use it This adds basic smob types Smob1, Smob2, Smob3 for Smobs with minimal data requirements and no separate representation on the heap. It also allows declaring smobs that can be called like functions. Reimplemented smobs are Input, Musicfunction, Simple_closure, Unpure_pure_containers and Unpure_pure_call. The first upload is just the reference situation after issue4082 is committed. The next upload caters for this issue.

Patch Set 1 #

Patch Set 2 : The actual full changes on top of issue 4082 #

Total comments: 9

Patch Set 3 : Streamline Music_function, remove duplicate ly:input-location? #

Unified diffs Side-by-side diffs Delta from patch set Stats (+898 lines, -893 lines) Patch
M lily/beam-engraver.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M lily/book.cc View 1 4 chunks +2 lines, -5 lines 0 comments Download
M lily/book-scheme.cc View 1 chunk +1 line, -2 lines 0 comments Download
M lily/box.cc View 1 chunk +1 line, -17 lines 0 comments Download
M lily/context.cc View 2 chunks +1 line, -4 lines 0 comments Download
M lily/context-def.cc View 1 3 chunks +3 lines, -6 lines 0 comments Download
M lily/context-mod.cc View 2 chunks +1 line, -5 lines 0 comments Download
M lily/context-property.cc View 1 2 chunks +12 lines, -10 lines 0 comments Download
M lily/dispatcher.cc View 2 chunks +1 line, -5 lines 0 comments Download
M lily/duration.cc View 2 chunks +1 line, -8 lines 0 comments Download
M lily/font-metric.cc View 3 chunks +1 line, -5 lines 0 comments Download
M lily/function-documentation.cc View 1 2 2 chunks +2 lines, -3 lines 0 comments Download
M lily/grob.cc View 1 3 chunks +6 lines, -9 lines 0 comments Download
M lily/grob-array.cc View 2 chunks +1 line, -4 lines 0 comments Download
M lily/grob-closure.cc View 1 3 chunks +12 lines, -12 lines 0 comments Download
M lily/grob-property.cc View 1 8 chunks +21 lines, -20 lines 0 comments Download
M lily/grob-scheme.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M lily/grob-smob.cc View 1 chunk +1 line, -4 lines 0 comments Download
M lily/include/book.hh View 1 chunk +5 lines, -3 lines 0 comments Download
M lily/include/box.hh View 1 chunk +4 lines, -2 lines 0 comments Download
M lily/include/context.hh View 1 chunk +7 lines, -2 lines 0 comments Download
M lily/include/context-def.hh View 2 chunks +5 lines, -3 lines 0 comments Download
M lily/include/context-mod.hh View 2 chunks +4 lines, -3 lines 0 comments Download
M lily/include/dispatcher.hh View 2 chunks +7 lines, -3 lines 0 comments Download
M lily/include/duration.hh View 3 chunks +4 lines, -5 lines 0 comments Download
M lily/include/font-metric.hh View 2 chunks +7 lines, -2 lines 0 comments Download
M lily/include/grob.hh View 1 chunk +6 lines, -2 lines 0 comments Download
M lily/include/grob-array.hh View 2 chunks +6 lines, -3 lines 0 comments Download
M lily/include/input.hh View 1 2 chunks +5 lines, -5 lines 0 comments Download
M lily/include/lily-lexer.hh View 1 chunk +6 lines, -3 lines 0 comments Download
M lily/include/lily-parser.hh View 1 chunk +5 lines, -3 lines 0 comments Download
M lily/include/listener.hh View 2 chunks +7 lines, -2 lines 0 comments Download
D lily/include/ly-smobs.icc View 1 chunk +0 lines, -139 lines 0 comments Download
M lily/include/moment.hh View 2 chunks +4 lines, -3 lines 0 comments Download
M lily/include/music-function.hh View 1 2 1 chunk +11 lines, -6 lines 0 comments Download
M lily/include/music-iterator.hh View 1 chunk +6 lines, -2 lines 0 comments Download
M lily/include/music-output.hh View 1 chunk +7 lines, -2 lines 0 comments Download
M lily/include/output-def.hh View 1 chunk +4 lines, -4 lines 0 comments Download
M lily/include/page-marker.hh View 1 chunk +7 lines, -3 lines 0 comments Download
M lily/include/paper-book.hh View 1 chunk +7 lines, -3 lines 0 comments Download
M lily/include/paper-outputter.hh View 1 chunk +6 lines, -4 lines 0 comments Download
M lily/include/pitch.hh View 2 chunks +6 lines, -2 lines 0 comments Download
M lily/include/prob.hh View 1 chunk +8 lines, -2 lines 0 comments Download
M lily/include/scale.hh View 3 chunks +2 lines, -4 lines 0 comments Download
M lily/include/scheme-listener.hh View 1 chunk +4 lines, -4 lines 0 comments Download
M lily/include/scm-hash.hh View 2 chunks +4 lines, -3 lines 0 comments Download
M lily/include/score.hh View 1 chunk +7 lines, -3 lines 0 comments Download
M lily/include/simple-closure.hh View 1 1 chunk +9 lines, -3 lines 0 comments Download
M lily/include/simple-spacer.hh View 3 chunks +1 line, -3 lines 0 comments Download
M lily/include/skyline.hh View 3 chunks +5 lines, -3 lines 0 comments Download
M lily/include/skyline-pair.hh View 1 chunk +4 lines, -2 lines 0 comments Download
A lily/include/small-smobs.hh View 1 1 chunk +87 lines, -0 lines 0 comments Download
M lily/include/smobs.hh View 1 2 5 chunks +169 lines, -59 lines 0 comments Download
A lily/include/smobs.tcc View 1 1 chunk +117 lines, -0 lines 0 comments Download
M lily/include/source-file.hh View 4 chunks +7 lines, -4 lines 0 comments Download
M lily/include/spring.hh View 3 chunks +5 lines, -3 lines 0 comments Download
M lily/include/stencil.hh View 1 chunk +6 lines, -2 lines 0 comments Download
M lily/include/translator.hh View 2 chunks +7 lines, -2 lines 0 comments Download
M lily/include/translator-dispatch-list.hh View 2 chunks +1 line, -2 lines 0 comments Download
M lily/include/translator-group.hh View 2 chunks +6 lines, -3 lines 0 comments Download
M lily/include/unpure-pure-container.hh View 1 1 chunk +20 lines, -6 lines 0 comments Download
M lily/input-scheme.cc View 1 2 1 chunk +0 lines, -9 lines 0 comments Download
M lily/input-smob.cc View 1 3 chunks +10 lines, -52 lines 0 comments Download
M lily/lexer.ll View 1 2 2 chunks +3 lines, -3 lines 0 comments Download
M lily/lily-lexer.cc View 1 chunk +1 line, -4 lines 0 comments Download
M lily/lily-parser.cc View 2 chunks +1 line, -4 lines 0 comments Download
M lily/listener.cc View 2 chunks +1 line, -3 lines 0 comments Download
M lily/moment.cc View 2 chunks +1 line, -9 lines 0 comments Download
M lily/music.cc View 1 2 chunks +1 line, -2 lines 0 comments Download
M lily/music-function.cc View 1 2 1 chunk +5 lines, -53 lines 0 comments Download
M lily/music-function-scheme.cc View 1 2 2 chunks +5 lines, -12 lines 0 comments Download
M lily/music-iterator.cc View 2 chunks +1 line, -4 lines 0 comments Download
M lily/music-output.cc View 2 chunks +1 line, -4 lines 0 comments Download
M lily/output-def.cc View 3 chunks +0 lines, -5 lines 0 comments Download
M lily/page-marker.cc View 2 chunks +1 line, -4 lines 0 comments Download
M lily/paper-book.cc View 2 chunks +1 line, -4 lines 0 comments Download
M lily/paper-outputter.cc View 2 chunks +0 lines, -3 lines 0 comments Download
M lily/parser.yy View 1 2 chunks +3 lines, -3 lines 0 comments Download
M lily/pitch.cc View 3 chunks +1 line, -3 lines 0 comments Download
M lily/prob.cc View 4 chunks +1 line, -6 lines 0 comments Download
M lily/rest-collision.cc View 1 1 chunk +4 lines, -4 lines 0 comments Download
M lily/scale.cc View 3 chunks +0 lines, -17 lines 0 comments Download
M lily/scheme-listener.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M lily/scm-hash.cc View 2 chunks +0 lines, -4 lines 0 comments Download
M lily/score.cc View 1 3 chunks +3 lines, -6 lines 0 comments Download
M lily/side-position-interface.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M lily/simple-closure.cc View 1 6 chunks +14 lines, -45 lines 0 comments Download
M lily/simple-spacer.cc View 1 chunk +0 lines, -19 lines 0 comments Download
M lily/skyline.cc View 2 chunks +1 line, -4 lines 0 comments Download
M lily/skyline-pair.cc View 2 chunks +1 line, -9 lines 0 comments Download
M lily/slur.cc View 1 1 chunk +2 lines, -2 lines 0 comments Download
M lily/source-file.cc View 3 chunks +1 line, -6 lines 0 comments Download
M lily/spring-smob.cc View 2 chunks +1 line, -14 lines 0 comments Download
M lily/stencil.cc View 2 chunks +1 line, -4 lines 0 comments Download
M lily/stream-event.cc View 1 2 chunks +1 line, -2 lines 0 comments Download
M lily/translator.cc View 3 chunks +1 line, -5 lines 0 comments Download
M lily/translator-dispatch-list.cc View 2 chunks +0 lines, -19 lines 0 comments Download
M lily/translator-group.cc View 1 chunk +1 line, -4 lines 0 comments Download
M lily/undead.cc View 2 chunks +7 lines, -6 lines 0 comments Download
M lily/unpure-pure-container.cc View 1 2 chunks +28 lines, -93 lines 0 comments Download
A scripts/auxiliar/smob-convert.sh View 1 chunk +119 lines, -0 lines 0 comments Download

Messages

Total messages: 9
dak
The actual full changes on top of issue 4082
11 years, 6 months ago (2014-08-31 15:34:12 UTC) #1
lemzwerg
LGTM. Very nice! This indeed feels more C++ now. https://codereview.appspot.com/135240043/diff/20001/scripts/auxiliar/smob-convert.sh File scripts/auxiliar/smob-convert.sh (right): https://codereview.appspot.com/135240043/diff/20001/scripts/auxiliar/smob-convert.sh#newcode2 scripts/auxiliar/smob-convert.sh:2: ...
11 years, 6 months ago (2014-08-31 16:45:37 UTC) #2
dak
On 2014/08/31 16:45:37, lemzwerg wrote: > LGTM. Very nice! This indeed feels more C++ now. ...
11 years, 6 months ago (2014-08-31 17:03:10 UTC) #3
eble
https://codereview.appspot.com/135240043/diff/20001/lily/include/smobs.hh File lily/include/smobs.hh (right): https://codereview.appspot.com/135240043/diff/20001/lily/include/smobs.hh#newcode93 lily/include/smobs.hh:93: list = scm_cons (p->unprotect (), list); I'm ignorant of ...
11 years, 6 months ago (2014-09-01 01:54:44 UTC) #4
dak
https://codereview.appspot.com/135240043/diff/20001/lily/include/smobs.hh File lily/include/smobs.hh (right): https://codereview.appspot.com/135240043/diff/20001/lily/include/smobs.hh#newcode93 lily/include/smobs.hh:93: list = scm_cons (p->unprotect (), list); On 2014/09/01 01:54:44, ...
11 years, 6 months ago (2014-09-01 02:58:09 UTC) #5
dak
On 2014/09/01 02:58:09, dak wrote: > https://codereview.appspot.com/135240043/diff/20001/lily/include/smobs.hh > https://codereview.appspot.com/135240043/diff/20001/lily/include/smobs.hh#newcode248 > lily/include/smobs.hh:248: class Smob: public Smob_base<Super> ...
11 years, 6 months ago (2014-09-01 03:35:43 UTC) #6
eble
On 2014/09/01 03:35:43, dak wrote: > A separate commit, issue and testing seems called for ...
11 years, 6 months ago (2014-09-01 04:13:41 UTC) #7
dak
Streamline Music_function, remove duplicate ly:input-location?
11 years, 6 months ago (2014-09-01 14:18:08 UTC) #8
janek
11 years, 5 months ago (2014-09-03 22:55:14 UTC) #9
Hi David,

I'm sorry that i didn't manage to review this, but from a quick look it seems
like a very welcome change.  I'm really getting an impression that Scheme-C++
interfacing in LilyPond becomes easier to understand thanks to your work.

best,
Janek
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b