Reorganize listener/acknowledger initialization
This reverts most of the changes of issue 4885 in order to arrive at
listeners/acknowledgers that can be kept private or protected
according to the actual use cases in engravers and other translators.
It also streamlines some of the other code. Contains the following
commits in reverse order (all separately tested to compile):
Remove {Translator,Engraver}::ack_find_base
The indirection and complication added by it does not really
help in any manner.
Remove Translator::method-find_base
It's basically a trivial replacement and confuses more than it helps.
Listeners should not be virtual
Gregorian_ligature_engraver::listen_pes_or_flexa and
Ligature_engraver::listen_pes_or_flexa were accidentally
declared virtual, but their registration already caters
for what amounts to virtual overrides in effect.
Revert "Issue 4885/2: Let ADD_ACKNOWLEDGER state actual classes"
This reverts commit 7c36dbb1834c7c68e4b94777241de3ea02971aca.
Revert "Issue 4885/3: Remove ack_finder/ack_find_base"
This reverts commit b9040afd1dcfbee6b45bc3d54850ff50d51c8ee9.
Let method_finder also find listeners
This allows using inherited listeners directly like with
acknowledgers and translator methods.
Diff:
Passes make, make check and a full make doc.
Patch on countdown for June 24th.
I am going to push this a day early, in a few hours. Reason is that issue 4903 (which has a hard time getting tested at all) actually overlaps with this one and consequently needs non-trivial rebasing. And I have patches waiting to be rebased on that as well, and I try working on issue 1375 based on the code state of that, and stuff is getting out of hand enough that it causes me to deadlock and get nothing done.
So I'll be flushing some queues and we'll need to deal with any fallout afterwards rather than through proper review. Sorry for that. I still have a few issues on regular schedule not interfering with ongoing work.
Pushed to staging as
commit 5c7507115ca03b8f2f2b46e34d670ed50074b00d
Author: David Kastrup dak@gnu.org
Date: Sat Jun 18 10:49:06 2016 +0200
commit 1906a2283e10713232141886afd11dad96efcee1
Author: David Kastrup dak@gnu.org
Date: Sat Jun 18 10:23:30 2016 +0200
commit 220f62ed61861265a5b734052806de2d1c656335
Author: David Kastrup dak@gnu.org
Date: Sat Jun 18 10:13:10 2016 +0200
commit ffc7faa048d5c54c1c38024b80212f5f789a4361
Author: David Kastrup dak@gnu.org
Date: Fri Jun 17 16:23:09 2016 +0200
commit 60ceca32eb997a6ce3a974527b39a098d1ebb82e
Author: David Kastrup dak@gnu.org
Date: Fri Jun 17 16:13:55 2016 +0200
commit f7013d65b51f1372dc31973b78bbe04f505ea569
Author: David Kastrup dak@gnu.org
Date: Sat Jun 18 10:20:43 2016 +0200