guttyonのメモ帳・日記

antenna | bookmark | 2ch | hotmail | google | amazon

2003 | 03 | 04 | 05 | 06 | 07 | 08 | 09 |
2004 | 02 | 04 | 05 | 06 | 07 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 09 | 10 | 11 |
2006 | 01 |
 | 

2005-09-29

xyzzyscheme-modeをgaucheで使う。

  1. scheme-modeを取得。http://fun.sci.fukuoka-u.ac.jp/wiki/index.php?xyzzy
  2. site-init.lか.xyzzyに以下を記述
;;; SCHEME-MODE.L SETTING
(load-library "scheme-mode")
(push '("\\.scm$" . scheme-mode) *auto-mode-alist*)
(setf *scheme-process-open-hook*
      #'(lambda (buffer)
          (if (buffer-process)
              (buffer-process)
            (progn
              (set-buffer buffer)
              (make-process
               (format
;                nil "\"~A\""
                nil "~A"
                (map-slash-to-backslash "gosh -i")))))))
  1. 以上でいいのだけど、同じバッファに出力されるのは苦手なので、scheme-mode.lに以下の修正
(defvar *scheme-run-buffer-name* "*run-scheme*")
(defun scheme-default-read-filter (proc text)
;	(insert text) (refresh-screen))
  (let ((prev-buf (selected-buffer))
        (prev-win (selected-window)))
    (set-window (get-buffer-window *scheme-run-buffer-name*))
    (set-buffer *scheme-run-buffer-name*)
    (end-of-buffer)(insert text)(end-of-buffer)
    (set-buffer-modified-p nil *scheme-run-buffer-name*)
    (set-window prev-win)
    (set-buffer prev-buf)
    (refresh-screen)))


(defun scheme-open-process ()
  (interactive)
  (when (null *scheme-process*)
    ;(let* ((process (funcall *scheme-process-open-hook* (selected-buffer))))
    (let* ((process (funcall *scheme-process-open-hook* (switch-to-buffer *scheme-run-buffer-name*))))
      (setf *scheme-process* process)
      (when *scheme-process*
        (set-process-sentinel
         *scheme-process*
         #'(lambda (proc)
             (when *scheme-process-close-hook*
               (funcall *scheme-process-close-hook* proc))
             (setf *scheme-process* nil)))
        (set-process-filter *scheme-process* *scheme-process-read-filter*))))
  *scheme-process*)

.scmファイルを開くか、任意のバッファでM-x scheme-modeでscheme-modeを起動。

C-jで、式を評価できる。

matsuokamatsuoka 2005/10/01 19:04 どうも、scheme-mode.l を書いた輩です。
この需要結構あると思うので、配布ページで引用してもよろしいですか?

guttyonguttyon 2005/10/01 19:38 matsuokaさん、はじめまして。引用、全然OKです。
xyzzyプログラミングに不慣れで変な事やっちゃってるかもしれませんが、よければ使ってやってください。
xyzzyでscheme-modeが使える事に、大変感謝してます。

 | 
2003 | 03 | 04 | 05 | 06 | 07 | 08 | 09 |
2004 | 02 | 04 | 05 | 06 | 07 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 09 | 10 | 11 |
2006 | 01 |

最新キーワード

1. 国鉄キハ31形気動車
2. 謎のザコ敵軍団
3. キハ391系
4. 国鉄キハ391系気動車
5. キハ281系
6. JR北海道キハ281系気動車
7. JR東海キヤ95系気動車
8. JR東海キヤ97系気動車
9. キヤ141系
10. JR西日本キヤ141系気動車