Skip to content

System.AsyncProcess: Modified to not assume use of shell.#846

Merged
tsuyoshicho merged 1 commit intovim-jp:masterfrom
mikoto2000:delete-shell-in-asyncprocess
Dec 20, 2025
Merged

System.AsyncProcess: Modified to not assume use of shell.#846
tsuyoshicho merged 1 commit intovim-jp:masterfrom
mikoto2000:delete-shell-in-asyncprocess

Conversation

@mikoto2000
Copy link
Copy Markdown
Contributor

job_start 時に &shell の使用を前提とすると、 Windows と cmd.exe の組み合わせで意図したエスケープができない問題が発生するため、 &shell の使用を前提としないように実装を修正しました。

これにより、意図したエスケープ処理がしやすくなり、用途に応じて &shell 経由での実行もできるようになります。

意図するエスケープが不能な例:

call job_start(['cmd.exe', '/c', 'curl --dump-header ^"c:/Users/mikoto/test-header.html^" --output ^"c:/Users/mikoto/test.html^" https://example.com/'], {
      \ 'exit_cb': function('s:user_cb'),
      \ })
=> エスケープが利かず、 curl が終了コード 23 で異常終了する

@mikoto2000 mikoto2000 force-pushed the delete-shell-in-asyncprocess branch from 0b64695 to c8f7e92 Compare December 16, 2025 12:37
Copy link
Copy Markdown
Contributor

@tsuyoshicho tsuyoshicho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

任意の実行という意味だと、こちらがたしかにいいですね

@ujihisa
Copy link
Copy Markdown
Member

ujihisa commented Dec 18, 2025

windows難しい

@tsuyoshicho
Copy link
Copy Markdown
Contributor

2 approve なのでマージしておきます。

@tsuyoshicho tsuyoshicho merged commit 131f850 into vim-jp:master Dec 20, 2025
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants