Re: Building for nocygwin

2012-04-24 Thread Corinna Vinschen
On Apr 23 14:35, Yaakov (Cygwin/X) wrote:
> On 2012-04-23 10:37, Christopher Faylor wrote:
> >On Mon, Apr 23, 2012 at 04:52:54PM +0200, Michel Bardiaux wrote:
> >>I *get* that. My problem was, the web is so cluttered with pages mentioning
> >>the no-cygwin thing (including the cygwin FAQ!) that finding a good howto is
> >>nearly impossible.
> >>
> >>Is there a deep reason not to amend the FAQ?
> >
> >No, there is no reason not to change the FAQ.
> >
> >Could someone provide some appropriate words?
> 
> Patch attached.

I uploaded the changes to the FAQ pages on cygwin.com.


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat


Re: [PATCH] Extended mouse coordinates

2012-04-24 Thread Corinna Vinschen
On Apr 22 21:07, Thomas Wolff wrote:
> This patch replaces my previous proposal
> (http://cygwin.com/ml/cygwin-patches/2012-q2/msg5.html) with two
> modifications:
> 
>  * Fixed a bug that suppressed mouse reporting at large coordinates (in
>all modes actually:-\ )
>  * Added mouse mode 1005 (total of 3 three new modes, so all reporting
>modes run by current terminal emulators would be implemented)
> 
> I would appreciate the patch to be applied this time, planned to be
> my last mouse patch :)
> 
> Kind regards,
> Thomas

> 2012-04-03  Thomas Wolff  
> 
>   * fhandler.h (class dev_console): Two flags for extended mouse modes.
>   * fhandler_console.cc (fhandler_console::read): Implemented 
>   extended mouse modes 1015 (urxvt, mintty, xterm) and 1006 (xterm).
>   Not implemented extended mouse mode 1005 (xterm, mintty).
>   Supporting mouse coordinates greater than 222 (each axis).
>   Also: two { wrap formatting consistency fixes.
>   (fhandler_console::char_command) Initialization of enhanced 
>   mouse reporting modes.
> 

Patch applied with changes.  Please use __small_sprintf rather than
sprintf.  I also changed the CHangeLog entry slightly.  Keep it short
and in present tense.


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat


Re: [PATCH] Extended mouse coordinates

2012-04-24 Thread Thomas Wolff

Am 24.04.2012 16:44, schrieb Corinna Vinschen:

On Apr 22 21:07, Thomas Wolff wrote:

This patch replaces my previous proposal
(http://cygwin.com/ml/cygwin-patches/2012-q2/msg5.html) with two
modifications:

  * Fixed a bug that suppressed mouse reporting at large coordinates (in
all modes actually:-\ )
  * Added mouse mode 1005 (total of 3 three new modes, so all reporting
modes run by current terminal emulators would be implemented)

I would appreciate the patch to be applied this time, planned to be
my last mouse patch :)

Kind regards,
Thomas
2012-04-03  Thomas Wolff

* fhandler.h (class dev_console): Two flags for extended mouse modes.
* fhandler_console.cc (fhandler_console::read): Implemented
extended mouse modes 1015 (urxvt, mintty, xterm) and 1006 (xterm).
Not implemented extended mouse mode 1005 (xterm, mintty).
Supporting mouse coordinates greater than 222 (each axis).
Also: two { wrap formatting consistency fixes.
(fhandler_console::char_command) Initialization of enhanced
mouse reporting modes.


Patch applied with changes.  Please use __small_sprintf rather than
sprintf.  I also changed the CHangeLog entry slightly.  Keep it short
and in present tense.


Thanks,
Corinna

Hmm, thanks but I'm afraid this went wrong. You quote (and probably 
applied) my first patch which is missing mouse mode 1005 and 
unfortunately also has a bug which effectively makes the extended 
coordinates unusable (because the reports are suppressed in that case as 
they were before :( ).

The mail you responded to contained an updated patch.
Thomas


Re: [PATCH] Extended mouse coordinates

2012-04-24 Thread Corinna Vinschen
On Apr 24 21:35, Thomas Wolff wrote:
> Am 24.04.2012 16:44, schrieb Corinna Vinschen:
> >On Apr 22 21:07, Thomas Wolff wrote:
> >>This patch replaces my previous proposal
> >>(http://cygwin.com/ml/cygwin-patches/2012-q2/msg5.html) with two
> >>modifications:
> >>
> >>  * Fixed a bug that suppressed mouse reporting at large coordinates (in
> >>all modes actually:-\ )
> >>  * Added mouse mode 1005 (total of 3 three new modes, so all reporting
> >>modes run by current terminal emulators would be implemented)
> >>
> >>I would appreciate the patch to be applied this time, planned to be
> >>my last mouse patch :)
> >>
> >>Kind regards,
> >>Thomas
> >>2012-04-03  Thomas Wolff
> >>
> >>* fhandler.h (class dev_console): Two flags for extended mouse modes.
> >>* fhandler_console.cc (fhandler_console::read): Implemented
> >>extended mouse modes 1015 (urxvt, mintty, xterm) and 1006 (xterm).
> >>Not implemented extended mouse mode 1005 (xterm, mintty).
> >>Supporting mouse coordinates greater than 222 (each axis).
> >>Also: two { wrap formatting consistency fixes.
> >>(fhandler_console::char_command) Initialization of enhanced
> >>mouse reporting modes.
> >>
> >Patch applied with changes.  Please use __small_sprintf rather than
> >sprintf.  I also changed the CHangeLog entry slightly.  Keep it short
> >and in present tense.
> >
> >
> >Thanks,
> >Corinna
> >
> Hmm, thanks but I'm afraid this went wrong. You quote (and probably
> applied) my first patch which is missing mouse mode 1005 and
> unfortunately also has a bug which effectively makes the extended
> coordinates unusable (because the reports are suppressed in that
> case as they were before :( ).
> The mail you responded to contained an updated patch.

That was exactly the patch I applied.  I only chnaged the formatting
and changed sprintf to  __small_sprintf.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat


Re: [PATCH] Extended mouse coordinates

2012-04-24 Thread Corinna Vinschen
On Apr 24 21:45, Corinna Vinschen wrote:
> On Apr 24 21:35, Thomas Wolff wrote:
> > Am 24.04.2012 16:44, schrieb Corinna Vinschen:
> > >On Apr 22 21:07, Thomas Wolff wrote:
> > >>This patch replaces my previous proposal
> > >>(http://cygwin.com/ml/cygwin-patches/2012-q2/msg5.html) with two
> > >>modifications:
> > >>
> > >>  * Fixed a bug that suppressed mouse reporting at large coordinates (in
> > >>all modes actually:-\ )
> > >>  * Added mouse mode 1005 (total of 3 three new modes, so all reporting
> > >>modes run by current terminal emulators would be implemented)
> > >>
> > >>I would appreciate the patch to be applied this time, planned to be
> > >>my last mouse patch :)
> > >>
> > >>Kind regards,
> > >>Thomas
> > >>2012-04-03  Thomas Wolff
> > >>
> > >>  * fhandler.h (class dev_console): Two flags for extended mouse modes.
> > >>  * fhandler_console.cc (fhandler_console::read): Implemented
> > >>  extended mouse modes 1015 (urxvt, mintty, xterm) and 1006 (xterm).
> > >>  Not implemented extended mouse mode 1005 (xterm, mintty).
> > >>  Supporting mouse coordinates greater than 222 (each axis).
> > >>  Also: two { wrap formatting consistency fixes.
> > >>  (fhandler_console::char_command) Initialization of enhanced
> > >>  mouse reporting modes.
> > >>
> > >Patch applied with changes.  Please use __small_sprintf rather than
> > >sprintf.  I also changed the CHangeLog entry slightly.  Keep it short
> > >and in present tense.
> > >
> > >
> > >Thanks,
> > >Corinna
> > >
> > Hmm, thanks but I'm afraid this went wrong. You quote (and probably
> > applied) my first patch which is missing mouse mode 1005 and
> > unfortunately also has a bug which effectively makes the extended
> > coordinates unusable (because the reports are suppressed in that
> > case as they were before :( ).
> > The mail you responded to contained an updated patch.
> 
> That was exactly the patch I applied.  I only chnaged the formatting
> and changed sprintf to  __small_sprintf.

...and as far as quoting goes, the above is the ChangeLog you provided
with your updated patch.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat


Re: [PATCH] Extended mouse coordinates

2012-04-24 Thread Thomas Wolff

Am 24.04.2012 21:47, schrieb Corinna Vinschen:

On Apr 24 21:45, Corinna Vinschen wrote:

On Apr 24 21:35, Thomas Wolff wrote:

Am 24.04.2012 16:44, schrieb Corinna Vinschen:

On Apr 22 21:07, Thomas Wolff wrote:

This patch replaces my previous proposal
(http://cygwin.com/ml/cygwin-patches/2012-q2/msg5.html) with two
modifications:

  * Fixed a bug that suppressed mouse reporting at large coordinates (in
all modes actually:-\ )
  * Added mouse mode 1005 (total of 3 three new modes, so all reporting
modes run by current terminal emulators would be implemented)

I would appreciate the patch to be applied this time, planned to be
my last mouse patch :)

Kind regards,
Thomas
2012-04-03  Thomas Wolff

* fhandler.h (class dev_console): Two flags for extended mouse modes.
* fhandler_console.cc (fhandler_console::read): Implemented
extended mouse modes 1015 (urxvt, mintty, xterm) and 1006 (xterm).
Not implemented extended mouse mode 1005 (xterm, mintty).
Supporting mouse coordinates greater than 222 (each axis).
Also: two { wrap formatting consistency fixes.
(fhandler_console::char_command) Initialization of enhanced
mouse reporting modes.


Patch applied with changes.  Please use __small_sprintf rather than
sprintf.  I also changed the CHangeLog entry slightly.  Keep it short
and in present tense.


Thanks,
Corinna


Hmm, thanks but I'm afraid this went wrong. You quote (and probably
applied) my first patch which is missing mouse mode 1005 and
unfortunately also has a bug which effectively makes the extended
coordinates unusable (because the reports are suppressed in that
case as they were before :( ).
The mail you responded to contained an updated patch.

That was exactly the patch I applied.  I only chnaged the formatting
and changed sprintf to  __small_sprintf.

...and as far as quoting goes, the above is the ChangeLog you provided
with your updated patch.
Sh.. I see. My deep apologies, I must have been confused. Here is the 
actual updated patch which should be used instead.

Sorry for the trouble.
Thomas
2012-04-20  Thomas Wolff  

* fhandler.h (class dev_console): Flags for extended mouse modes.
* fhandler_console.cc: Supporting mouse coordinates greater than 222.
(fhandler_console::read) Implemented extended mouse modes 
1015 (urxvt, mintty, xterm), 1006 (xterm), and 1005 (xterm, mintty).
Also: two { wrap formatting consistency fixes.
(fhandler_console::mouse_aware) Removed limitation of not sending 
anything at exceeded coordinates; sending 0 byte instead (xterm).
(fhandler_console::char_command) Initialization of enhanced 
mouse reporting modes.

diff -rup sav/fhandler.h ./fhandler.h
--- sav/fhandler.h  2012-04-18 07:58:04.0 +0200
+++ ./fhandler.h2012-04-20 13:59:02.265328800 +0200
@@ -1288,6 +1288,9 @@ class dev_console
 
   bool insert_mode;
   int use_mouse;
+  bool ext_mouse_mode5;
+  bool ext_mouse_mode6;
+  bool ext_mouse_mode15;
   bool use_focus;
   bool raw_win32_keyboard_mode;
 
diff -rup sav/fhandler_console.cc ./fhandler_console.cc
--- sav/fhandler_console.cc 2012-04-15 19:51:49.0 +0200
+++ ./fhandler_console.cc   2012-04-20 13:59:02.296579200 +0200
@@ -304,14 +304,6 @@ fhandler_console::mouse_aware (MOUSE_EVE
   return 0;
 }
 
-  /* Check whether adjusted mouse position can be reported */
-  if (dev_state.dwMousePosition.X > 0xFF - ' ' - 1
-  || dev_state.dwMousePosition.Y > 0xFF - ' ' - 1)
-{
-  /* Mouse position out of reporting range */
-  return 0;
-}
-
   return ((mouse_event.dwEventFlags == 0 || mouse_event.dwEventFlags == 
DOUBLE_CLICK)
  && mouse_event.dwButtonState != dev_state.dwLastButtonState)
 || mouse_event.dwEventFlags == MOUSE_WHEELED
@@ -453,12 +445,13 @@ fhandler_console::read (void *pv, size_t
{
  char c = dev_state.backspace_keycode;
  nread = 0;
- if (control_key_state & ALT_PRESSED) {
-   if (dev_state.metabit)
- c |= 0x80;
-   else
- tmp[nread++] = '\e';
- }
+ if (control_key_state & ALT_PRESSED)
+   {
+ if (dev_state.metabit)
+   c |= 0x80;
+ else
+   tmp[nread++] = '\e';
+   }
  tmp[nread++] = c;
  tmp[nread] = 0;
  toadd = tmp;
@@ -551,6 +544,7 @@ fhandler_console::read (void *pv, size_t
   events at the same time. */
int b = 0;
char sz[32];
+   char mode6_term = 'M';
 
if (mouse_event.dwEventFlags == MOUSE_WHEELED)
  {
@@ -574,7 +568,7 @@ fhandler_console::read (void *pv, size_t
  {
b = dev_state.last_button_code;
  }
-   e

Re: [PATCH] Extended mouse coordinates

2012-04-24 Thread Corinna Vinschen
On Apr 24 22:00, Thomas Wolff wrote:
> Am 24.04.2012 21:47, schrieb Corinna Vinschen:
> >On Apr 24 21:45, Corinna Vinschen wrote:
> >>That was exactly the patch I applied.  I only chnaged the formatting
> >>and changed sprintf to  __small_sprintf.
> >...and as far as quoting goes, the above is the ChangeLog you provided
> >with your updated patch.
> Sh.. I see. My deep apologies, I must have been confused. Here is
> the actual updated patch which should be used instead.
> Sorry for the trouble.
> Thomas

> 2012-04-20  Thomas Wolff  
> 
>   * fhandler.h (class dev_console): Flags for extended mouse modes.
>   * fhandler_console.cc: Supporting mouse coordinates greater than 222.
>   (fhandler_console::read) Implemented extended mouse modes 
>   1015 (urxvt, mintty, xterm), 1006 (xterm), and 1005 (xterm, mintty).
>   Also: two { wrap formatting consistency fixes.
>   (fhandler_console::mouse_aware) Removed limitation of not sending 
>   anything at exceeded coordinates; sending 0 byte instead (xterm).
>   (fhandler_console::char_command) Initialization of enhanced 
>   mouse reporting modes.
> 

Please recreate the patch against current CVS.  And please use
__small_sprintf instead of sprintf.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat


Re: [PATCH] Extended mouse coordinates

2012-04-24 Thread Thomas Wolff

Am 24.04.2012 22:22, schrieb Corinna Vinschen:

On Apr 24 22:00, Thomas Wolff wrote:

Am 24.04.2012 21:47, schrieb Corinna Vinschen:

On Apr 24 21:45, Corinna Vinschen wrote:

That was exactly the patch I applied.  I only chnaged the formatting
and changed sprintf to  __small_sprintf.

...and as far as quoting goes, the above is the ChangeLog you provided
with your updated patch.

Sh.. I see. My deep apologies, I must have been confused. Here is
the actual updated patch which should be used instead.
Sorry for the trouble.
Thomas
2012-04-20  Thomas Wolff

* fhandler.h (class dev_console): Flags for extended mouse modes.
* fhandler_console.cc: Supporting mouse coordinates greater than 222.
(fhandler_console::read) Implemented extended mouse modes
1015 (urxvt, mintty, xterm), 1006 (xterm), and 1005 (xterm, mintty).
Also: two { wrap formatting consistency fixes.
(fhandler_console::mouse_aware) Removed limitation of not sending
anything at exceeded coordinates; sending 0 byte instead (xterm).
(fhandler_console::char_command) Initialization of enhanced
mouse reporting modes.


Please recreate the patch against current CVS.  And please use
__small_sprintf instead of sprintf.


Here's the missing patch and changelog. Sorry again for previous mix-up.
Thomas
2012-04-24  Thomas Wolff  

* fhandler.h (class dev_console): Add member ext_mouse_mode5.
* fhandler_console.cc (fhandler_console::read): Implement extended
mouse mode 1005 (xterm, mintty).
Fix actual mouse reporting for large coordinates.

diff -rup sav/fhandler.h ./fhandler.h
--- sav/fhandler.h  2012-04-24 16:29:37.0 +0200
+++ ./fhandler.h2012-04-24 23:48:29.453125000 +0200
@@ -1288,6 +1288,7 @@ class dev_console
 
   bool insert_mode;
   int use_mouse;
+  bool ext_mouse_mode5;
   bool ext_mouse_mode6;
   bool ext_mouse_mode15;
   bool use_focus;
diff -rup sav/fhandler_console.cc ./fhandler_console.cc
--- sav/fhandler_console.cc 2012-04-24 16:39:22.0 +0200
+++ ./fhandler_console.cc   2012-04-24 23:52:00.265625000 +0200
@@ -307,14 +307,6 @@ fhandler_console::mouse_aware (MOUSE_EVE
   return 0;
 }
 
-  /* Check whether adjusted mouse position can be reported */
-  if (dev_state.dwMousePosition.X > 0xFF - ' ' - 1
-  || dev_state.dwMousePosition.Y > 0xFF - ' ' - 1)
-{
-  /* Mouse position out of reporting range */
-  return 0;
-}
-
   return ((mouse_event.dwEventFlags == 0 || mouse_event.dwEventFlags == 
DOUBLE_CLICK)
  && mouse_event.dwButtonState != dev_state.dwLastButtonState)
 || mouse_event.dwEventFlags == MOUSE_WHEELED
@@ -646,7 +638,34 @@ fhandler_console::read (void *pv, size_t
 dev_state.dwMousePosition.Y + 1);
nread = strlen (tmp);
  }
-   /* else if (dev_state.ext_mouse_mode5) not implemented */
+   else if (dev_state.ext_mouse_mode5)
+ {
+   unsigned int xcode = dev_state.dwMousePosition.X + ' ' + 1;
+   unsigned int ycode = dev_state.dwMousePosition.Y + ' ' + 1;
+
+   __small_sprintf (tmp, "\033[M%c", b + ' ');
+   nread = 4;
+   /* the neat nested encoding function of mintty 
+  does not compile in g++, so let's unfold it: */
+   if (xcode < 0x80)
+ tmp [nread++] = xcode;
+   else if (xcode < 0x800)
+ {
+   tmp [nread++] = 0xC0 + (xcode >> 6);
+   tmp [nread++] = 0x80 + (xcode & 0x3F);
+ }
+   else
+ tmp [nread++] = 0;
+   if (ycode < 0x80)
+ tmp [nread++] = ycode;
+   else if (ycode < 0x800)
+ {
+   tmp [nread++] = 0xC0 + (ycode >> 6);
+   tmp [nread++] = 0x80 + (ycode & 0x3F);
+ }
+   else
+ tmp [nread++] = 0;
+ }
else
  {
unsigned int xcode = dev_state.dwMousePosition.X + ' ' + 1;
@@ -1566,7 +1585,7 @@ fhandler_console::char_command (char c)
  break;
 
case 1005: /* Extended mouse mode */
- syscall_printf ("ignored h/l command for extended mouse mode");
+ dev_state.ext_mouse_mode5 = c == 'h';
  break;
 
case 1006: /* SGR extended mouse mode */