updated for version 7.0171
diff --git a/src/auto/configure b/src/auto/configure
index 794fd8f..8c42e66 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -1009,7 +1009,7 @@
_ACEOF
exit 0
fi
-exec 5>auto/config.log
+exec 5>config.log
cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
@@ -15455,7 +15455,7 @@
# Open the log real soon, to keep \$[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. Logging --version etc. is OK.
-exec 5>>auto/config.log
+exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
@@ -16285,7 +16285,7 @@
ac_config_status_args="$ac_config_status_args --quiet"
exec 5>/dev/null
$SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>auto/config.log
+ exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
$ac_cs_success || { (exit 1); exit 1; }
diff --git a/src/edit.c b/src/edit.c
index 0a770a7..ff09f09 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -208,6 +208,7 @@
K_SPECIAL and CSI are escaped */
static int last_insert_skip; /* nr of chars in front of previous insert */
static int new_insert_skip; /* nr of chars in front of current insert */
+static int did_restart_edit; /* "restart_edit" when calling edit() */
#ifdef FEAT_CINDENT
static int can_cindent; /* may do cindenting on this line */
@@ -269,9 +270,11 @@
#endif
int inserted_space = FALSE; /* just inserted a space */
int replaceState = REPLACE;
- int did_restart_edit = restart_edit;
int nomove = FALSE; /* don't move cursor on return */
+ /* Remember whether editing was restarted after CTRL-O. */
+ did_restart_edit = restart_edit;
+
/* sleep before redrawing, needed for "CTRL-O :" that results in an
* error message */
check_for_delay(TRUE);
@@ -496,10 +499,10 @@
do_digraph(-1); /* clear digraphs */
#endif
-/*
- * Get the current length of the redo buffer, those characters have to be
- * skipped if we want to get to the inserted characters.
- */
+ /*
+ * Get the current length of the redo buffer, those characters have to be
+ * skipped if we want to get to the inserted characters.
+ */
ptr = get_inserted();
if (ptr == NULL)
new_insert_skip = 0;
@@ -5030,20 +5033,29 @@
*/
static void
stop_insert(end_insert_pos, esc)
- pos_T *end_insert_pos; /* where insert ended */
- int esc; /* called by ins_esc() */
+ pos_T *end_insert_pos; /* where insert ended */
+ int esc; /* called by ins_esc() */
{
- int cc;
+ int cc;
+ char_u *ptr;
stop_redo_ins();
replace_flush(); /* abandon replace stack */
/*
- * save the inserted text for later redo with ^@
+ * Save the inserted text for later redo with ^@ and CTRL-A.
+ * Don't do it when "restart_edit" was set and nothing was inserted,
+ * otherwise CTRL-O w and then <Left> will clear "last_insert".
*/
- vim_free(last_insert);
- last_insert = get_inserted();
- last_insert_skip = new_insert_skip;
+ ptr = get_inserted();
+ if (did_restart_edit == 0 || (ptr != NULL && STRLEN(ptr) > new_insert_skip))
+ {
+ vim_free(last_insert);
+ last_insert = ptr;
+ last_insert_skip = new_insert_skip;
+ }
+ else
+ vim_free(ptr);
if (!arrow_used)
{
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 7c9ea14..a55b497 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1098,6 +1098,15 @@
save_cmdline(&save_ccline);
c = get_expr_register();
restore_cmdline(&save_ccline);
+
+ /* When there was a serious error abort getting the
+ * command line. */
+ if (aborting())
+ {
+ gotesc = TRUE; /* will free ccline.cmdbuff after
+ putting it in history */
+ goto returncmd; /* back to cmd mode */
+ }
}
}
#endif
diff --git a/src/globals.h b/src/globals.h
index ede48c6..8c21105 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -847,6 +847,8 @@
EXTERN int swap_exists_action INIT(= SEA_NONE);
/* For dialog when swap file already
* exists. */
+EXTERN int swap_exists_did_quit INIT(= FALSE);
+ /* Selected "quit" at the dialog. */
#endif
EXTERN char_u *IObuff; /* sprintf's are done in this buffer,
diff --git a/src/mysign b/src/mysign
index 1581aa7..e31d3e4 100644
--- a/src/mysign
+++ b/src/mysign
@@ -1 +1 @@
-=auto/configure-lastupdate=1090067895.52-@buildcheck=2c92a9e4676b2304fab9af16f1664194=configure.in@md5=9058353ef67f4d224686695cb80f645e
+=auto/configure-lastupdate=1134726965.61-@buildcheck=7520ec774f62645a09ebe0f9aab5aaec=configure.in@md5=98b5986099d37a7ba1b943fe7f4d0f90
diff --git a/src/ops.c b/src/ops.c
index 2f9ff00..0c75a46 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -159,7 +159,7 @@
{'z', 'd', TRUE}, /* OP_FOLDDEL */
{'z', 'D', TRUE}, /* OP_FOLDDELREC */
{'g', 'w', TRUE}, /* OP_FORMAT2 */
- {'g', 'y', FALSE}, /* OP_FUNCTION */
+ {'g', '@', FALSE}, /* OP_FUNCTION */
};
/*
diff --git a/src/version.h b/src/version.h
index 0a6a4ab..a1aed6e 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 Dec 14)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Dec 14, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Dec 16)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Dec 16, compiled "