タイトル | : Re^5: aux:パスの挙動について |
記事No | : 3675 |
投稿日 | : 2021/06/16(Wed) 21:53 |
投稿者 | : TORO |
S_ で改行を含む記載ができないのはミスですので 次版で対応します。
M_ で実行できないのは %* の使い方の問題ですね。 他の質問もまとめて説明します。
(1) ?_auxxxx で%*path, %*src や %*test 等の記載が使えるのは、 aux: パスの内部処理から呼び出した時だけで、通常の 実行方法(キー割当てとか)で実行したときは使用できません。 ※ S_auxxxx / M_auxxxx に記載したから %*~ が使える わけではなく、aux: パスの内部処理で一時的に使用可能に 拡張しています。
特に、%*path, %*src 等の組み込み関数は、各機能に併せて 微調整をしていることがあるので、いつでも使用できる ことは考えていませんでした。
(2) %*~ は、aux: 内に限られず一番最後の文を呼び出し元に 受け渡す処理をしているので、最後に実行関係の文を記載すると 実行されないケースがあります。 次の例ですと、test 3 と test 6 は実行されないため 表示されません。test 7 は最後の文ではないので表示されます。
S_auxtext = { cmd1 = internal ; 展開されずに実行 %I"test 1" %I"test 2" %I"test 3" cmd2 = %I"test 4" %: %I"test 5" %: %I"test 6" cmd3 = %I"test 7" command list = %*cmd1 %*cmd2 %*cmd3 ; 「command」が展開されて実行 }
以上、S_ 内で改行記載ができない以外は仕様になっています。
ただ、現状の aux: パスの仕様だと、そのパス限定で実行したい コマンド(ftp とか git とかでの使うコマンド発行など)とかを 実装しづらいと思っており、今後強化する予定です。 どんな操作でどんな処理をしたいかとかのリクエストがあれば、 強化する時に併せて検討します。
|