Emacs Elisp-遇到错误时停止功能

Emacs Elisp-遇到错误时停止功能,emacs,elisp,Emacs,Elisp,我有以下代码片段: (defun my-move-line-below () (interactive) (let ((point-from-start (- (point) (line-beginning-position)))) (kill-whole-line) (next-line) (move-beginning-of-line nil) (yank) (previous-line) (goto-char (+ (line-beginning-positio

我有以下代码片段:

(defun my-move-line-below ()
 (interactive)
 (let ((point-from-start (- (point) (line-beginning-position))))
  (kill-whole-line)
  (next-line)
  (move-beginning-of-line nil)
  (yank)
  (previous-line)
  (goto-char (+ (line-beginning-position) point-from-start))))
它所做的是将当前行移到下一行的下方。它工作得很好,但问题是,当达到EOF时,函数在下一行之后停止,从而在不将其拉回的情况下终止该行

我知道我可以通过检查行号等来解决这个问题,但我想知道是否可以忽略错误并继续执行该函数。

我想用

应该可以了。

我想用


应该做到这一点。

只是要指出,有一个现成的函数,C-xC-t,尽管它不记得换位后的点位置

只需指出,有一个现成的函数,C-xc-t,尽管它不记得换位后的点位置

C-HF下一行说:此功能仅供交互使用;在Lisp代码中,请改用“前进行”。。与前一行相同。另外,不要使用kill&yank来影响kill ring`和剪贴板,而应该使用delete and extract region and insert.C-h f下一行说明:此函数仅用于交互式使用;在Lisp代码中,请改用“前进行”。。与前一行相同。此外,您应该使用“删除并提取区域”和“插入”,而不是使用会影响压井环和剪贴板的“压井和拉伸”。
(ignore-errors (next-line))