public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* [PATCH] fhandler_console.cc
@ 2000-05-30 13:27 Bradley A. Town
  2000-05-31 17:36 ` Chris Faylor
  0 siblings, 1 reply; 2+ messages in thread
From: Bradley A. Town @ 2000-05-30 13:27 UTC (permalink / raw)
  To: cygwin

Below is an improved terminfo entry for cygwin and the patch to
fhandler_console.cc it uses.  They are especially useful if you have
programs that depend on ncurses.

The patch accomplishes the following:
. It fixes standout, reverse, bold, underline, and invisible display modes
for screen colors other than the default.
. It treats underline as intense background.
. It adds codes for turning off bold, underline, reverse, and invisible
individually according to ECMA-48.
. It adds codes for selecting the default foreground and default background
according to ECMA-48.
. It no longer modifies the current mode if an unknown SGR code is given.
. It probably breaks someone's program somewhere.  However, the patch and
the terminfo entry have been tested with ncurses's test programs, tack,
lynx, and frotz (the program that prompted this).

The terminfo entry accomplishes the following:
. It consolidates the individual settings into one entry.  (You might not
like that.)
. It uses the capabilities added with the patch.
. It adds some keycodes.
. It, too, probably breaks something.

My mailer will wrap the terminfo lines, so you'll have to fix that before
trying it.

Brad Town
townba at pobox dot com

------ cut here ------
# Blink and dim are not implemented
# ENQ (u9) / ACK (u8) may not work as expected

cygwin|ansi emulation for cygwin32,

acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\
305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\37
6,
        smso=\E[7m, rmso=\E[27m, smul=\E[4m, rmul=\E[24m,
        rev=\E[7m, bold=\E[1m, invis=\E[8m, sgr0=\E[m,
        sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7%t;8%;m,
        colors#8, ncv#0, pairs#64, it#8,
        op=\E[39;49m,
        setaf=\E[3%p1%dm, setab=\E[4%p1%dm,
        am, mir, msgr, xon,
        clear=\E[2J,
        cuu1=\E[A, cud1=\E[B, cuf1=\E[C, cub1=^H,
        cup=\E[%i%p1%d;%p2%dH, home=\E[H,
        is2=\E[m\E[?7h,
        pfkey=\E[0;%p1%{58}%+%d;%p2"%s",
        sc=\E[s, rc=\E[u,
        u6=\E[%i%d;%dR, u7=\E[6n,
        u8=\E[?6c, u9=\E[c,
        el=\E[K, el1=\E[1K, ed=\E[J,
        cr=^M, ind=^J, ht=^I, bel=^G,
        kcuu1=\E[A, kcud1=\E[B, kcuf1=\E[C, kcub1=\E[D,
        ka1=\E[1~, ka3=\E[5~, kb2=\E[G, kc1=\E[4~, kc3=\E[6~,
        kdch1=\E[3~, kich1=\E[2~, khome=\E[1~, kend=\E[4~, kpp=\E[5~,
knp=\E[6~,
        kf1=\E[[A, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
        kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kf10=\E[21~,
        kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
        kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
------ cut here ------

--- fhandler_console.cc.orig	Sun May 14 12:20:24 2000
+++ fhandler_console.cc	Tue May 30 15:42:42 2000
@@ -724,13 +724,16 @@
 void
 fhandler_console::char_command (char c)
 {
-  // Keep the background intensity with the colr since there doesn't seem
-  // to be a way to set this with termcap/terminfo.
   static int fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
 				   FOREGROUND_RED),
 	     bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
-				   BACKGROUND_RED | BACKGROUND_INTENSITY),
-			 bold = default_color & FOREGROUND_INTENSITY;
+				   BACKGROUND_RED);
+
+  static bool bold = (default_color & FOREGROUND_INTENSITY) ? true : false;
+  static bool underline = (default_color & BACKGROUND_INTENSITY) ? true :
false;
+  static bool reverse = false;
+  static bool invis = false;
+
   int x, y;
   char buf[40];

@@ -746,56 +749,35 @@
 	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
 				     FOREGROUND_RED);
 	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
-	       bold = default_color & FOREGROUND_INTENSITY;
+				     BACKGROUND_RED);
+	       underline = (default_color & BACKGROUND_INTENSITY) ? true : false;
+	       reverse = false;
+	       bold = (default_color & FOREGROUND_INTENSITY) ? true : false;
+	       invis = false;
 	       break;
 	     case 1:    /* bold */
-	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
-				     FOREGROUND_RED);
-	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
-	       bold = FOREGROUND_INTENSITY;
+	       bold = true;
 	       break;
-	     case 4:    /* underline - simulate with cyan */
-	       fg = FOREGROUND_BLUE | FOREGROUND_GREEN;
-	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
-	       bold = default_color & FOREGROUND_INTENSITY;
-	       break;
-	     case 5:    /* blink mode */
-	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
-				     FOREGROUND_RED);
-	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
-	       bold = default_color & FOREGROUND_INTENSITY;
+	     case 4:    /* underline */
+	       underline = true;
 	       break;
 	     case 7:    /* reverse */
-	       fg = (default_color & BACKGROUND_BLUE) ? FOREGROUND_BLUE : 0;
-	       fg |= (default_color & BACKGROUND_GREEN) ? FOREGROUND_GREEN : 0;
-	       fg |= (default_color & BACKGROUND_RED) ? FOREGROUND_RED : 0;
-	       fg |= (default_color & BACKGROUND_INTENSITY) ?
-					     FOREGROUND_INTENSITY : 0;
-	       bg = (default_color & FOREGROUND_BLUE) ? BACKGROUND_BLUE : 0;
-	       bg |= (default_color & FOREGROUND_GREEN) ? BACKGROUND_GREEN : 0;
-	       bg |= (default_color & FOREGROUND_RED) ? BACKGROUND_RED : 0;
-	       bg |= (default_color & FOREGROUND_INTENSITY) ?
-					     BACKGROUND_INTENSITY : 0;
+	       reverse = true;
 	       break;
 	     case 8:    /* invisible */
-	       fg = (default_color & BACKGROUND_BLUE) ? FOREGROUND_BLUE : 0;
-	       fg |= (default_color & BACKGROUND_GREEN) ? FOREGROUND_GREEN : 0;
-	       fg |= (default_color & BACKGROUND_RED) ? FOREGROUND_RED : 0;
-	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
-	       bold = (default_color & BACKGROUND_INTENSITY) ?
-						   FOREGROUND_INTENSITY : 0;
+	       invis = true;
 	       break;
-	     case 9:    /* dim */
-	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
-				     FOREGROUND_RED);
-	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
-	       bold = (fg == 0) ? FOREGROUND_INTENSITY : 0;
+	     case 22:   /* non-bold */
+	       bold = false;
+	       break;
+	     case 24:   /* non-underline */
+	       underline = false;
+	       break;
+	     case 27:   /* non-reverse */
+	       reverse = false;
+	       break;
+	     case 28:   /* non-invisible */
+	       invis = false;
 	       break;
 	     case 30:		/* BLACK foreground */
 	       fg = 0;
@@ -821,6 +803,10 @@
 	     case 37:		/* WHITE foreg */
 	       fg = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED;
 	       break;
+	     case 39:		/* Default foreg */
+	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
+				     FOREGROUND_RED);
+	       break;
 	     case 40:		/* BLACK background */
 	       bg = 0;
 	       break;
@@ -845,15 +831,39 @@
 	     case 47:    /* WHITE background */
 	       bg = BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED;
 	       break;
-	     default:
-	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
-				     FOREGROUND_RED);
+	     case 49:    /* Default background */
 	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
 				     BACKGROUND_RED | BACKGROUND_INTENSITY);
-	       bold = default_color & FOREGROUND_INTENSITY;
+	       break;
+	     default:
 	       break;
 	   }
-	 SetConsoleTextAttribute (get_output_handle (), fg | bg | bold);
+
+      {
+	WORD fg2 = fg;
+	WORD bg2 = bg;
+
+	if (reverse) {
+	  fg2 = ((bg & BACKGROUND_RED) ? FOREGROUND_RED : 0) |
+		((bg & BACKGROUND_GREEN) ? FOREGROUND_GREEN : 0) |
+		((bg & BACKGROUND_BLUE) ? FOREGROUND_BLUE : 0);
+	  bg2 = ((fg & FOREGROUND_RED) ? BACKGROUND_RED : 0) |
+		((fg & FOREGROUND_GREEN) ? BACKGROUND_GREEN : 0) |
+		((fg & FOREGROUND_BLUE) ? BACKGROUND_BLUE : 0);
+	}
+
+	if (bold) fg2 |= FOREGROUND_INTENSITY;
+	if (underline) bg2 |= BACKGROUND_INTENSITY;
+	if (invis) {
+	  fg2 = ((bg2 & BACKGROUND_RED) ? FOREGROUND_RED : 0) |
+		((bg2 & BACKGROUND_GREEN) ? FOREGROUND_GREEN : 0) |
+		((bg2 & BACKGROUND_BLUE) ? FOREGROUND_BLUE : 0) |
+		((bg2 & BACKGROUND_INTENSITY) ? FOREGROUND_INTENSITY : 0);
+	}
+
+	SetConsoleTextAttribute (get_output_handle (), fg2 | bg2);
+      }
+
       break;
     case 'h':
     case 'l':


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] fhandler_console.cc
  2000-05-30 13:27 [PATCH] fhandler_console.cc Bradley A. Town
@ 2000-05-31 17:36 ` Chris Faylor
  0 siblings, 0 replies; 2+ messages in thread
From: Chris Faylor @ 2000-05-31 17:36 UTC (permalink / raw)
  To: cygwin

Thanks for the patch.  I'll look into including it after the next
net release.  Please remind me if you don't see it show up in
a snapshot in the next month or so.

Do you have an accompanying termcap entry, by any chance?

cgf

On Tue, May 30, 2000 at 04:27:49PM -0400, Bradley A. Town wrote:
>Below is an improved terminfo entry for cygwin and the patch to
>fhandler_console.cc it uses.  They are especially useful if you have
>programs that depend on ncurses.
>
>The patch accomplishes the following:
>. It fixes standout, reverse, bold, underline, and invisible display modes
>for screen colors other than the default.
>. It treats underline as intense background.
>. It adds codes for turning off bold, underline, reverse, and invisible
>individually according to ECMA-48.
>. It adds codes for selecting the default foreground and default background
>according to ECMA-48.
>. It no longer modifies the current mode if an unknown SGR code is given.
>. It probably breaks someone's program somewhere.  However, the patch and
>the terminfo entry have been tested with ncurses's test programs, tack,
>lynx, and frotz (the program that prompted this).
>
>The terminfo entry accomplishes the following:
>. It consolidates the individual settings into one entry.  (You might not
>like that.)
>. It uses the capabilities added with the patch.
>. It adds some keycodes.
>. It, too, probably breaks something.
>
>My mailer will wrap the terminfo lines, so you'll have to fix that before
>trying it.
>
>Brad Town
>townba at pobox dot com
>
>------ cut here ------
># Blink and dim are not implemented
># ENQ (u9) / ACK (u8) may not work as expected
>
>cygwin|ansi emulation for cygwin32,
>
>acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\
>305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\37
>6,
>        smso=\E[7m, rmso=\E[27m, smul=\E[4m, rmul=\E[24m,
>        rev=\E[7m, bold=\E[1m, invis=\E[8m, sgr0=\E[m,
>        sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7%t;8%;m,
>        colors#8, ncv#0, pairs#64, it#8,
>        op=\E[39;49m,
>        setaf=\E[3%p1%dm, setab=\E[4%p1%dm,
>        am, mir, msgr, xon,
>        clear=\E[2J,
>        cuu1=\E[A, cud1=\E[B, cuf1=\E[C, cub1=^H,
>        cup=\E[%i%p1%d;%p2%dH, home=\E[H,
>        is2=\E[m\E[?7h,
>        pfkey=\E[0;%p1%{58}%+%d;%p2"%s",
>        sc=\E[s, rc=\E[u,
>        u6=\E[%i%d;%dR, u7=\E[6n,
>        u8=\E[?6c, u9=\E[c,
>        el=\E[K, el1=\E[1K, ed=\E[J,
>        cr=^M, ind=^J, ht=^I, bel=^G,
>        kcuu1=\E[A, kcud1=\E[B, kcuf1=\E[C, kcub1=\E[D,
>        ka1=\E[1~, ka3=\E[5~, kb2=\E[G, kc1=\E[4~, kc3=\E[6~,
>        kdch1=\E[3~, kich1=\E[2~, khome=\E[1~, kend=\E[4~, kpp=\E[5~,
>knp=\E[6~,
>        kf1=\E[[A, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
>        kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kf10=\E[21~,
>        kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
>        kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
>------ cut here ------
>
>--- fhandler_console.cc.orig	Sun May 14 12:20:24 2000
>+++ fhandler_console.cc	Tue May 30 15:42:42 2000
>@@ -724,13 +724,16 @@
> void
> fhandler_console::char_command (char c)
> {
>-  // Keep the background intensity with the colr since there doesn't seem
>-  // to be a way to set this with termcap/terminfo.
>   static int fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
> 				   FOREGROUND_RED),
> 	     bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
>-				   BACKGROUND_RED | BACKGROUND_INTENSITY),
>-			 bold = default_color & FOREGROUND_INTENSITY;
>+				   BACKGROUND_RED);
>+
>+  static bool bold = (default_color & FOREGROUND_INTENSITY) ? true : false;
>+  static bool underline = (default_color & BACKGROUND_INTENSITY) ? true :
>false;
>+  static bool reverse = false;
>+  static bool invis = false;
>+
>   int x, y;
>   char buf[40];
>
>@@ -746,56 +749,35 @@
> 	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
> 				     FOREGROUND_RED);
> 	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
>-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
>-	       bold = default_color & FOREGROUND_INTENSITY;
>+				     BACKGROUND_RED);
>+	       underline = (default_color & BACKGROUND_INTENSITY) ? true : false;
>+	       reverse = false;
>+	       bold = (default_color & FOREGROUND_INTENSITY) ? true : false;
>+	       invis = false;
> 	       break;
> 	     case 1:    /* bold */
>-	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
>-				     FOREGROUND_RED);
>-	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
>-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
>-	       bold = FOREGROUND_INTENSITY;
>+	       bold = true;
> 	       break;
>-	     case 4:    /* underline - simulate with cyan */
>-	       fg = FOREGROUND_BLUE | FOREGROUND_GREEN;
>-	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
>-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
>-	       bold = default_color & FOREGROUND_INTENSITY;
>-	       break;
>-	     case 5:    /* blink mode */
>-	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
>-				     FOREGROUND_RED);
>-	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
>-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
>-	       bold = default_color & FOREGROUND_INTENSITY;
>+	     case 4:    /* underline */
>+	       underline = true;
> 	       break;
> 	     case 7:    /* reverse */
>-	       fg = (default_color & BACKGROUND_BLUE) ? FOREGROUND_BLUE : 0;
>-	       fg |= (default_color & BACKGROUND_GREEN) ? FOREGROUND_GREEN : 0;
>-	       fg |= (default_color & BACKGROUND_RED) ? FOREGROUND_RED : 0;
>-	       fg |= (default_color & BACKGROUND_INTENSITY) ?
>-					     FOREGROUND_INTENSITY : 0;
>-	       bg = (default_color & FOREGROUND_BLUE) ? BACKGROUND_BLUE : 0;
>-	       bg |= (default_color & FOREGROUND_GREEN) ? BACKGROUND_GREEN : 0;
>-	       bg |= (default_color & FOREGROUND_RED) ? BACKGROUND_RED : 0;
>-	       bg |= (default_color & FOREGROUND_INTENSITY) ?
>-					     BACKGROUND_INTENSITY : 0;
>+	       reverse = true;
> 	       break;
> 	     case 8:    /* invisible */
>-	       fg = (default_color & BACKGROUND_BLUE) ? FOREGROUND_BLUE : 0;
>-	       fg |= (default_color & BACKGROUND_GREEN) ? FOREGROUND_GREEN : 0;
>-	       fg |= (default_color & BACKGROUND_RED) ? FOREGROUND_RED : 0;
>-	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
>-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
>-	       bold = (default_color & BACKGROUND_INTENSITY) ?
>-						   FOREGROUND_INTENSITY : 0;
>+	       invis = true;
> 	       break;
>-	     case 9:    /* dim */
>-	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
>-				     FOREGROUND_RED);
>-	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
>-				     BACKGROUND_RED | BACKGROUND_INTENSITY);
>-	       bold = (fg == 0) ? FOREGROUND_INTENSITY : 0;
>+	     case 22:   /* non-bold */
>+	       bold = false;
>+	       break;
>+	     case 24:   /* non-underline */
>+	       underline = false;
>+	       break;
>+	     case 27:   /* non-reverse */
>+	       reverse = false;
>+	       break;
>+	     case 28:   /* non-invisible */
>+	       invis = false;
> 	       break;
> 	     case 30:		/* BLACK foreground */
> 	       fg = 0;
>@@ -821,6 +803,10 @@
> 	     case 37:		/* WHITE foreg */
> 	       fg = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED;
> 	       break;
>+	     case 39:		/* Default foreg */
>+	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
>+				     FOREGROUND_RED);
>+	       break;
> 	     case 40:		/* BLACK background */
> 	       bg = 0;
> 	       break;
>@@ -845,15 +831,39 @@
> 	     case 47:    /* WHITE background */
> 	       bg = BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED;
> 	       break;
>-	     default:
>-	       fg = default_color & (FOREGROUND_BLUE | FOREGROUND_GREEN |
>-				     FOREGROUND_RED);
>+	     case 49:    /* Default background */
> 	       bg = default_color & (BACKGROUND_BLUE | BACKGROUND_GREEN |
> 				     BACKGROUND_RED | BACKGROUND_INTENSITY);
>-	       bold = default_color & FOREGROUND_INTENSITY;
>+	       break;
>+	     default:
> 	       break;
> 	   }
>-	 SetConsoleTextAttribute (get_output_handle (), fg | bg | bold);
>+
>+      {
>+	WORD fg2 = fg;
>+	WORD bg2 = bg;
>+
>+	if (reverse) {
>+	  fg2 = ((bg & BACKGROUND_RED) ? FOREGROUND_RED : 0) |
>+		((bg & BACKGROUND_GREEN) ? FOREGROUND_GREEN : 0) |
>+		((bg & BACKGROUND_BLUE) ? FOREGROUND_BLUE : 0);
>+	  bg2 = ((fg & FOREGROUND_RED) ? BACKGROUND_RED : 0) |
>+		((fg & FOREGROUND_GREEN) ? BACKGROUND_GREEN : 0) |
>+		((fg & FOREGROUND_BLUE) ? BACKGROUND_BLUE : 0);
>+	}
>+
>+	if (bold) fg2 |= FOREGROUND_INTENSITY;
>+	if (underline) bg2 |= BACKGROUND_INTENSITY;
>+	if (invis) {
>+	  fg2 = ((bg2 & BACKGROUND_RED) ? FOREGROUND_RED : 0) |
>+		((bg2 & BACKGROUND_GREEN) ? FOREGROUND_GREEN : 0) |
>+		((bg2 & BACKGROUND_BLUE) ? FOREGROUND_BLUE : 0) |
>+		((bg2 & BACKGROUND_INTENSITY) ? FOREGROUND_INTENSITY : 0);
>+	}
>+
>+	SetConsoleTextAttribute (get_output_handle (), fg2 | bg2);
>+      }
>+
>       break;
>     case 'h':
>     case 'l':
>
>
>--
>Want to unsubscribe from this list?
>Send a message to cygwin-unsubscribe@sourceware.cygnus.com

-- 
cgf@cygnus.com                        Cygnus Solutions, a Red Hat company
http://sourceware.cygnus.com/         http://www.redhat.com/

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-05-31 17:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-05-30 13:27 [PATCH] fhandler_console.cc Bradley A. Town
2000-05-31 17:36 ` Chris Faylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).