Jean-Charles Malahieude [Sun, 7 Jun 2015 13:09:57 +0000 (15:09 +0200)]
Merge branch 'master' of /home/jcharles/GIT/Lily/. into translation
Jean-Charles Malahieude [Sun, 7 Jun 2015 13:06:15 +0000 (15:06 +0200)]
PO: Updates Danish from FTP
Jean-Charles Malahieude [Sun, 7 Jun 2015 13:01:30 +0000 (15:01 +0200)]
Doc-fr: fix bad xref
Jean-Charles Malahieude [Sun, 7 Jun 2015 13:00:55 +0000 (15:00 +0200)]
Doc-fr: updates texidocs
Jean-Charles Malahieude [Sun, 7 Jun 2015 12:56:10 +0000 (14:56 +0200)]
Doc-fr: updates AU
Jean-Charles Malahieude [Sun, 7 Jun 2015 12:37:14 +0000 (14:37 +0200)]
Doc-fr: updates AU
Jean-Charles Malahieude [Sun, 7 Jun 2015 12:35:11 +0000 (14:35 +0200)]
Doc-fr: updates LM
Jean-Charles Malahieude [Sun, 7 Jun 2015 12:32:37 +0000 (14:32 +0200)]
Doc-fr: updates Essay and EM
Dan Eble [Thu, 28 May 2015 01:23:45 +0000 (21:23 -0400)]
Issue 4423: eliminate part combiner's array of context handles (4/4)
The Part_combine_iterator no longer creates or keeps alive the Voice
contexts that it uses. make-directed-part-combine-music does it.
When the Part_combine_iterator needs to redirect a child iterator, it
finds the new Voice by name among the siblings of the current Voice.
Dan Eble [Thu, 28 May 2015 00:56:37 +0000 (20:56 -0400)]
Issue 4423: eliminate part combiner's array of context handles (3/4)
Use NullVoice instead of Devnull for the "null" context. This makes
all outlets a kind of Voice.
Dan Eble [Thu, 28 May 2015 00:39:47 +0000 (20:39 -0400)]
Issue 4423: eliminate part combiner's array of context handles (2/4)
Create child iterators in parent context. Add an initial split state
to ensure that the first split-list entry, whatever it is, will
redirect the outlets for the child iterators.
Dan Eble [Sat, 23 May 2015 16:33:40 +0000 (12:33 -0400)]
Issue 4423: eliminate part combiner's array of context handles (1/4)
Move mmrest killing after child iteration. Also limit mmrest killing
to contexts that have just changed from being used to being unused.
Trevor Daniels [Fri, 29 May 2015 15:12:34 +0000 (16:12 +0100)]
Issue 4424: Add Solo voice to built-in satb.ly template
David Kastrup [Wed, 27 May 2015 15:05:34 +0000 (17:05 +0200)]
Issue 4422/7: Documentation fixes and Changelog
David Kastrup [Sun, 31 May 2015 18:37:14 +0000 (20:37 +0200)]
Issue 4422/6: Fix (define-music-function (parser ... uses in scm/
David Kastrup [Wed, 27 May 2015 02:25:32 +0000 (04:25 +0200)]
Issue 4422/5: Run scripts/auxiliar/update-with-convert-ly.sh
David Kastrup [Wed, 27 May 2015 01:00:16 +0000 (03:00 +0200)]
Issue 4422/4: convert-ly rule for removing parser/location
David Kastrup [Tue, 26 May 2015 23:35:08 +0000 (01:35 +0200)]
Issue 4422/3: Remove parser/location args from music function calls
When a music function definition starts with a parameter named "parser",
a compatibility definition is created that recreates the parameters
from the fluid accessors (*parser*) and (*location*) when necessary.
David Kastrup [Tue, 26 May 2015 23:01:38 +0000 (01:01 +0200)]
Issue 4422/2: Fix various jumbled parser/location argument pairs
David Kastrup [Tue, 26 May 2015 11:36:53 +0000 (13:36 +0200)]
Issue 4422/1: Remove parser/location global variable setup
Instead of relying on the global parser/location work horse (or
respective symbols in local scope), now fluids %parser/%location and
getter functions (*parser*)/(*location*) are employed for setting up the
general parsing and providing #{...#} with accurate information.
This patch removes the global setup and internal information flow: there
is still a variable "parser" being set in local parser modules.
Phil Holmes [Sun, 24 May 2015 13:44:10 +0000 (14:44 +0100)]
Remove CR LF from snippets using makelsr
Masamichi Hosoda [Mon, 25 May 2015 14:41:16 +0000 (23:41 +0900)]
Issue 4420: Add Netpbm messages to verbose output
Messages of Netpbm commands
(pngtopnm, pnmscale, pnmtopng)
output to /dev/null.
So those messages couldn't be read.
This patch can add them to verbose output,
and they can be read.
Masamichi Hosoda [Sun, 24 May 2015 14:20:30 +0000 (23:20 +0900)]
Issue 4417 / 3: Fix png filename handling
This patch can compile the source file
whose name contains `%' and convert to png files.
(e.g. `%foobar.ly' to `%foobar.png')
Masamichi Hosoda [Sun, 24 May 2015 13:14:53 +0000 (22:14 +0900)]
Issue 4417 / 2: Use ly:system in make-ps-images (ps-to-png.scm)
In make-ps-images,
use ly:system instead of my-system for invoking gs.
It is the same way as postscript->pdf
(backend-library.scm).
Masamichi Hosoda [Sun, 24 May 2015 05:28:43 +0000 (14:28 +0900)]
Issue 4417 / 1: Delete duplicate procedures in ps-to-png.scm
PLATFORM: lily.scm
search-executable: backend-library.scm
search-gs: backend-library.scm
gulp-port: unused
David Kastrup [Sat, 30 May 2015 11:49:13 +0000 (07:49 -0400)]
Remove group-interface.hh which has been unused since 2005!
Dan Eble [Sat, 30 May 2015 11:49:13 +0000 (07:49 -0400)]
Remove time-scaled-music-iterator.hh which has been unused since 2006.
David Kastrup [Sat, 30 May 2015 08:14:21 +0000 (10:14 +0200)]
Fix oversight in CG from issue 4365
David Kastrup [Fri, 29 May 2015 10:15:06 +0000 (12:15 +0200)]
Run scripts/auxiliar/makelsr.py
Keith OHara [Thu, 28 May 2015 12:20:28 +0000 (14:20 +0200)]
Issue 4406: Tidy up \relative description after Issue 3229
Reviewed-by: David Kastrup <dak@gnu.org>
David Kastrup [Fri, 29 May 2015 13:06:30 +0000 (15:06 +0200)]
Revert "Some more issue 3229 rules"
This reverts commit
8c769fc52f092210a21288e81d008dc3f700a626.
David Kastrup [Thu, 28 May 2015 15:36:12 +0000 (17:36 +0200)]
Run scripts/auxiliar/update-with-convert-ly.sh -f 2.19.20
Then revert Documentation/snippets/*.ly
David Kastrup [Wed, 27 May 2015 12:33:34 +0000 (14:33 +0200)]
Some more issue 3229 rules
David Kastrup [Thu, 28 May 2015 16:34:54 +0000 (18:34 +0200)]
Improve some patterns/conversions for convert-ly
This mostly concerns expression arguments, particularly Scheme expressions.
David Kastrup [Thu, 28 May 2015 11:45:52 +0000 (13:45 +0200)]
Sanitize convert-ly version updating in no-change case with specified --from option
David Kastrup [Thu, 28 May 2015 11:45:16 +0000 (13:45 +0200)]
Let scripts/auxiliar/update-with-convert-ly.sh pass any options to convert-ly
David Kastrup [Thu, 21 May 2015 13:27:25 +0000 (15:27 +0200)]
Issue 4411: Omit unnecessary second argument to ly:make-unpure-pure-container, document this possibility
Masamichi Hosoda [Fri, 22 May 2015 13:31:34 +0000 (22:31 +0900)]
Issue 4414: Doc: Fix configure option
configure option `--with-ncsb-dir'
is changed to `--with-fonts-dir' by issue 4332.
Dan Eble [Thu, 21 May 2015 02:33:01 +0000 (22:33 -0400)]
Issue 4410: Part_combine_iterator: treat child iterators as a set
Allocate iterators for the two parts in an array instead of separate
named members. Use loops where appropriate.
David Kastrup [Tue, 26 May 2015 11:42:14 +0000 (13:42 +0200)]
Fix spurious newline from upstream Texinfo
hanwen [Sat, 14 Mar 2015 14:39:16 +0000 (15:39 +0100)]
Decrease space between vertical beams by length-fraction.
This causes 16th and higher grace beams to be closer together.
Thanks to Daniel Spreadbury for noting this in his blog,
http://blog.steinberg.net/2015/03/development-diary-part-10/
To fix the regression in grace-start.ly, decrease collision-padding
for grace beams: since grace beams are smaller, objects must come
closer to be considered a collision.
To fix regressions where grace stems become too large, decrease
importance of forbidden quant scoring if length-fraction != 1.0..
Keith OHara [Sun, 3 May 2015 05:51:48 +0000 (22:51 -0700)]
absolute pitch entry: accept an offset octave
Jean-Charles Malahieude [Mon, 25 May 2015 14:35:35 +0000 (16:35 +0200)]
Doc: correct typo for backslash in @warning is @bs{}
David Kastrup [Wed, 20 May 2015 15:31:32 +0000 (17:31 +0200)]
Issue 3057: misbehavior of \deadNotesOn et al at start of music
User-level commands that do not move to a particular context will tend
to be applied at Bottom context when following any notes or similar
events, but at arbitrary level when being at the start of music. That's
a bad idea. This patch moves the head styling overrides to Bottom
level. While this means that
\new Staff { \deadNotesOn ...
will only affect the default Voice instead of the whole Staff, one can
still get per-Staff behavior with
\new Staff \with { \deadNotesOn } { ...
so no functionality is really lost here.
David Kastrup [Mon, 18 May 2015 17:33:06 +0000 (19:33 +0200)]
Issue 4404: Add ly:disconnect-dispatchers function
David Kastrup [Wed, 20 May 2015 19:32:13 +0000 (21:32 +0200)]
Issue 4408: Several typos in the German doc
Particularly, the German docs confuse "eingestrichenes C" (middle C, C4,
LilyPond c') several times with "zweigestrichenenes C" (C in treble
staff, C5, LilyPond c'').
Dan Eble [Sun, 17 May 2015 19:53:22 +0000 (15:53 -0400)]
Issue 4402: Part combiner: ignore skips coinciding with rests within a part
Dan Eble [Mon, 18 May 2015 11:53:24 +0000 (07:53 -0400)]
Issue 4403: Part_combine_iterator: stop tracking the last-playing part
Rely on the Scheme-computed split state to choose which voice to use
for unisono and unisilence passages.
Phil Holmes [Mon, 25 May 2015 10:24:53 +0000 (11:24 +0100)]
Correct news
Phil Holmes [Sun, 24 May 2015 20:04:58 +0000 (21:04 +0100)]
Release: bump VERSION.
Phil Holmes [Sun, 24 May 2015 20:04:27 +0000 (21:04 +0100)]
Merge remote branch 'origin/release/unstable' into HEAD
Phil Holmes [Sun, 24 May 2015 12:12:20 +0000 (13:12 +0100)]
Release: update news.
Phil Holmes [Sun, 24 May 2015 12:12:20 +0000 (13:12 +0100)]
PO: update template.
Phil Holmes [Sun, 24 May 2015 12:12:20 +0000 (13:12 +0100)]
Release: bump VERSION_DEVEL.
Phil Holmes [Sun, 24 May 2015 10:58:02 +0000 (11:58 +0100)]
Correct vocal ensemble template from LSR
David Kastrup [Sun, 24 May 2015 09:26:29 +0000 (11:26 +0200)]
Merge branch 'doc-hu' into translation
David Kastrup [Sun, 24 May 2015 09:23:46 +0000 (11:23 +0200)]
Rerun the issue 3229 script to get back its changes into Doc-hu
Phil Holmes [Sat, 23 May 2015 14:34:46 +0000 (15:34 +0100)]
Remove snippets from /new that are now in the LSR
Phil Holmes [Wed, 20 May 2015 10:03:55 +0000 (11:03 +0100)]
Adds snippet showing transcription of mensural music to modern
Phil Holmes [Tue, 19 May 2015 09:43:57 +0000 (10:43 +0100)]
Some updates to the ancient music section
Dan Eble [Sat, 2 May 2015 02:21:43 +0000 (22:21 -0400)]
Issue 4365: non-member unsmob<T> replaces T::unsmob and T::is_smob
Hide Smob_base<>::is_smob() to prevent the misleading situation of
D::is_smob(S) returning true when S represents an ancestor of D rather
than a D. This issue was previously worked around by overriding
is_smob in several derived smob classes; that is no longer needed.
LY_ASSERT_SMOB() now returns a smob pointer. This is not used yet,
but is available for future use to avoid unsmobbing twice.
Smob_base<>::smob_p() is hidden because there doesn't seem to be a
need for it to be public.
Files in lily/include were edited by hand. Files in lily itself were
processed with the following sed script.
s/\([A-Za-z_]\+\)::derived_unsmob/unsmob<\1>/g
s/derived_unsmob *<\([A-Za-z_]\+\)>/unsmob<\1>/g
s/\([A-Za-z_]\+\)::unsmob/unsmob<\1>/g
s/\([A-Za-z_]\+\)::is_smob/unsmob<\1>/g
s/Input \*\([A-Za-z_]\+\) = unsmob /Input *\1 = unsmob<Input> /g
s/LY_ASSERT_SMOB (\([^)]*\))$/LY_ASSERT_SMOB (\1);/g
David Kastrup [Fri, 22 May 2015 13:15:12 +0000 (15:15 +0200)]
Remove unneeded include of grob.hh in unpure-pure-container.cc
David Kastrup [Sun, 17 May 2015 10:04:32 +0000 (12:04 +0200)]
Issue 4400: Rework LY_DECLARE_SMOB_PROC to declare a member function
This is nicer to work with. LY_DECLARE_SMOB_PROC now needs to
additionally get the class name for declaring the smob procedure: this
is astonishingly hard to avoid. Moving the initialization out of
Smob_base<Super>::init into a separate routine smob_proc_init defined by
LY_DECLARE_SMOB_PROC considerably simplifies the initialization.
David Kastrup [Sun, 17 May 2015 14:14:09 +0000 (16:14 +0200)]
Issue 4401: Remove unnecessary static casts on function member pointers
The commits
6d391dc04f0faa3248d64aa36faf38cf9e4e5fa2 Even more typecasting of member function pointers in smobs.tcc
30203dfe5c45fb9c6255512ba0f8366b322d303f Avoid comparing pointers-to-member of covariant types
were done as hotfixes (apparently without associated tracker issues) to
get the current implementation of smobs to compile with old versions of
GCC in GUB as of Oct 2014. The attempts to make these versions of GCC
work were ultimately unsuccessful and GUB was upgraded to newer versions
of GCC.
It does not make sense to retain the workarounds that did not really
help.
Dénes Harmath [Fri, 15 May 2015 23:43:09 +0000 (01:43 +0200)]
Doc-hu: translate Voices and vocals
David Kastrup [Thu, 14 May 2015 18:50:57 +0000 (20:50 +0200)]
Issue 4398/3: Move the protection of all_fonts_global to Protected_scm
Previously, this abused the protect/unprotect mechanism only intended
for temporary protection.
Also turns All_font_metrics into a Scheme Smob.
David Kastrup [Thu, 14 May 2015 18:50:57 +0000 (20:50 +0200)]
Issue 4398/2: Move the protection of global_translator_dict to Protected_scm
Previously, this abused the protect/unprotect mechanism only intended
for temporary protection.
David Kastrup [Thu, 14 May 2015 18:50:57 +0000 (20:50 +0200)]
Issue 4398/1: Move the protection of default_global_scale to Protected_scm
Previously, this abused the protect/unprotect mechanism only intended
for temporary protection.
David Kastrup [Fri, 15 May 2015 20:21:10 +0000 (22:21 +0200)]
Issue 4397: Arrange Protected_scm variables into single list
Since we need to allocate one cons cell per protected variable anyway,
we can just arrange them into a single list, making it possible to
a) just require a single scm_permanent_object call, namely for the head
b) have a representation able to return all protected elements, should
we require this at some later point of time
Carl Sorensen [Thu, 7 May 2015 17:39:33 +0000 (11:39 -0600)]
Adjust beam subdivision to only occur at baseMoment
Thomas Morley [Mon, 11 May 2015 20:43:51 +0000 (22:43 +0200)]
Fretboards: markup strings in dot positions
Issue 4120
Fixes disappeared strings, restores the behaviour before the fix
for Issue 2752
Does not scale those strings, though, in order to fix the regression first
and do other feature requests for issue 4120 in a follow up.
Masamichi Hosoda [Tue, 19 May 2015 14:01:34 +0000 (23:01 +0900)]
Web-ja: update translation
David Kastrup [Tue, 12 May 2015 17:01:57 +0000 (19:01 +0200)]
Issue 2787: Sanitize usage of -DDEBUG, -DNDEBUG and assert
The compiler option -DNDEBUG is no longer being used: -DNDEBUG disables
the assert function, and assert is essentially stating that the program
cannot useful continue if the assertion is not met. -DNDEBUG is
basically an option for compiling an application to a limited amount of
ROM when aborting with a diagnostic is not preferable to crashing.
This is not the case for LilyPond. So expensive debugging options now
are enabled with -DDEBUG instead. There is a new configure option
--enable-checking defaulting to "off" for this now.
At the current point of time, setting --disable-optimising also has the
effect of enabling the checks: this will be retained until Patchy has
been adapted to using --enable-checking.
David Kastrup [Wed, 13 May 2015 08:55:45 +0000 (10:55 +0200)]
Issue 4394: NR: use -@code{s}/-@code{-sharp} for alteration suffix description
The previously used -s/--sharp in the pitch alteration suffix table did
not render in a sufficiently recognizable manner, making it hard to
guess that the proper note name would be `a-sharp' rather than `asharp'.
David Kastrup [Mon, 11 May 2015 15:47:46 +0000 (17:47 +0200)]
Issue 4389: Add aliases fflat et al for f-flat et al in bagpipe.ly
While the name conversion of issue 4209 is also done for bagpipe music,
as opposed to "normal" music the respective note names have no short
names and thus can be expected to be used in melodies rather than just
in isolated places like \key commands.
As the change is consequently much more likely to inconvenience bagpipe
players, aliases for the old names are added to bagpipe.ly.
David Kastrup [Mon, 11 May 2015 15:41:02 +0000 (17:41 +0200)]
Issue 4388: Changes: long english notenames switched from aflat to a-flat
This change had been issue 4209.
Dan Eble [Mon, 18 May 2015 12:53:15 +0000 (08:53 -0400)]
Part_combine_iterator: remove unused parameter
Somehow I overlooked the warning in the patch for Issue 4385.
David Kastrup [Sun, 17 May 2015 22:02:12 +0000 (00:02 +0200)]
Revert "Issue 3229: Prefer \relative { ... } over \relative x'' { ... }"
This reverts commit
94644b3a701073c99eabb88d95b20cd3f3ac5af0.
David Kastrup [Sun, 17 May 2015 17:28:06 +0000 (19:28 +0200)]
Run scripts/auxiliar/update-with-convert-ly.sh
Afterwards revert all changes in Documentation/snippets/*.ly (thus
retaining Documentation/snippets/new), then run
scripts/auxiliar/makelsr.py, leaving only the files in
Documentation/snippets/new and their versions in Documentation/snippets
converted: if we don't want to retain the automatic conversion rule, we
only want to keep those files which do not get reconverted on reimport.
David Kastrup [Wed, 6 Mar 2013 23:23:16 +0000 (00:23 +0100)]
Issue 3229: Prefer \relative { ... } over \relative x'' { ... }
As a followup to the commits for issue 3245, this conversion rule
replaces uses of \relative with reference pitch by those without
reference pitch for a number of patterns where convert-ly can detect the
first actual note reliably.
The rule is prepared to skip over files containing \include or \language
with a non-c-using notename language since the patterns do not work for
them.
However, this part of the rule is disabled in this commit as it turns
out that the LilyPond code base converts well (and more thoroughly)
without it.
Paul Morris [Tue, 5 May 2015 03:12:52 +0000 (23:12 -0400)]
Add flip-stencil function
Issue 4370
Patch 2/2
Paul Morris [Tue, 5 May 2015 03:18:15 +0000 (23:18 -0400)]
Fix variable name in make-path-stencil
Issue 4370 Patch 1/2
To follow the convention that xxx?
indicates a predicate.
David Kastrup [Sun, 17 May 2015 17:19:07 +0000 (19:19 +0200)]
Run scripts/auxiliar/update-with-convert-ly.sh
Also some whitespace fixes.
David Kastrup [Mon, 11 May 2015 14:15:54 +0000 (16:15 +0200)]
Issue 4384/2: Undo effects of \shiftOff convert-ly rule
Includes the effects of several manual operations in consequence
David Kastrup [Sun, 10 May 2015 12:17:48 +0000 (14:17 +0200)]
Issue 4384: Remove convert-ly rule \shiftOff -> \undo\shiftOn
For the rationale, see
<URL:https://codereview.appspot.com/
190500043/#msg1>
The presence of the rule will cause similarly surprising effects to
users as it would to the current state of documentation translations.
Even if it were properly mentioned in the diagnostic description of
the conversion rule, people would rarely look closely enough to
notice.
Dan Eble [Thu, 7 May 2015 12:07:33 +0000 (08:07 -0400)]
Issue 4386: Part_combine_iterator: move mmrest handling outside the
part-routing state machine
Dan Eble [Mon, 11 May 2015 02:02:34 +0000 (22:02 -0400)]
Issue 4385: Part_combine_iterator: remove residue related to marks
This could have been removed when the generation of mark events was
moved from C++ to Scheme in
aae8f9ee8f62e8a57f4f60a60e639a040571f37b,
but it went unnoticed at that time.
Masamichi Hosoda [Sat, 9 May 2015 13:49:14 +0000 (22:49 +0900)]
Issue 4374 / 4: Use mkstemp for intermediate ps files
When backend is `ps' (default),
intermediate ps files are created by mkstemp.
The following issues are fixed.
Filename issue (to compile lines.ly, gs_init.ly etc.)
Intermediate file issue (to overwrite and delete .ps file)
Masamichi Hosoda [Sat, 9 May 2015 13:29:14 +0000 (22:29 +0900)]
Issue 4374 / 3: Add copy-binary-file procedure
Procedure "copy-binary-file" is
to copy a binary file correctly on any platforms.
Masamichi Hosoda [Sat, 16 May 2015 11:46:55 +0000 (20:46 +0900)]
Issue 4374 / 2: Add make-tmpfile procedure
Procedure "make-tmpfile" is
to create a unique temporary file using "mkstemp!".
Masamichi Hosoda [Sat, 9 May 2015 08:20:19 +0000 (17:20 +0900)]
Issue 4374 / 1: Fix platform identification
On Cygwin environment,
Guile's uname returns the strings of "CYGWIN_NT-6.3" etc.
It contains unnecessary strings for the platform identification,
such as Windows version.
Therefore, to remove them to return the only "cygwin".
Dan Eble [Sat, 9 May 2015 01:35:04 +0000 (21:35 -0400)]
Issue 4379: Part_combine_iterator: simplify context substitution
Music_iterator::substitute_outlet: do nothing if the new outlet is
identical to the old (a sanity test)
David Kastrup [Sun, 10 May 2015 14:03:42 +0000 (16:03 +0200)]
Issue 4372: convert-ly misses some bflat -> b-flat
In python/convert-rules.py, using '\b' for note name boundaries turns
out to be too audacious since bflat4 is one word. A proper solution
would be to match the variable wordsyntax and let the match expression
use a replacement function that triggers on the right words. However,
such a large number of matches would be expensive. So instead we are
using positive lookahead and lookbehind expressions to get reasonably
good matches.
David Kastrup [Sat, 9 May 2015 18:37:19 +0000 (20:37 +0200)]
Issue 4380: Some optimizations during dispatching
Don't generate hashes multiple times and stop detection of pending grobs
when the first one is encountered.
Keith OHara [Sun, 3 May 2015 05:49:54 +0000 (22:49 -0700)]
repeat tremolo: robust to zero-duration elements
David Kastrup [Thu, 30 Apr 2015 15:47:29 +0000 (17:47 +0200)]
Issue 4357/7: Replace translator_listener_record mess with Scheme
David Kastrup [Wed, 29 Apr 2015 09:25:28 +0000 (11:25 +0200)]
Issue 4357/6: Extend Callback_wrapper class to extend for translator listening needs
David Kastrup [Tue, 28 Apr 2015 16:39:57 +0000 (18:39 +0200)]
Issue 4357/5: Remove Scheme listeners as they are just callbacks now.
David Kastrup [Tue, 12 May 2015 12:28:23 +0000 (14:28 +0200)]
Merge branch 'issue4357' into HEAD
This avoids admitting a non-compiling commit into the history mainline
David Kastrup [Tue, 28 Apr 2015 09:19:23 +0000 (11:19 +0200)]
Issue 4357/4: Reimplement Listener around generic SCM callback and instance