Создайте функцию, которая спросит вас, уверены ли вы, когда буфер был отредактирован и не связан с файлом. Затем добавьте эту функцию в список kill-buffer-query-functions
.
Глядя на документацию для Имя файла буфера вы понимаете:
- буфер не посещает файл, если и только если переменная
buffer-file-name
равна nil
Используйте это понимание, чтобы написать функцию:
(defun maybe-kill-buffer ()
(if (and (not buffer-file-name)
(buffer-modified-p))
;; buffer is not visiting a file
(y-or-n-p "This buffer is not visiting a file but has been edited. Kill it anyway? ")
t))
А затем добавьте функцию в ловушку следующим образом:
(add-to-list 'kill-buffer-query-functions 'maybe-kill-buffer)