Subject: bug#32850: 27.0.50; window-swap-states doesn't swap window prev/next-buffers

From: martin rudalics <[email-masked]>
Date: Fri, 19 Oct 2018 09:40:38 +0200

> I found a problem, it occurs very rarely:
 >
 > Debugger entered--Lisp error: (wrong-type-argument stringp nil)
 >    get-buffer(nil)
 >    #f(compiled-function (entry) #<bytecode 0x22c739>)((nil nil nil))
 >    mapcar(#f(compiled-function (entry) #<bytecode 0x22c739>) (("*Group*" 1 139) (nil nil nil) ("*sent reply to martin rudalics*" 1 1090)))
 >    window--state-put-2(safe 737)
 >    window-state-put(...)
 >
 > Do you have an idea how did (nil nil nil) find its way into the list of
 > prev-buffers?  (window-state-get was used with the non-nil WRITABLE arg)

The most simple way to find out is to define such a list in window.c
and have 'set-window-prev-buffers' holler if the prev_buffers argument
is equal to that list.

martin