CG: add new instructions for LilyDev 3 (issue 2538)
Merge branch 'lilydev' into staging
Revert "Issue4107/2: Score_performer::prepare: precomputed_recurse_over_translators should do START, not STOP"

This reverts commit 0e1e8169813d68179939d2361936cb4e80f7c394.
Revert "Issue 4107/1: Use START/STOP for *recurse_over_translators instead of the counterintuitive DOWN/UP"

This reverts commit 113223f5d488baf62b0e1a7bf4c2cfee037f4e0e.
Doc: LM 4.1.2 additonal para for positioning grobs

Issue 4137
As reported in

http://lists.gnu.org/archive/html/bug-lilypond/2014-09/msg00025.html

Added paragraph regarding grobs that don't print output
but are used for 'positioning' and 'managing' other
grobs
Doc: Usage: Add more explanation for LaTeX environ

Issue 4136

Taken from:

http://lists.gnu.org/archive/html/bug-lilypond/2014-08/msg00047.html

Added paragraph explaining the finer details on how LaTeX handles
environments using \begin{lilypond} ... \end{lilypond}
Changes.tely updated - 2.19.x up to September 2014

Issue 4122

Since June 2014.

Added Tracker issues
2813/3966, 3734/3825/3834, 4015, 4022,
4038, 4042, 4047, 4056, 4063, 4083,
and 4097.

Included @lilypond examples where appropriate
Issue 4135/1: Don't use ASSERT_LIVE_IS_ALLOWED in simple smobs

When replacing mark_smob with a proper member function, use of
ASSERT_LIVE_IS_ALLOWED would require access to self_scm () or similar,
and simple smobs don't link back to their SCM cell.  This only
concerns Skyline and Context_mod, so the loss is not all that
large.
Issue 4135/2: Replace mark_smob static member functions with non-static members

Since the mark functions generally need to access a number of members,
it is quite more convenient if the mark functions are proper non-static
member functions.
Issue 4134: Remove trivial print_smob member functions

Those are provided by the Smob_base class anyway.
Issue 4133: Give predicate ly:grob-properties? the description "grob properties"

    \set Staff.InstrumentName = "Test"

previously led to

    warning: type check for `InstrumentName' failed;
    value `"Test"' must be of type `ly:grob-properties'

and will now instead produce

    warning: type check for `InstrumentName' failed;
    value `"Test"' must be of type `grob properties'.

The output looks slightly less cryptic and more intentional.  The plural
form is indeed correct: this type of context property serves as a
container for _all_ grob properties of InstrumentName.
Issue 4130: Isolated durations don't work after \pageBreak

The example
\score {
  \new RhythmicStaff {
    R1 |
    \pageBreak
    1~ |
    8 r r4 r2 |
  }
}

led to unexpected results since \pageBreak produces an EventChord which
is then taken as a repeat note by 1~.  This patch makes sure that
repeated durations only attach to event chords containing rhythmic
events.
Issue 4141/1: Define inline members unsmob and is_smob for several derived classes
Issue4141/2: Use Xxx:is_smob instead of Xxx:unsmob when used in boolean contexts

This saves a memory access and comparison and leads to better code
even when unsmob is called afterwards anyway.
Issue 4141/3: Remove redundant type_predicates in init_func_doc

Those are already added by Smob_base::init.
Issue 4140: Let ly:output-def? be implemented via Smob_base
Issue 4138: Make \time work with \tweak and \footnote

The way this is done is to let a TimeSignatureMusic expression expand to
produce a TimeSignatureEvent that can be listened to.  The
Time_signature_engraver _does_ listen to this event and uses it to set
the origin for TimeSignature grobs created in the same time step.
Another effect is that any warnings associated with a TimeSignature grob
will be able to point to a source location in case that the respective
change of timing parameters can be traced to TimeSignatureMusic in a
context below the context of the Time_signature_engraver creating the
TimeSignature.

Since events that can be listened to create a Bottom context implicitly,
this causes a difference for cases like

\score { { \time 3/4 \skip 2. r2. } }

Previously, Staff (and Voice) contexts were only created _after_ the
\skip completed (the timing parameters are set in the Timing context,
equal to Score by default), making the time signature appear only in
measure 2.  Now the implicit creation of a Staff (and thus a
Time_signature_engraver) in the course of creating a Bottom context (in
this case a Voice) makes the time signature appear right away.

If one uses a separate non-printing context for containing timing info,
one has to make sure that any implicitly created Bottom context is
non-printing as well.
Adds incipit section to the NR
Bitrot fix in outcommented Grob_array::mark_smob code

Just in case we need to resuscitate that code, it would be nice if it
were actually correct.  This is an afterthought of issue 4135.
Add an alternative Drum Style - agostini-drums-style.ly

Issue 4128

This allows the typesetting of a standard drum kit
on a normal five-line staff.

A style of notation created by Dante Agostini a
French drummer and teacher (also known for his drum
school which was founded in 1965).