This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: pressing ENTER scrambles scrolled MS-DOS-console

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/ w/
index 74b5cbd..f29426d 100644
--- i/
+++ w/
@@ -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
   else if (y < 0)
     y = 0;
   else if (rel_to_top)

View this message in context:
Sent from the Cygwin list mailing list archive at

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]