diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 29687d2..0eac58b 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -4829,7 +4829,7 @@
 
 
 #define SIZEOF_CSTR(s)      (sizeof(s) - 1)
-struct prt_dsc_comment_S prt_dsc_table[] =
+static struct prt_dsc_comment_S prt_dsc_table[] =
 {
     {PRT_DSC_TITLE,       SIZEOF_CSTR(PRT_DSC_TITLE),     PRT_DSC_TITLE_TYPE},
     {PRT_DSC_VERSION,     SIZEOF_CSTR(PRT_DSC_VERSION),
@@ -4876,6 +4876,7 @@
 #ifdef FEAT_MBYTE
 static int prt_build_cid_fontname __ARGS((int font, char_u *name, int name_len));
 static void prt_def_cidfont __ARGS((char *new_name, int height, char *cidfont));
+static void prt_dup_cidfont __ARGS((char *original_name, char *new_name));
 static int prt_match_encoding __ARGS((char *p_encoding, struct prt_ps_mbfont_S *p_cmap, struct prt_ps_encoding_S **pp_mbenc));
 static int prt_match_charset __ARGS((char *p_charset, struct prt_ps_mbfont_S *p_cmap, struct prt_ps_charset_S **pp_mbchar));
 #endif
diff --git a/src/glbl_ime.h b/src/glbl_ime.h
index 2bdffc6..711f9e5 100644
--- a/src/glbl_ime.h
+++ b/src/glbl_ime.h
@@ -19,8 +19,10 @@
     BOOL WINAPI global_ime_TranslateMessage(CONST MSG *);
     void WINAPI global_ime_set_position(POINT*);
     void WINAPI global_ime_set_font(LOGFONT*);
+#if 0
     void WINAPI global_ime_status_evacuate(void);
     void WINAPI global_ime_status_restore(void);
+#endif
     void WINAPI global_ime_set_status(int status);
     int WINAPI global_ime_get_status(void);
 #ifdef __cplusplus
diff --git a/src/globals.h b/src/globals.h
index 87b99e3..6bc9b1a 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -989,7 +989,6 @@
 
 /* these are in version.c */
 extern char *Version;
-extern char *mediumVersion;
 #if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
 extern char longVersion[];
 #else
@@ -1200,11 +1199,6 @@
 			= {'\\', 0}
 # endif
 			;
-EXTERN char	psepsN[2]		/* abnormal path separator string */
-# ifdef DO_INIT
-			= {'/', 0}
-# endif
-			;
 #endif
 
 #ifdef FEAT_VIRTUALEDIT
@@ -1244,7 +1238,6 @@
 EXTERN int netbeansCloseFile INIT(= 0);	/* send killed if != 0 */
 EXTERN int netbeansFireChanges INIT(= 1); /* send buffer changes if != 0 */
 EXTERN int netbeansForcedQuit INIT(= 0);/* don't write modified files */
-EXTERN int netbeansOpenFile INIT(= 1);	/* send fileOpened if != 0 */
 EXTERN int netbeansReadFile INIT(= 1);	/* OK to read from disk if != 0 */
 EXTERN int netbeansSuppressNoLines INIT(= 0); /* skip "No lines in buffer" */
 EXTERN int usingNetbeans INIT(= 0);	/* set if -nb flag is used */
diff --git a/src/if_cscope.h b/src/if_cscope.h
index a88ba63..5dc69e8 100644
--- a/src/if_cscope.h
+++ b/src/if_cscope.h
@@ -29,7 +29,6 @@
 
 #define	CSCOPE_DBFILE		"cscope.out"
 #define	CSCOPE_PROMPT		">> "
-#define	CSCOPE_QUERIES		"sgdct efi"
 
 /*
  * s 0name	Find this C symbol
diff --git a/src/misc2.c b/src/misc2.c
index d176303..75d8a4d 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -1366,6 +1366,7 @@
 
 /*
  * Like strncpy(), but always terminate the result with one NUL.
+ * "to" must be "len + 1" long!
  */
     void
 vim_strncpy(to, from, len)
diff --git a/src/nbdebug.h b/src/nbdebug.h
index b540481..3baeca4 100644
--- a/src/nbdebug.h
+++ b/src/nbdebug.h
@@ -24,7 +24,6 @@
 #endif
 
 #define nbdebug(a) nbdbg##a
-#define nbprint(a) nbprt##a
 
 #define NB_TRACE		0x00000001
 #define NB_TRACE_VERBOSE	0x00000002
diff --git a/src/option.c b/src/option.c
index 8553771..eef6129 100644
--- a/src/option.c
+++ b/src/option.c
@@ -6645,14 +6645,12 @@
 	    psepc = '/';
 	    psepcN = '\\';
 	    pseps[0] = '/';
-	    psepsN[0] = '\\';
 	}
 	else
 	{
 	    psepc = '\\';
 	    psepcN = '/';
 	    pseps[0] = '\\';
-	    psepsN[0] = '/';
 	}
 
 	/* need to adjust the file name arguments and buffer names. */
diff --git a/src/option.h b/src/option.h
index 2b7e80d..9aa2aaa 100644
--- a/src/option.h
+++ b/src/option.h
@@ -467,7 +467,9 @@
 # define FDO_JUMP		0x400
 #endif
 EXTERN char_u	*p_fp;		/* 'formatprg' */
+#ifdef HAVE_FSYNC
 EXTERN int	p_fs;		/* 'fsync' */
+#endif
 EXTERN int	p_gd;		/* 'gdefault' */
 #ifdef FEAT_PRINTER
 EXTERN char_u	*p_pdev;	/* 'printdevice' */
diff --git a/src/os_msdos.h b/src/os_msdos.h
index 576b238..b8e90e1 100644
--- a/src/os_msdos.h
+++ b/src/os_msdos.h
@@ -14,7 +14,6 @@
 
 #define BINARY_FILE_IO
 #define USE_EXE_NAME		/* use argv[0] for $VIM */
-#define NO_COOKED_INPUT		/* mch_inchar() doesn't return whole lines */
 #define SYNC_DUP_CLOSE		/* sync() a file with dup() and close() */
 #define USE_TERM_CONSOLE
 #ifdef DJGPP
diff --git a/src/screen.c b/src/screen.c
index dfeca60..f1a7c7a 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -2509,8 +2509,8 @@
 					   starts */
     int		spell_attr = 0;		/* attributes desired by spelling */
     int		word_end = 0;		/* last byte with same spell_attr */
-    static linenr_T  checked_lnum = 0;	/* line number for checked_col */
-    static int	checked_col = 0;	/* column in checked_lnum up to which
+    static linenr_T  checked_lnum = 0;	/* line number for "checked_col" */
+    static int	checked_col = 0;	/* column in "checked_lnum" up to which
 					 * there are no spell errors */
     int		cur_checked_col = 0;	/* checked column for current line */
 #endif
diff --git a/src/structs.h b/src/structs.h
index e0d129c..bc2b1bb 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1469,7 +1469,10 @@
 
     /* for spell checking */
     garray_T	b_langp;	/* list of pointers to slang_T, see spell.c */
-
+    char_u	b_spell_ismw[256];/* flags: is midword char */
+# ifdef FEAT_MBYTE
+    char_u	*b_spell_ismw_mb; /* multi-byte midword chars */
+# endif
 #endif /* FEAT_SYN_HL */
 
 #ifdef FEAT_SIGNS
diff --git a/src/version.c b/src/version.c
index e879438..e52839c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -27,8 +27,8 @@
 
 #include "version.h"
 
-char	*Version = VIM_VERSION_SHORT;
-char	*mediumVersion = VIM_VERSION_MEDIUM;
+char		*Version = VIM_VERSION_SHORT;
+static char	*mediumVersion = VIM_VERSION_MEDIUM;
 
 #if defined(HAVE_DATE_TIME) || defined(PROTO)
 # if (defined(VMS) && defined(VAXC)) || defined(PROTO)
diff --git a/src/version.h b/src/version.h
index 59a8854..8c74f3c 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
 #define VIM_VERSION_NODOT	"vim70aa"
 #define VIM_VERSION_SHORT	"7.0aa"
 #define VIM_VERSION_MEDIUM	"7.0aa ALPHA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jun 29)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jun 29, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jun 30)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jun 30, compiled "
