body「{...}」を指定したインライン型プラグインを1行内に複数記述した場合、その呼び出し順が乱れます。左から右へ順序よく呼び出されることを期待していますが、「{...}」があると、実際にはそうはなりません。
現在、行内のインライン型プラグインの呼び出し順が重要なプラグインを作成しています(official:自作プラグイン/attachref.inc.phpとofficial:自作プラグイン/addline.inc.php)。この呼び出し順が乱れると、変化を加えるプラグイン記述の場所を間違えてしまい、動作に致命的な不都合を引き起こします。なんとか御対処願えませんか?
原因の位置は分かっておりまして、make_link.phpの約240行目のfunction make_inline()内です。そもそもは正規表現が変な風に記述を分割してしまうのが根本のようですが、それを再帰呼び出しで対処したために、呼び出し順序が乱れてしまったようです。なんとか変更しようとしましたが、うまくいきませんでした。
どうやら、make_inline()自体が、再帰的に{...}の内部の方から外側の方へ、呼ばれているのが原因のようです。しかも、make_inline()では前後の評価順が逆になっているようです。
ここに→動作例を示す。
以下のような記述
&color(red){赤 &size(16){16};&size(24){24};}; &version;の場合、呼び出し順は size(16) → size(24) → color(red) → version となるはずです。