Software Message Board
記事リスト新着記事ワード検索過去ログ管理用

タイトル Re^5: aux:パスの挙動について
投稿日: 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 とかでの使うコマンド発行など)とかを
実装しづらいと思っており、今後強化する予定です。
どんな操作でどんな処理をしたいかとかのリクエストがあれば、
強化する時に併せて検討します。


- 関連一覧ツリー (▼ をクリックするとツリー全体を一括表示します)