Corinna Vinschen-2 wrote: > > On Sep 26 14:18, Paul Maier wrote: >> Hi, >> >> scrolling up the console output to review the console history, then >> pressing >> Enter scrambles the console. > > That's a long standing behaviour of the Cygwin console emulation. > I guess it can be fixed, but somebody will have to do it. In the > meantime, try mintty as terminal. > > > Corinna > > -- > Corinna Vinschen Please, send mails regarding Cygwin to > Cygwin Project Co-Leader cygwin AT cygwin DOT com > Red Hat > >
The problem is as below. However it needs some thinking, checking and testing, since I have no idea what that line was needed for. diff --git i/fhandler_console.cc w/fhandler_console.cc index 74b5cbd..f29426d 100644 --- i/fhandler_console.cc +++ w/fhandler_console.cc @@ -1089,7 +1127,27 @@ fhandler_console::cursor_set (bool rel_to_top, int x, int y) dev_state->fillin_info (get_output_handle ()); if (y > dev_state->info.winBottom) - y = dev_state->info.winBottom; + y = y; + // certainly not if doing CR: y = dev_state->info.winBottom; + // (What purpose did that serve?) + // There is number of places that assume the following be noop with respect to cursor's position: + // cursor_get( &x, &y) + // cursor_set( x, y) + // For any of them the assignment that I removed is unacceptable. + + // Test case 1: while sleep 0.2; do echo -ne "\r$x"; x=x$x; done + // Now it works correctly when the user attempts to scroll the window. + // Test case 2: sleep 2 <enter> {scroll up} + // Now it does not scramble the console even if PS1 (effectively) starts with \n as usual. + + + // There is another problem, not fully manifested in this place: + // Nothing should depend on the window how it is currently scrolled by the user. + // If there is any scrolling sub-window, it should be managed without reference to winBottom/Top. + // If we have to place cursor, it should not depend on winBottom/Top. + // For example srTop / srBottom cannot be computed relative to winBottom/Top. + else if (y < 0) y = 0; else if (rel_to_top) JK -- View this message in context: http://old.nabble.com/pressing-ENTER-scrambles-scrolled-MS-DOS-console-tp32539946p32593677.html Sent from the Cygwin list mailing list archive at Nabble.com. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple