引数の数が違うconvertとinlineを同じ関数で解析させるのは無理があるようなので、下のような修正案を提案します。
--- plugin/aname.inc.php Fri Jun 17 00:04:08 2005 +++ plugin/aname.inc.php Wed Aug 03 15:50:32 2005 @@ -27,6 +27,8 @@ // #aname function plugin_aname_convert() { + if (func_num_args() < 1) + return plugin_aname_usage(TRUE); $args = func_get_args(); // Zero or more return plugin_aname_tag($args); } @@ -34,6 +36,8 @@ // &aname; function plugin_aname_inline() { + if (func_num_args() < 2) + return plugin_aname_usage(FALSE); $args = func_get_args(); // ONE or more $body = strip_autolink(array_pop($args)); @@ -66,7 +70,7 @@ global $vars; static $_id = array(); - if (empty($args) || $args[0] == '') return plugin_aname_usage($convert); + if ($args[0] == '') return plugin_aname_usage($convert); $id = array_shift($args); $body = ''; if (! empty($args)) $body = array_pop($args);
@@ -49,7 +53,7 @@ if ($convert) { return '#aname(anchorID[[,super][,full][,noid],Link title])'; } else { - return '&aname(anchorID[,super][,full][,noid]){[Link title]}'; + return '&aname(anchorID[,super][,full][,noid]){[Link title]};'; } } else { if ($convert) {