]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 4885/3: Remove ack_finder/ack_find_base
authorDavid Kastrup <dak@gnu.org>
Sun, 5 Jun 2016 18:48:36 +0000 (20:48 +0200)
committerDavid Kastrup <dak@gnu.org>
Mon, 6 Jun 2016 09:00:07 +0000 (11:00 +0200)
ADD_ACKNOWLEDGER and ADD_END_ACKNOWLEDGER can work without them when
the base is specified correctly when calling them inside of some
CLASS::boot ().

lily/include/engraver.hh
lily/include/translator.hh
lily/include/translator.icc

index d0f6e8979ced98b1688462f03409d6936be10185..928f6a969dbddad717c25856351b53b9fba4f5d5 100644 (file)
@@ -58,9 +58,6 @@ public:
     (t->*callback) (Grob_info (e, g));
     return SCM_UNSPECIFIED;
   }
-  template <class T, void (T::*callback)(Grob_info)>
-  static SCM ack_find_base ()
-  { return Callback2_wrapper::make_smob<ack_trampoline<T, callback> > (); }
 
   /**
      Announce element. Default: pass on to daddy. Utility
index 2d3199c76bb4c4aa7b74704c5ddd3b19752a3aec..96309693aac8366e77951acbc6c063dd85f6d400 100644 (file)
   /* end #define */
 
 #define TRANSLATOR_INHERIT(BASE)                                        \
-  using BASE::method_finder;                                            \
-  using BASE::ack_finder;
+  using BASE::method_finder;
 
 #define DECLARE_TRANSLATOR_CALLBACKS(NAME)                              \
   template <void (NAME::*mf)()>                                         \
   static SCM method_finder () { return method_find_base<NAME, mf> (); } \
-  template <void (NAME::*callback)(Grob_info)>                          \
-  static SCM ack_finder () { return ack_find_base<NAME, callback> (); } \
   /* end #define */
 
 /*
@@ -159,15 +156,6 @@ protected:                      // should be private.
   static SCM
   method_finder () { return SCM_UNDEFINED; }
 
-  // Overriden in Engraver.
-  template <class T, void (T::*callback)(Grob_info)>
-  static SCM
-  ack_find_base () { return SCM_UNDEFINED; }
-
-  template <void (Translator::*)(Grob_info)>
-  static SCM
-  ack_finder () { return SCM_UNDEFINED; }
-
   virtual void derived_mark () const;
   static SCM event_class_symbol (const char *ev_class);
   SCM static_translator_description (const char *grobs,
index 47bcd03b8809f06f2e00c412f54eb8d610ab6d0a..d43543cd8b08dbadc2de37fe3c5c5a9105e8b7bf 100644 (file)
@@ -98,14 +98,15 @@ void add_acknowledger (SCM ptr,
                        SCM &ack_hash);
 
 #define ADD_ACKNOWLEDGER(CLASS, NAME)                                   \
-  add_acknowledger (ack_finder<&CLASS::acknowledge_ ## NAME> (),        \
+  add_acknowledger (Callback2_wrapper::make_smob                        \
+                    <ack_trampoline<CLASS, &CLASS::acknowledge_ ## NAME> > (), \
                     #NAME, acknowledge_static_array_drul_[START]);
 
 #define ADD_END_ACKNOWLEDGER(CLASS, NAME)                               \
-  add_acknowledger (ack_finder<&CLASS::acknowledge_end_ ## NAME> (),    \
+  add_acknowledger (Callback2_wrapper::make_smob                        \
+                    <ack_trampoline<CLASS, &CLASS::acknowledge_end_ ## NAME> > (), \
                     #NAME, acknowledge_static_array_drul_[STOP]);
 
-
 /*
   Implement the method cl::listen_##m, and make it listen to stream
   events of class m.