(defun only-current-buffer ()
(interactive)
(let ((tobe-killed (cdr (buffer-list (current-buffer)))))
(while tobe-killed
(kill-buffer (car tobe-killed))
(setq tobe-killed (cdr tobe-killed)))))
Это работает, как вы ожидали.
И после прочтения ответа @ Старки, я думаю, что это будет лучше:
(defun only-current-buffer ()
(interactive)
(mapc 'kill-buffer (cdr (buffer-list (current-buffer)))))
(список буферов (текущий-буфер)) вернет список, содержащий все существующие буферы, с текущим буфером в начале списка.
Это мой первый ответ на StackOverflow. Надеюсь, это поможет:)