anchor.diff:  
   get_module_hooks(Mod, Hooks) ->
       lists:map(fun({F, A}) -> {F, Mod, F, A};
  -                 ({H, F, A}) -> {H, Mod, F, A}
  +                 ({H, F, A}) -> {H, Mod, F, A, []}
                 end, Hooks).
   
   get_app_hooks(Hooks) ->
  -    lists:map(fun({_,_,_,_} = H) -> H;
  -                 ({M,F,A}) -> {F,M,F,A}
  +    lists:map(fun({_,_,_,_,_} = H) -> H;
  +                 ({M,F,A,Opts}) -> {F,M,F,A,Opts}
                 end, Hooks).
   
   vmq_plugin_flag_specs() ->
  
positive.code:     end,
      clique:register_command(Cmd, KeySpecs, FlagSpecs, Callback).
  
  new_row(Plugin, Type, Hooks, Acc) ->
      [[{'Plugin', Plugin}, {'Type',  Type},
        {'Hook(s)', fmt_hooks(Hooks)}, {'M:F/A', fmt_mfas(Hooks)}] | Acc].
  
  fmt_hooks(Hooks) ->
      lists:flatten([io_lib:format("~p~n", [H]) || {H,_,_,_} <- Hooks]).
  
  fmt_mfas(Hooks) ->
      lists:flatten([io_lib:format("~p:~p/~p~n", [M,F,A]) || {_,M,F,A} <- Hooks]).
  
  extract_table(Plugins) ->
      lists:foldl(
  
negative.code:             Plugins = extract_table(vmq_plugin:info(raw)),
              PluginName = proplists:get_value(plugin, Flags, []),
              HookName = proplists:get_value(hook, Flags, []),
              ShowInternal = false,
              FilteredPlugins =
                  lists:filtermap(
                    fun({_, module, _}) when not ShowInternal ->
                            false;
                       ({_, _, _}=P) when (PluginName == []) and (HookName == []) ->
                            {true, show_internal_hooks(P, ShowInternal)};
                       ({PN, _,_}=P) when (PluginName == PN) and (HookName == []) ->
                            {true, show_internal_hooks(P, ShowInternal)};
                       ({PN,T,Hooks}) when (PluginName == []) and (HookName =/= []) ->
                            case [H|| {HN,_,_,_, _}=H<-Hooks, HN ==  HookName] of
                                [] -> false;
                                Hs -> show_internal_hooks({PN, T, Hs}, ShowInternal)
                            end;
                       ({PN,T,Hooks}) when (PluginName == PN) and (HookName =/= []) ->
                            case [H|| {HN,_,_,_, _}=H<-Hooks, HN == HookName] of
                                [] -> false;
                                Hs -> show_internal_hooks({PN, T, Hs}, ShowInternal)
                            end;
                       (_) -> false
                    end, Plugins),
  