[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#57837: 29.0.50; fit-window-to-buffer should reposition the buffer
From: |
Sam Steingold |
Subject: |
bug#57837: 29.0.50; fit-window-to-buffer should reposition the buffer |
Date: |
Thu, 15 Sep 2022 14:30:36 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) |
> * Eli Zaretskii <ryvm@tah.bet> [2022-09-15 21:03:33 +0300]:
>
>> From: Sam Steingold <sds@gnu.org>
>> Date: Thu, 15 Sep 2022 13:31:48 -0400
>>
>> When the buffer is smaller than the window, move the point to the end
>> and do `C-x w -` (fit-window-to-buffer).
>> The window shrinks, but it is empty - the whole buffer is above.
>> One has to move the point to the beginning-of-buffer to make the buffer
>> visible.
>>
>> I think this is a bug - the window should show the whole buffer; after
>> all this is the raison d'etre of `fit-window-to-buffer', right?
>
> Yes, but by having point at EOB (and assuming the last line ends in a
> newline), you've made point be outside of the window's text.
Yes, this is a corner case.
> Instead of moving point to the end, move it to last line of the
> buffer, and then "C-x w -" will leave the entire buffer text on
> display.
Indeed, this function mostly works.
>> Basically, after `fit-window-to-buffer' is called, the following should
>> evaluate to t:
>>
>> --8<---------------cut here---------------start------------->8---
>> (and (pos-visible-in-window-p (point-min))
>> (pos-visible-in-window-p (point-max)))
>> --8<---------------cut here---------------end--------------->8---
>
> No, because point-max is after the last newline, and thus effectively
> one line beyond the window's text.
As I said, if `fit-window-to-buffer' has a "contract", it's the invariant
above. Violating it, albeit in a corner case, is, IMO, a bug.
I am not sure how this should be fixed - either by allowing the point to
be outside of the window (if that is possible) or extending the window
by 1 extra line in this corner case - but it _should_ be possible to fix
it.
Thank you.
--
Sam Steingold (https://aphar.dreamwidth.org/) on darwin Ns 10.3.2113
https://lastingimpactpsychology.com https://steingoldpsychology.com
https://www.peaceandtolerance.org/ https://jihadwatch.org https://camera.org
I haven't lost my mind -- it's backed up on tape somewhere.
bug#57837: 29.0.50; fit-window-to-buffer should reposition the buffer, Gregory Heytings, 2022/09/15