> Any ideas?  It's obviously some kind of timezone problem.

Yep.

Here's the list of things I did to make nmh 1.0.4+ work on Cygwin,
(using POP):

  Have to modify:
     zotnet/tws/{dtimep,dtime}.c to fix conflict with cygwin timezone
       and daylight definitions.  I edited line 28 and beyond to become:
#ifdef __CYGWIN__
#define timezone _timezone
#else
extern int daylight;
extern long timezone;
#endif
extern char *tzname[];
     uip/{flist,folder,show} commands to chuck the ``.exe'' suffix.
     In show, did something like:
#ifdef __CYGWIN32__
    {
      char *dotexe = strstr(invo_name, ".exe");
      if (dotexe) {
        dotexe[0] = '\0';
      }
    }
#endif
     sbr/discard.c to remove mention of fpurge from line 55
     sbr/ruserpass.c to ignore .netrc file mode (see line 108)
     uip/Makefile.in: to remove slocal and spost
            use install instead of ln (for flists, folders, prev, next)
     make sure that the directory where nmh is installed AND where
            your mail is kept are binmode

Let me know if you need more specific info.

The code changes can all easily be #ifdef __CYGWIN32__ ed, and you
could submit a patch to keep them carried along with new versions of
nmh.  However, I fully admit that I don't understand the configuration
infrastructure, so I'm not sure how to conditionalize the Makefile for
uip.  Somebody else could probably figure this out pretty easily.

So far, I've only seen one bug, which I haven't bother to track down.
Sometimes forw crashes.  It seems to depend upon what directory you
are in.  If it crashes, I usually just change working directories (eg
cd /tmp) and run it again.  I did poke through the code a little bit
and it died early in one of the filesystem/directory related `system
calls', but I didn't go any further.  It might be a Cygwin bug.

Steph

Reply via email to