updated for version 7.0129
diff --git a/src/digraph.c b/src/digraph.c
index 93a80a8..2f1bcda 100644
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -2367,12 +2367,12 @@
 # ifdef FEAT_MBYTE
 	/* try finding "keymap/'keymap'_'encoding'.vim"  in 'runtimepath' */
 	sprintf((char *)buf, "keymap/%s_%s.vim", curbuf->b_p_keymap, p_enc);
-	if (cmd_runtime(buf, FALSE) == FAIL)
+	if (source_runtime(buf, FALSE) == FAIL)
 # endif
 	{
 	    /* try finding "keymap/'keymap'.vim" in 'runtimepath'  */
 	    sprintf((char *)buf, "keymap/%s.vim", curbuf->b_p_keymap);
-	    if (cmd_runtime(buf, FALSE) == FAIL)
+	    if (source_runtime(buf, FALSE) == FAIL)
 	    {
 		vim_free(buf);
 		return (char_u *)N_("E544: Keymap file not found");
diff --git a/src/eval.c b/src/eval.c
index 6b8d736..cd706b4 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -17775,7 +17775,7 @@
 	}
 
 	/* Try loading the package from $VIMRUNTIME/autoload/<name>.vim */
-	if (cmd_runtime(scriptname, FALSE) == OK)
+	if (source_runtime(scriptname, FALSE) == OK)
 	    ret = TRUE;
     }
 
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 861fa81..bd8d748 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -2391,7 +2391,7 @@
 	    do_unlet((char_u *)"b:current_compiler", TRUE);
 
 	    sprintf((char *)buf, "compiler/%s.vim", eap->arg);
-	    if (cmd_runtime(buf, TRUE) == FAIL)
+	    if (source_runtime(buf, TRUE) == FAIL)
 		EMSG2(_("E666: compiler not supported: %s"), eap->arg);
 	    vim_free(buf);
 
@@ -2426,7 +2426,7 @@
 ex_runtime(eap)
     exarg_T	*eap;
 {
-    cmd_runtime(eap->arg, eap->forceit);
+    source_runtime(eap->arg, eap->forceit);
 }
 
 static void source_callback __ARGS((char_u *fname, void *cookie));
@@ -2447,7 +2447,7 @@
  * return FAIL when no file could be sourced, OK otherwise.
  */
     int
-cmd_runtime(name, all)
+source_runtime(name, all)
     char_u	*name;
     int		all;
 {
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 3c5ad94..5ba7d8b 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -4151,14 +4151,14 @@
 {
     int		i;
     int		count = 0;
-    int		loop;
+    int		round;
     char_u	*str;
 
     /* do this loop twice:
-     * loop == 0: count the number of matching names
-     * loop == 1: copy the matching names into allocated memory
+     * round == 0: count the number of matching names
+     * round == 1: copy the matching names into allocated memory
      */
-    for (loop = 0; loop <= 1; ++loop)
+    for (round = 0; round <= 1; ++round)
     {
 	for (i = 0; ; ++i)
 	{
@@ -4170,7 +4170,7 @@
 
 	    if (vim_regexec(regmatch, str, (colnr_T)0))
 	    {
-		if (loop)
+		if (round)
 		{
 		    str = vim_strsave_escaped(str, (char_u *)" \t\\.");
 		    (*file)[count] = str;
@@ -4187,7 +4187,7 @@
 		++count;
 	    }
 	}
-	if (loop == 0)
+	if (round == 0)
 	{
 	    if (count == 0)
 		return OK;
@@ -4201,6 +4201,10 @@
 	    count = 0;
 	}
     }
+
+    /* Sort the results. */
+    sort_strings(*file, *num_file);
+
     return OK;
 }
 
diff --git a/src/main.c b/src/main.c
index 380a572..0067b1c 100644
--- a/src/main.c
+++ b/src/main.c
@@ -550,7 +550,7 @@
      */
     if (p_lpl)
     {
-	cmd_runtime((char_u *)"plugin/*.vim", TRUE);
+	source_runtime((char_u *)"plugin/*.vim", TRUE);
 	TIME_MSG("loading plugins");
     }
 #endif
diff --git a/src/ops.c b/src/ops.c
index 6fc4f75..8be36e8 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -1160,7 +1160,14 @@
 	p = vim_strsave_escaped_ext(last_cmdline,
 		(char_u *)"\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037", Ctrl_V, FALSE);
 	if (p != NULL)
-	    retval = put_in_typebuf(p, TRUE);
+	{
+	    /* When in Visual mode "'<,'>" will be prepended to the command.
+	     * Remove it when it's already there. */
+	    if (VIsual_active && STRNCMP(p, "'<,'>", 5) == 0)
+		retval = put_in_typebuf(p + 5, TRUE);
+	    else
+		retval = put_in_typebuf(p, TRUE);
+	}
 	vim_free(p);
     }
 #endif
diff --git a/src/option.c b/src/option.c
index d1444fb..67bcf5e 100644
--- a/src/option.c
+++ b/src/option.c
@@ -5793,25 +5793,6 @@
     }
 #endif
 
-#ifdef FEAT_AUTOCMD
-# ifdef FEAT_SYN_HL
-    /* When 'syntax' is set, load the syntax of that name */
-    else if (varp == &(curbuf->b_p_syn))
-    {
-	apply_autocmds(EVENT_SYNTAX, curbuf->b_p_syn,
-					     curbuf->b_fname, TRUE, curbuf);
-    }
-# endif
-
-    /* When 'filetype' is set, trigger the FileType autocommands of that name */
-    else if (varp == &(curbuf->b_p_ft))
-    {
-	did_filetype = TRUE;
-	apply_autocmds(EVENT_FILETYPE, curbuf->b_p_ft,
-					     curbuf->b_fname, TRUE, curbuf);
-    }
-#endif
-
 #ifdef FEAT_QUICKFIX
     /* When 'bufhidden' is set, check for valid value. */
     else if (gvarp == &p_bh)
@@ -6159,6 +6140,46 @@
 	/* May set global value for local option. */
 	else if (!(opt_flags & OPT_LOCAL) && opt_flags != OPT_GLOBAL)
 	    set_string_option_global(opt_idx, varp);
+
+#ifdef FEAT_AUTOCMD
+	/*
+	 * Trigger the autocommand only after setting the flags.
+	 */
+# ifdef FEAT_SYN_HL
+	/* When 'syntax' is set, load the syntax of that name */
+	if (varp == &(curbuf->b_p_syn))
+	{
+	    apply_autocmds(EVENT_SYNTAX, curbuf->b_p_syn,
+					       curbuf->b_fname, TRUE, curbuf);
+	}
+# endif
+	else if (varp == &(curbuf->b_p_ft))
+	{
+	    /* 'filetype' is set, trigger the FileType autocommand */
+	    did_filetype = TRUE;
+	    apply_autocmds(EVENT_FILETYPE, curbuf->b_p_ft,
+					       curbuf->b_fname, TRUE, curbuf);
+	}
+#endif
+#ifdef FEAT_SYN_HL
+	if (varp == &(curbuf->b_p_spl))
+	{
+	    char_u	fname[200];
+
+	    /*
+	     * Source the spell/LANG.vim in 'runtimepath'.
+	     * They could set 'spellcapcheck' depending on the language.
+	     * Use the first name in 'spelllang' up to '_region' or
+	     * '.encoding'.
+	     */
+	    for (p = curbuf->b_p_spl; *p != NUL; ++p)
+		if (vim_strchr((char_u *)"_.,", *p) != NULL)
+		    break;
+	    vim_snprintf((char *)fname, 200, "spell/%.*s.vim",
+				 (int)(p - curbuf->b_p_spl), curbuf->b_p_spl);
+	    source_runtime(fname, TRUE);
+	}
+#endif
     }
 
 #ifdef FEAT_MOUSE
diff --git a/src/po/it.po b/src/po/it.po
index a97354a..ee0becf 100644
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -605,7 +605,7 @@
 msgstr "E742: Non riesco a cambiare il valore di %s"
 
 msgid "E698: variable nested too deep for making a copy"
-msgstr "E698 Variabile troppo nidificata per poterla copiare"
+msgstr "E698: Variabile troppo nidificata per poterla copiare"
 
 #, c-format
 msgid "E124: Missing '(': %s"
diff --git a/src/proto/ex_cmds2.pro b/src/proto/ex_cmds2.pro
index 88fa352..cc56643 100644
--- a/src/proto/ex_cmds2.pro
+++ b/src/proto/ex_cmds2.pro
@@ -53,7 +53,7 @@
 void ex_listdo __ARGS((exarg_T *eap));
 void ex_compiler __ARGS((exarg_T *eap));
 void ex_runtime __ARGS((exarg_T *eap));
-int cmd_runtime __ARGS((char_u *name, int all));
+int source_runtime __ARGS((char_u *name, int all));
 int do_in_runtimepath __ARGS((char_u *name, int all, void (*callback)(char_u *fname, void *ck), void *cookie));
 void ex_options __ARGS((exarg_T *eap));
 void ex_source __ARGS((exarg_T *eap));
diff --git a/src/syntax.c b/src/syntax.c
index 0c714d1..4c4cbad 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -4421,7 +4421,7 @@
     prev_toplvl_grp = curbuf->b_syn_topgrp;
     curbuf->b_syn_topgrp = sgl_id;
     if (source ? do_source(eap->arg, FALSE, FALSE) == FAIL
-					: cmd_runtime(eap->arg, TRUE) == FAIL)
+				     : source_runtime(eap->arg, TRUE) == FAIL)
 	EMSG2(_(e_notopen), eap->arg);
     curbuf->b_syn_topgrp = prev_toplvl_grp;
     current_syn_inc_tag = prev_syn_inc_tag;
@@ -6174,7 +6174,7 @@
 	else
 	{
 	    ++recursive;
-	    (void)cmd_runtime((char_u *)"syntax/syncolor.vim", TRUE);
+	    (void)source_runtime((char_u *)"syntax/syncolor.vim", TRUE);
 	    --recursive;
 	}
     }
@@ -6204,7 +6204,7 @@
     if (buf != NULL)
     {
 	sprintf((char *)buf, "colors/%s.vim", name);
-	retval = cmd_runtime(buf, FALSE);
+	retval = source_runtime(buf, FALSE);
 	vim_free(buf);
 #ifdef FEAT_AUTOCMD
 	apply_autocmds(EVENT_COLORSCHEME, NULL, NULL, FALSE, curbuf);
diff --git a/src/version.h b/src/version.h
index 9d047e0..d929fcc 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 Aug 11)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 11, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 12)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 12, compiled "