David Kastrup [Wed, 21 Aug 2013 02:09:29 +0000 (04:09 +0200)]
Issue 3489: Let \cue... use quoted-context-type of CueVoice consistently
Previously Voice was used and this relied on a a CueVoice purportedly
being created by cue-substitute itself and providing a Voice alias.
There is a regtest input/regression/quote-tuplet-end.ly which relied
on an explicit Voice = "cue" serving as a substite catch for the cue
notes, effectively turning \cueDuring into \quoteDuring. This kind of
usage is rather bizarre, and since it diverts the \voiceOne/\voiceTwo
settings for the cue voice into a CueVoice context anyway (which is
otherwise empty), the cue voice is still missing proper directional
information. This was not worth supporting.
Regularizing the usage in this manner will reliably stop \quoteDuring
from introducing surprise CueVoice contexts.
David Kastrup [Wed, 21 Aug 2013 02:04:02 +0000 (04:04 +0200)]
Issue 3489: Let \quoteDuring descend to bottom context for its output
Also regularizes interpretation of quoted-context-id. This patch by
itself does not resolve the issue since a CueContext is created in
any case, serving as Bottom and Voice context. A followup patch
fixes that.
Grobs that are not cross-staff are placed before staff-spacing,
so they may not force placement of cross-staff grobs.
When cross-staff items are placed around the spaced staves, let
them side-position using the final, not 'pure', information.
David Kastrup [Wed, 14 Aug 2013 19:36:58 +0000 (21:36 +0200)]
Issue 3498: fatal error with toplevel-markup-identifier
The reported problem
mrkp = \markup { "x" }
\mrkp
triggers an error because of markup requiring additional lookahead in
assignments. This is fixed by sacrificing string addition, an arcane
and undocumented feature that has probably not been used in the last
decade or so.
David Kastrup [Sun, 4 Aug 2013 09:32:09 +0000 (11:32 +0200)]
Issue 3487: Make several special characters with or without backslash "shorthands"
Single non-alphanumeric ASCII characters not requiring special
treatment in lexer or parser can now be redefined like escaped
identifiers. The same holds for escaped non-alphanumeric ASCII
characters. The identifying name you use for redefining them is the
string corresponding to the full shorthand, in contrast to escaped
identifiers where the identifying name omits the initial backslash.
Notable shorthands not treated specially in the parser (some of them
newly so) can be seen in the following definitions from
scm/declarations-init.ly:
David Kastrup [Sun, 4 Aug 2013 09:36:34 +0000 (11:36 +0200)]
Make tempo range \tempo 20~30 be input as \tempo 20-30 instead
\tempo's use of ~ was rather untypical for LilyPond. Letting it
rather use @code{-} for ranges leaves just a single use for ties,
making it feasible to make @code{~} definable by the user in a later
commit.
David Kastrup [Sun, 11 Aug 2013 14:19:05 +0000 (16:19 +0200)]
Avoid Scheme-computed Skyline_pair values to get collected before use
Retaining them as SCM values until they are no longer needed avoids
premature garbage collection. This addresses circumstances in
connection with issue 3490.
David Kastrup [Mon, 5 Aug 2013 12:19:06 +0000 (14:19 +0200)]
Issue 3488: lily/parser.yy: Use %pure-parser instead of %pure_parser
While %pure-parser is already deprecated for Bison 3.0, it is still
supported as opposed to %pure_parser which has been removed altogether
in Bison 3.0. The currently recommended form %define api.pure has
only become available with Bison 2.3b, and there are currently older
versions of Bison in use with LilyPond. So the followup move of
replacing the already deprecated %pure-parser with %define api.pure is
left for a later point of time.
David Kastrup [Thu, 1 Aug 2013 10:20:24 +0000 (12:20 +0200)]
Issue 3483: Pango font size should be calculated using rounding
So far, pango font size has been calculated using truncation. Since
the calculation of font size may involve conversion of magnifications
to font-size and back, numerical errors can easily throw the
calculation slightly off. For that reason, rounding is the
appropriate option here.
David Kastrup [Tue, 9 Jul 2013 18:22:24 +0000 (20:22 +0200)]
Issue 3449: Shift accordion register symbols down by half a line width
This makes the documented proposals for combining the accordion
register symbols together with the accordion dot symbol match in
positioning. It would have been feasible instead to shift the
(centered) accordion dot, but some register symbols work with
different line widths.
The net result will now exhibit a slight descender (namely half a
linewidth) of the accordion register symbols when used in a running
line.
David Nalesnik [Tue, 23 Jul 2013 01:20:33 +0000 (20:20 -0500)]
Issue 3472: several fixes to input/regression/scheme-text-spanner.ly
* The file `input/regression/scheme-text-spanner.ly' assigns a constant
pair to the variable `event-drul' and subsequently attempts to modify
the pair. This can lead to scheme-text-spanners not appearing when
requested in simultaneous contexts. This patch corrects the faulty usage,
replacing `event-drul' with two variables `event-start' and `event-stop'.
* The variable `current-event' is not necessary, and has been removed.
* Tabs in the engraver definition have been replaced with spaces.
David Kastrup [Wed, 24 Jul 2013 10:47:40 +0000 (12:47 +0200)]
Issue 3388: -dpreview retains non-working page links in table of contents
This just disables mark_page_link in the EPS header. When including
EPS files in LilyPond itself, BeginEPSF and EndEPSF should limit the
effect of this redefinition to the EPS file itself, restoring the
userdict afterwards.
Since integers are accepted in this kind of usage, not accepting
floating point numbers appears inconsistent.
While in INITIAL mode like inside of layout blocks real numbers can
be written like 4. or -.3 for historic reasons, permitting this inside
of music could easily lead to confusion with durations or
articulations, so those spellings remain invalid in music modes.
Decimal fractions are also not accepted in \chordmode since this would
preclude chord entry like c:13.11^3.7 and similar.
Thomas Morley [Wed, 24 Jul 2013 17:14:16 +0000 (19:14 +0200)]
Issue 3469: adding markup-commands \oval and \ellipse
\oval and \ellipse are drawing an oval respectively an ellipse around their
argument.
Also adding a reg-test for markup-commands framing their argument.