>>938
まず関数名は、_ じゃなくて - でつなごう。

で、この書きかただと、whileループ内で行数が増えるような処理をやってしまうと、
増えた行は処理対象にならないじゃんか。
バッファの最後まで進めて処理するなら、
whileの条件式を (eobp) にしたりするほうがいいかなと。

あと、「次の行に進む」って処理は、フツーは (forward-line 1) を使う。

たとえばこんな感じ。
(defun add-line-number ()
(interactive)
(goto-char (point-min))
(save-excursion
(while (not (eobp))
(insert (format "%04d : " (1+ (count-lines (point-min) (point)))))
(forward-line 1))))