patch 7.4.1009
Problem:    There are still #ifdefs for ARCHIE.
Solution:   Remove references to ARCHIE, the code was removed in Vim 5.
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index f3cb4b4..f7cc257 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -1570,7 +1570,7 @@
     char_u	*buf;
     long_u	len;
 
-#if defined(UNIX) && !defined(ARCHIE)
+#if defined(UNIX)
     int		is_fish_shell;
     char_u	*shell_name = get_isolated_shell_name();
 
@@ -1590,7 +1590,7 @@
     if (buf == NULL)
 	return NULL;
 
-#if defined(UNIX) && !defined(ARCHIE)
+#if defined(UNIX)
     /*
      * Put braces around the command (for concatenated commands) when
      * redirecting input and/or output.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 0e8e7bd..a29d657 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -7835,7 +7835,7 @@
 # endif
 #endif
 
-#if (!defined(UNIX) && !defined(__EMX__)) || defined(ARCHIE) || defined(PROTO)
+#if (!defined(UNIX) && !defined(__EMX__)) || defined(PROTO)
 /*
  * Expand the file names in the global argument list.
  * If "fnum_list" is not NULL, use "fnum_list[fnum_len]" as a list of buffer
diff --git a/src/fileio.c b/src/fileio.c
index 362d82e..75a3876 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -3510,7 +3510,7 @@
     /*
      * Get information about original file (if there is one).
      */
-#if defined(UNIX) && !defined(ARCHIE)
+#if defined(UNIX)
     st_old.st_dev = 0;
     st_old.st_ino = 0;
     perm = -1;
@@ -4126,7 +4126,7 @@
 	}
     }
 
-#if defined(UNIX) && !defined(ARCHIE)
+#if defined(UNIX)
     /* When using ":w!" and the file was read-only: make it writable */
     if (forceit && perm >= 0 && !(perm & 0200) && st_old.st_uid == getuid()
 				     && vim_strchr(p_cpo, CPO_FWRITE) == NULL)
diff --git a/src/main.c b/src/main.c
index 096652f..584687e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -74,7 +74,8 @@
     char_u	*serverStrEnc;		/* encoding of serverStr */
     char_u	*servername;		/* allocated name for our server */
 #endif
-#if (!defined(UNIX) && !defined(__EMX__)) || defined(ARCHIE)
+#if !defined(UNIX) && !defined(__EMX__)
+# define EXPAND_FILENAMES
     int		literal;		/* don't expand file names */
 #endif
 #ifdef MSWIN
@@ -401,7 +402,7 @@
 
     if (GARGCOUNT > 0)
     {
-#if (!defined(UNIX) && !defined(__EMX__)) || defined(ARCHIE)
+#ifdef EXPAND_FILENAMES
 	/*
 	 * Expand wildcards in file names.
 	 */
@@ -987,6 +988,7 @@
      * main loop. */
     {
 	int default_regname = 0;
+
 	adjust_clip_reg(&default_regname);
 	set_reg_var(default_regname);
     }
@@ -1879,7 +1881,7 @@
 		}
 		else if (STRNICMP(argv[0] + argv_idx, "literal", 7) == 0)
 		{
-#if (!defined(UNIX) && !defined(__EMX__)) || defined(ARCHIE)
+#ifdef EXPAND_FILENAMES
 		    parmp->literal = TRUE;
 #endif
 		}
@@ -2456,7 +2458,7 @@
 #endif
 
 	    alist_add(&global_alist, p,
-#if (!defined(UNIX) && !defined(__EMX__)) || defined(ARCHIE)
+#ifdef EXPAND_FILENAMES
 		    parmp->literal ? 2 : 0	/* add buffer nr after exp. */
 #else
 		    2		/* add buffer number now and use curbuf */
@@ -3268,7 +3270,7 @@
 
     mch_msg(_("\n\nArguments:\n"));
     main_msg(_("--\t\t\tOnly file names after this"));
-#if (!defined(UNIX) && !defined(__EMX__)) || defined(ARCHIE)
+#ifdef EXPAND_FILENAMES
     main_msg(_("--literal\t\tDon't expand wildcards"));
 #endif
 #ifdef FEAT_OLE
diff --git a/src/memline.c b/src/memline.c
index cd6d151..153e4de 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -4211,7 +4211,7 @@
 #endif
     char_u	*buf_fname = buf->b_fname;
 
-#if !defined(SHORT_FNAME) && (!defined(UNIX) || defined(ARCHIE))
+#if !defined(SHORT_FNAME) && !defined(UNIX)
 # define CREATE_DUMMY_FILE
     FILE	*dummyfd = NULL;
 
@@ -4271,7 +4271,7 @@
 	    fname = NULL;
 	    break;
 	}
-#if defined(UNIX) && !defined(ARCHIE) && !defined(SHORT_FNAME)
+#if defined(UNIX) && !defined(SHORT_FNAME)
 /*
  * Some systems have a MS-DOS compatible filesystem that use 8.3 character
  * file names. If this is the first try and the swap file name does not fit in
diff --git a/src/option.c b/src/option.c
index dae2054..c7ef6ee 100644
--- a/src/option.c
+++ b/src/option.c
@@ -2297,11 +2297,7 @@
 #   if defined(WIN3264)
 			    (char_u *)"",	/* set in set_init_1() */
 #   else
-#    if defined(ARCHIE)
-			    (char_u *)"gos",
-#    else
 			    (char_u *)"sh",
-#    endif
 #   endif
 #  endif
 # endif
@@ -2321,11 +2317,7 @@
 			    (char_u *)&p_sp, PV_NONE,
 			    {
 #if defined(UNIX)
-# ifdef ARCHIE
-			    (char_u *)"2>",
-# else
 			    (char_u *)"| tee",
-# endif
 #else
 			    (char_u *)">",
 #endif
diff --git a/src/term.c b/src/term.c
index 89a234c..ea81fef 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1532,9 +1532,6 @@
     "Co",
 #endif
     "ku", "kd", "kr", "kl",
-# ifdef ARCHIE
-    "su", "sd",		/* Termcap code made up! */
-# endif
     "#2", "#4", "%i", "*7",
     "k1", "k2", "k3", "k4", "k5", "k6",
     "k7", "k8", "k9", "k;", "F1", "F2",
diff --git a/src/version.c b/src/version.c
index f074fb3..6159942 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1009,
+/**/
     1008,
 /**/
     1007,