Umi Uyuraのブログ

プログラミング関連の作業ログ

gnupackでWindowsの環境変数PATHを引き継ぐ

gnupackを使いだして一つ困ったのは、Windows側で設定している環境変数PATHが引き継がれなかったことでした。

そのままだと、Windows側でも使うプログラムのPATHをCygwinEmacs上で再設定しなければならず、二重・三重の管理となってしまうので避けたいところ。

そこで調べてみたところ、解決方法を見つけたのでメモ。

対象

項目 バージョン
gnupack devel 13.06-2015.11.08

解決方法

\root\startup_config.ini 内で、PATHを設定設定している箇所があるのですが、その中で、最初に PATH = として既存のPATHをクリアしているような記述を発見。

 [Process Variable]
    CYGWIN_DIR = %ROOT_DIR%\app\cygwin\cygwin

    HOME      = %ROOT_DIR%\home
    TMP       = %TEMP%\gnupack
    TEMP      = %TMP%
    SHELL     = /bin/bash
    CYGWIN    = winsymlinks:lnk
    MAKE_MODE = unix
    TZ        = JST-9
    LANG      = ja_JP.utf8

    # PATH =          # ←この部分が既存の環境変数を消していたっぽい
    PATH = %PATH%;%EMACS_DIR%\bin
    PATH = %PATH%;%LOCAL_DIR%\bin
    PATH = %PATH%;%CYGWIN_DIR%\bin
    PATH = %PATH%;%ROOT_DIR%\app\script
    PATH = %PATH%;%ROOT_DIR%\app\vim
    PATH = %PATH%;%windir%\system32;%windir%;%windir%\system32\Wbem
    PATH = %PATH%;%WINDIR%\System32\WindowsPowerShell\v1.0

そこで、上記のように該当部分をコメントアウトすることで、既存のPATHも残るようになりました。

これにより、gnupackと共通で使いそうなものはWindows環境変数側に寄せることができるので、一元管理できて便利。