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

Issue 6295098: Allow immediate Scheme expressions with splicing and multiple values (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 10 months ago by dak
Modified:
11 years, 9 months ago
Reviewers:
CC:
lilypond-devel_gnu.org
Base URL:
http://git.savannah.gnu.org/gitweb/?p=lilypond.git/trunk/
Visibility:
Public.

Description

Issue 2607: Allow immediate Scheme expressions with splicing and multiple values $xxx has been able to interpret 0-valued expressions (namely SCM_UNSPECIFIED) so far by, well, not interpolating anything. This change allows it to interpret multi-valued expressions by returning multiple tokens, allowing things like { < $(apply values (map (lambda (i) (ly:make-pitch 0 i 0)) (iota 8))) > } to work as intended, by creating a chord enclosing all 8 pitches. In addition, in analogy to the unquote-splicing operator ,@ the form { < $@(map (lambda (i) (ly:make-pitch 0 i 0)) (iota 8)) > } is provided for interpolating a list of Scheme expressions into the token stream.

Patch Set 1 #

Patch Set 2 : Implement $@ as well. #

Patch Set 3 : Well, #{ ... #} needs to know about $@ as well #

Patch Set 4 : Create consistent behavior for #@, reduce code impact #

Patch Set 5 : Add documentation #

Patch Set 6 : A bit more explanation in the docs #

Unified diffs Side-by-side diffs Delta from patch set Stats (+98 lines, -21 lines) Patch
M Documentation/changes.tely View 1 2 3 4 1 chunk +7 lines, -6 lines 0 comments Download
M Documentation/extending/scheme-tutorial.itely View 1 2 3 4 5 7 chunks +37 lines, -6 lines 0 comments Download
M lily/include/lily-lexer.hh View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M lily/lexer.ll View 1 2 3 4 chunks +39 lines, -5 lines 0 comments Download
M lily/parse-scm.cc View 1 2 3 3 chunks +10 lines, -2 lines 0 comments Download
M lily/parser.yy View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M scm/parser-ly-from-scheme.scm View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download

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