(goto-line LINE &optional Buffer)

Lispプログラムの中ではgoto-lineを使うのには注意が必要。
goto-lineは移動先にジャンプする前に現在行にマークをするようだ。
そういえば今までちょくちょくminibufferにMark Setって出てた。
原因はこれだったのか。

This function is usually the wrong thing to use in a Lisp program.
What you probably want instead is something like:


代わりにこうするとよい。

(goto-char (point-min))
(forward-line (1- N))


できれば行番号での移動ではなく、文字数を使って移動するのが望ましい
とHelpには書いてあるけれど、文字数でどうやって行移動するんだろう?