summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/change.txt4
-rw-r--r--runtime/doc/tags1
-rw-r--r--runtime/ftplugin/perl.vim4
-rwxr-xr-xsrc/auto/configure6
-rw-r--r--src/edit.c36
-rw-r--r--src/ex_getln.c9
-rw-r--r--src/globals.h2
-rw-r--r--src/mysign2
-rw-r--r--src/ops.c2
-rw-r--r--src/version.h4
10 files changed, 47 insertions, 23 deletions
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 29a2c9f3e..676da4bf1 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 7.0aa. Last change: 2005 Dec 10
+*change.txt* For Vim version 7.0aa. Last change: 2005 Dec 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -503,6 +503,8 @@ comment (starting with '"') after the ":!" command.
temporary file and then reads the file into the
buffer. Vim uses the 'shellredir' option to redirect
the filter output to the temporary file.
+ However, if the 'shelltemp' option is off then pipes
+ are used when possible (on Unix).
When the 'R' flag is included in 'cpoptions' marks in
the filtered lines are deleted, unless the
|:keepmarks| command is used. Example: >
diff --git a/runtime/doc/tags b/runtime/doc/tags
index c2ec052d6..300e3b4d2 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5335,7 +5335,6 @@ hebrew hebrew.txt /*hebrew*
hebrew.txt hebrew.txt /*hebrew.txt*
help various.txt /*help*
help-context help.txt /*help-context*
-help-tags tags 1
help-translated various.txt /*help-translated*
help-xterm-window various.txt /*help-xterm-window*
help.txt help.txt /*help.txt*
diff --git a/runtime/ftplugin/perl.vim b/runtime/ftplugin/perl.vim
index e8c801fc3..b3078005f 100644
--- a/runtime/ftplugin/perl.vim
+++ b/runtime/ftplugin/perl.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Perl
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
-" Last Change: 2004 Dec 06
+" Last Change: 2005 Dec 16
" URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
@@ -27,7 +27,7 @@ endif
" Provided by Ned Konz <ned at bike-nomad dot com>
"---------------------------------------------
-setlocal include=\\<\\(use\\|require\\)\\>
+setlocal include=\\<\\(use\\\|require\\)\\>
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','')
setlocal define=[^A-Za-z_]
diff --git a/src/auto/configure b/src/auto/configure
index 794fd8f42..8c42e66be 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -1009,7 +1009,7 @@ gives unlimited permission to copy, distribute and modify it.
_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 @@ exec 6>&1
# 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 @@ if test "$no_create" != yes; then
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 0a770a7b4..ff09f09c8 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -208,6 +208,7 @@ static char_u *last_insert = NULL; /* the text of the previous insert,
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 @@ edit(cmdchar, startln, count)
#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 @@ edit(cmdchar, startln, count)
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 @@ stop_arrow()
*/
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 7c9ea14ec..a55b49743 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1098,6 +1098,15 @@ getcmdline(firstc, count, indent)
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 ede48c6dd..8c2110569 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -847,6 +847,8 @@ EXTERN int cmd_silent INIT(= FALSE); /* don't echo the command line */
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 1581aa743..e31d3e4a9 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 2f9ff00c4..0c75a4673 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -159,7 +159,7 @@ static char opchars[][3] =
{'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 0a6a4aba7..a1aed6e68 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 "