bug#81584: 30.2; zero-width minibuffer

Eli Zaretskii <[email protected]>
Newsgroups gmane.emacs.bugs
Message-ID <[email protected]>
[Please always use Reply to All to reply, to keep everyone CC'ed.]

> Date: Sun, 09 Aug 2026 03:42:06 -0500
> From: Devon Sean McCullough <[email protected]>
> 
> On 2026-08-09 00:30, Eli Zaretskii wrote:
> >> Date: Sat, 08 Aug 2026 21:55:48 -0500
> >> From: Devon Sean McCullough <[email protected]>
> >> I got a broken minibuffer
> >> after deleting all but one frame.
> > How did you get it?  Can you tell how to reproduce the problem?
> Alas, (lossage-size) => 300 was insufficient by the time I noticed.
> I deleted two out of three frames, went shopping,
> when I returned to the console something strange
> happened but I have no idea what.  I doubt it
> will ever happen again.  Perhaps there is a test jig
> to spaz away at Emacs until (not (window-full-width-p 
> (minibuffer-window)))?
> 
> > And what does "zero-width" minibuffer mean?  A minibuffer's width is
> > identical to the width of its frame, so how does one get zero width
> > there? what is the width of the minibuffer's frame?
> The frame is full screen.  In the lower left of the screen shot,
> you can see a scroll bar improperly away from the right screen edge.
> Looks like a minibuffer scroll bar - by the top of that
> anomalous scroll bar, just below the mode line, appears
> a tiny left arrow and a thin green vertical stripe.
> To the right of said scroll bar is a mess of screen turds -
> perhaps redisplay knows the minibuffer is always full width,
> safely ignoring that "impossible" rectangle of screen area?
> I guess the arrow is a fringe truncation indicator.
> 
> 		Peace
> 			--Devon
> 
> P.S.  I collected this hard data before deleting the broken frame:
> (minibuffer-window) => #<window 2577 on  *Minibuf-1*>
> (active-minibuffer-window) => #<window 2577 on  *Minibuf-1*>
> resize-mini-windows => grow-only
> max-mini-window-height => 0.25
> resize-mini-frames => nil
> (minibuffer-prompt) => "Eval: "
> (window-total-width (minibuffer-window)) => 2
> (window-full-width-p (minibuffer-window)) => nil
> (window-max-chars-per-line (minibuffer-window)) => 0
> (window-resize (minibuffer-window) 1 t) ¿? (error "Cannot resize 
> minibuffer window horizontally")
> (adjust-window-trailing-edge (minibuffer-window) 1 t) ¿? (user-error "No 
> window on the right of this one")
> (fit-window-to-buffer (minibuffer-window) 4 4 64 64) => nil ;; no change
> fit-window-to-buffer-horizontally => nil
> (setq fit-window-to-buffer-horizontally t) => t
> (fit-window-to-buffer (minibuffer-window) 4 4 64 64) => nil ;; no change
> (with-current-buffer (window-buffer (minibuffer-window))
>    (erase-buffer)
>    (insert "{text}")) => nil
> (fit-window-to-buffer (minibuffer-window) 4 4 64 64) => nil ;; no change
> (balance-windows (minibuffer-window)) => t	;; no change
> (maximize-window (minibuffer-window)) ¿? (error "Cannot resize 
> minibuffer window horizontally")
> fit-window-to-buffer-horizontally => t
> (minibuffer-window) => #<window 2577 on  *Minibuf-0*>
> (delete-window (minibuffer-window)) ¿? (error "Attempt to delete 
> minibuffer or sole ordinary window")
> (with-current-buffer (window-buffer (minibuffer-window))
>    (buffer-string)) => "{text}"
> (delete-other-windows (minibuffer-window)) ¿? (error "Can’t expand 
> minibuffer to full frame")
> (window-body-width (minibuffer-window)) => 0
> (window-body-width (selected-window)) => 87
> (setf (window-body-width (minibuffer-window)) 87) ¿? (void-function 
> \(setf\ window-body-width\))
> (mapcar (lambda (d) (window-in-direction d (minibuffer-window))) '(above 
> below left right)) => (#<window 10712 on *scratch*> nil nil nil)
> 
> P.P.S.  In case it happens again, I have added
> 	(lossage-size 10000) ; was 300
> to my init file - probably still too small, because
> 99% of view-lossage output is near-endless runs of
>        ⋮
> 	<triple-wheel-down> ;; mwheel-scroll
> 	<triple-wheel-down> ;; mwheel-scroll
> 	<triple-wheel-down> ;; mwheel-scroll
> 	<triple-wheel-down> ;; mwheel-scroll
>        ⋮
> and the like - I feel I should submit a patch
> (as I did for decades after I was no longer
> paid to do so ... until I noticed my work was
> always credited to someone else in the log)
> but although Emacs bugs are fun to fix,
> I swore off that particular time sink,
> yet here I am falling off the wagon.
> 

Thanks, maybe Martin will have some ideas.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.