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,
