diff options
author | intrigeri <intrigeri@boum.org> | 2008-11-02 13:11:00 +0100 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2008-11-02 13:11:00 +0100 |
commit | 77136538788350ad2decaa445704ba5738074736 (patch) | |
tree | acb6ea4f00bb43e78a829b1d84a42384c7f37f50 /IkiWiki/Plugin/external.pm | |
parent | fadb26bc1507f7fc2caaa873ad32c12f75c378aa (diff) | |
parent | c2684b94b27c12b5e39bfbb026163b62842a9908 (diff) |
Merge commit 'origin/master' into prv/po
Diffstat (limited to 'IkiWiki/Plugin/external.pm')
-rw-r--r-- | IkiWiki/Plugin/external.pm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/external.pm b/IkiWiki/Plugin/external.pm index ba6c7d8b9..4ce9c8bab 100644 --- a/IkiWiki/Plugin/external.pm +++ b/IkiWiki/Plugin/external.pm @@ -202,8 +202,16 @@ sub inject ($@) { #{{{ my $sub = sub { IkiWiki::Plugin::external::rpc_call($plugin, $params{call}, @_) }; + $sub=memoize($sub) if $params{memoize}; + + # This will add it to the symbol table even if not present. + no warnings; eval qq{*$params{name}=\$sub}; - memoize($params{name}) if $params{memoize}; + use warnings; + + # This will ensure that everywhere it was exported to sees + # the injected version. + IkiWiki::inject(name => $params{name}, call => $sub); return 1; } #}}} |