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.