- 150 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/07/26(日) 05:04:04.90 ID:GoqLMzMk0.net]
- こんな感じではどうだろう? これで、shell-modeの利用に必要なsignalのアドバイスも
必要なくなる。 (defadvice start-process (around ad-start-process-to-fake last activate) (when (and (ad-get-arg 2) (or process-connection-type (member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2))) fakecygpty-program-list))) (ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3))) (ad-set-arg 2 "fakecygpty")) ad-do-it) (defmacro fakecygpty-set-signal (function send-key) `(defadvice ,function (around ,(intern (format "ad-%s" function)) activate) (let ((process (or (ad-get-arg 0) (get-buffer-process (current-buffer))))) (if (string= (car (process-command process)) "fakecygpty") (process-send-string (ad-get-arg 0) (kbd ,send-key)) ad-do-it)))) (fakecygpty-set-signal interrupt-process "C-c") (fakecygpty-set-signal stop-process "C-z") (fakecygpty-set-signal quit-process "C-\\") (fakecygpty-set-signal process-send-eof "C-d")
|

|