public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* ncurses/terminfo problems
@ 2000-11-19  9:05 Ehud Karni
  2000-11-19 10:15 ` Charles S. Wilson
  2000-11-20 15:10 ` J. J. Farrell
  0 siblings, 2 replies; 9+ messages in thread
From: Ehud Karni @ 2000-11-19  9:05 UTC (permalink / raw)
  To: cygwin,  Charles Wilson; +Cc: bug-ncurses

Last week (Nov 14) I asked a question about TCGETS/TCSETS in cygwin,
I haven't received even a single answer. Since then I have encountered
some other problem with ncurses on cygwin. I solved all of them by now
and I have some observations.

The problems were:
1. No support for the ioctl call with TCGETS/TCSETS to get/set
   termios structure onto terminals in cygwin.
Solution:
   It seems that with cygwin ncurses TCGETA/TCSETA does exactly what I
   used to do with TCGETS/TCSETS. In the Linux ioctl_list man page
   TCGETS/TCSETS works on termios structure while TCGETA/TCSETA work on
   termio structure. In the cygwin porting termio and termios are
   exactly the same.
Required action: Defining TCGETS and TCSETS to be the same as TCGETA and
   TCSETS on the cygwin porting, Adding the above facts to the FAQ,
   README and the ioctl man page (which is missing in cygwin).

2. When calling setupterm the environment variables LINES and
   COLUMNS are not considered [ like a call to use_env(FALSE) has
   been done ] contrary to the Man page.
Solution:
   The cause is the function `_nc_get_screensize'. It checks both LINES
   and COLUMNS environment variables and if BOTH are set then their
   value is used (if ONLY one is set, it is ignored). Since I use cygwin
   bash in console mode I just set the LINES to 43 which of course did
   not work (my script on UNIX always sets both variables). the relevant
   part of the man page of ncurses is:

 Either COLUMNS or LINES symbols may be specified independently. This
 is mainly useful to circumvent legacy misfeatures of terminal descr-
 iptions, e.g., xterm which commonly specifies a 65 line screen.  For
 best results,  lines and cols  should not be specified in a terminal
 description for terminals which are run as emulations.

The following patch fix this problem:

diff -c ORIGINAL/ncurses-5.2/ncurses/tinfo/lib_setup.c  ~/lib_setup.c
*** ORIGINAL/ncurses-5.2/ncurses/tinfo/lib_setup.c  Sat Sep  2 21:13:12 2000
--- ~/lib_setup.c                                   Sun Nov 19 01:11:37 2000
***************
*** 165,174 ****
  #endif /* HAVE_SIZECHANGE */

  	/* if we can't get dynamic info about the size, use static */
! 	if (*linep <= 0 || *colp <= 0)
! 	    if (lines > 0 && columns > 0) {
! 		*linep = (int) lines;
! 		*colp = (int) columns;
  	    }

  	/* the ultimate fallback, assume fixed 24x80 size */
--- 165,175 ----
  #endif /* HAVE_SIZECHANGE */

  	/* if we can't get dynamic info about the size, use static */
! 	if (*linep <= 0 ) {
! 	    *linep = (int) lines;
! 	    }
! 	if (*colp <= 0) {
! 	    *colp = (int) columns;
  	    }

  	/* the ultimate fallback, assume fixed 24x80 size */

Diff finished at Sun Nov 19 01:14:01

Required action: Patch lib_setup.c or change the ncurses man page.


3. When compiling a program with ncurses in cygwin it needs the
   libncurses_dll library. The problem is that when neither NCURSES_DLL
   nor NCURSES_STATIC are defined, the DLL version is selected.
Solution:
   Define either NCURSES_DLL or NCURSES_STATIC.
Required action: Add this information to the README and the ncurses man
   page (the cygwin version).


Ehud.


--
 @@@@@@ @@@ @@@@@@ @    @   Ehud Karni  Simon & Wiesel  Insurance agency
     @    @      @  @@  @   Tel: +972-3-6212-757    Fax: +972-3-6292-544
     @    @ @    @ @  @@    (USA)  Fax  and  voice  mail:  1-815-5509341
     @    @ @    @ @    @        Better     Safe     Than     Sorry
 http://www.simonwiesel.co.il    mailto:ehud@unix.simonwiesel.co.il

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

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

* Re: ncurses/terminfo problems
  2000-11-19  9:05 ncurses/terminfo problems Ehud Karni
@ 2000-11-19 10:15 ` Charles S. Wilson
  2000-11-19 10:28   ` Thomas Dickey
  2000-11-20 15:10 ` J. J. Farrell
  1 sibling, 1 reply; 9+ messages in thread
From: Charles S. Wilson @ 2000-11-19 10:15 UTC (permalink / raw)
  To: ehud; +Cc: cygwin, bug-ncurses

There is no official cygwin ncurses.  I uploaded a test version a few
weeks ago, and was soliciting comments.  Thank you for debugging the
problems you found.  Pending confirmation of your diagnoses, I'll try to
add these items to the next test release of ncurses for cygwin.

However, point #3 below is wrong.  (Remember, we're dealing with VERY
preliminary dll support for cygwin-ncurses -- I only finished "porting"
it 10 days ago).  NCURSES_DLL means "I am building the dll itself". 
NCURSES_STATIC means "I am building the static library or I am building
an object that will later be linked with the static library".  Defining
neither is the RIGHT thing to do -- it means "I am building an object
that will later be linked with the dll".  This information is already
described in /usr/doc/Cygwin/ncurses-5.2.README.

IMO, port-specific stuff should NOT go into the man page.  The man page
should contain generic information about the package that is true for
all platforms.  Port-specific stuff should go somewhere else -- on
cygwin, that's /usr/doc/Cygwin/*

--Chuck
 
Ehud Karni wrote:
> 
> Last week (Nov 14) I asked a question about TCGETS/TCSETS in cygwin,
> I haven't received even a single answer. Since then I have encountered
> some other problem with ncurses on cygwin. I solved all of them by now
> and I have some observations.
> 
> The problems were:
> 1. No support for the ioctl call with TCGETS/TCSETS to get/set
>    termios structure onto terminals in cygwin.
> Solution:
>    It seems that with cygwin ncurses TCGETA/TCSETA does exactly what I
>    used to do with TCGETS/TCSETS. In the Linux ioctl_list man page
>    TCGETS/TCSETS works on termios structure while TCGETA/TCSETA work on
>    termio structure. In the cygwin porting termio and termios are
>    exactly the same.
> Required action: Defining TCGETS and TCSETS to be the same as TCGETA and
>    TCSETS on the cygwin porting, Adding the above facts to the FAQ,
>    README and the ioctl man page (which is missing in cygwin).
> 
> 2. When calling setupterm the environment variables LINES and
>    COLUMNS are not considered [ like a call to use_env(FALSE) has
>    been done ] contrary to the Man page.
> Solution:
>    The cause is the function `_nc_get_screensize'. It checks both LINES
>    and COLUMNS environment variables and if BOTH are set then their
>    value is used (if ONLY one is set, it is ignored). Since I use cygwin
>    bash in console mode I just set the LINES to 43 which of course did
>    not work (my script on UNIX always sets both variables). the relevant
>    part of the man page of ncurses is:
> 
>  Either COLUMNS or LINES symbols may be specified independently. This
>  is mainly useful to circumvent legacy misfeatures of terminal descr-
>  iptions, e.g., xterm which commonly specifies a 65 line screen.  For
>  best results,  lines and cols  should not be specified in a terminal
>  description for terminals which are run as emulations.
> 
> The following patch fix this problem:
> 
> diff -c ORIGINAL/ncurses-5.2/ncurses/tinfo/lib_setup.c  ~/lib_setup.c
> *** ORIGINAL/ncurses-5.2/ncurses/tinfo/lib_setup.c  Sat Sep  2 21:13:12 2000
> --- ~/lib_setup.c                                   Sun Nov 19 01:11:37 2000
> ***************
> *** 165,174 ****
>   #endif /* HAVE_SIZECHANGE */
> 
>         /* if we can't get dynamic info about the size, use static */
> !       if (*linep <= 0 || *colp <= 0)
> !           if (lines > 0 && columns > 0) {
> !               *linep = (int) lines;
> !               *colp = (int) columns;
>             }
> 
>         /* the ultimate fallback, assume fixed 24x80 size */
> --- 165,175 ----
>   #endif /* HAVE_SIZECHANGE */
> 
>         /* if we can't get dynamic info about the size, use static */
> !       if (*linep <= 0 ) {
> !           *linep = (int) lines;
> !           }
> !       if (*colp <= 0) {
> !           *colp = (int) columns;
>             }
> 
>         /* the ultimate fallback, assume fixed 24x80 size */
> 
> Diff finished at Sun Nov 19 01:14:01
> 
> Required action: Patch lib_setup.c or change the ncurses man page.
> 
> 3. When compiling a program with ncurses in cygwin it needs the
>    libncurses_dll library. The problem is that when neither NCURSES_DLL
>    nor NCURSES_STATIC are defined, the DLL version is selected.
> Solution:
>    Define either NCURSES_DLL or NCURSES_STATIC.
> Required action: Add this information to the README and the ncurses man
>    page (the cygwin version).
> 
> Ehud.
> 
> --
>  @@@@@@ @@@ @@@@@@ @    @   Ehud Karni  Simon & Wiesel  Insurance agency
>      @    @      @  @@  @   Tel: +972-3-6212-757    Fax: +972-3-6292-544
>      @    @ @    @ @  @@    (USA)  Fax  and  voice  mail:  1-815-5509341
>      @    @ @    @ @    @        Better     Safe     Than     Sorry
>  http://www.simonwiesel.co.il    mailto:ehud@unix.simonwiesel.co.il

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

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

* Re: ncurses/terminfo problems
  2000-11-19 10:15 ` Charles S. Wilson
@ 2000-11-19 10:28   ` Thomas Dickey
  2000-11-19 11:47     ` Christopher Faylor
  2000-11-19 11:59     ` Charles S. Wilson
  0 siblings, 2 replies; 9+ messages in thread
From: Thomas Dickey @ 2000-11-19 10:28 UTC (permalink / raw)
  To: Charles S. Wilson; +Cc: ehud, cygwin, bug-ncurses

On Sun, Nov 19, 2000 at 01:14:25PM -0500, Charles S. Wilson wrote:
> There is no official cygwin ncurses.  I uploaded a test version a few

there may be no "official" cygwin ncurses, but the webpage says it's on the
cdrom (probably 4.2), which is enough for most people to assume that.

The current version of ncurses is 5.2 (20001021)
There's an faq at
	http://dickey.his.com/ncurses/ncurses.faq.html

-- 
Thomas E. Dickey <dickey@herndon4.his.com>
http://dickey.his.com
ftp://dickey.his.com

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

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

* Re: ncurses/terminfo problems
  2000-11-19 10:28   ` Thomas Dickey
@ 2000-11-19 11:47     ` Christopher Faylor
  2000-11-19 11:59     ` Charles S. Wilson
  1 sibling, 0 replies; 9+ messages in thread
From: Christopher Faylor @ 2000-11-19 11:47 UTC (permalink / raw)
  To: cygwin

On Sun, Nov 19, 2000 at 01:28:57PM -0500, Thomas Dickey wrote:
>On Sun, Nov 19, 2000 at 01:14:25PM -0500, Charles S. Wilson wrote:
>>There is no official cygwin ncurses.  I uploaded a test version a few
>
>there may be no "official" cygwin ncurses, but the webpage says it's on
>the cdrom (probably 4.2), which is enough for most people to assume
>that.

The CD-ROM that you are referring to is, apparently, the now-defunct
Cygwin 1.0 release.  ncurses on this CD was in the "contributed" area
and was not officially supported there either.  This should have been
made very clear in the installation instructions for the CD.

However, if you are referencing a link which says that it is supported
or if you know of a location that references the CD at all, please let
me know and I'll delete it.

>The current version of ncurses is 5.2 (20001021)
>There's an faq at
>	http://dickey.his.com/ncurses/ncurses.faq.html

Btw, the Cygwin FAQ that you reference in this web page is out-of-date.
Thanks for bringing it to my attention.  I've redirected that URL to the
project FAQ which correctly explains the current cygwin licensing.

cgf

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

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

* Re: ncurses/terminfo problems
  2000-11-19 10:28   ` Thomas Dickey
  2000-11-19 11:47     ` Christopher Faylor
@ 2000-11-19 11:59     ` Charles S. Wilson
  2000-11-19 12:08       ` Thomas Dickey
  1 sibling, 1 reply; 9+ messages in thread
From: Charles S. Wilson @ 2000-11-19 11:59 UTC (permalink / raw)
  To: dickey; +Cc: ehud, cygwin, bug-ncurses

Thomas Dickey wrote:
> 
> On Sun, Nov 19, 2000 at 01:14:25PM -0500, Charles S. Wilson wrote:
> > There is no official cygwin ncurses.  I uploaded a test version a few
> 
> there may be no "official" cygwin ncurses, but the webpage says it's on the
> cdrom (probably 4.2), which is enough for most people to assume that.

Sorry -- should have been more specific.  The applications available on
the Cygwin CDRom are not generally part of the downloadable "net
release".  I was speaking specifically about the packages available with
the net release (cygwin v. 1.1.x, not 1.0==CDROM).  

> The current version of ncurses is 5.2 (20001021)
> There's an faq at
>         http://dickey.his.com/ncurses/ncurses.faq.html

Yes, that is the version I "ported" to cygwin about 10 days ago.
Actually, "port" is a strong word -- it already builds OOB as a static
lib.  However, there are a LOT of modifications necessary to enable it
to build as a dll.

One patch is about 400k and can probably coexist with all other ports
(that is, I think it's suitable to apply to your official sources and
won't break other platforms.)  Basically, it munges all header files and
source files so that functions and variables are declared using a macro:

extern NCURSES_EXPORT(type, funcname) (args....)
extern NCURSES_EXPORT_VAR(type) varname

These macros evaluate to "type funcname" on most platforms; on cygwin
they evaluate to the appropriate __declspec() modifier depending on
whether NCURSES_DLL, NCURSES_STATIC, or neither is defined.  See, when
building a dll, functions and variables must be defined as "extern type
__declspec(dllexport) function()"; when linking to a dll, header files
must declare them as "extern type __declspec(dllimport) function()";
when building or linking to a static lib, they should be declared as
"extern type function()" just like other platforms.

The one drawback is that it requires an additional header file
(ncurses_dll.h) which does this magic, and is included by ncurses.h,
termcap.h, and various other files.  (Because of the dependency
structure of the various header files and the order in which they
include each other, the "magic" has to be added to multiple files, not
just to one.  So, it made sense to create a new header file and include
it from multiple places)

-------

The second patch is about 12k and is a true hack.  *That* patch is part
of the first step in my process of dll-izing a package.  Basically, with
the first patch, cygwiners can still build and use static libs; also,
other platforms should be unaffected.  The second patch is applied
*after* running configure, and munges the configure-generated Makefiles
to actually *build* a dll.

Yes, it would be better to fix up
libtool/autoconf/automake/Makefile.am/Makefile.in etc.  I'll get to that
-- this is just a first step.

-------

If you are interested in absorbing the *first* patch for ncurses-5.3,
I'll gladly submit it and get the paperwork for FSF copyright assignment
filled out...and I'll verify that it doesn't break anything on Linux
(Solaris, HPUX) if you like.

--Chuck

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

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

* Re: ncurses/terminfo problems
  2000-11-19 11:59     ` Charles S. Wilson
@ 2000-11-19 12:08       ` Thomas Dickey
  2000-11-19 12:53         ` Charles S. Wilson
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Dickey @ 2000-11-19 12:08 UTC (permalink / raw)
  To: Charles S. Wilson; +Cc: dickey, ehud, cygwin, bug-ncurses

On Sun, Nov 19, 2000 at 02:58:13PM -0500, Charles S. Wilson wrote:
> 
> extern NCURSES_EXPORT(type, funcname) (args....)
> extern NCURSES_EXPORT_VAR(type) varname

hmm - is that for mapping to native dll stuff, or part of cywgin's dll
support?  (I thought all of that overly-precise specification was discarded
long ago since it's too cumbersome for practical use -- except of course on
win32...)

why isn't 'extern' part of the macro, btw?
 
> Yes, it would be better to fix up
> libtool/autoconf/automake/Makefile.am/Makefile.in etc.  I'll get to that
> -- this is just a first step.

;-)
 
> If you are interested in absorbing the *first* patch for ncurses-5.3,
> I'll gladly submit it and get the paperwork for FSF copyright assignment
> filled out...and I'll verify that it doesn't break anything on Linux
> (Solaris, HPUX) if you like.

Maybe - the first thing that pops into my head is how it impacts
lib_gen.c (I assume that still works).

-- 
Thomas E. Dickey <dickey@herndon4.his.com>
http://dickey.his.com
ftp://dickey.his.com

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

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

* Re: ncurses/terminfo problems
  2000-11-19 12:08       ` Thomas Dickey
@ 2000-11-19 12:53         ` Charles S. Wilson
  2000-11-19 14:30           ` Thomas Dickey
  0 siblings, 1 reply; 9+ messages in thread
From: Charles S. Wilson @ 2000-11-19 12:53 UTC (permalink / raw)
  To: dickey; +Cc: ehud, cygwin, bug-ncurses

Thomas Dickey wrote:
> 
> On Sun, Nov 19, 2000 at 02:58:13PM -0500, Charles S. Wilson wrote:
> >
> > extern NCURSES_EXPORT(type, funcname) (args....)
> > extern NCURSES_EXPORT_VAR(type) varname
> 
> hmm - is that for mapping to native dll stuff, or part of cywgin's dll
> support?  

it's for mapping to native dll stuff.

> (I thought all of that overly-precise specification was discarded
> long ago since it's too cumbersome for practical use -- except of course on
> win32...)

yep. but we're on win32.

> 
> why isn't 'extern' part of the macro, btw?

because I also had to edit the various scripts, like
ncurses/tinfo/MKnames.awk which defines macros based on other macros:

  #define DCL(it) NCURSES_EXPORT_VAR(IT) it[]

However, DCL(it) is used in the file which **defines** the variables,
not merely in the files which **declare** the variables.  So, you can't
use 'extern' there.

Actually, I originally DID define NCURSES_EXPORT... with 'extern' but
had to remove it (and put it BACK into all the source files from which
I'd removed it) for this reason.

> 
> > Yes, it would be better to fix up
> > libtool/autoconf/automake/Makefile.am/Makefile.in etc.  I'll get to that
> > -- this is just a first step.
> 
> ;-)
> 
> > If you are interested in absorbing the *first* patch for ncurses-5.3,
> > I'll gladly submit it and get the paperwork for FSF copyright assignment
> > filled out...and I'll verify that it doesn't break anything on Linux
> > (Solaris, HPUX) if you like.
> 
> Maybe - the first thing that pops into my head is how it impacts
> lib_gen.c (I assume that still works).

Yes, I had to munge up lots of the scripts to get things right.  *That*
is only part I'm worried about whether it still works on Linux &etc.  (I
*think* it should be okay -- since, in this context,
Linux=Cygwin_static_build)

Scripts affected:

ncurses/tty/MKexpanded.sh
ncurses/tty/MKnames.awk
ncurses/tty/MKfallback.sh
ncurses/tty/MKcaptab.awk
ncurses/base/MKunctrl.awk
ncurses/base/MKlib_gen.sh
ncurses/base/MKkeyname.awk

--Chuck

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

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

* Re: ncurses/terminfo problems
  2000-11-19 12:53         ` Charles S. Wilson
@ 2000-11-19 14:30           ` Thomas Dickey
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Dickey @ 2000-11-19 14:30 UTC (permalink / raw)
  To: Charles S. Wilson; +Cc: dickey, ehud, cygwin, bug-ncurses

On Sun, Nov 19, 2000 at 03:52:33PM -0500, Charles S. Wilson wrote:
> > (I thought all of that overly-precise specification was discarded
> > long ago since it's too cumbersome for practical use -- except of course on
> > win32...)
> 
> yep. but we're on win32.

;-)

> > why isn't 'extern' part of the macro, btw?
> 
> because I also had to edit the various scripts, like
> ncurses/tinfo/MKnames.awk which defines macros based on other macros:
> 
>   #define DCL(it) NCURSES_EXPORT_VAR(IT) it[]

ok (I recall running into that one).
 
> Yes, I had to munge up lots of the scripts to get things right.  *That*
> is only part I'm worried about whether it still works on Linux &etc.  (I
> *think* it should be okay -- since, in this context,
> Linux=Cygwin_static_build)
> 
> Scripts affected:

well, (of course) I'm interested.  It's a shame the solution has to be so
cumbersome.  I've been contemplating adapting the headers in a similar
way (not so regular ;-) for symbol versioning with glibc (but won't get into
that til next month, since there's too many things that I have to do ahead
of that).

-- 
Thomas E. Dickey <dickey@herndon4.his.com>
http://dickey.his.com
ftp://dickey.his.com

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

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

* Re: ncurses/terminfo problems
  2000-11-19  9:05 ncurses/terminfo problems Ehud Karni
  2000-11-19 10:15 ` Charles S. Wilson
@ 2000-11-20 15:10 ` J. J. Farrell
  1 sibling, 0 replies; 9+ messages in thread
From: J. J. Farrell @ 2000-11-20 15:10 UTC (permalink / raw)
  To: Cygwin Mailing List

> From: "Ehud Karni" <ehud@unix.simonwiesel.co.il>
> 
> 1. No support for the ioctl call with TCGETS/TCSETS to get/set
>    termios structure onto terminals in cygwin.
> Solution:
>    It seems that with cygwin ncurses TCGETA/TCSETA does exactly what I
>    used to do with TCGETS/TCSETS. In the Linux ioctl_list man page
>    TCGETS/TCSETS works on termios structure while TCGETA/TCSETA work on
>    termio structure. In the cygwin porting termio and termios are
>    exactly the same.
> Required action: Defining TCGETS and TCSETS to be the same as TCGETA and
>    TCSETS on the cygwin porting, Adding the above facts to the FAQ,
>    README and the ioctl man page (which is missing in cygwin).

The TCGETS/termios.h and related ioctls are part of an old
non-Standard interface to tty ports; they were an expansion
of the even older TCGETA/termio.h family. Your best bet for
maximum portability would be to change the code to use the
tc*() interfaces (tcgetattr()/tcsetattr() in this case) which
were Standardized by POSIX.1 in 1988.

If anyone wanted to bother, termios.h could be implemented
to map its definitions on to termio.h if they match in this
implementation (though the type names of the members of the
structures are usually different even if they're the same
size). If implemented, I don't think it should be mentioned
in FAQs, READMEs and so on since it's a transparent
implementation detail which could be changed at any time.
I'm not convinced it's worth doing since the Standard interface
to this functionality has been widely implemented for over a
decade, though if you fancied doing it I'm sure your patches
would be considered.


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

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

end of thread, other threads:[~2000-11-20 15:10 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-11-19  9:05 ncurses/terminfo problems Ehud Karni
2000-11-19 10:15 ` Charles S. Wilson
2000-11-19 10:28   ` Thomas Dickey
2000-11-19 11:47     ` Christopher Faylor
2000-11-19 11:59     ` Charles S. Wilson
2000-11-19 12:08       ` Thomas Dickey
2000-11-19 12:53         ` Charles S. Wilson
2000-11-19 14:30           ` Thomas Dickey
2000-11-20 15:10 ` J. J. Farrell

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).