У меня есть функция для вставки текущей даты в мой файл
(defun insert-date () (interactive) (insert (format-time-string "%m-%d-%Y")))
Это работает для вставки даты в мой текущий буфер, однако вывод: 01-24-2011nil
01-24-2011nil
Как я могу удалить ноль со входа.
Как отмечено выше, insert возвращает nil и вставляет аргументы в качестве побочного эффекта.Поскольку вы объявили свою функцию interactive, вы можете вызвать ее с помощью Mx.Даже если вы не объявляете это интерактивным, вы можете сказать M-: (insert-date).
insert
nil
interactive
M-: (insert-date)
Это C-j, который вставляет ноль. Сама функция, как вы определили, в порядке. C-j в чистом буфере полезен для отладки написанного вами Lisp, но вы должны помнить, что он вставит возвращаемое значение Если вы этого не хотите, попробуйте вместо этого C-x C-e.
C-j
C-x C-e