I've been using Elfeed for some time, and I like it very much. However, there is one small thing I'd like to adjust. When leaving the search window (with
elfeed-search-quit-window bound to
q in the mode map), Elfeed leaves a trail of open buffers:
myfeeds.org (I use
I like the behavior of
org-agenda-exit which checks if any files visited by the agenda have been modified, if so offers to save them, and otherwise kills them. As it turns out, this is performed by the function
org.el, so I tried to adapt it for my purposes.
As I don't have a list of buffers, as Org Agenda does, I tried to use
rmh-elfeed-org-files which is rather a list of files, so I employ
file-name-nondirectory to get the corresponding buffer name.
My unsuccessful attempt is the following:
(defun my/elfeed-search-quit-and-kill-buffers () "Save the database, then kill elfeed buffers, asking the user for confirmation when needed." (interactive) (elfeed-db-save) (let (buf) (dolist (file rmh-elfeed-org-files) (setq buf (file-name-nondirectory file)) (when (and (buffer-modified-p buf) file (y-or-n-p (format "Save file %s? " file))) (with-current-buffer buf (save-buffer))) (kill-buffer buf))) (kill-buffer "*elfeed-log*") (kill-buffer (current-buffer)))
As this is intended to be bound to the
elfeed-search-mode-map the last
(kill-buffer (current-buffer)) kills
But this fails with a
Wrong type argument: bufferp, "myfeeds.org" error.
What am I doing wrong?