Subject: bug#22009: PATCH: Use `window-total-width' in `window-splittable-p'

From: Joost Kremers <[email-masked]>
Date: Tue, 08 Sep 2020 10:50:49 +0200

On Mon, Sep 07 2020, Lars Ingebrigtsen wrote:
> Joost Kremers <[email-masked]> writes:
>>>> I'm not sure that would be able to handle cases where 
>>>> different modes
>>>> use the margins for different purposes.
>>>
>>> I think this is the actual challenge in this bug report: 
>>> design a way
>>> that would make it possible.
>>
>> Yes. We discussed a possible way of doing this in the thread on
>> emacs-devel. I'll start a new thread there with a summary of 
>> the issues
>> and a proposal on how to solve them.
>
> Skimming this bug report, I think everybody pretty much agreed 
> that this
> patch was better than the current behaviour, but that this new 
> behaviour
> isn't completely correct (especially for those mode that use the 
> margins
> to display useful information).

Yes, that summarises my memory of the discussion.

> Did the discussion on emacs-devel come to any sort of useful 
> conclusion?

I'd have to dig up those threads again to be sure, but from what I 
remember, the proposal that I made was deemed too complicated for 
the problem at hand (probably rightly so). In the end, the window 
parameter `min-margins' was added and IIRC some changes were made 
to the way `window-configuration-change-hook' and 
`window-size-change-functions' operate (I may be mistaken on the 
latter point, though). That didn't solve the problem of allowing 
multiple modes to use the margins without interfering with each 
other, but it should solve the original problem of splitting 
windows with large margins.

I say "should", because at the time, I decided against using 
`min-margins' in my code (`visual-fill-column.el), so I never 
actually tested it. (My existing code still worked in Emacs 25 
(and indeed in 27.1) and I didn't want to drop support for Emacs 
24. It might be time to reconsider that decision, though, given 
that Emacs 25.1 is four years old now.)

-- 
Joost Kremers
Life has its moments