Какая проблема может возникнуть, если функция goto-line
используется в неинтерактивной программе elisp? Его docstring дает предупреждение, говорящее, что:
Эта функция обычно используется неправильно в программе Lisp. Вместо этого вы скорее всего захотите:
(goto-char (point-min)) (forward-line (1- N))
Кроме того, когда я пытаюсь выполнить byte-compile-file
мой файл инициализации, включая goto-line
, я снова получаю неприятное предупреждение:
.emacs:170:19:Warning: `goto-line' used from Lisp code
That command is designed for interactive use only
Использует ли goto-line
в неинтерактивной программе действительно так опасно? Соответственно, почему рекомендуется предлагаемое решение forward-line
?