如何在没有尾随“nil”的情况下将文本插入缓冲区

时间:2011-01-24 18:36:54

标签: emacs elisp

我有一个将当前日期插入我的文件的功能

(defun insert-date ()
   (interactive)
   (insert 
        (format-time-string "%m-%d-%Y")))

这适用于将日期插入当前缓冲区,但输出为01-24-2011nil

如何从输入中删除nil。

2 个答案:

答案 0 :(得分:3)

如上所述,insert返回nil并插入参数作为副作用。由于您已声明函数interactive,因此可以使用M-x调用它。即使您没有声明它是交互式的,也可以说M-: (insert-date)

答案 1 :(得分:2)

插入nil的C-j。您定义的函数本身就可以。暂存缓冲区中的C-j对于调试已编写的Lisp非常有用,但您必须记住它将插入返回值。如果您不想这样,请尝试使用C-x C-e