diff options
-rw-r--r-- | runtime/doc/eval.txt | 8 | ||||
-rw-r--r-- | runtime/doc/options.txt | 4 | ||||
-rw-r--r-- | runtime/doc/tags | 4 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 17 | ||||
-rw-r--r-- | runtime/doc/undo.txt | 36 | ||||
-rw-r--r-- | runtime/doc/usr_31.txt | 4 | ||||
-rw-r--r-- | runtime/doc/version7.txt | 20 | ||||
-rw-r--r-- | src/Makefile | 6 | ||||
-rwxr-xr-x | src/auto/configure | 77 | ||||
-rw-r--r-- | src/configure.in | 76 | ||||
-rw-r--r-- | src/edit.c | 5 | ||||
-rw-r--r-- | src/eval.c | 2 | ||||
-rw-r--r-- | src/ex_cmds.h | 2 | ||||
-rw-r--r-- | src/proto/os_win32.pro | 1 | ||||
-rw-r--r-- | src/syntax.c | 2 | ||||
-rw-r--r-- | src/testdir/test49.vim | 9 | ||||
-rw-r--r-- | src/undo.c | 22 | ||||
-rw-r--r-- | src/version.h | 4 |
18 files changed, 193 insertions, 106 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index a1c751d08e..f628f225a8 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 b17fba95e2..72ab3e3d9a 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 3da16a4f3c..59f240781e 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 efee16c9f3..d897984423 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 433fc759a0..bdb7ffbf35 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 a836b0442b..d7f2138cf1 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 065cfaa926..324c85f0d1 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 66185ce02c..9345d1028b 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 ae30634c5d..ad86242d9c 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 574e2df9e2..60609ec8fe 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 25a10be2a9..dcf19b5bf6 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 ee5f0c9e79..d1e2b19e98 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 393f714944..9dcf0d55f6 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 185c8ad623..179dd5ef4b 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 5a50b590fc..a96dc77015 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 092c0c8098..19ef949ac2 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 1ead1561f7..0c7cbd7512 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 0869768c3a..33aedab5ba 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 " |