最近 texlive2021 をテスト的に運用しています.OSは Win10 です.
インストールしたのは iso版で texlive2021-20210325.iso と同じもののはずです.
その後アップデートはしていません.こちらの環境は,古い TeX や gs がごっそり
残っている状況で,さらに texlive2021 の path優先順位は最下位にしてあります.
そのため,texlive2021 のアプリケーションはうまく動かない(gs とか dviout での
フォント生成とか)ことがありますが,それは特に問題としません.
表題の path設定の件です.texlive2021 で標準の方法で,例えば texworks を
起動したとします.ショートカット経由か何かで
...texlive\2021\bin\win32\texworks.exe をたたくことになります.
こうすると,runscript.tlu の -- gs stuff の最後あたりの設定
-- now setup the path so that the gs program will be found
PATH = prepend_path(PATH, GSDIR, BINDIR)
os.setenv('PATH', PATH);
により 環境変数 Path の先頭に新たなものが付け加えられます.
texworks のチャイルドプロセスから調べてみると,Path は
Path=c:\texlive\2021\tlpkg\tlgs\bin;[元のpath...]
となっています.つまり,GSDIR が先頭に付け加えられたようです.しかし,
BINDIR が付け加わっていません.スクリプトの上記の段階では BINDIR には
c:/texlive/2021/bin/win32
相当のものが入っているようです.しかしそれが反映されない.
いろいろとやってみると,どうも path名の最後が数字だと無視される
(この場合だと win32 の "2").最後が数字の場合には何かエスケープが必要?
今一時的に,runscript.tlu 内を
-- now setup the path so that the gs program will be found
-- PATH = prepend_path(PATH, GSDIR, BINDIR)
PATH = prepend_path(PATH, GSDIR, BINDIR..';c:/undefined')
os.setenv('PATH', PATH);
としてみました.すると環境変数Pathは
Path=c:\texlive\2021\bin\win32;c:\undefined;c:\texlive\2021\tlpkg\tlgs\bin;[元のpath...]
となります(c:\undefined はダミーです).
runscript.tlu の意図としては,c:\texlive\2021\bin\win32 が付け加わることに
なっているかと考えます.以上,ご報告まで.
ああ,こちらの環境は結構ぐちゃぐちゃなので的外れなことを言っているかも
しれません.ただ,上記の状況が設定されると2種類のTeX・gs環境が入っていても
そのままで大体うまく動くのですよ(よくないことかもしれませんが).
また,他所で texlive 環境で gs がうまく動かないという状況も改善されるかも
しれません.