Subject: Re: bug#76911: dedicated side windows lose their dedication upon reuse

From: Daniel Colascione <[email-masked]>
Date: Mon, 17 Mar 2025 17:46:07 -0400

On March 17, 2025 4:58:01 AM EDT, martin rudalics <[email-masked]> wrote:
>> Thanks for the fix. The original bug is gone. I've noticed a few times
>> buffers being in side windows I didn't intend to have, but I haven't
>> been able to find a repro.  Probably an unrelated bug.
>
>You could try without passing (dedicated . t) as alist element.  The
>manual says
>
>          The dedicated flag (*note Dedicated Windows::) has a slightly
>          different meaning for side windows.  When a side window is
>          created, that flag is set to the value ‘side’ to prevent
>          ‘display-buffer’ to use the window in other action functions.
>          Its value persists across invocations of ‘quit-window’,
>          ‘kill-buffer’, ‘previous-buffer’ and ‘next-buffer’.
>
>So a dedicated flag that does not equal 'side' might cause the problem
>here.  If it persists, I can write some code for 'display-buffer' so we
>can find the offender.

But I want the strong dedication semantics. Specifically, I'm looking for something like an omnipresent always available panel I can summon and dismiss any time with a simple keybinding. I also have facilities for cycling its size and extracting the omnipresent thing into a conventional window temporarily. I want not only strong dedication, but also no-other-window and no-delete-other-windows, which I set. Modulo bugs, it all seems to work.

For finding those bugs, maybe we need a history of recent window changes we can examine after something has gone wrong. Just today I got into a weird state in which I had two side windows with the same slot and have no idea how I got into that state or how I'd repro.

>
>> We should
>> probably visually style side windows differently by default.
>
>We could try to paint the window dividers accordingly.
>

Fringe arrows or something? Not sure what it should look like. I'm a programmer, not an artist. :-)