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

[xyzzy:04125] set-buffer で得られるバッファの point など



こんにちは、サイトウです。

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

Index Home