*** backup.c~0	Sun Jan 30 03:00:26 1994
--- backup.c	Tue Apr  8 16:24:02 1997
***************
*** 77,82 ****
--- 77,85 ----
  #else /* !USG */
  #include <sys/dir.h>
  #endif /* !USG */
+ #ifdef __DJGPP__
+ #include <fcntl.h>
+ #endif /* __DJGPP__ */
  #endif /* !DIRENT */
  
  #if defined (HAVE_UNISTD_H)
*************** max_version (pathname)
*** 206,215 ****
    int version;
  
    p = pathname + pathlen - 1;
!   while (p > pathname && *p != '/')
      p--;
  
!   if (*p == '/')
      {
        int dirlen = p - pathname;
        register char *dirname;
--- 209,218 ----
    int version;
  
    p = pathname + pathlen - 1;
!   while (p > pathname && !IS_PATH_SEP (*p))
      p--;
  
!   if (IS_PATH_SEP (*p))
      {
        int dirlen = p - pathname;
        register char *dirname;
*************** version_control_value ()
*** 287,292 ****
--- 290,300 ----
    char *version;
    struct version_control_values *v;
  
+ #ifdef __DJGPP__
+   /* DJGPP programs support long filenames, but only on Windows 9x.  */
+   if (!_USE_LFN)
+     return simple;
+ #endif
    version = getenv ("VERSION_CONTROL");
    if (version == 0 || *version == 0)
      return numbered_existing;
*** io.c~0	Sun Jan 30 02:57:40 1994
--- io.c	Tue Apr  8 18:48:16 1997
*************** fill_buffer ()
*** 754,760 ****
        /* Here for embedded NULLs */
        else if ((p - current_input->data) < current_input->size)
  	{
! 	  diag (0, "Warning: File %s contains NULL-characters\n",
  		current_input->name);
  	  p++;
  	}
--- 754,760 ----
        /* Here for embedded NULLs */
        else if ((p - current_input->data) < current_input->size)
  	{
! 	  diag (0, "Warning: File %s contains NULL-characters",
  		current_input->name);
  	  p++;
  	}
*** lexi.c~0	Sun Jan 30 03:05:18 1994
--- lexi.c	Tue Apr  8 18:49:02 1997
*************** lexi ()
*** 644,650 ****
  	     they don't want indent to silently change the meaning of their
  	     code).  */
  	  diag (0,
! 	  "old style assignment ambiguity in \"=%c\".  Assuming \"= %c\"\n",
  		(int) *buf_ptr, (int) *buf_ptr);
  	}
  
--- 644,650 ----
  	     they don't want indent to silently change the meaning of their
  	     code).  */
  	  diag (0,
! 	  "old style assignment ambiguity in \"=%c\".  Assuming \"= %c\"",
  		(int) *buf_ptr, (int) *buf_ptr);
  	}
  
*** sys.h~0	Sun Jan 30 02:54:36 1994
--- sys.h	Tue Apr  8 16:15:26 1997
*************** extern int debug;
*** 46,58 ****
  # ifndef __GNUC__
  # define USG   1
  # endif
! # define NODIR 1
  #endif /* __MSDOS__ */
  
  /* configure defines USG if it can't find bcopy */
  
  #ifndef USG
  #define memcpy(dest,src,len) bcopy((src),(dest),len)
  #endif
  
  struct file_buffer
--- 46,65 ----
  # ifndef __GNUC__
  # define USG   1
  # endif
! # ifndef __DJGPP__
! #  define NODIR 1
! # endif
! # define IS_PATH_SEP(c)  ((c) == '/' || (c) == '\\' || (c) == ':')
  #endif /* __MSDOS__ */
  
  /* configure defines USG if it can't find bcopy */
  
  #ifndef USG
  #define memcpy(dest,src,len) bcopy((src),(dest),len)
+ #endif
+ 
+ #ifndef IS_PATH_SEP
+ # define IS_PATH_SEP(c)  ((c) == '/')
  #endif
  
  struct file_buffer
*** indent.t~0	Wed Feb  2 22:07:24 1994
--- indent.texinfo	Tue Apr  8 19:18:02 1997
*************** your home directory for @file{.indent.pr
*** 235,240 ****
--- 235,248 ----
  found.  This behaviour is different from that of other versions of
  @code{indent}, which load both files if they both exist.
  
+ Note that on MS-DOS and MS-Windows, the profile file is called
+ @file{indent.pro}, without a leading dot, because these systems don't
+ allow more than one dot in a filename.  Also, since users do not
+ generally have special home directories on these systems, you will need
+ to set the @code{HOME} environment variable to point to a directory
+ where your default @file{indent.pro} file is stored, if you want
+ @code{indent} to find it in a directory other than the current.
+ 
  Command line switches are handled @emph{after} processing
  @file{.indent.pro}.  Options specified later override arguments
  specified earlier, with one exception: Explicitly specified options
*************** there @emph{already exist} numbered back
*** 275,280 ****
--- 283,295 ----
  otherwise, a simple backup is made.  If @code{VERSION_CONTROL} is not
  set, then @code{indent} assumes the behaviour of
  @samp{numbered-existing}.
+ 
+ The MS-DOS/MS-Windows version of @code{indent} supports numbered backups
+ only on Windows 9x, where filenames are allowed to have more than a
+ single dot.  On other MS platforms, setting @code{VERSION_CONTROL} to
+ @samp{numbered} has no effect, and @code{indent} will always produce
+ either a simple-style backup file or no backups at all (if you set
+ @code{VERSION_CONTROL} to @samp{never}).
  
  Other versions of @code{indent} use the suffix @samp{.BAK} in naming
  backup files.  This behaviour can be emulated by setting
*** configdj.b~0	Tue Apr  8 19:21:10 1997
--- configdj.bat	Tue Apr  8 18:03:14 1997
***************
*** 0 ****
--- 1,4 ----
+ @echo off
+ if not exist Makefile.orig ren Makefile Makefile.orig
+ echo Running configure script to generate makefile
+ sed -f configdj.sed Makefile.in > makefile
*** configdj.s~0	Tue Apr  8 19:21:12 1997
--- configdj.sed	Tue Apr  8 18:49:36 1997
***************
*** 0 ****
--- 1,11 ----
+ s|@INSTALL@|${DJDIR}/bin/ginstall -c|g
+ s|@INSTALL_PROGRAM@|${DJDIR}/bin/ginstall -c|g
+ s|@INSTALL_DATA@|${DJDIR}/bin/ginstall -m 644|g
+ s|@DEFS@|-DHAVE_UNISTD_H=1|g
+ s|@srcdir@|.|g
+ s|@CC@|gcc|g
+ s|@CPP@|gcc -E|g
+ s|@LIBOBJS@||g
+ /^CFLAGS *=/s|-O[^1-9 ]|-O2 -g|
+ /^CFLAGS *=/s|-O$|-O2 -g|
+ s|^prefix *=.*|prefix = ${DJDIR}|
*** comments.c~0	Sun Jan 30 03:51:06 1994
--- comments.c	Mon Apr 14 07:48:48 1997
*************** print_comment ()
*** 228,245 ****
  	  else
  	    {
  	      if (parser_state_tos->col_1)
! 		{
! 		  format = format_col1_comments;
! 		  start_column = 1;
! 		}
  	      else
! 		{
! 		  format = format_comments;
! 		  start_column = (parser_state_tos->ind_level
! 				  - unindent_displace + 1);
! 		  if (start_column < 0)
! 		    start_column = 1;
! 		}
  	    }
  	}
        else
--- 228,241 ----
  	  else
  	    {
  	      if (parser_state_tos->col_1)
! 		format = format_col1_comments;
  	      else
! 		format = format_comments;
! 
! 	      start_column = (parser_state_tos->ind_level
! 			      - unindent_displace + 1);
! 	      if (start_column < 0)
! 		start_column = 1;
  	    }
  	}
        else
