Subject: bug#38294: [PATCH] Handle killing of virtual buffers in Ido

From: Lars Ingebrigtsen <[email-masked]>
Date: Fri, 14 Aug 2020 13:00:56 +0200

Dario Gjorgjevski <[email-masked]> writes:

> Hi Stefan,
>
>> Killing it isn't a no-op though.  When you kill it, you get prompted to
>> save changes, it runs hooks in the background, presumably removes it
>> from active memory, other functions will no longer be able to just
>> switch to it, etc., etc.

Yeah, but these "virtual buffers" don't really exist, so none of that
will happen, I'd have thought?

> Point taken.  In that case, my only complaint would be that
> ‘ido-kill-buffer-at-head’ does treat killing a virtual buffer as
> removing it from ‘recentf-list’ (just as suggested here), so there is
> some inconsistency.  However, I can live with it.

Yeah, that is inconsistent:

;;; KILL CURRENT BUFFER
(defun ido-kill-buffer-at-head ()
  "Kill the buffer at the head of `ido-matches'.
If cursor is not at the end of the user input, delete to end of input."
[...]
       ;; Handle virtual buffers
       ((assoc buf ido-virtual-buffers)
	(setq recentf-list
	      (delete (cdr (assoc buf ido-virtual-buffers)) recentf-list))

So now I'm kinda thinking that your original patch is correct.  :-)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no