I'm not sure what this exactly is related to, but I guess pcon is closely related.
Cygwin version: I can reproduce it in Cygwin 3.2.0 and the latest 3.3.4 for both 64-bit and 32-bit versions. I usually set CYGWIN=disable_pcon, but this reproduces for both cases with and without disable_pcon. I think I observed this behavior even earlier but don't exactly remember in which Cygwin version I first noticed this broken behavior. At least, this behavior has existed for a very long time. I have been thinking that there are a few people using the Cygwin console directly, but I recently noticed that it matters when I connect to Cygwin from Windows Terminal. This puts very hard limitations on implementing a line editor where the line editor does not know the absolute vertical position in the terminal screen so cannot predict the consequences of using DL/IL. Repeat-by: 1. First open a Cygwin console (not to be confused with Mintty) by double-clicking bash.exe in C:\cygwin64\bin or by executing "cygstart bash". 2a. run the following command at the last line of the terminal: $ printf '\e[5M' 2b. run the following command at the last line of the terminal $ printf '\e[5L' The control sequence \e[<Pn>M (CSI <Pn> M) is the ANSI escape sequence DL (DELETE LINE), which is supposed to delete the current line and the following <Pn>-1 lines and scrolls up the subsequence lines. This control function functions correctly when it is not at the last line in the Cygwin console. However, if the current cursor position is located at the last line, DL(<Pn>) of the Cygwin console wrongly scrolls up the entire screen by <Pn> lines (instead of the subsequent lines after the delete lines). Likely, \e[<Pn>L is the ANSI escape sequence IL (INSERT LINE), which is supposed to insert <Pn> new lines at the current line and to scroll down the subsequent lines. However, when the cursor is at the last line, IL of the Cygwin console again scrolls down the entire screen. This behavior is also reproduced in Windows Terminal with a profile of Cygwin executing bash.exe --login -i. This doesn't happen when we use Mintty or other terminal emulators relying on the genuine Cygwin PTY. Fix: Any other terminals do not behave in this unintuitive way. When the cursor is located at the last line, DL/IL should not scroll any lines but should just clear only the last line. -- Koichi -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple