読者です 読者をやめる 読者になる 読者になる

NTEmacsからminttyを起動する

NTEmacs上の$HOMEとcygwinの$HOMEが食い違っているので少々面倒でした。minttyを起動したままEmacsを終了させようとすると,「子プロセスが残っている」ってメッセージが出てminttyごと終了させないといけないのを修正したい。

(defun mintty (&optional dir)
  (interactive)
  (let* ((dir (expand-file-name (or dir default-directory)))
         (w32-start-process-show-window nil)
         (process-environment (copy-sequence process-environment)))
    (if (file-directory-p dir)
        (progn
          (setenv "HOME" "/home/makoto")
          (setenv "SHELL" "/bin/zsh")
          (start-process-shell-command
           "zsh" nil "start"
           "C:/Tools/Dev/cygwin/bin/mintty.exe"
           "-e /bin/xhere /bin/zsh.exe" dir))
      (message "%s can't open." dir))))