summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/eval.txt8
-rw-r--r--runtime/doc/options.txt4
-rw-r--r--runtime/doc/tags4
-rw-r--r--runtime/doc/todo.txt17
-rw-r--r--runtime/doc/undo.txt36
-rw-r--r--runtime/doc/usr_31.txt4
-rw-r--r--runtime/doc/version7.txt20
-rw-r--r--src/Makefile6
-rwxr-xr-xsrc/auto/configure77
-rw-r--r--src/configure.in76
-rw-r--r--src/edit.c5
-rw-r--r--src/eval.c2
-rw-r--r--src/ex_cmds.h2
-rw-r--r--src/proto/os_win32.pro1
-rw-r--r--src/syntax.c2
-rw-r--r--src/testdir/test49.vim9
-rw-r--r--src/undo.c22
-rw-r--r--src/version.h4
18 files changed, 193 insertions, 106 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index a1c751d08..f628f225a 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
+*eval.txt* For Vim version 7.0aa. Last change: 2006 Feb 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3375,11 +3375,11 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
{start} bytes later, thus "^" will match there.
For a String, if {start} < 0, it will be set to 0. For a list
the index is counted from the end.
- If {start} is out of range (> strlen({expr} for a String or
- > len({expr} for a |List|) -1 is returned.
+ If {start} is out of range ({start} > strlen({expr}) for a
+ String or {start} > len({expr}) for a |List|) -1 is returned.
When {count} is given use the {count}'th match. When a match
- is found in a String the search for the next one starts on
+ is found in a String the search for the next one starts one
character further. Thus this example results in 1: >
echo match("testing", "..", 0, 2)
< In a |List| the search continues in the next item.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index b17fba95e..72ab3e3d9 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
+*options.txt* For Vim version 7.0aa. Last change: 2006 Feb 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3252,7 +3252,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'c' Use console dialogs instead of popup dialogs for simple
choices.
- 'e' Add tab pages when indicated with 'showtabpages'.
+ 'e' Add tab pages when indicated with 'showtabline'.
'guitablabel' can be used to change the text in the labels.
When 'e' is missing a non-GUI tab pages line may be used.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 3da16a4f3..59f240781 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2710,6 +2710,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:una map.txt /*:una*
:unabbreviate map.txt /*:unabbreviate*
:undo undo.txt /*:undo*
+:undoj undo.txt /*:undoj*
+:undojoin undo.txt /*:undojoin*
:unh windows.txt /*:unh*
:unhide windows.txt /*:unhide*
:unl eval.txt /*:unl*
@@ -5471,6 +5473,7 @@ 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*
@@ -7132,6 +7135,7 @@ uganda.txt uganda.txt /*uganda.txt*
undercurl syntax.txt /*undercurl*
underline syntax.txt /*underline*
undo undo.txt /*undo*
+undo-blocks undo.txt /*undo-blocks*
undo-commands undo.txt /*undo-commands*
undo-redo undo.txt /*undo-redo*
undo-remarks undo.txt /*undo-remarks*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index efee16c9f..d89798442 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
+*todo.txt* For Vim version 7.0aa. Last change: 2006 Feb 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,19 +30,15 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
-test 49 fails because of the function line numbering now taking care of
-continuation lines.
+Gcc 4 gives more warnings for uninitialized vars.
+
+Ignore "j" at hit-enter prompt? "k" already works differently.
Crash with X command server (Ciaran McCreesh).
Ctags still hasn't included the patch. Darren is looking for someone to do
maintanance.
-"fsutil hardlink" can create a hard link on an NTFS file system. (Daniel
-Einspanjer) What library function can detect that?
-Win32: use GetFileInformationByHandle() to detect hard links on NTFS?
-(George Reilly)
-
spelling:
- Also use the spelling dictionary for dictionary completion.
When 'dictionary' is empty and/or when "kspell" is in 'complete'.
@@ -89,9 +85,6 @@ spelling:
Is it possible to keep the command-line window open? Would actually work like
closing it, executing the command and re-opening it (at the same position).
-":keepundo": add change to existing undo chain, so that one "u" undoes them
-all. (Gautam Iyer)
-
Mac unicode patch (Da Woon Jung):
- configuration option for platform: i386, ppc or both.
Use __LITTLE_ENDIAN__ to test for current platform.
@@ -249,7 +242,7 @@ Omni completion:
to avoid a performance penalty (esp. for string options)?
8 Support four composing/combining characters, needed for Hebrew. (Ron Aaron)
Add the 'maxcombining' option to set the nr. of composing characters.
- At the same time support more colors (use two bytes when necessary).
+ At the same time support 32 bit Unicode characters?
8 "ga" should show all composing characters, also if there are more than 2.
8 Searching for a composing character by itself should work. Perhaps "."
with a composing char should work too.
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index 433fc759a..bdb7ffbf3 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt* For Vim version 7.0aa. Last change: 2003 Oct 21
+*undo.txt* For Vim version 7.0aa. Last change: 2006 Feb 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -10,7 +10,8 @@ The basics are explained in section |02.5| of the user manual.
1. Undo and redo commands |undo-commands|
2. Two ways of undo |undo-two-ways|
-3. Remarks about undo |undo-remarks|
+3. Undo blocks |undo-blocks|
+4. Remarks about undo |undo-remarks|
==============================================================================
1. Undo and redo commands *undo-commands*
@@ -72,7 +73,36 @@ Rationale: Nvi uses the "." command instead of CTRL-R. Unfortunately, this
words, in Nvi it does nothing.
==============================================================================
-3. Remarks about undo *undo-remarks*
+3. Undo blocks *undo-blocks*
+
+One undo command normally undoes a typed command, no matter how many changes
+that command makes. This sequence of undo-able changes forms an undo block.
+Thus if the typed key(s) call a function, all the commands in the function are
+undone together.
+
+If you want to write a function or script that doesn't create a new undoable
+change but joins in with the previous change use this command:
+
+ *:undoj* *:undojoin*
+:undoj[oin] Join further changes with the previous undo block.
+ Warning: Use with care, it may prevent the user from
+ properly undoing changes.
+ {not in Vi}
+
+This is most useful when you need to prompt the user halfway a change. For
+example in a function that calls |getchar()|. Do make sure that there was a
+related change before this that you must join with.
+
+This doesn't work by itself, because the next key press will start a new
+change again. But you can do something like this: >
+
+ :undojoin | delete
+
+After this an "u" command will undo the delete command and the previous
+change.
+
+==============================================================================
+4. Remarks about undo *undo-remarks*
The number of changes that are remembered is set with the 'undolevels' option.
If it is zero, the Vi-compatible way is always used. If it is negative no
diff --git a/runtime/doc/usr_31.txt b/runtime/doc/usr_31.txt
index a836b0442..d7f2138cf 100644
--- a/runtime/doc/usr_31.txt
+++ b/runtime/doc/usr_31.txt
@@ -1,4 +1,4 @@
-*usr_31.txt* For Vim version 7.0aa. Last change: 2003 Oct 21
+*usr_31.txt* For Vim version 7.0aa. Last change: 2006 Feb 28
VIM USER MANUAL - by Bram Moolenaar
@@ -76,7 +76,7 @@ Will start the browser in "/usr".
When you are not using the GUI version, you could use the file explorer window
to select files like in a file browser. However, this doesn't work for the
-":browse" command. See |file-explorer|.
+":browse" command. See |netrw-browse|.
==============================================================================
*31.2* Confirmation
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 065cfaa92..324c85f0d 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
+*version7.txt* For Vim version 7.0aa. Last change: 2006 Feb 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -132,6 +132,12 @@ compatibility problems and because "SS" can't be changed back to a sharp s.
that could be the function argument without type. Now it finds the position
where the type is given.
+The line continuation in functions was not taken into account, line numbers in
+errors were logical lines, not lines in the sourced file. That made it
+difficult to locate errors. Now the line number in the sourced file is
+reported, relative to the function start. This also means that line numbers
+for ":breakadd func" are different.
+
==============================================================================
NEW FEATURES *new-7*
@@ -510,6 +516,8 @@ Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
|:lcscope| Like |:cscope| but use the location list.
|:ltag| Jump to a tag and add matching tags to a location list.
+|:undojoin| Join a change with the previous undo block.
+
Ex command modifiers: ~
@@ -836,6 +844,10 @@ list.
Win32: When libintl.dll supports bind_textdomain_codeset(), use it.
(NAKADAIRA Yukihiro)
+Win32: Vim was not aware of hard links on NTFS file systems. These are
+detected now for when 'backupcopy' is "auto". Also fixed a bogus "file has
+been changed since reading it" error for links.
+
When foldtext() finds no text after removing the comment leader, use the
second line of the fold. Helps for C-style /* */ comments where the first
line is just "/*".
@@ -1787,8 +1799,8 @@ GUI: The "Replace All" button didn't handle backslashes in the replacement in
the same way as "Replace". Escape backslashes so that they are taken
literally.
-An error in a function reported a line number that doesn't take line
-continuation into account. Now store a NULL for continuation lines, so that
-the index is equal to the line number in the sourced file.
+When using Select mode from Insert mode and typing a key, causing lines to be
+deleted and a message displayed, delayed the effect of inserting the key.
+Now overwrite the message without delay.
vim:tw=78:ts=8:ft=help:norl:
diff --git a/src/Makefile b/src/Makefile
index 66185ce02..9345d1028 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1270,6 +1270,10 @@ POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) $(TCL
ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(POST_DEFS)
+# Exclude $CFLAGS for osdef.sh, for Mac 10.4 some flags don't work together
+# with "-E".
+OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS)
+
LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) -Dinline= -D__extension__= -Dalloca=alloca
LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
@@ -2219,7 +2223,7 @@ auto/if_perl.c: if_perl.xs
$(PERLLIB)/ExtUtils/typemap if_perl.xs >> $@
auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
- CC="$(CC) $(ALL_CFLAGS)" srcdir=$(srcdir) sh $(srcdir)/osdef.sh
+ CC="$(CC) $(OSDEF_CFLAGS)" srcdir=$(srcdir) sh $(srcdir)/osdef.sh
QUOTESED = sed -e 's/"/\\"/g' -e 's/\\"/"/' -e 's/\\";$$/";/'
auto/pathdef.c: Makefile auto/config.mk
diff --git a/src/auto/configure b/src/auto/configure
index ae30634c5..ad86242d9 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -2783,7 +2783,7 @@ fi
if test "$GCC" = yes; then
gccversion=`"$CC" --version | sed -e '2,$d;s/^[^0-9]*\(darwin.[^0-9]*\)*\([0-9]\.[0-9.]*\).*$/\2/g'`
if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
- echo 'GCC 34.0.12 has a bug in the optimizer, disabling "-O#"'
+ echo 'GCC [34].0.[12] has a bug in the optimizer, disabling "-O#"'
CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-O/'`
else
if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
@@ -2874,17 +2874,17 @@ if test "${with_mac_arch+set}" = set; then
MACARCH="$withval"; echo "$as_me:$LINENO: result: $MACARCH" >&5
echo "${ECHO_T}$MACARCH" >&6
else
- MACARCH="both"; echo "$as_me:$LINENO: result: Defaulting to $MACARCH" >&5
-echo "${ECHO_T}Defaulting to $MACARCH" >&6
+ MACARCH="both"; echo "$as_me:$LINENO: result: defaulting to $MACARCH" >&5
+echo "${ECHO_T}defaulting to $MACARCH" >&6
fi;
if test "x$MACARCH" = "xboth"; then
- echo "$as_me:$LINENO: checking if both architectures are supported" >&5
-echo $ECHO_N "checking if both architectures are supported... $ECHO_C" >&6
- save_cppflags="$CPPFLAGS"
+ echo "$as_me:$LINENO: checking for 10.4 universal SDK" >&5
+echo $ECHO_N "checking for 10.4 universal SDK... $ECHO_C" >&6
+ save_cppflags="$CPPFLAGS"
+ save_cflags="$CFLAGS"
save_ldflags="$LDFLAGS"
- CPPFLAGS="$CPPFLAGS -arch i386 -arch ppc"
- LDFLAGS="$LDFLAGS -arch i386 -arch ppc"
+ CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -2922,19 +2922,20 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+ echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- echo "$as_me:$LINENO: checking if Intel architecture is supported" >&5
+echo "$as_me:$LINENO: result: not found" >&5
+echo "${ECHO_T}not found" >&6
+ CFLAGS="save_cflags"
+ echo "$as_me:$LINENO: checking if Intel architecture is supported" >&5
echo $ECHO_N "checking if Intel architecture is supported... $ECHO_C" >&6
- CPPFLAGS="$save_cppflags -arch i386"
- LDFLAGS="$save_ldflags -arch i386"
- cat >conftest.$ac_ext <<_ACEOF
+ CPPFLAGS="$CPPFLAGS -arch i386"
+ LDFLAGS="$save_ldflags -arch i386"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -2978,36 +2979,34 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; MACARCH="ppc"
+echo "${ECHO_T}no" >&6
+ MACARCH="ppc"
+ CPPFLAGS="$save_cppflags -arch ppc"
+ LDFLAGS="$save_ldflags -arch ppc"
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- CPPFLAGS="$save_cppflags"
- LDFLAGS="$save_ldflags"
- fi
-
- case "$MACARCH" in
- intel) MAC_OSX_ARCH="-arch i386";;
- both) MAC_OSX_ARCH="-arch i386 -arch ppc";;
- ppc) MAC_OSX_ARCH="-arch ppc";;
- *) MAC_OSX_ARCH="";;
- esac
-
- if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then
- CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-O/'`
+ elif test "x$MACARCH" = "xintel"; then
+ CPPFLAGS="$CPPFLAGS -arch intel"
+ LDFLAGS="$LDFLAGS -arch intel"
+ else
+ CPPFLAGS="$CPPFLAGS -arch ppc"
+ LDFLAGS="$LDFLAGS -arch ppc"
fi
- CPPFLAGS="$CPPFLAGS $MAC_OSX_ARCH"
- LDFLAGS="$LDFLAGS $MAC_OSX_ARCH"
-
if test "$enable_darwin" = "yes"; then
MACOSX=yes
OS_EXTRA_SCR="os_macosx.c os_mac_conv.c";
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
- CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -I/Developer/Headers/FlatCarbon -no-cpp-precomp"
+ CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+ if test "x$MACARCH" = "xboth"; then
+ CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
+ else
+ CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon"
+ fi
echo "$as_me:$LINENO: checking for ANSI C header files" >&5
echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
@@ -3396,6 +3395,13 @@ fi
fi
fi
+ if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then
+ CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-Oz/'`
+ fi
+
+ CPPFLAGS="$CPPFLAGS $MAC_OSX_ARCH"
+ LDFLAGS="$LDFLAGS $MAC_OSX_ARCH"
+
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
@@ -15222,6 +15228,9 @@ echo "${ECHO_T}yes" >&6
echo "${ECHO_T}no" >&6
fi
fi
+if test "x$MACARCH" = "xboth"; then
+ LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+fi
echo "$as_me:$LINENO: checking for GCC 3 or later" >&5
echo $ECHO_N "checking for GCC 3 or later... $ECHO_C" >&6
diff --git a/src/configure.in b/src/configure.in
index 574e2df9e..60609ec8f 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -32,7 +32,7 @@ if test "$GCC" = yes; then
gccversion=`"$CC" --version | sed -e '2,$d;s/^[[^0-9]]*\(darwin.[[^0-9]]*\)*\([[0-9]]\.[[0-9.]]*\).*$/\2/g'`
dnl version 4.0.1 was reported to cause trouble on Macintosh by Marcin Dalecki
if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
- echo 'GCC [34].0.[12] has a bug in the optimizer, disabling "-O#"'
+ echo 'GCC [[34]].0.[[12]] has a bug in the optimizer, disabling "-O#"'
CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-O/'`
else
if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
@@ -105,48 +105,53 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
AC_MSG_CHECKING(--with-mac-arch argument)
AC_ARG_WITH(mac-arch, [ --with-mac-arch=ARCH intel, ppc or both],
MACARCH="$withval"; AC_MSG_RESULT($MACARCH),
- MACARCH="both"; AC_MSG_RESULT(Defaulting to $MACARCH))
+ MACARCH="both"; AC_MSG_RESULT(defaulting to $MACARCH))
if test "x$MACARCH" = "xboth"; then
- AC_MSG_CHECKING(if both architectures are supported)
+ AC_MSG_CHECKING(for 10.4 universal SDK)
+ dnl There is a terrible inconsistency (but we appear to get away with it):
+ dnl $CFLAGS uses the 10.4u SDK library for the headers, while $CPPFLAGS
+ dnl doesn't, because "gcc -E" doesn't grok it. That means the configure
+ dnl tests using the preprocessor are actually done with the wrong header
+ dnl files. $LDFLAGS is set at the end, because configure uses it together
+ dnl with $CFLAGS and we can only have one -sysroot argument.
save_cppflags="$CPPFLAGS"
+ save_cflags="$CFLAGS"
save_ldflags="$LDFLAGS"
- CPPFLAGS="$CPPFLAGS -arch i386 -arch ppc"
- LDFLAGS="$LDFLAGS -arch i386 -arch ppc"
+ CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
AC_TRY_LINK([ ], [ ],
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no)
- AC_MSG_CHECKING(if Intel architecture is supported)
- CPPFLAGS="$save_cppflags -arch i386"
- LDFLAGS="$save_ldflags -arch i386"
- AC_TRY_LINK([ ], [ ],
- AC_MSG_RESULT(yes); MACARCH="intel",
- AC_MSG_RESULT(no); MACARCH="ppc"))
- CPPFLAGS="$save_cppflags"
- LDFLAGS="$save_ldflags"
- fi
+ AC_MSG_RESULT(found, will make universal binary),
- case "$MACARCH" in
- intel) MAC_OSX_ARCH="-arch i386";;
- both) MAC_OSX_ARCH="-arch i386 -arch ppc";;
- ppc) MAC_OSX_ARCH="-arch ppc";;
- *) MAC_OSX_ARCH="";;
- esac
-
- dnl avoid a bug with -O2 for intel
- if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then
- CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-O/'`
+ AC_MSG_RESULT(not found)
+ CFLAGS="save_cflags"
+ AC_MSG_CHECKING(if Intel architecture is supported)
+ CPPFLAGS="$CPPFLAGS -arch i386"
+ LDFLAGS="$save_ldflags -arch i386"
+ AC_TRY_LINK([ ], [ ],
+ AC_MSG_RESULT(yes); MACARCH="intel",
+ AC_MSG_RESULT(no, using PowerPC)
+ MACARCH="ppc"
+ CPPFLAGS="$save_cppflags -arch ppc"
+ LDFLAGS="$save_ldflags -arch ppc"))
+ elif test "x$MACARCH" = "xintel"; then
+ CPPFLAGS="$CPPFLAGS -arch intel"
+ LDFLAGS="$LDFLAGS -arch intel"
+ else
+ CPPFLAGS="$CPPFLAGS -arch ppc"
+ LDFLAGS="$LDFLAGS -arch ppc"
fi
- CPPFLAGS="$CPPFLAGS $MAC_OSX_ARCH"
- LDFLAGS="$LDFLAGS $MAC_OSX_ARCH"
-
if test "$enable_darwin" = "yes"; then
MACOSX=yes
OS_EXTRA_SCR="os_macosx.c os_mac_conv.c";
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
dnl TODO: use -arch i386 on Intel machines
- CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -I/Developer/Headers/FlatCarbon -no-cpp-precomp"
+ CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+ if test "x$MACARCH" = "xboth"; then
+ CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
+ else
+ CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon"
+ fi
dnl If Carbon is found, assume we don't want X11
dnl unless it was specifically asked for (--with-x)
@@ -159,6 +164,14 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
fi
fi
+ dnl avoid a bug with -O2 for intel
+ if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then
+ CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-Oz/'`
+ fi
+
+ CPPFLAGS="$CPPFLAGS $MAC_OSX_ARCH"
+ LDFLAGS="$LDFLAGS $MAC_OSX_ARCH"
+
else
AC_MSG_RESULT(no)
fi
@@ -2794,6 +2807,9 @@ if test "x$MACOSX" = "xyes" && test "x$CARBON" = "xyes" \
AC_MSG_RESULT(no)
fi
fi
+if test "x$MACARCH" = "xboth"; then
+ LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+fi
dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to
dnl use "-isystem" instead of "-I" for all non-Vim include dirs.
diff --git a/src/edit.c b/src/edit.c
index 25a10be2a..dcf19b5bf 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -3253,14 +3253,13 @@ expand_by_function(type, base)
/* Go through the List with matches and add each of them. */
for (li = matchlist->lv_first; li != NULL; li = li->li_next)
{
+ icase = p_ic;
if (li->li_tv.v_type == VAR_DICT && li->li_tv.vval.v_dict != NULL)
{
p = get_dict_string(li->li_tv.vval.v_dict, (char_u *)"word", FALSE);
x = get_dict_string(li->li_tv.vval.v_dict, (char_u *)"menu", FALSE);
if (get_dict_string(li->li_tv.vval.v_dict, (char_u *)"icase",
- FALSE) == NULL)
- icase = p_ic;
- else
+ FALSE) != NULL)
icase = get_dict_number(li->li_tv.vval.v_dict,
(char_u *)"icase");
}
diff --git a/src/eval.c b/src/eval.c
index ee5f0c9e7..d1e2b19e9 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -15612,7 +15612,7 @@ var2fpos(varp, lnum)
pos.col = get_tv_number(&li->li_tv);
len = (long)STRLEN(ml_get(pos.lnum));
if (pos.col <= 0 || ((len == 0 && pos.col > 1)
- || (len > 0 && pos.col > len)))
+ || (len > 0 && (int)pos.col > len)))
return NULL; /* invalid column number */
pos.col--;
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 393f71494..9dcf0d55f 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -941,6 +941,8 @@ EX(CMD_tunmenu, "tunmenu", ex_menu,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
EX(CMD_undo, "undo", ex_undo,
TRLBAR|CMDWIN),
+EX(CMD_undojoin, "undojoin", ex_undojoin,
+ TRLBAR|CMDWIN),
EX(CMD_unabbreviate, "unabbreviate", ex_abbreviate,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
EX(CMD_unhide, "unhide", ex_buffer_all,
diff --git a/src/proto/os_win32.pro b/src/proto/os_win32.pro
index 185c8ad62..179dd5ef4 100644
--- a/src/proto/os_win32.pro
+++ b/src/proto/os_win32.pro
@@ -19,6 +19,7 @@ long mch_getperm __ARGS((char_u *name));
int mch_setperm __ARGS((char_u *name, long perm));
void mch_hide __ARGS((char_u *name));
int mch_isdir __ARGS((char_u *name));
+int mch_is_linked __ARGS((char_u *fname));
int mch_writable __ARGS((char_u *name));
int mch_can_exe __ARGS((char_u *name));
int mch_nodetype __ARGS((char_u *name));
diff --git a/src/syntax.c b/src/syntax.c
index 5a50b590f..a96dc7701 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6128,7 +6128,7 @@ static char *(highlight_init_dark[]) =
"SpellRare term=reverse ctermbg=Magenta guisp=Magenta gui=undercurl",
"SpellLocal term=underline ctermbg=Cyan guisp=Cyan gui=undercurl",
"Pmenu ctermbg=Magenta guibg=Magenta",
- "PmenuSel ctermbg=Grey guibg=Grey",
+ "PmenuSel ctermbg=DarkGrey guibg=DarkGrey",
"Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta",
"WarningMsg term=standout ctermfg=LightRed guifg=Red",
"WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black",
diff --git a/src/testdir/test49.vim b/src/testdir/test49.vim
index 092c0c809..19ef949ac 100644
--- a/src/testdir/test49.vim
+++ b/src/testdir/test49.vim
@@ -1,6 +1,6 @@
" Vim script language tests
" Author: Servatius Brandt <Servatius.Brandt@fujitsu-siemens.com>
-" Last Change: 2005 Jun 18
+" Last Change: 2006 Feb 28
"-------------------------------------------------------------------------------
" Test environment {{{1
@@ -382,11 +382,6 @@ function! ExtraVim(...)
let func_start = line(".")
let func_name = substitute(theline,
\ '^\s*fu\%[nction]!\=\s*\(\%(\u\|s:\)\w*\).*', '\1', "")
- let func_conts = 0
- elseif theline =~ '^\s*\\'
- if in_func
- let func_conts = func_conts + 1
- endif
elseif theline =~ '^\s*endf'
" End of function definition.
let in_func = 0
@@ -411,7 +406,7 @@ function! ExtraVim(...)
" Add the function breakpoint and note the number of quits
" to be used, if specified, or one for every call else.
let breakpoints = breakpoints . " -c 'breakadd func " .
- \ (line(".") - func_start - func_conts) . " " .
+ \ (line(".") - func_start) . " " .
\ func_name . "'"
if quits != ""
let debug_quits = debug_quits . quits
diff --git a/src/undo.c b/src/undo.c
index 1ead1561f..0c7cbd751 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -845,6 +845,28 @@ u_sync()
}
/*
+ * ":undojoin": continue adding to the last entry list
+ */
+/*ARGSUSED*/
+ void
+ex_undojoin(eap)
+ exarg_T *eap;
+{
+ if (!curbuf->b_u_synced)
+ return; /* already unsynced */
+ if (curbuf->b_u_newhead == NULL)
+ return; /* nothing changed before */
+ if (p_ul < 0)
+ return; /* no entries, nothing to do */
+ else
+ {
+ /* Go back to the last entry */
+ curbuf->b_u_curhead = curbuf->b_u_newhead;
+ curbuf->b_u_synced = FALSE; /* no entries, nothing to do */
+ }
+}
+
+/*
* Called after writing the file and setting b_changed to FALSE.
* Now an undo means that the buffer is modified.
*/
diff --git a/src/version.h b/src/version.h
index 0869768c3..33aedab5b 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 (2006 Feb 27)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 27, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 28)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 28, compiled "