Changeset badccbe


Ignore:
Timestamp:
Sep 12, 2009, 3:49:51 PM (15 years ago)
Author:
jim <jim@…>
Branches:
clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
Children:
18eabd2
Parents:
ae4c185
Message:

Actually put the patch in the Repo

File:
1 moved

Legend:

Unmodified
Added
Removed
  • patches/vim-7.2-branch_update-21.patch

    rae4c185 rbadccbe  
    11Submitted By: Jim Gifford (jim at cross-lfs dot org)
    2 Date: 07-19-2009
     2Date: 09-12-2009
    33Initial Package Version: 7.2
    44Origin: Upstream
    55Upstream Status: Applied
    6 Description: Contains all upstream patches up to 7.2.234
     6Description: Contains all upstream patches up to 7.2.259
    77             The following patches were skipped
    8              007 036 041 049 071 072 074 088 089 093 101 138 150 172 173 191 194 204 205 212 216 219 233
     8             007 036 041 049 071 072 074 088 089 093 101 138 150 172 173 191 194 204 205 212 216 219 233 247 248 249 250
    99
    1010diff -Naur vim72.orig/Filelist vim72/Filelist
    1111--- vim72.orig/Filelist 2008-07-06 11:02:23.000000000 -0700
    12 +++ vim72/Filelist      2009-07-19 15:17:20.000000000 -0700
     12+++ vim72/Filelist      2009-09-12 08:39:38.000000000 -0700
    1313@@ -285,6 +285,7 @@
    1414                src/proto/os_win32.pro \
     
    3131diff -Naur vim72.orig/runtime/doc/cmdline.txt vim72/runtime/doc/cmdline.txt
    3232--- vim72.orig/runtime/doc/cmdline.txt  2008-08-09 07:22:59.000000000 -0700
    33 +++ vim72/runtime/doc/cmdline.txt       2009-07-19 15:19:00.000000000 -0700
     33+++ vim72/runtime/doc/cmdline.txt       2009-09-12 08:41:24.000000000 -0700
    3434@@ -1,4 +1,4 @@
    3535-*cmdline.txt*   For Vim version 7.2.  Last change: 2008 Jul 29
     
    112112diff -Naur vim72.orig/runtime/doc/eval.txt vim72/runtime/doc/eval.txt
    113113--- vim72.orig/runtime/doc/eval.txt     2008-08-09 07:22:59.000000000 -0700
    114 +++ vim72/runtime/doc/eval.txt  2009-07-19 15:15:05.000000000 -0700
     114+++ vim72/runtime/doc/eval.txt  2009-09-12 08:37:22.000000000 -0700
    115115@@ -1,4 +1,4 @@
    116116-*eval.txt*     For Vim version 7.2.  Last change: 2008 Aug 09
     
    248248diff -Naur vim72.orig/runtime/doc/if_cscop.txt vim72/runtime/doc/if_cscop.txt
    249249--- vim72.orig/runtime/doc/if_cscop.txt 2008-08-09 07:22:59.000000000 -0700
    250 +++ vim72/runtime/doc/if_cscop.txt      2009-07-19 15:18:44.000000000 -0700
     250+++ vim72/runtime/doc/if_cscop.txt      2009-09-12 08:41:56.000000000 -0700
    251251@@ -1,4 +1,4 @@
    252252-*if_cscop.txt*  For Vim version 7.2.  Last change: 2005 Mar 29
     
    296296 ==============================================================================
    297297 6. Suggested usage                                     *cscope-suggestions*
     298@@ -475,7 +481,8 @@
     299 any problems, suggestions, patches, et al., you have for the usage of
     300 cscope within Vim to him.
     301                                                        *cscope-win32*
     302-For a cscope version for Win32 see: http://iamphet.nm.ru/cscope/index.html
     303+For a cscope version for Win32 see:
     304+       http://code.google.com/p/cscope-win32/
     305 
     306 Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>.  Contact
     307 him if you have Win32-specific issues.
    298308diff -Naur vim72.orig/runtime/doc/netbeans.txt vim72/runtime/doc/netbeans.txt
    299309--- vim72.orig/runtime/doc/netbeans.txt 2008-08-09 07:22:59.000000000 -0700
    300 +++ vim72/runtime/doc/netbeans.txt      2009-07-19 15:12:02.000000000 -0700
     310+++ vim72/runtime/doc/netbeans.txt      2009-09-12 08:34:15.000000000 -0700
    301311@@ -1,4 +1,4 @@
    302312-*netbeans.txt*  For Vim version 7.2.  Last change: 2008 Jun 28
     
    320330diff -Naur vim72.orig/runtime/doc/options.txt vim72/runtime/doc/options.txt
    321331--- vim72.orig/runtime/doc/options.txt  2008-08-09 07:22:59.000000000 -0700
    322 +++ vim72/runtime/doc/options.txt       2009-07-19 15:17:33.000000000 -0700
     332+++ vim72/runtime/doc/options.txt       2009-09-12 08:39:52.000000000 -0700
    323333@@ -1,4 +1,4 @@
    324334-*options.txt*  For Vim version 7.2.  Last change: 2008 Aug 06
     
    366376diff -Naur vim72.orig/runtime/doc/spell.txt vim72/runtime/doc/spell.txt
    367377--- vim72.orig/runtime/doc/spell.txt    2008-08-09 07:23:00.000000000 -0700
    368 +++ vim72/runtime/doc/spell.txt 2009-07-19 15:11:11.000000000 -0700
     378+++ vim72/runtime/doc/spell.txt 2009-09-12 08:33:24.000000000 -0700
    369379@@ -1,4 +1,4 @@
    370380-*spell.txt*    For Vim version 7.2.  Last change: 2008 Jun 21
     
    496506diff -Naur vim72.orig/runtime/doc/starting.txt vim72/runtime/doc/starting.txt
    497507--- vim72.orig/runtime/doc/starting.txt 2008-08-09 07:23:00.000000000 -0700
    498 +++ vim72/runtime/doc/starting.txt      2009-07-19 15:09:53.000000000 -0700
     508+++ vim72/runtime/doc/starting.txt      2009-09-12 08:32:04.000000000 -0700
    499509@@ -1,4 +1,4 @@
    500510-*starting.txt*  For Vim version 7.2.  Last change: 2008 Jun 21
     
    558568diff -Naur vim72.orig/runtime/doc/usr_21.txt vim72/runtime/doc/usr_21.txt
    559569--- vim72.orig/runtime/doc/usr_21.txt   2008-08-09 07:23:01.000000000 -0700
    560 +++ vim72/runtime/doc/usr_21.txt        2009-07-19 15:09:53.000000000 -0700
     570+++ vim72/runtime/doc/usr_21.txt        2009-09-12 08:32:04.000000000 -0700
    561571@@ -1,4 +1,4 @@
    562572-*usr_21.txt*   For Vim version 7.2.  Last change: 2007 May 01
     
    625635diff -Naur vim72.orig/runtime/doc/various.txt vim72/runtime/doc/various.txt
    626636--- vim72.orig/runtime/doc/various.txt  2008-08-09 07:23:01.000000000 -0700
    627 +++ vim72/runtime/doc/various.txt       2009-07-19 15:18:31.000000000 -0700
     637+++ vim72/runtime/doc/various.txt       2009-09-12 08:40:55.000000000 -0700
    628638@@ -508,6 +508,17 @@
    629639                        messages though.  Use ":silent" in the command itself
     
    646656diff -Naur vim72.orig/runtime/scripts.vim vim72/runtime/scripts.vim
    647657--- vim72.orig/runtime/scripts.vim      2008-08-08 15:27:21.000000000 -0700
    648 +++ vim72/runtime/scripts.vim   2009-07-19 15:08:47.000000000 -0700
     658+++ vim72/runtime/scripts.vim   2009-09-12 08:30:57.000000000 -0700
    649659@@ -234,6 +234,10 @@
    650660   elseif s:line1 =~ '\<DTD\s\+XHTML\s'
     
    660670diff -Naur vim72.orig/src/auto/configure vim72/src/auto/configure
    661671--- vim72.orig/src/auto/configure       2008-07-24 05:40:36.000000000 -0700
    662 +++ vim72/src/auto/configure    2009-07-19 15:16:46.000000000 -0700
     672+++ vim72/src/auto/configure    2009-09-12 08:42:09.000000000 -0700
    663673@@ -1,6 +1,6 @@
    664674 #! /bin/sh
     
    11541164           cat >>confdefs.h <<\_ACEOF
    11551165 #define HAVE_SELINUX 1
    1156 @@ -5891,7 +5898,7 @@
     1166@@ -5745,7 +5752,10 @@
     1167        fi
     1168        rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LDFLAGS"]'`
     1169        if test "X$rubyldflags" != "X"; then
     1170-         LDFLAGS="$rubyldflags $LDFLAGS"
     1171+                                 rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//'`
     1172+         if test "X$rubyldflags" != "X"; then
     1173+           LDFLAGS="$rubyldflags $LDFLAGS"
     1174+         fi
     1175        fi
     1176        RUBY_SRC="if_ruby.c"
     1177        RUBY_OBJ="objects/if_ruby.o"
     1178@@ -5891,7 +5901,7 @@
    11571179 fi
    11581180 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
     
    11631185 #define HAVE_LIBSOCKET 1
    11641186 _ACEOF
    1165 @@ -5966,7 +5973,7 @@
     1187@@ -5966,7 +5976,7 @@
    11661188 fi
    11671189 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
     
    11721194 #define HAVE_LIBNSL 1
    11731195 _ACEOF
    1174 @@ -6203,8 +6210,8 @@
     1196@@ -6203,8 +6213,8 @@
    11751197   have_x=disabled
    11761198 else
     
    11831205     *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then
    11841206   $as_echo_n "(cached) " >&6
    1185 @@ -6242,7 +6249,7 @@
     1207@@ -6242,7 +6252,7 @@
    11861208        *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
    11871209     esac
     
    11921214     esac
    11931215   fi
    1194 @@ -6682,7 +6689,7 @@
     1216@@ -6682,7 +6692,7 @@
    11951217 fi
    11961218 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
     
    12011223 fi
    12021224 
    1203 @@ -6752,7 +6759,7 @@
     1225@@ -6752,7 +6762,7 @@
    12041226 fi
    12051227 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
     
    12101232 fi
    12111233 
    1212 @@ -6924,7 +6931,7 @@
     1234@@ -6924,7 +6934,7 @@
    12131235 fi
    12141236 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
     
    12191241 fi
    12201242 
    1221 @@ -6994,7 +7001,7 @@
     1243@@ -6994,7 +7004,7 @@
    12221244 fi
    12231245 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
     
    12281250 fi
    12291251 
    1230 @@ -7160,7 +7167,7 @@
     1252@@ -7160,7 +7170,7 @@
    12311253 fi
    12321254 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
     
    12371259 fi
    12381260 
    1239 @@ -7319,7 +7326,7 @@
     1261@@ -7319,7 +7329,7 @@
    12401262 fi
    12411263 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
     
    12461268 fi
    12471269 
    1248 @@ -7478,7 +7485,7 @@
     1270@@ -7478,7 +7488,7 @@
    12491271 fi
    12501272 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
     
    12551277 fi
    12561278 
    1257 @@ -7559,7 +7566,7 @@
     1279@@ -7559,7 +7569,7 @@
    12581280 fi
    12591281 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
     
    12641286 fi
    12651287 
    1266 @@ -7727,7 +7734,7 @@
     1288@@ -7727,7 +7737,7 @@
    12671289 fi
    12681290 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5
     
    12731295 fi
    12741296 
    1275 @@ -7797,7 +7804,7 @@
     1297@@ -7797,7 +7807,7 @@
    12761298 fi
    12771299 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceOpenConnection" >&5
     
    12821304 fi
    12831305 
    1284 @@ -7868,7 +7875,7 @@
     1306@@ -7868,7 +7878,7 @@
    12851307 fi
    12861308 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5
     
    12911313 fi
    12921314 
    1293 @@ -7970,6 +7977,82 @@
     1315@@ -7970,6 +7980,82 @@
    12941316 
    12951317     LDFLAGS="$ac_save_LDFLAGS"
     
    13741396 fi
    13751397 
    1376 @@ -9251,7 +9334,7 @@
     1398@@ -9251,7 +9337,7 @@
    13771399 fi
    13781400 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5
     
    13831405 fi
    13841406 
    1385 @@ -9320,7 +9403,7 @@
     1407@@ -9320,7 +9406,7 @@
    13861408 fi
    13871409 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_w_wslen" >&5
     
    13921414 fi
    13931415 
    1394 @@ -9389,7 +9472,7 @@
     1416@@ -9389,7 +9475,7 @@
    13951417 fi
    13961418 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlsym" >&5
     
    14011423 fi
    14021424 
    1403 @@ -9458,7 +9541,7 @@
     1425@@ -9458,7 +9544,7 @@
    14041426 fi
    14051427 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5
     
    14101432 fi
    14111433 
    1412 @@ -9528,7 +9611,7 @@
     1434@@ -9528,7 +9614,7 @@
    14131435 fi
    14141436 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xp_XpEndJob" >&5
     
    14191441 fi
    14201442 
    1421 @@ -9699,8 +9782,9 @@
     1443@@ -9699,8 +9785,9 @@
    14221444 $as_echo "$ac_res" >&6; }
    14231445 
     
    14311453 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    14321454 _ACEOF
    1433 @@ -9852,8 +9936,9 @@
     1455@@ -9852,8 +9939,9 @@
    14341456 $as_echo "$ac_res" >&6; }
    14351457 
     
    14431465 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    14441466 _ACEOF
    1445 @@ -10098,8 +10183,9 @@
     1467@@ -10098,8 +10186,9 @@
    14461468 $as_echo "$ac_res" >&6; }
    14471469 
     
    14551477 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    14561478 _ACEOF
    1457 @@ -10489,7 +10575,7 @@
     1479@@ -10489,7 +10578,7 @@
    14581480 $as_echo "$ac_cv_header_elf_h" >&6; }
    14591481 
     
    14641486 fi
    14651487 
    1466 @@ -10555,7 +10641,7 @@
     1488@@ -10555,7 +10644,7 @@
    14671489 fi
    14681490 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5
     
    14731495 #define HAVE_LIBELF 1
    14741496 _ACEOF
    1475 @@ -10629,8 +10715,9 @@
     1497@@ -10629,8 +10718,9 @@
    14761498                 $as_echo "$as_val"'`
    14771499               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
     
    14851507 #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
    14861508 _ACEOF
    1487 @@ -10916,7 +11003,6 @@
     1509@@ -10916,7 +11006,6 @@
    14881510 
    14891511 
     
    14931515        termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h sys/types.h termio.h \
    14941516        iconv.h langinfo.h math.h unistd.h stropts.h errno.h \
    1495 @@ -10924,7 +11010,7 @@
     1517@@ -10924,7 +11013,7 @@
    14961518        sys/stream.h termios.h libc.h sys/statfs.h \
    14971519        poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
     
    15021524 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
    15031525 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
    1504 @@ -11058,8 +11144,9 @@
     1526@@ -11058,8 +11147,9 @@
    15051527 $as_echo "$ac_res" >&6; }
    15061528 
     
    15141536 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    15151537 _ACEOF
    1516 @@ -11122,8 +11209,74 @@
     1538@@ -11122,8 +11212,74 @@
    15171539                 $as_echo "$as_val"'`
    15181540               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
     
    15911613 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    15921614 _ACEOF
    1593 @@ -11322,8 +11475,9 @@
     1615@@ -11322,8 +11478,9 @@
    15941616 $as_echo "$ac_res" >&6; }
    15951617 
     
    16031625 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    16041626 _ACEOF
    1605 @@ -11565,6 +11719,67 @@
     1627@@ -11565,6 +11722,67 @@
    16061628 
    16071629 fi
     
    16711693 $as_echo_n "checking for mode_t... " >&6; }
    16721694 if test "${ac_cv_type_mode_t+set}" = set; then
    1673 @@ -11659,7 +11874,7 @@
     1695@@ -11659,7 +11877,7 @@
    16741696 fi
    16751697 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5
     
    16801702 else
    16811703 
    1682 @@ -11763,7 +11978,7 @@
     1704@@ -11763,7 +11981,7 @@
    16831705 fi
    16841706 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
     
    16891711 else
    16901712 
    1691 @@ -11867,7 +12082,7 @@
     1713@@ -11867,7 +12085,7 @@
    16921714 fi
    16931715 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
     
    16981720 else
    16991721 
    1700 @@ -11971,7 +12186,7 @@
     1722@@ -11971,7 +12189,7 @@
    17011723 fi
    17021724 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
     
    17071729 else
    17081730 
    1709 @@ -12175,7 +12390,7 @@
     1731@@ -12175,7 +12393,7 @@
    17101732 fi
    17111733 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ino_t" >&5
     
    17161738 else
    17171739 
    1718 @@ -12279,7 +12494,7 @@
     1740@@ -12279,7 +12497,7 @@
    17191741 fi
    17201742 { $as_echo "$as_me:$LINENO: result: $ac_cv_type_dev_t" >&5
     
    17251747 else
    17261748 
    1727 @@ -12569,8 +12784,9 @@
     1749@@ -12569,8 +12787,9 @@
    17281750                 $as_echo "$as_val"'`
    17291751               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
     
    17371759 #define `$as_echo "HAVE_LIB${libname}" | $as_tr_cpp` 1
    17381760 _ACEOF
    1739 @@ -13818,8 +14034,9 @@
     1761@@ -13818,8 +14037,9 @@
    17401762                 $as_echo "$as_val"'`
    17411763               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
     
    17491771 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
    17501772 _ACEOF
    1751 @@ -14202,7 +14419,7 @@
     1773@@ -14202,7 +14422,7 @@
    17521774 fi
    17531775 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_strtod" >&5
     
    17581780 #define HAVE_LIBM 1
    17591781 _ACEOF
    1760 @@ -14362,7 +14579,7 @@
     1782@@ -14362,7 +14582,7 @@
    17611783 fi
    17621784 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix1e_acl_get_file" >&5
     
    17671789 else
    17681790   { $as_echo "$as_me:$LINENO: checking for acl_get_file in -lacl" >&5
    1769 @@ -14430,7 +14647,7 @@
     1791@@ -14430,7 +14650,7 @@
    17701792 fi
    17711793 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_acl_acl_get_file" >&5
     
    17761798                  { $as_echo "$as_me:$LINENO: checking for fgetxattr in -lattr" >&5
    17771799 $as_echo_n "checking for fgetxattr in -lattr... " >&6; }
    1778 @@ -14497,7 +14714,7 @@
     1800@@ -14497,7 +14717,7 @@
    17791801 fi
    17801802 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_attr_fgetxattr" >&5
     
    17851807 fi
    17861808 
    1787 @@ -15226,7 +15443,6 @@
     1809@@ -15226,7 +15446,6 @@
    17881810 
    17891811 
     
    17931815 #include "confdefs.h"
    17941816 #ifdef HAVE_STRING_H
    1795 @@ -15458,7 +15674,7 @@
     1817@@ -15458,7 +15677,7 @@
    17961818 if test "$enable_multibyte" = "yes"; then
    17971819   cflags_save=$CFLAGS
     
    18021824     LDFLAGS="$X_LIBS $LDFLAGS -lX11"
    18031825     { $as_echo "$as_me:$LINENO: checking whether X_LOCALE needed" >&5
    1804 @@ -15635,7 +15851,7 @@
     1826@@ -15635,7 +15854,7 @@
    18051827 fi
    18061828 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5
     
    18111833 fi
    18121834 
    1813 @@ -15646,6 +15862,7 @@
     1835@@ -15646,6 +15865,7 @@
    18141836 if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
    18151837   TAGPRG="ctags -I INIT+ --fields=+S"
     
    18191841   (eval etags -c   /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags -c"
    18201842   (eval ctags     /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="ctags"
    1821 @@ -15933,8 +16150,9 @@
     1843@@ -15933,8 +16153,9 @@
    18221844                 $as_echo "$as_val"'`
    18231845               { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
     
    18311853 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
    18321854 _ACEOF
    1833 @@ -16134,7 +16352,7 @@
     1855@@ -16134,7 +16355,7 @@
    18341856 $as_echo "$ac_cv_header_dlfcn_h" >&6; }
    18351857 
     
    18401862 else
    18411863   if test "${ac_cv_header_dl_h+set}" = set; then
    1842 @@ -16264,7 +16482,7 @@
     1864@@ -16264,7 +16485,7 @@
    18431865 $as_echo "$ac_cv_header_dl_h" >&6; }
    18441866 
     
    18491871 fi
    18501872 
    1851 @@ -16783,8 +17001,9 @@
     1873@@ -16783,8 +17004,9 @@
    18521874 $as_echo "$ac_res" >&6; }
    18531875 
     
    18611883 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    18621884 _ACEOF
    1863 @@ -16819,21 +17038,29 @@
     1885@@ -16819,21 +17041,29 @@
    18641886   LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
    18651887 fi
     
    18891911+$as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; }
    18901912+  if test "$gccmajor" -gt "3"; then
    1891 +    CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1"
     1913+    CFLAGS=`echo "$CFLAGS -D_FORTIFY_SOURCE=1" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g' -e 's/-D_FORTIFY_SOURCE=2//g'`
    18921914+    { $as_echo "$as_me:$LINENO: result: yes" >&5
    18931915 $as_echo "yes" >&6; }
     
    18991921 
    19001922 
    1901 @@ -16866,8 +17093,8 @@
     1923@@ -16866,8 +17096,8 @@
    19021924     case $ac_val in #(
    19031925     *${as_nl}*)
     
    19101932       case $ac_var in #(
    19111933       _ | IFS | as_nl) ;; #(
    1912 @@ -17259,7 +17486,7 @@
     1934@@ -17259,7 +17489,7 @@
    19131935 # values after options handling.
    19141936 ac_log="
     
    19191941   CONFIG_FILES    = $CONFIG_FILES
    19201942   CONFIG_HEADERS  = $CONFIG_HEADERS
    1921 @@ -17272,6 +17499,15 @@
     1943@@ -17272,6 +17502,15 @@
    19221944 
    19231945 _ACEOF
     
    19351957 # Files that config.status was made for.
    19361958 config_files="$ac_config_files"
    1937 @@ -17284,16 +17520,17 @@
     1959@@ -17284,16 +17523,17 @@
    19381960 \`$as_me' instantiates files from templates according to the
    19391961 current configuration.
     
    19571979 
    19581980 Configuration files:
    1959 @@ -17308,7 +17545,7 @@
     1981@@ -17308,7 +17548,7 @@
    19601982 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
    19611983 ac_cs_version="\\
     
    19661988 
    19671989 Copyright (C) 2008 Free Software Foundation, Inc.
    1968 @@ -17505,7 +17742,8 @@
     1990@@ -17505,7 +17745,8 @@
    19691991 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
    19701992    { (exit 1); exit 1; }; }
     
    19761998   elif $ac_last_try; then
    19771999     { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
    1978 @@ -17710,9 +17948,9 @@
     2000@@ -17710,9 +17951,9 @@
    19792001   }
    19802002   split(mac1, mac2, "(") #)
     
    19872009     next
    19882010   } else {
    1989 @@ -17720,7 +17958,7 @@
     2011@@ -17720,7 +17961,7 @@
    19902012     # in the case of _POSIX_SOURCE, which is predefined and required
    19912013     # on some systems where configure will not decide to define it.
     
    19962018     }
    19972019   }
    1998 @@ -17744,8 +17982,8 @@
     2020@@ -17744,8 +17985,8 @@
    19992021   esac
    20002022   case $ac_mode$ac_tag in
     
    20072029   :[FH]-) ac_tag=-:-;;
    20082030   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
    2009 @@ -18063,8 +18301,8 @@
     2031@@ -18063,8 +18304,8 @@
    20102032   $ac_cs_success || { (exit 1); exit 1; }
    20112033 fi
     
    20202042diff -Naur vim72.orig/src/buffer.c vim72/src/buffer.c
    20212043--- vim72.orig/src/buffer.c     2008-08-06 04:00:48.000000000 -0700
    2022 +++ vim72/src/buffer.c  2009-07-19 15:16:33.000000000 -0700
     2044+++ vim72/src/buffer.c  2009-09-12 08:38:51.000000000 -0700
    20232045@@ -44,6 +44,7 @@
    20242046 #ifdef FEAT_TITLE
     
    25472569diff -Naur vim72.orig/src/charset.c vim72/src/charset.c
    25482570--- vim72.orig/src/charset.c    2008-07-24 07:59:44.000000000 -0700
    2549 +++ vim72/src/charset.c 2009-07-19 15:15:54.000000000 -0700
     2571+++ vim72/src/charset.c 2009-09-12 08:42:12.000000000 -0700
    25502572@@ -17,7 +17,7 @@
    25512573 static int win_nolbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp));
     
    25572579 static int    chartab_initialized = FALSE;
    25582580 
    2559 @@ -664,7 +664,7 @@
     2581@@ -174,6 +174,11 @@
     2582            if (VIM_ISDIGIT(*p))
     2583                c = getdigits(&p);
     2584            else
     2585+#ifdef FEAT_MBYTE
     2586+                if (has_mbyte)
     2587+               c = mb_ptr2char_adv(&p);
     2588+           else
     2589+#endif
     2590                c = *p++;
     2591            c2 = -1;
     2592            if (*p == '-' && p[1] != NUL)
     2593@@ -664,7 +669,7 @@
    25602594     }
    25612595 #endif
     
    25662600     buf[++i] = NUL;
    25672601 }
    2568 @@ -674,9 +674,9 @@
     2602@@ -674,9 +679,9 @@
    25692603  * Lower case letters are used to avoid the confusion of <F1> being 0xf1 or
    25702604  * function key 1.
     
    25782612     if ((c & 0xf) <= 9)
    25792613        return (c & 0xf) + '0';
    2580 @@ -884,7 +884,7 @@
     2614@@ -884,7 +889,7 @@
    25812615     if (c >= 0x100)
    25822616     {
     
    25872621            return utf_class(c) >= 2;
    25882622     }
    2589 @@ -1090,7 +1090,7 @@
     2623@@ -1090,7 +1095,7 @@
    25902624         */
    25912625        numberextra = win_col_off(wp);
     
    25962630        {
    25972631            n = colmax + win_col_off2(wp);
    2598 @@ -1201,17 +1201,17 @@
     2632@@ -1201,17 +1206,17 @@
    25992633     win_T      *wp;
    26002634     colnr_T    vcol;
     
    26182652     width2 = width1 + win_col_off2(wp);
    26192653     return ((vcol - width1) % width2 == width2 - 1);
    2620 @@ -1396,13 +1396,13 @@
     2654@@ -1396,13 +1401,13 @@
    26212655 # ifdef FEAT_MBYTE
    26222656        /* Cannot put the cursor on part of a wide character. */
     
    26362670diff -Naur vim72.orig/src/config.h.in vim72/src/config.h.in
    26372671--- vim72.orig/src/config.h.in  2008-06-21 08:01:41.000000000 -0700
    2638 +++ vim72/src/config.h.in       2009-07-19 15:16:46.000000000 -0700
     2672+++ vim72/src/config.h.in       2009-09-12 08:39:05.000000000 -0700
    26392673@@ -36,6 +36,9 @@
    26402674 /* Defined to the size of an int */
     
    26592693diff -Naur vim72.orig/src/configure.in vim72/src/configure.in
    26602694--- vim72.orig/src/configure.in 2008-07-24 05:40:26.000000000 -0700
    2661 +++ vim72/src/configure.in      2009-07-19 15:16:46.000000000 -0700
    2662 @@ -1193,6 +1193,28 @@
     2695+++ vim72/src/configure.in      2009-09-12 08:42:09.000000000 -0700
     2696@@ -957,7 +957,13 @@
     2697        fi
     2698        rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'`
     2699        if test "X$rubyldflags" != "X"; then
     2700-         LDFLAGS="$rubyldflags $LDFLAGS"
     2701+         dnl Ruby on Mac OS X 10.5 adds "-arch" flags but these should only
     2702+         dnl be included if requested by passing --with-mac-arch to
     2703+         dnl configure, so strip these flags first (if present)
     2704+         rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//'`
     2705+         if test "X$rubyldflags" != "X"; then
     2706+           LDFLAGS="$rubyldflags $LDFLAGS"
     2707+         fi
     2708        fi
     2709        RUBY_SRC="if_ruby.c"
     2710        RUBY_OBJ="objects/if_ruby.o"
     2711@@ -1193,6 +1199,28 @@
    26632712 
    26642713     LDFLAGS="$ac_save_LDFLAGS"
     
    26892738 fi
    26902739 
    2691 @@ -2095,7 +2117,7 @@
     2740@@ -2095,7 +2123,7 @@
    26922741        sys/stream.h termios.h libc.h sys/statfs.h \
    26932742        poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
     
    26982747 dnl sys/ptem.h depends on sys/stream.h on Solaris
    26992748 AC_CHECK_HEADERS(sys/ptem.h, [], [],
    2700 @@ -2103,6 +2125,12 @@
     2749@@ -2103,6 +2131,12 @@
    27012750 #  include <sys/stream.h>
    27022751 #endif])
     
    27112760 dnl pthread_np.h may exist but can only be used after including pthread.h
    27122761 AC_MSG_CHECKING([for pthread_np.h])
    2713 @@ -2148,6 +2176,7 @@
     2762@@ -2148,6 +2182,7 @@
    27142763 dnl Checks for typedefs, structures, and compiler characteristics.
    27152764 AC_PROG_GCC_TRADITIONAL
     
    27192768 AC_TYPE_OFF_T
    27202769 AC_TYPE_PID_T
    2721 @@ -2869,7 +2898,6 @@
     2770@@ -2869,7 +2904,6 @@
    27222771 AC_MSG_RESULT($ac_cv_sizeof_int)
    27232772 AC_DEFINE_UNQUOTED(SIZEOF_INT, $ac_cv_sizeof_int)
     
    27272776 dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5.
    27282777 
    2729 @@ -2951,7 +2979,7 @@
     2778@@ -2951,7 +2985,7 @@
    27302779 if test "$enable_multibyte" = "yes"; then
    27312780   cflags_save=$CFLAGS
     
    27362785     LDFLAGS="$X_LIBS $LDFLAGS -lX11"
    27372786     AC_MSG_CHECKING(whether X_LOCALE needed)
    2738 @@ -2967,7 +2995,7 @@
     2787@@ -2967,7 +3001,7 @@
    27392788 dnl Link with xpg4, it is said to make Korean locale working
    27402789 AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,)
     
    27452794 dnl       Add --fields=+S to get function signatures for omni completion.
    27462795 dnl -t for typedefs (many ctags have this)
    2747 @@ -2979,6 +3007,7 @@
     2796@@ -2979,6 +3013,7 @@
    27482797 if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
    27492798   TAGPRG="ctags -I INIT+ --fields=+S"
     
    27532802   (eval etags -c   /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags -c"
    27542803   (eval ctags     /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags"
    2755 @@ -3152,18 +3181,25 @@
     2804@@ -3152,18 +3187,25 @@
    27562805 dnl But only when making dependencies, cproto and lint don't take "-isystem".
    27572806 dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow
     
    27722821+  AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1)
    27732822+  if test "$gccmajor" -gt "3"; then
    2774 +    CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1"
     2823+    CFLAGS=`echo "$CFLAGS -D_FORTIFY_SOURCE=1" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g' -e 's/-D_FORTIFY_SOURCE=2//g'`
    27752824+    AC_MSG_RESULT(yes)
    27762825+  else
     
    27872836diff -Naur vim72.orig/src/diff.c vim72/src/diff.c
    27882837--- vim72.orig/src/diff.c       2008-03-05 03:16:56.000000000 -0800
    2789 +++ vim72/src/diff.c    2009-07-19 15:16:00.000000000 -0700
     2838+++ vim72/src/diff.c    2009-09-12 08:41:38.000000000 -0700
    27902839@@ -8,7 +8,7 @@
    27912840  */
     
    29262975     char_u     *newname = NULL;        /* name of patched file buffer */
    29272976 #ifdef UNIX
    2928 @@ -905,16 +923,17 @@
     2977@@ -876,6 +894,7 @@
     2978     char_u     *browseFile = NULL;
     2979     int                browse_flag = cmdmod.browse;
     2980 #endif
     2981+    struct stat st;
     2982 
     2983 #ifdef FEAT_BROWSE
     2984     if (cmdmod.browse)
     2985@@ -905,16 +924,17 @@
    29292986     /* Get the absolute path of the patchfile, changing directory below. */
    29302987     fullname = FullName_save(eap->arg, FALSE);
     
    29473004      * have our own temp dir use that instead, it will be cleaned up when we
    29483005      * exit (any .rej files created).  Don't change directory if we can't
    2949 @@ -925,10 +944,10 @@
     3006@@ -925,10 +945,10 @@
    29503007     {
    29513008 # ifdef TEMPDIRNAMES
     
    29603017     }
    29613018 #endif
    2962 @@ -946,7 +965,8 @@
     3019@@ -946,7 +966,8 @@
    29633020     {
    29643021        /* Build the patch command and execute it.  Ignore errors.  Switch to
     
    29703027                fullname != NULL ? fullname :
    29713028 # endif
    2972 @@ -1138,7 +1158,7 @@
     3029@@ -980,44 +1001,51 @@
     3030     STRCAT(buf, ".rej");
     3031     mch_remove(buf);
     3032 
     3033-    if (curbuf->b_fname != NULL)
     3034+    /* Only continue if the output file was created. */
     3035+    if (mch_stat((char *)tmp_new, &st) < 0 || st.st_size == 0)
     3036+       EMSG(_("E816: Cannot read patch output"));
     3037+    else
     3038     {
     3039-       newname = vim_strnsave(curbuf->b_fname,
     3040+       if (curbuf->b_fname != NULL)
     3041+       {
     3042+           newname = vim_strnsave(curbuf->b_fname,
     3043                                          (int)(STRLEN(curbuf->b_fname) + 4));
     3044-       if (newname != NULL)
     3045-           STRCAT(newname, ".new");
     3046-    }
     3047+           if (newname != NULL)
     3048+               STRCAT(newname, ".new");
     3049+       }
     3050 
     3051 #ifdef FEAT_GUI
     3052-    need_mouse_correct = TRUE;
     3053+       need_mouse_correct = TRUE;
     3054 #endif
     3055-    /* don't use a new tab page, each tab page has its own diffs */
     3056-    cmdmod.tab = 0;
     3057+       /* don't use a new tab page, each tab page has its own diffs */
     3058+       cmdmod.tab = 0;
     3059 
     3060-    if (win_split(0, (diff_flags & DIFF_VERTICAL) ? WSP_VERT : 0) != FAIL)
     3061-    {
     3062-       /* Pretend it was a ":split fname" command */
     3063-       eap->cmdidx = CMD_split;
     3064-       eap->arg = tmp_new;
     3065-       do_exedit(eap, old_curwin);
     3066-
     3067-       if (curwin != old_curwin)               /* split must have worked */
     3068+       if (win_split(0, (diff_flags & DIFF_VERTICAL) ? WSP_VERT : 0) != FAIL)
     3069        {
     3070-           /* Set 'diff', 'scrollbind' on and 'wrap' off. */
     3071-           diff_win_options(curwin, TRUE);
     3072-           diff_win_options(old_curwin, TRUE);
     3073+           /* Pretend it was a ":split fname" command */
     3074+           eap->cmdidx = CMD_split;
     3075+           eap->arg = tmp_new;
     3076+           do_exedit(eap, old_curwin);
     3077 
     3078-           if (newname != NULL)
     3079+           /* check that split worked and editing tmp_new */
     3080+           if (curwin != old_curwin && win_valid(old_curwin))
     3081            {
     3082-               /* do a ":file filename.new" on the patched buffer */
     3083-               eap->arg = newname;
     3084-               ex_file(eap);
     3085+               /* Set 'diff', 'scrollbind' on and 'wrap' off. */
     3086+               diff_win_options(curwin, TRUE);
     3087+               diff_win_options(old_curwin, TRUE);
     3088+
     3089+               if (newname != NULL)
     3090+               {
     3091+                   /* do a ":file filename.new" on the patched buffer */
     3092+                   eap->arg = newname;
     3093+                   ex_file(eap);
     3094 
     3095 #ifdef FEAT_AUTOCMD
     3096-               /* Do filetype detection with the new name. */
     3097-               if (au_has_group((char_u *)"filetypedetect"))
     3098-                   do_cmdline_cmd((char_u *)":doau filetypedetect BufRead");
     3099+                   /* Do filetype detection with the new name. */
     3100+                   if (au_has_group((char_u *)"filetypedetect"))
     3101+                       do_cmdline_cmd((char_u *)":doau filetypedetect BufRead");
     3102 #endif
     3103+               }
     3104            }
     3105        }
     3106     }
     3107@@ -1138,7 +1166,7 @@
    29733108 
    29743109     for (wp = firstwin; wp != NULL; wp = wp->w_next)
     
    29793114            /* Set 'diff', 'scrollbind' off and 'wrap' on. */
    29803115            wp->w_p_diff = FALSE;
    2981 @@ -2114,6 +2134,8 @@
     3116@@ -2114,6 +2142,8 @@
    29823117            EMSG2(_("E102: Can't find buffer \"%s\""), eap->arg);
    29833118            return;
     
    29903125diff -Naur vim72.orig/src/digraph.c vim72/src/digraph.c
    29913126--- vim72.orig/src/digraph.c    2008-06-23 14:12:51.000000000 -0700
    2992 +++ vim72/src/digraph.c 2009-07-19 15:15:54.000000000 -0700
     3127+++ vim72/src/digraph.c 2009-09-12 08:38:11.000000000 -0700
    29933128@@ -32,7 +32,7 @@
    29943129 static void printdigraph __ARGS((digr_T *));
     
    30623197diff -Naur vim72.orig/src/edit.c vim72/src/edit.c
    30633198--- vim72.orig/src/edit.c       2008-08-06 05:51:17.000000000 -0700
    3064 +++ vim72/src/edit.c    2009-07-19 15:18:33.000000000 -0700
     3199+++ vim72/src/edit.c    2009-09-12 08:40:57.000000000 -0700
    30653200@@ -57,7 +57,7 @@
    30663201     N_(" Keyword Local completion (^N^P)"),
     
    37343869diff -Naur vim72.orig/src/eval.c vim72/src/eval.c
    37353870--- vim72.orig/src/eval.c       2008-08-07 12:37:22.000000000 -0700
    3736 +++ vim72/src/eval.c    2009-07-19 15:17:12.000000000 -0700
     3871+++ vim72/src/eval.c    2009-09-12 08:39:30.000000000 -0700
    37373872@@ -32,6 +32,9 @@
    37383873 
     
    61716306diff -Naur vim72.orig/src/ex_cmds2.c vim72/src/ex_cmds2.c
    61726307--- vim72.orig/src/ex_cmds2.c   2008-07-13 09:18:22.000000000 -0700
    6173 +++ vim72/src/ex_cmds2.c        2009-07-19 15:16:28.000000000 -0700
     6308+++ vim72/src/ex_cmds2.c        2009-09-12 08:38:46.000000000 -0700
    61746309@@ -28,7 +28,8 @@
    61756310 {
     
    63066441diff -Naur vim72.orig/src/ex_cmds.c vim72/src/ex_cmds.c
    63076442--- vim72.orig/src/ex_cmds.c    2008-08-04 12:15:00.000000000 -0700
    6308 +++ vim72/src/ex_cmds.c 2009-07-19 15:18:39.000000000 -0700
     6443+++ vim72/src/ex_cmds.c 2009-09-12 08:41:03.000000000 -0700
    63096444@@ -24,7 +24,7 @@
    63106445 static void do_filter __ARGS((linenr_T line1, linenr_T line2, exarg_T *eap, char_u *cmd, int do_in, int do_out));
     
    71347269diff -Naur vim72.orig/src/ex_cmds.h vim72/src/ex_cmds.h
    71357270--- vim72.orig/src/ex_cmds.h    2008-06-21 11:47:57.000000000 -0700
    7136 +++ vim72/src/ex_cmds.h 2009-07-19 15:18:31.000000000 -0700
     7271+++ vim72/src/ex_cmds.h 2009-09-12 08:40:55.000000000 -0700
    71377272@@ -278,7 +278,7 @@
    71387273 EX(CMD_crewind,                "crewind",      ex_cc,
     
    71917326diff -Naur vim72.orig/src/ex_docmd.c vim72/src/ex_docmd.c
    71927327--- vim72.orig/src/ex_docmd.c   2008-07-26 04:51:05.000000000 -0700
    7193 +++ vim72/src/ex_docmd.c        2009-07-19 15:18:41.000000000 -0700
     7328+++ vim72/src/ex_docmd.c        2009-09-12 08:41:05.000000000 -0700
    71947329@@ -364,6 +364,7 @@
    71957330 # define ex_function           ex_ni
     
    79808115diff -Naur vim72.orig/src/ex_eval.c vim72/src/ex_eval.c
    79818116--- vim72.orig/src/ex_eval.c    2007-11-24 07:34:09.000000000 -0800
    7982 +++ vim72/src/ex_eval.c 2009-07-19 15:16:23.000000000 -0700
     8117+++ vim72/src/ex_eval.c 2009-09-12 08:38:41.000000000 -0700
    79838118@@ -60,7 +60,9 @@
    79848119 #else
     
    80268161diff -Naur vim72.orig/src/ex_getln.c vim72/src/ex_getln.c
    80278162--- vim72.orig/src/ex_getln.c   2008-08-08 02:31:33.000000000 -0700
    8028 +++ vim72/src/ex_getln.c        2009-07-19 15:18:07.000000000 -0700
     8163+++ vim72/src/ex_getln.c        2009-09-12 08:40:31.000000000 -0700
    80298164@@ -31,6 +31,8 @@
    80308165     int                cmdattr;        /* attributes for prompt */
     
    83368471diff -Naur vim72.orig/src/farsi.c vim72/src/farsi.c
    83378472--- vim72.orig/src/farsi.c      2007-12-31 08:28:10.000000000 -0800
    8338 +++ vim72/src/farsi.c   2009-07-19 15:16:23.000000000 -0700
     8473+++ vim72/src/farsi.c   2009-09-12 08:38:41.000000000 -0700
    83398474@@ -103,7 +103,8 @@
    83408475        case F_HE:
     
    83898524diff -Naur vim72.orig/src/feature.h vim72/src/feature.h
    83908525--- vim72.orig/src/feature.h    2008-08-06 04:00:39.000000000 -0700
    8391 +++ vim72/src/feature.h 2009-07-19 15:09:53.000000000 -0700
     8526+++ vim72/src/feature.h 2009-09-12 08:32:04.000000000 -0700
    83928527@@ -767,9 +767,13 @@
    83938528 
     
    84088543diff -Naur vim72.orig/src/fileio.c vim72/src/fileio.c
    84098544--- vim72.orig/src/fileio.c     2008-08-06 04:01:03.000000000 -0700
    8410 +++ vim72/src/fileio.c  2009-07-19 15:18:23.000000000 -0700
     8545+++ vim72/src/fileio.c  2009-09-12 08:42:30.000000000 -0700
    84118546@@ -69,7 +69,7 @@
    84128547 static int au_find_group __ARGS((char_u *name));
     
    84188553 #endif
    84198554 
    8420 @@ -144,7 +144,9 @@
     8555@@ -121,6 +121,8 @@
     8556     char_u     *bw_conv_buf;   /* buffer for writing converted chars */
     8557     int                bw_conv_buflen; /* size of bw_conv_buf */
     8558     int                bw_conv_error;  /* set for conversion error */
     8559+    linenr_T   bw_conv_error_lnum;  /* first line with error or zero */
     8560+    linenr_T   bw_start_lnum;  /* line number at start of buffer */
     8561 # ifdef USE_ICONV
     8562     iconv_t    bw_iconv_fd;    /* descriptor for iconv() or -1 */
     8563 # endif
     8564@@ -132,7 +134,7 @@
     8565 #ifdef FEAT_MBYTE
     8566 static linenr_T readfile_linenr __ARGS((linenr_T linecnt, char_u *p, char_u *endp));
     8567 static int ucs2bytes __ARGS((unsigned c, char_u **pp, int flags));
     8568-static int same_encoding __ARGS((char_u *a, char_u *b));
     8569+static int need_conversion __ARGS((char_u *fenc));
     8570 static int get_fio_flags __ARGS((char_u *ptr));
     8571 static char_u *check_for_bom __ARGS((char_u *p, long size, int *lenp, int flags));
     8572 static int make_bom __ARGS((char_u *buf, char_u *name));
     8573@@ -144,7 +146,9 @@
    84218574 # endif
    84228575 #endif
     
    84298582     void
    84308583 filemess(buf, name, s, attr)
    8431 @@ -295,6 +297,19 @@
     8584@@ -295,6 +299,19 @@
    84328585     int                conv_restlen = 0;       /* nr of bytes in conv_rest[] */
    84338586 #endif
     
    84498602 
    84508603     /*
    8451 @@ -589,7 +604,21 @@
     8604@@ -589,7 +606,21 @@
    84528605 #ifdef FEAT_QUICKFIX
    84538606                    if (!bt_dontwrite(curbuf))
     
    84718624                        filemess(curbuf, sfname, (char_u *)_("[New File]"), 0);
    84728625                    else
    8473 @@ -668,9 +697,21 @@
     8626@@ -668,9 +699,21 @@
    84748627 #endif
    84758628     {
     
    84948647 #endif
    84958648     }
    8496 @@ -698,7 +739,6 @@
     8649@@ -698,7 +741,6 @@
    84978650     {
    84988651        int     m = msg_scroll;
     
    85028655        /*
    85038656         * The file must be closed again, the autocommands may want to change
    8504 @@ -740,8 +780,13 @@
     8657@@ -740,8 +782,13 @@
    85058658        /*
    85068659         * Don't allow the autocommands to change the current buffer.
     
    85168669        {
    85178670            --no_wait_return;
    8518 @@ -932,7 +977,10 @@
     8671@@ -932,7 +979,10 @@
    85198672     else
    85208673     {
     
    85278680            fileformat = EOL_UNIX;              /* binary: use Unix format */
    85288681        else if (*p_ffs == NUL)
    8529 @@ -2211,7 +2259,7 @@
     8682@@ -993,13 +1043,12 @@
     8683     }
     8684 
     8685     /*
     8686-     * Conversion is required when the encoding of the file is different
     8687-     * from 'encoding' or 'encoding' is UTF-16, UCS-2 or UCS-4 (requires
     8688-     * conversion to UTF-8).
     8689+     * Conversion may be required when the encoding of the file is different
     8690+     * from 'encoding' or 'encoding' is UTF-16, UCS-2 or UCS-4.
     8691      */
     8692     fio_flags = 0;
     8693-    converted = (*fenc != NUL && !same_encoding(p_enc, fenc));
     8694-    if (converted || enc_unicode != 0)
     8695+    converted = need_conversion(fenc);
     8696+    if (converted)
     8697     {
     8698 
     8699        /* "ucs-bom" means we need to check the first bytes of the file
     8700@@ -2211,7 +2260,7 @@
    85308701     {
    85318702        /* Use stderr for stdin, makes shell commands work. */
     
    85368707 #endif
    85378708 
    8538 @@ -2341,11 +2389,6 @@
     8709@@ -2341,11 +2390,6 @@
    85398710                STRCAT(IObuff, _("[CR missing]"));
    85408711                c = TRUE;
     
    85488719            {
    85498720                STRCAT(IObuff, _("[long lines split]"));
    8550 @@ -2711,7 +2754,7 @@
     8721@@ -2711,7 +2755,7 @@
    85518722 {
    85528723     if (!curbuf->b_marks_read && get_viminfo_parameter('\'') > 0
     
    85578728     /* Always set b_marks_read; needed when 'viminfo' is changed to include
    85588729      * the ' parameter after opening a buffer. */
    8559 @@ -3451,12 +3494,12 @@
     8730@@ -2881,6 +2925,7 @@
     8731     linenr_T       lnum;
     8732     long           nchars;
     8733     char_u         *errmsg = NULL;
     8734+    int                    errmsg_allocated = FALSE;
     8735     char_u         *errnum = NULL;
     8736     char_u         *buffer;
     8737     char_u         smallbuf[SMBUFSIZE];
     8738@@ -2944,6 +2989,7 @@
     8739     /* must init bw_conv_buf and bw_iconv_fd before jumping to "fail" */
     8740     write_info.bw_conv_buf = NULL;
     8741     write_info.bw_conv_error = FALSE;
     8742+    write_info.bw_conv_error_lnum = 0;
     8743     write_info.bw_restlen = 0;
     8744 # ifdef USE_ICONV
     8745     write_info.bw_iconv_fd = (iconv_t)-1;
     8746@@ -3451,12 +3497,12 @@
    85608747                {
    85618748 # ifdef UNIX
     
    85728759 # endif
    85738760                    /* Close the file before removing it, on MS-Windows we
    8574 @@ -4367,14 +4410,14 @@
     8761@@ -3922,10 +3968,9 @@
     8762        fenc = buf->b_p_fenc;
     8763 
     8764     /*
     8765-     * The file needs to be converted when 'fileencoding' is set and
     8766-     * 'fileencoding' differs from 'encoding'.
     8767+     * Check if the file needs to be converted.
     8768      */
     8769-    converted = (*fenc != NUL && !same_encoding(p_enc, fenc));
     8770+    converted = need_conversion(fenc);
     8771 
     8772     /*
     8773      * Check if UTF-8 to UCS-2/4 or Latin1 conversion needs to be done.  Or
     8774@@ -4200,6 +4245,7 @@
     8775                nchars += write_info.bw_len;
     8776        }
     8777     }
     8778+    write_info.bw_start_lnum = start;
     8779 #endif
     8780 
     8781     write_info.bw_len = bufsize;
     8782@@ -4235,6 +4281,9 @@
     8783            nchars += bufsize;
     8784            s = buffer;
     8785            len = 0;
     8786+#ifdef FEAT_MBYTE
     8787+           write_info.bw_start_lnum = lnum;
     8788+#endif
     8789        }
     8790        /* write failed or last line has no EOL: stop here */
     8791        if (end == 0
     8792@@ -4367,14 +4416,14 @@
    85758793                || st.st_uid != st_old.st_uid
    85768794                || st.st_gid != st_old.st_gid)
     
    85898807        buf_setino(buf);
    85908808 #endif
    8591 @@ -4782,6 +4825,8 @@
     8809@@ -4431,7 +4480,17 @@
     8810        {
     8811 #ifdef FEAT_MBYTE
     8812            if (write_info.bw_conv_error)
     8813-               errmsg = (char_u *)_("E513: write error, conversion failed (make 'fenc' empty to override)");
     8814+           {
     8815+               if (write_info.bw_conv_error_lnum == 0)
     8816+                   errmsg = (char_u *)_("E513: write error, conversion failed (make 'fenc' empty to override)");
     8817+               else
     8818+               {
     8819+                   errmsg_allocated = TRUE;
     8820+                   errmsg = alloc(300);
     8821+                   vim_snprintf((char *)errmsg, 300, _("E513: write error, conversion failed in line %ld (make 'fenc' empty to override)"),
     8822+                                        (long)write_info.bw_conv_error_lnum);
     8823+               }
     8824+           }
     8825            else
     8826 #endif
     8827                if (got_int)
     8828@@ -4507,6 +4566,12 @@
     8829        {
     8830            STRCAT(IObuff, _(" CONVERSION ERROR"));
     8831            c = TRUE;
     8832+           if (write_info.bw_conv_error_lnum != 0)
     8833+           {
     8834+               size_t l = STRLEN(IObuff);
     8835+               vim_snprintf((char *)IObuff + l, IOSIZE - l, _(" in line %ld;"),
     8836+                       (long)write_info.bw_conv_error_lnum);
     8837+           }
     8838        }
     8839        else if (notconverted)
     8840        {
     8841@@ -4703,6 +4768,8 @@
     8842        }
     8843        STRCAT(IObuff, errmsg);
     8844        emsg(IObuff);
     8845+       if (errmsg_allocated)
     8846+           vim_free(errmsg);
     8847 
     8848        retval = FAIL;
     8849        if (end == 0)
     8850@@ -4782,6 +4849,8 @@
    85928851     char_u     *sfname;
    85938852 {
     
    85988857     if (curbuf->b_p_bl)
    85998858        apply_autocmds(EVENT_BUFDELETE, NULL, NULL, FALSE, curbuf);
    8600 @@ -4790,6 +4835,12 @@
     8859@@ -4790,6 +4859,12 @@
    86018860     if (aborting())        /* autocmds may abort script processing */
    86028861        return FAIL;
     
    86118870 
    86128871     if (setfname(curbuf, fname, sfname, FALSE) == OK)
    8613 @@ -5246,13 +5297,16 @@
     8872@@ -5054,7 +5129,13 @@
     8873                        c = buf[wlen];
     8874                }
     8875 
     8876-               ip->bw_conv_error |= ucs2bytes(c, &p, flags);
     8877+               if (ucs2bytes(c, &p, flags) && !ip->bw_conv_error)
     8878+               {
     8879+                   ip->bw_conv_error = TRUE;
     8880+                   ip->bw_conv_error_lnum = ip->bw_start_lnum;
     8881+               }
     8882+               if (c == NL)
     8883+                   ++ip->bw_start_lnum;
     8884            }
     8885            if (flags & FIO_LATIN1)
     8886                len = (int)(p - buf);
     8887@@ -5246,13 +5327,16 @@
    86148888            /* Convert with iconv(). */
    86158889            if (ip->bw_restlen > 0)
     
    86318905            }
    86328906            else
    8633 @@ -5550,9 +5604,10 @@
     8907@@ -5332,6 +5416,7 @@
     8908 #ifdef FEAT_MBYTE
     8909 /*
     8910  * Convert a Unicode character to bytes.
     8911+ * Return TRUE for an error, FALSE when it's OK.
     8912  */
     8913     static int
     8914 ucs2bytes(c, pp, flags)
     8915@@ -5415,20 +5500,37 @@
     8916 }
     8917 
     8918 /*
     8919- * Return TRUE if "a" and "b" are the same 'encoding'.
     8920- * Ignores difference between "ansi" and "latin1", "ucs-4" and "ucs-4be", etc.
     8921+ * Return TRUE if file encoding "fenc" requires conversion from or to
     8922+ * 'encoding'.
     8923  */
     8924     static int
     8925-same_encoding(a, b)
     8926-    char_u     *a;
     8927-    char_u     *b;
     8928+need_conversion(fenc)
     8929+    char_u     *fenc;
     8930 {
     8931-    int                f;
     8932+    int                same_encoding;
     8933+    int                enc_flags;
     8934+    int                fenc_flags;
     8935 
     8936-    if (STRCMP(a, b) == 0)
     8937-       return TRUE;
     8938-    f = get_fio_flags(a);
     8939-    return (f != 0 && get_fio_flags(b) == f);
     8940+    if (*fenc == NUL || STRCMP(p_enc, fenc) == 0)
     8941+       same_encoding = TRUE;
     8942+    else
     8943+    {
     8944+       /* Ignore difference between "ansi" and "latin1", "ucs-4" and
     8945+        * "ucs-4be", etc. */
     8946+       enc_flags = get_fio_flags(p_enc);
     8947+       fenc_flags = get_fio_flags(fenc);
     8948+       same_encoding = (enc_flags != 0 && fenc_flags == enc_flags);
     8949+    }
     8950+    if (same_encoding)
     8951+    {
     8952+       /* Specified encoding matches with 'encoding'.  This requires
     8953+        * conversion when 'encoding' is Unicode but not UTF-8. */
     8954+       return enc_unicode != 0;
     8955+    }
     8956+
     8957+    /* Encodings differ.  However, conversion is not needed when 'enc' is any
     8958+     * Unicode encoding and the file is UTF-8. */
     8959+    return !(enc_utf8 && fenc_flags == FIO_UTF8);
     8960 }
     8961 
     8962 /*
     8963@@ -5550,9 +5652,10 @@
    86348964            name = "ucs-4le";   /* FF FE 00 00 */
    86358965            len = 4;
     
    86448974     }
    86458975     else if (p[0] == 0xfe && p[1] == 0xff
    8646 @@ -5917,7 +5972,7 @@
     8976@@ -5917,7 +6020,7 @@
    86478977        else if (*ext == '.')
    86488978 #endif
     
    86538983                s = ptr + 8;
    86548984                *s = '\0';
    8655 @@ -6031,9 +6086,9 @@
     8985@@ -6031,9 +6134,9 @@
    86568986        {
    86578987            tbuf[FGETS_SIZE - 2] = NUL;
     
    86658995        } while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n');
    86668996     }
    8667 @@ -6107,12 +6162,24 @@
     8997@@ -6107,12 +6210,24 @@
    86688998 #ifdef HAVE_ACL
    86698999     vim_acl_T  acl;            /* ACL from original file */
     
    86929022     /*
    86939023      * Fail if the "from" file doesn't exist.  Avoids that "to" is deleted.
    8694 @@ -6120,6 +6187,55 @@
     9024@@ -6120,6 +6235,55 @@
    86959025     if (mch_stat((char *)from, &st) < 0)
    86969026        return -1;
     
    87489078      * Delete the "to" file, this is required on some systems to make the
    87499079      * mch_rename() work, on other systems it makes sure that we don't have
    8750 @@ -6260,7 +6376,7 @@
     9080@@ -6260,7 +6424,7 @@
    87519081 
    87529082     if (!stuff_empty() || global_busy || !typebuf_typed()
     
    87579087                                        )
    87589088        need_check_timestamps = TRUE;           /* check later */
    8759 @@ -6353,11 +6469,10 @@
     9089@@ -6353,11 +6517,10 @@
    87609090  * return 2 if a message has been displayed.
    87619091  * return 0 otherwise.
     
    87709100     struct stat        st;
    87719101     int                stat_res;
    8772 @@ -6462,8 +6577,10 @@
     9102@@ -6462,8 +6625,10 @@
    87739103            set_vim_var_string(VV_FCS_REASON, (char_u *)reason, -1);
    87749104            set_vim_var_string(VV_FCS_CHOICE, (char_u *)"", -1);
     
    87819111            if (n)
    87829112            {
    8783 @@ -6511,7 +6628,10 @@
     9113@@ -6511,7 +6676,10 @@
    87849114                        mesg = _("W16: Warning: Mode of file \"%s\" has changed since editing started");
    87859115                        mesg2 = _("See \":help W16\" for more info.");
     
    87939123            }
    87949124        }
    8795 @@ -6538,6 +6658,11 @@
     9125@@ -6538,6 +6706,11 @@
    87969126            tbuf = alloc((unsigned)(STRLEN(path) + STRLEN(mesg)
    87979127                                                        + STRLEN(mesg2) + 2));
     
    88059135            if (can_reload)
    88069136            {
    8807 @@ -6732,10 +6857,11 @@
     9137@@ -6732,10 +6905,11 @@
    88089138 #endif
    88099139 #ifdef FEAT_FOLDING
     
    88199149                        && !foldmethodIsManual(wp))
    88209150                    foldUpdateAll(wp);
    8821 @@ -6753,12 +6879,11 @@
     9151@@ -6753,12 +6927,11 @@
    88229152     /* Careful: autocommands may have made "buf" invalid! */
    88239153 }
     
    88339163     buf->b_mtime = (long)st->st_mtime;
    88349164     buf->b_orig_size = (size_t)st->st_size;
    8835 @@ -6821,10 +6946,9 @@
     9165@@ -6821,10 +6994,9 @@
    88369166  * The returned pointer is to allocated memory.
    88379167  * The returned pointer is NULL if no valid name was found.
     
    88459175 #ifdef USE_TMPNAM
    88469176     char_u     itmp[L_tmpnam]; /* use tmpnam() */
    8847 @@ -6853,7 +6977,7 @@
     9177@@ -6853,7 +7025,7 @@
    88489178        /*
    88499179         * Try the entries in TEMPDIRNAMES to create the temp directory.
     
    88549184            /* expand $TMP, leave room for "/v1100000/999999999" */
    88559185            expand_env((char_u *)tempdirs[i], itmp, TEMPNAMELEN - 20);
    8856 @@ -8245,7 +8369,7 @@
     9186@@ -8245,7 +8417,7 @@
    88579187 
    88589188            /* Execute the modeline settings, but don't set window-local
     
    88639193            /* restore the current window */
    88649194            aucmd_restbuf(&aco);
    8865 @@ -8261,8 +8385,8 @@
     9195@@ -8261,8 +8433,8 @@
    88669196 
    88679197 /*
     
    88749204  * When FEAT_AUTOCMD is not defined another version is used, see below.
    88759205  */
    8876 @@ -8272,8 +8396,9 @@
     9206@@ -8272,8 +8444,9 @@
    88779207     buf_T      *buf;           /* new curbuf */
    88789208 {
     
    88869216     /* Find a window that is for the new buffer */
    88879217     if (buf == curbuf)         /* be quick when buf is curbuf */
    8888 @@ -8287,42 +8412,51 @@
     9218@@ -8287,42 +8460,67 @@
    88899219        win = NULL;
    88909220 #endif
     
    89049234+           win = curwin;
    89059235+    }
     9236+    if (win == NULL && aucmd_win_used)
     9237+       /* Strange recursive autocommand, fall back to using the current
     9238+        * window.  Expect a few side effects... */
     9239+       win = curwin;
    89069240+
    89079241+    aco->save_curwin = curwin;
     
    89149248+        * curwin.  This is preferred, it has the least side effects (esp. if
    89159249+        * "buf" is curbuf). */
     9250+       aco->use_aucmd_win = FALSE;
    89169251        curwin = win;
    89179252-       aco->save_buf = win->w_buffer;
     
    89299264+        * Anything related to a window (e.g., setting folds) may have
    89309265+        * unexpected results. */
     9266+       aco->use_aucmd_win = TRUE;
     9267+       aucmd_win_used = TRUE;
    89319268+       aucmd_win->w_buffer = buf;
    89329269        ++buf->b_nwindows;
    89339270+       win_init_empty(aucmd_win); /* set cursor and topline to safe values */
     9271+       vim_free(aucmd_win->w_localdir);
     9272+       aucmd_win->w_localdir = NULL;
     9273+
     9274+       /* Make sure w_localdir and globaldir are NULL to avoid a chdir() in
     9275+        * win_enter_ext(). */
     9276+       aucmd_win->w_localdir = NULL;
     9277+       aco->globaldir = globaldir;
     9278+       globaldir = NULL;
    89349279 
    89359280-       /* save cursor and topline, set them to safe values */
     
    89429287-       aco->save_topfill = curwin->w_topfill;
    89439288-       curwin->w_topfill = 0;
     9289+
    89449290+#ifdef FEAT_WINDOWS
    89459291+       /* Split the current window, put the aucmd_win in the upper half.
     
    89639309 
    89649310 /*
    8965 @@ -8334,21 +8468,88 @@
     9311@@ -8334,21 +8532,92 @@
    89669312 aucmd_restbuf(aco)
    89679313     aco_save_T *aco;           /* structure holding saved values */
     
    89729318+#endif
    89739319+
    8974 +    if (aco->new_curwin == aucmd_win)
     9320+    if (aco->use_aucmd_win)
    89759321+    {
    89769322+       --curbuf->b_nwindows;
     
    89999345+       (void)winframe_remove(curwin, &dummy, NULL);
    90009346+       win_remove(curwin, NULL);
     9347+       aucmd_win_used = FALSE;
    90019348+       last_status(FALSE);         /* may need to remove last status line */
    90029349+       restore_snapshot(SNAP_AUCMD_IDX, FALSE);
     
    90169363+#endif
    90179364+       curbuf = curwin->w_buffer;
     9365+
     9366+       vim_free(globaldir);
     9367+       globaldir = aco->globaldir;
    90189368+
    90199369+       /* the buffer contents may have changed */
     
    90439393-            * it's still the same window and it's valid */
    90449394+           /* Restore the buffer which was previously edited by curwin, if
    9045 +            * it was chagned, we are still the same window and the buffer is
     9395+            * it was changed, we are still the same window and the buffer is
    90469396+            * valid. */
    90479397            if (curwin == aco->new_curwin
     
    90589408                ++curbuf->b_nwindows;
    90599409            }
    9060 @@ -8357,34 +8558,6 @@
     9410@@ -8357,34 +8626,6 @@
    90619411            curbuf = curwin->w_buffer;
    90629412        }
     
    90939443 
    90949444 static int     autocmd_nested = FALSE;
    9095 @@ -8523,6 +8696,7 @@
     9445@@ -8523,6 +8764,7 @@
    90969446     char_u     *save_sourcing_name;
    90979447     linenr_T   save_sourcing_lnum;
     
    91019451     char_u     *save_autocmd_match;
    91029452     int                save_autocmd_busy;
    9103 @@ -8601,6 +8775,7 @@
     9453@@ -8601,6 +8843,7 @@
    91049454      * Save the autocmd_* variables and info about the current buffer.
    91059455      */
     
    91099459     save_autocmd_match = autocmd_match;
    91109460     save_autocmd_busy = autocmd_busy;
    9111 @@ -8618,14 +8793,15 @@
     9461@@ -8618,14 +8861,15 @@
    91129462        if (fname != NULL && *fname != NUL)
    91139463            autocmd_fname = fname;
     
    91279477     /*
    91289478      * Set the buffer number to be used for <abuf>.
    9129 @@ -8667,9 +8843,11 @@
     9479@@ -8667,9 +8911,11 @@
    91309480     else
    91319481     {
     
    91409490                || event == EVENT_SPELLFILEMISSING
    91419491                || event == EVENT_QUICKFIXCMDPRE
    9142 @@ -8810,6 +8988,7 @@
     9492@@ -8810,6 +9056,7 @@
    91439493     sourcing_lnum = save_sourcing_lnum;
    91449494     vim_free(autocmd_fname);
     
    91489498     autocmd_match = save_autocmd_match;
    91499499 #ifdef FEAT_EVAL
    9150 @@ -8918,7 +9097,7 @@
     9500@@ -8918,7 +9165,7 @@
    91519501     {
    91529502        apc->curpat = NULL;
     
    91579507         * buffer number. */
    91589508        if (ap->pat != NULL && ap->cmds != NULL
    9159 @@ -8967,12 +9146,11 @@
     9509@@ -8967,12 +9214,11 @@
    91609510  * Called by do_cmdline() to get the next line for ":if".
    91619511  * Returns allocated string, or NULL for end of autocommands.
     
    91729522     AutoPatCmd     *acp = (AutoPatCmd *)cookie;
    91739523     char_u         *retval;
    9174 @@ -9083,10 +9261,9 @@
     9524@@ -9083,10 +9329,9 @@
    91759525  * Function given to ExpandGeneric() to obtain the list of autocommand group
    91769526  * names.
     
    91849534 {
    91859535     if (idx == augroups.ga_len)                /* add "END" add the end */
    9186 @@ -9104,7 +9281,7 @@
     9536@@ -9104,7 +9349,7 @@
    91879537 set_context_in_autocmd(xp, arg, doautocmd)
    91889538     expand_T   *xp;
     
    91939543     char_u     *p;
    91949544     int                group;
    9195 @@ -9152,10 +9329,9 @@
     9545@@ -9152,10 +9397,9 @@
    91969546 /*
    91979547  * Function given to ExpandGeneric() to obtain the list of event names.
     
    92059555 {
    92069556     if (idx < augroups.ga_len)         /* First list group names, if wanted */
    9207 @@ -9296,9 +9472,11 @@
     9557@@ -9254,15 +9498,10 @@
     9558     ap = first_autopat[(int)event];
     9559     if (ap == NULL)
     9560        goto theend;
     9561-    if (pattern == NULL)
     9562-    {
     9563-       retval = TRUE;
     9564-       goto theend;
     9565-    }
     9566 
     9567     /* if pattern is "<buffer>", special handling is needed which uses curbuf */
     9568     /* for pattern "<buffer=N>, fnamecmp() will work fine */
     9569-    if (STRICMP(pattern, "<buffer>") == 0)
     9570+    if (pattern != NULL && STRICMP(pattern, "<buffer>") == 0)
     9571        buflocal_buf = curbuf;
     9572 
     9573     /* Check if there is an autocommand with the given pattern. */
     9574@@ -9271,9 +9510,10 @@
     9575        /* For buffer-local autocommands, fnamecmp() works fine. */
     9576        if (ap->pat != NULL && ap->cmds != NULL
     9577            && (group == AUGROUP_ALL || ap->group == group)
     9578-           && (buflocal_buf == NULL
     9579-                ? fnamecmp(ap->pat, pattern) == 0
     9580-                : ap->buflocal_nr == buflocal_buf->b_fnum))
     9581+           && (pattern == NULL
     9582+               || (buflocal_buf == NULL
     9583+                   ? fnamecmp(ap->pat, pattern) == 0
     9584+                   : ap->buflocal_nr == buflocal_buf->b_fnum)))
     9585        {
     9586            retval = TRUE;
     9587            break;
     9588@@ -9296,9 +9536,11 @@
    92089589     aco_save_T *aco;           /* structure to save values in */
    92099590     buf_T      *buf;           /* new curbuf */
     
    92189599 
    92199600 /*
    9220 @@ -9309,8 +9487,10 @@
     9601@@ -9309,8 +9551,10 @@
    92219602 aucmd_restbuf(aco)
    92229603     aco_save_T *aco;           /* structure holding saved values */
     
    92309611 
    92319612 #endif /* FEAT_AUTOCMD */
    9232 @@ -9467,13 +9647,12 @@
     9613@@ -9467,13 +9711,12 @@
    92339614  *
    92349615  * Returns NULL when out of memory.
     
    92479628diff -Naur vim72.orig/src/fold.c vim72/src/fold.c
    92489629--- vim72.orig/src/fold.c       2008-08-06 04:01:12.000000000 -0700
    9249 +++ vim72/src/fold.c    2009-07-19 15:11:59.000000000 -0700
     9630+++ vim72/src/fold.c    2009-09-12 08:34:12.000000000 -0700
    92509631@@ -48,7 +48,7 @@
    92519632 static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp));
     
    93369717diff -Naur vim72.orig/src/getchar.c vim72/src/getchar.c
    93379718--- vim72.orig/src/getchar.c    2008-07-22 09:57:48.000000000 -0700
    9338 +++ vim72/src/getchar.c 2009-07-19 15:18:49.000000000 -0700
     9719+++ vim72/src/getchar.c 2009-09-12 08:41:14.000000000 -0700
    93399720@@ -1309,6 +1309,9 @@
    93409721     return OK;
     
    94419822diff -Naur vim72.orig/src/globals.h vim72/src/globals.h
    94429823--- vim72.orig/src/globals.h    2008-07-26 04:53:29.000000000 -0700
    9443 +++ vim72/src/globals.h 2009-07-19 15:17:39.000000000 -0700
     9824+++ vim72/src/globals.h 2009-09-12 08:41:43.000000000 -0700
    94449825@@ -482,8 +482,10 @@
    94459826 /*
     
    94719852        for ((wp) = ((tp) == curtab) \
    94729853                ? firstwin : (tp)->tp_firstwin; (wp); (wp) = (wp)->w_next)
    9473 @@ -536,6 +539,10 @@
     9854@@ -536,6 +539,11 @@
    94749855 
    94759856 EXTERN win_T   *curwin;        /* currently active window */
     
    94779858+#ifdef FEAT_AUTOCMD
    94789859+EXTERN win_T   *aucmd_win;     /* window used in aucmd_prepbuf() */
     9860+EXTERN int     aucmd_win_used INIT(= FALSE);   /* aucmd_win is being used */
    94799861+#endif
    94809862+
     
    94829864  * The window layout is kept in a tree of frames.  topframe points to the top
    94839865  * of the tree.
    9484 @@ -597,7 +604,8 @@
     9866@@ -597,7 +605,8 @@
    94859867 EXTERN int     really_exiting INIT(= FALSE);
    94869868                                /* TRUE when we are sure to exit, e.g., after
     
    94929874                                 * otherwise only writing some messages */
    94939875 
    9494 @@ -616,6 +624,11 @@
     9876@@ -616,6 +625,11 @@
    94959877 EXTERN int     curbuf_lock INIT(= 0);
    94969878                                /* non-zero when the current buffer can't be
     
    95049886 #ifdef FEAT_EVAL
    95059887 # define HAVE_SANDBOX
    9506 @@ -710,7 +723,7 @@
     9888@@ -710,7 +724,7 @@
    95079889 
    95089890 EXTERN pos_T   saved_cursor            /* w_cursor before formatting text. */
     
    95139895        ;
    95149896 
    9515 @@ -739,10 +752,12 @@
     9897@@ -739,10 +753,12 @@
    95169898  */
    95179899 EXTERN JMP_BUF lc_jump_env;    /* argument to SETJMP() */
     
    95299911 
    95309912 #if defined(FEAT_MBYTE) || defined(FEAT_POSTSCRIPT)
    9531 @@ -800,11 +815,14 @@
     9913@@ -800,11 +816,14 @@
    95329914  */
    95339915 /* length of char in bytes, including following composing chars */
     
    95449926 EXTERN int (*mb_off2cells) __ARGS((unsigned off, unsigned max_off)) INIT(= latin_off2cells);
    95459927 EXTERN int (*mb_ptr2char) __ARGS((char_u *p)) INIT(= latin_ptr2char);
    9546 @@ -950,7 +968,7 @@
     9928@@ -950,7 +969,7 @@
    95479929                    ;
    95489930 EXTERN typebuf_T typebuf               /* typeahead buffer */
     
    95539935                    ;
    95549936 #ifdef FEAT_EX_EXTRA
    9555 @@ -986,7 +1004,8 @@
     9937@@ -986,7 +1005,8 @@
    95569938 EXTERN FILE    *scriptout  INIT(= NULL);   /* stream to write script to */
    95579939 EXTERN int     read_cmd_fd INIT(= 0);      /* fd to read commands from */
     
    95639945 #ifdef USE_TERM_CONSOLE
    95649946 EXTERN int     term_console INIT(= FALSE); /* set to TRUE when console used */
    9565 @@ -1022,12 +1041,13 @@
     9947@@ -1022,12 +1042,13 @@
    95669948 #endif
    95679949 #ifdef FEAT_AUTOCMD
     
    95789960                        ;
    95799961 #endif
    9580 @@ -1339,7 +1359,6 @@
     9962@@ -1339,7 +1360,6 @@
    95819963 
    95829964 #ifdef FEAT_NETBEANS_INTG
     
    95869968 EXTERN int netbeansForcedQuit INIT(= 0);/* don't write modified files */
    95879969 EXTERN int netbeansReadFile INIT(= 1); /* OK to read from disk if != 0 */
    9588 @@ -1548,6 +1567,14 @@
     9970@@ -1548,6 +1568,14 @@
    95899971 EXTERN time_t starttime;
    95909972 
     
    96039985diff -Naur vim72.orig/src/gui_at_fs.c vim72/src/gui_at_fs.c
    96049986--- vim72.orig/src/gui_at_fs.c  2006-05-12 02:26:24.000000000 -0700
    9605 +++ vim72/src/gui_at_fs.c       2009-07-19 15:16:46.000000000 -0700
     9987+++ vim72/src/gui_at_fs.c       2009-09-12 08:39:05.000000000 -0700
    96069988@@ -829,7 +829,7 @@
    96079989     text.format = FMT8BIT;
     
    988910271diff -Naur vim72.orig/src/gui_athena.c vim72/src/gui_athena.c
    989010272--- vim72.orig/src/gui_athena.c 2008-06-21 12:38:58.000000000 -0700
    9891 +++ vim72/src/gui_athena.c      2009-07-19 15:16:46.000000000 -0700
     10273+++ vim72/src/gui_athena.c      2009-09-12 08:39:05.000000000 -0700
    989210274@@ -86,10 +86,9 @@
    989310275  * Scrollbar callback (XtNjumpProc) for when the scrollbar is dragged with the
     
    1014610528diff -Naur vim72.orig/src/gui_at_sb.c vim72/src/gui_at_sb.c
    1014710529--- vim72.orig/src/gui_at_sb.c  2004-06-07 07:32:25.000000000 -0700
    10148 +++ vim72/src/gui_at_sb.c       2009-07-19 15:16:46.000000000 -0700
     10530+++ vim72/src/gui_at_sb.c       2009-09-12 08:39:05.000000000 -0700
    1014910531@@ -198,10 +198,13 @@
    1015010532     /* extension       */  NULL
     
    1039610778diff -Naur vim72.orig/src/gui_beval.c vim72/src/gui_beval.c
    1039710779--- vim72.orig/src/gui_beval.c  2007-05-07 12:33:41.000000000 -0700
    10398 +++ vim72/src/gui_beval.c       2009-07-19 15:16:46.000000000 -0700
     10780+++ vim72/src/gui_beval.c       2009-09-12 08:39:05.000000000 -0700
    1039910781@@ -15,11 +15,10 @@
    1040010782 /*
     
    1049710879diff -Naur vim72.orig/src/gui.c vim72/src/gui.c
    1049810880--- vim72.orig/src/gui.c        2008-07-27 12:32:14.000000000 -0700
    10499 +++ vim72/src/gui.c     2009-07-19 15:18:18.000000000 -0700
     10881+++ vim72/src/gui.c     2009-09-12 08:41:40.000000000 -0700
    1050010882@@ -139,7 +139,7 @@
    1050110883                /* The read returns when the child closes the pipe (or when
     
    1070011082 #ifdef FEAT_WINDOWS
    1070111083     int                row;
    10702 @@ -5120,11 +5134,10 @@
     11084@@ -4990,6 +5004,19 @@
     11085     char_u     *p;
     11086     regmatch_T regmatch;
     11087     int                save_did_emsg = did_emsg;
     11088+    static int  busy = FALSE;
     11089+
     11090+    /* When the screen is being updated we should not change buffers and
     11091+     * windows structures, it may cause freed memory to be used.  Also don't
     11092+     * do this recursively (pressing "Find" quickly several times. */
     11093+    if (updating_screen || busy)
     11094+       return FALSE;
     11095+
     11096+    /* refuse replace when text cannot be changed */
     11097+    if ((type == FRD_REPLACE || type == FRD_REPLACEALL) && text_locked())
     11098+       return FALSE;
     11099+
     11100+    busy = TRUE;
     11101 
     11102     ga_init2(&ga, 1, 100);
     11103     if (type == FRD_REPLACEALL)
     11104@@ -5080,6 +5107,7 @@
     11105     }
     11106 
     11107     vim_free(ga.ga_data);
     11108+    busy = FALSE;
     11109     return (ga.ga_len > 0);
     11110 }
     11111 
     11112@@ -5120,11 +5148,10 @@
    1070311113  * of dropped files, they will be freed in this function, and caller can't use
    1070411114  * fnames after call this function.
     
    1071611126diff -Naur vim72.orig/src/gui_gtk.c vim72/src/gui_gtk.c
    1071711127--- vim72.orig/src/gui_gtk.c    2008-07-31 12:48:20.000000000 -0700
    10718 +++ vim72/src/gui_gtk.c 2009-07-19 15:16:36.000000000 -0700
     11128+++ vim72/src/gui_gtk.c 2009-09-12 08:38:54.000000000 -0700
    1071911129@@ -285,14 +285,14 @@
    1072011130     return image;
     
    1092011330diff -Naur vim72.orig/src/gui_gtk_f.c vim72/src/gui_gtk_f.c
    1092111331--- vim72.orig/src/gui_gtk_f.c  2007-05-07 12:38:02.000000000 -0700
    10922 +++ vim72/src/gui_gtk_f.c       2009-07-19 15:16:39.000000000 -0700
     11332+++ vim72/src/gui_gtk_f.c       2009-09-12 08:42:25.000000000 -0700
    1092311333@@ -227,14 +227,14 @@
    1092411334 
     
    1098011390     XEvent *xevent;
    1098111391     GtkForm *form;
    10982 @@ -911,9 +910,8 @@
     11392@@ -861,11 +860,9 @@
     11393 gtk_form_set_static_gravity(GdkWindow *window, gboolean use_static)
     11394 {
     11395 #ifdef HAVE_GTK2
     11396-    gboolean static_gravity_supported;
     11397-
     11398-    static_gravity_supported = gdk_window_set_static_gravities(window,
     11399-                                                              use_static);
     11400-    g_return_if_fail(static_gravity_supported);
     11401+    /* We don't check if static gravity is actually supported, because it
     11402+     * results in an annoying assertion error message. */
     11403+    gdk_window_set_static_gravities(window, use_static);
     11404 #else
     11405     XSetWindowAttributes xattributes;
     11406 
     11407@@ -911,9 +908,8 @@
    1098311408 #endif
    1098411409 }
     
    1099111416     GtkFormChild *child;
    1099211417 
    10993 @@ -923,9 +921,8 @@
     11418@@ -923,9 +919,8 @@
    1099411419     gdk_window_show(child->window);
    1099511420 }
     
    1100411429diff -Naur vim72.orig/src/gui_gtk_x11.c vim72/src/gui_gtk_x11.c
    1100511430--- vim72.orig/src/gui_gtk_x11.c        2008-07-04 03:46:24.000000000 -0700
    11006 +++ vim72/src/gui_gtk_x11.c     2009-07-19 15:18:26.000000000 -0700
     11431+++ vim72/src/gui_gtk_x11.c     2009-09-12 08:42:22.000000000 -0700
    1100711432@@ -107,6 +107,7 @@
    1100811433     TARGET_UTF8_STRING,
     
    1174512170 gui_mch_get_fontset(char_u *name, int report_error, int fixed_width)
    1174612171 {
    11747 @@ -4863,7 +4915,7 @@
     12172@@ -4677,6 +4729,9 @@
     12173     if (oldval != NULL && *oldval != NUL)
     12174        gtk_font_selection_dialog_set_font_name(
     12175                GTK_FONT_SELECTION_DIALOG(gui.fontdlg), (char *)oldval);
     12176+    else
     12177+       gtk_font_selection_dialog_set_font_name(
     12178+               GTK_FONT_SELECTION_DIALOG(gui.fontdlg), DEFAULT_FONT);
     12179 
     12180     if (gui.fontname)
     12181     {
     12182@@ -4764,6 +4819,9 @@
     12183        if (oldname != oldval)
     12184            vim_free(oldname);
     12185     }
     12186+    else
     12187+       gtk_font_selection_dialog_set_font_name(
     12188+               GTK_FONT_SELECTION_DIALOG(dialog), DEFAULT_FONT);
     12189 
     12190     response = gtk_dialog_run(GTK_DIALOG(dialog));
     12191 
     12192@@ -4863,7 +4921,7 @@
    1174812193     styled_font[1] = &gui.ital_font;
    1174912194     styled_font[2] = &gui.boldital_font;
     
    1175412199        if (*styled_font[i])
    1175512200        {
    11756 @@ -5012,9 +5064,8 @@
     12201@@ -5012,9 +5070,8 @@
    1175712202  * Initialize Vim to use the font or fontset with the given name.
    1175812203  * Return FAIL if the font could not be loaded, OK otherwise.
     
    1176512210 #ifdef HAVE_GTK2
    1176612211     PangoFontDescription    *font_desc;
    11767 @@ -5326,9 +5377,8 @@
     12212@@ -5326,9 +5383,8 @@
    1176812213 /*
    1176912214  * Return the name of font "font" in allocated memory.
     
    1177612221 # ifdef HAVE_GTK2
    1177712222     if (font != NOFONT)
    11778 @@ -5732,7 +5782,7 @@
     12223@@ -5732,7 +5788,7 @@
    1177912224 {
    1178012225     int                        i;
     
    1178512230 
    1178612231     /* Undercurl: draw curl at the bottom of the character cell. */
    11787 @@ -6085,12 +6135,15 @@
     12232@@ -6085,12 +6141,15 @@
    1178812233 # ifdef FEAT_MBYTE
    1178912234            if (enc_utf8)
     
    1180312248            }
    1180412249            else
    11805 @@ -6114,8 +6167,8 @@
     12250@@ -6114,8 +6173,8 @@
    1180612251        if (has_mbyte)
    1180712252        {
     
    1181412259        else
    1181512260 # endif
    11816 @@ -6402,7 +6455,6 @@
     12261@@ -6402,7 +6461,6 @@
    1181712262 /*
    1181812263  * Callback function, used when data is available on the SNiFF connection.
     
    1182212267 sniff_request_cb(
    1182312268     gpointer   data,
    11824 @@ -6665,12 +6717,14 @@
     12269@@ -6665,12 +6723,14 @@
    1182512270 {
    1182612271     GdkAtom    target;
     
    1183912284        target = gdk_atom_intern(selection_targets[i].target, FALSE);
    1184012285 
    11841 @@ -6690,30 +6744,14 @@
     12286@@ -6690,30 +6750,14 @@
    1184212287     }
    1184312288 
     
    1187212317     /* WEIRD: when using NULL to actually disown the selection, we lose the
    1187312318      * selection the first time we own it. */
    11874 @@ -6741,9 +6779,8 @@
     12319@@ -6741,9 +6785,8 @@
    1187512320  * Send the current selection to the clipboard.  Do nothing for X because we
    1187612321  * will fill in the selection only when requested by another app.
     
    1188312328 }
    1188412329 
    11885 @@ -6950,7 +6987,7 @@
     12330@@ -6950,7 +6993,7 @@
    1188612331            else
    1188712332                id &= ~1;       /* they are always even (why?) */
     
    1189412339diff -Naur vim72.orig/src/gui_motif.c vim72/src/gui_motif.c
    1189512340--- vim72.orig/src/gui_motif.c  2008-06-07 06:06:33.000000000 -0700
    11896 +++ vim72/src/gui_motif.c       2009-07-19 15:16:46.000000000 -0700
     12341+++ vim72/src/gui_motif.c       2009-09-12 08:39:05.000000000 -0700
    1189712342@@ -117,10 +117,9 @@
    1189812343  * Call-back routines.
     
    1225712702diff -Naur vim72.orig/src/gui_x11.c vim72/src/gui_x11.c
    1225812703--- vim72.orig/src/gui_x11.c    2008-06-08 08:13:45.000000000 -0700
    12259 +++ vim72/src/gui_x11.c 2009-07-19 15:16:46.000000000 -0700
     12704+++ vim72/src/gui_x11.c 2009-09-12 08:39:05.000000000 -0700
    1226012705@@ -570,22 +570,20 @@
    1226112706  * Call-back routines.
     
    1270213147diff -Naur vim72.orig/src/gui_xmdlg.c vim72/src/gui_xmdlg.c
    1270313148--- vim72.orig/src/gui_xmdlg.c  2008-06-21 09:05:32.000000000 -0700
    12704 +++ vim72/src/gui_xmdlg.c       2009-07-19 15:16:46.000000000 -0700
     13149+++ vim72/src/gui_xmdlg.c       2009-09-12 08:39:05.000000000 -0700
    1270513150@@ -369,10 +369,10 @@
    1270613151     char       buf[TEMP_BUF_SIZE];
     
    1292413369diff -Naur vim72.orig/src/gui_xmebw.c vim72/src/gui_xmebw.c
    1292513370--- vim72.orig/src/gui_xmebw.c  2007-09-06 03:57:51.000000000 -0700
    12926 +++ vim72/src/gui_xmebw.c       2009-07-19 15:16:46.000000000 -0700
     13371+++ vim72/src/gui_xmebw.c       2009-09-12 08:39:05.000000000 -0700
    1292713372@@ -235,13 +235,12 @@
    1292813373     return tmp;
     
    1305113496diff -Naur vim72.orig/src/hardcopy.c vim72/src/hardcopy.c
    1305213497--- vim72.orig/src/hardcopy.c   2008-01-11 12:46:20.000000000 -0800
    13053 +++ vim72/src/hardcopy.c        2009-07-19 15:16:23.000000000 -0700
     13498+++ vim72/src/hardcopy.c        2009-09-12 08:38:41.000000000 -0700
    1305413499@@ -442,12 +442,11 @@
    1305513500 /*
     
    1313413579diff -Naur vim72.orig/src/if_cscope.c vim72/src/if_cscope.c
    1313513580--- vim72.orig/src/if_cscope.c  2008-06-24 09:32:34.000000000 -0700
    13136 +++ vim72/src/if_cscope.c       2009-07-19 15:18:44.000000000 -0700
     13581+++ vim72/src/if_cscope.c       2009-09-12 08:41:09.000000000 -0700
    1313713582@@ -46,7 +46,6 @@
    1313813583 static int         cs_find __ARGS((exarg_T *eap));
     
    1372614171diff -Naur vim72.orig/src/if_cscope.h vim72/src/if_cscope.h
    1372714172--- vim72.orig/src/if_cscope.h  2007-09-02 07:51:08.000000000 -0700
    13728 +++ vim72/src/if_cscope.h       2009-07-19 15:18:44.000000000 -0700
     14173+++ vim72/src/if_cscope.h       2009-09-12 08:41:09.000000000 -0700
    1372914174@@ -25,7 +25,6 @@
    1373014175 
     
    1375514200diff -Naur vim72.orig/src/if_mzsch.c vim72/src/if_mzsch.c
    1375614201--- vim72.orig/src/if_mzsch.c   2007-07-01 09:44:49.000000000 -0700
    13757 +++ vim72/src/if_mzsch.c        2009-07-19 15:18:39.000000000 -0700
     14202+++ vim72/src/if_mzsch.c        2009-09-12 08:41:03.000000000 -0700
    1375814203@@ -667,13 +667,11 @@
    1375914204     static void CALLBACK
     
    1379614241diff -Naur vim72.orig/src/if_perl.xs vim72/src/if_perl.xs
    1379714242--- vim72.orig/src/if_perl.xs   2008-07-17 13:55:09.000000000 -0700
    13798 +++ vim72/src/if_perl.xs        2009-07-19 15:18:52.000000000 -0700
     14243+++ vim72/src/if_perl.xs        2009-09-12 08:41:16.000000000 -0700
    1379914244@@ -136,6 +136,9 @@
    1380014245 #  define Perl_newXS_flags dll_Perl_newXS_flags
     
    1387014315diff -Naur vim72.orig/src/if_python.c vim72/src/if_python.c
    1387114316--- vim72.orig/src/if_python.c  2008-07-17 14:09:32.000000000 -0700
    13872 +++ vim72/src/if_python.c       2009-07-19 15:18:39.000000000 -0700
     14317+++ vim72/src/if_python.c       2009-09-12 08:41:03.000000000 -0700
    1387314318@@ -531,6 +531,12 @@
    1387414319        if (PythonMod_Init())
     
    1408314528diff -Naur vim72.orig/src/if_ruby.c vim72/src/if_ruby.c
    1408414529--- vim72.orig/src/if_ruby.c    2007-09-10 01:40:38.000000000 -0700
    14085 +++ vim72/src/if_ruby.c 2009-07-19 15:16:49.000000000 -0700
     14530+++ vim72/src/if_ruby.c 2009-09-12 08:39:07.000000000 -0700
    1408614531@@ -492,7 +492,7 @@
    1408714532     }
     
    1417514620diff -Naur vim72.orig/src/if_tcl.c vim72/src/if_tcl.c
    1417614621--- vim72.orig/src/if_tcl.c     2007-05-07 12:50:14.000000000 -0700
    14177 +++ vim72/src/if_tcl.c  2009-07-19 15:16:54.000000000 -0700
     14622+++ vim72/src/if_tcl.c  2009-09-12 08:39:13.000000000 -0700
    1417814623@@ -161,7 +161,7 @@
    1417914624 # endif
     
    1439014835diff -Naur vim72.orig/src/if_xcmdsrv.c vim72/src/if_xcmdsrv.c
    1439114836--- vim72.orig/src/if_xcmdsrv.c 2008-07-18 06:05:03.000000000 -0700
    14392 +++ vim72/src/if_xcmdsrv.c      2009-07-19 15:16:23.000000000 -0700
     14837+++ vim72/src/if_xcmdsrv.c      2009-09-12 08:38:41.000000000 -0700
    1439314838@@ -682,7 +682,7 @@
    1439414839      * Scan all of the names out of the property.
     
    1450614951diff -Naur vim72.orig/src/macros.h vim72/src/macros.h
    1450714952--- vim72.orig/src/macros.h     2007-08-04 04:44:18.000000000 -0700
    14508 +++ vim72/src/macros.h  2009-07-19 15:16:33.000000000 -0700
     14953+++ vim72/src/macros.h  2009-09-12 08:38:51.000000000 -0700
    1450914954@@ -127,15 +127,31 @@
    1451014955 #ifdef FEAT_LANGMAP
     
    1455515000diff -Naur vim72.orig/src/main.c vim72/src/main.c
    1455615001--- vim72.orig/src/main.c       2008-07-24 01:40:56.000000000 -0700
    14557 +++ vim72/src/main.c    2009-07-19 15:16:33.000000000 -0700
     15002+++ vim72/src/main.c    2009-09-12 08:38:51.000000000 -0700
    1455815003@@ -645,11 +645,12 @@
    1455915004 
     
    1464715092diff -Naur vim72.orig/src/Makefile vim72/src/Makefile
    1464815093--- vim72.orig/src/Makefile     2008-08-09 07:50:04.000000000 -0700
    14649 +++ vim72/src/Makefile  2009-07-19 15:16:49.000000000 -0700
     15094+++ vim72/src/Makefile  2009-09-12 08:39:07.000000000 -0700
    1465015095@@ -105,8 +105,8 @@
    1465115096 # 4. "make test"  {{{1
     
    1476115206diff -Naur vim72.orig/src/mark.c vim72/src/mark.c
    1476215207--- vim72.orig/src/mark.c       2008-08-08 15:06:49.000000000 -0700
    14763 +++ vim72/src/mark.c    2009-07-19 15:16:23.000000000 -0700
     15208+++ vim72/src/mark.c    2009-09-12 08:38:41.000000000 -0700
    1476415209@@ -884,10 +884,9 @@
    1476515210 /*
     
    1488215327diff -Naur vim72.orig/src/mbyte.c vim72/src/mbyte.c
    1488315328--- vim72.orig/src/mbyte.c      2008-07-14 05:38:05.000000000 -0700
    14884 +++ vim72/src/mbyte.c   2009-07-19 15:17:33.000000000 -0700
     15329+++ vim72/src/mbyte.c   2009-09-12 08:39:52.000000000 -0700
    1488515330@@ -127,7 +127,10 @@
    1488615331 static int dbcs_char2len __ARGS((int c));
     
    1549015935diff -Naur vim72.orig/src/memline.c vim72/src/memline.c
    1549115936--- vim72.orig/src/memline.c    2008-07-13 09:19:22.000000000 -0700
    15492 +++ vim72/src/memline.c 2009-07-19 15:15:19.000000000 -0700
     15937+++ vim72/src/memline.c 2009-09-12 08:37:35.000000000 -0700
    1549315938@@ -1554,10 +1554,15 @@
    1549415939            for (i = 0; i < num_files; ++i)
     
    1555015995diff -Naur vim72.orig/src/menu.c vim72/src/menu.c
    1555115996--- vim72.orig/src/menu.c       2008-06-21 12:53:43.000000000 -0700
    15552 +++ vim72/src/menu.c    2009-07-19 15:16:33.000000000 -0700
     15997+++ vim72/src/menu.c    2009-09-12 08:38:51.000000000 -0700
    1555315998@@ -231,7 +231,7 @@
    1555415999                if (skipdigits(menu_path + 7) == p)
     
    1562716072diff -Naur vim72.orig/src/message.c vim72/src/message.c
    1562816073--- vim72.orig/src/message.c    2008-07-09 11:24:55.000000000 -0700
    15629 +++ vim72/src/message.c 2009-07-19 15:18:26.000000000 -0700
     16074+++ vim72/src/message.c 2009-09-12 08:40:50.000000000 -0700
    1563016075@@ -107,7 +107,7 @@
    1563116076 }
     
    1594816393diff -Naur vim72.orig/src/misc1.c vim72/src/misc1.c
    1594916394--- vim72.orig/src/misc1.c      2008-07-12 12:20:53.000000000 -0700
    15950 +++ vim72/src/misc1.c   2009-07-19 15:19:00.000000000 -0700
     16395+++ vim72/src/misc1.c   2009-09-12 08:41:27.000000000 -0700
    1595116396@@ -2188,12 +2188,11 @@
    1595216397  *
     
    1608416529     /* Set the state such that text can be selected/copied/pasted and we still
    1608516530      * get mouse events. */
    16086 @@ -4141,10 +4153,9 @@
     16531@@ -3264,6 +3276,7 @@
     16532        cmdline_row = msg_row - 1;
     16533        need_wait_return = FALSE;
     16534        msg_didany = FALSE;
     16535+       msg_didout = FALSE;
     16536     }
     16537     else
     16538        cmdline_row = save_cmdline_row;
     16539@@ -4141,10 +4154,9 @@
    1608716540 /*
    1608816541  * Function given to ExpandGeneric() to obtain an environment variable name.
     
    1609616549 {
    1609716550 # if defined(AMIGA) || defined(__MRC__) || defined(__SC__)
    16098 @@ -4736,9 +4747,9 @@
     16551@@ -4736,9 +4748,9 @@
    1609916552         * If it is then restrict the search to below this line and try again.
    1610016553         */
     
    1610816561        cur_maxcomment = curwin->w_cursor.lnum - pos->lnum - 1;
    1610916562        if (cur_maxcomment <= 0)
    16110 @@ -6269,7 +6280,7 @@
     16563@@ -6269,7 +6281,7 @@
    1611116564      * check for that.
    1611216565      */
     
    1611716570        linecopy[curwin->w_cursor.col] = NUL;
    1611816571 
    16119 @@ -8522,11 +8533,25 @@
     16572@@ -8522,11 +8534,25 @@
    1612016573     for (setsuf = p_su; *setsuf; )
    1612116574     {
     
    1614816601     return (setsuflen != 0);
    1614916602 }
    16150 @@ -9188,7 +9213,7 @@
     16603@@ -9188,7 +9214,7 @@
    1615116604                else if (vim_strpbrk(p, (char_u *)"$~") != NULL)
    1615216605                {
     
    1615916612diff -Naur vim72.orig/src/misc2.c vim72/src/misc2.c
    1616016613--- vim72.orig/src/misc2.c      2008-07-23 12:12:56.000000000 -0700
    16161 +++ vim72/src/misc2.c   2009-07-19 15:16:25.000000000 -0700
     16614+++ vim72/src/misc2.c   2009-09-12 08:38:43.000000000 -0700
    1616216615@@ -496,7 +496,8 @@
    1616316616 {
     
    1636516818diff -Naur vim72.orig/src/move.c vim72/src/move.c
    1636616819--- vim72.orig/src/move.c       2008-07-12 09:26:47.000000000 -0700
    16367 +++ vim72/src/move.c    2009-07-19 15:16:14.000000000 -0700
     16820+++ vim72/src/move.c    2009-09-12 08:38:31.000000000 -0700
    1636816821@@ -280,18 +280,20 @@
    1636916822 
     
    1644116894diff -Naur vim72.orig/src/nbdebug.c vim72/src/nbdebug.c
    1644216895--- vim72.orig/src/nbdebug.c    2008-06-22 08:38:58.000000000 -0700
    16443 +++ vim72/src/nbdebug.c 2009-07-19 15:13:36.000000000 -0700
     16896+++ vim72/src/nbdebug.c 2009-09-12 08:35:50.000000000 -0700
    1644416897@@ -33,7 +33,6 @@
    1644516898 u_int           nb_dlevel = 0;         /* nb_debug verbosity level */
     
    1650216955diff -Naur vim72.orig/src/nbdebug.h vim72/src/nbdebug.h
    1650316956--- vim72.orig/src/nbdebug.h    2008-06-22 07:31:50.000000000 -0700
    16504 +++ vim72/src/nbdebug.h 2009-07-19 15:13:36.000000000 -0700
     16957+++ vim72/src/nbdebug.h 2009-09-12 08:35:50.000000000 -0700
    1650516958@@ -43,8 +43,6 @@
    1650616959 
     
    1653416987diff -Naur vim72.orig/src/netbeans.c vim72/src/netbeans.c
    1653516988--- vim72.orig/src/netbeans.c   2008-07-13 09:19:54.000000000 -0700
    16536 +++ vim72/src/netbeans.c        2009-07-19 15:18:05.000000000 -0700
     16989+++ vim72/src/netbeans.c        2009-09-12 08:42:14.000000000 -0700
    1653716990@@ -32,6 +32,7 @@
    1653816991 /* WinSock API is separated from C API, thus we can't use read(), write(),
     
    1657917032 }
    1658017033 
    16581 @@ -1582,7 +1585,9 @@
     17034@@ -1493,7 +1496,8 @@
     17035                    return FAIL;
     17036                }
     17037                first = *pos;
     17038-               nbdebug(("    FIRST POS: line %d, col %d\n", first.lnum, first.col));
     17039+               nbdebug(("    FIRST POS: line %d, col %d\n",
     17040+                                                     first.lnum, first.col));
     17041                pos = off2pos(buf->bufp, off+count-1);
     17042                if (!pos)
     17043                {
     17044@@ -1504,7 +1508,8 @@
     17045                    return FAIL;
     17046                }
     17047                last = *pos;
     17048-               nbdebug(("    LAST POS: line %d, col %d\n", last.lnum, last.col));
     17049+               nbdebug(("    LAST POS: line %d, col %d\n",
     17050+                                                       last.lnum, last.col));
     17051                del_from_lnum = first.lnum;
     17052                del_to_lnum = last.lnum;
     17053                doupdate = 1;
     17054@@ -1515,7 +1520,8 @@
     17055                next = off2pos(buf->bufp, off + count);
     17056 
     17057                /* Remove part of the first line. */
     17058-               if (first.col != 0 || (next != NULL && first.lnum == next->lnum))
     17059+               if (first.col != 0
     17060+                               || (next != NULL && first.lnum == next->lnum))
     17061                {
     17062                    if (first.lnum != last.lnum
     17063                            || (next != NULL && first.lnum != next->lnum))
     17064@@ -1578,14 +1584,18 @@
     17065                        int id = buf_findsign_id(buf->bufp, (linenr_T)i);
     17066                        if (id > 0)
     17067                        {
     17068-                           nbdebug(("    Deleting sign %d on line %d\n", id, i));
     17069+                           nbdebug(("    Deleting sign %d on line %d\n",
     17070+                                                                     id, i));
    1658217071                            buf_delsign(buf->bufp, id);
    1658317072                        }
     
    1658817077                    }
    1658917078 
    16590                     nbdebug(("    Deleting lines %d through %d\n", del_from_lnum, del_to_lnum));
    16591 @@ -1921,7 +1926,7 @@
     17079-                   nbdebug(("    Deleting lines %d through %d\n", del_from_lnum, del_to_lnum));
     17080+                   nbdebug(("    Deleting lines %d through %d\n",
     17081+                                                del_from_lnum, del_to_lnum));
     17082                    curwin->w_cursor.lnum = del_from_lnum;
     17083                    curwin->w_cursor.col = 0;
     17084                    del_lines(del_to_lnum - del_from_lnum + 1, FALSE);
     17085@@ -1921,7 +1931,7 @@
    1659217086            vim_free(path);
    1659317087            if (bufp == NULL)
     
    1659817092                return FAIL;
    1659917093            }
    16600 @@ -2141,7 +2146,9 @@
     17094@@ -2141,7 +2151,9 @@
    1660117095 #endif
    1660217096            }
     
    1660817102            /* gui_update_cursor(TRUE, FALSE); */
    1660917103            /* update_curbuf(NOT_VALID); */
    16610 @@ -2277,9 +2284,6 @@
     17104@@ -2277,9 +2289,6 @@
    1661117105            int serNum;
    1661217106            int localTypeNum;
     
    1661817112 
    1661917113            if (buf == NULL || buf->bufp == NULL)
    16620 @@ -2303,13 +2307,10 @@
     17114@@ -2303,13 +2312,10 @@
    1662117115            pos = get_off_or_lnum(buf->bufp, &args);
    1662217116 
     
    1663417128                nbdebug(("    partial line annotation -- Not Yet Implemented!\n"));
    1663517129            }
    16636 @@ -2321,7 +2322,7 @@
     17130@@ -2321,7 +2327,7 @@
    1663717131            }
    1663817132            if (pos)
     
    1664317137                if (typeNum == curPCtype)
    1664417138                    coloncmd(":sign jump %d buffer=%d", serNum,
    16645 @@ -2425,7 +2426,7 @@
     17139@@ -2425,7 +2431,7 @@
    1664617140                                GUARDED) == 0)
    1664717141                            {
     
    1665217146                                     buf->bufp->b_fnum);
    1665317147                            }
    16654 @@ -2582,7 +2583,7 @@
     17148@@ -2582,7 +2588,7 @@
    1665517149     va_list ap;
    1665617150 
     
    1666117155 
    1666217156     nbdebug(("    COLONCMD %s\n", buf));
    16663 @@ -2747,11 +2748,10 @@
     17157@@ -2747,11 +2753,10 @@
    1666417158  * cursor and sends it to the debugger for evaluation.  The debugger should
    1666517159  * respond with a showBalloon command when there is a useful result.
     
    1667417168     win_T      *wp;
    1667517169     char_u     *text;
    16676 @@ -2924,44 +2924,26 @@
     17170@@ -2924,44 +2929,26 @@
    1667717171 }
    1667817172 
     
    1672517219     if (nbbuf != NULL)
    1672617220        nbbuf->bufp = NULL;
    16727 @@ -3082,9 +3064,8 @@
     17221@@ -3082,9 +3069,8 @@
    1672817222 /*
    1672917223  * Send netbeans an unmodufied command.
     
    1673617230 #if 0
    1673717231     char_u     buf[128];
    16738 @@ -3391,13 +3372,12 @@
     17232@@ -3391,13 +3377,12 @@
    1673917233  * buf->signmapused[]  maps buffer-local annotation IDs to an index in
    1674017234  *                     globalsignmap[].
     
    1675117245     int                use_fg,
    1675217246     int                fg,
     17247@@ -3531,7 +3516,8 @@
     17248            eol_size = 1;
     17249        for (lnum = 1; lnum <= bufp->b_ml.ml_line_count; ++lnum)
     17250        {
     17251-           char_count += (long)STRLEN(ml_get(lnum)) + eol_size;
     17252+           char_count += (long)STRLEN(ml_get_buf(bufp, lnum, FALSE))
     17253+                                                                  + eol_size;
     17254            /* Check for a CTRL-C every 100000 characters */
     17255            if (char_count > last_check)
     17256            {
    1675317257diff -Naur vim72.orig/src/normal.c vim72/src/normal.c
    1675417258--- vim72.orig/src/normal.c     2008-07-31 13:03:08.000000000 -0700
    16755 +++ vim72/src/normal.c  2009-07-19 15:16:33.000000000 -0700
     17259+++ vim72/src/normal.c  2009-09-12 08:38:51.000000000 -0700
    1675617260@@ -183,6 +183,8 @@
    1675717261 static void    nv_cursorhold __ARGS((cmdarg_T *cap));
     
    1717917683diff -Naur vim72.orig/src/ops.c vim72/src/ops.c
    1718017684--- vim72.orig/src/ops.c        2008-06-21 13:08:59.000000000 -0700
    17181 +++ vim72/src/ops.c     2009-07-19 15:18:26.000000000 -0700
     17685+++ vim72/src/ops.c     2009-09-12 08:40:50.000000000 -0700
    1718217686@@ -72,11 +72,11 @@
    1718317687  */
     
    1759618100diff -Naur vim72.orig/src/option.c vim72/src/option.c
    1759718101--- vim72.orig/src/option.c     2008-07-18 06:05:33.000000000 -0700
    17598 +++ vim72/src/option.c  2009-07-19 15:17:52.000000000 -0700
     18102+++ vim72/src/option.c  2009-09-12 08:42:20.000000000 -0700
    1759918103@@ -387,6 +387,9 @@
    1760018104     char_u     *def_val[2];    /* default values for variable (vi and vim) */
     
    1760718111 };
    1760818112 
    17609 @@ -477,7 +480,7 @@
     18113@@ -400,8 +403,9 @@
     18114 #define P_NUM          0x02    /* the option is numeric */
     18115 #define P_STRING       0x04    /* the option is a string */
     18116 #define P_ALLOCED      0x08    /* the string option is in allocated memory,
     18117-                                   must use vim_free() when assigning new
     18118-                                   value. Not set if default is the same. */
     18119+                                  must use free_string_option() when
     18120+                                  assigning new value. Not set if default is
     18121+                                  the same. */
     18122 #define P_EXPAND       0x10    /* environment expansion.  NOTE: P_EXPAND can
     18123                                   never be used for local or hidden options! */
     18124 #define P_NODEFAULT    0x40    /* don't set to default value */
     18125@@ -477,7 +481,7 @@
    1761018126 #else
    1761118127                            (char_u *)224L,
     
    1761618132 #if defined(FEAT_GUI) && defined(MACOS_X)
    1761718133                            (char_u *)&p_antialias, PV_NONE,
    17618 @@ -486,35 +489,35 @@
     18134@@ -486,35 +490,35 @@
    1761918135                            (char_u *)NULL, PV_NONE,
    1762018136                            {(char_u *)FALSE, (char_u *)FALSE}
     
    1765718173 #if defined(FEAT_MBYTE)
    1765818174                            (char_u *)&p_ambw, PV_NONE,
    17659 @@ -523,27 +526,27 @@
     18175@@ -523,27 +527,27 @@
    1766018176                            (char_u *)NULL, PV_NONE,
    1766118177                            {(char_u *)0L, (char_u *)0L}
     
    1769218208                            (char_u *)&p_bg, PV_NONE,
    1769318209                            {
    17694 @@ -552,13 +555,13 @@
     18210@@ -552,13 +556,13 @@
    1769518211 #else
    1769618212                            (char_u *)"light",
     
    1770918225                            (char_u *)&p_bkc, PV_NONE,
    1771018226 #ifdef UNIX
    17711 @@ -566,10 +569,10 @@
     18227@@ -566,10 +570,10 @@
    1771218228 #else
    1771318229                            {(char_u *)"auto", (char_u *)"auto"}
     
    1772218238                            (char_u *)&p_bex, PV_NONE,
    1772318239                            {
    17724 @@ -578,7 +581,7 @@
     18240@@ -578,7 +582,7 @@
    1772518241 #else
    1772618242                            (char_u *)"~",
     
    1773118247 #ifdef FEAT_WILDIGN
    1773218248                            (char_u *)&p_bsk, PV_NONE,
    17733 @@ -587,40 +590,40 @@
     18249@@ -587,40 +591,40 @@
    1773418250                            (char_u *)NULL, PV_NONE,
    1773518251                            {(char_u *)0L, (char_u *)0L}
     
    1778018296 #ifdef FEAT_LINEBREAK
    1778118297                            (char_u *)&p_breakat, PV_NONE,
    17782 @@ -629,7 +632,7 @@
     18298@@ -629,7 +633,7 @@
    1778318299                            (char_u *)NULL, PV_NONE,
    1778418300                            {(char_u *)0L, (char_u *)0L}
     
    1778918305 #ifdef FEAT_BROWSE
    1779018306                            (char_u *)&p_bsdir, PV_NONE,
    17791 @@ -638,7 +641,7 @@
     18307@@ -638,7 +642,7 @@
    1779218308                            (char_u *)NULL, PV_NONE,
    1779318309                            {(char_u *)0L, (char_u *)0L}
     
    1779818314 #if defined(FEAT_QUICKFIX)
    1779918315                            (char_u *)&p_bh, PV_BH,
    17800 @@ -647,11 +650,11 @@
     18316@@ -647,11 +651,11 @@
    1780118317                            (char_u *)NULL, PV_NONE,
    1780218318                            {(char_u *)0L, (char_u *)0L}
     
    1781218328 #if defined(FEAT_QUICKFIX)
    1781318329                            (char_u *)&p_bt, PV_BT,
    17814 @@ -660,7 +663,7 @@
     18330@@ -660,7 +664,7 @@
    1781518331                            (char_u *)NULL, PV_NONE,
    1781618332                            {(char_u *)0L, (char_u *)0L}
     
    1782118337 #ifdef FEAT_MBYTE
    1782218338                            (char_u *)&p_cmp, PV_NONE,
    17823 @@ -669,7 +672,7 @@
     18339@@ -669,7 +673,7 @@
    1782418340                            (char_u *)NULL, PV_NONE,
    1782518341                            {(char_u *)0L, (char_u *)0L}
     
    1783018346 #ifdef FEAT_SEARCHPATH
    1783118347                            (char_u *)&p_cdpath, PV_NONE,
    17832 @@ -678,7 +681,7 @@
     18348@@ -678,7 +682,7 @@
    1783318349                            (char_u *)NULL, PV_NONE,
    1783418350                            {(char_u *)0L, (char_u *)0L}
     
    1783918355 #ifdef FEAT_CMDWIN
    1784018356                            (char_u *)&p_cedit, PV_NONE,
    17841 @@ -687,7 +690,7 @@
     18357@@ -687,7 +691,7 @@
    1784218358                            (char_u *)NULL, PV_NONE,
    1784318359                            {(char_u *)0L, (char_u *)0L}
     
    1784818364 #if defined(FEAT_MBYTE) && defined(FEAT_EVAL)
    1784918365                            (char_u *)&p_ccv, PV_NONE,
    17850 @@ -696,14 +699,14 @@
     18366@@ -696,14 +700,14 @@
    1785118367                            (char_u *)NULL, PV_NONE,
    1785218368                            {(char_u *)0L, (char_u *)0L}
     
    1786518381 #ifdef FEAT_CINDENT
    1786618382                            (char_u *)&p_cink, PV_CINK,
    17867 @@ -712,14 +715,14 @@
     18383@@ -712,14 +716,14 @@
    1786818384                            (char_u *)NULL, PV_NONE,
    1786918385                            {(char_u *)0L, (char_u *)0L}
     
    1788218398 #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
    1788318399                            (char_u *)&p_cinw, PV_CINW,
    17884 @@ -729,7 +732,7 @@
     18400@@ -729,7 +733,7 @@
    1788518401                            (char_u *)NULL, PV_NONE,
    1788618402                            {(char_u *)0L, (char_u *)0L}
     
    1789118407 #ifdef FEAT_CLIPBOARD
    1789218408                            (char_u *)&p_cb, PV_NONE,
    17893 @@ -743,20 +746,20 @@
     18409@@ -743,20 +747,20 @@
    1789418410                            (char_u *)NULL, PV_NONE,
    1789518411                            {(char_u *)"", (char_u *)0L}
     
    1791618432 #ifdef FEAT_COMMENTS
    1791718433                            (char_u *)&p_com, PV_COM,
    17918 @@ -766,7 +769,7 @@
     18434@@ -766,7 +770,7 @@
    1791918435                            (char_u *)NULL, PV_NONE,
    1792018436                            {(char_u *)0L, (char_u *)0L}
     
    1792518441 #ifdef FEAT_FOLDING
    1792618442                            (char_u *)&p_cms, PV_CMS,
    17927 @@ -775,12 +778,12 @@
     18443@@ -775,12 +779,12 @@
    1792818444                            (char_u *)NULL, PV_NONE,
    1792918445                            {(char_u *)0L, (char_u *)0L}
     
    1794018456 #ifdef FEAT_INS_EXPAND
    1794118457                            (char_u *)&p_cpt, PV_CPT,
    17942 @@ -789,7 +792,7 @@
     18458@@ -789,7 +793,7 @@
    1794318459                            (char_u *)NULL, PV_NONE,
    1794418460                            {(char_u *)0L, (char_u *)0L}
     
    1794918465 #ifdef FEAT_COMPL_FUNC
    1795018466                            (char_u *)&p_cfu, PV_CFU,
    17951 @@ -798,7 +801,7 @@
     18467@@ -798,7 +802,7 @@
    1795218468                            (char_u *)NULL, PV_NONE,
    1795318469                            {(char_u *)0L, (char_u *)0L}
     
    1795818474 #ifdef FEAT_INS_EXPAND
    1795918475                            (char_u *)&p_cot, PV_NONE,
    17960 @@ -807,34 +810,35 @@
     18476@@ -807,34 +811,35 @@
    1796118477                            (char_u *)NULL, PV_NONE,
    1796218478                            {(char_u *)0L, (char_u *)0L}
     
    1800018516 #ifdef FEAT_CSCOPE
    1800118517                            (char_u *)&p_csprg, PV_NONE,
    18002 @@ -843,7 +847,7 @@
     18518@@ -843,7 +848,7 @@
    1800318519                            (char_u *)NULL, PV_NONE,
    1800418520                            {(char_u *)0L, (char_u *)0L}
     
    1800918525 #if defined(FEAT_CSCOPE) && defined(FEAT_QUICKFIX)
    1801018526                            (char_u *)&p_csqf, PV_NONE,
    18011 @@ -852,45 +856,45 @@
     18527@@ -852,45 +857,45 @@
    1801218528                            (char_u *)NULL, PV_NONE,
    1801318529                            {(char_u *)0L, (char_u *)0L}
     
    1806218578 #ifdef FEAT_FIND_ID
    1806318579                            (char_u *)&p_def, PV_DEF,
    18064 @@ -899,28 +903,28 @@
     18580@@ -899,28 +904,28 @@
    1806518581                            (char_u *)NULL, PV_NONE,
    1806618582                            {(char_u *)NULL, (char_u *)0L}
     
    1809518611 #if defined(FEAT_DIFF) && defined(FEAT_EVAL)
    1809618612                            (char_u *)&p_dex, PV_NONE,
    18097 @@ -929,7 +933,7 @@
     18613@@ -929,7 +934,7 @@
    1809818614                            (char_u *)NULL, PV_NONE,
    1809918615                            {(char_u *)0L, (char_u *)0L}
     
    1810418620 #ifdef FEAT_DIFF
    1810518621                            (char_u *)&p_dip, PV_NONE,
    18106 @@ -938,20 +942,20 @@
     18622@@ -938,20 +943,20 @@
    1810718623                            (char_u *)NULL, PV_NONE,
    1810818624                            {(char_u *)"", (char_u *)NULL}
     
    1812918645 #ifdef FEAT_VERTSPLIT
    1813018646                            (char_u *)&p_ead, PV_NONE,
    18131 @@ -960,10 +964,10 @@
     18647@@ -960,10 +965,10 @@
    1813218648                            (char_u *)NULL, PV_NONE,
    1813318649                            {(char_u *)NULL, (char_u *)0L}
     
    1814218658 #ifdef FEAT_MBYTE
    1814318659                            (char_u *)&p_enc, PV_NONE,
    18144 @@ -972,19 +976,19 @@
     18660@@ -972,19 +977,19 @@
    1814518661                            (char_u *)NULL, PV_NONE,
    1814618662                            {(char_u *)0L, (char_u *)0L}
     
    1816718683 #ifdef FEAT_QUICKFIX
    1816818684                            (char_u *)&p_ef, PV_NONE,
    18169 @@ -993,32 +997,32 @@
     18685@@ -993,32 +998,32 @@
    1817018686                            (char_u *)NULL, PV_NONE,
    1817118687                            {(char_u *)NULL, (char_u *)0L}
     
    1820718723 #ifdef FEAT_MBYTE
    1820818724                            (char_u *)&p_fenc, PV_FENC,
    18209 @@ -1027,7 +1031,7 @@
     18725@@ -1027,7 +1032,7 @@
    1821018726                            (char_u *)NULL, PV_NONE,
    1821118727                            {(char_u *)0L, (char_u *)0L}
     
    1821618732 #ifdef FEAT_MBYTE
    1821718733                            (char_u *)&p_fencs, PV_NONE,
    18218 @@ -1036,13 +1040,14 @@
     18734@@ -1036,13 +1041,14 @@
    1821918735                            (char_u *)NULL, PV_NONE,
    1822018736                            {(char_u *)0L, (char_u *)0L}
     
    1823418750 #ifdef FEAT_AUTOCMD
    1823518751                            (char_u *)&p_ft, PV_FT,
    18236 @@ -1051,7 +1056,7 @@
     18752@@ -1051,7 +1057,7 @@
    1823718753                            (char_u *)NULL, PV_NONE,
    1823818754                            {(char_u *)0L, (char_u *)0L}
     
    1824318759 #if defined(FEAT_WINDOWS) || defined(FEAT_FOLDING)
    1824418760                            (char_u *)&p_fcs, PV_NONE,
    18245 @@ -1060,27 +1065,27 @@
     18761@@ -1060,27 +1066,27 @@
    1824618762                            (char_u *)NULL, PV_NONE,
    1824718763                            {(char_u *)"", (char_u *)0L}
     
    1827718793 # ifdef FEAT_EVAL
    1827818794                            (char_u *)VAR_WIN, PV_FDE,
    18279 @@ -1089,33 +1094,34 @@
     18795@@ -1089,33 +1095,34 @@
    1828018796                            (char_u *)NULL, PV_NONE,
    1828118797                            {(char_u *)NULL, (char_u *)0L}
     
    1832118837 # ifdef FEAT_EVAL
    1832218838                            (char_u *)VAR_WIN, PV_FDT,
    18323 @@ -1124,7 +1130,7 @@
     18839@@ -1124,7 +1131,7 @@
    1832418840                            (char_u *)NULL, PV_NONE,
    1832518841                            {(char_u *)NULL, (char_u *)0L}
     
    1833018846     {"formatexpr", "fex",   P_STRING|P_ALLOCED|P_VI_DEF|P_VIM,
    1833118847 #ifdef FEAT_EVAL
    18332 @@ -1134,16 +1140,18 @@
     18848@@ -1134,16 +1141,18 @@
    1833318849                            (char_u *)NULL, PV_NONE,
    1833418850                            {(char_u *)0L, (char_u *)0L}
     
    1835318869 #ifdef HAVE_FSYNC
    1835418870                            (char_u *)&p_fs, PV_NONE,
    18355 @@ -1152,22 +1160,22 @@
     18871@@ -1152,22 +1161,22 @@
    1835618872                            (char_u *)NULL, PV_NONE,
    1835718873                            {(char_u *)FALSE, (char_u *)0L}
     
    1838118897 #ifdef FEAT_QUICKFIX
    1838218898                            (char_u *)&p_gp, PV_GP,
    18383 @@ -1185,15 +1193,15 @@
     18899@@ -1185,15 +1194,15 @@
    1838418900                            (char_u *)"SEARCH/NUMBERS ",
    1838518901 #   else
     
    1840118917 #ifdef CURSOR_SHAPE
    1840218918                            (char_u *)&p_guicursor, PV_NONE,
    18403 @@ -1208,7 +1216,7 @@
     18919@@ -1208,7 +1217,7 @@
    1840418920                            (char_u *)NULL, PV_NONE,
    1840518921                            {(char_u *)NULL, (char_u *)0L}
     
    1841018926 #ifdef FEAT_GUI
    1841118927                            (char_u *)&p_guifont, PV_NONE,
    18412 @@ -1217,7 +1225,7 @@
     18928@@ -1217,7 +1226,7 @@
    1841318929                            (char_u *)NULL, PV_NONE,
    1841418930                            {(char_u *)NULL, (char_u *)0L}
     
    1841918935 #if defined(FEAT_GUI) && defined(FEAT_XFONTSET)
    1842018936                            (char_u *)&p_guifontset, PV_NONE,
    18421 @@ -1226,7 +1234,7 @@
     18937@@ -1226,7 +1235,7 @@
    1842218938                            (char_u *)NULL, PV_NONE,
    1842318939                            {(char_u *)NULL, (char_u *)0L}
     
    1842818944 #if defined(FEAT_GUI) && defined(FEAT_MBYTE)
    1842918945                            (char_u *)&p_guifontwide, PV_NONE,
    18430 @@ -1235,14 +1243,14 @@
     18946@@ -1235,14 +1244,14 @@
    1843118947                            (char_u *)NULL, PV_NONE,
    1843218948                            {(char_u *)NULL, (char_u *)0L}
     
    1844518961 #if defined(FEAT_GUI)
    1844618962                            (char_u *)&p_go, PV_NONE,
    18447 @@ -1255,14 +1263,14 @@
     18963@@ -1255,14 +1264,14 @@
    1844818964                            (char_u *)NULL, PV_NONE,
    1844918965                            {(char_u *)NULL, (char_u *)0L}
     
    1846218978 #if defined(FEAT_GUI_TABLINE)
    1846318979                            (char_u *)&p_gtl, PV_NONE,
    18464 @@ -1271,7 +1279,7 @@
     18980@@ -1271,7 +1280,7 @@
    1846518981                            (char_u *)NULL, PV_NONE,
    1846618982                            {(char_u *)NULL, (char_u *)0L}
     
    1847118987 #if defined(FEAT_GUI_TABLINE)
    1847218988                            (char_u *)&p_gtt, PV_NONE,
    18473 @@ -1280,20 +1288,21 @@
     18989@@ -1280,20 +1289,21 @@
    1847418990                            (char_u *)NULL, PV_NONE,
    1847518991                            {(char_u *)NULL, (char_u *)0L}
     
    1849719013 #ifdef FEAT_MULTI_LANG
    1849819014                            (char_u *)&p_hlg, PV_NONE,
    18499 @@ -1302,64 +1311,65 @@
     19015@@ -1302,64 +1312,65 @@
    1850019016                            (char_u *)NULL, PV_NONE,
    1850119017                            {(char_u *)0L, (char_u *)0L}
     
    1857519091 #ifdef USE_IM_CONTROL
    1857619092                            (char_u *)&p_imdisable, PV_NONE,
    18577 @@ -1371,7 +1381,7 @@
     19093@@ -1371,7 +1382,7 @@
    1857819094 #else
    1857919095                            {(char_u *)FALSE, (char_u *)0L}
     
    1858419100                            (char_u *)&p_iminsert, PV_IMI,
    1858519101 #ifdef B_IMODE_IM
    18586 @@ -1379,7 +1389,7 @@
     19102@@ -1379,7 +1390,7 @@
    1858719103 #else
    1858819104                            {(char_u *)B_IMODE_NONE, (char_u *)0L}
     
    1859319109                            (char_u *)&p_imsearch, PV_IMS,
    1859419110 #ifdef B_IMODE_IM
    18595 @@ -1387,7 +1397,7 @@
     19111@@ -1387,7 +1398,7 @@
    1859619112 #else
    1859719113                            {(char_u *)B_IMODE_NONE, (char_u *)0L}
     
    1860219118 #ifdef FEAT_FIND_ID
    1860319119                            (char_u *)&p_inc, PV_INC,
    18604 @@ -1396,7 +1406,7 @@
     19120@@ -1396,7 +1407,7 @@
    1860519121                            (char_u *)NULL, PV_NONE,
    1860619122                            {(char_u *)0L, (char_u *)0L}
     
    1861119127 #if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
    1861219128                            (char_u *)&p_inex, PV_INEX,
    18613 @@ -1405,10 +1415,10 @@
     19129@@ -1405,10 +1416,10 @@
    1861419130                            (char_u *)NULL, PV_NONE,
    1861519131                            {(char_u *)0L, (char_u *)0L}
     
    1862419140 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
    1862519141                            (char_u *)&p_inde, PV_INDE,
    18626 @@ -1417,7 +1427,7 @@
     19142@@ -1417,7 +1428,7 @@
    1862719143                            (char_u *)NULL, PV_NONE,
    1862819144                            {(char_u *)0L, (char_u *)0L}
     
    1863319149 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
    1863419150                            (char_u *)&p_indk, PV_INDK,
    18635 @@ -1426,13 +1436,13 @@
     19151@@ -1426,13 +1437,13 @@
    1863619152                            (char_u *)NULL, PV_NONE,
    1863719153                            {(char_u *)0L, (char_u *)0L}
     
    1865019166                            (char_u *)&p_isf, PV_NONE,
    1865119167                            {
    18652 @@ -1455,7 +1465,7 @@
     19168@@ -1455,7 +1466,7 @@
    1865319169 #  endif
    1865419170 # endif
     
    1865919175                            (char_u *)&p_isi, PV_NONE,
    1866019176                            {
    18661 @@ -1472,7 +1482,7 @@
     19177@@ -1472,7 +1483,7 @@
    1866219178                            (char_u *)"@,48-57,_,192-255",
    1866319179 # endif
     
    1866819184                            (char_u *)&p_isk, PV_ISK,
    1866919185                            {
    18670 @@ -1491,7 +1501,7 @@
     19186@@ -1491,7 +1502,7 @@
    1867119187                                ISK_LATIN1
    1867219188 # endif
     
    1867719193                            (char_u *)&p_isp, PV_NONE,
    1867819194                            {
    18679 @@ -1507,10 +1517,10 @@
     19195@@ -1507,10 +1518,10 @@
    1868019196                            ISP_LATIN1,
    1868119197 # endif
     
    1869019206 #ifdef FEAT_CRYPT
    1869119207                            (char_u *)&p_key, PV_KEY,
    18692 @@ -1519,7 +1529,7 @@
     19208@@ -1519,7 +1530,7 @@
    1869319209                            (char_u *)NULL, PV_NONE,
    1869419210                            {(char_u *)0L, (char_u *)0L}
     
    1869919215 #ifdef FEAT_KEYMAP
    1870019216                            (char_u *)&p_keymap, PV_KMAP,
    18701 @@ -1528,14 +1538,14 @@
     19217@@ -1528,14 +1539,14 @@
    1870219218                            (char_u *)NULL, PV_NONE,
    1870319219                            {(char_u *)"", (char_u *)0L}
     
    1871619232                            (char_u *)&p_kp, PV_KP,
    1871719233                            {
    18718 @@ -1556,7 +1566,7 @@
     19234@@ -1556,7 +1567,7 @@
    1871919235 # endif
    1872019236 #endif
     
    1872519241 #ifdef FEAT_LANGMAP
    1872619242                            (char_u *)&p_langmap, PV_NONE,
    18727 @@ -1565,31 +1575,31 @@
     19243@@ -1565,31 +1576,31 @@
    1872819244                            (char_u *)NULL, PV_NONE,
    1872919245                            {(char_u *)NULL,
     
    1876219278                            (char_u *)&Rows, PV_NONE,
    1876319279                            {
    18764 @@ -1598,7 +1608,7 @@
     19280@@ -1598,7 +1609,7 @@
    1876519281 #else
    1876619282                            (char_u *)24L,
     
    1877119287 #ifdef FEAT_GUI
    1877219288                            (char_u *)&p_linespace, PV_NONE,
    18773 @@ -1610,14 +1620,14 @@
     19289@@ -1610,14 +1621,14 @@
    1877419290 #else
    1877519291                            {(char_u *)0L, (char_u *)0L}
     
    1878819304 #ifdef FEAT_LISP
    1878919305                            (char_u *)&p_lispwords, PV_NONE,
    18790 @@ -1626,24 +1636,24 @@
     19306@@ -1626,24 +1637,24 @@
    1879119307                            (char_u *)NULL, PV_NONE,
    1879219308                            {(char_u *)"", (char_u *)0L}
     
    1881919335 #ifdef FEAT_QUICKFIX
    1882019336                            (char_u *)&p_mef, PV_NONE,
    18821 @@ -1652,7 +1662,7 @@
     19337@@ -1652,7 +1663,7 @@
    1882219338                            (char_u *)NULL, PV_NONE,
    1882319339                            {(char_u *)NULL, (char_u *)0L}
     
    1882819344 #ifdef FEAT_QUICKFIX
    1882919345                            (char_u *)&p_mp, PV_MP,
    18830 @@ -1665,49 +1675,52 @@
     19346@@ -1665,49 +1676,52 @@
    1883119347                            (char_u *)NULL, PV_NONE,
    1883219348                            {(char_u *)NULL, (char_u *)0L}
     
    1889219408 #ifdef FEAT_SPELL
    1889319409                            (char_u *)&p_msm, PV_NONE,
    18894 @@ -1716,22 +1729,22 @@
     19410@@ -1716,22 +1730,22 @@
    1889519411                            (char_u *)NULL, PV_NONE,
    1889619412                            {(char_u *)0L, (char_u *)0L}
     
    1892119437                            (char_u *)&p_mouse, PV_NONE,
    1892219438                            {
    18923 @@ -1740,21 +1753,21 @@
     19439@@ -1740,21 +1754,21 @@
    1892419440 #else
    1892519441                                (char_u *)"",
     
    1894619462                            (char_u *)&p_mousem, PV_NONE,
    1894719463                            {
    18948 @@ -1767,7 +1780,7 @@
     19464@@ -1767,7 +1781,7 @@
    1894919465                                (char_u *)"extend",
    1895019466 # endif
     
    1895519471 #ifdef FEAT_MOUSESHAPE
    1895619472                            (char_u *)&p_mouseshape, PV_NONE,
    18957 @@ -1776,33 +1789,34 @@
     19473@@ -1776,33 +1790,34 @@
    1895819474                            (char_u *)NULL, PV_NONE,
    1895919475                            {(char_u *)NULL, (char_u *)0L}
     
    1899719513 #ifdef FEAT_COMPL_FUNC
    1899819514                            (char_u *)&p_ofu, PV_OFU,
    18999 @@ -1811,10 +1825,10 @@
     19515@@ -1811,10 +1826,10 @@
    1900019516                            (char_u *)NULL, PV_NONE,
    1900119517                            {(char_u *)0L, (char_u *)0L}
     
    1901019526 #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
    1901119527                            (char_u *)&p_odev, PV_NONE,
    19012 @@ -1822,13 +1836,13 @@
     19528@@ -1822,13 +1837,13 @@
    1901319529                            (char_u *)NULL, PV_NONE,
    1901419530 #endif
     
    1902719543 #ifdef FEAT_OSFILETYPE
    1902819544                            (char_u *)&p_oft, PV_OFT,
    19029 @@ -1837,17 +1851,17 @@
     19545@@ -1837,17 +1852,17 @@
    1903019546                            (char_u *)NULL, PV_NONE,
    1903119547                            {(char_u *)0L, (char_u *)0L}
     
    1904919565 #if defined(FEAT_DIFF) && defined(FEAT_EVAL)
    1905019566                            (char_u *)&p_pex, PV_NONE,
    19051 @@ -1856,10 +1870,10 @@
     19567@@ -1856,10 +1871,10 @@
    1905219568                            (char_u *)NULL, PV_NONE,
    1905319569                            {(char_u *)0L, (char_u *)0L}
     
    1906219578                            (char_u *)&p_path, PV_PATH,
    1906319579                            {
    19064 @@ -1872,24 +1886,24 @@
     19580@@ -1872,24 +1887,24 @@
    1906519581                            (char_u *)".,/usr/include,,",
    1906619582 # endif
     
    1909119607 #ifdef FEAT_PRINTER
    1909219608                            (char_u *)&p_pdev, PV_NONE,
    19093 @@ -1898,7 +1912,7 @@
     19609@@ -1898,7 +1913,7 @@
    1909419610                            (char_u *)NULL, PV_NONE,
    1909519611                            {(char_u *)NULL, (char_u *)0L}
     
    1910019616 #ifdef FEAT_POSTSCRIPT
    1910119617                            (char_u *)&p_penc, PV_NONE,
    19102 @@ -1907,7 +1921,7 @@
     19618@@ -1907,7 +1922,7 @@
    1910319619                            (char_u *)NULL, PV_NONE,
    1910419620                            {(char_u *)NULL, (char_u *)0L}
     
    1910919625 #ifdef FEAT_POSTSCRIPT
    1911019626                            (char_u *)&p_pexpr, PV_NONE,
    19111 @@ -1916,7 +1930,7 @@
     19627@@ -1916,7 +1931,7 @@
    1911219628                            (char_u *)NULL, PV_NONE,
    1911319629                            {(char_u *)NULL, (char_u *)0L}
     
    1911819634 #ifdef FEAT_PRINTER
    1911919635                            (char_u *)&p_pfn, PV_NONE,
    19120 @@ -1931,7 +1945,7 @@
     19636@@ -1931,7 +1946,7 @@
    1912119637                            (char_u *)NULL, PV_NONE,
    1912219638                            {(char_u *)NULL, (char_u *)0L}
     
    1912719643 #ifdef FEAT_PRINTER
    1912819644                            (char_u *)&p_header, PV_NONE,
    19129 @@ -1940,7 +1954,7 @@
     19645@@ -1940,7 +1955,7 @@
    1913019646                            (char_u *)NULL, PV_NONE,
    1913119647                            {(char_u *)NULL, (char_u *)0L}
     
    1913619652 #if defined(FEAT_POSTSCRIPT) && defined(FEAT_MBYTE)
    1913719653                            (char_u *)&p_pmcs, PV_NONE,
    19138 @@ -1949,7 +1963,7 @@
     19654@@ -1949,7 +1964,7 @@
    1913919655                            (char_u *)NULL, PV_NONE,
    1914019656                            {(char_u *)NULL, (char_u *)0L}
     
    1914519661 #if defined(FEAT_POSTSCRIPT) && defined(FEAT_MBYTE)
    1914619662                            (char_u *)&p_pmfn, PV_NONE,
    19147 @@ -1958,7 +1972,7 @@
     19663@@ -1958,7 +1973,7 @@
    1914819664                            (char_u *)NULL, PV_NONE,
    1914919665                            {(char_u *)NULL, (char_u *)0L}
     
    1915419670 #ifdef FEAT_PRINTER
    1915519671                            (char_u *)&p_popt, PV_NONE,
    19156 @@ -1967,17 +1981,17 @@
     19672@@ -1967,17 +1982,17 @@
    1915719673                            (char_u *)NULL, PV_NONE,
    1915819674                            {(char_u *)NULL, (char_u *)0L}
     
    1917519691 #ifdef FEAT_TEXTOBJ
    1917619692                            (char_u *)&p_qe, PV_QE,
    19177 @@ -1986,47 +2000,47 @@
     19693@@ -1986,47 +2001,47 @@
    1917819694                            (char_u *)NULL, PV_NONE,
    1917919695                            {(char_u *)NULL, (char_u *)0L}
     
    1923219748 #ifdef FEAT_RIGHTLEFT
    1923319749                            (char_u *)VAR_WIN, PV_RLC,
    19234 @@ -2035,40 +2049,41 @@
     19750@@ -2035,40 +2050,41 @@
    1923519751                            (char_u *)NULL, PV_NONE,
    1923619752                            {(char_u *)NULL, (char_u *)0L}
     
    1928219798 #ifdef FEAT_SCROLLBIND
    1928319799                            (char_u *)&p_sbo, PV_NONE,
    19284 @@ -2077,27 +2092,29 @@
     19800@@ -2077,27 +2093,29 @@
    1928519801                            (char_u *)NULL, PV_NONE,
    1928619802                            {(char_u *)0L, (char_u *)0L}
     
    1931719833 #ifdef FEAT_SESSION
    1931819834                            (char_u *)&p_ssop, PV_NONE,
    19319 @@ -2107,7 +2124,7 @@
     19835@@ -2107,7 +2125,7 @@
    1932019836                            (char_u *)NULL, PV_NONE,
    1932119837                            {(char_u *)0L, (char_u *)0L}
     
    1932619842                            (char_u *)&p_sh, PV_NONE,
    1932719843                            {
    19328 @@ -2136,7 +2153,7 @@
     19844@@ -2136,7 +2154,7 @@
    1932919845 #  endif
    1933019846 # endif
     
    1933519851                            (char_u *)&p_shcf, PV_NONE,
    1933619852                            {
    19337 @@ -2149,7 +2166,7 @@
     19853@@ -2149,7 +2167,7 @@
    1933819854                            (char_u *)"-c",
    1933919855 # endif
     
    1934419860 #ifdef FEAT_QUICKFIX
    1934519861                            (char_u *)&p_sp, PV_NONE,
    19346 @@ -2168,30 +2185,30 @@
     19862@@ -2168,30 +2186,30 @@
    1934719863                            (char_u *)NULL, PV_NONE,
    1934819864                            {(char_u *)0L, (char_u *)0L}
     
    1938119897                            (char_u *)&p_sxq, PV_NONE,
    1938219898                            {
    19383 @@ -2200,30 +2217,31 @@
     19899@@ -2200,30 +2218,31 @@
    1938419900 #else
    1938519901                            (char_u *)"",
     
    1941919935 #ifdef FEAT_CMDL_INFO
    1942019936                            (char_u *)&p_sc, PV_NONE,
    19421 @@ -2236,58 +2254,58 @@
     19937@@ -2236,58 +2255,58 @@
    1942219938 #else
    1942319939                                (char_u *)TRUE
     
    1949220008 #ifdef FEAT_SPELL
    1949320009                            (char_u *)&p_spc, PV_SPC,
    19494 @@ -2296,7 +2314,7 @@
     20010@@ -2296,7 +2315,7 @@
    1949520011                            (char_u *)NULL, PV_NONE,
    1949620012                            {(char_u *)0L, (char_u *)0L}
     
    1950120017 #ifdef FEAT_SPELL
    1950220018                            (char_u *)&p_spf, PV_SPF,
    19503 @@ -2305,7 +2323,7 @@
     20019@@ -2305,7 +2324,7 @@
    1950420020                            (char_u *)NULL, PV_NONE,
    1950520021                            {(char_u *)0L, (char_u *)0L}
     
    1951020026 #ifdef FEAT_SPELL
    1951120027                            (char_u *)&p_spl, PV_SPL,
    19512 @@ -2314,7 +2332,7 @@
     20028@@ -2314,7 +2333,7 @@
    1951320029                            (char_u *)NULL, PV_NONE,
    1951420030                            {(char_u *)0L, (char_u *)0L}
     
    1951920035 #ifdef FEAT_SPELL
    1952020036                            (char_u *)&p_sps, PV_NONE,
    19521 @@ -2323,35 +2341,35 @@
     20037@@ -2323,35 +2342,35 @@
    1952220038                            (char_u *)NULL, PV_NONE,
    1952320039                            {(char_u *)0L, (char_u *)0L}
     
    1956120077 #ifdef FEAT_SEARCHPATH
    1956220078                            (char_u *)&p_sua, PV_SUA,
    19563 @@ -2360,16 +2378,16 @@
     20079@@ -2360,16 +2379,16 @@
    1956420080                            (char_u *)NULL, PV_NONE,
    1956520081                            {(char_u *)0L, (char_u *)0L}
     
    1958220098 #ifdef FEAT_SYN_HL
    1958320099                            (char_u *)&p_smc, PV_SMC,
    19584 @@ -2378,7 +2396,7 @@
     20100@@ -2378,7 +2397,7 @@
    1958520101                            (char_u *)NULL, PV_NONE,
    1958620102                            {(char_u *)0L, (char_u *)0L}
     
    1959120107 #ifdef FEAT_SYN_HL
    1959220108                            (char_u *)&p_syn, PV_SYN,
    19593 @@ -2387,24 +2405,24 @@
     20109@@ -2387,24 +2406,24 @@
    1959420110                            (char_u *)NULL, PV_NONE,
    1959520111                            {(char_u *)0L, (char_u *)0L}
     
    1962020136                            (char_u *)&p_tbs, PV_NONE,
    1962120137 #ifdef VMS     /* binary searching doesn't appear to work on VMS */
    19622 @@ -2412,13 +2430,13 @@
     20138@@ -2412,13 +2431,13 @@
    1962320139 #else
    1962420140                            {(char_u *)TRUE, (char_u *)0L}
     
    1963720153                            (char_u *)&p_tags, PV_TAGS,
    1963820154                            {
    19639 @@ -2427,20 +2445,20 @@
     20155@@ -2427,20 +2446,20 @@
    1964020156 #else
    1964120157                            (char_u *)"./tags,tags",
     
    1966220178 #ifdef FEAT_MBYTE
    1966320179                            (char_u *)&p_tenc, PV_NONE,
    19664 @@ -2449,13 +2467,14 @@
     20180@@ -2449,13 +2468,14 @@
    1966520181                            (char_u *)NULL, PV_NONE,
    1966620182                            {(char_u *)0L, (char_u *)0L}
     
    1968020196                            (char_u *)&p_tx, PV_TX,
    1968120197                            {
    19682 @@ -2464,40 +2483,40 @@
     20198@@ -2464,40 +2484,40 @@
    1968320199 #else
    1968420200                            (char_u *)FALSE,
     
    1972920245 #ifdef FEAT_TITLE
    1973020246                            (char_u *)&p_titleold, PV_NONE,
    19731 @@ -2507,49 +2526,50 @@
     20247@@ -2507,49 +2527,50 @@
    1973220248                            (char_u *)NULL, PV_NONE,
    1973320249                            {(char_u *)0L, (char_u *)0L}
     
    1979120307                            (char_u *)&p_ul, PV_NONE,
    1979220308                            {
    19793 @@ -2558,19 +2578,19 @@
     20309@@ -2558,19 +2579,19 @@
    1979420310 #else
    1979520311                            (char_u *)100L,
     
    1981620332 #ifdef FEAT_SESSION
    1981720333                            (char_u *)&p_vdir, PV_NONE,
    19818 @@ -2579,7 +2599,7 @@
     20334@@ -2579,7 +2600,7 @@
    1981920335                            (char_u *)NULL, PV_NONE,
    1982020336                            {(char_u *)0L, (char_u *)0L}
     
    1982520341 #ifdef FEAT_SESSION
    1982620342                            (char_u *)&p_vop, PV_NONE,
    19827 @@ -2588,25 +2608,25 @@
     20343@@ -2588,25 +2609,25 @@
    1982820344                            (char_u *)NULL, PV_NONE,
    1982920345                            {(char_u *)0L, (char_u *)0L}
     
    1985620372 #ifdef FEAT_VIRTUALEDIT
    1985720373                            (char_u *)&p_ve, PV_NONE,
    19858 @@ -2615,51 +2635,52 @@
     20374@@ -2615,51 +2636,52 @@
    1985920375                            (char_u *)NULL, PV_NONE,
    1986020376                            {(char_u *)0L, (char_u *)0L}
     
    1992220438 #ifdef FEAT_CMDL_COMPL
    1992320439                            (char_u *)&p_wop, PV_NONE,
    19924 @@ -2668,7 +2689,7 @@
     20440@@ -2668,7 +2690,7 @@
    1992520441                            (char_u *)NULL, PV_NONE,
    1992620442                            {(char_u *)NULL, (char_u *)0L}
     
    1993120447 #ifdef FEAT_WAK
    1993220448                            (char_u *)&p_wak, PV_NONE,
    19933 @@ -2677,67 +2698,67 @@
     20449@@ -2677,67 +2699,67 @@
    1993420450                            (char_u *)NULL, PV_NONE,
    1993520451                            {(char_u *)NULL, (char_u *)0L}
     
    2001220528                            (char_u *)&p_wb, PV_NONE,
    2001320529                            {
    20014 @@ -2746,15 +2767,15 @@
     20530@@ -2746,15 +2768,15 @@
    2001520531 #else
    2001620532                            (char_u *)FALSE,
     
    2003120547     p_term("t_AB", T_CAB)
    2003220548     p_term("t_AF", T_CAF)
    20033 @@ -2815,7 +2836,8 @@
     20549@@ -2815,7 +2837,8 @@
    2003420550 
    2003520551 /* terminal key codes are not in here */
     
    2004120557 
    2004220558 #define PARAM_COUNT (sizeof(options) / sizeof(struct vimoption))
    20043 @@ -3984,7 +4006,7 @@
     20559@@ -3984,7 +4007,7 @@
    2004420560        else
    2004520561        {
     
    2005020566                prefix = 0;
    2005120567                arg += 2;
    20052 @@ -4119,11 +4141,23 @@
     20568@@ -4119,11 +4142,23 @@
    2005320569                                           && options[opt_idx].var == VAR_WIN)
    2005420570                goto skip;
     
    2007820594 
    2007920595 #ifdef HAVE_SANDBOX
    20080 @@ -5268,6 +5302,21 @@
     20596@@ -5268,6 +5303,21 @@
    2008120597 }
    2008220598 #endif
     
    2010020616  * Set a string option to a new value (without checking the effect).
    2010120617  * The string is copied into allocated memory.
    20102 @@ -5275,14 +5324,13 @@
     20618@@ -5275,14 +5325,13 @@
    2010320619  * When "set_sid" is zero set the scriptID to current_SID.  When "set_sid" is
    2010420620  * SID_NONE don't set the scriptID.  Otherwise set the scriptID to "set_sid".
     
    2011620632     char_u     *s;
    2011720633     char_u     **varp;
    20118 @@ -5407,6 +5455,10 @@
     20634@@ -5407,6 +5456,10 @@
    2011920635     int                did_chartab = FALSE;
    2012020636     char_u     **gvarp;
     
    2012720643     /* Get the global option to compare with, otherwise we would have to check
    2012820644      * two values for all local options. */
    20129 @@ -5668,7 +5720,7 @@
     20645@@ -5668,7 +5721,7 @@
    2013020646            {
    2013120647 # ifdef FEAT_TITLE
     
    2013620652                /* Add 'fileencoding' to the swap file. */
    2013720653                ml_setflags(curbuf);
    20138 @@ -5687,7 +5739,7 @@
     20654@@ -5687,7 +5740,7 @@
    2013920655            {
    2014020656                errmsg = mb_init();
     
    2014520661            }
    2014620662        }
    20147 @@ -5766,14 +5818,28 @@
     20663@@ -5766,14 +5819,28 @@
    2014820664        /* load or unload key mapping tables */
    2014920665        errmsg = keymap_init();
     
    2018120697            status_redraw_curbuf();
    2018220698 # endif
    20183 @@ -5796,7 +5862,7 @@
     20699@@ -5796,7 +5863,7 @@
    2018420700            else
    2018520701                curbuf->b_p_tx = FALSE;
     
    2019020706            /* update flag in swap file */
    2019120707            ml_setflags(curbuf);
    20192 @@ -5977,15 +6043,23 @@
     20708@@ -5977,15 +6044,23 @@
    2019320709        /* ":set t_Co=0" and ":set t_Co=1" do ":set t_Co=" */
    2019420710        if (varp == &T_CCO)
     
    2022120737        ttest(FALSE);
    2022220738        if (varp == &T_ME)
    20223 @@ -6055,6 +6129,7 @@
     20739@@ -6055,6 +6130,7 @@
    2022420740                    errmsg = (char_u *)N_("E596: Invalid font(s)");
    2022520741            }
     
    2022920745 # ifdef FEAT_XFONTSET
    2023020746     else if (varp == &p_guifontset)
    20231 @@ -6063,6 +6138,7 @@
     20747@@ -6063,6 +6139,7 @@
    2023220748            errmsg = (char_u *)N_("E597: can't select fontset");
    2023320749        else if (gui.in_use && gui_init_font(p_guifontset, TRUE) != OK)
     
    2023720753 # endif
    2023820754 # ifdef FEAT_MBYTE
    20239 @@ -6072,6 +6148,7 @@
     20755@@ -6072,6 +6149,7 @@
    2024020756            errmsg = (char_u *)N_("E533: can't select wide font");
    2024120757        else if (gui_get_wide_font() == FAIL)
     
    2024520761 # endif
    2024620762 #endif
    20247 @@ -6133,13 +6210,24 @@
     20763@@ -6133,13 +6211,24 @@
    2024820764 #ifdef FEAT_GUI
    2024920765     /* 'guioptions' */
     
    2027020786 
    2027120787 #if defined(FEAT_MOUSE_TTY) && (defined(UNIX) || defined(VMS))
    20272 @@ -6717,7 +6805,11 @@
     20788@@ -6717,7 +6806,11 @@
    2027320789 
    2027420790     if (curwin->w_curswant != MAXCOL)
     
    2028320799     return errmsg;
    2028420800 }
    20285 @@ -6932,6 +7024,7 @@
     20801@@ -6932,6 +7025,7 @@
    2028620802     int                new_unnamed = FALSE;
    2028720803     int                new_autoselect = FALSE;
     
    2029120807     char_u     *errmsg = NULL;
    2029220808     char_u     *p;
    20293 @@ -6955,6 +7048,11 @@
     20809@@ -6955,6 +7049,11 @@
    2029420810            new_autoselectml = TRUE;
    2029520811            p += 12;
     
    2030320819        {
    2030420820            p += 8;
    20305 @@ -6976,6 +7074,7 @@
     20821@@ -6976,6 +7075,7 @@
    2030620822        clip_unnamed = new_unnamed;
    2030720823        clip_autoselect = new_autoselect;
     
    2031120827        clip_exclude_prog = new_exclude_prog;
    2031220828     }
    20313 @@ -7105,22 +7204,28 @@
     20829@@ -7094,6 +7194,14 @@
     20830        compatible_set();
     20831     }
     20832 
     20833+    /* 'list', 'number' */
     20834+    else if ((int *)varp == &curwin->w_p_list
     20835+         || (int *)varp == &curwin->w_p_nu)
     20836+    {
     20837+       if (curwin->w_curswant != MAXCOL)
     20838+           curwin->w_set_curswant = TRUE;
     20839+    }
     20840+
     20841     else if ((int *)varp == &curbuf->b_p_ro)
     20842     {
     20843        /* when 'readonly' is reset globally, also reset readonlymode */
     20844@@ -7105,22 +7213,28 @@
    2031420845            curbuf->b_did_warn = FALSE;
    2031520846 
     
    2034720878 
    2034820879     /* when 'bin' is set also set some other options */
    20349 @@ -7128,7 +7233,7 @@
     20880@@ -7128,7 +7242,7 @@
    2035020881     {
    2035120882        set_options_bin(old_value, curbuf->b_p_bin, opt_flags);
     
    2035620887     }
    2035720888 
    20358 @@ -7279,7 +7384,7 @@
     20889@@ -7279,7 +7393,7 @@
    2035920890        if (!value)
    2036020891            save_file_ff(curbuf);       /* Buffer is unchanged */
     
    2036520896 #ifdef FEAT_AUTOCMD
    2036620897        modified_was_set = value;
    20367 @@ -7486,9 +7591,13 @@
     20898@@ -7316,6 +7430,8 @@
     20899     {
     20900        if (curwin->w_p_wrap)
     20901            curwin->w_leftcol = 0;
     20902+       if (curwin->w_curswant != MAXCOL)
     20903+           curwin->w_set_curswant = TRUE;
     20904     }
     20905 
     20906 #ifdef FEAT_WINDOWS
     20907@@ -7486,9 +7602,13 @@
    2036820908             * set. */
    2036920909            if (STRCMP(p_enc, "utf-8") != 0)
     
    2038120921 
    2038220922 # ifdef FEAT_MBYTE
    20383 @@ -7714,7 +7823,7 @@
     20923@@ -7535,6 +7655,30 @@
     20924            curbuf->b_p_imsearch = B_IMODE_USE_INSERT;
     20925 # endif
     20926        }
     20927+       if (curwin->w_curswant != MAXCOL)
     20928+           curwin->w_set_curswant = TRUE;
     20929+    }
     20930+
     20931+    else if ((int *)varp == &p_arshape)
     20932+    {
     20933+       if (curwin->w_curswant != MAXCOL)
     20934+           curwin->w_set_curswant = TRUE;
     20935+    }
     20936+#endif
     20937+
     20938+#ifdef FEAT_LINEBREAK
     20939+    if ((int *)varp == &curwin->w_p_lbr)
     20940+    {
     20941+       if (curwin->w_curswant != MAXCOL)
     20942+           curwin->w_set_curswant = TRUE;
     20943+    }
     20944+#endif
     20945+
     20946+#ifdef FEAT_RIGHTLEFT
     20947+    if ((int *)varp == &curwin->w_p_rl)
     20948+    {
     20949+       if (curwin->w_curswant != MAXCOL)
     20950+           curwin->w_set_curswant = TRUE;
     20951     }
     20952 #endif
     20953 
     20954@@ -7545,8 +7689,7 @@
     20955     options[opt_idx].flags |= P_WAS_SET;
     20956 
     20957     comp_col();                            /* in case 'ruler' or 'showcmd' changed */
     20958-    if (curwin->w_curswant != MAXCOL)
     20959-       curwin->w_set_curswant = TRUE;  /* in case 'list' changed */
     20960+
     20961     check_redraw(options[opt_idx].flags);
     20962 
     20963     return NULL;
     20964@@ -7714,7 +7857,7 @@
    2038420965        newFoldLevel();
    2038520966     }
     
    2039020971     {
    2039120972        foldUpdateAll(curwin);
    20392 @@ -7974,6 +8083,11 @@
     20973@@ -7974,6 +8117,11 @@
    2039320974        else /* curwin->w_p_scr > curwin->w_height */
    2039420975            curwin->w_p_scr = curwin->w_height;
     
    2040220983     {
    2040320984        errmsg = e_positive;
    20404 @@ -8227,13 +8341,13 @@
     20985@@ -8227,13 +8375,13 @@
    2040520986            {
    2040620987                if (number == 0 && string != NULL)
     
    2041921000                        /* There's another character after zeros or the string
    2042021001                         * is empty.  In both cases, we are trying to set a
    20421 @@ -8323,7 +8437,7 @@
     21002@@ -8323,7 +8471,7 @@
    2042221003     {
    2042321004        --arg;                      /* put arg at the '<' */
     
    2042821009            key = 0;
    2042921010     }
    20430 @@ -9271,10 +9385,9 @@
     21011@@ -8813,6 +8961,28 @@
     21012 }
     21013 
     21014 /*
     21015+ * Free the string for one term option, if it was allocated.
     21016+ * Set the string to empty_option and clear allocated flag.
     21017+ * "var" points to the option value.
     21018+ */
     21019+    void
     21020+free_one_termoption(var)
     21021+    char_u *var;
     21022+{
     21023+    struct vimoption   *p;
     21024+
     21025+    for (p = &options[0]; p->fullname != NULL; p++)
     21026+       if (p->var == var)
     21027+       {
     21028+           if (p->flags & P_ALLOCED)
     21029+               free_string_option(*(char_u **)(p->var));
     21030+           *(char_u **)(p->var) = empty_option;
     21031+           p->flags &= ~P_ALLOCED;
     21032+           break;
     21033+       }
     21034+}
     21035+
     21036+/*
     21037  * Set the terminal option defaults to the current value.
     21038  * Used after setting the terminal name.
     21039  */
     21040@@ -9271,10 +9441,9 @@
    2043121041 /*
    2043221042  * Check for NULL pointers in a winopt_T and replace them with empty_option.
     
    2044021050 #ifdef FEAT_FOLDING
    2044121051     check_string_option(&wop->wo_fdi);
    20442 @@ -9296,10 +9409,9 @@
     21052@@ -9296,10 +9465,9 @@
    2044321053 /*
    2044421054  * Free the allocated memory inside a winopt_T.
     
    2045221062 #ifdef FEAT_FOLDING
    2045321063     clear_string_option(&wop->wo_fdi);
    20454 @@ -9645,7 +9757,7 @@
     21064@@ -9645,7 +9813,7 @@
    2045521065        }
    2045621066        --p;
     
    2046121071        xp->xp_context = EXPAND_BOOL_SETTINGS;
    2046221072        p += 2;
    20463 @@ -9834,7 +9946,8 @@
     21073@@ -9834,7 +10002,8 @@
    2046421074        regmatch->rm_ic = ic;
    2046521075        if (xp->xp_context != EXPAND_BOOL_SETTINGS)
     
    2047121081                {
    2047221082                    if (loop == 0)
    20473 @@ -10093,25 +10206,110 @@
     21083@@ -10093,25 +10262,110 @@
    2047421084 
    2047521085 #ifdef FEAT_LANGMAP
     
    2048921099+ * langmap_entry_T.  This does the same as langmap_mapchar[] for characters >=
    2049021100+ * 256.
    20491   */
     21101+ */
    2049221102+# ifdef FEAT_MBYTE
    2049321103+/*
    2049421104+ * With multi-byte support use growarray for 'langmap' chars >= 256
    20495 + */
     21105  */
    2049621106+typedef struct
    2049721107+{
     
    2059121201 
    2059221202 /*
    20593 @@ -10125,7 +10323,10 @@
     21203@@ -10125,7 +10379,10 @@
    2059421204     char_u  *p2;
    2059521205     int            from, to;
     
    2060321213     for (p = p_langmap; p[0] != NUL; )
    2060421214     {
    20605 @@ -10175,7 +10376,13 @@
     21215@@ -10175,7 +10432,13 @@
    2060621216                                                             transchar(from));
    2060721217                return;
     
    2062021230diff -Naur vim72.orig/src/os_unix.c vim72/src/os_unix.c
    2062121231--- vim72.orig/src/os_unix.c    2008-08-06 04:01:40.000000000 -0700
    20622 +++ vim72/src/os_unix.c 2009-07-19 15:18:55.000000000 -0700
     21232+++ vim72/src/os_unix.c 2009-09-12 08:41:32.000000000 -0700
    2062321233@@ -181,7 +181,8 @@
    2062421234        && defined(FEAT_TITLE) && !defined(FEAT_GUI_GTK)
     
    2088121491 #endif
    2088221492 
     21493@@ -1706,9 +1734,9 @@
     21494     if (oldicon == NULL && !test_only)
     21495     {
     21496        if (STRNCMP(T_NAME, "builtin_", 8) == 0)
     21497-           oldicon = T_NAME + 8;
     21498+           oldicon = vim_strsave(T_NAME + 8);
     21499        else
     21500-           oldicon = T_NAME;
     21501+           oldicon = vim_strsave(T_NAME);
     21502     }
     21503 
     21504     return retval;
    2088321505@@ -1897,10 +1925,9 @@
    2088421506 
     
    2089121513+    int            test_only UNUSED;
    2089221514 {
     21515     return FALSE;
     21516 }
     21517@@ -1912,9 +1939,9 @@
     21518     if (!test_only)
     21519     {
     21520        if (STRNCMP(T_NAME, "builtin_", 8) == 0)
     21521-           oldicon = T_NAME + 8;
     21522+           oldicon = vim_strsave(T_NAME + 8);
     21523        else
     21524-           oldicon = T_NAME;
     21525+           oldicon = vim_strsave(T_NAME);
     21526     }
    2089321527     return FALSE;
    2089421528 }
     
    2136021994diff -Naur vim72.orig/src/os_unix.h vim72/src/os_unix.h
    2136121995--- vim72.orig/src/os_unix.h    2008-06-17 11:01:17.000000000 -0700
    21362 +++ vim72/src/os_unix.h 2009-07-19 15:18:55.000000000 -0700
     21996+++ vim72/src/os_unix.h 2009-09-12 08:41:19.000000000 -0700
    2136321997@@ -124,7 +124,7 @@
    2136421998 #  define SIGDUMMYARG  0, 0, (struct sigcontext *)0
     
    2138422018diff -Naur vim72.orig/src/proto/buffer.pro vim72/src/proto/buffer.pro
    2138522019--- vim72.orig/src/proto/buffer.pro     2008-08-09 07:31:21.000000000 -0700
    21386 +++ vim72/src/proto/buffer.pro  2009-07-19 15:15:54.000000000 -0700
     22020+++ vim72/src/proto/buffer.pro  2009-09-12 08:38:11.000000000 -0700
    2138722021@@ -37,13 +37,12 @@
    2138822022 int otherfile __ARGS((char_u *ffname));
     
    2141422048diff -Naur vim72.orig/src/proto/edit.pro vim72/src/proto/edit.pro
    2141522049--- vim72.orig/src/proto/edit.pro       2008-08-09 07:31:24.000000000 -0700
    21416 +++ vim72/src/proto/edit.pro    2009-07-19 15:15:54.000000000 -0700
     22050+++ vim72/src/proto/edit.pro    2009-09-12 08:38:11.000000000 -0700
    2141722051@@ -8,7 +8,7 @@
    2141822052 void backspace_until_column __ARGS((int col));
     
    2142622060diff -Naur vim72.orig/src/proto/eval.pro vim72/src/proto/eval.pro
    2142722061--- vim72.orig/src/proto/eval.pro       2008-08-09 07:31:25.000000000 -0700
    21428 +++ vim72/src/proto/eval.pro    2009-07-19 15:10:37.000000000 -0700
     22062+++ vim72/src/proto/eval.pro    2009-09-12 08:32:50.000000000 -0700
    2142922063@@ -17,7 +17,7 @@
    2143022064 int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip));
     
    2146822102diff -Naur vim72.orig/src/proto/ex_cmds.pro vim72/src/proto/ex_cmds.pro
    2146922103--- vim72.orig/src/proto/ex_cmds.pro    2008-08-09 07:31:25.000000000 -0700
    21470 +++ vim72/src/proto/ex_cmds.pro 2009-07-19 15:16:00.000000000 -0700
     22104+++ vim72/src/proto/ex_cmds.pro 2009-09-12 08:38:17.000000000 -0700
    2147122105@@ -9,9 +9,9 @@
    2147222106 void do_bang __ARGS((int addr_count, exarg_T *eap, int forceit, int do_in, int do_out));
     
    2149222126diff -Naur vim72.orig/src/proto/ex_getln.pro vim72/src/proto/ex_getln.pro
    2149322127--- vim72.orig/src/proto/ex_getln.pro   2008-08-09 07:31:28.000000000 -0700
    21494 +++ vim72/src/proto/ex_getln.pro        2009-07-19 15:14:20.000000000 -0700
     22128+++ vim72/src/proto/ex_getln.pro        2009-09-12 08:36:36.000000000 -0700
    2149522129@@ -4,6 +4,7 @@
    2149622130 int text_locked __ARGS((void));
     
    2151222146diff -Naur vim72.orig/src/proto/gui.pro vim72/src/proto/gui.pro
    2151322147--- vim72.orig/src/proto/gui.pro        2008-08-09 07:31:56.000000000 -0700
    21514 +++ vim72/src/proto/gui.pro     2009-07-19 15:17:39.000000000 -0700
     22148+++ vim72/src/proto/gui.pro     2009-09-12 08:39:58.000000000 -0700
    2151522149@@ -43,6 +43,7 @@
    2151622150 void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
     
    2152322157diff -Naur vim72.orig/src/proto/if_cscope.pro vim72/src/proto/if_cscope.pro
    2152422158--- vim72.orig/src/proto/if_cscope.pro  2008-08-09 07:31:33.000000000 -0700
    21525 +++ vim72/src/proto/if_cscope.pro       2009-07-19 15:15:24.000000000 -0700
     22159+++ vim72/src/proto/if_cscope.pro       2009-09-12 08:37:41.000000000 -0700
    2152622160@@ -1,4 +1,6 @@
    2152722161 /* if_cscope.c */
     
    2153322167diff -Naur vim72.orig/src/proto/mark.pro vim72/src/proto/mark.pro
    2153422168--- vim72.orig/src/proto/mark.pro       2008-08-09 07:31:36.000000000 -0700
    21535 +++ vim72/src/proto/mark.pro    2009-07-19 15:09:53.000000000 -0700
     22169+++ vim72/src/proto/mark.pro    2009-09-12 08:32:04.000000000 -0700
    2153622170@@ -26,5 +26,5 @@
    2153722171 void write_viminfo_filemarks __ARGS((FILE *fp));
     
    2154322177diff -Naur vim72.orig/src/proto/mbyte.pro vim72/src/proto/mbyte.pro
    2154422178--- vim72.orig/src/proto/mbyte.pro      2008-08-09 07:31:41.000000000 -0700
    21545 +++ vim72/src/proto/mbyte.pro   2009-07-19 15:17:30.000000000 -0700
     22179+++ vim72/src/proto/mbyte.pro   2009-09-12 08:39:49.000000000 -0700
    2154622180@@ -7,10 +7,12 @@
    2154722181 int latin_char2len __ARGS((int c));
     
    2156722201diff -Naur vim72.orig/src/proto/message.pro vim72/src/proto/message.pro
    2156822202--- vim72.orig/src/proto/message.pro    2008-08-09 07:31:39.000000000 -0700
    21569 +++ vim72/src/proto/message.pro 2009-07-19 15:15:14.000000000 -0700
     22203+++ vim72/src/proto/message.pro 2009-09-12 08:37:30.000000000 -0700
    2157022204@@ -54,6 +54,7 @@
    2157122205 void msg_clr_cmdline __ARGS((void));
     
    2157822212diff -Naur vim72.orig/src/proto/misc2.pro vim72/src/proto/misc2.pro
    2157922213--- vim72.orig/src/proto/misc2.pro      2008-08-09 07:31:40.000000000 -0700
    21580 +++ vim72/src/proto/misc2.pro   2009-07-19 15:11:46.000000000 -0700
     22214+++ vim72/src/proto/misc2.pro   2009-09-12 08:33:59.000000000 -0700
    2158122215@@ -59,7 +59,7 @@
    2158222216 int handle_x_keys __ARGS((int key));
     
    2159022224diff -Naur vim72.orig/src/proto/netbeans.pro vim72/src/proto/netbeans.pro
    2159122225--- vim72.orig/src/proto/netbeans.pro   2008-08-09 07:31:56.000000000 -0700
    21592 +++ vim72/src/proto/netbeans.pro        2009-07-19 15:12:02.000000000 -0700
     22226+++ vim72/src/proto/netbeans.pro        2009-09-12 08:34:15.000000000 -0700
    2159322227@@ -11,7 +11,7 @@
    2159422228 void netbeans_frame_moved __ARGS((int new_x, int new_y));
     
    2160222236diff -Naur vim72.orig/src/proto/option.pro vim72/src/proto/option.pro
    2160322237--- vim72.orig/src/proto/option.pro     2008-08-09 07:31:43.000000000 -0700
    21604 +++ vim72/src/proto/option.pro  2009-07-19 15:13:20.000000000 -0700
    21605 @@ -44,6 +44,7 @@
     22238+++ vim72/src/proto/option.pro  2009-09-12 08:41:35.000000000 -0700
     22239@@ -29,6 +29,7 @@
     22240 int makefoldset __ARGS((FILE *fd));
     22241 void clear_termoptions __ARGS((void));
     22242 void free_termoptions __ARGS((void));
     22243+void free_one_termoption __ARGS((char_u *var));
     22244 void set_term_defaults __ARGS((void));
     22245 void comp_col __ARGS((void));
     22246 char_u *get_equalprg __ARGS((void));
     22247@@ -44,6 +45,7 @@
    2160622248 void set_context_in_set_cmd __ARGS((expand_T *xp, char_u *arg, int opt_flags));
    2160722249 int ExpandSettings __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
     
    2161322255diff -Naur vim72.orig/src/proto/os_unix.pro vim72/src/proto/os_unix.pro
    2161422256--- vim72.orig/src/proto/os_unix.pro    2008-08-09 07:31:44.000000000 -0700
    21615 +++ vim72/src/proto/os_unix.pro 2009-07-19 15:18:55.000000000 -0700
     22257+++ vim72/src/proto/os_unix.pro 2009-09-12 08:41:19.000000000 -0700
    2161622258@@ -1,4 +1,5 @@
    2161722259 /* os_unix.c */
     
    2162222264diff -Naur vim72.orig/src/proto/spell.pro vim72/src/proto/spell.pro
    2162322265--- vim72.orig/src/proto/spell.pro      2008-08-09 07:31:48.000000000 -0700
    21624 +++ vim72/src/proto/spell.pro   2009-07-19 15:16:00.000000000 -0700
     22266+++ vim72/src/proto/spell.pro   2009-09-12 08:38:17.000000000 -0700
    2162522267@@ -22,5 +22,5 @@
    2162622268 char_u *spell_to_word_end __ARGS((char_u *start, buf_T *buf));
     
    2163222274diff -Naur vim72.orig/src/proto/ui.pro vim72/src/proto/ui.pro
    2163322275--- vim72.orig/src/proto/ui.pro 2008-08-09 07:31:52.000000000 -0700
    21634 +++ vim72/src/proto/ui.pro      2009-07-19 15:18:26.000000000 -0700
     22276+++ vim72/src/proto/ui.pro      2009-09-12 08:40:50.000000000 -0700
    2163522277@@ -48,6 +48,7 @@
    2163622278 void open_app_context __ARGS((void));
     
    2164322285diff -Naur vim72.orig/src/proto/window.pro vim72/src/proto/window.pro
    2164422286--- vim72.orig/src/proto/window.pro     2008-08-09 07:31:54.000000000 -0700
    21645 +++ vim72/src/proto/window.pro  2009-07-19 15:18:10.000000000 -0700
     22287+++ vim72/src/proto/window.pro  2009-09-12 08:40:34.000000000 -0700
    2164622288@@ -1,6 +1,7 @@
    2164722289 /* window.c */
     
    2168522327diff -Naur vim72.orig/src/pty.c vim72/src/pty.c
    2168622328--- vim72.orig/src/pty.c        2008-06-21 11:52:58.000000000 -0700
    21687 +++ vim72/src/pty.c     2009-07-19 15:08:34.000000000 -0700
     22329+++ vim72/src/pty.c     2009-09-12 08:30:44.000000000 -0700
    2168822330@@ -270,9 +270,10 @@
    2168922331 }
     
    2170122343diff -Naur vim72.orig/src/quickfix.c vim72/src/quickfix.c
    2170222344--- vim72.orig/src/quickfix.c   2008-07-18 05:53:02.000000000 -0700
    21703 +++ vim72/src/quickfix.c        2009-07-19 15:18:10.000000000 -0700
     22345+++ vim72/src/quickfix.c        2009-09-12 08:40:34.000000000 -0700
    2170422346@@ -1419,6 +1419,7 @@
    2170522347     int                        opened_window = FALSE;
     
    2188822530diff -Naur vim72.orig/src/regexp.c vim72/src/regexp.c
    2188922531--- vim72.orig/src/regexp.c     2008-08-07 12:58:50.000000000 -0700
    21890 +++ vim72/src/regexp.c  2009-07-19 15:16:14.000000000 -0700
     22532+++ vim72/src/regexp.c  2009-09-12 08:38:31.000000000 -0700
    2189122533@@ -471,7 +471,7 @@
    2189222534 
     
    2194822590diff -Naur vim72.orig/src/screen.c vim72/src/screen.c
    2194922591--- vim72.orig/src/screen.c     2008-07-24 07:45:07.000000000 -0700
    21950 +++ vim72/src/screen.c  2009-07-19 15:17:49.000000000 -0700
     22592+++ vim72/src/screen.c  2009-09-12 08:41:48.000000000 -0700
    2195122593@@ -270,11 +270,10 @@
    2195222594  * Note that when also inserting/deleting lines w_redraw_top and w_redraw_bot
     
    2232122963      * Allocation of the screen buffers is done only when the size changes and
    2232222964      * when Rows and Columns have been set and we have started doing full
    22323 @@ -7440,10 +7499,17 @@
     22965@@ -7408,6 +7467,10 @@
     22966      */
     22967     FOR_ALL_TAB_WINDOWS(tp, wp)
     22968        win_free_lsize(wp);
     22969+#ifdef FEAT_AUTOCMD
     22970+    if (aucmd_win != NULL)
     22971+       win_free_lsize(aucmd_win);
     22972+#endif
     22973 
     22974     new_ScreenLines = (schar_T *)lalloc((long_u)(
     22975                              (Rows + 1) * Columns * sizeof(schar_T)), FALSE);
     22976@@ -7440,10 +7503,18 @@
    2232422977        {
    2232522978            outofmem = TRUE;
     
    2233122984     }
    2233222985+#ifdef FEAT_AUTOCMD
    22333 +    if (aucmd_win != NULL && win_alloc_lines(aucmd_win) == FAIL)
     22986+    if (aucmd_win != NULL && aucmd_win->w_lines == NULL
     22987+                                       && win_alloc_lines(aucmd_win) == FAIL)
    2233422988+       outofmem = TRUE;
    2233522989+#endif
     
    2234022994 #ifdef FEAT_MBYTE
    2234122995     for (i = 0; i < p_mco; ++i)
    22342 @@ -7628,8 +7694,17 @@
     22996@@ -7628,8 +7699,17 @@
    2234322997     --RedrawingDisabled;
    2234422998 
     
    2235923013 }
    2236023014 
    22361 @@ -8590,7 +8665,6 @@
     23015@@ -8590,7 +8670,6 @@
    2236223016  *
    2236323017  * Return OK for success, FAIL if the lines are not deleted.
     
    2236723021 screen_del_lines(off, row, line_count, end, force, wp)
    2236823022     int                off;
    22369 @@ -8598,7 +8672,7 @@
     23023@@ -8598,7 +8677,7 @@
    2237023024     int                line_count;
    2237123025     int                end;
     
    2237623030     int                j;
    2237723031     int                i;
    22378 @@ -9416,13 +9490,15 @@
     23032@@ -9416,13 +9495,15 @@
    2237923033     win_T      *wp;
    2238023034     int                always;
     
    2239323047 #ifdef FEAT_VERTSPLIT
    2239423048     int                this_ru_col;
    22395 @@ -9537,11 +9613,12 @@
     23049@@ -9537,11 +9618,12 @@
    2239623050         * Some sprintfs return the length, some return a pointer.
    2239723051         * To avoid portability problems we use strlen() here.
     
    2240823062                        (int)virtcol + 1);
    2240923063 
    22410 @@ -9551,7 +9628,7 @@
     23064@@ -9551,7 +9633,7 @@
    2241123065         * screen up on some terminals).
    2241223066         */
     
    2241723071 #ifdef FEAT_WINDOWS
    2241823072        if (wp->w_status_height == 0)   /* can't use last char of screen */
    22419 @@ -9578,7 +9655,7 @@
     23073@@ -9578,7 +9660,7 @@
    2242023074                    buffer[i++] = fillchar;
    2242123075                ++o;
     
    2242823082diff -Naur vim72.orig/src/search.c vim72/src/search.c
    2242923083--- vim72.orig/src/search.c     2008-07-13 11:18:27.000000000 -0700
    22430 +++ vim72/src/search.c  2009-07-19 15:16:33.000000000 -0700
     23084+++ vim72/src/search.c  2009-09-12 08:38:51.000000000 -0700
    2243123085@@ -345,6 +345,15 @@
    2243223086 {
     
    2256923223diff -Naur vim72.orig/src/spell.c vim72/src/spell.c
    2257023224--- vim72.orig/src/spell.c      2008-07-12 12:20:55.000000000 -0700
    22571 +++ vim72/src/spell.c   2009-07-19 15:16:33.000000000 -0700
     23225+++ vim72/src/spell.c   2009-09-12 08:41:27.000000000 -0700
    2257223226@@ -77,7 +77,7 @@
    2257323227 
     
    2342624080            totlen += len;
    2342724081        }
    23428 @@ -10343,10 +10541,9 @@
     24082@@ -10054,6 +10252,7 @@
     24083     int                limit;
     24084     int                selected = count;
     24085     int                badlen = 0;
     24086+    int                msg_scroll_save = msg_scroll;
     24087 
     24088     if (no_spell_checking(curwin))
     24089        return;
     24090@@ -10218,7 +10417,9 @@
     24091        selected = prompt_for_number(&mouse_used);
     24092        if (mouse_used)
     24093            selected -= lines_left;
     24094-       lines_left = Rows;      /* avoid more prompt */
     24095+       lines_left = Rows;              /* avoid more prompt */
     24096+       /* don't delay for 'smd' in normal_cmd() */
     24097+       msg_scroll = msg_scroll_save;
     24098     }
     24099 
     24100     if (selected > 0 && selected <= sug.su_ga.ga_len && u_save_cursor() == OK)
     24101@@ -10243,7 +10444,8 @@
     24102        }
     24103 
     24104        /* Replace the word. */
     24105-       p = alloc((unsigned)STRLEN(line) - stp->st_orglen + stp->st_wordlen + 1);
     24106+       p = alloc((unsigned)STRLEN(line) - stp->st_orglen
     24107+                                                      + stp->st_wordlen + 1);
     24108        if (p != NULL)
     24109        {
     24110            c = (int)(sug.su_badptr - line);
     24111@@ -10343,10 +10545,9 @@
    2342924112 /*
    2343024113  * ":spellrepall"
     
    2343824121     pos_T      pos = curwin->w_cursor;
    2343924122     char_u     *frompat;
    23440 @@ -11480,15 +11677,24 @@
     24123@@ -11480,15 +11681,24 @@
    2344124124                    vim_strncpy(preword + sp->ts_prewordlen,
    2344224125                            tword + sp->ts_splitoff,
     
    2347024153                    p = preword + sp->ts_prewordlen;
    2347124154                    mb_ptr_back(preword, p);
    23472 @@ -11685,10 +11891,9 @@
     24155@@ -11685,10 +11895,9 @@
    2347324156                        && (slang->sl_compsylmax < MAXWLEN
    2347424157                            || sp->ts_complen + 1 - sp->ts_compsplit
     
    2348424167                    try_compound = TRUE;
    2348524168                    compflags[sp->ts_complen] = ((unsigned)flags >> 24);
    23486 @@ -14808,7 +15013,7 @@
     24169@@ -14808,7 +15017,7 @@
    2348724170 
    2348824171        case 0:
     
    2349324176             * 1: check if for identical strings
    2349424177             */
    23495 @@ -15398,10 +15603,9 @@
     24178@@ -15398,10 +15607,9 @@
    2349624179 /*
    2349724180  * ":spellinfo"
     
    2350524188     int                lpi;
    2350624189     langp_T    *lp;
    23507 @@ -15945,11 +16149,9 @@
     24190@@ -15945,11 +16153,9 @@
    2350824191  * Returns the number of matches.  The matches are in "matchp[]", array of
    2350924192  * allocated strings.
     
    2352124204diff -Naur vim72.orig/src/structs.h vim72/src/structs.h
    2352224205--- vim72.orig/src/structs.h    2008-07-30 13:02:50.000000000 -0700
    23523 +++ vim72/src/structs.h 2009-07-19 15:18:36.000000000 -0700
     24206+++ vim72/src/structs.h 2009-09-12 08:41:43.000000000 -0700
    2352424207@@ -16,7 +16,7 @@
    2352524208  */
     
    2361224295     int                w_topfill;          /* number of filler lines above w_topline */
    2361324296     int                w_old_topfill;      /* w_topfill at last redraw */
    23614 @@ -2270,16 +2286,11 @@
     24297@@ -2270,16 +2286,13 @@
    2361524298  */
    2361624299 typedef struct
     
    2362724310-    int                save_topfill;   /* saved topfill of save_curwin */
    2362824311-# endif
     24312+    int                use_aucmd_win;  /* using aucmd_win */
    2362924313+    win_T      *save_curwin;   /* saved curwin */
    2363024314+    win_T      *new_curwin;    /* new curwin */
    2363124315+    buf_T      *new_curbuf;    /* new curbuf */
     24316+    char_u     *globaldir;     /* saved value of globaldir */
    2363224317 #endif
    2363324318 } aco_save_T;
     
    2363524320diff -Naur vim72.orig/src/syntax.c vim72/src/syntax.c
    2363624321--- vim72.orig/src/syntax.c     2008-08-08 14:47:48.000000000 -0700
    23637 +++ vim72/src/syntax.c  2009-07-19 15:16:33.000000000 -0700
     24322+++ vim72/src/syntax.c  2009-09-12 08:38:51.000000000 -0700
    2363824323@@ -3224,11 +3224,10 @@
    2363924324 /*
     
    2382324508diff -Naur vim72.orig/src/tag.c vim72/src/tag.c
    2382424509--- vim72.orig/src/tag.c        2008-07-16 14:31:30.000000000 -0700
    23825 +++ vim72/src/tag.c     2009-07-19 15:16:33.000000000 -0700
     24510+++ vim72/src/tag.c     2009-09-12 08:38:51.000000000 -0700
    2382624511@@ -100,7 +100,7 @@
    2382724512  * Tag for preview window is remembered separately, to avoid messing up the
     
    2399724682diff -Naur vim72.orig/src/term.c vim72/src/term.c
    2399824683--- vim72.orig/src/term.c       2008-07-27 04:48:06.000000000 -0700
    23999 +++ vim72/src/term.c    2009-07-19 15:17:27.000000000 -0700
     24684+++ vim72/src/term.c    2009-09-12 08:41:35.000000000 -0700
     24685@@ -2881,7 +2881,7 @@
     24686 
     24687        /* if 'Sb' and 'AB' are not defined, reset "Co" */
     24688        if (*T_CSB == NUL && *T_CAB == NUL)
     24689-           T_CCO = empty_option;
     24690+           free_one_termoption(T_CCO);
     24691 
     24692        /* Set 'weirdinvert' according to value of 't_xs' */
     24693        p_wiv = (*T_XS != NUL);
    2400024694@@ -2906,7 +2906,7 @@
    2400124695     int            i;
     
    2404424738diff -Naur vim72.orig/src/testdir/Makefile vim72/src/testdir/Makefile
    2404524739--- vim72.orig/src/testdir/Makefile     2008-06-19 13:29:46.000000000 -0700
    24046 +++ vim72/src/testdir/Makefile  2009-07-19 15:18:15.000000000 -0700
     24740+++ vim72/src/testdir/Makefile  2009-09-12 08:42:30.000000000 -0700
    2404724741@@ -4,9 +4,11 @@
    2404824742 
     
    2406524759                test59.out test60.out test61.out test62.out test63.out \
    2406624760-               test64.out test65.out
    24067 +               test64.out test65.out test66.out
     24761+               test64.out test65.out test66.out test67.out
    2406824762 
    2406924763 SCRIPTS_GUI = test16.out
     
    2410024794diff -Naur vim72.orig/src/testdir/Make_ming.mak vim72/src/testdir/Make_ming.mak
    2410124795--- vim72.orig/src/testdir/Make_ming.mak        1969-12-31 16:00:00.000000000 -0800
    24102 +++ vim72/src/testdir/Make_ming.mak     2009-07-19 15:09:28.000000000 -0700
     24796+++ vim72/src/testdir/Make_ming.mak     2009-09-12 08:31:40.000000000 -0700
    2410324797@@ -0,0 +1,91 @@
    2410424798+# Makefile to run tests for Vim, on Dos-like machines
     
    2419524889diff -Naur vim72.orig/src/testdir/test42.ok vim72/src/testdir/test42.ok
    2419624890--- vim72.orig/src/testdir/test42.ok    2008-02-20 04:27:37.000000000 -0800
    24197 +++ vim72/src/testdir/test42.ok 2009-07-19 15:09:58.000000000 -0700
     24891+++ vim72/src/testdir/test42.ok 2009-09-12 08:32:10.000000000 -0700
    2419824892@@ -20,7 +20,7 @@
    2419924893 ucs-2
     
    2420724901diff -Naur vim72.orig/src/testdir/test66.in vim72/src/testdir/test66.in
    2420824902--- vim72.orig/src/testdir/test66.in    1969-12-31 16:00:00.000000000 -0800
    24209 +++ vim72/src/testdir/test66.in 2009-07-19 15:14:34.000000000 -0700
     24903+++ vim72/src/testdir/test66.in 2009-09-12 08:36:49.000000000 -0700
    2421024904@@ -0,0 +1,25 @@
    2421124905+
     
    2423624930diff -Naur vim72.orig/src/testdir/test66.ok vim72/src/testdir/test66.ok
    2423724931--- vim72.orig/src/testdir/test66.ok    1969-12-31 16:00:00.000000000 -0800
    24238 +++ vim72/src/testdir/test66.ok 2009-07-19 15:14:34.000000000 -0700
     24932+++ vim72/src/testdir/test66.ok 2009-09-12 08:36:49.000000000 -0700
    2423924933@@ -0,0 +1,10 @@
    2424024934+    abcdefghijklmnopqrstuvwxyz
     
    2424824942+    abc                defghijklmnopqrstuvwxyz
    2424924943+    abc            defghijklmnopqrstuvwxyz
     24944diff -Naur vim72.orig/src/testdir/test67.in vim72/src/testdir/test67.in
     24945--- vim72.orig/src/testdir/test67.in    1969-12-31 16:00:00.000000000 -0800
     24946+++ vim72/src/testdir/test67.in 2009-09-12 08:42:30.000000000 -0700
     24947@@ -0,0 +1,33 @@
     24948+Test that groups and patterns are tested correctly when calling exists() for
     24949+autocommands.
     24950+
     24951+STARTTEST
     24952+:so small.vim
     24953+:let results=[]
     24954+:augroup auexists
     24955+:augroup END
     24956+:call add(results, "##BufEnter: " . exists("##BufEnter"))
     24957+:call add(results, "#BufEnter: " . exists("#BufEnter"))
     24958+:au BufEnter * let g:entered=1
     24959+:call add(results, "#BufEnter: " . exists("#BufEnter"))
     24960+:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
     24961+:augroup auexists
     24962+:au BufEnter * let g:entered=1
     24963+:augroup END
     24964+:call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter"))
     24965+:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
     24966+:au BufEnter *.test let g:entered=1
     24967+:call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test"))
     24968+:edit testfile.test
     24969+:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
     24970+:au BufEnter <buffer> let g:entered=1
     24971+:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
     24972+:edit testfile2.test
     24973+:call add(results, "#BufEnter#<buffer>: " . exists("#BufEnter#<buffer>"))
     24974+:e test.out
     24975+:call append(0, results)
     24976+:$d
     24977+:w
     24978+:qa!
     24979+ENDTEST
     24980+
     24981diff -Naur vim72.orig/src/testdir/test67.ok vim72/src/testdir/test67.ok
     24982--- vim72.orig/src/testdir/test67.ok    1969-12-31 16:00:00.000000000 -0800
     24983+++ vim72/src/testdir/test67.ok 2009-09-12 08:42:30.000000000 -0700
     24984@@ -0,0 +1,10 @@
     24985+##BufEnter: 1
     24986+#BufEnter: 0
     24987+#BufEnter: 1
     24988+#auexists#BufEnter: 0
     24989+#auexists#BufEnter: 1
     24990+#BufEnter#*.test: 0
     24991+#BufEnter#*.test: 1
     24992+#BufEnter#<buffer>: 0
     24993+#BufEnter#<buffer>: 1
     24994+#BufEnter#<buffer>: 0
    2425024995diff -Naur vim72.orig/src/ui.c vim72/src/ui.c
    2425124996--- vim72.orig/src/ui.c 2008-07-14 11:14:56.000000000 -0700
    24252 +++ vim72/src/ui.c      2009-07-19 15:18:26.000000000 -0700
     24997+++ vim72/src/ui.c      2009-09-12 08:42:28.000000000 -0700
    2425324998@@ -320,10 +320,9 @@
    2425424999  * The gui_set_shellsize() or mch_set_shellsize() function will try to set the
     
    2444125186 {
    2444225187     if (*sel_atom == clip_plus.sel_atom)
    24443 @@ -2344,14 +2352,67 @@
     25188@@ -2344,11 +2352,64 @@
    2444425189  * Send the current selection to the clipboard.  Do nothing for X because we
    2444525190  * will fill in the selection only when requested by another app.
     
    2445025195-    VimClipboard *cbd;
    2445125196+    VimClipboard *cbd UNUSED;
    24452  {
    24453  }
    24454  #endif
    24455  
     25197+{
     25198+}
     25199+#endif
     25200+
    2445625201+#if defined(FEAT_XCLIPBOARD) || defined(FEAT_GUI_X11) \
    2445725202+    || defined(FEAT_GUI_GTK) || defined(PROTO)
     
    2446325208+    Display            *dpy;
    2446425209+    VimClipboard       *cbd;
    24465 +{
     25210 {
    2446625211+    int                nbytes = 0;
    2446725212+    char_u     *buffer = (char_u *)XFetchBuffer(dpy, &nbytes, 0);
     
    2450525250+       }
    2450625251+    }
    24507 +}
    24508 +#endif
    24509 +
    24510  #if defined(FEAT_MOUSE) || defined(PROTO)
    24511  
    24512  /*
     25252 }
     25253 #endif
     25254 
    2451325255@@ -2898,11 +2959,10 @@
    2451425256  * Find the window at screen position "*rowp" and "*colp".  The positions are
     
    2452425266     frame_T    *fp;
    2452525267 
     25268@@ -2995,18 +3055,17 @@
     25269     int                vcol;
     25270 {
     25271     /* try to advance to the specified column */
     25272-    int                col = 0;
     25273     int                count = 0;
     25274     char_u     *ptr;
     25275+    char_u     *start;
     25276 
     25277-    ptr = ml_get_buf(wp->w_buffer, lnum, FALSE);
     25278+    start = ptr = ml_get_buf(wp->w_buffer, lnum, FALSE);
     25279     while (count <= vcol && *ptr != NUL)
     25280     {
     25281-       ++col;
     25282        count += win_lbr_chartabsize(wp, ptr, count, NULL);
     25283        mb_ptr_adv(ptr);
     25284     }
     25285-    return col;
     25286+    return (int)(ptr - start);
     25287 }
     25288 #endif
     25289 
    2452625290diff -Naur vim72.orig/src/version.c vim72/src/version.c
    2452725291--- vim72.orig/src/version.c    2008-08-09 07:24:52.000000000 -0700
    24528 +++ vim72/src/version.c 2009-07-19 15:19:00.000000000 -0700
    24529 @@ -677,9 +677,444 @@
     25292+++ vim72/src/version.c 2009-09-12 08:42:30.000000000 -0700
     25293@@ -677,9 +677,486 @@
    2453025294 static int included_patches[] =
    2453125295 {   /* Add new patch number below this line */
    2453225296 /**/
     25297+    259,
     25298+/**/
     25299+    258,
     25300+/**/
     25301+    257,
     25302+/**/
     25303+    256,
     25304+/**/
     25305+    255,
     25306+/**/
     25307+    254,
     25308+/**/
     25309+    253,
     25310+/**/
     25311+    252,
     25312+/**/
     25313+    251,
     25314+/**/
     25315+    246,
     25316+/**/
     25317+    245,
     25318+/**/
     25319+    244,
     25320+/**/
     25321+    243,
     25322+/**/
     25323+    242,
     25324+/**/
     25325+    241,
     25326+/**/
     25327+    240,
     25328+/**/
     25329+    239,
     25330+/**/
     25331+    238,
     25332+/**/
     25333+    237,
     25334+/**/
     25335+    236,
     25336+/**/
     25337+    235,
     25338+/**/
    2453325339+    234,
    2453425340+/**/
     
    2497225778 highest_patch()
    2497325779 {
    24974 @@ -786,7 +1221,7 @@
     25780@@ -786,7 +1263,7 @@
    2497525781     MSG_PUTS(_("\nRISC OS version"));
    2497625782 #endif
     
    2498125787     if (*compiled_arch != NUL)
    2498225788     {
    24983 @@ -825,6 +1260,19 @@
     25789@@ -825,6 +1302,19 @@
    2498425790        }
    2498525791     }
     
    2500325809diff -Naur vim72.orig/src/vim.h vim72/src/vim.h
    2500425810--- vim72.orig/src/vim.h        2008-08-09 09:03:38.000000000 -0700
    25005 +++ vim72/src/vim.h     2009-07-19 15:17:25.000000000 -0700
     25811+++ vim72/src/vim.h     2009-09-12 08:39:43.000000000 -0700
    2500625812@@ -341,8 +341,14 @@
    2500725813 #ifdef BACKSLASH_IN_FILENAME
     
    2510825914diff -Naur vim72.orig/src/window.c vim72/src/window.c
    2510925915--- vim72.orig/src/window.c     2008-08-06 04:00:30.000000000 -0700
    25110 +++ vim72/src/window.c  2009-07-19 15:18:10.000000000 -0700
     25916+++ vim72/src/window.c  2009-09-12 08:40:34.000000000 -0700
    2511125917@@ -11,8 +11,8 @@
    2511225918 
     
    2590326709diff -Naur vim72.orig/src/workshop.c vim72/src/workshop.c
    2590426710--- vim72.orig/src/workshop.c   2008-06-21 11:53:26.000000000 -0700
    25905 +++ vim72/src/workshop.c        2009-07-19 15:16:46.000000000 -0700
     26711+++ vim72/src/workshop.c        2009-09-12 08:39:05.000000000 -0700
    2590626712@@ -204,12 +204,11 @@
    2590726713  * Function:
     
    2604126847diff -Naur vim72.orig/src/xxd/xxd.c vim72/src/xxd/xxd.c
    2604226848--- vim72.orig/src/xxd/xxd.c    2007-11-29 12:05:16.000000000 -0800
    26043 +++ vim72/src/xxd/xxd.c 2009-07-19 15:17:54.000000000 -0700
     26849+++ vim72/src/xxd/xxd.c 2009-09-12 08:40:18.000000000 -0700
    2604426850@@ -64,6 +64,9 @@
    2604526851 # define _CRT_SECURE_NO_DEPRECATE
Note: See TracChangeset for help on using the changeset viewer.