# Tagbottom against the one pane kind whose renderPane RETURNS EARLY. An image # draws no body rows and no tagline of its own — the tag comes from the outer # loop and so does the transient message row — so it is exactly the pane where # "the tag moved" and "the message row moved with it" can come apart. Nothing # in tagbottom.snap touches one. ppmdiag pic.ppm start 30 150 -n 1 wait 8000 New Newcol stable 700 20000 # open it the way images.snap does: type the name into the shell pane's own # text and right-click it. The image lands in a column of its own on the left. press left 5 8 release left 5 8 stable 400 5000 key i text pic.ppm key esc settle 100 press right 6 8 release right 6 8 wait 10000 img stable 700 20000 snap img-top # SPC t b: the tag leaves row 1 for row 29 and the glyph art slides up into the # row it left. The style capture is the half a text grid cannot see — the # tagline's chrome colours have to travel with it, and a tag row drawn in the # palette of the cell art under it would read as part of the picture. key space t b stable 700 15000 snap img-bottom snapstyle img-bottom # `/` on an image pane. There is no text to search, and that is the point: the # prompt is drawn by the message-row pass, which runs OUTSIDE renderPane # precisely so an early-returning pane still gets one. With Tagbottom it lands # on the last row of the art (grid 28), just above the tagline on grid 29 — # over the picture, never over the tag it was cut from. key / send ZZ stable 600 8000 stable 400 5000 snap search-prompt key esc settle 100 stable 400 5000 # ...and EXECUTE `Del` on that bottom tagline, which is the assertion the # pixels cannot make: the middle click has to map row 15 to the image pane's # TAG row rather than to a body row it has no body for. The image pane goes # away entirely and the shell takes the whole window back. # # Row 15 is the image pane's OWN last row, which is where Tagbottom puts its # tag; row 30 is the shell's. This used to click column 95 of row 30, which is # blank space 176 columns short of the shell's right-aligned `Del` and in the # wrong pane besides, so it deleted nothing and the golden recorded an image # pane that never went away - along with a widen-to-300-and-back either side of # it, scaffolding for a column that was wrong anyway. `New Newtty Del` is fully # on screen at 150 columns (see the img-bottom capture above). press middle @Del 15 release middle @Del 15 stable 700 15000 snap del-image