[xyzzy:04125] set-buffer で得られるバッファの point など
- Subject: [xyzzy:04125] set-buffer で得られるバッファの point など
- From: Hiroshi Saito <HiroshiSaito@xxxxxxx>
- X-mailer: Becky! ver 1.23
こんにちは、サイトウです。
set-bufferで得られるバッファのpointなどについて
質問します。
(defun test ()
(interactive)
(save-excursion
(set-buffer "*scratch*")
(goto-line (current-line-number))
(delete-region (point) (progn (goto-eol) (1+ (point))))
(insert "new line\n")
))
上記の関数 test を M-x test で実行したときの挙動が
おかしいような気がします。
具体的に言うと、
カレントバッファが *scratch* の状態で実行すると、
期待しているように、毎回カーソルのある行が
"new line" に変更されます。
しかし、ウィンドウを2つ以上にsplitして
*scratch* でないバッファのウィンドウから
M-x test を実行すると1回目は同じように
カーソルのある行に "new line"が現れますが、
2回目以降では、一行ずつずれてしまいます。
なんだか、一回目の (set-buffer *scratch*)の
point値が残ってしまっているような気がします。
これは正しい動作なのでしょうか?
-----------------------------------
サイトウ ヒロシ
HiroshiSaito@xxxxxxx