[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:03695] Re: process-filter



おおいわです。

>> On Thu, 9 Dec 1999 11:14:50 +0900, Tetsuya Kamei <kamei@xxxxxxxxxxxx> said:

Tetsuya> えーと、ウィンドウが複数に分割されていて、対象のバッフ
Tetsuya> ァは表示はされているけど選択はされていないという状況っ
Tetsuya> てことですよね? point はウィンドウごとに独立しているの
Tetsuya> で、pop-to-buffer などでバッファが表示されているウィン
Tetsuya> ドウに移動してから goto-char しないと反映されません(と
Tetsuya> いうか、されないように見える)。

ありがとうございます。若干の試行錯誤はあったものの、
基本的に↑の「point はウィンドーローカル」という考え方で
うまくいきました。

(defun my-process-filter (proc str)
  (let ((old-buffer (selected-buffer))
        (old-window (selected-window))
;        (win-config (current-window-configuration))
        (log-win (get-buffer-window my-log-buffer)))
    (unwind-protect
        (progn
          (set-buffer my-log-buffer)
          (save-excursion
            (goto-char (point-max))
            ;; ここで内容を整形しながらバッファにがりがり挿入(略)
          (when (and my-autoscroll-flag log-win)
            (set-window log-win)
            (goto-char (point-max))
          ))
;      (set-window-configuration win-config) ←これではうまくいかない
      (set-window old-window)
      (set-buffer old-buffer)
      (refresh-screen))))

ついでにもう一つ質問があるのですが、
終了時に保存を問い合わせてこないバッファ (*scratch* のようなもの)
はどのようにすれば作れるでしょうか。

今のところ get-buffer-create で作っているのですが、
これだと C-x C-c 時に「2個のバッファが保存されていませんが……」と
聞かれてしまいます。

質問ばかりで済みませんがよろしくお願いします。

-- 
大岩 寛   Yutaka Oiwa        
       東京大学大学院 理学系研究科情報科学専攻 修士課程 米澤研究室
      <oiwa@xxxxxxxxxxxxxxxxxxxxx>, <yutaka@xxxxxxxxxxxxxxxxxxxxx>
PGP fingerprint = C9 8D 5C B8 86 ED D8 07  EA 59 34 D8 F4 65 53 61

Index Home