Changeset ec8b18a


Ignore:
Timestamp:
Apr 26, 2014, 11:09:09 PM (10 years ago)
Author:
Chris Staub <chris@…>
Branches:
clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
Children:
cc27223
Parents:
e7d6930 (diff), ee9812b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'systemd' of git.cross-lfs.org:cross-lfs into systemd

Files:
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • BOOK/introduction/common/changelog.xml

    re7d6930 rec8b18a  
    5959          as they're no longer needed there.</para>
    6060        </listitem>
     61        <listitem>
     62          <para>[William Harrington] - Update Vim 7.4 branch update patch to
     63          level 265.</para>
     64        </listitem>
    6165      </itemizedlist>
    6266    </listitem>
  • BOOK/patches.ent

    re7d6930 rec8b18a  
    7979<!-- Vim branch update patch area -->
    8080
    81 <!ENTITY vim-branch_update-patch "vim-&vim-version;-branch_update-2.patch">
    82 <!ENTITY vim-branch_update-patch-md5 "aa2e7384582ddd94ce7e5d91bebce78f">
    83 <!ENTITY vim-branch_update-patch-size "2,740 KB">
     81<!ENTITY vim-branch_update-patch "vim-&vim-version;-branch_update-3.patch">
     82<!ENTITY vim-branch_update-patch-md5 "e7d43252db0a9c00faf2785f9a167516">
     83<!ENTITY vim-branch_update-patch-size "2,858 KB">
    8484
    8585<!-- Start of multilib patches -->
  • patches/vim-7.4-branch_update-3.patch

    re7d6930 rec8b18a  
    11Submitted By: William Harrington (kb0iic at cross-lfs dot org)
    2 Date: 2014-03-30
     2Date: 2014-04-26
    33Initial Package Version: 7.4
    44Origin: Upstream
    55Upstream Status: Applied
    6 Description: Contains all upstream patches up to 7.4.229.
     6Description: Contains all upstream patches up to 7.4.265.
    77
    88diff -Naur vim74.orig/.hg_archival.txt vim74/.hg_archival.txt
    99--- vim74.orig/.hg_archival.txt 1970-01-01 00:00:00.000000000 +0000
    10 +++ vim74/.hg_archival.txt      2014-03-30 20:09:03.492688818 +0000
     10+++ vim74/.hg_archival.txt      2014-04-27 05:20:57.181745403 +0000
    1111@@ -0,0 +1,5 @@
    1212+repo: 770908d1cb47c04be0aef5c173b17ab8be6b6476
    13 +node: 7b76ad980f09c46169798844dfb7e1e654591d6a
     13+node: 01f2b7e6b33ca4da4fbe2a5b8e9184ea2749d64e
    1414+branch: default
    15 +latesttag: v7-4-229
     15+latesttag: v7-4-265
    1616+latesttagdistance: 1
    1717diff -Naur vim74.orig/.hgignore vim74/.hgignore
    1818--- vim74.orig/.hgignore        1970-01-01 00:00:00.000000000 +0000
    19 +++ vim74/.hgignore     2014-03-30 20:09:03.499355704 +0000
     19+++ vim74/.hgignore     2014-04-27 05:20:57.188412237 +0000
    2020@@ -0,0 +1,74 @@
    2121+syntax: glob
     
    9595diff -Naur vim74.orig/.hgtags vim74/.hgtags
    9696--- vim74.orig/.hgtags  1970-01-01 00:00:00.000000000 +0000
    97 +++ vim74/.hgtags       2014-03-30 20:09:03.506022591 +0000
    98 @@ -0,0 +1,2954 @@
     97+++ vim74/.hgtags       2014-04-27 05:20:57.195079070 +0000
     98@@ -0,0 +1,2990 @@
    9999+004eb98eb3c30714cb6a24ec3e810275080a8413 v7-1-117
    100100+006e9c8a6a8ad354a5cb6adcce6ebfceddeb20ee v7-0079
     
    30513051+3ee5808a293c7436e34a696a09ed29ce38750d9a v7-4-228
    30523052+839cca5ec18d560e3714065e54ed38b6e812aaf7 v7-4-229
     3053+57ecd7a8c0f052296b41b916eb1ae7f2a9a48b27 v7-4-230
     3054+0a295a3c9e473512ad3b006a0fb752ad43d19094 v7-4-231
     3055+845608965bd9d0b2755997a7be812746885ff105 v7-4-232
     3056+22a1d5762ba3a75984e89dcc47a65498f63a6c2c v7-4-233
     3057+d2286df8719d6e99c743e3bf6ac14d1f9debc84d v7-4-234
     3058+5ab2946f7ce560985830fbc3c453bb0f7a01f385 v7-4-235
     3059+a44087db72386d080e9da870d751daf498004be8 v7-4-236
     3060+71b165a378ad580818f6d497ecf0f8ad054a9683 v7-4-237
     3061+410ef4f1a3d2f4a6ecad9aaa87dae645d1578a19 v7-4-238
     3062+98bfec9ea7608f312129475d4ca0ae6d1c6c232e v7-4-239
     3063+8d1ba0a23588932d22ad37cbd87ae3bbd4bfeff8 v7-4-240
     3064+a63d0cd691dc925283815d17d62f4e948d723a59 v7-4-241
     3065+f084024c0ddbba46aabfafa2996c3f7d13080ab6 v7-4-242
     3066+9f8fa56f1906f4f634cd602a7a2b4f8631faf526 v7-4-243
     3067+da17c7de616e3829e4f59923ffa138a067928d9e v7-4-244
     3068+80421d934ebde183ce545ab8d9eb3a4c2065c169 v7-4-245
     3069+2cbac5608217cdce725a0f04d397d4466a3322fe v7-4-246
     3070+76863b4b48a3684905527dcc688e5a8c4c5e23d9 v7-4-247
     3071+e5f1f2ea0b4a4834791924880f78272ef52eb087 v7-4-248
     3072+0b9a66ea49f435536745be0e0a6154be7b607249 v7-4-249
     3073+a8f3f45896288bd7e0a27e0c28c3cc3457ccc507 v7-4-250
     3074+29eb4c2a33ac701bfcd4d2e2bed7864eba876e0e v7-4-251
     3075+a43a8262e1ceffc393625c53a1ffed9e6bcaba62 v7-4-252
     3076+4901a36479f200b2e6700ad91c26911d92deb886 v7-4-253
     3077+251acc686ca41e4bccb037ef44cd7b486774d580 v7-4-254
     3078+5595506b985a198abae41ab0150ee50b8bf1686c v7-4-255
     3079+afb542ea210cb9fc5fa8c5359bb4814370024b80 v7-4-256
     3080+17903ded5e9a9d49ca73b324657b944f2954d4fd v7-4-257
     3081+e8ffd1e6c8dc62c604d34e879791404bd15cab33 v7-4-258
     3082+e4cd5bb75029d2c1208f3e31ebde4e03b16e8123 v7-4-259
     3083+6bc874e4789a0f912b4fd6b23afecf19d80b1605 v7-4-260
     3084+43c6cd07c8defd8505acbe479c6970764c08e6f9 v7-4-261
     3085+0ea551fa607dc443b97c2fba97dc0c9cb0bcf303 v7-4-262
     3086+af1bb39774f41c28eabd24d80cffc775695bc124 v7-4-263
     3087+00acac0af680c2d8c82db5258474b121a5908926 v7-4-264
     3088+8ec9d2196bee0c5108f2d2c196a660a7f4e5f29f v7-4-265
    30533089diff -Naur vim74.orig/Filelist vim74/Filelist
    30543090--- vim74.orig/Filelist 2013-07-13 13:23:38.000000000 +0000
    3055 +++ vim74/Filelist      2014-03-30 20:09:03.506022591 +0000
    3056 @@ -80,6 +80,7 @@
     3091+++ vim74/Filelist      2014-04-27 05:20:57.198412485 +0000
     3092@@ -80,10 +80,14 @@
    30573093                src/main.aap \
    30583094                src/testdir/main.aap \
     
    30603096+               src/testdir/sautest/autoload/*.vim \
    30613097                src/testdir/test[0-9]*.ok \
     3098+               src/testdir/test[0-9]*a.ok \
     3099+               src/testdir/test_[a-z]*.ok \
    30623100                src/testdir/test49.vim \
    30633101                src/testdir/test60.vim \
     3102                src/testdir/test83-tags? \
     3103+               src/testdir/test77a.com \
     3104                src/testdir/python2/*.py \
     3105                src/testdir/python3/*.py \
     3106                src/testdir/pythonx/*.py \
    30643107diff -Naur vim74.orig/runtime/autoload/clojurecomplete.vim vim74/runtime/autoload/clojurecomplete.vim
    30653108--- vim74.orig/runtime/autoload/clojurecomplete.vim     2013-02-06 14:35:23.000000000 +0000
    3066 +++ vim74/runtime/autoload/clojurecomplete.vim  2014-03-30 20:09:03.546023908 +0000
     3109+++ vim74/runtime/autoload/clojurecomplete.vim  2014-04-27 05:20:57.231746647 +0000
    30673110@@ -1,20 +1,22 @@
    30683111 " Vim completion script
     
    31053148diff -Naur vim74.orig/runtime/autoload/getscript.vim vim74/runtime/autoload/getscript.vim
    31063149--- vim74.orig/runtime/autoload/getscript.vim   2013-04-17 13:40:44.000000000 +0000
    3107 +++ vim74/runtime/autoload/getscript.vim        2014-03-30 20:09:03.546023908 +0000
     3150+++ vim74/runtime/autoload/getscript.vim        2014-04-27 05:20:57.235080063 +0000
    31083151@@ -1,8 +1,8 @@
    31093152 " ---------------------------------------------------------------------
     
    31393182diff -Naur vim74.orig/runtime/autoload/netrw.vim vim74/runtime/autoload/netrw.vim
    31403183--- vim74.orig/runtime/autoload/netrw.vim       2013-05-19 03:28:33.000000000 +0000
    3141 +++ vim74/runtime/autoload/netrw.vim    2014-03-30 20:09:03.559357680 +0000
     3184+++ vim74/runtime/autoload/netrw.vim    2014-04-27 05:20:57.241746894 +0000
    31423185@@ -1,10 +1,10 @@
    31433186 " netrw.vim: Handles file transfer and remote directory listing across
     
    1471714760diff -Naur vim74.orig/runtime/autoload/netrwSettings.vim vim74/runtime/autoload/netrwSettings.vim
    1471814761--- vim74.orig/runtime/autoload/netrwSettings.vim       2013-05-03 19:53:43.000000000 +0000
    14719 +++ vim74/runtime/autoload/netrwSettings.vim    2014-03-30 20:09:03.559357680 +0000
     14762+++ vim74/runtime/autoload/netrwSettings.vim    2014-04-27 05:20:57.241746894 +0000
    1472014763@@ -1,7 +1,7 @@
    1472114764 " netrwSettings.vim: makes netrw settings simpler
     
    1475114794diff -Naur vim74.orig/runtime/autoload/netrw_gitignore.vim vim74/runtime/autoload/netrw_gitignore.vim
    1475214795--- vim74.orig/runtime/autoload/netrw_gitignore.vim     1970-01-01 00:00:00.000000000 +0000
    14753 +++ vim74/runtime/autoload/netrw_gitignore.vim  2014-03-30 20:09:03.559357680 +0000
     14796+++ vim74/runtime/autoload/netrw_gitignore.vim  2014-04-27 05:20:57.245080310 +0000
    1475414797@@ -0,0 +1,71 @@
    1475514798+" netrw_gitignore#Hide: gitignore-based hiding
     
    1482614869diff -Naur vim74.orig/runtime/autoload/phpcomplete.vim vim74/runtime/autoload/phpcomplete.vim
    1482714870--- vim74.orig/runtime/autoload/phpcomplete.vim 2011-12-08 15:38:25.000000000 +0000
    14828 +++ vim74/runtime/autoload/phpcomplete.vim      2014-03-30 20:09:03.562691123 +0000
     14871+++ vim74/runtime/autoload/phpcomplete.vim      2014-04-27 05:20:57.248413727 +0000
    1482914872@@ -1,27 +1,99 @@
    1483014873 " Vim completion script
     
    2238722430diff -Naur vim74.orig/runtime/colors/README.txt vim74/runtime/colors/README.txt
    2238822431--- vim74.orig/runtime/colors/README.txt        2010-05-15 11:03:31.000000000 +0000
    22389 +++ vim74/runtime/colors/README.txt     2014-03-30 20:09:03.579358338 +0000
     22432+++ vim74/runtime/colors/README.txt     2014-04-27 05:20:57.261747391 +0000
    2239022433@@ -36,6 +36,14 @@
    2239122434 removed in your color scheme.  Use something like "gui=NONE" to remove the
     
    2240522448diff -Naur vim74.orig/runtime/colors/delek.vim vim74/runtime/colors/delek.vim
    2240622449--- vim74.orig/runtime/colors/delek.vim 2010-05-15 11:03:31.000000000 +0000
    22407 +++ vim74/runtime/colors/delek.vim      2014-03-30 20:09:03.579358338 +0000
     22450+++ vim74/runtime/colors/delek.vim      2014-04-27 05:20:57.261747391 +0000
    2240822451@@ -1,10 +1,10 @@
    2240922452 " Vim color file
     
    2243522478diff -Naur vim74.orig/runtime/colors/industry.vim vim74/runtime/colors/industry.vim
    2243622479--- vim74.orig/runtime/colors/industry.vim      1970-01-01 00:00:00.000000000 +0000
    22437 +++ vim74/runtime/colors/industry.vim   2014-03-30 20:09:03.582691781 +0000
     22480+++ vim74/runtime/colors/industry.vim   2014-04-27 05:20:57.265080808 +0000
    2243822481@@ -0,0 +1,40 @@
    2243922482+" Vim color file
     
    2247922522diff -Naur vim74.orig/runtime/compiler/gcc.vim vim74/runtime/compiler/gcc.vim
    2248022523--- vim74.orig/runtime/compiler/gcc.vim 2011-12-15 20:20:22.000000000 +0000
    22481 +++ vim74/runtime/compiler/gcc.vim      2014-03-30 20:09:03.592692111 +0000
     22524+++ vim74/runtime/compiler/gcc.vim      2014-04-27 05:20:57.275081056 +0000
    2248222525@@ -25,10 +25,10 @@
    2248322526       \%f:%l:\ %tarning:\ %m,
     
    2249722540diff -Naur vim74.orig/runtime/doc/autocmd.txt vim74/runtime/doc/autocmd.txt
    2249822541--- vim74.orig/runtime/doc/autocmd.txt  2013-08-10 11:24:52.000000000 +0000
    22499 +++ vim74/runtime/doc/autocmd.txt       2014-03-30 20:09:03.612692769 +0000
     22542+++ vim74/runtime/doc/autocmd.txt       2014-04-27 05:20:57.295081553 +0000
    2250022543@@ -1,4 +1,4 @@
    2250122544-*autocmd.txt*   For Vim version 7.4.  Last change: 2013 Aug 04
     
    2254822591diff -Naur vim74.orig/runtime/doc/change.txt vim74/runtime/doc/change.txt
    2254922592--- vim74.orig/runtime/doc/change.txt   2013-08-10 11:24:52.000000000 +0000
    22550 +++ vim74/runtime/doc/change.txt        2014-03-30 20:09:03.616026212 +0000
     22593+++ vim74/runtime/doc/change.txt        2014-04-27 05:20:57.295081553 +0000
    2255122594@@ -1,4 +1,4 @@
    2255222595-*change.txt*    For Vim version 7.4.  Last change: 2013 Jul 17
     
    2261722660diff -Naur vim74.orig/runtime/doc/cmdline.txt vim74/runtime/doc/cmdline.txt
    2261822661--- vim74.orig/runtime/doc/cmdline.txt  2013-08-10 11:24:52.000000000 +0000
    22619 +++ vim74/runtime/doc/cmdline.txt       2014-03-30 20:09:03.616026212 +0000
     22662+++ vim74/runtime/doc/cmdline.txt       2014-04-27 05:20:57.298414969 +0000
    2262022663@@ -1,4 +1,4 @@
    2262122664-*cmdline.txt*   For Vim version 7.4.  Last change: 2013 Mar 16
     
    2266722710diff -Naur vim74.orig/runtime/doc/develop.txt vim74/runtime/doc/develop.txt
    2266822711--- vim74.orig/runtime/doc/develop.txt  2013-08-10 11:24:52.000000000 +0000
    22669 +++ vim74/runtime/doc/develop.txt       2014-03-30 20:09:03.619359655 +0000
     22712+++ vim74/runtime/doc/develop.txt       2014-04-27 05:20:57.298414969 +0000
    2267022713@@ -1,4 +1,4 @@
    2267122714-*develop.txt*   For Vim version 7.4.  Last change: 2013 Apr 27
     
    2268422727diff -Naur vim74.orig/runtime/doc/diff.txt vim74/runtime/doc/diff.txt
    2268522728--- vim74.orig/runtime/doc/diff.txt     2013-08-10 11:24:52.000000000 +0000
    22686 +++ vim74/runtime/doc/diff.txt  2014-03-30 20:09:03.619359655 +0000
     22729+++ vim74/runtime/doc/diff.txt  2014-04-27 05:20:57.301748385 +0000
    2268722730@@ -1,4 +1,4 @@
    2268822731-*diff.txt*      For Vim version 7.4.  Last change: 2013 Jul 07
     
    2271022753diff -Naur vim74.orig/runtime/doc/digraph.txt vim74/runtime/doc/digraph.txt
    2271122754--- vim74.orig/runtime/doc/digraph.txt  2013-08-10 11:24:52.000000000 +0000
    22712 +++ vim74/runtime/doc/digraph.txt       2014-03-30 20:09:03.619359655 +0000
     22755+++ vim74/runtime/doc/digraph.txt       2014-04-27 05:20:57.301748385 +0000
    2271322756@@ -1,4 +1,4 @@
    2271422757-*digraph.txt*   For Vim version 7.4.  Last change: 2011 Jan 15
     
    2272822771diff -Naur vim74.orig/runtime/doc/editing.txt vim74/runtime/doc/editing.txt
    2272922772--- vim74.orig/runtime/doc/editing.txt  2013-08-10 11:24:53.000000000 +0000
    22730 +++ vim74/runtime/doc/editing.txt       2014-03-30 20:09:03.622693098 +0000
     22773+++ vim74/runtime/doc/editing.txt       2014-04-27 05:20:57.301748385 +0000
    2273122774@@ -1,4 +1,4 @@
    2273222775-*editing.txt*   For Vim version 7.4.  Last change: 2013 Aug 03
     
    2274522788diff -Naur vim74.orig/runtime/doc/eval.txt vim74/runtime/doc/eval.txt
    2274622789--- vim74.orig/runtime/doc/eval.txt     2013-08-10 11:24:53.000000000 +0000
    22747 +++ vim74/runtime/doc/eval.txt  2014-03-30 20:09:03.626026541 +0000
     22790+++ vim74/runtime/doc/eval.txt  2014-04-27 05:20:57.308415217 +0000
    2274822791@@ -1,4 +1,4 @@
    2274922792-*eval.txt*     For Vim version 7.4.  Last change: 2013 Aug 03
    22750 +*eval.txt*     For Vim version 7.4.  Last change: 2014 Mar 27
     22793+*eval.txt*     For Vim version 7.4.  Last change: 2014 Apr 06
    2275122794 
    2275222795 
     
    2276022803 
    2276122804 A special case is defining a function and directly assigning its Funcref to a
     22805@@ -147,7 +148,7 @@
     22806 
     22807 
     22808 1.3 Lists ~
     22809-                                                       *List* *Lists* *E686*
     22810+                                               *list* *List* *Lists* *E686*
     22811 A List is an ordered sequence of items.  An item can be of any type.  Items
     22812 can be accessed by their index number. Items can be added and removed at any
     22813 position in the sequence.
    2276222814@@ -326,6 +327,7 @@
    2276322815 Changing the order of items in a list: >
     
    2276822820 
    2276922821 For loop ~
     22822@@ -392,7 +394,7 @@
     22823 
     22824 
     22825 1.4 Dictionaries ~
     22826-                                               *Dictionaries* *Dictionary*
     22827+                                       *dict* *Dictionaries* *Dictionary*
     22828 A Dictionary is an associative array: Each entry has a key and a value.  The
     22829 entry can be located with the key.  The entries are stored without a specific
     22830 ordering.
     22831@@ -1003,7 +1005,7 @@
     22832 
     22833 
     22834 
     22835-string                                                 *expr-string* *E114*
     22836+string                                         *string* *expr-string* *E114*
     22837 ------
     22838 "string"               string constant         *expr-quote*
     22839 
     22840@@ -1142,7 +1144,7 @@
     22841 |local-variable|     l:          Local to a function.
     22842 |script-variable|    s:          Local to a |:source|'ed Vim script.
     22843 |function-argument|  a:          Function argument (only inside a function).
     22844-|vim-variable|      v:   Global, predefined by Vim.
     22845+|vim-variable|       v:          Global, predefined by Vim.
     22846 
     22847 The scope name by itself can be used as a |Dictionary|.  For example, to
     22848 delete all script-local variables: >
    2277022849@@ -1454,6 +1456,13 @@
    2277122850 v:foldstart    Used for 'foldtext': first line of closed fold.
     
    2279022869                The List can be modified, but this has no effect on what is
    2279122870                stored in the |viminfo| file later.  If you use values other
    22792 @@ -1712,6 +1722,7 @@
     22871@@ -1548,6 +1558,16 @@
     22872                |evim| etc., or any other name you might symlink to Vim.
     22873                Read-only.
     22874 
     22875+                                       *v:progpath* *progpath-variable*
     22876+v:progpath     Contains the command with which Vim was invoked, including the
     22877+               path.  Useful if you want to message a Vim server using a
     22878+               |--remote-expr|.
     22879+               To get the full path use: >
     22880+                       echo exepath(v:progpath)
     22881+<              NOTE: This does not work when the command is a relative path
     22882+               and the current directory has changed.
     22883+               Read-only.
     22884+
     22885                                        *v:register* *register-variable*
     22886 v:register     The name of the register in effect for the current normal mode
     22887                command (regardless of whether that command actually used a
     22888@@ -1662,7 +1682,7 @@
     22889                is 501.  Read-only.  "version" also works, for backwards
     22890                compatibility.
     22891                Use |has()| to check if a certain patch was included, e.g.: >
     22892-                       if has("patch123")
     22893+                       if has("patch-7.4.123")
     22894 <              Note that patch numbers are specific to the version, thus both
     22895                version 5.0 and 5.1 may have a patch 123, but these are
     22896                completely different.
     22897@@ -1712,6 +1732,7 @@
    2279322898 bufwinnr( {expr})              Number  window number of buffer {expr}
    2279422899 byte2line( {byte})             Number  line number at byte count {byte}
     
    2279822903                                any     call {func} with arguments {arglist}
    2279922904 ceil( {expr})                  Float   round {expr} up
    22800 @@ -1735,7 +1746,7 @@
     22905@@ -1735,7 +1756,7 @@
    2280122906 cursor( {lnum}, {col} [, {coladd}])
    2280222907                                Number  move cursor to {lnum}, {col}, {coladd}
     
    2280722912 did_filetype()                 Number  TRUE if FileType autocommand event used
    2280822913 diff_filler( {lnum})           Number  diff filler lines about {lnum}
    22809 @@ -1995,6 +2006,8 @@
     22914@@ -1745,6 +1766,7 @@
     22915 eval( {string})                        any     evaluate {string} into its value
     22916 eventhandler( )                        Number  TRUE if inside an event handler
     22917 executable( {expr})            Number  1 if executable {expr} exists
     22918+exepath( {expr})               String  full path of the command {expr}
     22919 exists( {expr})                        Number  TRUE if {expr} exists
     22920 extend( {expr1}, {expr2} [, {expr3}])
     22921                                List/Dict insert items of {expr2} into {expr1}
     22922@@ -1797,7 +1819,8 @@
     22923 getpid()                       Number  process ID of Vim
     22924 getpos( {expr})                        List    position of cursor, mark, etc.
     22925 getqflist()                    List    list of quickfix items
     22926-getreg( [{regname} [, 1]])     String  contents of register
     22927+getreg( [{regname} [, 1 [, {list}]]])
     22928+                               String or List   contents of register
     22929 getregtype( [{regname}])       String  type of register
     22930 gettabvar( {nr}, {varname} [, {def}])
     22931                                any     variable {varname} in tab {nr} or {def}
     22932@@ -1968,7 +1991,8 @@
     22933                                Number  last index of {needle} in {haystack}
     22934 strtrans( {expr})              String  translate string to make it printable
     22935 strwidth( {expr})              Number  display cell length of the String {expr}
     22936-submatch( {nr})                        String  specific match in ":s" or substitute()
     22937+submatch( {nr}[, {list}])      String or List
     22938+                                       specific match in ":s" or substitute()
     22939 substitute( {expr}, {pat}, {sub}, {flags})
     22940                                String  all {pat} in {expr} replaced with {sub}
     22941 synID( {lnum}, {col}, {trans}) Number  syntax ID at {lnum} and {col}
     22942@@ -1978,6 +2002,7 @@
     22943 synconcealed( {lnum}, {col})   List    info about concealing
     22944 synstack( {lnum}, {col})       List    stack of syntax IDs at {lnum} and {col}
     22945 system( {expr} [, {input}])    String  output of shell command/filter {expr}
     22946+systemlist( {expr} [, {input}])        List    output of shell command/filter {expr}
     22947 tabpagebuflist( [{arg}])       List    list of buffer numbers in tab page
     22948 tabpagenr( [{arg}])            Number  number of current or last tab page
     22949 tabpagewinnr( {tabarg}[, {arg}])
     22950@@ -1995,6 +2020,8 @@
    2281022951 type( {name})                  Number  type of variable {name}
    2281122952 undofile( {name})              String  undo file name for {name}
     
    2281622957 virtcol( {expr})               Number  screen column of cursor or mark
    2281722958 visualmode( [expr])            String  last visual mode used
    22818 @@ -2260,7 +2273,10 @@
     22959@@ -2260,7 +2287,10 @@
    2281922960                {expr}.  Use zero for the first character, it returns zero.
    2282022961                This function is only useful when there are multibyte
     
    2282822969                        echo matchstr(str, ".", byteidx(str, 3))
    2282922970 <              will display the fourth character.  Another way to do the
    22830 @@ -2269,7 +2285,20 @@
     22971@@ -2269,7 +2299,20 @@
    2283122972                        echo strpart(s, 0, byteidx(s, 1))
    2283222973 <              If there are less than {nr} characters -1 is returned.
     
    2285022991 call({func}, {arglist} [, {dict}])                     *call()* *E699*
    2285122992                Call function {func} with the items in |List| {arglist} as
    22852 @@ -2789,7 +2818,7 @@
     22993@@ -2671,6 +2714,15 @@
     22994                        0       does not exist
     22995                        -1      not implemented on this system
     22996 
     22997+exepath({expr})                                                *exepath()*
     22998+               If {expr} is an executable and is either an absolute path, a
     22999+               relative path or found in $PATH, return the full path.
     23000+               Note that the current directory is used when {expr} starts
     23001+               with "./", which may be a problem for Vim: >
     23002+                       echo exepath(v:progpath)
     23003+<              If {expr} cannot be found in $PATH or is not executable then
     23004+               an empty string is returned.
     23005+
     23006                                                        *exists()*
     23007 exists({expr}) The result is a Number, which is non-zero if {expr} is
     23008                defined, zero otherwise.  The {expr} argument is a string,
     23009@@ -2789,7 +2841,7 @@
    2285323010                        <afile>         autocmd file name
    2285423011                        <abuf>          autocmd buffer number (as a String!)
     
    2285923016                        <cword>         word under the cursor
    2286023017                        <cWORD>         WORD under the cursor
    22861 @@ -3175,7 +3204,7 @@
     23018@@ -3175,7 +3227,7 @@
    2286223019                If [expr] is 1, only check if a character is available, it is
    2286323020                        not consumed.  Return zero if no character available.
     
    2286823025                result is a number.  Use nr2char() to convert it to a String.
    2286923026                Otherwise a String is returned with the encoded character.
    22870 @@ -3185,7 +3214,7 @@
     23027@@ -3185,7 +3237,7 @@
    2287123028                String when a modifier (shift, control, alt) was used that is
    2287223029                not included in the character.
     
    2287723034                Use nr2char() to convert it to a String.
    2287823035 
    22879 @@ -3435,7 +3464,7 @@
     23036@@ -3417,7 +3469,7 @@
     23037                        :endfor
     23038 
     23039 
     23040-getreg([{regname} [, 1]])                              *getreg()*
     23041+getreg([{regname} [, 1 [, {list}]]])                   *getreg()*
     23042                The result is a String, which is the contents of register
     23043                {regname}.  Example: >
     23044                        :let cliptext = getreg('*')
     23045@@ -3426,6 +3478,11 @@
     23046                getreg('=', 1) returns the expression itself, so that it can
     23047                be restored with |setreg()|.  For other registers the extra
     23048                argument is ignored, thus you can always give it.
     23049+               If {list} is present and non-zero result type is changed to
     23050+               |List|. Each list item is one text line. Use it if you care
     23051+               about zero bytes possibly present inside register: without
     23052+               third argument both NLs and zero bytes are represented as NLs
     23053+               (see |NL-used-for-Nul|).
     23054                If {regname} is not specified, |v:register| is used.
     23055 
     23056 
     23057@@ -3435,7 +3492,7 @@
    2288023058                    "v"                 for |characterwise| text
    2288123059                    "V"                 for |linewise| text
     
    2288623064                If {regname} is not specified, |v:register| is used.
    2288723065 
    22888 @@ -4109,6 +4138,8 @@
     23066@@ -4109,6 +4166,8 @@
    2288923067                                     (|mapmode-ic|)
    2289023068                  "sid"      The script local ID, used for <sid> mappings
     
    2289523073                The mappings local to the current buffer are checked first,
    2289623074                then the global mappings.
    22897 @@ -4210,6 +4241,9 @@
     23075@@ -4210,6 +4269,9 @@
    2289823076                "match").  It will be highlighted with {group}.  Returns an
    2289923077                identification number (ID), which can be used to delete the
     
    2290523083                The optional {priority} argument assigns a priority to the
    2290623084                match.  A match with a high priority will have its
    22907 @@ -4419,6 +4453,9 @@
     23085@@ -4419,6 +4481,9 @@
    2290823086                it is the offset in screen columns from the start of the
    2290923087                character.  E.g., a position within a <Tab> or after the last
     
    2291523093                        let save_cursor = getpos(".")
    2291623094                        MoveTheCursorAround
    22917 @@ -5242,6 +5279,10 @@
     23095@@ -5242,6 +5307,10 @@
    2291823096                character.  E.g., a position within a <Tab> or after the last
    2291923097                character.
     
    2292623104                An error message is given if {expr} is invalid.
    2292723105 
    22928 @@ -5390,6 +5431,7 @@
     23106@@ -5300,6 +5369,8 @@
     23107                                                        *setreg()*
     23108 setreg({regname}, {value} [,{options}])
     23109                Set the register {regname} to {value}.
     23110+               {value} may be any value returned by |getreg()|, including
     23111+               a |List|.
     23112                If {options} contains "a" or {regname} is upper case,
     23113                then the value is appended.
     23114                {options} can also contain a register type specification:
     23115@@ -5312,10 +5383,15 @@
     23116                in the longest line (counting a <Tab> as 1 character).
     23117 
     23118                If {options} contains no register settings, then the default
     23119-               is to use character mode unless {value} ends in a <NL>.
     23120-               Setting the '=' register is not possible, but you can use >
     23121-                       :let @= = var_expr
     23122-<              Returns zero for success, non-zero for failure.
     23123+               is to use character mode unless {value} ends in a <NL> for
     23124+               string {value} and linewise mode for list {value}. Blockwise
     23125+               mode is never selected automatically.
     23126+               Returns zero for success, non-zero for failure.
     23127+
     23128+                                                       *E883*
     23129+               Note: you may not use |List| containing more then one item to
     23130+                     set search and expression registers. Lists containing no
     23131+                     items act like empty strings.
     23132 
     23133                Examples: >
     23134                        :call setreg(v:register, @*)
     23135@@ -5323,8 +5399,11 @@
     23136                        :call setreg('a', "1\n2\n3", 'b5')
     23137 
     23138 <              This example shows using the functions to save and restore a
     23139-               register. >
     23140-                       :let var_a = getreg('a', 1)
     23141+               register (note: you may not reliably restore register value
     23142+               without using the third argument to |getreg()| as without it
     23143+               newlines are represented as newlines AND Nul bytes are
     23144+               represented as newlines as well, see |NL-used-for-Nul|). >
     23145+                       :let var_a = getreg('a', 1, 1)
     23146                        :let var_amode = getregtype('a')
     23147                            ....
     23148                        :call setreg('a', var_a, var_amode)
     23149@@ -5390,6 +5469,7 @@
    2292923150 <              This results in a directory listing for the file under the
    2293023151                cursor.  Example of use with |system()|: >
     
    2293423155 
    2293523156 shiftwidth()                                           *shiftwidth()*
    22936 @@ -5449,20 +5491,26 @@
     23157@@ -5449,20 +5529,26 @@
    2293723158 
    2293823159 
     
    2296523186                        func MyCompare(i1, i2)
    2296623187                           return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
    22967 @@ -5604,7 +5652,7 @@
     23188@@ -5604,7 +5690,7 @@
    2296823189 
    2296923190 strdisplaywidth({expr}[, {col}])                       *strdisplaywidth()*
     
    2297423195                screen column where to start.  This matters for Tab
    2297523196                characters.
    22976 @@ -5872,14 +5920,16 @@
    22977                 passed as stdin to the command.  The string is written as-is,
    22978                 you need to take care of using the correct line separators
    22979                 yourself.  Pipes are not used.
     23197@@ -5729,12 +5815,23 @@
     23198                Ambiguous, this function's return value depends on 'ambiwidth'.
     23199                Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
     23200 
     23201-submatch({nr})                                         *submatch()*
     23202+submatch({nr}[, {list}])                               *submatch()*
     23203                Only for an expression in a |:substitute| command or
     23204                substitute() function.
     23205                Returns the {nr}'th submatch of the matched text.  When {nr}
     23206                is 0 the whole matched text is returned.
     23207+               Note that a NL in the string can stand for a line break of a
     23208+               multi-line match or a NUL character in the text.
     23209                Also see |sub-replace-expression|.
     23210+
     23211+               If {list} is present and non-zero then submatch() returns
     23212+               a list of strings, similar to |getline()| with two arguments.
     23213+               NL characters in the text represent NUL characters in the
     23214+               text.
     23215+               Only returns more than one item for |:substitute|, inside
     23216+               |substitute()| this list will always contain one or zero
     23217+               items, since there are no real line breaks.
     23218+
     23219                Example: >
     23220                        :s/\d\+/\=submatch(0) + 1/
     23221 <              This finds the first number in the line and adds one to it.
     23222@@ -5867,19 +5964,29 @@
     23223                valid positions.
     23224 
     23225 system({expr} [, {input}])                             *system()* *E677*
     23226-               Get the output of the shell command {expr}.
     23227-               When {input} is given, this string is written to a file and
     23228-               passed as stdin to the command.  The string is written as-is,
     23229-               you need to take care of using the correct line separators
     23230-               yourself.  Pipes are not used.
    2298023231-               Note: Use |shellescape()| to escape special characters in a
    2298123232-               command argument.  Newlines in {expr} may cause the command to
    2298223233-               fail.  The characters in 'shellquote' and 'shellxquote' may
    2298323234-               also cause trouble.
     23235+               Get the output of the shell command {expr} as a string.  See
     23236+               |systemlist()| to get the output as a List.
     23237+
     23238+               When {input} is given and is a string this string is written
     23239+               to a file and passed as stdin to the command.  The string is
     23240+               written as-is, you need to take care of using the correct line
     23241+               separators yourself.
     23242+               If {input} is given and is a |List| it is written to the file
     23243+               in a way |writefile()| does with {binary} set to "b" (i.e.
     23244+               with a newline between each list item with newlines inside
     23245+               list items converted to NULs). 
     23246+               Pipes are not used.
     23247+
    2298423248+               Note: Use |shellescape()| or |::S| with |expand()| or
    2298523249+               |fnamemodify()| to escape special characters in a command
     
    2299523259 <              To make the result more system-independent, the shell output
    2299623260                is filtered to replace <CR> with <NL> for Macintosh, and
    22997 @@ -5928,7 +5978,7 @@
     23261@@ -5906,6 +6013,16 @@
     23262                Use |:checktime| to force a check.
     23263 
     23264 
     23265+systemlist({expr} [, {input}])                         *systemlist()*
     23266+               Same as |system()|, but returns a |List| with lines (parts of
     23267+               output separated by NL) with NULs transformed into NLs. Output
     23268+               is the same as |readfile()| will output with {binary} argument
     23269+               set to "b".
     23270+
     23271+               Returns an empty string on error, so be careful not to run
     23272+               into |E706|.
     23273+
     23274+
     23275 tabpagebuflist([{arg}])                                        *tabpagebuflist()*
     23276                The result is a |List|, where each item is the number of the
     23277                buffer associated with each window in the current tab page.
     23278@@ -5928,7 +6045,7 @@
    2299823279                The number can be used with the |:tab| command.
    2299923280 
     
    2300423285                {tabarg} specifies the number of tab page to be used.
    2300523286                {arg} is used like with |winnr()|:
    23006 @@ -6128,6 +6178,14 @@
     23287@@ -6128,6 +6245,14 @@
    2300723288                                blocks.  Each item may again have an "alt"
    2300823289                                item.
     
    2301923300                Return a |List| with all the values of {dict}.  The |List| is
    2302023301                in arbitrary order.
    23021 @@ -6337,6 +6395,7 @@
    23022  <   Note that it's possible for patch 147 to be omitted even though 148 is
     23302@@ -6330,13 +6455,23 @@
     23303     Example: >
     23304        :if has("gui_running")
     23305 <                                                      *has-patch*
     23306-3.  Included patches.  First check |v:version| for the version of Vim.
     23307-    Then the "patch123" feature means that patch 123 has been included for
     23308-    this version.  Example (checking version 6.2.148 or later): >
     23309+3.  Included patches.  The "patch123" feature means that patch 123 has been
     23310+    included.  Note that this form does not check the version of Vim, you need
     23311+    to inspect |v:version| for that.
     23312+    Example (checking version 6.2.148 or later): >
     23313        :if v:version > 602 || v:version == 602 && has("patch148")
     23314-<   Note that it's possible for patch 147 to be omitted even though 148 is
     23315+<    Note that it's possible for patch 147 to be omitted even though 148 is
    2302323316     included.
    2302423317 
     23318+4.  Beyond a certain version or at a certain version and including a specific
     23319+    patch.  The "patch-7.4.123" feature means that the Vim version is 7.5 or
     23320+    later, or it is version 7.4 and patch 123 was included.
     23321+    The example above can be simplified to: >
     23322+       :if has("patch-6.2.148")
     23323+<    Note that it's possible for patch 147 to be omitted even though 148 is
     23324+    included.
     23325+
    2302523326+acl                    Compiled with |ACL| support.
    2302623327 all_builtin_terms      Compiled with all builtin terminals enabled.
    2302723328 amiga                  Amiga version of Vim.
    2302823329 arabic                 Compiled with Arabic support |Arabic|.
    23029 @@ -6503,7 +6562,9 @@
     23330@@ -6503,7 +6638,9 @@
    2303023331 writebackup            Compiled with 'writebackup' default on.
    2303123332 xfontset               Compiled with X fontset support |xfontset|.
     
    2303823339 xsmp_interact          Compiled with interactive X session management support.
    2303923340 xterm_clipboard                Compiled with support for xterm clipboard.
    23040 @@ -6580,7 +6641,8 @@
     23341@@ -6580,7 +6717,8 @@
    2304123342 :fu[nction][!] {name}([arguments]) [range] [abort] [dict]
    2304223343                        Define a new function by the name {name}.  The name
     
    2304823349                        {name} can also be a |Dictionary| entry that is a
    2304923350                        |Funcref|: >
    23050 @@ -6599,7 +6661,7 @@
     23351@@ -6599,7 +6737,7 @@
    2305123352 
    2305223353                        For the {arguments} see |function-argument|.
     
    2305723358                        expected to take care of a range itself.  The range is
    2305823359                        passed as "a:firstline" and "a:lastline".  If [range]
    23059 @@ -6608,10 +6670,10 @@
     23360@@ -6608,10 +6746,10 @@
    2306023361                        of each line.  See |function-range-example|.
    2306123362                        The cursor is still moved to the first line of the
     
    2307023371                        be invoked through an entry in a |Dictionary|.  The
    2307123372                        local variable "self" will then be set to the
    23072 @@ -7416,13 +7478,22 @@
     23373@@ -7273,6 +7411,8 @@
     23374                        {pattern}, so long as it does not have a special
     23375                        meaning (e.g., '|' or '"') and doesn't occur inside
     23376                        {pattern}.
     23377+                       Information about the exception is available in
     23378+                       |v:exception|.  Also see |throw-variables|.
     23379                        NOTE: It is not reliable to ":catch" the TEXT of
     23380                        an error message because it may vary in different
     23381                        locales.
     23382@@ -7416,13 +7556,22 @@
    2307323383                        for Vim commands, |shellescape()| for |:!| commands.
    2307423384                        Examples: >
     
    2310023410diff -Naur vim74.orig/runtime/doc/filetype.txt vim74/runtime/doc/filetype.txt
    2310123411--- vim74.orig/runtime/doc/filetype.txt 2013-08-10 11:24:53.000000000 +0000
    23102 +++ vim74/runtime/doc/filetype.txt      2014-03-30 20:09:03.632693428 +0000
     23412+++ vim74/runtime/doc/filetype.txt      2014-04-27 05:20:57.315082050 +0000
    2310323413@@ -1,4 +1,4 @@
    2310423414-*filetype.txt*  For Vim version 7.4.  Last change: 2013 May 25
     
    2313823448diff -Naur vim74.orig/runtime/doc/fold.txt vim74/runtime/doc/fold.txt
    2313923449--- vim74.orig/runtime/doc/fold.txt     2013-08-10 11:24:53.000000000 +0000
    23140 +++ vim74/runtime/doc/fold.txt  2014-03-30 20:09:03.632693428 +0000
     23450+++ vim74/runtime/doc/fold.txt  2014-04-27 05:20:57.315082050 +0000
    2314123451@@ -1,4 +1,4 @@
    2314223452-*fold.txt*      For Vim version 7.4.  Last change: 2010 May 13
     
    2316123471diff -Naur vim74.orig/runtime/doc/gui.txt vim74/runtime/doc/gui.txt
    2316223472--- vim74.orig/runtime/doc/gui.txt      2013-08-10 11:24:53.000000000 +0000
    23163 +++ vim74/runtime/doc/gui.txt   2014-03-30 20:09:03.632693428 +0000
     23473+++ vim74/runtime/doc/gui.txt   2014-04-27 05:20:57.318415466 +0000
    2316423474@@ -1,4 +1,4 @@
    2316523475-*gui.txt*       For Vim version 7.4.  Last change: 2013 Jun 12
     
    2319123501diff -Naur vim74.orig/runtime/doc/gui_x11.txt vim74/runtime/doc/gui_x11.txt
    2319223502--- vim74.orig/runtime/doc/gui_x11.txt  2013-08-10 11:24:54.000000000 +0000
    23193 +++ vim74/runtime/doc/gui_x11.txt       2014-03-30 20:09:03.636026871 +0000
     23503+++ vim74/runtime/doc/gui_x11.txt       2014-04-27 05:20:57.318415466 +0000
    2319423504@@ -1,4 +1,4 @@
    2319523505-*gui_x11.txt*   For Vim version 7.4.  Last change: 2011 Sep 14
     
    2320923519diff -Naur vim74.orig/runtime/doc/if_lua.txt vim74/runtime/doc/if_lua.txt
    2321023520--- vim74.orig/runtime/doc/if_lua.txt   2013-08-10 11:24:55.000000000 +0000
    23211 +++ vim74/runtime/doc/if_lua.txt        2014-03-30 20:09:03.639360314 +0000
     23521+++ vim74/runtime/doc/if_lua.txt        2014-04-27 05:20:57.321748882 +0000
    2321223522@@ -1,4 +1,4 @@
    2321323523-*if_lua.txt*    For Vim version 7.4.  Last change: 2012 Jun 29
     
    2322723537diff -Naur vim74.orig/runtime/doc/if_perl.txt vim74/runtime/doc/if_perl.txt
    2322823538--- vim74.orig/runtime/doc/if_perl.txt  2013-08-10 11:24:55.000000000 +0000
    23229 +++ vim74/runtime/doc/if_perl.txt       2014-03-30 20:09:03.642693757 +0000
     23539+++ vim74/runtime/doc/if_perl.txt       2014-04-27 05:20:57.325082297 +0000
    2323023540@@ -1,4 +1,4 @@
    2323123541-*if_perl.txt*   For Vim version 7.4.  Last change: 2012 Oct 25
     
    2323623546diff -Naur vim74.orig/runtime/doc/indent.txt vim74/runtime/doc/indent.txt
    2323723547--- vim74.orig/runtime/doc/indent.txt   2013-08-10 11:24:56.000000000 +0000
    23238 +++ vim74/runtime/doc/indent.txt        2014-03-30 20:09:03.646027200 +0000
     23548+++ vim74/runtime/doc/indent.txt        2014-04-27 05:20:57.328415713 +0000
    2323923549@@ -1,4 +1,4 @@
    2324023550-*indent.txt*    For Vim version 7.4.  Last change: 2013 Aug 03
     
    2332723637diff -Naur vim74.orig/runtime/doc/index.txt vim74/runtime/doc/index.txt
    2332823638--- vim74.orig/runtime/doc/index.txt    2013-08-10 11:24:56.000000000 +0000
    23329 +++ vim74/runtime/doc/index.txt 2014-03-30 20:09:03.646027200 +0000
     23639+++ vim74/runtime/doc/index.txt 2014-04-27 05:20:57.331749130 +0000
    2333023640@@ -1,4 +1,4 @@
    2333123641-*index.txt*     For Vim version 7.4.  Last change: 2013 Jul 17
     
    2338723697diff -Naur vim74.orig/runtime/doc/map.txt vim74/runtime/doc/map.txt
    2338823698--- vim74.orig/runtime/doc/map.txt      2013-08-10 11:24:56.000000000 +0000
    23389 +++ vim74/runtime/doc/map.txt   2014-03-30 20:09:03.652694086 +0000
     23699+++ vim74/runtime/doc/map.txt   2014-04-27 05:20:57.335082547 +0000
    2339023700@@ -1,4 +1,4 @@
    2339123701-*map.txt*       For Vim version 7.4.  Last change: 2013 Aug 03
     
    2342323733diff -Naur vim74.orig/runtime/doc/motion.txt vim74/runtime/doc/motion.txt
    2342423734--- vim74.orig/runtime/doc/motion.txt   2013-08-10 11:24:57.000000000 +0000
    23425 +++ vim74/runtime/doc/motion.txt        2014-03-30 20:09:03.659360972 +0000
     23735+++ vim74/runtime/doc/motion.txt        2014-04-27 05:20:57.338415962 +0000
    2342623736@@ -1,4 +1,4 @@
    2342723737-*motion.txt*    For Vim version 7.4.  Last change: 2013 Jul 17
     
    2344123751diff -Naur vim74.orig/runtime/doc/options.txt vim74/runtime/doc/options.txt
    2344223752--- vim74.orig/runtime/doc/options.txt  2013-08-10 11:24:57.000000000 +0000
    23443 +++ vim74/runtime/doc/options.txt       2014-03-30 20:09:03.666027859 +0000
     23753+++ vim74/runtime/doc/options.txt       2014-04-27 05:20:57.345082794 +0000
    2344423754@@ -1,4 +1,4 @@
    2344523755-*options.txt*  For Vim version 7.4.  Last change: 2013 Jul 09
     
    2354023850diff -Naur vim74.orig/runtime/doc/os_vms.txt vim74/runtime/doc/os_vms.txt
    2354123851--- vim74.orig/runtime/doc/os_vms.txt   2013-08-10 11:24:59.000000000 +0000
    23542 +++ vim74/runtime/doc/os_vms.txt        2014-03-30 20:09:03.672694745 +0000
     23852+++ vim74/runtime/doc/os_vms.txt        2014-04-27 05:20:57.351749627 +0000
    2354323853@@ -1,4 +1,4 @@
    2354423854-*os_vms.txt*    For Vim version 7.4.  Last change: 2011 Aug 14
     
    2358123891diff -Naur vim74.orig/runtime/doc/os_win32.txt vim74/runtime/doc/os_win32.txt
    2358223892--- vim74.orig/runtime/doc/os_win32.txt 2013-08-10 11:24:59.000000000 +0000
    23583 +++ vim74/runtime/doc/os_win32.txt      2014-03-30 20:09:03.672694745 +0000
     23893+++ vim74/runtime/doc/os_win32.txt      2014-04-27 05:20:57.351749627 +0000
    2358423894@@ -93,7 +93,7 @@
    2358523895 $PATH                                                  *win32-PATH*
     
    2359323903diff -Naur vim74.orig/runtime/doc/pattern.txt vim74/runtime/doc/pattern.txt
    2359423904--- vim74.orig/runtime/doc/pattern.txt  2013-08-10 11:24:59.000000000 +0000
    23595 +++ vim74/runtime/doc/pattern.txt       2014-03-30 20:09:03.676028187 +0000
     23905+++ vim74/runtime/doc/pattern.txt       2014-04-27 05:20:57.351749627 +0000
    2359623906@@ -1,4 +1,4 @@
    2359723907-*pattern.txt*   For Vim version 7.4.  Last change: 2013 Jul 06
     
    2361523925diff -Naur vim74.orig/runtime/doc/pi_getscript.txt vim74/runtime/doc/pi_getscript.txt
    2361623926--- vim74.orig/runtime/doc/pi_getscript.txt     2013-08-10 11:24:59.000000000 +0000
    23617 +++ vim74/runtime/doc/pi_getscript.txt  2014-03-30 20:09:03.676028187 +0000
     23927+++ vim74/runtime/doc/pi_getscript.txt  2014-04-27 05:20:57.355083042 +0000
    2361823928@@ -1,4 +1,4 @@
    2361923929-*pi_getscript.txt*  For Vim version 7.4.  Last change: 2012 Apr 07
     
    2363523945diff -Naur vim74.orig/runtime/doc/pi_netrw.txt vim74/runtime/doc/pi_netrw.txt
    2363623946--- vim74.orig/runtime/doc/pi_netrw.txt 2013-08-10 11:24:59.000000000 +0000
    23637 +++ vim74/runtime/doc/pi_netrw.txt      2014-03-30 20:09:03.679361631 +0000
     23947+++ vim74/runtime/doc/pi_netrw.txt      2014-04-27 05:20:57.358416459 +0000
    2363823948@@ -1,4 +1,4 @@
    2363923949-*pi_netrw.txt*  For Vim version 7.4.  Last change: 2013 May 18
     
    2446824778diff -Naur vim74.orig/runtime/doc/pi_vimball.txt vim74/runtime/doc/pi_vimball.txt
    2446924779--- vim74.orig/runtime/doc/pi_vimball.txt       2013-08-10 11:25:00.000000000 +0000
    24470 +++ vim74/runtime/doc/pi_vimball.txt    2014-03-30 20:09:03.682695074 +0000
     24780+++ vim74/runtime/doc/pi_vimball.txt    2014-04-27 05:20:57.361749875 +0000
    2447124781@@ -188,7 +188,7 @@
    2447224782                          * Changed silent! to sil! (shorter)
     
    2448024790diff -Naur vim74.orig/runtime/doc/quickfix.txt vim74/runtime/doc/quickfix.txt
    2448124791--- vim74.orig/runtime/doc/quickfix.txt 2013-08-10 11:25:00.000000000 +0000
    24482 +++ vim74/runtime/doc/quickfix.txt      2014-03-30 20:09:03.682695074 +0000
     24792+++ vim74/runtime/doc/quickfix.txt      2014-04-27 05:20:57.361749875 +0000
    2448324793@@ -1,4 +1,4 @@
    2448424794-*quickfix.txt*  For Vim version 7.4.  Last change: 2013 Aug 03
     
    2456224872diff -Naur vim74.orig/runtime/doc/recover.txt vim74/runtime/doc/recover.txt
    2456324873--- vim74.orig/runtime/doc/recover.txt  2013-08-10 11:25:00.000000000 +0000
    24564 +++ vim74/runtime/doc/recover.txt       2014-03-30 20:09:03.686028517 +0000
     24874+++ vim74/runtime/doc/recover.txt       2014-04-27 05:20:57.365083291 +0000
    2456524875@@ -1,4 +1,4 @@
    2456624876-*recover.txt*   For Vim version 7.4.  Last change: 2010 Jul 20
    24567 +*recover.txt*   For Vim version 7.4.  Last change: 2014 Mar 25
     24877+*recover.txt*   For Vim version 7.4.  Last change: 2014 Mar 27
    2456824878 
    2456924879 
     
    2457724887+|:noswapfile| modifier can be used to not create a swapfile for a new buffer.
    2457824888+
    24579 +:noswap[file]   {command}                      *:nos* *:noswapfile*
     24889+:nos[wapfile]   {command}                      *:nos* *:noswapfile*
    2458024890+               Execute {command}. If it contains a command that loads a new
    2458124891+               buffer, it will be loaded without creating a swapfile and the
     
    2458724897diff -Naur vim74.orig/runtime/doc/repeat.txt vim74/runtime/doc/repeat.txt
    2458824898--- vim74.orig/runtime/doc/repeat.txt   2013-08-10 11:25:00.000000000 +0000
    24589 +++ vim74/runtime/doc/repeat.txt        2014-03-30 20:09:03.686028517 +0000
     24899+++ vim74/runtime/doc/repeat.txt        2014-04-27 05:20:57.368416707 +0000
    2459024900@@ -1,4 +1,4 @@
    2459124901-*repeat.txt*    For Vim version 7.4.  Last change: 2013 Jul 25
     
    2464124951diff -Naur vim74.orig/runtime/doc/sign.txt vim74/runtime/doc/sign.txt
    2464224952--- vim74.orig/runtime/doc/sign.txt     2013-08-10 11:25:01.000000000 +0000
    24643 +++ vim74/runtime/doc/sign.txt  2014-03-30 20:09:03.689361960 +0000
     24953+++ vim74/runtime/doc/sign.txt  2014-04-27 05:20:57.368416707 +0000
    2464424954@@ -1,4 +1,4 @@
    2464524955-*sign.txt*      For Vim version 7.4.  Last change: 2012 Jul 10
     
    2465924969diff -Naur vim74.orig/runtime/doc/spell.txt vim74/runtime/doc/spell.txt
    2466024970--- vim74.orig/runtime/doc/spell.txt    2013-08-10 11:25:01.000000000 +0000
    24661 +++ vim74/runtime/doc/spell.txt 2014-03-30 20:09:03.692695403 +0000
     24971+++ vim74/runtime/doc/spell.txt 2014-04-27 05:20:57.371750123 +0000
    2466224972@@ -1,4 +1,4 @@
    2466324973-*spell.txt*    For Vim version 7.4.  Last change: 2013 Jul 17
     
    2468024990 SPELL FILES                                            *spell-load*
    2468124991 
     24992diff -Naur vim74.orig/runtime/doc/starting.txt vim74/runtime/doc/starting.txt
     24993--- vim74.orig/runtime/doc/starting.txt 2013-08-10 11:25:01.000000000 +0000
     24994+++ vim74/runtime/doc/starting.txt      2014-04-27 05:20:57.371750123 +0000
     24995@@ -1,4 +1,4 @@
     24996-*starting.txt*  For Vim version 7.4.  Last change: 2013 Jul 20
     24997+*starting.txt*  For Vim version 7.4.  Last change: 2014 Mar 29
     24998 
     24999 
     25000                  VIM REFERENCE MANUAL    by Bram Moolenaar
     25001@@ -1276,8 +1276,10 @@
     25002                        When [!] is included an existing file is overwritten.
     25003                        When [file] is omitted or is a number from 1 to 9, a
     25004                        name is generated and 'viewdir' prepended.  When the
     25005-                       last directory name in 'viewdir' does not exist, this
     25006-                       directory is created.
     25007+                       last path part of 'viewdir' does not exist, this
     25008+                       directory is created.  E.g., when 'viewdir' is
     25009+                       "$VIM/vimfiles/view" then "view" is created in
     25010+                       "$VIM/vimfiles".
     25011                        An existing file is always overwritten then.  Use
     25012                        |:loadview| to load this view again.
     25013                        When [file] is the name of a file ('viewdir' is not
    2468225014diff -Naur vim74.orig/runtime/doc/syntax.txt vim74/runtime/doc/syntax.txt
    2468325015--- vim74.orig/runtime/doc/syntax.txt   2013-08-10 11:25:01.000000000 +0000
    24684 +++ vim74/runtime/doc/syntax.txt        2014-03-30 20:09:03.696028847 +0000
     25016+++ vim74/runtime/doc/syntax.txt        2014-04-27 05:20:57.375083540 +0000
    2468525017@@ -1,4 +1,4 @@
    2468625018-*syntax.txt*   For Vim version 7.4.  Last change: 2013 Jul 05
    24687 +*syntax.txt*   For Vim version 7.4.  Last change: 2014 Feb 25
     25019+*syntax.txt*   For Vim version 7.4.  Last change: 2014 Apr 05
    2468825020 
    2468925021 
     
    2474425076 
    2474525077 Erlang is a functional programming language developed by Ericsson.  Files with
     25078@@ -1918,7 +1959,7 @@
     25079 There are several implementations for LPC, we intend to support most widely
     25080 used ones.  Here the default LPC syntax is for MudOS series, for MudOS v22
     25081 and before, you should turn off the sensible modifiers, and this will also
     25082-asserts the new efuns after v22 to be invalid, don't set this variable when
     25083+assert the new efuns after v22 to be invalid, don't set this variable when
     25084 you are using the latest version of MudOS: >
     25085 
     25086        :let lpc_pre_v22 = 1
    2474625087@@ -3156,18 +3197,16 @@
    2474725088 embedded script highlighting they wish to have. >
     
    2477525116diff -Naur vim74.orig/runtime/doc/tags vim74/runtime/doc/tags
    2477625117--- vim74.orig/runtime/doc/tags 2013-08-10 12:23:34.000000000 +0000
    24777 +++ vim74/runtime/doc/tags      2014-03-30 20:09:03.699362289 +0000
     25118+++ vim74/runtime/doc/tags      2014-04-27 05:20:57.378416956 +0000
    2477825119@@ -12,6 +12,7 @@
    2477925120 %      motion.txt      /*%*
     
    2487825219 :sign-unplace  sign.txt        /*:sign-unplace*
    2487925220 :sil   various.txt     /*:sil*
    24880 @@ -4294,6 +4309,8 @@
     25221@@ -4294,6 +4309,9 @@
    2488125222 E879   syntax.txt      /*E879*
    2488225223 E88    windows.txt     /*E88*
     
    2488425225+E881   autocmd.txt     /*E881*
    2488525226+E882   eval.txt        /*E882*
     25227+E883   eval.txt        /*E883*
    2488625228 E89    message.txt     /*E89*
    2488725229 E90    message.txt     /*E90*
    2488825230 E91    options.txt     /*E91*
    24889 @@ -4900,6 +4917,7 @@
     25231@@ -4900,6 +4918,7 @@
    2489025232 byte-count     editing.txt     /*byte-count*
    2489125233 byte2line()    eval.txt        /*byte2line()*
     
    2489525237 c      change.txt      /*c*
    2489625238 c.vim  syntax.txt      /*c.vim*
    24897 @@ -5458,6 +5476,8 @@
     25239@@ -5350,6 +5369,7 @@
     25240 dialog gui_w32.txt     /*dialog*
     25241 dialogs-added  version5.txt    /*dialogs-added*
     25242 dib    motion.txt      /*dib*
     25243+dict   eval.txt        /*dict*
     25244 dict-functions usr_41.txt      /*dict-functions*
     25245 dict-identity  eval.txt        /*dict-identity*
     25246 dict-modification      eval.txt        /*dict-modification*
     25247@@ -5458,6 +5478,8 @@
    2489825248 escape intro.txt       /*escape*
    2489925249 escape()       eval.txt        /*escape()*
     
    2490425254 eval() eval.txt        /*eval()*
    2490525255 eval-examples  eval.txt        /*eval-examples*
    24906 @@ -5708,6 +5728,7 @@
     25256@@ -5492,6 +5514,7 @@
     25257 exclusive-linewise     motion.txt      /*exclusive-linewise*
     25258 executable()   eval.txt        /*executable()*
     25259 execute-menus  gui.txt /*execute-menus*
     25260+exepath()      eval.txt        /*exepath()*
     25261 exim   starting.txt    /*exim*
     25262 exists()       eval.txt        /*exists()*
     25263 exp()  eval.txt        /*exp()*
     25264@@ -5708,6 +5731,7 @@
    2490725265 ft-changelog-syntax    syntax.txt      /*ft-changelog-syntax*
    2490825266 ft-chill-syntax        syntax.txt      /*ft-chill-syntax*
     
    2491225270 ft-coldfusion-syntax   syntax.txt      /*ft-coldfusion-syntax*
    2491325271 ft-cpp-syntax  syntax.txt      /*ft-cpp-syntax*
    24914 @@ -5724,6 +5745,7 @@
     25272@@ -5724,6 +5748,7 @@
    2491525273 ft-dtd-syntax  syntax.txt      /*ft-dtd-syntax*
    2491625274 ft-eiffel-syntax       syntax.txt      /*ft-eiffel-syntax*
     
    2492025278 ft-form-syntax syntax.txt      /*ft-form-syntax*
    2492125279 ft-fortran-indent      indent.txt      /*ft-fortran-indent*
    24922 @@ -5876,6 +5898,8 @@
     25280@@ -5876,6 +5901,8 @@
    2492325281 g:ada_with_gnat_project_files  ft_ada.txt      /*g:ada_with_gnat_project_files*
    2492425282 g:ada_withuse_ordinary ft_ada.txt      /*g:ada_withuse_ordinary*
     
    2492925287 g:clojure_fuzzy_indent_blacklist       indent.txt      /*g:clojure_fuzzy_indent_blacklist*
    2493025288 g:clojure_fuzzy_indent_patterns        indent.txt      /*g:clojure_fuzzy_indent_patterns*
    24931 @@ -5924,6 +5948,7 @@
     25289@@ -5924,6 +5951,7 @@
    2493225290 g:html_use_encoding    syntax.txt      /*g:html_use_encoding*
    2493325291 g:html_use_xhtml       syntax.txt      /*g:html_use_xhtml*
     
    2493725295 g:netrw_altv   pi_netrw.txt    /*g:netrw_altv*
    2493825296 g:netrw_banner pi_netrw.txt    /*g:netrw_banner*
    24939 @@ -5958,6 +5983,7 @@
     25297@@ -5958,6 +5986,7 @@
    2494025298 g:netrw_hide   pi_netrw.txt    /*g:netrw_hide*
    2494125299 g:netrw_home   pi_netrw.txt    /*g:netrw_home*
     
    2494525303 g:netrw_ignorenetrc    pi_netrw.txt    /*g:netrw_ignorenetrc*
    2494625304 g:netrw_keepdir        pi_netrw.txt    /*g:netrw_keepdir*
    24947 @@ -6358,6 +6384,7 @@
     25305@@ -6358,6 +6387,7 @@
    2494825306 hl-WildMenu    syntax.txt      /*hl-WildMenu*
    2494925307 hlID() eval.txt        /*hlID()*
     
    2495325311 home   intro.txt       /*home*
    2495425312 home-replace   editing.txt     /*home-replace*
    24955 @@ -6921,6 +6948,15 @@
     25313@@ -6669,6 +6699,7 @@
     25314 linewise-visual        visual.txt      /*linewise-visual*
     25315 lisp.vim       syntax.txt      /*lisp.vim*
     25316 lispindent()   eval.txt        /*lispindent()*
     25317+list   eval.txt        /*list*
     25318 list-functions usr_41.txt      /*list-functions*
     25319 list-identity  eval.txt        /*list-identity*
     25320 list-index     eval.txt        /*list-index*
     25321@@ -6921,6 +6952,15 @@
    2495625322 netrw  pi_netrw.txt    /*netrw*
    2495725323 netrw-%        pi_netrw.txt    /*netrw-%*
     
    2496925335 netrw-D        pi_netrw.txt    /*netrw-D*
    2497025336 netrw-O        pi_netrw.txt    /*netrw-O*
    24971 @@ -6978,6 +7014,7 @@
     25337@@ -6978,6 +7018,7 @@
    2497225338 netrw-getftype pi_netrw.txt    /*netrw-getftype*
    2497325339 netrw-gf       pi_netrw.txt    /*netrw-gf*
     
    2497725343 netrw-gx       pi_netrw.txt    /*netrw-gx*
    2497825344 netrw-handler  pi_netrw.txt    /*netrw-handler*
    24979 @@ -6992,6 +7029,7 @@
     25345@@ -6992,6 +7033,7 @@
    2498025346 netrw-internal-variables       pi_netrw.txt    /*netrw-internal-variables*
    2498125347 netrw-intro-browse     pi_netrw.txt    /*netrw-intro-browse*
     
    2498525351 netrw-listbookmark     pi_netrw.txt    /*netrw-listbookmark*
    2498625352 netrw-listhack pi_netrw.txt    /*netrw-listhack*
    24987 @@ -7022,6 +7060,7 @@
     25353@@ -7022,6 +7064,7 @@
    2498825354 netrw-nexplore pi_netrw.txt    /*netrw-nexplore*
    2498925355 netrw-noload   pi_netrw.txt    /*netrw-noload*
     
    2499325359 netrw-o        pi_netrw.txt    /*netrw-o*
    2499425360 netrw-options  pi_netrw.txt    /*netrw-options*
    24995 @@ -7577,6 +7616,7 @@
     25361@@ -7374,6 +7417,7 @@
     25362 profiling      repeat.txt      /*profiling*
     25363 profiling-variable     eval.txt        /*profiling-variable*
     25364 progname-variable      eval.txt        /*progname-variable*
     25365+progpath-variable      eval.txt        /*progpath-variable*
     25366 progress.vim   syntax.txt      /*progress.vim*
     25367 pronounce      intro.txt       /*pronounce*
     25368 psql   ft_sql.txt      /*psql*
     25369@@ -7577,6 +7621,7 @@
    2499625370 s/\3   change.txt      /*s\/\\3*
    2499725371 s/\9   change.txt      /*s\/\\9*
     
    2500125375 s/\L   change.txt      /*s\/\\L*
    2500225376 s/\U   change.txt      /*s\/\\U*
    25003 @@ -7787,6 +7827,7 @@
     25377@@ -7787,6 +7832,7 @@
    2500425378 spell-affix-mbyte      spell.txt       /*spell-affix-mbyte*
    2500525379 spell-affix-not-supported      spell.txt       /*spell-affix-not-supported*
     
    2500925383 spell-dic-format       spell.txt       /*spell-dic-format*
    2501025384 spell-double-scoring   spell.txt       /*spell-double-scoring*
    25011 @@ -8280,6 +8321,7 @@
     25385@@ -7872,6 +7918,7 @@
     25386 strdisplaywidth()      eval.txt        /*strdisplaywidth()*
     25387 strftime()     eval.txt        /*strftime()*
     25388 stridx()       eval.txt        /*stridx()*
     25389+string eval.txt        /*string*
     25390 string()       eval.txt        /*string()*
     25391 string-functions       usr_41.txt      /*string-functions*
     25392 string-match   eval.txt        /*string-match*
     25393@@ -7936,6 +7983,7 @@
     25394 system()       eval.txt        /*system()*
     25395 system-functions       usr_41.txt      /*system-functions*
     25396 system-vimrc   starting.txt    /*system-vimrc*
     25397+systemlist()   eval.txt        /*systemlist()*
     25398 s~     change.txt      /*s~*
     25399 t      motion.txt      /*t*
     25400 t:     eval.txt        /*t:*
     25401@@ -8280,6 +8328,7 @@
    2501225402 undofile()     eval.txt        /*undofile()*
    2501325403 undotree()     eval.txt        /*undotree()*
     
    2501725407 unlisted-buffer        windows.txt     /*unlisted-buffer*
    2501825408 up-down-motions        motion.txt      /*up-down-motions*
    25019 @@ -8364,6 +8406,7 @@
     25409@@ -8364,6 +8413,7 @@
    2502025410 v:foldend      eval.txt        /*v:foldend*
    2502125411 v:foldlevel    eval.txt        /*v:foldlevel*
     
    2502525415 v:key  eval.txt        /*v:key*
    2502625416 v:lang eval.txt        /*v:lang*
     25417@@ -8377,6 +8427,7 @@
     25418 v:prevcount    eval.txt        /*v:prevcount*
     25419 v:profiling    eval.txt        /*v:profiling*
     25420 v:progname     eval.txt        /*v:progname*
     25421+v:progpath     eval.txt        /*v:progpath*
     25422 v:register     eval.txt        /*v:register*
     25423 v:scrollstart  eval.txt        /*v:scrollstart*
     25424 v:searchforward        eval.txt        /*v:searchforward*
    2502725425diff -Naur vim74.orig/runtime/doc/tagsrch.txt vim74/runtime/doc/tagsrch.txt
    2502825426--- vim74.orig/runtime/doc/tagsrch.txt  2013-08-10 11:25:02.000000000 +0000
    25029 +++ vim74/runtime/doc/tagsrch.txt       2014-03-30 20:09:03.702695732 +0000
     25427+++ vim74/runtime/doc/tagsrch.txt       2014-04-27 05:20:57.381750371 +0000
    2503025428@@ -1,4 +1,4 @@
    2503125429-*tagsrch.txt*   For Vim version 7.4.  Last change: 2013 Jul 28
     
    2505125449diff -Naur vim74.orig/runtime/doc/todo.txt vim74/runtime/doc/todo.txt
    2505225450--- vim74.orig/runtime/doc/todo.txt     2013-08-10 11:25:02.000000000 +0000
    25053 +++ vim74/runtime/doc/todo.txt  2014-03-30 20:09:03.709362618 +0000
     25451+++ vim74/runtime/doc/todo.txt  2014-04-27 05:20:57.388417204 +0000
    2505425452@@ -1,4 +1,4 @@
    2505525453-*todo.txt*      For Vim version 7.4.  Last change: 2013 Aug 10
    25056 +*todo.txt*      For Vim version 7.4.  Last change: 2014 Mar 27
     25454+*todo.txt*      For Vim version 7.4.  Last change: 2014 Apr 05
    2505725455 
    2505825456 
    2505925457                  VIM REFERENCE MANUAL    by Bram Moolenaar
    25060 @@ -34,38 +34,234 @@
     25458@@ -34,38 +34,232 @@
    2506125459                                                        *known-bugs*
    2506225460 -------------------- Known bugs and current work -----------------------
    2506325461 
    2506425462+Regexp problems:
     25463+- Crash when using cpp syntax file with raw string. (Havard Garnes)
     25464+  Edit "~/tmp/test.cc" and source "~/tmp/cpp.vim".
    2506525465+- NFA regexp doesn't count tab matches correctly. (Urtica Dioica / gaultheria
    2506625466+  Shallon, 2013 Nov 18)
     
    2509725497 
    2509825498-Patch to add "acl" and "xpm" as a feature. (Ken Takata, 2013 Jul 8)
    25099 +Using autoconf 2.69 gives a lot of warnings.
     25499+Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18)
     25500+
     25501+MS-Windows: Crash opening very long file name starting with "\\".
     25502+(Christian Brock, 2012 Jun 29)
     25503+
     25504+Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
     25505+2012 Aug 11)  Disallow :new when BufUnload is being handled?
     25506+
     25507+Spell files use a latin single quote.  Unicode also has another single quote.
     25508+Adjust spell file scripts to duplicate words to support both quotes.
     25509+(Ron Aaron, 2014 Apr 4)
    2510025510+
    2510125511+Problem with 'spellsuggest' file, only works for some words.
     
    2511025520+Feb 24)
    2511125521+
    25112 +Crash with ":%s/\n//g" on long file. (Aidan Marlin, 2014 Jan 15)
    25113 +Christian Brabandt: patch to run this into a join. (2014 Jan 18)
    25114 +Suggestion to not save replaced line for undo: Yukihiro Nakadaira, 2014 Jan
    25115 +25.
    25116 +
    2511725522+Add digraph for Rouble: =P.  What's the Unicode?
    2511825523+
    25119 +Bug: "!ls %" expands parenthesis in %, but not spaces.  So this doesn't work
    25120 +either: ':!ls "%"'.
    25121 +Patch by Gary Johnson, 2014 Mar 6.
    25122 +
    2512325524+Issue 174: Detect Mason files.
    2512425525+
    2512525526+No error for missing endwhile. (ZyX, 2014 Mar 20)
    2512625527+
    25127 +Patch to add v:progpath. (Viktor Kojouharov, 2014 Mar 15)
    25128 +
    2512925528+Phpcomplete.vim update. (Complex, 2014 Jan 15)
    2513025529+
    2513125530+PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19)
     25531+
     25532+Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
     25533+Also fixes wrong result from executable().
     25534+Update from Ken Takata, 2014 Jan 10. Newer 2014 Apr 3.
    2513225535+
    2513325536+Can we make ":unlet $VAR" use unsetenv() to delete the env var?
     
    2513925542+    vim -u NONE 1 2 3 -c 'bufdo while 1 | echo 1'
    2514025543+
    25141 +spec ftplugin: patch from Igor Gnatenko, 2014 Jan 26.
    25142 +Include if maintainers don't respond.
    25143  
    25144  Patch to make has() check for Vim version and patch at the same time.
    25145  (Marc Weber, 2013 Jun 7)
    25146  
    25147 +Regression on pach 7.4.034. (Ingo Karkat, 2013 Nov 20)
     25544+'viewdir' default on MS-Windows is not a good choice, it's a system directory.
     25545+Change 'viewdir' to "$HOME/vimfiles/view" and use 'viewdiralt' to also read
     25546+from?
    2514825547+
    2514925548+Include a plugin manager with Vim? Neobundle seems to be the best currently.
     
    2518125580+  useful).
    2518225581+
    25183 +Patch to include smack support (Linux security library). (Jose Bollo, 2014 Jan
    25184 +14) Update Jan 15.
    25185 +
    25186 +Tag list, as used for :tjump, does not unescape regexp. (Gary Johnson, 2014 Jan
    25187 +6) With patch in another message.
     25582+Setting the spell file in a session only reads the local additions, not the
     25583+normal spell file. (Enno Nagel, 2014 Mar 29)
     25584+
     25585+Editing an ascii file as ucs-2 or ucs-4 causes display errors.
     25586+(ZyX, 2014 Mar 30)
     25587+
     25588+":Next 1 some-arg" does not complain about trailing argument.  Also for
     25589+various other commands.  (ZyX, 2014 Mar 30)
    2518825590+
    2518925591+VMS: Select() doesn't work properly, typing ESC may hang Vim.  Use sys$qiow
    2519025592+instead. (Samuel Ferencik, 2013 Sep 28)
    2519125593+
    25192 +Series of patches for NL vs NUL handling. (ZyX, 2013 Nov 3, Nov 9)
    25193 +
    2519425594+Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)
    2519525595+
     
    2520025600+
    2520125601+Patch to make test 100 work on MS-Windows. (Taro Muraoka, 2013 Dec 12)
    25202 +
     25602 
     25603-Patch to make has() check for Vim version and patch at the same time.
     25604-(Marc Weber, 2013 Jun 7)
    2520325605+Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
    2520425606+
     
    2520725609+
    2520825610+Perl: support for Activestate perl 5.18: Issue 170.
    25209 +
     25611 
    2521025612 Several syntax file match "^\s*" which may get underlined if that's in the
    2521125613 highlight group.  Add a "\zs" after it?
     
    2522825630+
    2522925631+Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
    25230 +
    25231 +Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
    2523225632 
    2523325633-Several Win32 functions are not using Unicode.
    2523425634-Patches to fix this. (Ken Takata, 2013 Aug 9)
     25635+Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
     25636+
    2523525637+With "$" in 'cpoptions' the popup menu isn't fully drawn. (Matti Niemenmaa,
    2523625638+2013 Sep 5)
     
    2524925651+    "lucida_console:h8").
    2525025652+Patch by Thomas Tuegel, also for GTK, 2013 Nov 24
    25251  
    25252 -Patch to make external commands work with multi-byte characters on Win32 when
    25253 -'encoding' differs from the active codepage. (Yasuhiro Matsumoto, 2013 Aug 5)
     25653+
    2525425654+:help gives example for z?, but it does not work.  m? and t? do work.
    2525525655+
     
    2526425664+Patch to fix that on suckless Terminal mousewheel up does not work.
    2526525665+(Ralph Eastwood, 2013 Nov 25)
    25266 +
     25666 
     25667-Patch to make external commands work with multi-byte characters on Win32 when
     25668-'encoding' differs from the active codepage. (Yasuhiro Matsumoto, 2013 Aug 5)
    2526725669+Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
    2526825670 
     
    2529325695+registers. (Aryeh Leib Taurog, 2013 Nov 18)
    2529425696+
    25295 +Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
    25296 +Also fixes wrong result from executable().
    25297 +Update from Ken Takata, 2014 Jan 10.
    25298 +
    2529925697 Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
    2530025698 
    2530125699 The BufUnload event is triggered when re-using the empty buffer.
    25302 @@ -76,6 +272,10 @@
     25700@@ -76,6 +270,10 @@
    2530325701 - The word that was selected (empty if abandoned complete)
    2530425702 - Type of completion: tag, omnifunc, user func.
     
    2531125709 That is, calling a dictionary function on an autoloaded dict.
    2531225710 Works OK for echo, just not for  ":call" and ":call call()". (Ted, 2011 Mar
    25313 @@ -83,10 +283,6 @@
     25711@@ -83,10 +281,6 @@
    2531425712 Patch by Christian Brabandt, 2013 Mar 23.
    2531525713 Not 100% sure this is the right solution.
     
    2532225720 Yasuhiro Matsumoto, 2013 May 31.
    2532325721 Or should we add a more general mechanism, like lambda functions?
    25324 @@ -94,6 +290,19 @@
     25722@@ -94,6 +288,19 @@
    2532525723 Problem caused by patch 7.3.638: window->open does not update window
    2532625724 correctly. Issue 91.
     
    2534225740 2013 Mar 19, later message)
    2534325741 
    25344 @@ -108,6 +317,8 @@
     25742@@ -108,6 +315,8 @@
    2534525743 Bug with 'cursorline' in diff mode.  Line being scrolled into view gets
    2534625744 highlighted as the cursor line.  (Alessandro Ivaldi, 2013 Jun 4)
     
    2535125749 May 17: with winlist() and tabpagelist().
    2535225750 May 19: with local variables.
    25353 @@ -119,6 +330,8 @@
     25751@@ -119,6 +328,8 @@
    2535425752 Patch from Christian Brabandt to make the "buffer" argument for ":sign place"
    2535525753 optional. (2013 Jul 12)
     
    2536025758 functions. (Christian Brabandt, 2013 May 8, update May 21)
    2536125759 Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
    25362 @@ -152,8 +365,19 @@
    25363  MS-Windows: Crash opening very long file name starting with "\\".
    25364  (Christian Brock, 2012 Jun 29)
    25365  
     25760@@ -149,11 +360,19 @@
     25761 process that is running.  It might actually be some other program, e.g. after
     25762 a reboot.
     25763 
     25764-MS-Windows: Crash opening very long file name starting with "\\".
     25765-(Christian Brock, 2012 Jun 29)
    2536625766+Patch to have text objects defined by arbitrary single characters. (Daniel
    2536725767+Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
     
    2537125771+Patch to select the next or previous text object if there isn't one under the
    2537225772+cursor. (Daniel Thau, 2013 Nov 20)
    25373 +
     25773 
    2537425774 patch to add "combine" flag to  syntax commands. (so8res, 2012 Dec 6)
    2537525775 
     
    2538025780 not correctly updated. (Paul Harris, 2012 Feb 27)
    2538125781 
    25382 @@ -167,8 +391,17 @@
     25782@@ -167,8 +386,17 @@
    2538325783 
    2538425784 Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
     
    2539825798 Patch to add 'completeselect' option.  Specifies how to select a candidate in
    2539925799 insert completion. (Shougo, 2013 May 29)
    25400 @@ -182,9 +415,6 @@
     25800@@ -182,9 +410,6 @@
    2540125801 Win32: The Python interface only works with one version of Python, selected at
    2540225802 compile time.  Can this be made to work with version 2.1 and 2.2 dynamically?
     
    2540825808 Vim script.  Requires converting the arguments and return value, like with
    2540925809 vim.bindeval().
    25410 @@ -251,10 +481,6 @@
     25810@@ -205,9 +430,6 @@
     25811 Add a check for b:no_match_paren in Highlight_matching_Pair() (Marcin
     25812 Szamotulski, 2012 Nov 8)
     25813 
     25814-Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
     25815-2012 Aug 11)  Disallow :new when BufUnload is being handled?
     25816-
     25817 Issue 72: 'autochdir' causes problems for :vimgrep.
     25818 
     25819 Session file creation: 'autochdir' causes trouble.  Keep it off until after
     25820@@ -251,10 +473,6 @@
    2541125821 Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
    2541225822 Aug 16)
     
    2541925829 is confusing.  Should say "the argument list is empty".
    2542025830 
    25421 @@ -272,8 +498,13 @@
     25831@@ -272,8 +490,13 @@
    2542225832 
    2542325833 Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
     
    2543325843 Apr 18)
    2543425844 
    25435 @@ -286,13 +517,12 @@
     25845@@ -286,13 +509,12 @@
    2543625846     More recent version: https://retracile.net/wiki/VimBreakIndent
    2543725847     Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
     
    2544825858 
    2544925859 Update for vim2html.pl. (Tyru, 2013 Feb 22)
    25450 @@ -374,8 +604,6 @@
     25860@@ -374,8 +596,6 @@
    2545125861 Setting $HOME on MS-Windows is not very well documented.  Suggestion by Ben
    2545225862 Fritz (2011 Oct 27).
     
    2545725867 doing ":g/test/d".  Putting every delete on the clipboard? (Robert Chan, 2011
    2545825868 Jun 17)
    25459 @@ -396,7 +624,7 @@
     25869@@ -396,7 +616,7 @@
    2546025870 Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
    2546125871 
     
    2546625876 
    2546725877 Patch for variable tabstops.
    25468 @@ -419,6 +647,8 @@
     25878@@ -419,6 +639,8 @@
    2546925879 When setqflist() uses a filename that triggers a BufReadCmd autocommand Vim
    2547025880 doesn't jump to the correct line with :cfirst. (ZyX,  2011 Sep 18)
     
    2547525885 Patch from Christian Brabandt, 2011 Aug 19.
    2547625886 
    25477 @@ -456,6 +686,9 @@
     25887@@ -456,6 +678,9 @@
    2547825888 number, but it is in the sign column.  Doesn't look right. (ZyX 2011 Jun 5)
    2547925889 Patch by Christian Brabandt, 2011 Jun 5.  Introduces new problems.
     
    2548525895 Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9.
    2548625896 
    25487 @@ -556,7 +789,7 @@
     25897@@ -556,7 +781,7 @@
    2548825898 the system encoding (usually utf-8).
    2548925899 
     
    2549425904 Problem producing tags file when hebrew.frx is present.  It has a BOM.
    2549525905 Results in E670. (Tony Mechelynck, 2010 May 2)
    25496 @@ -573,8 +806,7 @@
     25906@@ -573,8 +798,7 @@
    2549725907 
    2549825908 getpos()/setpos() don't include curswant.  getpos() could return a fifth
     
    2550425914 With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
    2550525915 2010 Oct 24)
    25506 @@ -595,9 +827,6 @@
     25916@@ -595,9 +819,6 @@
    2550725917 checked to be in a comment.  Implement FM_SKIPCOMM flag of findmatchlimit().
    2550825918 Issue 46.
     
    2551425924 
    2551525925 Using CompilerSet doesn't record where an option was set from.  E.g., in the
    25516 @@ -629,10 +858,6 @@
     25926@@ -620,8 +841,6 @@
     25927 When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
     25928 instead of one. (Constantin Pan, 2010 Sep 10)
     25929 
     25930-Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18)
     25931-
     25932 Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
     25933 Winckler, 2011 May 11)
     25934 Requires a map mode for Insert mode started from blockwise Visual mode.
     25935@@ -629,10 +848,6 @@
    2551725936 Writing nested List and Dict in viminfo gives error message and can't be read
    2551825937 back. (Yukihiro Nakadaira, 2010 Nov 13)
     
    2552525944 Additional info by Dominique Pelle. (also on 2010 Apr 10)
    2552625945 
    25527 @@ -759,6 +984,7 @@
     25946@@ -759,6 +974,7 @@
    2552825947 
    2552925948 Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
     
    2553325952 Patch to add "focusonly" to 'scrollopt', so that scrollbind also applies in
    2553425953 window that doesn't have focus. (Jonathon Mah, 2009 Jan 12)
    25535 @@ -838,8 +1064,6 @@
     25954@@ -838,8 +1054,6 @@
    2553625955 Win32 GUI: last message from startup doesn't show up when there is an echoerr
    2553725956 command. (Cyril Slobin, 2009 Mar 13)
     
    2554225961 does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22)
    2554325962 
    25544 @@ -856,7 +1080,7 @@
     25963@@ -856,7 +1070,7 @@
    2554525964 Using ~ works OK on 'a' with composing char, but not on 0x0418  with composing
    2554625965 char 0x0301. (Tony Mechelynck, 2009 Mar 4)
     
    2555125970 Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
    2555225971 messages, even though locale is not supported.  But ":lang messages
    25553 @@ -885,7 +1109,7 @@
     25972@@ -885,7 +1099,7 @@
    2555425973 Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off.
    2555525974 (Henrik Ohman, 2009, Jan 29)
     
    2556025979 Use a different option or let it depend on whether 'shell' looks like a
    2556125980 unix-like shell?
    25562 @@ -918,8 +1142,6 @@
     25981@@ -918,8 +1132,6 @@
    2556325982 Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
    2556425983 Maybe call it v:motiontype.
     
    2556925988 doesn't set 'ff' to "unix".  (Ben Fritz, 2008 Dec 5) Reusing the old buffer
    2557025989 probably causes this.
    25571 @@ -928,7 +1150,7 @@
     25990@@ -928,7 +1140,7 @@
    2557225991 2009 Jan 16)
    2557325992 
     
    2557825997 Document that default font in Athena can be set with resources:
    2557925998    XtDefaultFont: "9x15"
    25580 @@ -1296,14 +1518,17 @@
     25999@@ -1296,14 +1508,17 @@
    2558126000 Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
    2558226001 only takes 'shellslash' into account.
     
    2560026019 2007 Jun 21)
    2560126020 
    25602 @@ -1459,6 +1684,9 @@
     26021@@ -1459,6 +1674,9 @@
    2560326022 tree stops unexpectedly when using ":cd " and entering a directory that
    2560426023 doesn't contain other directories.
     
    2561026029    highlight Normal ctermbg=DarkGray
    2561126030    set background=dark
    25612 @@ -1685,7 +1913,7 @@
     26031@@ -1685,7 +1903,7 @@
    2561326032 -   testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008
    2561426033     Sep 13)
     
    2561926038     Vissale Neang.  (Martin Stubenschrott) Asked Vissale to make the scripts
    2562026039     more friendly for the Vim distribution.
    25621 @@ -1715,7 +1943,7 @@
     26040@@ -1715,7 +1933,7 @@
    2562226041     How does this work?  Missing comments.
    2562326042 8   Add a few more command names to the menus.  Patch from Jiri Brezina
     
    2562826047 -   Include flipcase patch: ~/vim/patches/wall.flipcase2 ?  Make it work
    2562926048     for multi-byte characters.
    25630 @@ -1864,8 +2092,6 @@
     26049@@ -1864,8 +2082,6 @@
    2563126050 Win32 GUI known bugs:
    2563226051 -   Win32: tearoff menu window should have a scrollbar when it's taller than
     
    2563726056     file names.  Can we load unicows.dll dynamically?
    2563826057 8   The -P argument doesn't work very well with many MDI applications.
    25639 @@ -1873,9 +2099,6 @@
     26058@@ -1873,9 +2089,6 @@
    2564026059     Tutorial: http://win32assembly.online.fr/tut32.html
    2564126060 8   In eval.c, io.h is included when MSWIN32 is defined.  Shouldn't this be
     
    2564726066     of ":only" is highlighted like the cursor.  (Lipelis)
    2564826067 8   When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
    25649 @@ -1887,9 +2110,6 @@
     26068@@ -1887,9 +2100,6 @@
    2565026069 8   Use another default for 'termencoding': the active codepage.  Means that
    2565126070     when 'encoding' is changed typing characters still works properly.
     
    2565726076     2004 May 9)
    2565826077 8   Win32: When clicking on the gvim title bar, which gives it focus, produces
    25659 @@ -2272,8 +2492,6 @@
     26078@@ -2272,8 +2482,6 @@
    2566026079     character. (Yasuhiro Matsumoto)  It should return 1 when used on a tail
    2566126080     byte, like for utf-8.  Store second byte of double-byte in ScreenLines2[]
     
    2566626085     ":insert" command, causing the following "endfunction" not to be found.
    2566726086     Add skipping this perl construction inside function definitions.
    25668 @@ -2566,8 +2784,6 @@
     26087@@ -2566,8 +2774,6 @@
    2566926088     input method called from GDK code.  Without Perl it doesn't crash.
    2567026089 -   VMS: Vimdiff doesn't work with the VMS diff, because the output looks
     
    2567526094     in Vim as if the rightmost scrollbar was used.
    2567626095 -   GTK with Gnome: Produces an error message when starting up:
    25677 @@ -2736,10 +2952,6 @@
     26096@@ -2736,10 +2942,6 @@
    2567826097 
    2567926098 
     
    2568626105     https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777   
    2568726106 -   Unicode defines another quote character: 0x2019.  Use it as an equivalent
    25688 @@ -3153,6 +3365,7 @@
     26107@@ -3153,6 +3355,7 @@
    2568926108 Built-in script language:
    2569026109 8   Make the filename and line number available to script functions, so that
     
    2569426113     restore option values.  Especially useful for new options.  Problem: how
    2569526114     to avoid a performance penalty (esp. for string options)?
    25696 @@ -4035,8 +4248,7 @@
     26115@@ -4035,8 +4238,7 @@
    2569726116 7   Use Tabs for the indent of starting lines, pad with spaces for
    2569826117     continuation lines.  Allows changing 'tabstop' without messing up the
     
    2570426123 
    2570526124 Java:
    25706 @@ -4655,7 +4867,7 @@
     26125@@ -4655,7 +4857,7 @@
    2570726126 
    2570826127 Digraphs:
     
    2571326132     characters?
    2571426133 8   Add command to remove one or more (all) digraphs. (Brown)
    25715 @@ -4852,6 +5064,7 @@
     26134@@ -4852,6 +5054,7 @@
    2571626135 6   Add ":timer" command, to set a command to be executed at a certain
    2571726136     interval, or once after some time has elapsed. (Aaron)
     
    2572326142diff -Naur vim74.orig/runtime/doc/undo.txt vim74/runtime/doc/undo.txt
    2572426143--- vim74.orig/runtime/doc/undo.txt     2013-08-10 11:25:02.000000000 +0000
    25725 +++ vim74/runtime/doc/undo.txt  2014-03-30 20:09:03.712696061 +0000
     26144+++ vim74/runtime/doc/undo.txt  2014-04-27 05:20:57.391750620 +0000
    2572626145@@ -1,4 +1,4 @@
    2572726146-*undo.txt*      For Vim version 7.4.  Last change: 2012 Mar 04
     
    2575326172diff -Naur vim74.orig/runtime/doc/usr_25.txt vim74/runtime/doc/usr_25.txt
    2575426173--- vim74.orig/runtime/doc/usr_25.txt   2013-08-10 11:25:05.000000000 +0000
    25755 +++ vim74/runtime/doc/usr_25.txt        2014-03-30 20:09:03.722696391 +0000
     26174+++ vim74/runtime/doc/usr_25.txt        2014-04-27 05:20:57.401750869 +0000
    2575626175@@ -86,7 +86,7 @@
    2575726176 
     
    2576526184diff -Naur vim74.orig/runtime/doc/usr_30.txt vim74/runtime/doc/usr_30.txt
    2576626185--- vim74.orig/runtime/doc/usr_30.txt   2013-08-10 11:25:05.000000000 +0000
    25767 +++ vim74/runtime/doc/usr_30.txt        2014-03-30 20:09:03.722696391 +0000
     26186+++ vim74/runtime/doc/usr_30.txt        2014-04-27 05:20:57.405084285 +0000
    2576826187@@ -128,7 +128,7 @@
    2576926188 You can include special Vim keywords in the command specification.  The %
     
    2578626205diff -Naur vim74.orig/runtime/doc/usr_40.txt vim74/runtime/doc/usr_40.txt
    2578726206--- vim74.orig/runtime/doc/usr_40.txt   2013-08-10 11:25:05.000000000 +0000
    25788 +++ vim74/runtime/doc/usr_40.txt        2014-03-30 20:09:03.722696391 +0000
     26207+++ vim74/runtime/doc/usr_40.txt        2014-04-27 05:20:57.408417700 +0000
    2578926208@@ -209,7 +209,7 @@
    2579026209 separates the two commands.  This also means that a | character can't be used
     
    2579826217diff -Naur vim74.orig/runtime/doc/usr_41.txt vim74/runtime/doc/usr_41.txt
    2579926218--- vim74.orig/runtime/doc/usr_41.txt   2013-08-10 11:25:05.000000000 +0000
    25800 +++ vim74/runtime/doc/usr_41.txt        2014-03-30 20:09:03.722696391 +0000
     26219+++ vim74/runtime/doc/usr_41.txt        2014-04-27 05:20:57.408417700 +0000
    2580126220@@ -1,4 +1,4 @@
    2580226221-*usr_41.txt*   For Vim version 7.4.  Last change: 2013 Feb 20
    25803 +*usr_41.txt*   For Vim version 7.4.  Last change: 2014 Jan 10
     26222+*usr_41.txt*   For Vim version 7.4.  Last change: 2014 Apr 05
    2580426223 
    2580526224                     VIM USER MANUAL - by Bram Moolenaar
     
    2586626285 Working with text in the current buffer:               *text-functions*
    2586726286        getline()               get a line or list of lines from the buffer
    25868 @@ -883,14 +896,22 @@
     26287@@ -729,6 +742,7 @@
     26288        pathshorten()           shorten directory names in a path
     26289        simplify()              simplify a path without changing its meaning
     26290        executable()            check if an executable program exists
     26291+       exepath()               full path of an executable program
     26292        filereadable()          check if a file can be read
     26293        filewritable()          check if a file can be written to
     26294        getfperm()              get the permissions of a file
     26295@@ -741,7 +755,8 @@
     26296        mkdir()                 create a new directory
     26297        delete()                delete a file
     26298        rename()                rename a file
     26299-       system()                get the result of a shell command
     26300+       system()                get the result of a shell command as a string
     26301+       systemlist()            get the result of a shell command as a list
     26302        hostname()              name of the system
     26303        readfile()              read a file into a List of lines
     26304        writefile()             write a List of lines into a file
     26305@@ -883,14 +898,22 @@
    2586926306        libcall()               call a function in an external library
    2587026307        libcallnr()             idem, returning a number
     
    2589126328diff -Naur vim74.orig/runtime/doc/usr_42.txt vim74/runtime/doc/usr_42.txt
    2589226329--- vim74.orig/runtime/doc/usr_42.txt   2013-08-10 11:25:05.000000000 +0000
    25893 +++ vim74/runtime/doc/usr_42.txt        2014-03-30 20:09:03.722696391 +0000
     26330+++ vim74/runtime/doc/usr_42.txt        2014-04-27 05:20:57.408417700 +0000
    2589426331@@ -311,7 +311,7 @@
    2589526332 item with a bitmap.  For example, define a new toolbar item with: >
     
    2590326340diff -Naur vim74.orig/runtime/doc/usr_45.txt vim74/runtime/doc/usr_45.txt
    2590426341--- vim74.orig/runtime/doc/usr_45.txt   2013-08-10 11:25:06.000000000 +0000
    25905 +++ vim74/runtime/doc/usr_45.txt        2014-03-30 20:09:03.729363277 +0000
     26342+++ vim74/runtime/doc/usr_45.txt        2014-04-27 05:20:57.411751116 +0000
    2590626343@@ -328,8 +328,8 @@
    2590726344 *45.5* Entering language text
     
    2591726354diff -Naur vim74.orig/runtime/doc/various.txt vim74/runtime/doc/various.txt
    2591826355--- vim74.orig/runtime/doc/various.txt  2013-08-10 11:25:06.000000000 +0000
    25919 +++ vim74/runtime/doc/various.txt       2014-03-30 20:09:03.732696720 +0000
     26356+++ vim74/runtime/doc/various.txt       2014-04-27 05:20:57.411751116 +0000
    2592026357@@ -1,4 +1,4 @@
    2592126358-*various.txt*   For Vim version 7.4.  Last change: 2013 May 18
    25922 +*various.txt*   For Vim version 7.4.  Last change: 2014 Mar 23
     26359+*various.txt*   For Vim version 7.4.  Last change: 2014 Apr 01
    2592326360 
    2592426361 
    2592526362                  VIM REFERENCE MANUAL    by Bram Moolenaar
    25926 @@ -291,6 +291,7 @@
     26363@@ -234,25 +234,41 @@
     26364                                                        *:!cmd* *:!* *E34*
     26365 :!{cmd}                        Execute {cmd} with the shell.  See also the 'shell'
     26366                        and 'shelltype' option.
     26367+
     26368                        Any '!' in {cmd} is replaced with the previous
     26369                        external command (see also 'cpoptions').  But not when
     26370                        there is a backslash before the '!', then that
     26371                        backslash is removed.  Example: ":!ls" followed by
     26372                        ":!echo ! \! \\!" executes "echo ls ! \!".
     26373-                       After the command has been executed, the timestamp of
     26374-                       the current file is checked |timestamp|.
     26375+
     26376                        A '|' in {cmd} is passed to the shell, you cannot use
     26377                        it to append a Vim command.  See |:bar|.
     26378+
     26379+                       If {cmd} contains "%" it is expanded to the current
     26380+                       file name.  Special characters are not escaped, use
     26381+                       quotes to avoid their special meaning: >
     26382+                               :!ls "%"
     26383+<                      If the file name contains a "$" single quotes might
     26384+                       work better (but a single quote causes trouble): >
     26385+                               :!ls '%'
     26386+<                      This should always work, but it's more typing: >
     26387+                               :exe "!ls " . shellescape(expand("%"))
     26388+<
     26389                        A newline character ends {cmd}, what follows is
     26390                        interpreted as a following ":" command.  However, if
     26391                        there is a backslash before the newline it is removed
     26392                        and {cmd} continues.  It doesn't matter how many
     26393                        backslashes are before the newline, only one is
     26394                        removed.
     26395+
     26396                        On Unix the command normally runs in a non-interactive
     26397                        shell.  If you want an interactive shell to be used
     26398                        (to use aliases) set 'shellcmdflag' to "-ic".
     26399                        For Win32 also see |:!start|.
     26400+
     26401+                       After the command has been executed, the timestamp of
     26402+                       the current file is checked |timestamp|.
     26403+
     26404                        Vim redraws the screen after the command is finished,
     26405                        because it may have printed any text.  This requires a
     26406                        hit-enter prompt, so that you can read any messages.
     26407@@ -291,6 +307,7 @@
    2592726408                        in the normal, big and huge versions of Vim.
    2592826409 
     
    2593226413 B  *+arabic*           |Arabic| language support
    2593326414 N  *+autocmd*          |:autocmd|, automatic commands
    25934 @@ -417,7 +418,7 @@
     26415@@ -417,7 +434,7 @@
    2593526416 N  *+viminfo*          |'viminfo'|
    2593626417 N  *+vertsplit*                Vertically split windows |:vsplit|
     
    2594126422 N  *+vreplace*         |gR| and |gr|
    2594226423 N  *+wildignore*       |'wildignore'|
    25943 @@ -426,6 +427,7 @@
     26424@@ -426,6 +443,7 @@
    2594426425 m  *+writebackup*      |'writebackup'| is default on
    2594526426 m  *+xim*              X input method |xim|
     
    2595126432diff -Naur vim74.orig/runtime/doc/version5.txt vim74/runtime/doc/version5.txt
    2595226433--- vim74.orig/runtime/doc/version5.txt 2013-08-10 11:25:07.000000000 +0000
    25953 +++ vim74/runtime/doc/version5.txt      2014-03-30 20:09:03.739363606 +0000
     26434+++ vim74/runtime/doc/version5.txt      2014-04-27 05:20:57.415084533 +0000
    2595426435@@ -2020,7 +2020,7 @@
    2595526436 
     
    2596326444diff -Naur vim74.orig/runtime/doc/version7.txt vim74/runtime/doc/version7.txt
    2596426445--- vim74.orig/runtime/doc/version7.txt 2013-08-10 12:23:06.000000000 +0000
    25965 +++ vim74/runtime/doc/version7.txt      2014-03-30 20:09:03.752697379 +0000
     26446+++ vim74/runtime/doc/version7.txt      2014-04-27 05:20:57.428418198 +0000
    2596626447@@ -1,4 +1,4 @@
    2596726448-*version7.txt*  For Vim version 7.4.  Last change: 2013 Aug 10
     
    2600726488diff -Naur vim74.orig/runtime/doc/vi_diff.txt vim74/runtime/doc/vi_diff.txt
    2600826489--- vim74.orig/runtime/doc/vi_diff.txt  2013-08-10 11:25:07.000000000 +0000
    26009 +++ vim74/runtime/doc/vi_diff.txt       2014-03-30 20:09:03.752697379 +0000
     26490+++ vim74/runtime/doc/vi_diff.txt       2014-04-27 05:20:57.428418198 +0000
    2601026491@@ -1,4 +1,4 @@
    2601126492-*vi_diff.txt*   For Vim version 7.4.  Last change: 2012 Aug 08
     
    2603426515diff -Naur vim74.orig/runtime/doc/visual.txt vim74/runtime/doc/visual.txt
    2603526516--- vim74.orig/runtime/doc/visual.txt   2013-08-10 11:25:08.000000000 +0000
    26036 +++ vim74/runtime/doc/visual.txt        2014-03-30 20:09:03.769364594 +0000
     26517+++ vim74/runtime/doc/visual.txt        2014-04-27 05:20:57.448418693 +0000
    2603726518@@ -1,4 +1,4 @@
    2603826519-*visual.txt*    For Vim version 7.4.  Last change: 2012 Aug 15
     
    2606526546diff -Naur vim74.orig/runtime/doc/windows.txt vim74/runtime/doc/windows.txt
    2606626547--- vim74.orig/runtime/doc/windows.txt  2013-08-10 11:25:08.000000000 +0000
    26067 +++ vim74/runtime/doc/windows.txt       2014-03-30 20:09:03.769364594 +0000
     26548+++ vim74/runtime/doc/windows.txt       2014-04-27 05:20:57.448418693 +0000
    2606826549@@ -1,4 +1,4 @@
    2606926550-*windows.txt*   For Vim version 7.4.  Last change: 2012 Nov 15
     
    2610126582diff -Naur vim74.orig/runtime/filetype.vim vim74/runtime/filetype.vim
    2610226583--- vim74.orig/runtime/filetype.vim     2013-08-03 15:50:05.000000000 +0000
    26103 +++ vim74/runtime/filetype.vim  2014-03-30 20:09:03.776031480 +0000
     26584+++ vim74/runtime/filetype.vim  2014-04-27 05:20:57.455085527 +0000
    2610426585@@ -1,7 +1,7 @@
    2610526586 " Vim support file to detect file types
     
    2628326764diff -Naur vim74.orig/runtime/ftplugin/changelog.vim vim74/runtime/ftplugin/changelog.vim
    2628426765--- vim74.orig/runtime/ftplugin/changelog.vim   2012-08-23 20:47:22.000000000 +0000
    26285 +++ vim74/runtime/ftplugin/changelog.vim        2014-03-30 20:09:03.786031809 +0000
     26766+++ vim74/runtime/ftplugin/changelog.vim        2014-04-27 05:20:57.465085774 +0000
    2628626767@@ -1,7 +1,7 @@
    2628726768 " Vim filetype plugin file
     
    2639826879diff -Naur vim74.orig/runtime/ftplugin/clojure.vim vim74/runtime/ftplugin/clojure.vim
    2639926880--- vim74.orig/runtime/ftplugin/clojure.vim     2013-02-06 14:35:23.000000000 +0000
    26400 +++ vim74/runtime/ftplugin/clojure.vim  2014-03-30 20:09:03.786031809 +0000
     26881+++ vim74/runtime/ftplugin/clojure.vim  2014-04-27 05:20:57.465085774 +0000
    2640126882@@ -1,44 +1,60 @@
    2640226883 " Vim filetype plugin file
     
    2653027011diff -Naur vim74.orig/runtime/ftplugin/cobol.vim vim74/runtime/ftplugin/cobol.vim
    2653127012--- vim74.orig/runtime/ftplugin/cobol.vim       2010-05-15 11:04:03.000000000 +0000
    26532 +++ vim74/runtime/ftplugin/cobol.vim    2014-03-30 20:09:03.786031809 +0000
     27013+++ vim74/runtime/ftplugin/cobol.vim    2014-04-27 05:20:57.465085774 +0000
    2653327014@@ -1,7 +1,7 @@
    2653427015 " Vim filetype plugin file
     
    2657927060diff -Naur vim74.orig/runtime/ftplugin/debchangelog.vim vim74/runtime/ftplugin/debchangelog.vim
    2658027061--- vim74.orig/runtime/ftplugin/debchangelog.vim        2012-02-04 19:59:23.000000000 +0000
    26581 +++ vim74/runtime/ftplugin/debchangelog.vim     2014-03-30 20:09:03.789365252 +0000
     27062+++ vim74/runtime/ftplugin/debchangelog.vim     2014-04-27 05:20:57.471752607 +0000
    2658227063@@ -3,7 +3,7 @@
    2658327064 " Maintainer:   Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
     
    2660027081diff -Naur vim74.orig/runtime/ftplugin/fortran.vim vim74/runtime/ftplugin/fortran.vim
    2660127082--- vim74.orig/runtime/ftplugin/fortran.vim     2012-04-18 07:32:40.000000000 +0000
    26602 +++ vim74/runtime/ftplugin/fortran.vim  2014-03-30 20:09:03.796032139 +0000
     27083+++ vim74/runtime/ftplugin/fortran.vim  2014-04-27 05:20:57.478419439 +0000
    2660327084@@ -1,12 +1,12 @@
    2660427085 " Vim settings file
     
    2665227133diff -Naur vim74.orig/runtime/ftplugin/j.vim vim74/runtime/ftplugin/j.vim
    2665327134--- vim74.orig/runtime/ftplugin/j.vim   1970-01-01 00:00:00.000000000 +0000
    26654 +++ vim74/runtime/ftplugin/j.vim        2014-03-30 20:09:03.802699025 +0000
    26655 @@ -0,0 +1,19 @@
     27135+++ vim74/runtime/ftplugin/j.vim        2014-04-27 05:20:57.485086272 +0000
     27136@@ -0,0 +1,75 @@
    2665627137+" Vim filetype plugin
    2665727138+" Language:    J
    2665827139+" Maintainer:  David BÃŒrgin <676c7473@gmail.com>
    2665927140+" URL:         https://github.com/glts/vim-j
    26660 +" Last Change: 2014-03-17
     27141+" Last Change: 2014-04-05
    2666127142+
    2666227143+if exists('b:did_ftplugin')
     
    2666527146+let b:did_ftplugin = 1
    2666627147+
    26667 +setlocal iskeyword=48-57,65-90,_,97-122
     27148+let s:save_cpo = &cpo
     27149+set cpo&vim
     27150+
     27151+setlocal iskeyword=48-57,A-Z,_,a-z
    2666827152+setlocal comments=:NB.
    2666927153+setlocal commentstring=NB.\ %s
     
    2667327157+
    2667427158+let b:undo_ftplugin = 'setlocal matchpairs< expandtab< softtabstop< shiftwidth< formatoptions< commentstring< comments< iskeyword<'
     27159+
     27160+" Section movement with ]] ][ [[ []. The start/end patterns below are amended
     27161+" inside the function in order to avoid matching on the current cursor line.
     27162+let s:sectionstart = '.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>.*'
     27163+let s:sectionend = '\s*)\s*'
     27164+
     27165+function! s:SearchSection(end, backwards, visualmode) abort
     27166+  if a:visualmode !=# ''
     27167+    normal! gv
     27168+  endif
     27169+  let flags = a:backwards ? 'bsW' : 'sW'
     27170+  if a:end
     27171+    call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), flags)
     27172+  else
     27173+    call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), flags)
     27174+  endif
     27175+endfunction
     27176+
     27177+noremap <script> <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, '')<CR>
     27178+xnoremap <script> <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, visualmode())<CR>
     27179+sunmap <buffer> ]]
     27180+noremap <script> <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, '')<CR>
     27181+xnoremap <script> <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, visualmode())<CR>
     27182+sunmap <buffer> ][
     27183+noremap <script> <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, '')<CR>
     27184+xnoremap <script> <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, visualmode())<CR>
     27185+sunmap <buffer> [[
     27186+noremap <script> <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, '')<CR>
     27187+xnoremap <script> <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, visualmode())<CR>
     27188+sunmap <buffer> []
     27189+
     27190+let b:undo_ftplugin .= ' | silent! execute "unmap <buffer> ]]"'
     27191+                   \ . ' | silent! execute "unmap <buffer> ]["'
     27192+                   \ . ' | silent! execute "unmap <buffer> [["'
     27193+                   \ . ' | silent! execute "unmap <buffer> []"'
     27194+
     27195+" Browse dialog filter on Windows (see ":help browsefilter")
     27196+if has('gui_win32') && !exists('b:browsefilter')
     27197+  let b:browsefilter = "J Script Files (*.ijs)\t*.ijs\n"
     27198+                   \ . "All Files (*.*)\t*.*\n"
     27199+  let b:undo_ftplugin .= ' | unlet! b:browsefilter'
     27200+endif
     27201+
     27202+" Enhanced "%" matching (see ":help matchit")
     27203+if exists('loaded_matchit') && !exists('b:match_words')
     27204+  let b:match_ignorecase = 0
     27205+  let b:match_words = '^.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(\:\s*0\|def\s\+0\|define\)\>:^\s*\:\s*$:^\s*)\s*$'
     27206+                  \ . ',\<\%(for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.:\<\%(case\|catch[dt]\=\|else\%(if\)\=\|fcase\)\.:\<end\.'
     27207+  let b:undo_ftplugin .= ' | unlet! b:match_ignorecase b:match_words'
     27208+endif
     27209+
     27210+let &cpo = s:save_cpo
     27211+unlet s:save_cpo
    2667527212diff -Naur vim74.orig/runtime/ftplugin/jproperties.vim vim74/runtime/ftplugin/jproperties.vim
    2667627213--- vim74.orig/runtime/ftplugin/jproperties.vim 1970-01-01 00:00:00.000000000 +0000
    26677 +++ vim74/runtime/ftplugin/jproperties.vim      2014-03-30 20:09:03.802699025 +0000
     27214+++ vim74/runtime/ftplugin/jproperties.vim      2014-04-27 05:20:57.488419688 +0000
    2667827215@@ -0,0 +1,15 @@
    2667927216+" Vim filetype plugin
     
    2669427231diff -Naur vim74.orig/runtime/ftplugin/lisp.vim vim74/runtime/ftplugin/lisp.vim
    2669527232--- vim74.orig/runtime/ftplugin/lisp.vim        2013-02-13 11:35:55.000000000 +0000
    26696 +++ vim74/runtime/ftplugin/lisp.vim     2014-03-30 20:09:03.809365911 +0000
     27233+++ vim74/runtime/ftplugin/lisp.vim     2014-04-27 05:20:57.491753103 +0000
    2669727234@@ -4,7 +4,7 @@
    2669827235 " URL:          http://sites.google.com/site/khorser/opensource/vim
     
    2671627253diff -Naur vim74.orig/runtime/ftplugin/python.vim vim74/runtime/ftplugin/python.vim
    2671727254--- vim74.orig/runtime/ftplugin/python.vim      2012-04-30 11:49:26.000000000 +0000
    26718 +++ vim74/runtime/ftplugin/python.vim   2014-03-30 20:09:03.829366570 +0000
     27255+++ vim74/runtime/ftplugin/python.vim   2014-04-27 05:20:57.508420184 +0000
    2671927256@@ -1,7 +1,8 @@
    2672027257 " Vim filetype plugin file
     
    2679927336diff -Naur vim74.orig/runtime/ftplugin/registry.vim vim74/runtime/ftplugin/registry.vim
    2680027337--- vim74.orig/runtime/ftplugin/registry.vim    1970-01-01 00:00:00.000000000 +0000
    26801 +++ vim74/runtime/ftplugin/registry.vim 2014-03-30 20:09:03.829366570 +0000
     27338+++ vim74/runtime/ftplugin/registry.vim 2014-04-27 05:20:57.511753600 +0000
    2680227339@@ -0,0 +1,36 @@
    2680327340+" Vim filetype plugin file
     
    2683927376diff -Naur vim74.orig/runtime/ftplugin/scheme.vim vim74/runtime/ftplugin/scheme.vim
    2684027377--- vim74.orig/runtime/ftplugin/scheme.vim      2013-02-13 11:35:55.000000000 +0000
    26841 +++ vim74/runtime/ftplugin/scheme.vim   2014-03-30 20:09:03.832700013 +0000
     27378+++ vim74/runtime/ftplugin/scheme.vim   2014-04-27 05:20:57.515087016 +0000
    2684227379@@ -4,7 +4,7 @@
    2684327380 " URL:          http://sites.google.com/site/khorser/opensource/vim
     
    2686227399diff -Naur vim74.orig/runtime/ftplugin/spec.vim vim74/runtime/ftplugin/spec.vim
    2686327400--- vim74.orig/runtime/ftplugin/spec.vim        2012-03-07 12:16:03.000000000 +0000
    26864 +++ vim74/runtime/ftplugin/spec.vim     2014-03-30 20:09:03.836033456 +0000
     27401+++ vim74/runtime/ftplugin/spec.vim     2014-04-27 05:20:57.518420433 +0000
    2686527402@@ -1,7 +1,8 @@
    2686627403 " Plugin to update the %changelog section of RPM spec files
     
    2688727424diff -Naur vim74.orig/runtime/ftplugin/systemverilog.vim vim74/runtime/ftplugin/systemverilog.vim
    2688827425--- vim74.orig/runtime/ftplugin/systemverilog.vim       1970-01-01 00:00:00.000000000 +0000
    26889 +++ vim74/runtime/ftplugin/systemverilog.vim    2014-03-30 20:09:03.839366898 +0000
     27426+++ vim74/runtime/ftplugin/systemverilog.vim    2014-04-27 05:20:57.521753849 +0000
    2689027427@@ -0,0 +1,11 @@
    2689127428+" Vim filetype plugin file
     
    2690227439diff -Naur vim74.orig/runtime/indent/clojure.vim vim74/runtime/indent/clojure.vim
    2690327440--- vim74.orig/runtime/indent/clojure.vim       2013-02-06 14:35:23.000000000 +0000
    26904 +++ vim74/runtime/indent/clojure.vim    2014-03-30 20:09:03.862701001 +0000
     27441+++ vim74/runtime/indent/clojure.vim    2014-04-27 05:20:57.541754345 +0000
    2690527442@@ -1,23 +1,27 @@
    2690627443 " Vim indent file
     
    2759528132diff -Naur vim74.orig/runtime/indent/j.vim vim74/runtime/indent/j.vim
    2759628133--- vim74.orig/runtime/indent/j.vim     1970-01-01 00:00:00.000000000 +0000
    27597 +++ vim74/runtime/indent/j.vim  2014-03-30 20:09:03.876034773 +0000
    27598 @@ -0,0 +1,38 @@
     28134+++ vim74/runtime/indent/j.vim  2014-04-27 05:20:57.555088009 +0000
     28135@@ -0,0 +1,50 @@
    2759928136+" Vim indent file
    2760028137+" Language:    J
    2760128138+" Maintainer:  David BÃŒrgin <676c7473@gmail.com>
    2760228139+" URL:         https://github.com/glts/vim-j
    27603 +" Last Change: 2014-03-17
     28140+" Last Change: 2014-04-05
    2760428141+
    2760528142+if exists('b:did_indent')
     
    2760928146+
    2761028147+setlocal indentexpr=GetJIndent()
    27611 +setlocal indentkeys-=0{,0},\:,0#
    27612 +setlocal indentkeys+=0),=case.,=catch.,=catchd.,=catcht.,=do.,=else.,=elseif.,=end.,=fcase.
     28148+setlocal indentkeys-=0{,0},:,0#
     28149+setlocal indentkeys+=0),0<:>,=case.,=catch.,=catchd.,=catcht.,=do.,=else.,=elseif.,=end.,=fcase.
    2761328150+
    2761428151+let b:undo_indent = 'setlocal indentkeys< indentexpr<'
     
    2761828155+endif
    2761928156+
    27620 +function GetJIndent()
     28157+" If g:j_indent_definitions is true, the bodies of explicit definitions of
     28158+" adverbs, conjunctions, and verbs will be indented. Default is false (0).
     28159+if !exists('g:j_indent_definitions')
     28160+  let g:j_indent_definitions = 0
     28161+endif
     28162+
     28163+function GetJIndent() abort
    2762128164+  let prevlnum = prevnonblank(v:lnum-1)
    2762228165+  if prevlnum == 0
    2762328166+    return 0
    2762428167+  endif
    27625 +
    2762628168+  let indent = indent(prevlnum)
    27627 +  if getline(prevlnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|fcase\|for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.'
    27628 +    if getline(prevlnum) !~# '\<end\.'
    27629 +      let indent += shiftwidth()
    27630 +    endif
     28169+  let prevline = getline(prevlnum)
     28170+  if prevline =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|fcase\|for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.\%(\%(\<end\.\)\@!.\)*$'
     28171+    " Increase indentation after an initial control word that starts or
     28172+    " continues a block and is not terminated by "end."
     28173+    let indent += shiftwidth()
     28174+  elseif g:j_indent_definitions && (prevline =~# '\<\%([1-4]\|13\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>' || prevline =~# '^\s*:\s*$')
     28175+    " Increase indentation in explicit definitions of adverbs, conjunctions,
     28176+    " and verbs
     28177+    let indent += shiftwidth()
    2763128178+  endif
    27632 +  if getline(v:lnum) =~# '^\s*\%(\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|end\|fcase\)\.\)\|)'
     28179+  " Decrease indentation in lines that start with either control words that
     28180+  " continue or end a block, or the special items ")" and ":"
     28181+  if getline(v:lnum) =~# '^\s*\%()\|:\|\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|end\|fcase\)\.\)'
    2763328182+    let indent -= shiftwidth()
    2763428183+  endif
     
    2763728186diff -Naur vim74.orig/runtime/indent/php.vim vim74/runtime/indent/php.vim
    2763828187--- vim74.orig/runtime/indent/php.vim   2013-08-07 09:36:56.000000000 +0000
    27639 +++ vim74/runtime/indent/php.vim        2014-03-30 20:09:03.886035102 +0000
     28188+++ vim74/runtime/indent/php.vim        2014-04-27 05:20:57.565088257 +0000
    2764028189@@ -3,7 +3,7 @@
    2764128190 " Author:      John Wellesz <John.wellesz (AT) teaser (DOT) fr>
     
    2765828207diff -Naur vim74.orig/runtime/indent/sh.vim vim74/runtime/indent/sh.vim
    2765928208--- vim74.orig/runtime/indent/sh.vim    2010-05-15 11:03:29.000000000 +0000
    27660 +++ vim74/runtime/indent/sh.vim 2014-03-30 20:09:03.892701988 +0000
     28209+++ vim74/runtime/indent/sh.vim 2014-04-27 05:20:57.571755091 +0000
    2766128210@@ -1,7 +1,8 @@
    2766228211 " Vim indent file
     
    2769528244diff -Naur vim74.orig/runtime/indent/systemverilog.vim vim74/runtime/indent/systemverilog.vim
    2769628245--- vim74.orig/runtime/indent/systemverilog.vim 1970-01-01 00:00:00.000000000 +0000
    27697 +++ vim74/runtime/indent/systemverilog.vim      2014-03-30 20:09:03.892701988 +0000
     28246+++ vim74/runtime/indent/systemverilog.vim      2014-04-27 05:20:57.571755091 +0000
    2769828247@@ -0,0 +1,230 @@
    2769928248+" Vim indent file
     
    2792928478diff -Naur vim74.orig/runtime/optwin.vim vim74/runtime/optwin.vim
    2793028479--- vim74.orig/runtime/optwin.vim       2013-06-29 12:32:06.000000000 +0000
    27931 +++ vim74/runtime/optwin.vim    2014-03-30 20:09:03.996038723 +0000
     28480+++ vim74/runtime/optwin.vim    2014-04-27 05:20:57.678424406 +0000
     28481@@ -1,7 +1,7 @@
     28482 " These commands create the option window.
     28483 "
     28484 " Maintainer:  Bram Moolenaar <Bram@vim.org>
     28485-" Last Change: 2013 Jun 29
     28486+" Last Change: 2014 Apr 01
     28487 
     28488 " If there already is an option window, jump to that one.
     28489 if bufwinnr("option-window") > 0
    2793228490@@ -855,7 +855,7 @@
    2793328491   call append("$", "\t(local to buffer)")
     
    2793528493   call append("$", "lispwords\twords that change how lisp indenting works")
    2793628494-  call <SID>OptionG("lw", &lw)
    27937 +  call <SID>OptionL("lw", &lw)
     28495+  call <SID>OptionL("lw")
    2793828496 endif
    2793928497 
     
    2794128499diff -Naur vim74.orig/runtime/plugin/getscriptPlugin.vim vim74/runtime/plugin/getscriptPlugin.vim
    2794228500--- vim74.orig/runtime/plugin/getscriptPlugin.vim       2013-04-17 13:40:44.000000000 +0000
    27943 +++ vim74/runtime/plugin/getscriptPlugin.vim    2014-03-30 20:09:03.996038723 +0000
     28501+++ vim74/runtime/plugin/getscriptPlugin.vim    2014-04-27 05:20:57.678424406 +0000
    2794428502@@ -1,7 +1,7 @@
    2794528503 " ---------------------------------------------------------------------
     
    2797228530diff -Naur vim74.orig/runtime/plugin/netrwPlugin.vim vim74/runtime/plugin/netrwPlugin.vim
    2797328531--- vim74.orig/runtime/plugin/netrwPlugin.vim   2013-05-19 03:28:33.000000000 +0000
    27974 +++ vim74/runtime/plugin/netrwPlugin.vim        2014-03-30 20:09:03.999372167 +0000
     28532+++ vim74/runtime/plugin/netrwPlugin.vim        2014-04-27 05:20:57.681757821 +0000
    2797528533@@ -1,9 +1,9 @@
    2797628534 " netrwPlugin.vim: Handles file transfer and remote directory listing across a network
     
    2815628714diff -Naur vim74.orig/runtime/syntax/a65.vim vim74/runtime/syntax/a65.vim
    2815728715--- vim74.orig/runtime/syntax/a65.vim   2010-05-15 11:03:57.000000000 +0000
    28158 +++ vim74/runtime/syntax/a65.vim        2014-03-30 20:09:04.142710219 +0000
     28716+++ vim74/runtime/syntax/a65.vim        2014-04-27 05:20:57.818427882 +0000
    2815928717@@ -1,7 +1,7 @@
    2816028718 " Vim syntax file
     
    2816928727diff -Naur vim74.orig/runtime/syntax/apache.vim vim74/runtime/syntax/apache.vim
    2817028728--- vim74.orig/runtime/syntax/apache.vim        2010-05-15 11:03:57.000000000 +0000
    28171 +++ vim74/runtime/syntax/apache.vim     2014-03-30 20:09:04.149377105 +0000
     28729+++ vim74/runtime/syntax/apache.vim     2014-04-27 05:20:57.825094716 +0000
    2817228730@@ -1,11 +1,9 @@
    2817328731 " Vim syntax file
     
    2820728765diff -Naur vim74.orig/runtime/syntax/arduino.vim vim74/runtime/syntax/arduino.vim
    2820828766--- vim74.orig/runtime/syntax/arduino.vim       1970-01-01 00:00:00.000000000 +0000
    28209 +++ vim74/runtime/syntax/arduino.vim    2014-03-30 20:09:04.149377105 +0000
     28767+++ vim74/runtime/syntax/arduino.vim    2014-04-27 05:20:57.825094716 +0000
    2821028768@@ -0,0 +1,61 @@
    2821128769+" Vim syntax file
     
    2827228830diff -Naur vim74.orig/runtime/syntax/asm.vim vim74/runtime/syntax/asm.vim
    2827328831--- vim74.orig/runtime/syntax/asm.vim   2012-04-09 19:37:34.000000000 +0000
    28274 +++ vim74/runtime/syntax/asm.vim        2014-03-30 20:09:04.149377105 +0000
     28832+++ vim74/runtime/syntax/asm.vim        2014-04-27 05:20:57.825094716 +0000
    2827528833@@ -3,7 +3,7 @@
    2827628834 " Maintainer:  Erik Wognsen <erik.wognsen@gmail.com>
     
    2829728855diff -Naur vim74.orig/runtime/syntax/bib.vim vim74/runtime/syntax/bib.vim
    2829828856--- vim74.orig/runtime/syntax/bib.vim   2011-12-30 11:30:00.000000000 +0000
    28299 +++ vim74/runtime/syntax/bib.vim        2014-03-30 20:09:04.159377435 +0000
     28857+++ vim74/runtime/syntax/bib.vim        2014-04-27 05:20:57.835094963 +0000
    2830028858@@ -2,7 +2,7 @@
    2830128859 " Language:    BibTeX (bibliographic database format for (La)TeX)
     
    2831828876diff -Naur vim74.orig/runtime/syntax/clean.vim vim74/runtime/syntax/clean.vim
    2831928877--- vim74.orig/runtime/syntax/clean.vim 2013-06-19 19:34:33.000000000 +0000
    28320 +++ vim74/runtime/syntax/clean.vim      2014-03-30 20:09:04.169377763 +0000
     28878+++ vim74/runtime/syntax/clean.vim      2014-04-27 05:20:57.841761796 +0000
    2832128879@@ -2,7 +2,7 @@
    2832228880 " Language:            Clean
     
    2838028938diff -Naur vim74.orig/runtime/syntax/clojure.vim vim74/runtime/syntax/clojure.vim
    2838128939--- vim74.orig/runtime/syntax/clojure.vim       2013-02-06 14:35:23.000000000 +0000
    28382 +++ vim74/runtime/syntax/clojure.vim    2014-03-30 20:09:04.172711207 +0000
     28940+++ vim74/runtime/syntax/clojure.vim    2014-04-27 05:20:57.845095211 +0000
    2838328941@@ -1,34 +1,37 @@
    2838428942 " Vim syntax file
     
    2864829206diff -Naur vim74.orig/runtime/syntax/css.vim vim74/runtime/syntax/css.vim
    2864929207--- vim74.orig/runtime/syntax/css.vim   2013-07-23 19:08:29.000000000 +0000
    28650 +++ vim74/runtime/syntax/css.vim        2014-03-30 20:09:04.176044650 +0000
     29208+++ vim74/runtime/syntax/css.vim        2014-04-27 05:20:57.851762044 +0000
    2865129209@@ -6,7 +6,7 @@
    2865229210 "               Nikolai Weibull (Add CSS2 support)
     
    2940129959diff -Naur vim74.orig/runtime/syntax/d.vim vim74/runtime/syntax/d.vim
    2940229960--- vim74.orig/runtime/syntax/d.vim     2013-05-23 20:52:24.000000000 +0000
    29403 +++ vim74/runtime/syntax/d.vim  2014-03-30 20:09:04.182711537 +0000
     29961+++ vim74/runtime/syntax/d.vim  2014-04-27 05:20:57.855095460 +0000
    2940429962@@ -2,8 +2,8 @@
    2940529963 "
     
    2949430052diff -Naur vim74.orig/runtime/syntax/datascript.vim vim74/runtime/syntax/datascript.vim
    2949530053--- vim74.orig/runtime/syntax/datascript.vim    2012-04-30 10:59:58.000000000 +0000
    29496 +++ vim74/runtime/syntax/datascript.vim 2014-03-30 20:09:04.182711537 +0000
     30054+++ vim74/runtime/syntax/datascript.vim 2014-04-27 05:20:57.855095460 +0000
    2949730055@@ -1,7 +1,7 @@
    2949830056 " Vim syntax file
     
    2954330101diff -Naur vim74.orig/runtime/syntax/debchangelog.vim vim74/runtime/syntax/debchangelog.vim
    2954430102--- vim74.orig/runtime/syntax/debchangelog.vim  2013-05-17 15:25:15.000000000 +0000
    29545 +++ vim74/runtime/syntax/debchangelog.vim       2014-03-30 20:09:04.182711537 +0000
     30103+++ vim74/runtime/syntax/debchangelog.vim       2014-04-27 05:20:57.855095460 +0000
    2954630104@@ -3,7 +3,7 @@
    2954730105 " Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
     
    2956430122diff -Naur vim74.orig/runtime/syntax/debcontrol.vim vim74/runtime/syntax/debcontrol.vim
    2956530123--- vim74.orig/runtime/syntax/debcontrol.vim    2013-05-21 10:54:11.000000000 +0000
    29566 +++ vim74/runtime/syntax/debcontrol.vim 2014-03-30 20:09:04.182711537 +0000
     30124+++ vim74/runtime/syntax/debcontrol.vim 2014-04-27 05:20:57.858428875 +0000
    2956730125@@ -3,7 +3,7 @@
    2956830126 " Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
     
    2958530143diff -Naur vim74.orig/runtime/syntax/debsources.vim vim74/runtime/syntax/debsources.vim
    2958630144--- vim74.orig/runtime/syntax/debsources.vim    2013-05-17 15:25:15.000000000 +0000
    29587 +++ vim74/runtime/syntax/debsources.vim 2014-03-30 20:09:04.182711537 +0000
     30145+++ vim74/runtime/syntax/debsources.vim 2014-04-27 05:20:57.858428875 +0000
    2958830146@@ -2,7 +2,7 @@
    2958930147 " Language:     Debian sources.list
     
    2960630164diff -Naur vim74.orig/runtime/syntax/diff.vim vim74/runtime/syntax/diff.vim
    2960730165--- vim74.orig/runtime/syntax/diff.vim  2013-07-24 09:47:50.000000000 +0000
    29608 +++ vim74/runtime/syntax/diff.vim       2014-03-30 20:09:04.186044980 +0000
     30166+++ vim74/runtime/syntax/diff.vim       2014-04-27 05:20:57.858428875 +0000
    2960930167@@ -2,7 +2,7 @@
    2961030168 " Language:    Diff (context or unified)
     
    2962730185diff -Naur vim74.orig/runtime/syntax/dircolors.vim vim74/runtime/syntax/dircolors.vim
    2962830186--- vim74.orig/runtime/syntax/dircolors.vim     2012-04-25 09:42:39.000000000 +0000
    29629 +++ vim74/runtime/syntax/dircolors.vim  2014-03-30 20:09:04.186044980 +0000
     30187+++ vim74/runtime/syntax/dircolors.vim  2014-04-27 05:20:57.861762292 +0000
    2963030188@@ -1,751 +1,213 @@
    2963130189 " Vim syntax file
     
    3057431132diff -Naur vim74.orig/runtime/syntax/dnsmasq.vim vim74/runtime/syntax/dnsmasq.vim
    3057531133--- vim74.orig/runtime/syntax/dnsmasq.vim       2012-05-19 12:57:09.000000000 +0000
    30576 +++ vim74/runtime/syntax/dnsmasq.vim    2014-03-30 20:09:04.186044980 +0000
     31134+++ vim74/runtime/syntax/dnsmasq.vim    2014-04-27 05:20:57.861762292 +0000
    3057731135@@ -1,26 +1,19 @@
    3057831136 " Vim syntax file
     
    3070031258diff -Naur vim74.orig/runtime/syntax/dts.vim vim74/runtime/syntax/dts.vim
    3070131259--- vim74.orig/runtime/syntax/dts.vim   2013-04-05 14:25:40.000000000 +0000
    30702 +++ vim74/runtime/syntax/dts.vim        2014-03-30 20:09:04.192711865 +0000
     31260+++ vim74/runtime/syntax/dts.vim        2014-04-27 05:20:57.868429125 +0000
    3070331261@@ -1,7 +1,7 @@
    3070431262 " Vim syntax file
     
    3073131289diff -Naur vim74.orig/runtime/syntax/euphoria3.vim vim74/runtime/syntax/euphoria3.vim
    3073231290--- vim74.orig/runtime/syntax/euphoria3.vim     1970-01-01 00:00:00.000000000 +0000
    30733 +++ vim74/runtime/syntax/euphoria3.vim  2014-03-30 20:09:04.202712195 +0000
     31291+++ vim74/runtime/syntax/euphoria3.vim  2014-04-27 05:20:57.875095957 +0000
    3073431292@@ -0,0 +1,135 @@
    3073531293+" Vim syntax file
     
    3087031428diff -Naur vim74.orig/runtime/syntax/euphoria4.vim vim74/runtime/syntax/euphoria4.vim
    3087131429--- vim74.orig/runtime/syntax/euphoria4.vim     1970-01-01 00:00:00.000000000 +0000
    30872 +++ vim74/runtime/syntax/euphoria4.vim  2014-03-30 20:09:04.202712195 +0000
     31430+++ vim74/runtime/syntax/euphoria4.vim  2014-04-27 05:20:57.875095957 +0000
    3087331431@@ -0,0 +1,247 @@
    3087431432+" Vim syntax file
     
    3112131679diff -Naur vim74.orig/runtime/syntax/help.vim vim74/runtime/syntax/help.vim
    3112231680--- vim74.orig/runtime/syntax/help.vim  2013-07-07 11:27:18.000000000 +0000
    31123 +++ vim74/runtime/syntax/help.vim       2014-03-30 20:09:04.226046296 +0000
     31681+++ vim74/runtime/syntax/help.vim       2014-04-27 05:20:57.895096453 +0000
    3112431682@@ -1,7 +1,7 @@
    3112531683 " Vim syntax file
     
    3116431722diff -Naur vim74.orig/runtime/syntax/j.vim vim74/runtime/syntax/j.vim
    3116531723--- vim74.orig/runtime/syntax/j.vim     1970-01-01 00:00:00.000000000 +0000
    31166 +++ vim74/runtime/syntax/j.vim  2014-03-30 20:09:04.239380069 +0000
    31167 @@ -0,0 +1,63 @@
     31724+++ vim74/runtime/syntax/j.vim  2014-04-27 05:20:57.905096702 +0000
     31725@@ -0,0 +1,134 @@
    3116831726+" Vim syntax file
    3116931727+" Language:    J
    3117031728+" Maintainer:  David BÃŒrgin <676c7473@gmail.com>
    3117131729+" URL:         https://github.com/glts/vim-j
    31172 +" Last Change: 2014-03-17
     31730+" Last Change: 2014-04-05
    3117331731+
    3117431732+if exists('b:current_syntax')
     
    3117631734+endif
    3117731735+
     31736+let s:save_cpo = &cpo
     31737+set cpo&vim
     31738+
    3117831739+syntax case match
    3117931740+syntax sync minlines=50
    3118031741+
     31742+syntax cluster jStdlibItems contains=jStdlibNoun,jStdlibAdverb,jStdlibConjunction,jStdlibVerb
     31743+syntax cluster jPrimitiveItems contains=jNoun,jAdverb,jConjunction,jVerb,jCopula
     31744+
    3118131745+syntax match jControl /\<\%(assert\|break\|case\|catch[dt]\=\|continue\|do\|else\%(if\)\=\|end\|fcase\|for\|if\|return\|select\|throw\|try\|whil\%(e\|st\)\)\./
    3118231746+syntax match jControl /\<\%(for\|goto\|label\)_\a\k*\./
    3118331747+
    31184 +" Standard library names defined in the z locale. A few verbs need to be
    31185 +" defined with ":syntax match" because they would otherwise take precedence
    31186 +" over the corresponding jControl items.
    31187 +syntax keyword jNoun ARGV BINPATH CR CRLF DEL Debug EAV EMPTY FF FHS IF64 IFIOS IFJCDROID IFJHS IFQT IFRASPI IFUNIX IFWIN IFWINCE IFWINE IFWOW64 JB01 JBOXED JCHAR JCMPX JFL JINT JPTR JSIZES JSTR JTYPES JVERSION LF LF2 TAB UNAME UNXLIB adverb andurl conjunction dbhelp dyad libjqt monad noun verb
    31188 +syntax keyword jAdverb define each every fapplylines inv inverse items leaf rows table
    31189 +syntax keyword jConjunction bind cuts def on
    31190 +syntax keyword jVerb AND Endian IFDEF Note OR XOR alpha17 alpha27 anddf android_exec_host andunzip apply boxopen boxxopen bx calendar cd cdcb cder cderx cdf charsub chopstring clear coclass cocreate cocurrent codestroy coerase cofind cofindv cofullname coinfo coinsert coname conames conew conl conouns conounsx copath copathnl copathnlx coreset costate cut cutLF cutopen cutpara datatype dbctx dberm dberr dbg dbjmp dblocals dblxq dblxs dbnxt dbq dbr dbret dbrr dbrrx dbrun dbs dbsig dbsq dbss dbst dbstack dbstk dbstop dbstopme dbstopnext dbstops dbtrace dbview deb debc delstring detab dfh dir dircompare dircompares dirfind dirpath dirss dirssrplc dirtree dirused dlb dltb dltbs dquote drop dropafter dropto dtb dtbs echo empty endian erase evtloop exit expand f2utf8 fappend fappends fboxname fc fcopynew fdir ferase fetch fexist fexists fgets file2url fixdotdot fliprgb fmakex foldpara foldtext fpathcreate fpathname fputs fread freadblock freadr freads frename freplace fsize fss fssrplc fstamp fstringreplace ftype fview fwrite fwritenew fwrites getargs getdate getenv getqtbin hfd hostpathsep ic install iospath isatty isotimestamp isutf8 jcwdpath joinstring jpathsep jsystemdefs list ljust load loadd mema memf memr memw nameclass namelist names nc nl pick quote require rjust rplc script scriptd setbreak show sign sminfo smoutput sort split splitnostring splitstring ss startupandroid startupconsole startupide stderr stdin stdout stringreplace symdat symget symset take takeafter taketo timespacex timestamp timex tmoutput toCRLF toHOST toJ todate todayno tolower topara toupper tsdiff tsrep tstamp type ucp ucpcount unxlib usleep utf8 uucp valdate wcsize weekday weeknumber weeksinyear winpathsep
    31191 +syntax match   jVerb /\<\%(assert\|break\|do\)\>\.\@!/
    31192 +
    31193 +syntax region jString oneline start=/'/ skip=/''/ end=/'/
    31194 +
    31195 +" Number patterns. Matching J numbers is difficult. The regular expression
    31196 +" used for the general case roughly embodies this grammar sketch:
     31748+" Standard library names. A few names need to be defined with ":syntax match"
     31749+" because they would otherwise take precedence over the corresponding jControl
     31750+" and jDefineExpression items.
     31751+syntax keyword jStdlibNoun ARGV BINPATH CR CRLF DEL Debug EAV EMPTY FF FHS IF64 IFIOS IFJCDROID IFJHS IFQT IFRASPI IFUNIX IFWIN IFWINCE IFWINE IFWOW64 JB01 JBOXED JCHAR JCMPX JFL JINT JPTR JSIZES JSTR JTYPES JVERSION LF LF2 TAB UNAME UNXLIB andurl dbhelp libjqt
     31752+syntax keyword jStdlibAdverb define each every fapplylines inv inverse items leaf rows table
     31753+syntax keyword jStdlibConjunction bind cuts def on
     31754+syntax keyword jStdlibVerb AND Endian IFDEF Note OR XOR alpha17 alpha27 anddf android_exec_host andunzip apply boxopen boxxopen bx calendar cd cdcb cder cderx cdf charsub chopstring clear coclass cocreate cocurrent codestroy coerase cofind cofindv cofullname coinfo coinsert coname conames conew conl conouns conounsx copath copathnl copathnlx coreset costate cut cutLF cutopen cutpara datatype dbctx dberm dberr dbg dbjmp dblocals dblxq dblxs dbnxt dbq dbr dbret dbrr dbrrx dbrun dbs dbsig dbsq dbss dbst dbstack dbstk dbstop dbstopme dbstopnext dbstops dbtrace dbview deb debc delstring detab dfh dir dircompare dircompares dirfind dirpath dirss dirssrplc dirtree dirused dlb dltb dltbs dquote drop dropafter dropto dtb dtbs echo empty endian erase evtloop exit expand f2utf8 fappend fappends fboxname fc fcopynew fdir ferase fetch fexist fexists fgets file2url fixdotdot fliprgb fmakex foldpara foldtext fpathcreate fpathname fputs fread freadblock freadr freads frename freplace fsize fss fssrplc fstamp fstringreplace ftype fview fwrite fwritenew fwrites getargs getdate getenv getqtbin hfd hostpathsep ic install iospath isatty isotimestamp isutf8 jcwdpath joinstring jpathsep jsystemdefs list ljust load loadd mema memf memr memw nameclass namelist names nc nl pick quote require rjust rplc script scriptd setbreak show sign sminfo smoutput sort split splitnostring splitstring ss startupandroid startupconsole startupide stderr stdin stdout stringreplace symdat symget symset take takeafter taketo timespacex timestamp timex tmoutput toCRLF toHOST toJ todate todayno tolower topara toupper tsdiff tsrep tstamp type ucp ucpcount unxlib usleep utf8 uucp valdate wcsize weekday weeknumber weeksinyear winpathsep
     31755+syntax match jStdlibNoun /\<\%(adverb\|conjunction\|dyad\|monad\|noun\|verb\)\>/
     31756+syntax match jStdlibVerb /\<\%(assert\|break\|do\)\>\.\@!/
     31757+
     31758+" Numbers. Matching J numbers is difficult. The regular expression used for
     31759+" the general case roughly embodies this grammar sketch:
    3119731760+"
    3119831761+"     BASE     := /_?\d+(\.\d*)?([eE]_?\d+)?/
     
    3121131774+syntax match jNumber /\<_\=\d\+\%([eE]\d\+\)\=b_\=[0-9a-z]\+/
    3121231775+syntax match jNumber /\<__\=\>/
     31776+syntax match jNumber /\<_\./
    3121331777+syntax match jNumber /\<_\=\d\+x\>/
    3121431778+
    31215 +syntax keyword jTodo TODO FIXME XXX contained
     31779+syntax region jString oneline start=/'/ skip=/''/ end=/'/
     31780+
     31781+syntax keyword jArgument contained x y u v m n
     31782+
     31783+" Primitives. Order is significant both within the patterns and among
     31784+" ":syntax match" statements. Refer to "Parts of speech" in the J dictionary.
     31785+syntax match jNoun /\<a[.:]/
     31786+syntax match jAdverb /[}~]\|[/\\]\.\=\|\<\%([Mbft]\.\|t:\)/
     31787+syntax match jConjunction /"\|`:\=\|[.:@&][.:]\=\|&\.:\|\<\%([dDHT]\.\|[DLS]:\)/
     31788+syntax match jVerb /[=!\]]\|[\^?]\.\=\|[;[]:\=\|{\.\|[_/\\]:\|[<>+*\-%$|,#][.:]\=\|[~}"][.:]\|{\%[::]\|\<\%([ACeEiIjLor]\.\|p\.\.\=\|[ipqsux]:\|0:\|_\=[1-9]:\)/
     31789+syntax match jCopula /=[.:]/
     31790+syntax match jConjunction /;\.\|\^:\|![.:]/
     31791+
     31792+" Explicit noun definition. The difficulty is that the define expression
     31793+" "0 : 0" can occur in the middle of a line but the jNounDefine region must
     31794+" only start on the next line. The trick is to split the problem into two
     31795+" regions and link them with "nextgroup=".
     31796+syntax region jNounDefineStart
     31797+    \ matchgroup=jDefineExpression start=/\<\%(0\|noun\)\s\+\%(\:\s*0\|def\s\+0\|define\)\>/
     31798+    \ keepend matchgroup=NONE end=/$/
     31799+    \ contains=@jStdlibItems,@jPrimitiveItems,jNumber,jString,jParenGroup,jParen,jComment
     31800+    \ oneline skipempty nextgroup=jDefineEnd,jNounDefine
     31801+" These two items must have "contained", which allows them to match only after
     31802+" jNounDefineStart thanks to the "nextgroup=" above.
     31803+syntax region jNounDefine
     31804+    \ matchgroup=NONE start=/^/
     31805+    \ matchgroup=jDefineEnd end=/^\s*)\s*$/
     31806+    \ contained
     31807+" This match is necessary in case of an empty noun definition
     31808+syntax match jDefineEnd contained /^\s*)\s*$/
     31809+
     31810+" Explicit verb, adverb, and conjunction definition
     31811+syntax region jDefine
     31812+    \ matchgroup=jDefineExpression start=/\<\%([1-4]\|13\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>/
     31813+    \ matchgroup=jDefineEnd end=/^\s*)\s*$/
     31814+    \ contains=jControl,@jStdlibItems,@jPrimitiveItems,jNumber,jString,jArgument,jParenGroup,jParen,jComment,jDefineMonadDyad
     31815+syntax match jDefineMonadDyad contained /^\s*:\s*$/
     31816+
     31817+" Paired parentheses. When a jDefineExpression such as "3 : 0" is
     31818+" parenthesised it will erroneously extend jParenGroup to span over the whole
     31819+" definition body. This situation receives a special treatment here.
     31820+syntax match jParen /(\%(\s*\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\s*)\)\@=/
     31821+syntax match jParen contained /\%((\s*\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\s*\)\@<=)/
     31822+syntax region jParenGroup
     31823+    \ matchgroup=jParen start=/(\%(\s*\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>\)\@!/
     31824+    \ matchgroup=jParen end=/)/
     31825+    \ oneline transparent
     31826+
     31827+syntax keyword jTodo contained TODO FIXME XXX
    3121631828+syntax match jComment /NB\..*$/ contains=jTodo,@Spell
     31829+
    3121731830+syntax match jSharpBang /\%^#!.*$/
    3121831831+
    31219 +highlight default link jControl Statement
    31220 +highlight default link jNoun Identifier
    31221 +highlight default link jAdverb Identifier
    31222 +highlight default link jConjunction Identifier
    31223 +highlight default link jVerb Function
    31224 +highlight default link jString String
    31225 +highlight default link jNumber Number
    31226 +highlight default link jTodo Todo
    31227 +highlight default link jComment Comment
    31228 +highlight default link jSharpBang PreProc
     31832+highlight default link jControl           Statement
     31833+highlight default link jStdlibNoun        Identifier
     31834+highlight default link jStdlibAdverb      Function
     31835+highlight default link jStdlibConjunction Function
     31836+highlight default link jStdlibVerb        Function
     31837+highlight default link jString            String
     31838+highlight default link jNumber            Number
     31839+highlight default link jNoun              Constant
     31840+highlight default link jAdverb            Normal
     31841+highlight default link jConjunction       Normal
     31842+highlight default link jVerb              Normal
     31843+highlight default link jCopula            Normal
     31844+highlight default link jArgument          Identifier
     31845+highlight default link jParen             Delimiter
     31846+
     31847+highlight default link jDefineExpression  Define
     31848+highlight default link jDefineMonadDyad   Delimiter
     31849+highlight default link jDefineEnd         Delimiter
     31850+highlight default link jNounDefine        Normal
     31851+
     31852+highlight default link jTodo              Todo
     31853+highlight default link jComment           Comment
     31854+highlight default link jSharpBang         PreProc
    3122931855+
    3123031856+let b:current_syntax = 'j'
     31857+
     31858+let &cpo = s:save_cpo
     31859+unlet s:save_cpo
    3123131860diff -Naur vim74.orig/runtime/syntax/mail.vim vim74/runtime/syntax/mail.vim
    3123231861--- vim74.orig/runtime/syntax/mail.vim  2013-07-15 21:28:26.000000000 +0000
    31233 +++ vim74/runtime/syntax/mail.vim       2014-03-30 20:09:04.256047284 +0000
     31862+++ vim74/runtime/syntax/mail.vim       2014-04-27 05:20:57.925097198 +0000
    3123431863@@ -2,7 +2,7 @@
    3123531864 " Language:            Mail file
     
    3125231881diff -Naur vim74.orig/runtime/syntax/masm.vim vim74/runtime/syntax/masm.vim
    3125331882--- vim74.orig/runtime/syntax/masm.vim  2012-02-04 19:24:10.000000000 +0000
    31254 +++ vim74/runtime/syntax/masm.vim       2014-03-30 20:09:04.262714170 +0000
     31883+++ vim74/runtime/syntax/masm.vim       2014-04-27 05:20:57.928430615 +0000
    3125531884@@ -2,14 +2,11 @@
    3125631885 " Language:    Microsoft Macro Assembler (80x86)
     
    3139132020diff -Naur vim74.orig/runtime/syntax/mix.vim vim74/runtime/syntax/mix.vim
    3139232021--- vim74.orig/runtime/syntax/mix.vim   1970-01-01 00:00:00.000000000 +0000
    31393 +++ vim74/runtime/syntax/mix.vim        2014-03-30 20:09:04.266047614 +0000
     32022+++ vim74/runtime/syntax/mix.vim        2014-04-27 05:20:57.931764031 +0000
    3139432023@@ -0,0 +1,83 @@
    3139532024+" Vim syntax file
     
    3147832107diff -Naur vim74.orig/runtime/syntax/netrw.vim vim74/runtime/syntax/netrw.vim
    3147932108--- vim74.orig/runtime/syntax/netrw.vim 2013-02-25 17:23:59.000000000 +0000
    31480 +++ vim74/runtime/syntax/netrw.vim      2014-03-30 20:09:04.276047943 +0000
     32109+++ vim74/runtime/syntax/netrw.vim      2014-04-27 05:20:57.945097695 +0000
    3148132110@@ -1,7 +1,7 @@
    3148232111 " Language   : Netrw Remote-Directory Listing Syntax
     
    3152632155diff -Naur vim74.orig/runtime/syntax/php.vim vim74/runtime/syntax/php.vim
    3152732156--- vim74.orig/runtime/syntax/php.vim   2012-12-11 20:15:31.000000000 +0000
    31528 +++ vim74/runtime/syntax/php.vim        2014-03-30 20:09:04.296048601 +0000
     32157+++ vim74/runtime/syntax/php.vim        2014-04-27 05:20:57.955097944 +0000
    3152932158@@ -1,7 +1,7 @@
    3153032159 " Vim syntax file
     
    3156732196diff -Naur vim74.orig/runtime/syntax/rst.vim vim74/runtime/syntax/rst.vim
    3156832197--- vim74.orig/runtime/syntax/rst.vim   2013-06-04 14:41:25.000000000 +0000
    31569 +++ vim74/runtime/syntax/rst.vim        2014-03-30 20:09:04.316049260 +0000
     32198+++ vim74/runtime/syntax/rst.vim        2014-04-27 05:20:57.975098441 +0000
    3157032199@@ -1,7 +1,7 @@
    3157132200 " Vim syntax file
     
    3158832217diff -Naur vim74.orig/runtime/syntax/sh.vim vim74/runtime/syntax/sh.vim
    3158932218--- vim74.orig/runtime/syntax/sh.vim    2013-07-05 16:35:45.000000000 +0000
    31590 +++ vim74/runtime/syntax/sh.vim 2014-03-30 20:09:04.326049589 +0000
     32219+++ vim74/runtime/syntax/sh.vim 2014-04-27 05:20:57.981765272 +0000
    3159132220@@ -2,10 +2,10 @@
    3159232221 " Language:            shell (sh) Korn shell (ksh) bash (sh)
     
    3170632335diff -Naur vim74.orig/runtime/syntax/spec.vim vim74/runtime/syntax/spec.vim
    3170732336--- vim74.orig/runtime/syntax/spec.vim  2010-05-15 11:03:57.000000000 +0000
    31708 +++ vim74/runtime/syntax/spec.vim       2014-03-30 20:09:04.336049918 +0000
     32337+++ vim74/runtime/syntax/spec.vim       2014-04-27 05:20:57.991765521 +0000
    3170932338@@ -1,8 +1,9 @@
    3171032339 " Filename:    spec.vim
     
    3174132370diff -Naur vim74.orig/runtime/syntax/svn.vim vim74/runtime/syntax/svn.vim
    3174232371--- vim74.orig/runtime/syntax/svn.vim   2012-07-25 13:08:55.000000000 +0000
    31743 +++ vim74/runtime/syntax/svn.vim        2014-03-30 20:09:04.342716805 +0000
     32372+++ vim74/runtime/syntax/svn.vim        2014-04-27 05:20:57.998432353 +0000
    3174432373@@ -2,15 +2,18 @@
    3174532374 " Language:     Subversion (svn) commit file
     
    3180632435diff -Naur vim74.orig/runtime/syntax/systemverilog.vim vim74/runtime/syntax/systemverilog.vim
    3180732436--- vim74.orig/runtime/syntax/systemverilog.vim 1970-01-01 00:00:00.000000000 +0000
    31808 +++ vim74/runtime/syntax/systemverilog.vim      2014-03-30 20:09:04.346050247 +0000
     32437+++ vim74/runtime/syntax/systemverilog.vim      2014-04-27 05:20:58.001765768 +0000
    3180932438@@ -0,0 +1,101 @@
    3181032439+" Vim syntax file
     
    3191132540diff -Naur vim74.orig/runtime/syntax/tcl.vim vim74/runtime/syntax/tcl.vim
    3191232541--- vim74.orig/runtime/syntax/tcl.vim   2010-05-15 11:03:56.000000000 +0000
    31913 +++ vim74/runtime/syntax/tcl.vim        2014-03-30 20:09:04.349383690 +0000
     32542+++ vim74/runtime/syntax/tcl.vim        2014-04-27 05:20:58.005099185 +0000
    3191432543@@ -6,11 +6,9 @@
    3191532544 "              (previously Matt Neumann <mattneu@purpleturtle.com>)
     
    3204632675diff -Naur vim74.orig/runtime/syntax/tex.vim vim74/runtime/syntax/tex.vim
    3204732676--- vim74.orig/runtime/syntax/tex.vim   2013-07-05 16:35:45.000000000 +0000
    32048 +++ vim74/runtime/syntax/tex.vim        2014-03-30 20:09:04.349383690 +0000
     32677+++ vim74/runtime/syntax/tex.vim        2014-04-27 05:20:58.005099185 +0000
    3204932678@@ -1,8 +1,8 @@
    3205032679 " Vim syntax file
     
    3218932818diff -Naur vim74.orig/runtime/syntax/upstreamlog.vim vim74/runtime/syntax/upstreamlog.vim
    3219032819--- vim74.orig/runtime/syntax/upstreamlog.vim   2013-08-03 15:47:26.000000000 +0000
    32191 +++ vim74/runtime/syntax/upstreamlog.vim        2014-03-30 20:09:04.359384020 +0000
     32820+++ vim74/runtime/syntax/upstreamlog.vim        2014-04-27 05:20:58.011766018 +0000
    3219232821@@ -1,7 +1,7 @@
    3219332822 " Vim syntax file
     
    3221832847diff -Naur vim74.orig/runtime/syntax/usserverlog.vim vim74/runtime/syntax/usserverlog.vim
    3221932848--- vim74.orig/runtime/syntax/usserverlog.vim   2013-08-03 15:47:26.000000000 +0000
    32220 +++ vim74/runtime/syntax/usserverlog.vim        2014-03-30 20:09:04.359384020 +0000
     32849+++ vim74/runtime/syntax/usserverlog.vim        2014-04-27 05:20:58.015099434 +0000
    3222132850@@ -1,7 +1,7 @@
    3222232851 " Vim syntax file
     
    3224732876diff -Naur vim74.orig/runtime/syntax/usw2kagtlog.vim vim74/runtime/syntax/usw2kagtlog.vim
    3224832877--- vim74.orig/runtime/syntax/usw2kagtlog.vim   2013-08-03 15:47:26.000000000 +0000
    32249 +++ vim74/runtime/syntax/usw2kagtlog.vim        2014-03-30 20:09:04.359384020 +0000
     32878+++ vim74/runtime/syntax/usw2kagtlog.vim        2014-04-27 05:20:58.015099434 +0000
    3225032879@@ -1,7 +1,7 @@
    3225132880 " Vim syntax file
     
    3227632905diff -Naur vim74.orig/runtime/syntax/vhdl.vim vim74/runtime/syntax/vhdl.vim
    3227732906--- vim74.orig/runtime/syntax/vhdl.vim  2012-06-01 16:05:47.000000000 +0000
    32278 +++ vim74/runtime/syntax/vhdl.vim       2014-03-30 20:09:04.362717463 +0000
     32907+++ vim74/runtime/syntax/vhdl.vim       2014-04-27 05:20:58.015099434 +0000
    3227932908@@ -1,12 +1,12 @@
    3228032909 " Vim syntax file
     
    3243033059diff -Naur vim74.orig/runtime/syntax/vim.vim vim74/runtime/syntax/vim.vim
    3243133060--- vim74.orig/runtime/syntax/vim.vim   2013-07-05 16:35:45.000000000 +0000
    32432 +++ vim74/runtime/syntax/vim.vim        2014-03-30 20:09:04.366050906 +0000
     33061+++ vim74/runtime/syntax/vim.vim        2014-04-27 05:20:58.018432850 +0000
    3243333062@@ -1,8 +1,8 @@
    3243433063 " Vim syntax file
     
    3253533164diff -Naur vim74.orig/runtime/syntax/yacc.vim vim74/runtime/syntax/yacc.vim
    3253633165--- vim74.orig/runtime/syntax/yacc.vim  2012-11-15 01:25:58.000000000 +0000
    32537 +++ vim74/runtime/syntax/yacc.vim       2014-03-30 20:09:04.376051235 +0000
     33166+++ vim74/runtime/syntax/yacc.vim       2014-04-27 05:20:58.031766515 +0000
    3253833167@@ -1,8 +1,8 @@
    3253933168 " Vim syntax file
     
    3255833187diff -Naur vim74.orig/runtime/syntax/yaml.vim vim74/runtime/syntax/yaml.vim
    3255933188--- vim74.orig/runtime/syntax/yaml.vim  2010-10-08 13:33:39.000000000 +0000
    32560 +++ vim74/runtime/syntax/yaml.vim       2014-03-30 20:09:04.376051235 +0000
     33189+++ vim74/runtime/syntax/yaml.vim       2014-04-27 05:20:58.031766515 +0000
    3256133190@@ -108,9 +108,10 @@
    3256233191 syn match yamlFlowMappingMerge /<<\ze\s*:/ contained nextgroup=yamlKeyValueDelimiter
     
    3257433203diff -Naur vim74.orig/runtime/tutor/tutor vim74/runtime/tutor/tutor
    3257533204--- vim74.orig/runtime/tutor/tutor      2012-10-03 13:29:40.000000000 +0000
    32576 +++ vim74/runtime/tutor/tutor   2014-03-30 20:09:04.389385008 +0000
     33205+++ vim74/runtime/tutor/tutor   2014-04-27 05:20:58.041766762 +0000
    3257733206@@ -55,8 +55,8 @@
    3257833207   2. Type:     :q! <ENTER>.
     
    3258833217diff -Naur vim74.orig/runtime/tutor/tutor.es vim74/runtime/tutor/tutor.es
    3258933218--- vim74.orig/runtime/tutor/tutor.es   2010-05-15 11:04:02.000000000 +0000
    32590 +++ vim74/runtime/tutor/tutor.es        2014-03-30 20:09:04.396051894 +0000
     33219+++ vim74/runtime/tutor/tutor.es        2014-04-27 05:20:58.048433595 +0000
    3259133220@@ -121,7 +121,7 @@
    3259233221         h (izquierda)     j (abajo)      k (arriba)      l (derecha)
     
    3260033229diff -Naur vim74.orig/runtime/tutor/tutor.it vim74/runtime/tutor/tutor.it
    3260133230--- vim74.orig/runtime/tutor/tutor.it   2010-05-23 09:00:00.000000000 +0000
    32602 +++ vim74/runtime/tutor/tutor.it        2014-03-30 20:09:04.402718779 +0000
     33231+++ vim74/runtime/tutor/tutor.it        2014-04-27 05:20:58.055100426 +0000
    3260333232@@ -638,7 +638,7 @@
    3260433233 NOTA: Se esci da Vim e riesegui Vim battendo  vim TEST , il file aperto
     
    3261233241diff -Naur vim74.orig/runtime/tutor/tutor.it.utf-8 vim74/runtime/tutor/tutor.it.utf-8
    3261333242--- vim74.orig/runtime/tutor/tutor.it.utf-8     2010-05-23 10:11:46.000000000 +0000
    32614 +++ vim74/runtime/tutor/tutor.it.utf-8  2014-03-30 20:09:04.402718779 +0000
     33243+++ vim74/runtime/tutor/tutor.it.utf-8  2014-04-27 05:20:58.055100426 +0000
    3261533244@@ -638,7 +638,7 @@
    3261633245 NOTA: Se esci da Vim e riesegui Vim battendo  vim TEST , il file aperto
     
    3262433253diff -Naur vim74.orig/runtime/tutor/tutor.pt vim74/runtime/tutor/tutor.pt
    3262533254--- vim74.orig/runtime/tutor/tutor.pt   2010-08-11 20:54:33.000000000 +0000
    32626 +++ vim74/runtime/tutor/tutor.pt        2014-03-30 20:09:04.412719110 +0000
     33255+++ vim74/runtime/tutor/tutor.pt        2014-04-27 05:20:58.065100676 +0000
    3262733256@@ -58,11 +58,11 @@
    3262833257      Isso sai do editor SEM salvar qualquer mudança que tenha sido feita.
     
    3265133280diff -Naur vim74.orig/runtime/tutor/tutor.pt.utf-8 vim74/runtime/tutor/tutor.pt.utf-8
    3265233281--- vim74.orig/runtime/tutor/tutor.pt.utf-8     2010-08-11 20:54:33.000000000 +0000
    32653 +++ vim74/runtime/tutor/tutor.pt.utf-8  2014-03-30 20:09:04.412719110 +0000
     33282+++ vim74/runtime/tutor/tutor.pt.utf-8  2014-04-27 05:20:58.065100676 +0000
    3265433283@@ -58,11 +58,11 @@
    3265533284      Isso sai do editor SEM salvar qualquer mudança que tenha sido feita.
     
    3267833307diff -Naur vim74.orig/runtime/vimlogo.eps vim74/runtime/vimlogo.eps
    3267933308--- vim74.orig/runtime/vimlogo.eps      2010-05-15 11:03:57.000000000 +0000
    32680 +++ vim74/runtime/vimlogo.eps   2014-03-30 20:09:04.426052882 +0000
     33309+++ vim74/runtime/vimlogo.eps   2014-04-27 05:20:58.078434340 +0000
    3268133310@@ -1,791 +1,803 @@
    3268233311-%!PS-Adobe-3.0 EPSF-3.0
     
    3427534904diff -Naur vim74.orig/runtime/vimrc_example.vim vim74/runtime/vimrc_example.vim
    3427634905--- vim74.orig/runtime/vimrc_example.vim        2011-04-15 18:58:36.000000000 +0000
    34277 +++ vim74/runtime/vimrc_example.vim     2014-03-30 20:09:04.426052882 +0000
     34906+++ vim74/runtime/vimrc_example.vim     2014-04-27 05:20:58.078434340 +0000
    3427834907@@ -1,7 +1,7 @@
    3427934908 " An example for a vimrc file.
     
    3429734926diff -Naur vim74.orig/src/GvimExt/Make_cyg.mak vim74/src/GvimExt/Make_cyg.mak
    3429834927--- vim74.orig/src/GvimExt/Make_cyg.mak 2011-09-30 14:45:49.000000000 +0000
    34299 +++ vim74/src/GvimExt/Make_cyg.mak      2014-03-30 20:09:04.426052882 +0000
     34928+++ vim74/src/GvimExt/Make_cyg.mak      2014-04-27 05:20:58.078434340 +0000
    3430034929@@ -31,12 +31,12 @@
    3430134930 ifeq ($(CROSS),yes)
     
    3431634945diff -Naur vim74.orig/src/Make_bc5.mak vim74/src/Make_bc5.mak
    3431734946--- vim74.orig/src/Make_bc5.mak 2013-06-03 18:09:58.000000000 +0000
    34318 +++ vim74/src/Make_bc5.mak      2014-03-30 20:09:04.439386653 +0000
     34947+++ vim74/src/Make_bc5.mak      2014-04-27 05:20:58.085101172 +0000
    3431934948@@ -419,7 +419,7 @@
    3432034949 ALIGNARG = -a$(ALIGN)
     
    3432834957diff -Naur vim74.orig/src/Make_cyg.mak vim74/src/Make_cyg.mak
    3432934958--- vim74.orig/src/Make_cyg.mak 2013-07-06 11:32:11.000000000 +0000
    34330 +++ vim74/src/Make_cyg.mak      2014-03-30 20:09:04.439386653 +0000
     34959+++ vim74/src/Make_cyg.mak      2014-04-27 05:20:58.085101172 +0000
    3433134960@@ -1,6 +1,6 @@
    3433234961 #
     
    3436634995diff -Naur vim74.orig/src/Make_ming.mak vim74/src/Make_ming.mak
    3436734996--- vim74.orig/src/Make_ming.mak        2013-07-06 11:32:11.000000000 +0000
    34368 +++ vim74/src/Make_ming.mak     2014-03-30 20:09:04.442720097 +0000
     34997+++ vim74/src/Make_ming.mak     2014-04-27 05:20:58.088434588 +0000
    3436934998@@ -359,6 +359,7 @@
    3437034999 
     
    3440735036diff -Naur vim74.orig/src/Make_mvc.mak vim74/src/Make_mvc.mak
    3440835037--- vim74.orig/src/Make_mvc.mak 2013-07-09 11:13:12.000000000 +0000
    34409 +++ vim74/src/Make_mvc.mak      2014-03-30 20:09:04.442720097 +0000
     35038+++ vim74/src/Make_mvc.mak      2014-04-27 05:20:58.088434588 +0000
    3441035039@@ -424,6 +424,12 @@
    3441135040 !if "$(_NMAKE_VER)" == "11.00.60610.1"
     
    3447235101diff -Naur vim74.orig/src/Make_vms.mms vim74/src/Make_vms.mms
    3447335102--- vim74.orig/src/Make_vms.mms 2013-05-06 02:06:04.000000000 +0000
    34474 +++ vim74/src/Make_vms.mms      2014-03-30 20:09:04.446053540 +0000
     35103+++ vim74/src/Make_vms.mms      2014-04-27 05:20:58.091768003 +0000
    3447535104@@ -2,7 +2,7 @@
    3447635105 # Makefile for Vim on OpenVMS
     
    3458835217diff -Naur vim74.orig/src/Makefile vim74/src/Makefile
    3458935218--- vim74.orig/src/Makefile     2013-08-10 12:21:15.000000000 +0000
    34590 +++ vim74/src/Makefile  2014-03-30 20:09:04.446053540 +0000
     35219+++ vim74/src/Makefile  2014-04-27 05:20:58.095101420 +0000
    3459135220@@ -546,6 +546,7 @@
    3459235221 # again.
     
    3463635265        chmod 755 auto/configure
    3463735266        mv -f configure.save configure
    34638 @@ -1882,7 +1888,8 @@
     35267@@ -1861,7 +1867,7 @@
     35268        -if test $(VIMTARGET) != vim -a ! -r vim; then \
     35269                ln -s $(VIMTARGET) vim; \
     35270        fi
     35271-       cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) $(GUI_TESTARG)
     35272+       cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
     35273        $(MAKE) -f Makefile unittest
     35274 
     35275 unittesttargets:
     35276@@ -1874,6 +1880,8 @@
     35277 
     35278 # Run individual test, assuming that Vim was already compiled.
     35279 test1 test2 test3 test4 test5 test6 test7 test8 test9 \
     35280+       test_eval \
     35281+       test_options \
     35282        test10 test11 test12 test13 test14 test15 test16 test17 test18 test19 \
     35283        test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
     35284        test30 test31 test32 test33 test34 test35 test36 test37 test38 test39 \
     35285@@ -1882,8 +1890,9 @@
    3463935286        test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \
    3464035287        test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
    3464135288        test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
    3464235289-       test90 test91 test92 test93 test94 test95 test96 test97 test98 test99:
     35290-       cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
    3464335291+       test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
    3464435292+       test100 test101 test102 test103 test104 test105 test106 test107:
    34645         cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET)
     35293+       cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
    3464635294 
    3464735295 testclean:
    34648 @@ -2380,6 +2387,7 @@
     35296        cd testdir; $(MAKE) -f Makefile clean
     35297@@ -2380,6 +2389,7 @@
    3464935298                                 ../../testdir/*.in \
    3465035299                                 ../../testdir/*.vim \
     
    3466535314diff -Naur vim74.orig/src/auto/configure vim74/src/auto/configure
    3466635315--- vim74.orig/src/auto/configure       2013-08-04 18:01:06.000000000 +0000
    34667 +++ vim74/src/auto/configure    2014-03-30 20:09:04.466054198 +0000
     35316+++ vim74/src/auto/configure    2014-04-27 05:20:58.111768501 +0000
    3466835317@@ -1,11 +1,9 @@
    3466935318 #! /bin/sh
     
    3489235541 GREP
    3489335542 CPP
    34894 @@ -872,8 +901,9 @@
     35543@@ -753,6 +782,7 @@
     35544 with_view_name
     35545 with_global_runtime
     35546 with_modified_by
     35547+enable_smack
     35548 enable_selinux
     35549 with_features
     35550 with_compiledby
     35551@@ -872,8 +902,9 @@
    3489535552   fi
    3489635553 
     
    3490435561 
    3490535562   # Accept the important Cygnus configure options, so we can diagnose typos.
    34906 @@ -918,7 +948,7 @@
     35563@@ -918,7 +949,7 @@
    3490735564     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
    3490835565     # Reject names that are not valid shell variable names.
     
    3491335570     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    3491435571     case $ac_user_opts in
    34915 @@ -944,7 +974,7 @@
     35572@@ -944,7 +975,7 @@
    3491635573     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
    3491735574     # Reject names that are not valid shell variable names.
     
    3492235579     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    3492335580     case $ac_user_opts in
    34924 @@ -1148,7 +1178,7 @@
     35581@@ -1148,7 +1179,7 @@
    3492535582     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
    3492635583     # Reject names that are not valid shell variable names.
     
    3493135588     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    3493235589     case $ac_user_opts in
    34933 @@ -1164,7 +1194,7 @@
     35590@@ -1164,7 +1195,7 @@
    3493435591     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
    3493535592     # Reject names that are not valid shell variable names.
     
    3494035597     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    3494135598     case $ac_user_opts in
    34942 @@ -1194,8 +1224,8 @@
     35599@@ -1194,8 +1225,8 @@
    3494335600   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
    3494435601     x_libraries=$ac_optarg ;;
     
    3495135608 
    3495235609   *=*)
    34953 @@ -1203,7 +1233,7 @@
     35610@@ -1203,7 +1234,7 @@
    3495435611     # Reject names that are not valid shell variable names.
    3495535612     case $ac_envvar in #(
     
    3496035617     eval $ac_envvar=\$ac_optarg
    3496135618     export $ac_envvar ;;
    34962 @@ -1213,7 +1243,7 @@
     35619@@ -1213,7 +1244,7 @@
    3496335620     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
    3496435621     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
     
    3496935626 
    3497035627   esac
    34971 @@ -1221,13 +1251,13 @@
     35628@@ -1221,13 +1252,13 @@
    3497235629 
    3497335630 if test -n "$ac_prev"; then
     
    3498535642   esac
    3498635643 fi
    34987 @@ -1250,7 +1280,7 @@
     35644@@ -1250,7 +1281,7 @@
    3498835645     [\\/$]* | ?:[\\/]* )  continue;;
    3498935646     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
     
    3499435651 
    3499535652 # There might be people who depend on the old broken behavior: `$host'
    34996 @@ -1264,8 +1294,6 @@
     35653@@ -1264,8 +1295,6 @@
    3499735654 if test "x$host_alias" != x; then
    3499835655   if test "x$build_alias" = x; then
     
    3500335660     cross_compiling=yes
    3500435661   fi
    35005 @@ -1280,9 +1308,9 @@
     35662@@ -1280,9 +1309,9 @@
    3500635663 ac_pwd=`pwd` && test -n "$ac_pwd" &&
    3500735664 ac_ls_di=`ls -di .` &&
     
    3501535672 
    3501635673 # Find the source files, if location was not specified.
    35017 @@ -1321,11 +1349,11 @@
     35674@@ -1321,11 +1350,11 @@
    3501835675 fi
    3501935676 if test ! -r "$srcdir/$ac_unique_file"; then
     
    3502935686 # When building in place, set srcdir=.
    3503035687 if test "$ac_abs_confdir" = "$ac_pwd"; then
    35031 @@ -1365,7 +1393,7 @@
     35688@@ -1365,7 +1394,7 @@
    3503235689       --help=short        display options specific to this package
    3503335690       --help=recursive    display the short help of all the included packages
     
    3503835695   -C, --config-cache      alias for \`--cache-file=config.cache'
    3503935696   -n, --no-create         do not create output files
    35040 @@ -1563,9 +1591,9 @@
     35697@@ -1425,7 +1454,8 @@
     35698   --enable-fail-if-missing    Fail if dependencies on additional features
     35699      specified on the command line are missing.
     35700   --disable-darwin        Disable Darwin (Mac OS X) support.
     35701-  --disable-selinux      Don't check for SELinux support.
     35702+  --disable-smack        Do not check for Smack support.
     35703+  --disable-selinux      Do not check for SELinux support.
     35704   --disable-xsmp          Disable XSMP session management
     35705   --disable-xsmp-interact Disable XSMP interaction
     35706   --enable-luainterp=OPTS     Include Lua interpreter.  default=no OPTS=no/yes/dynamic
     35707@@ -1563,9 +1593,9 @@
    3504135708 if $ac_init_version; then
    3504235709   cat <<\_ACEOF
     
    3505035717 gives unlimited permission to copy, distribute and modify it.
    3505135718 _ACEOF
    35052 @@ -1609,7 +1637,7 @@
     35719@@ -1609,7 +1639,7 @@
    3505335720 
    3505435721        ac_retval=1
     
    3505935726 
    3506035727 } # ac_fn_c_try_compile
    35061 @@ -1635,7 +1663,7 @@
     35728@@ -1635,7 +1665,7 @@
    3506235729     mv -f conftest.er1 conftest.err
    3506335730   fi
     
    3506835735         test ! -s conftest.err
    3506935736        }; then :
    35070 @@ -1646,7 +1674,7 @@
     35737@@ -1646,7 +1676,7 @@
    3507135738 
    3507235739     ac_retval=1
     
    3507735744 
    3507835745 } # ac_fn_c_try_cpp
    35079 @@ -1678,7 +1706,7 @@
     35746@@ -1678,7 +1708,7 @@
    3508035747         test ! -s conftest.err
    3508135748        } && test -s conftest$ac_exeext && {
     
    3508635753   ac_retval=0
    3508735754 else
    35088 @@ -1692,7 +1720,7 @@
     35755@@ -1692,7 +1722,7 @@
    3508935756   # interfere with the next link command; also delete a directory that is
    3509035757   # left behind by Apple's compiler.  We do this before executing the actions.
     
    3509535762 
    3509635763 } # ac_fn_c_try_link
    35097 @@ -1734,7 +1762,7 @@
     35764@@ -1734,7 +1764,7 @@
    3509835765        ac_retval=$ac_status
    3509935766 fi
     
    3510435771 
    3510535772 } # ac_fn_c_try_run
    35106 @@ -1747,10 +1775,10 @@
     35773@@ -1747,10 +1777,10 @@
    3510735774 ac_fn_c_check_header_mongrel ()
    3510835775 {
     
    3511735784 fi
    3511835785 eval ac_res=\$$3
    35119 @@ -1786,7 +1814,7 @@
     35786@@ -1786,7 +1816,7 @@
    3512035787 else
    3512135788   ac_header_preproc=no
     
    3512635793 $as_echo "$ac_header_preproc" >&6; }
    3512735794 
    35128 @@ -1813,7 +1841,7 @@
     35795@@ -1813,7 +1843,7 @@
    3512935796 esac
    3513035797   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
     
    3513535802 else
    3513635803   eval "$3=\$ac_header_compiler"
    35137 @@ -1822,7 +1850,7 @@
     35804@@ -1822,7 +1852,7 @@
    3513835805               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
    3513935806 $as_echo "$ac_res" >&6; }
     
    3514435811 } # ac_fn_c_check_header_mongrel
    3514535812 
    35146 @@ -1835,7 +1863,7 @@
     35813@@ -1835,7 +1865,7 @@
    3514735814   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    3514835815   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
     
    3515335820 else
    3515435821   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    35155 @@ -1853,7 +1881,7 @@
     35822@@ -1853,7 +1883,7 @@
    3515635823 eval ac_res=\$$3
    3515735824               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     
    3516235829 } # ac_fn_c_check_header_compile
    3516335830 
    35164 @@ -1865,7 +1893,7 @@
     35831@@ -1865,7 +1895,7 @@
    3516535832   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    3516635833   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
     
    3517135838 else
    3517235839   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    35173 @@ -1920,7 +1948,7 @@
     35840@@ -1920,7 +1950,7 @@
    3517435841 eval ac_res=\$$3
    3517535842               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     
    3518035847 } # ac_fn_c_check_func
    3518135848 
    35182 @@ -1933,7 +1961,7 @@
     35849@@ -1933,7 +1963,7 @@
    3518335850   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    3518435851   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
     
    3518935856 else
    3519035857   eval "$3=no"
    35191 @@ -1974,7 +2002,7 @@
     35858@@ -1974,7 +2004,7 @@
    3519235859 eval ac_res=\$$3
    3519335860               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     
    3519835865 } # ac_fn_c_check_type
    3519935866 
    35200 @@ -1987,7 +2015,7 @@
     35867@@ -1987,7 +2017,7 @@
    3520135868   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    3520235869   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
     
    3520735874 else
    3520835875   eval "$3=no"
    35209 @@ -2002,7 +2030,8 @@
     35876@@ -2002,7 +2032,8 @@
    3521035877 main ()
    3521135878 {
     
    3521735884   ;
    3521835885   return 0;
    35219 @@ -2017,8 +2046,7 @@
     35886@@ -2017,8 +2048,7 @@
    3522035887 esac
    3522135888 fi
     
    3522735894 else
    3522835895   break
    35229 @@ -2028,7 +2056,7 @@
     35896@@ -2028,7 +2058,7 @@
    3523035897 eval ac_res=\$$3
    3523135898               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     
    3523635903 } # ac_fn_c_find_uintX_t
    3523735904 
    35238 @@ -2049,7 +2077,8 @@
     35905@@ -2049,7 +2079,8 @@
    3523935906 main ()
    3524035907 {
     
    3524635913   ;
    3524735914   return 0;
    35248 @@ -2065,7 +2094,8 @@
     35915@@ -2065,7 +2096,8 @@
    3524935916 main ()
    3525035917 {
     
    3525635923   ;
    3525735924   return 0;
    35258 @@ -2091,7 +2121,8 @@
     35925@@ -2091,7 +2123,8 @@
    3525935926 main ()
    3526035927 {
     
    3526635933   ;
    3526735934   return 0;
    35268 @@ -2107,7 +2138,8 @@
     35935@@ -2107,7 +2140,8 @@
    3526935936 main ()
    3527035937 {
     
    3527635943   ;
    3527735944   return 0;
    35278 @@ -2141,7 +2173,8 @@
     35945@@ -2141,7 +2175,8 @@
    3527935946 main ()
    3528035947 {
     
    3528635953   ;
    3528735954   return 0;
    35288 @@ -2205,7 +2238,7 @@
     35955@@ -2205,7 +2240,7 @@
    3528935956 rm -f conftest.val
    3529035957 
     
    3529535962 
    3529635963 } # ac_fn_c_compute_int
    35297 @@ -2214,7 +2247,7 @@
     35964@@ -2214,7 +2249,7 @@
    3529835965 running configure, to aid debugging if configure makes a mistake.
    3529935966 
     
    3530435971   $ $0 $@
    3530535972 
    35306 @@ -2324,11 +2357,9 @@
     35973@@ -2324,11 +2359,9 @@
    3530735974   {
    3530835975     echo
     
    3531835985     # The following way of writing the cache mishandles newlines in values,
    3531935986 (
    35320 @@ -2362,11 +2393,9 @@
     35987@@ -2362,11 +2395,9 @@
    3532135988 )
    3532235989     echo
     
    3533235999     for ac_var in $ac_subst_vars
    3533336000     do
    35334 @@ -2379,11 +2408,9 @@
     36001@@ -2379,11 +2410,9 @@
    3533536002     echo
    3533636003 
     
    3534636013       for ac_var in $ac_subst_files
    3534736014       do
    35348 @@ -2397,11 +2424,9 @@
     36015@@ -2397,11 +2426,9 @@
    3534936016     fi
    3535036017 
     
    3536036027       cat confdefs.h
    3536136028       echo
    35362 @@ -2456,7 +2481,12 @@
     36029@@ -2456,7 +2483,12 @@
    3536336030 ac_site_file1=NONE
    3536436031 ac_site_file2=NONE
     
    3537436041   ac_site_file1=$prefix/share/config.site
    3537536042   ac_site_file2=$prefix/etc/config.site
    35376 @@ -2471,7 +2501,11 @@
     36043@@ -2471,7 +2503,11 @@
    3537736044     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
    3537836045 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     
    3538736054 done
    3538836055 
    35389 @@ -2547,7 +2581,7 @@
     36056@@ -2547,7 +2583,7 @@
    3539036057 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
    3539136058   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
     
    3539636063 ## -------------------- ##
    3539736064 ## Main body of script. ##
    35398 @@ -2569,7 +2603,7 @@
     36065@@ -2569,7 +2605,7 @@
    3539936066 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
    3540036067 set x ${MAKE-make}
     
    3540536072 else
    3540636073   cat >conftest.make <<\_ACEOF
    35407 @@ -2577,7 +2611,7 @@
     36074@@ -2577,7 +2613,7 @@
    3540836075 all:
    3540936076        @echo '@@@%%%=$(MAKE)=@@@%%%'
     
    3541436081   *@@@%%%=?*=@@@%%%*)
    3541536082     eval ac_cv_prog_make_${ac_make}_set=yes;;
    35416 @@ -2607,7 +2641,7 @@
     36083@@ -2607,7 +2643,7 @@
    3541736084 set dummy ${ac_tool_prefix}gcc; ac_word=$2
    3541836085 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3542336090 else
    3542436091   if test -n "$CC"; then
    35425 @@ -2619,7 +2653,7 @@
     36092@@ -2619,7 +2655,7 @@
    3542636093   IFS=$as_save_IFS
    3542736094   test -z "$as_dir" && as_dir=.
     
    3543236099     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3543336100     break 2
    35434 @@ -2647,7 +2681,7 @@
     36101@@ -2647,7 +2683,7 @@
    3543536102 set dummy gcc; ac_word=$2
    3543636103 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3544136108 else
    3544236109   if test -n "$ac_ct_CC"; then
    35443 @@ -2659,7 +2693,7 @@
     36110@@ -2659,7 +2695,7 @@
    3544436111   IFS=$as_save_IFS
    3544536112   test -z "$as_dir" && as_dir=.
     
    3545036117     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3545136118     break 2
    35452 @@ -2700,7 +2734,7 @@
     36119@@ -2700,7 +2736,7 @@
    3545336120 set dummy ${ac_tool_prefix}cc; ac_word=$2
    3545436121 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3545936126 else
    3546036127   if test -n "$CC"; then
    35461 @@ -2712,7 +2746,7 @@
     36128@@ -2712,7 +2748,7 @@
    3546236129   IFS=$as_save_IFS
    3546336130   test -z "$as_dir" && as_dir=.
     
    3546836135     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3546936136     break 2
    35470 @@ -2740,7 +2774,7 @@
     36137@@ -2740,7 +2776,7 @@
    3547136138 set dummy cc; ac_word=$2
    3547236139 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3547736144 else
    3547836145   if test -n "$CC"; then
    35479 @@ -2753,7 +2787,7 @@
     36146@@ -2753,7 +2789,7 @@
    3548036147   IFS=$as_save_IFS
    3548136148   test -z "$as_dir" && as_dir=.
     
    3548636153        ac_prog_rejected=yes
    3548736154        continue
    35488 @@ -2799,7 +2833,7 @@
     36155@@ -2799,7 +2835,7 @@
    3548936156 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
    3549036157 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3549536162 else
    3549636163   if test -n "$CC"; then
    35497 @@ -2811,7 +2845,7 @@
     36164@@ -2811,7 +2847,7 @@
    3549836165   IFS=$as_save_IFS
    3549936166   test -z "$as_dir" && as_dir=.
     
    3550436171     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3550536172     break 2
    35506 @@ -2843,7 +2877,7 @@
     36173@@ -2843,7 +2879,7 @@
    3550736174 set dummy $ac_prog; ac_word=$2
    3550836175 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3551336180 else
    3551436181   if test -n "$ac_ct_CC"; then
    35515 @@ -2855,7 +2889,7 @@
     36182@@ -2855,7 +2891,7 @@
    3551636183   IFS=$as_save_IFS
    3551736184   test -z "$as_dir" && as_dir=.
     
    3552236189     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3552336190     break 2
    35524 @@ -2897,8 +2931,8 @@
     36191@@ -2897,8 +2933,8 @@
    3552536192 
    3552636193 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3553336200 # Provide some information about the compiler.
    3553436201 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
    35535 @@ -3012,9 +3046,8 @@
     36202@@ -3012,9 +3048,8 @@
    3553636203 
    3553736204 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3554536212   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
    3554636213 $as_echo "yes" >&6; }
    35547 @@ -3056,8 +3089,8 @@
     36214@@ -3056,8 +3091,8 @@
    3554836215 else
    3554936216   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3555636223 rm -f conftest conftest$ac_cv_exeext
    3555736224 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
    35558 @@ -3114,9 +3147,9 @@
     36225@@ -3114,9 +3149,9 @@
    3555936226     else
    3556036227        { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3556836235   fi
    3556936236 fi
    35570 @@ -3127,7 +3160,7 @@
     36237@@ -3127,7 +3162,7 @@
    3557136238 ac_clean_files=$ac_clean_files_save
    3557236239 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
     
    3557736244 else
    3557836245   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    35579 @@ -3167,8 +3200,8 @@
     36246@@ -3167,8 +3202,8 @@
    3558036247 
    3558136248 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3558836255 rm -f conftest.$ac_cv_objext conftest.$ac_ext
    3558936256 fi
    35590 @@ -3178,7 +3211,7 @@
     36257@@ -3178,7 +3213,7 @@
    3559136258 ac_objext=$OBJEXT
    3559236259 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
     
    3559736264 else
    3559836265   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    35599 @@ -3215,7 +3248,7 @@
     36266@@ -3215,7 +3250,7 @@
    3560036267 ac_save_CFLAGS=$CFLAGS
    3560136268 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
     
    3560636273 else
    3560736274   ac_save_c_werror_flag=$ac_c_werror_flag
    35608 @@ -3293,7 +3326,7 @@
     36275@@ -3293,7 +3328,7 @@
    3560936276 fi
    3561036277 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
     
    3561536282 else
    3561636283   ac_cv_prog_cc_c89=no
    35617 @@ -3302,8 +3335,7 @@
     36284@@ -3302,8 +3337,7 @@
    3561836285 /* end confdefs.h.  */
    3561936286 #include <stdarg.h>
     
    3562536292 struct buf { int x; };
    3562636293 FILE * (*rcsopen) (struct buf *, struct stat *, int);
    35627 @@ -3399,7 +3431,7 @@
     36294@@ -3399,7 +3433,7 @@
    3562836295   CPP=
    3562936296 fi
     
    3563436301 else
    3563536302       # Double quotes because CPP needs to be expanded
    35636 @@ -3429,7 +3461,7 @@
     36303@@ -3429,7 +3463,7 @@
    3563736304   # Broken: fails on valid input.
    3563836305 continue
     
    3564336310   # OK, works on sane cases.  Now check whether nonexistent headers
    3564436311   # can be detected and how.
    35645 @@ -3445,11 +3477,11 @@
     36312@@ -3445,11 +3479,11 @@
    3564636313 ac_preproc_ok=:
    3564736314 break
     
    3565736324   break
    3565836325 fi
    35659 @@ -3488,7 +3520,7 @@
     36326@@ -3488,7 +3522,7 @@
    3566036327   # Broken: fails on valid input.
    3566136328 continue
     
    3566636333   # OK, works on sane cases.  Now check whether nonexistent headers
    3566736334   # can be detected and how.
    35668 @@ -3504,18 +3536,18 @@
     36335@@ -3504,18 +3538,18 @@
    3566936336 ac_preproc_ok=:
    3567036337 break
     
    3568936356 
    3569036357 ac_ext=c
    35691 @@ -3527,7 +3559,7 @@
     36358@@ -3527,7 +3561,7 @@
    3569236359 
    3569336360 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
     
    3569836365 else
    3569936366   if test -z "$GREP"; then
    35700 @@ -3541,7 +3573,7 @@
     36367@@ -3541,7 +3575,7 @@
    3570136368     for ac_prog in grep ggrep; do
    3570236369     for ac_exec_ext in '' $ac_executable_extensions; do
     
    3570736374   # Check for GNU $ac_path_GREP
    3570836375 case `"$ac_path_GREP" --version 2>&1` in
    35709 @@ -3576,7 +3608,7 @@
     36376@@ -3576,7 +3610,7 @@
    3571036377   done
    3571136378 IFS=$as_save_IFS
     
    3571636383 else
    3571736384   ac_cv_path_GREP=$GREP
    35718 @@ -3590,7 +3622,7 @@
     36385@@ -3590,7 +3624,7 @@
    3571936386 
    3572036387 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
     
    3572536392 else
    3572636393   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
    35727 @@ -3607,7 +3639,7 @@
     36394@@ -3607,7 +3641,7 @@
    3572836395     for ac_prog in egrep; do
    3572936396     for ac_exec_ext in '' $ac_executable_extensions; do
     
    3573436401   # Check for GNU $ac_path_EGREP
    3573536402 case `"$ac_path_EGREP" --version 2>&1` in
    35736 @@ -3642,7 +3674,7 @@
     36403@@ -3642,7 +3676,7 @@
    3573736404   done
    3573836405 IFS=$as_save_IFS
     
    3574336410 else
    3574436411   ac_cv_path_EGREP=$EGREP
    35745 @@ -3664,9 +3696,75 @@
     36412@@ -3664,9 +3698,75 @@
    3574636413 
    3574736414 fi
     
    3582136488 else
    3582236489   ac_func_search_save_LIBS=$LIBS
    35823 @@ -3700,11 +3798,11 @@
     36490@@ -3700,11 +3800,11 @@
    3582436491 fi
    3582536492 rm -f core conftest.err conftest.$ac_objext \
     
    3583536502 else
    3583636503   ac_cv_search_strerror=no
    35837 @@ -3725,7 +3823,7 @@
     36504@@ -3725,7 +3825,7 @@
    3583836505 set dummy $ac_prog; ac_word=$2
    3583936506 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3584436511 else
    3584536512   if test -n "$AWK"; then
    35846 @@ -3737,7 +3835,7 @@
     36513@@ -3737,7 +3837,7 @@
    3584736514   IFS=$as_save_IFS
    3584836515   test -z "$as_dir" && as_dir=.
     
    3585336520     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3585436521     break 2
    35855 @@ -3765,7 +3863,7 @@
     36522@@ -3765,7 +3865,7 @@
    3585636523 set dummy strip; ac_word=$2
    3585736524 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3586236529 else
    3586336530   if test -n "$STRIP"; then
    35864 @@ -3777,7 +3875,7 @@
     36531@@ -3777,7 +3877,7 @@
    3586536532   IFS=$as_save_IFS
    3586636533   test -z "$as_dir" && as_dir=.
     
    3587136538     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3587236539     break 2
    35873 @@ -3804,7 +3902,7 @@
     36540@@ -3804,7 +3904,7 @@
    3587436541 
    3587536542 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
     
    3588036547 else
    3588136548   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    35882 @@ -3916,7 +4014,7 @@
     36549@@ -3916,7 +4016,7 @@
    3588336550 
    3588436551 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
     
    3588936556 else
    3589036557   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    35891 @@ -3989,6 +4087,24 @@
     36558@@ -3974,9 +4074,9 @@
     36559   test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
     36560 fi
     36561 if test "$GCC" = yes; then
     36562-    gccversion=`"$CC" -dumpversion`
     36563+    gccversion=`$CC -dumpversion`
     36564   if test "x$gccversion" = "x"; then
     36565-        gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[^0-9]*\([0-9]\.[0-9.]*\).*$/\1/g'`
     36566+        gccversion=`$CC --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[^0-9]*\([0-9]\.[0-9.]*\).*$/\1/g'`
     36567   fi
     36568     if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
     36569     echo 'GCC [34].0.[12] has a bug in the optimizer, disabling "-O#"'
     36570@@ -3989,6 +4089,24 @@
    3589236571   fi
    3589336572 fi
     
    3589536574+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5
    3589636575+$as_echo_n "checking for recent clang version... " >&6; }
    35897 +CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed  -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
     36576+CLANG_VERSION_STRING=`$CC --version 2>/dev/null | sed  -n -e 's/^.*clang.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/p'`
    3589836577+if test x"$CLANG_VERSION_STRING" != x"" ; then
    3589936578+  CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'`
     
    3591436593   { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&5
    3591536594 $as_echo "cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&6; }
    35916 @@ -4089,7 +4205,7 @@
     36595@@ -4089,7 +4207,7 @@
    3591736596 set dummy xcode-select; ac_word=$2
    3591836597 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3592336602 else
    3592436603   case $XCODE_SELECT in
    35925 @@ -4103,7 +4219,7 @@
     36604@@ -4103,7 +4221,7 @@
    3592636605   IFS=$as_save_IFS
    3592736606   test -z "$as_dir" && as_dir=.
     
    3593236611     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3593336612     break 2
    35934 @@ -4203,7 +4319,7 @@
     36613@@ -4203,7 +4321,7 @@
    3593536614     MACOSX=yes
    3593636615     OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
     
    3594136620                 # On IRIX 5.3, sys/types and inttypes.h are conflicting.
    3594236621 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
    35943 @@ -4212,8 +4328,7 @@
     36622@@ -4212,8 +4330,7 @@
    3594436623   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
    3594536624 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
     
    3595136630 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    3595236631 _ACEOF
    35953 @@ -4224,7 +4339,7 @@
     36632@@ -4224,7 +4341,7 @@
    3595436633 
    3595536634 
     
    3596036639 fi
    3596136640 
    35962 @@ -4245,6 +4360,19 @@
     36641@@ -4245,6 +4362,19 @@
    3596336642 $as_echo "no" >&6; }
    3596436643 fi
     
    3598036659 
    3598136660 
    35982 @@ -4265,7 +4393,7 @@
     36661@@ -4265,7 +4395,7 @@
    3598336662       have_local_include=yes
    3598436663       have_local_lib=yes
     
    3598936668        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $local_dir" >&5
    3599036669 $as_echo "$local_dir" >&6; }
    35991 @@ -4280,7 +4408,7 @@
     36670@@ -4280,7 +4410,7 @@
    3599236671 
    3599336672   if test "$GCC" = yes -a "$local_dir" != no; then
     
    3599836677     rm -f conftest.c conftest.o
    3599936678   fi
    36000 @@ -4474,7 +4602,7 @@
     36679@@ -4460,21 +4590,120 @@
     36680 
     36681 
     36682 
     36683-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-selinux argument" >&5
     36684+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-smack argument" >&5
     36685+$as_echo_n "checking --disable-smack argument... " >&6; }
     36686+# Check whether --enable-smack was given.
     36687+if test "${enable_smack+set}" = set; then :
     36688+  enableval=$enable_smack;
     36689+else
     36690+  enable_smack="yes"
     36691+fi
     36692+
     36693+if test "$enable_smack" = "yes"; then
     36694+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     36695+$as_echo "no" >&6; }
     36696+  ac_fn_c_check_header_mongrel "$LINENO" "linux/xattr.h" "ac_cv_header_linux_xattr_h" "$ac_includes_default"
     36697+if test "x$ac_cv_header_linux_xattr_h" = xyes; then :
     36698+  true
     36699+else
     36700+  enable_smack="no"
     36701+fi
     36702+
     36703+
     36704+else
     36705+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     36706+$as_echo "yes" >&6; }
     36707+fi
     36708+if test "$enable_smack" = "yes"; then
     36709+  ac_fn_c_check_header_mongrel "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default"
     36710+if test "x$ac_cv_header_attr_xattr_h" = xyes; then :
     36711+  true
     36712+else
     36713+  enable_smack="no"
     36714+fi
     36715+
     36716+
     36717+fi
     36718+if test "$enable_smack" = "yes"; then
     36719+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XATTR_NAME_SMACKEXEC in linux/xattr.h" >&5
     36720+$as_echo_n "checking for XATTR_NAME_SMACKEXEC in linux/xattr.h... " >&6; }
     36721+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     36722+/* end confdefs.h.  */
     36723+#include <linux/xattr.h>
     36724+_ACEOF
     36725+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
     36726+  $EGREP "XATTR_NAME_SMACKEXEC" >/dev/null 2>&1; then :
     36727+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     36728+$as_echo "yes" >&6; }
     36729+else
     36730+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     36731+$as_echo "no" >&6; }; enable_smack="no"
     36732+fi
     36733+rm -f conftest*
     36734+
     36735+fi
     36736+if test "$enable_smack" = "yes"; then
     36737+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setxattr in -lattr" >&5
     36738+$as_echo_n "checking for setxattr in -lattr... " >&6; }
     36739+if ${ac_cv_lib_attr_setxattr+:} false; then :
     36740+  $as_echo_n "(cached) " >&6
     36741+else
     36742+  ac_check_lib_save_LIBS=$LIBS
     36743+LIBS="-lattr  $LIBS"
     36744+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     36745+/* end confdefs.h.  */
     36746+
     36747+/* Override any GCC internal prototype to avoid an error.
     36748+   Use char because int might match the return type of a GCC
     36749+   builtin and then its argument prototype would still apply.  */
     36750+#ifdef __cplusplus
     36751+extern "C"
     36752+#endif
     36753+char setxattr ();
     36754+int
     36755+main ()
     36756+{
     36757+return setxattr ();
     36758+  ;
     36759+  return 0;
     36760+}
     36761+_ACEOF
     36762+if ac_fn_c_try_link "$LINENO"; then :
     36763+  ac_cv_lib_attr_setxattr=yes
     36764+else
     36765+  ac_cv_lib_attr_setxattr=no
     36766+fi
     36767+rm -f core conftest.err conftest.$ac_objext \
     36768+    conftest$ac_exeext conftest.$ac_ext
     36769+LIBS=$ac_check_lib_save_LIBS
     36770+fi
     36771+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_setxattr" >&5
     36772+$as_echo "$ac_cv_lib_attr_setxattr" >&6; }
     36773+if test "x$ac_cv_lib_attr_setxattr" = xyes; then :
     36774+  LIBS="$LIBS -lattr"
     36775+          found_smack="yes"
     36776+          $as_echo "#define HAVE_SMACK 1" >>confdefs.h
     36777+
     36778+fi
     36779+
     36780+fi
     36781+
     36782+if test "x$found_smack" = "x"; then
     36783+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-selinux argument" >&5
     36784 $as_echo_n "checking --disable-selinux argument... " >&6; }
     36785-# Check whether --enable-selinux was given.
     36786+  # Check whether --enable-selinux was given.
     36787 if test "${enable_selinux+set}" = set; then :
     36788   enableval=$enable_selinux;
     36789 else
     36790   enable_selinux="yes"
     36791 fi
     36792 
     36793-if test "$enable_selinux" = "yes"; then
     36794-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     36795+  if test "$enable_selinux" = "yes"; then
     36796+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    3600136797 $as_echo "no" >&6; }
    36002    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
     36798-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
     36799+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for is_selinux_enabled in -lselinux" >&5
    3600336800 $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
    3600436801-if test "${ac_cv_lib_selinux_is_selinux_enabled+set}" = set; then :
     
    3600736804 else
    3600836805   ac_check_lib_save_LIBS=$LIBS
    36009 @@ -4508,7 +4636,7 @@
     36806@@ -4508,15 +4737,16 @@
    3601036807 fi
    3601136808 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
     
    3601436811+if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then :
    3601536812   LIBS="$LIBS -lselinux"
    36016            $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
    36017  
    36018 @@ -4670,7 +4798,7 @@
     36813-          $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
     36814+            $as_echo "#define HAVE_SELINUX 1" >>confdefs.h
     36815 
     36816 fi
     36817 
     36818-else
     36819-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     36820+  else
     36821+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
     36822 $as_echo "yes" >&6; }
     36823+  fi
     36824 fi
     36825 
     36826 
     36827@@ -4670,7 +4900,7 @@
    3601936828 set dummy luajit; ac_word=$2
    3602036829 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3602536834 else
    3602636835   case $vi_cv_path_luajit in
    36027 @@ -4684,7 +4812,7 @@
     36836@@ -4684,7 +4914,7 @@
    3602836837   IFS=$as_save_IFS
    3602936838   test -z "$as_dir" && as_dir=.
     
    3603436843     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3603536844     break 2
    36036 @@ -4709,16 +4837,16 @@
     36845@@ -4709,16 +4939,16 @@
    3603736846       if test "X$vi_cv_path_luajit" != "X"; then
    3603836847                { $as_echo "$as_me:${as_lineno-$LINENO}: checking LuaJIT version" >&5
     
    3605436863 else
    3605536864    vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'`
    36056 @@ -4733,7 +4861,7 @@
     36865@@ -4733,7 +4963,7 @@
    3605736866 set dummy lua; ac_word=$2
    3605836867 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3606336872 else
    3606436873   case $vi_cv_path_plain_lua in
    36065 @@ -4747,7 +4875,7 @@
     36874@@ -4747,7 +4977,7 @@
    3606636875   IFS=$as_save_IFS
    3606736876   test -z "$as_dir" && as_dir=.
     
    3607236881     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3607336882     break 2
    36074 @@ -4772,7 +4900,7 @@
     36883@@ -4772,7 +5002,7 @@
    3607536884       if test "X$vi_cv_path_plain_lua" != "X"; then
    3607636885                { $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5
     
    3608136890 else
    3608236891    vi_cv_version_plain_lua=`${vi_cv_path_plain_lua} -e "print(_VERSION)" | sed 's/.* //'`
    36083 @@ -4932,7 +5060,7 @@
     36892@@ -4932,7 +5162,7 @@
    3608436893     fi
    3608536894   fi
     
    3609036899 
    3609136900 
    36092 @@ -4986,7 +5114,7 @@
     36901@@ -4986,7 +5216,7 @@
    3609336902 set dummy mzscheme; ac_word=$2
    3609436903 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3609936908 else
    3610036909   case $vi_cv_path_mzscheme in
    36101 @@ -5000,7 +5128,7 @@
     36910@@ -5000,7 +5230,7 @@
    3610236911   IFS=$as_save_IFS
    3610336912   test -z "$as_dir" && as_dir=.
     
    3610836917     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3610936918     break 2
    36110 @@ -5033,7 +5161,7 @@
     36919@@ -5033,7 +5263,7 @@
    3611136920        if test "X$vi_cv_path_mzscheme" != "X"; then
    3611236921                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking MzScheme install prefix" >&5
     
    3611736926 else
    3611836927                    echo "(display (simplify-path               \
    36119 @@ -5168,9 +5296,19 @@
     36928@@ -5168,9 +5398,19 @@
    3612036929 $as_echo_n "checking for mzscheme_base.c... " >&6; }
    3612136930     if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
     
    3613736946     fi
    3613836947     if test "X$MZSCHEME_EXTRA" != "X" ; then
    36139 @@ -5185,7 +5323,7 @@
     36948@@ -5185,7 +5425,7 @@
    3614036949 
    3614136950         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ffi_type_void in -lffi" >&5
     
    3614636955 else
    3614736956   ac_check_lib_save_LIBS=$LIBS
    36148 @@ -5219,7 +5357,7 @@
     36957@@ -5219,7 +5459,7 @@
    3614936958 fi
    3615036959 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ffi_ffi_type_void" >&5
     
    3615536964 fi
    3615636965 
    36157 @@ -5295,7 +5433,7 @@
     36966@@ -5295,7 +5535,7 @@
    3615836967 set dummy perl; ac_word=$2
    3615936968 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3616436973 else
    3616536974   case $vi_cv_path_perl in
    36166 @@ -5309,7 +5447,7 @@
     36975@@ -5309,7 +5549,7 @@
    3616736976   IFS=$as_save_IFS
    3616836977   test -z "$as_dir" && as_dir=.
     
    3617336982     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3617436983     break 2
    36175 @@ -5409,7 +5547,7 @@
     36984@@ -5409,7 +5649,7 @@
    3617636985                  PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[^ ]*//'`
    3617736986        fi
     
    3618236991          fi
    3618336992        fi
    36184 @@ -5457,7 +5595,7 @@
     36993@@ -5457,7 +5697,7 @@
    3618536994   fi
    3618636995 
     
    3619137000 fi
    3619237001 
    36193 @@ -5485,7 +5623,7 @@
     37002@@ -5485,7 +5725,7 @@
    3619437003 set dummy $ac_prog; ac_word=$2
    3619537004 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3620037009 else
    3620137010   case $vi_cv_path_python in
    36202 @@ -5499,7 +5637,7 @@
     37011@@ -5499,7 +5739,7 @@
    3620337012   IFS=$as_save_IFS
    3620437013   test -z "$as_dir" && as_dir=.
     
    3620937018     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3621037019     break 2
    36211 @@ -5528,7 +5666,7 @@
     37020@@ -5528,7 +5768,7 @@
    3621237021 
    3621337022         { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
     
    3621837027 else
    3621937028   vi_cv_var_python_version=`
    36220 @@ -5548,7 +5686,7 @@
     37029@@ -5548,7 +5788,7 @@
    3622137030 
    3622237031             { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
     
    3622737036 else
    3622837037    vi_cv_path_python_pfx=`
    36229 @@ -5560,7 +5698,7 @@
     37038@@ -5560,7 +5800,7 @@
    3623037039 
    3623137040             { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
     
    3623637045 else
    3623737046    vi_cv_path_python_epfx=`
    36238 @@ -5571,7 +5709,7 @@
     37047@@ -5571,7 +5811,7 @@
    3623937048 $as_echo "$vi_cv_path_python_epfx" >&6; }
    3624037049 
     
    3624537054 else
    3624637055    vi_cv_path_pythonpath=`
    36247 @@ -5591,7 +5729,7 @@
     37056@@ -5591,7 +5831,7 @@
    3624837057 
    3624937058       { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
     
    3625437063 else
    3625537064 
    36256 @@ -5621,7 +5759,7 @@
     37065@@ -5621,7 +5861,7 @@
    3625737066 $as_echo "can't find it!" >&6; }
    3625837067       else
     
    3626337072 else
    3626437073 
    36265 @@ -5762,7 +5900,7 @@
     37074@@ -5762,7 +6002,7 @@
    3626637075   fi
    3626737076 
     
    3627237081 fi
    3627337082 
    36274 @@ -5792,7 +5930,7 @@
     37083@@ -5792,7 +6032,7 @@
    3627537084 set dummy $ac_prog; ac_word=$2
    3627637085 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3628137090 else
    3628237091   case $vi_cv_path_python3 in
    36283 @@ -5806,7 +5944,7 @@
     37092@@ -5806,7 +6046,7 @@
    3628437093   IFS=$as_save_IFS
    3628537094   test -z "$as_dir" && as_dir=.
     
    3629037099     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3629137100     break 2
    36292 @@ -5835,7 +5973,7 @@
     37101@@ -5835,7 +6075,7 @@
    3629337102 
    3629437103         { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5
     
    3629937108 else
    3630037109   vi_cv_var_python3_version=`
    36301 @@ -5855,7 +5993,7 @@
     37110@@ -5855,7 +6095,7 @@
    3630237111 
    3630337112             { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's abiflags" >&5
     
    3630837117 else
    3630937118 
    36310 @@ -5872,7 +6010,7 @@
     37119@@ -5872,7 +6112,7 @@
    3631137120 
    3631237121             { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
     
    3631737126 else
    3631837127    vi_cv_path_python3_pfx=`
    36319 @@ -5884,7 +6022,7 @@
     37128@@ -5884,7 +6124,7 @@
    3632037129 
    3632137130             { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5
     
    3632637135 else
    3632737136    vi_cv_path_python3_epfx=`
    36328 @@ -5895,7 +6033,7 @@
     37137@@ -5895,7 +6135,7 @@
    3632937138 $as_echo "$vi_cv_path_python3_epfx" >&6; }
    3633037139 
     
    3633537144 else
    3633637145    vi_cv_path_python3path=`
    36337 @@ -5915,7 +6053,7 @@
     37146@@ -5915,7 +6155,7 @@
    3633837147 
    3633937148       { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5
     
    3634437153 else
    3634537154 
    36346 @@ -5946,7 +6084,7 @@
     37155@@ -5946,7 +6186,7 @@
    3634737156 $as_echo "can't find it!" >&6; }
    3634837157       else
     
    3635337162 else
    3635437163 
    36355 @@ -6073,7 +6211,7 @@
     37164@@ -6073,7 +6313,7 @@
    3635637165     fi
    3635737166   fi
     
    3636237171 fi
    3636337172 
    36364 @@ -6097,8 +6235,8 @@
     37173@@ -6097,8 +6337,8 @@
    3636537174   if test "$cross_compiling" = yes; then :
    3636637175   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3637337182   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    3637437183 /* end confdefs.h.  */
    36375 @@ -6162,8 +6300,8 @@
     37184@@ -6162,8 +6402,8 @@
    3637637185   if test "$cross_compiling" = yes; then :
    3637737186   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3638437193   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    3638537194 /* end confdefs.h.  */
    36386 @@ -6337,7 +6475,7 @@
     37195@@ -6337,7 +6577,7 @@
    3638737196 set dummy $tclsh_name; ac_word=$2
    3638837197 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3639337202 else
    3639437203   case $vi_cv_path_tcl in
    36395 @@ -6351,7 +6489,7 @@
     37204@@ -6351,7 +6591,7 @@
    3639637205   IFS=$as_save_IFS
    3639737206   test -z "$as_dir" && as_dir=.
     
    3640237211     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3640337212     break 2
    36404 @@ -6381,7 +6519,7 @@
     37213@@ -6381,7 +6621,7 @@
    3640537214 set dummy $tclsh_name; ac_word=$2
    3640637215 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3641137220 else
    3641237221   case $vi_cv_path_tcl in
    36413 @@ -6395,7 +6533,7 @@
     37222@@ -6395,7 +6635,7 @@
    3641437223   IFS=$as_save_IFS
    3641537224   test -z "$as_dir" && as_dir=.
     
    3642037229     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3642137230     break 2
    36422 @@ -6424,7 +6562,7 @@
     37231@@ -6424,7 +6664,7 @@
    3642337232 set dummy $tclsh_name; ac_word=$2
    3642437233 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3642937238 else
    3643037239   case $vi_cv_path_tcl in
    36431 @@ -6438,7 +6576,7 @@
     37240@@ -6438,7 +6678,7 @@
    3643237241   IFS=$as_save_IFS
    3643337242   test -z "$as_dir" && as_dir=.
     
    3643837247     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3643937248     break 2
    36440 @@ -6467,7 +6605,7 @@
     37249@@ -6467,7 +6707,7 @@
    3644137250 set dummy $tclsh_name; ac_word=$2
    3644237251 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3644737256 else
    3644837257   case $vi_cv_path_tcl in
    36449 @@ -6481,7 +6619,7 @@
     37258@@ -6481,7 +6721,7 @@
    3645037259   IFS=$as_save_IFS
    3645137260   test -z "$as_dir" && as_dir=.
     
    3645637265     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3645737266     break 2
    36458 @@ -6510,7 +6648,7 @@
     37267@@ -6510,7 +6750,7 @@
    3645937268 set dummy $tclsh_name; ac_word=$2
    3646037269 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3646537274 else
    3646637275   case $vi_cv_path_tcl in
    36467 @@ -6524,7 +6662,7 @@
     37276@@ -6524,7 +6764,7 @@
    3646837277   IFS=$as_save_IFS
    3646937278   test -z "$as_dir" && as_dir=.
     
    3647437283     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3647537284     break 2
    36476 @@ -6641,7 +6779,7 @@
     37285@@ -6641,7 +6881,7 @@
    3647737286     fi
    3647837287   fi
     
    3648337292 fi
    3648437293 
    36485 @@ -6679,7 +6817,7 @@
     37294@@ -6679,7 +6919,7 @@
    3648637295 set dummy $RUBY_CMD; ac_word=$2
    3648737296 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3649237301 else
    3649337302   case $vi_cv_path_ruby in
    36494 @@ -6693,7 +6831,7 @@
     37303@@ -6693,7 +6933,7 @@
    3649537304   IFS=$as_save_IFS
    3649637305   test -z "$as_dir" && as_dir=.
     
    3650137310     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3650237311     break 2
    36503 @@ -6736,9 +6874,9 @@
     37312@@ -6736,9 +6976,9 @@
    3650437313        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $rubyhdrdir" >&5
    3650537314 $as_echo "$rubyhdrdir" >&6; }
     
    3651437323         rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['ruby_version'].gsub(/\./, '')[0,2]"`
    3651537324        if test "X$rubyversion" = "X"; then
    36516 @@ -6767,7 +6905,7 @@
     37325@@ -6767,7 +7007,7 @@
    3651737326        if test "X$rubyldflags" != "X"; then
    3651837327                                  rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
     
    3652337332            fi
    3652437333          fi
    36525 @@ -6795,7 +6933,7 @@
     37334@@ -6795,7 +7035,7 @@
    3652637335   fi
    3652737336 
     
    3653237341 fi
    3653337342 
    36534 @@ -6857,7 +6995,7 @@
     37343@@ -6857,7 +7097,7 @@
    3653537344 $as_echo "no" >&6; }
    3653637345     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
     
    3654137350 else
    3654237351   ac_check_lib_save_LIBS=$LIBS
    36543 @@ -6891,7 +7029,7 @@
     37352@@ -6891,7 +7131,7 @@
    3654437353 fi
    3654537354 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
     
    3655037359 #define HAVE_LIBSOCKET 1
    3655137360 _ACEOF
    36552 @@ -6902,7 +7040,7 @@
     37361@@ -6902,7 +7142,7 @@
    3655337362 
    3655437363   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
     
    3655937368 else
    3656037369   ac_check_lib_save_LIBS=$LIBS
    36561 @@ -6936,7 +7074,7 @@
     37370@@ -6936,7 +7176,7 @@
    3656237371 fi
    3656337372 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
     
    3656837377 #define HAVE_LIBNSL 1
    3656937378 _ACEOF
    36570 @@ -7086,7 +7224,7 @@
     37379@@ -7086,7 +7326,7 @@
    3657137380 set dummy xmkmf; ac_word=$2
    3657237381 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3657737386 else
    3657837387   case $xmkmfpath in
    36579 @@ -7100,7 +7238,7 @@
     37388@@ -7100,7 +7340,7 @@
    3658037389   IFS=$as_save_IFS
    3658137390   test -z "$as_dir" && as_dir=.
     
    3658637395     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3658737396     break 2
    36588 @@ -7138,8 +7276,8 @@
     37397@@ -7138,8 +7378,8 @@
    3658937398   have_x=disabled
    3659037399 else
     
    3659737406 else
    3659837407   # One or both of the vars are not set, and there is no cached value.
    36599 @@ -7156,7 +7294,7 @@
     37408@@ -7156,7 +7396,7 @@
    3660037409        @echo libdir='${LIBDIR}'
    3660137410 _ACEOF
     
    3660637415       eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
    3660737416     done
    36608 @@ -7242,7 +7380,7 @@
     37417@@ -7242,7 +7482,7 @@
    3660937418   fi
    3661037419 done
     
    3661537424 
    3661637425 if test "$ac_x_libraries" = no; then
    36617 @@ -7416,7 +7554,7 @@
     37426@@ -7416,7 +7656,7 @@
    3661837427 else
    3661937428   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
     
    3662437433 else
    3662537434   ac_check_lib_save_LIBS=$LIBS
    36626 @@ -7450,14 +7588,14 @@
     37435@@ -7450,14 +7690,14 @@
    3662737436 fi
    3662837437 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
     
    3664137450 else
    3664237451   ac_check_lib_save_LIBS=$LIBS
    36643 @@ -7491,7 +7629,7 @@
     37452@@ -7491,7 +7731,7 @@
    3664437453 fi
    3664537454 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
     
    3665037459 fi
    3665137460 
    36652 @@ -7510,14 +7648,14 @@
     37461@@ -7510,14 +7750,14 @@
    3665337462     # The functions gethostbyname, getservbyname, and inet_addr are
    3665437463     # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
     
    3666737476 else
    3666837477   ac_check_lib_save_LIBS=$LIBS
    36669 @@ -7551,14 +7689,14 @@
     37478@@ -7551,14 +7791,14 @@
    3667037479 fi
    3667137480 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
     
    3668437493 else
    3668537494   ac_check_lib_save_LIBS=$LIBS
    36686 @@ -7592,7 +7730,7 @@
     37495@@ -7592,7 +7832,7 @@
    3668737496 fi
    3668837497 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
     
    3669337502 fi
    3669437503 
    36695 @@ -7607,14 +7745,14 @@
     37504@@ -7607,14 +7847,14 @@
    3669637505     # must be given before -lnsl if both are needed.  We assume that
    3669737506     # if connect needs -lnsl, so does gethostbyname.
     
    3671037519 else
    3671137520   ac_check_lib_save_LIBS=$LIBS
    36712 @@ -7648,7 +7786,7 @@
     37521@@ -7648,7 +7888,7 @@
    3671337522 fi
    3671437523 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
     
    3671937528 fi
    3672037529 
    36721 @@ -7656,14 +7794,14 @@
     37530@@ -7656,14 +7896,14 @@
    3672237531 
    3672337532     # Guillermo Gomez says -lposix is necessary on A/UX.
     
    3673637545 else
    3673737546   ac_check_lib_save_LIBS=$LIBS
    36738 @@ -7697,7 +7835,7 @@
     37547@@ -7697,7 +7937,7 @@
    3673937548 fi
    3674037549 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
     
    3674537554 fi
    3674637555 
    36747 @@ -7705,14 +7843,14 @@
     37556@@ -7705,14 +7945,14 @@
    3674837557 
    3674937558     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     
    3676237571 else
    3676337572   ac_check_lib_save_LIBS=$LIBS
    36764 @@ -7746,7 +7884,7 @@
     37573@@ -7746,7 +7986,7 @@
    3676537574 fi
    3676637575 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
     
    3677137580 fi
    3677237581 
    36773 @@ -7764,7 +7902,7 @@
     37582@@ -7764,7 +8004,7 @@
    3677437583   # John Interrante, Karl Berry
    3677537584   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
     
    3678037589 else
    3678137590   ac_check_lib_save_LIBS=$LIBS
    36782 @@ -7798,7 +7936,7 @@
     37591@@ -7798,7 +8038,7 @@
    3678337592 fi
    3678437593 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
     
    3678937598 fi
    3679037599 
    36791 @@ -7876,7 +8014,7 @@
     37600@@ -7876,7 +8116,7 @@
    3679237601 
    3679337602             { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _XdmcpAuthDoIt in -lXdmcp" >&5
     
    3679837607 else
    3679937608   ac_check_lib_save_LIBS=$LIBS
    36800 @@ -7910,14 +8048,14 @@
     37609@@ -7910,14 +8150,14 @@
    3680137610 fi
    3680237611 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5
     
    3681537624 else
    3681637625   ac_check_lib_save_LIBS=$LIBS
    36817 @@ -7951,7 +8089,7 @@
     37626@@ -7951,7 +8191,7 @@
    3681837627 fi
    3681937628 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceOpenConnection" >&5
     
    3682437633 fi
    3682537634 
    36826 @@ -7959,7 +8097,7 @@
     37635@@ -7959,7 +8199,7 @@
    3682737636         LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
    3682837637     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpmCreatePixmapFromData in -lXpm" >&5
     
    3683337642 else
    3683437643   ac_check_lib_save_LIBS=$LIBS
    36835 @@ -7993,7 +8131,7 @@
     37644@@ -7993,7 +8233,7 @@
    3683637645 fi
    3683737646 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5
     
    3684237651 fi
    3684337652 
    36844 @@ -8051,11 +8189,11 @@
     37653@@ -8051,11 +8291,11 @@
    3684537654 
    3684637655     { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of wchar_t is 2 bytes" >&5
     
    3685637665   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    3685737666 /* end confdefs.h.  */
    36858 @@ -8354,7 +8492,7 @@
     37667@@ -8354,7 +8594,7 @@
    3685937668 set dummy pkg-config; ac_word=$2
    3686037669 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3686537674 else
    3686637675   case $PKG_CONFIG in
    36867 @@ -8368,7 +8506,7 @@
     37676@@ -8368,7 +8608,7 @@
    3686837677   IFS=$as_save_IFS
    3686937678   test -z "$as_dir" && as_dir=.
     
    3687437683     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3687537684     break 2
    36876 @@ -8593,7 +8731,7 @@
     37685@@ -8593,7 +8833,7 @@
    3687737686       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
    3687837687 $as_echo "not found" >&6; }
     
    3688337692     fi
    3688437693   }
    36885 @@ -8786,7 +8924,7 @@
     37694@@ -8786,7 +9026,7 @@
    3688637695   LDFLAGS="$X_LIBS $LDFLAGS"
    3688737696   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XShapeQueryExtension in -lXext" >&5
     
    3689237701 else
    3689337702   ac_check_lib_save_LIBS=$LIBS
    36894 @@ -8820,13 +8958,13 @@
     37703@@ -8820,13 +9060,13 @@
    3689537704 fi
    3689637705 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5
     
    3690837717 else
    3690937718   ac_check_lib_save_LIBS=$LIBS
    36910 @@ -8860,13 +8998,13 @@
     37719@@ -8860,13 +9100,13 @@
    3691137720 fi
    3691237721 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_w_wslen" >&5
     
    3692437733 else
    3692537734   ac_check_lib_save_LIBS=$LIBS
    36926 @@ -8900,13 +9038,13 @@
     37735@@ -8900,13 +9140,13 @@
    3692737736 fi
    3692837737 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
     
    3694037749 else
    3694137750   ac_check_lib_save_LIBS=$LIBS
    36942 @@ -8940,14 +9078,14 @@
     37751@@ -8940,14 +9180,14 @@
    3694337752 fi
    3694437753 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5
     
    3695737766 else
    3695837767   ac_check_lib_save_LIBS=$LIBS
    36959 @@ -8981,7 +9119,7 @@
     37768@@ -8981,7 +9221,7 @@
    3696037769 fi
    3696137770 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xp_XpEndJob" >&5
     
    3696637775 fi
    3696737776 
    36968 @@ -9020,7 +9158,7 @@
     37777@@ -9020,7 +9260,7 @@
    3696937778   for ac_header in X11/SM/SMlib.h
    3697037779 do :
     
    3697537784 #define HAVE_X11_SM_SMLIB_H 1
    3697637785 _ACEOF
    36977 @@ -9040,8 +9178,7 @@
     37786@@ -9040,8 +9280,7 @@
    3697837787 do :
    3697937788   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
     
    3698537794 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    3698637795 _ACEOF
    36987 @@ -9123,8 +9260,7 @@
     37796@@ -9064,7 +9303,7 @@
     37797 $as_echo "yes" >&6; }
     37798 else
     37799   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; xim has been disabled" >&5
     37800-$as_echo "no; xim has been disabled" >&6; }; enable_xim = "no"
     37801+$as_echo "no; xim has been disabled" >&6; }; enable_xim="no"
     37802 fi
     37803 rm -f conftest*
     37804 
     37805@@ -9123,8 +9362,7 @@
    3698837806 do :
    3698937807   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
     
    3699537813 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    3699637814 _ACEOF
    36997 @@ -9192,7 +9328,7 @@
     37815@@ -9192,7 +9430,7 @@
    3699837816 
    3699937817 
     
    3700437822 
    3700537823 if test "$enable_xim" = "yes"; then
    37006 @@ -9246,13 +9382,13 @@
     37824@@ -9246,13 +9484,13 @@
    3700737825 
    3700837826 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether toupper is broken" >&5
     
    3702037838 else
    3702137839   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37022 @@ -9336,7 +9472,7 @@
     37840@@ -9336,7 +9574,7 @@
    3702337841 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    3702437842 
     
    3702937847 fi
    3703037848 
    37031 @@ -9344,7 +9480,7 @@
     37849@@ -9344,7 +9582,7 @@
    3703237850 if test "$HAS_ELF" = 1; then
    3703337851   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lelf" >&5
     
    3703837856 else
    3703937857   ac_check_lib_save_LIBS=$LIBS
    37040 @@ -9372,7 +9508,7 @@
     37858@@ -9372,7 +9610,7 @@
    3704137859 fi
    3704237860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_main" >&5
     
    3704737865 #define HAVE_LIBELF 1
    3704837866 _ACEOF
    37049 @@ -9388,7 +9524,7 @@
     37867@@ -9388,7 +9626,7 @@
    3705037868   as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
    3705137869 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
     
    3705637874 else
    3705737875   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37058 @@ -9415,8 +9551,7 @@
     37876@@ -9415,8 +9653,7 @@
    3705937877 eval ac_res=\$$as_ac_Header
    3706037878               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     
    3706637884 #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
    3706737885 _ACEOF
    37068 @@ -9429,7 +9564,7 @@
     37886@@ -9429,7 +9666,7 @@
    3706937887 if test $ac_header_dirent = dirent.h; then
    3707037888   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
     
    3707537893 else
    3707637894   ac_func_search_save_LIBS=$LIBS
    37077 @@ -9463,11 +9598,11 @@
     37895@@ -9463,11 +9700,11 @@
    3707837896 fi
    3707937897 rm -f core conftest.err conftest.$ac_objext \
     
    3708937907 else
    3709037908   ac_cv_search_opendir=no
    37091 @@ -9486,7 +9621,7 @@
     37909@@ -9486,7 +9723,7 @@
    3709237910 else
    3709337911   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
     
    3709837916 else
    3709937917   ac_func_search_save_LIBS=$LIBS
    37100 @@ -9520,11 +9655,11 @@
     37918@@ -9520,11 +9757,11 @@
    3710137919 fi
    3710237920 rm -f core conftest.err conftest.$ac_objext \
     
    3711237930 else
    3711337931   ac_cv_search_opendir=no
    37114 @@ -9584,8 +9719,7 @@
     37932@@ -9584,8 +9821,7 @@
    3711537933 do :
    3711637934   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
     
    3712237940 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
    3712337941 _ACEOF
    37124 @@ -9601,7 +9735,7 @@
     37942@@ -9601,7 +9837,7 @@
    3712537943 #  include <sys/stream.h>
    3712637944 #endif
     
    3713137949 #define HAVE_SYS_PTEM_H 1
    3713237950 _ACEOF
    37133 @@ -9617,7 +9751,7 @@
     37951@@ -9617,7 +9853,7 @@
    3713437952 #  include <sys/param.h>
    3713537953 #endif
     
    3714037958 #define HAVE_SYS_SYSCTL_H 1
    3714137959 _ACEOF
    37142 @@ -9657,7 +9791,7 @@
     37960@@ -9657,7 +9893,7 @@
    3714337961 for ac_header in strings.h
    3714437962 do :
     
    3714937967 #define HAVE_STRINGS_H 1
    3715037968 _ACEOF
    37151 @@ -9716,7 +9850,7 @@
     37969@@ -9716,7 +9952,7 @@
    3715237970 if test $ac_cv_c_compiler_gnu = yes; then
    3715337971     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5
     
    3715837976 else
    3715937977     ac_pattern="Autoconf.*'x'"
    37160 @@ -9757,7 +9891,7 @@
     37978@@ -9757,7 +9993,7 @@
    3716137979 
    3716237980 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
     
    3716737985 else
    3716837986   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37169 @@ -9766,11 +9900,11 @@
     37987@@ -9766,11 +10002,11 @@
    3717037988 int
    3717137989 main ()
     
    3718238000   char const *const *pcpcc;
    3718338001   char **ppc;
    37184 @@ -9787,8 +9921,9 @@
     38002@@ -9787,8 +10023,9 @@
    3718538003   ++pcpcc;
    3718638004   ppc = (char**) pcpcc;
     
    3719438012 
    3719538013     *t++ = 0;
    37196 @@ -9804,10 +9939,10 @@
     38014@@ -9804,10 +10041,10 @@
    3719738015     iptr p = 0;
    3719838016     ++p;
     
    3720838026   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
    3720938027     const int foo = 10;
    37210 @@ -9837,7 +9972,7 @@
     38028@@ -9837,7 +10074,7 @@
    3721138029 
    3721238030 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5
     
    3721738035 else
    3721838036   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37219 @@ -9870,7 +10005,7 @@
     38037@@ -9870,7 +10107,7 @@
    3722038038 fi
    3722138039 
     
    3722638044 else
    3722738045 
    37228 @@ -9881,7 +10016,7 @@
     38046@@ -9881,7 +10118,7 @@
    3722938047 fi
    3723038048 
     
    3723538053 else
    3723638054 
    37237 @@ -9892,7 +10027,7 @@
     38055@@ -9892,7 +10129,7 @@
    3723838056 fi
    3723938057 
     
    3724438062 else
    3724538063 
    37246 @@ -9903,7 +10038,7 @@
     38064@@ -9903,7 +10140,7 @@
    3724738065 fi
    3724838066 
     
    3725338071 else
    3725438072 
    37255 @@ -9915,7 +10050,7 @@
     38073@@ -9915,7 +10152,7 @@
    3725638074 
    3725738075 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
     
    3726238080 else
    3726338081   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37264 @@ -9960,7 +10095,7 @@
     38082@@ -9960,7 +10197,7 @@
    3726538083 
    3726638084 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
     
    3727138089 else
    3727238090   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37273 @@ -9994,7 +10129,7 @@
     38091@@ -9994,7 +10231,7 @@
    3727438092 fi
    3727538093 
     
    3728038098 else
    3728138099 
    37282 @@ -10005,7 +10140,7 @@
     38100@@ -10005,7 +10242,7 @@
    3728338101 fi
    3728438102 
     
    3728938107 else
    3729038108 
    37291 @@ -10017,7 +10152,7 @@
     38109@@ -10017,7 +10254,7 @@
    3729238110 
    3729338111  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
     
    3729838116 else
    3729938117   ac_cv_c_bigendian=unknown
    37300 @@ -10235,7 +10370,7 @@
     38118@@ -10235,7 +10472,7 @@
    3730138119 
    3730238120      ;; #(
     
    3730738125  esac
    3730838126 
    37309 @@ -10371,7 +10506,7 @@
     38127@@ -10371,7 +10608,7 @@
    3731038128   { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5
    3731138129 $as_echo "OK" >&6; }
     
    3731638134 rm -f core conftest.err conftest.$ac_objext \
    3731738135     conftest$ac_exeext conftest.$ac_ext
    37318 @@ -10387,7 +10522,7 @@
     38136@@ -10387,7 +10624,7 @@
    3731938137     as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
    3732038138 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l${libname}" >&5
     
    3732538143 else
    3732638144   ac_check_lib_save_LIBS=$LIBS
    37327 @@ -10422,8 +10557,7 @@
     38145@@ -10422,8 +10659,7 @@
    3732838146 eval ac_res=\$$as_ac_Lib
    3732938147               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     
    3733538153 #define `$as_echo "HAVE_LIB${libname}" | $as_tr_cpp` 1
    3733638154 _ACEOF
    37337 @@ -10489,7 +10623,7 @@
     38155@@ -10489,7 +10725,7 @@
    3733838156   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
    3733938157 $as_echo "yes" >&6; }
     
    3734438162       Or specify the name of the library with --with-tlib." "$LINENO" 5
    3734538163 fi
    37346 @@ -10499,13 +10633,13 @@
     38164@@ -10499,13 +10735,13 @@
    3734738165 
    3734838166 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we talk terminfo" >&5
     
    3736038178 else
    3736138179   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37362 @@ -10552,13 +10686,13 @@
     38180@@ -10552,13 +10788,13 @@
    3736338181 if test "x$olibs" != "x$LIBS"; then
    3736438182   { $as_echo "$as_me:${as_lineno-$LINENO}: checking what tgetent() returns for an unknown terminal" >&5
     
    3737638194 else
    3737738195   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37378 @@ -10853,13 +10987,13 @@
     38196@@ -10853,13 +11089,13 @@
    3737938197 rm -f conftest_grp
    3738038198 { $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group" >&5
     
    3739238210 else
    3739338211   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37394 @@ -10940,7 +11074,7 @@
     38212@@ -10940,7 +11176,7 @@
    3739538213 _ACEOF
    3739638214 
     
    3740138219     $as_echo "#define PTYMODE 0620" >>confdefs.h
    3740238220 
    37403 @@ -10950,7 +11084,7 @@
     38221@@ -10950,7 +11186,7 @@
    3740438222 
    3740538223 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
     
    3741038228 else
    3741138229   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37412 @@ -11023,13 +11157,13 @@
     38230@@ -11023,13 +11259,13 @@
    3741338231 
    3741438232 { $as_echo "$as_me:${as_lineno-$LINENO}: checking getcwd implementation is broken" >&5
     
    3742638244 else
    3742738245   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37428 @@ -11082,8 +11216,7 @@
     38246@@ -11082,8 +11318,7 @@
    3742938247 do :
    3743038248   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
     
    3743638254 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
    3743738255 _ACEOF
    37438 @@ -11093,7 +11226,7 @@
     38256@@ -11093,7 +11328,7 @@
    3743938257 
    3744038258 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
     
    3744538263 else
    3744638264   while :; do
    37447 @@ -11169,7 +11302,7 @@
     38265@@ -11169,7 +11404,7 @@
    3744838266 
    3744938267   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
     
    3745438272 else
    3745538273   ac_cv_sys_largefile_CC=no
    37456 @@ -11220,7 +11353,7 @@
     38274@@ -11220,7 +11455,7 @@
    3745738275 
    3745838276   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
     
    3746338281 else
    3746438282   while :; do
    37465 @@ -11289,7 +11422,7 @@
     38283@@ -11289,7 +11524,7 @@
    3746638284   if test $ac_cv_sys_file_offset_bits = unknown; then
    3746738285     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
     
    3747238290 else
    3747338291   while :; do
    37474 @@ -11356,6 +11489,8 @@
     38292@@ -11356,6 +11591,8 @@
    3747538293 esac
    3747638294 rm -rf conftest*
     
    3748138299 
    3748238300 
    37483 @@ -11389,13 +11524,13 @@
     38301@@ -11389,13 +11626,13 @@
    3748438302 
    3748538303 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat() ignores a trailing slash" >&5
     
    3749738315 else
    3749838316   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37499 @@ -11519,7 +11654,7 @@
     38317@@ -11519,7 +11756,7 @@
    3750038318 
    3750138319 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtod in -lm" >&5
     
    3750638324 else
    3750738325   ac_check_lib_save_LIBS=$LIBS
    37508 @@ -11553,7 +11688,7 @@
     38326@@ -11553,7 +11790,7 @@
    3750938327 fi
    3751038328 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_strtod" >&5
     
    3751538333 #define HAVE_LIBM 1
    3751638334 _ACEOF
    37517 @@ -11619,7 +11754,7 @@
     38335@@ -11619,7 +11856,7 @@
    3751838336 $as_echo "no" >&6; }
    3751938337 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get_file in -lposix1e" >&5
     
    3752438342 else
    3752538343   ac_check_lib_save_LIBS=$LIBS
    37526 @@ -11653,12 +11788,12 @@
     38344@@ -11653,12 +11890,12 @@
    3752738345 fi
    3752838346 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix1e_acl_get_file" >&5
     
    3753938357 else
    3754038358   ac_check_lib_save_LIBS=$LIBS
    37541 @@ -11692,11 +11827,11 @@
     38359@@ -11692,11 +11929,11 @@
    3754238360 fi
    3754338361 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_acl_acl_get_file" >&5
     
    3755338371 else
    3755438372   ac_check_lib_save_LIBS=$LIBS
    37555 @@ -11730,7 +11865,7 @@
     38373@@ -11730,7 +11967,7 @@
    3755638374 fi
    3755738375 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5
     
    3756238380 fi
    3756338381 
    37564 @@ -11772,7 +11907,7 @@
     38382@@ -11772,7 +12009,7 @@
    3756538383 
    3756638384 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get in -lsec" >&5
     
    3757138389 else
    3757238390   ac_check_lib_save_LIBS=$LIBS
    37573 @@ -11806,7 +11941,7 @@
     38391@@ -11806,7 +12043,7 @@
    3757438392 fi
    3757538393 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sec_acl_get" >&5
     
    3758038398 
    3758138399 else
    37582 @@ -11902,7 +12037,7 @@
     38400@@ -11902,7 +12139,7 @@
    3758338401 $as_echo "no" >&6; }
    3758438402     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gpm" >&5
     
    3758938407 else
    3759038408   olibs="$LIBS" ; LIBS="-lgpm"
    37591 @@ -11955,7 +12090,7 @@
     38409@@ -11955,7 +12192,7 @@
    3759238410 $as_echo "no" >&6; }
    3759338411         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysmouse" >&5
     
    3759838416 else
    3759938417   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37600 @@ -12161,7 +12296,7 @@
     38418@@ -12161,7 +12398,7 @@
    3760138419 # This bug is HP SR number 8606223364.
    3760238420 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
     
    3760738425 else
    3760838426   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
    37609 @@ -12170,9 +12305,8 @@
     38427@@ -12170,9 +12407,8 @@
    3761038428   if test "$ac_cv_type_int" = yes; then
    3761138429      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3761938437      ac_cv_sizeof_int=0
    3762038438    fi
    37621 @@ -12195,7 +12329,7 @@
     38439@@ -12195,7 +12431,7 @@
    3762238440 # This bug is HP SR number 8606223364.
    3762338441 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
     
    3762838446 else
    3762938447   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
    37630 @@ -12204,9 +12338,8 @@
     38448@@ -12204,9 +12440,8 @@
    3763138449   if test "$ac_cv_type_long" = yes; then
    3763238450      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3764038458      ac_cv_sizeof_long=0
    3764138459    fi
    37642 @@ -12229,7 +12362,7 @@
     38460@@ -12229,7 +12464,7 @@
    3764338461 # This bug is HP SR number 8606223364.
    3764438462 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
     
    3764938467 else
    3765038468   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t"        "$ac_includes_default"; then :
    37651 @@ -12238,9 +12371,8 @@
     38469@@ -12238,9 +12473,8 @@
    3765238470   if test "$ac_cv_type_time_t" = yes; then
    3765338471      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3766138479      ac_cv_sizeof_time_t=0
    3766238480    fi
    37663 @@ -12263,7 +12395,7 @@
     38481@@ -12263,7 +12497,7 @@
    3766438482 # This bug is HP SR number 8606223364.
    3766538483 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
     
    3767038488 else
    3767138489   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t"        "$ac_includes_default"; then :
    37672 @@ -12272,9 +12404,8 @@
     38490@@ -12272,9 +12506,8 @@
    3767338491   if test "$ac_cv_type_off_t" = yes; then
    3767438492      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     
    3768238500      ac_cv_sizeof_off_t=0
    3768338501    fi
    37684 @@ -12292,6 +12423,15 @@
     38502@@ -12292,6 +12525,15 @@
    3768538503 
    3768638504 
     
    3769838516 $as_echo_n "checking uint32_t is 32 bits... " >&6; }
    3769938517 if test "$cross_compiling" = yes; then :
    37700 @@ -12318,7 +12458,7 @@
     38518@@ -12318,7 +12560,7 @@
    3770138519   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
    3770238520 $as_echo "ok" >&6; }
     
    3770738525 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
    3770838526   conftest.$ac_objext conftest.beam conftest.$ac_ext
    37709 @@ -12350,13 +12490,13 @@
     38527@@ -12350,13 +12592,13 @@
    3771038528 
    3771138529 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmove handles overlaps" >&5
     
    3772338541 else
    3772438542   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37725 @@ -12387,13 +12527,13 @@
     38543@@ -12387,13 +12629,13 @@
    3772638544 else
    3772738545   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bcopy handles overlaps" >&5
     
    3773938557 else
    3774038558   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37741 @@ -12424,13 +12564,13 @@
     38559@@ -12424,13 +12666,13 @@
    3774238560   else
    3774338561     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memcpy handles overlaps" >&5
     
    3775538573 else
    3775638574   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    37757 @@ -12525,7 +12665,7 @@
     38575@@ -12525,7 +12767,7 @@
    3775838576 
    3775938577 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _xpg4_setrunelocale in -lxpg4" >&5
     
    3776438582 else
    3776538583   ac_check_lib_save_LIBS=$LIBS
    37766 @@ -12559,7 +12699,7 @@
     38584@@ -12559,7 +12801,7 @@
    3776738585 fi
    3776838586 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5
     
    3777338591 fi
    3777438592 
    37775 @@ -12621,7 +12761,7 @@
     38593@@ -12621,7 +12863,7 @@
    3777638594 set dummy msgfmt; ac_word=$2
    3777738595 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    3778238600 else
    3778338601   if test -n "$MSGFMT"; then
    37784 @@ -12633,7 +12773,7 @@
     38602@@ -12633,7 +12875,7 @@
    3778538603   IFS=$as_save_IFS
    3778638604   test -z "$as_dir" && as_dir=.
     
    3779138609     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    3779238610     break 2
    37793 @@ -12659,6 +12799,8 @@
     38611@@ -12659,6 +12901,8 @@
    3779438612   if test -f po/Makefile; then
    3779538613     have_gettext="no"
     
    3780038618 /* end confdefs.h.  */
    3780138619 #include <libintl.h>
    37802 @@ -12672,10 +12814,9 @@
     38620@@ -12672,10 +12916,9 @@
    3780338621 _ACEOF
    3780438622 if ac_fn_c_try_link "$LINENO"; then :
     
    3781338631 /* end confdefs.h.  */
    3781438632 #include <libintl.h>
    37815 @@ -12689,7 +12830,8 @@
     38633@@ -12689,7 +12932,8 @@
    3781638634 _ACEOF
    3781738635 if ac_fn_c_try_link "$LINENO"; then :
     
    3782338641   { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5
    3782438642 $as_echo "gettext() doesn't work" >&6; };
    37825 @@ -12712,7 +12854,7 @@
     38643@@ -12712,7 +12956,7 @@
    3782638644             for ac_func in bind_textdomain_codeset
    3782738645 do :
     
    3783238650 #define HAVE_BIND_TEXTDOMAIN_CODESET 1
    3783338651 _ACEOF
    37834 @@ -12755,11 +12897,11 @@
     38652@@ -12755,11 +12999,11 @@
    3783538653 fi
    3783638654 
     
    3784638664 fi
    3784738665 
    37848 @@ -12956,7 +13098,7 @@
     38666@@ -12956,7 +13200,7 @@
    3784938667 for ac_header in setjmp.h
    3785038668 do :
     
    3785538673 #define HAVE_SETJMP_H 1
    3785638674 _ACEOF
    37857 @@ -13107,10 +13249,21 @@
     38675@@ -13107,10 +13351,21 @@
    3785838676      :end' >>confcache
    3785938677 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
     
    3787938697     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
    3788038698 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
    37881 @@ -13126,6 +13279,7 @@
     38699@@ -13126,6 +13381,7 @@
    3788238700 
    3788338701 ac_libobjs=
     
    3788738705   # 1. Remove the extension, and $U if already installed.
    3788838706   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
    37889 @@ -13142,7 +13296,7 @@
     38707@@ -13142,7 +13398,7 @@
    3789038708 
    3789138709 
     
    3789638714 ac_clean_files_save=$ac_clean_files
    3789738715 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
    37898 @@ -13243,6 +13397,7 @@
     38716@@ -13243,6 +13499,7 @@
    3789938717 IFS=" ""       $as_nl"
    3790038718 
     
    3790438722   *[\\/]* ) as_myself=$0 ;;
    3790538723   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    37906 @@ -13288,19 +13443,19 @@
     38724@@ -13288,19 +13545,19 @@
    3790738725 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
    3790838726 
     
    3793238750 } # as_fn_error
    3793338751 
    37934 @@ -13438,16 +13593,16 @@
     38752@@ -13438,16 +13695,16 @@
    3793538753     # ... but there are two gotchas:
    3793638754     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     
    3795338771 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
    3795438772 rmdir conf$$.dir 2>/dev/null
    37955 @@ -13496,7 +13651,7 @@
     38773@@ -13496,7 +13753,7 @@
    3795638774       test -d "$as_dir" && break
    3795738775     done
     
    3796238780 
    3796338781 } # as_fn_mkdir_p
    37964 @@ -13507,28 +13662,16 @@
     38782@@ -13507,28 +13764,16 @@
    3796538783   as_mkdir_p=false
    3796638784 fi
     
    3800138819 # Sed expression to map a string onto a valid CPP name.
    3800238820 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
    38003 @@ -13550,7 +13693,7 @@
     38821@@ -13550,7 +13795,7 @@
    3800438822 # values after options handling.
    3800538823 ac_log="
     
    3801038828   CONFIG_FILES    = $CONFIG_FILES
    3801138829   CONFIG_HEADERS  = $CONFIG_HEADERS
    38012 @@ -13612,10 +13755,10 @@
     38830@@ -13612,10 +13857,10 @@
    3801338831 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
    3801438832 ac_cs_version="\\
     
    3802338841 gives unlimited permission to copy, distribute and modify it."
    3802438842 
    38025 @@ -13631,11 +13774,16 @@
     38843@@ -13631,11 +13876,16 @@
    3802638844 while test $# != 0
    3802738845 do
     
    3804138859     ac_option=$1
    3804238860     ac_optarg=$2
    38043 @@ -13657,6 +13805,7 @@
     38861@@ -13657,6 +13907,7 @@
    3804438862     $ac_shift
    3804538863     case $ac_optarg in
     
    3804938867     as_fn_append CONFIG_FILES " '$ac_optarg'"
    3805038868     ac_need_defaults=false;;
    38051 @@ -13669,7 +13818,7 @@
     38869@@ -13669,7 +13920,7 @@
    3805238870     ac_need_defaults=false;;
    3805338871   --he | --h)
     
    3805838876   --help | --hel | -h )
    3805938877     $as_echo "$ac_cs_usage"; exit ;;
    38060 @@ -13678,7 +13827,7 @@
     38878@@ -13678,7 +13929,7 @@
    3806138879     ac_cs_silent=: ;;
    3806238880 
     
    3806738885 
    3806838886   *) as_fn_append ac_config_targets " $1"
    38069 @@ -13698,7 +13847,7 @@
     38887@@ -13698,7 +13949,7 @@
    3807038888 _ACEOF
    3807138889 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
     
    3807638894   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
    3807738895   CONFIG_SHELL='$SHELL'
    38078 @@ -13730,7 +13879,7 @@
     38896@@ -13730,7 +13981,7 @@
    3807938897     "auto/config.h") CONFIG_HEADERS="$CONFIG_HEADERS auto/config.h:config.h.in" ;;
    3808038898     "auto/config.mk") CONFIG_FILES="$CONFIG_FILES auto/config.mk:config.mk.in" ;;
     
    3808538903 done
    3808638904 
    38087 @@ -13752,9 +13901,10 @@
     38905@@ -13752,9 +14003,10 @@
    3808838906 # after its creation but before its name has been assigned to `$tmp'.
    3808938907 $debug ||
     
    3809838916   trap 'as_fn_exit 1' 1 2 13 15
    3809938917 }
    38100 @@ -13762,12 +13912,13 @@
     38918@@ -13762,12 +14014,13 @@
    3810138919 
    3810238920 {
     
    3811438932 # Set up the scripts for CONFIG_FILES section.
    3811538933 # No need to generate them if there are no CONFIG_FILES.
    38116 @@ -13784,12 +13935,12 @@
     38934@@ -13784,12 +14037,12 @@
    3811738935 fi
    3811838936 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
     
    3812938947 
    3813038948 
    38131 @@ -13798,18 +13949,18 @@
     38949@@ -13798,18 +14051,18 @@
    3813238950   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
    3813338951   echo "_ACEOF"
     
    3815238970     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
    3815338971   fi
    38154 @@ -13817,7 +13968,7 @@
     38972@@ -13817,7 +14070,7 @@
    3815538973 rm -f conf$$subs.sh
    3815638974 
     
    3816138979 sed -n '
    3816238980 h
    38163 @@ -13865,7 +14016,7 @@
     38981@@ -13865,7 +14118,7 @@
    3816438982 rm -f conf$$subs.awk
    3816538983 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
     
    3817038988   FS = ""
    3817138989 
    38172 @@ -13897,21 +14048,29 @@
     38990@@ -13897,21 +14150,29 @@
    3817338991   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
    3817438992 else
     
    3820939027 }'
    3821039028 fi
    38211 @@ -13923,7 +14082,7 @@
     39029@@ -13923,7 +14184,7 @@
    3821239030 # No need to generate them if there are no CONFIG_HEADERS.
    3821339031 # This happens for instance with `./config.status Makefile'.
     
    3821839036 _ACEOF
    3821939037 
    38220 @@ -13935,11 +14094,11 @@
     39038@@ -13935,11 +14196,11 @@
    3822139039 # handling of long lines.
    3822239040 ac_delim='%!_!# '
     
    3823339051     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
    3823439052   fi
    38235 @@ -14024,7 +14183,7 @@
     39053@@ -14024,7 +14285,7 @@
    3823639054 _ACAWK
    3823739055 _ACEOF
     
    3824239060 
    3824339061 
    38244 @@ -14037,7 +14196,7 @@
     39062@@ -14037,7 +14298,7 @@
    3824539063   esac
    3824639064   case $ac_mode$ac_tag in
     
    3825139069   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
    3825239070   esac
    38253 @@ -14056,7 +14215,7 @@
     39071@@ -14056,7 +14317,7 @@
    3825439072     for ac_f
    3825539073     do
     
    3826039078         # (if the path is not absolute).  The absolute path cannot be DOS-style,
    3826139079         # because $ac_f cannot contain `:'.
    38262 @@ -14065,7 +14224,7 @@
     39080@@ -14065,7 +14326,7 @@
    3826339081           [\\/$]*) false;;
    3826439082           *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
     
    3826939087       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
    3827039088       as_fn_append ac_file_inputs " '$ac_f'"
    38271 @@ -14091,8 +14250,8 @@
     39089@@ -14091,8 +14352,8 @@
    3827239090     esac
    3827339091 
     
    3828039098     ;;
    3828139099   esac
    38282 @@ -14217,23 +14376,24 @@
     39100@@ -14217,23 +14478,24 @@
    3828339101 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
    3828439102 $ac_datarootdir_hack
     
    3831539133   :H)
    3831639134   #
    38317 @@ -14242,21 +14402,21 @@
     39135@@ -14242,21 +14504,21 @@
    3831839136   if test x"$ac_file" != x-; then
    3831939137     {
     
    3834539163  ;;
    3834639164 
    38347 @@ -14271,7 +14431,7 @@
     39165@@ -14271,7 +14533,7 @@
    3834839166 ac_clean_files=$ac_clean_files_save
    3834939167 
     
    3835439172 
    3835539173 # configure is writing to config.log, and then calls config.status.
    38356 @@ -14292,7 +14452,7 @@
     39174@@ -14292,7 +14554,7 @@
    3835739175   exec 5>>auto/config.log
    3835839176   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
     
    3836539183diff -Naur vim74.orig/src/blowfish.c vim74/src/blowfish.c
    3836639184--- vim74.orig/src/blowfish.c   2010-12-17 18:58:18.000000000 +0000
    38367 +++ vim74/src/blowfish.c        2014-03-30 20:09:04.469387642 +0000
     39185+++ vim74/src/blowfish.c        2014-04-27 05:20:58.115101918 +0000
    3836839186@@ -6,7 +6,7 @@
    3836939187  * Do ":help credits" in Vim to see a list of people who contributed.
     
    3849339311diff -Naur vim74.orig/src/buffer.c vim74/src/buffer.c
    3849439312--- vim74.orig/src/buffer.c     2013-07-17 14:39:00.000000000 +0000
    38495 +++ vim74/src/buffer.c  2014-03-30 20:09:04.469387642 +0000
     39313+++ vim74/src/buffer.c  2014-04-27 05:20:58.115101918 +0000
    3849639314@@ -211,7 +211,12 @@
    3849739315 
     
    3850739325     /*
    3850839326      * Set/reset the Changed flag first, autocmds may change the buffer.
    38509 @@ -989,6 +994,50 @@
     39327@@ -671,8 +676,16 @@
     39328 #endif
     39329 #ifdef FEAT_AUTOCMD
     39330     aubuflocal_remove(buf);
     39331+    if (autocmd_busy)
     39332+    {
     39333+       /* Do not free the buffer structure while autocommands are executing,
     39334+        * it's still needed. Free it when autocmd_busy is reset. */
     39335+       buf->b_next = au_pending_free_buf;
     39336+       au_pending_free_buf = buf;
     39337+    }
     39338+    else
     39339 #endif
     39340-    vim_free(buf);
     39341+       vim_free(buf);
     39342 }
     39343 
     39344 /*
     39345@@ -989,6 +1002,50 @@
    3851039346 #if defined(FEAT_LISTCMDS) || defined(FEAT_PYTHON) \
    3851139347        || defined(FEAT_PYTHON3) || defined(PROTO)
     
    3855839394  * Implementation of the commands for the buffer list.
    3855939395  *
    38560 @@ -1109,7 +1158,6 @@
     39396@@ -1109,7 +1166,6 @@
    3856139397     if (unload)
    3856239398     {
     
    3856639402        /* When unloading or deleting a buffer that's already unloaded and
    3856739403         * unlisted: fail silently. */
    38568 @@ -1150,30 +1198,7 @@
     39404@@ -1150,30 +1206,7 @@
    3856939405            if (bp->b_p_bl && bp != buf)
    3857039406                break;
     
    3859839434 #ifdef FEAT_WINDOWS
    3859939435        /*
    38600 @@ -1186,7 +1211,10 @@
     39436@@ -1186,7 +1219,10 @@
    3860139437                   && !(curwin->w_closing || curwin->w_buffer->b_closing)
    3860239438 # endif
     
    3861039446 
    3861139447        /*
    38612 @@ -1204,7 +1232,8 @@
     39448@@ -1204,7 +1240,8 @@
    3861339449 
    3861439450        /*
     
    3862039456         * Then prefer the buffer we most recently visited.
    3862139457         * Else try to find one that is loaded, after the current buffer,
    38622 @@ -1303,6 +1332,13 @@
     39458@@ -1303,6 +1340,13 @@
    3862339459        }
    3862439460     }
     
    3863439470      * make buf current buffer
    3863539471      */
    38636 @@ -1396,10 +1432,8 @@
     39472@@ -1396,10 +1440,8 @@
    3863739473        curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */
    3863839474     buflist_altfpos(curwin);                    /* remember curpos */
     
    3864539481     /* close_windows() or apply_autocmds() may change curbuf */
    3864639482     prevbuf = curbuf;
    38647 @@ -1941,6 +1975,10 @@
     39483@@ -1647,7 +1689,11 @@
     39484            buf->b_p_bl = TRUE;
     39485 #ifdef FEAT_AUTOCMD
     39486            if (!(flags & BLN_DUMMY))
     39487+           {
     39488                apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, buf);
     39489+               if (!buf_valid(buf))
     39490+                   return NULL;
     39491+           }
     39492 #endif
     39493        }
     39494        return buf;
     39495@@ -1823,8 +1869,14 @@
     39496     if (!(flags & BLN_DUMMY))
     39497     {
     39498        apply_autocmds(EVENT_BUFNEW, NULL, NULL, FALSE, buf);
     39499+       if (!buf_valid(buf))
     39500+           return NULL;
     39501        if (flags & BLN_LISTED)
     39502+       {
     39503            apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, buf);
     39504+           if (!buf_valid(buf))
     39505+               return NULL;
     39506+       }
     39507 # ifdef FEAT_EVAL
     39508        if (aborting())         /* autocmds may abort script processing */
     39509            return NULL;
     39510@@ -1941,6 +1993,10 @@
    3864839511     clear_string_option(&buf->b_p_qe);
    3864939512 #endif
     
    3865639519 
    3865739520 /*
    38658 @@ -4059,7 +4097,8 @@
     39521@@ -4059,7 +4115,8 @@
    3865939522                item[curitem].minwid = -syn_namen2id(t, (int)(s - t));
    3866039523                curitem++;
     
    3866839531diff -Naur vim74.orig/src/charset.c vim74/src/charset.c
    3866939532--- vim74.orig/src/charset.c    2013-02-06 15:20:01.000000000 +0000
    38670 +++ vim74/src/charset.c 2014-03-30 20:09:04.472721085 +0000
     39533+++ vim74/src/charset.c 2014-04-27 05:20:58.118435333 +0000
    3867139534@@ -1380,10 +1380,7 @@
    3867239535                && (State & NORMAL)
     
    3869939562diff -Naur vim74.orig/src/config.h.in vim74/src/config.h.in
    3870039563--- vim74.orig/src/config.h.in  2013-02-26 13:18:19.000000000 +0000
    38701 +++ vim74/src/config.h.in       2014-03-30 20:09:04.472721085 +0000
     39564+++ vim74/src/config.h.in       2014-04-27 05:20:58.118435333 +0000
    3870239565@@ -37,10 +37,10 @@
    3870339566 #undef UNIX
     
    3871339576 /* Defined to the size of off_t */
    3871439577 #undef SIZEOF_OFF_T
    38715 @@ -442,3 +442,6 @@
     39578@@ -191,6 +191,7 @@
     39579 #undef HAVE_SIGSETJMP
     39580 #undef HAVE_SIGSTACK
     39581 #undef HAVE_SIGVEC
     39582+#undef HAVE_SMACK
     39583 #undef HAVE_STRCASECMP
     39584 #undef HAVE_STRERROR
     39585 #undef HAVE_STRFTIME
     39586@@ -442,3 +443,6 @@
    3871639587 
    3871739588 /* Define if you want Cygwin to use the WIN32 clipboard, not compatible with X11*/
     
    3872239593diff -Naur vim74.orig/src/configure.in vim74/src/configure.in
    3872339594--- vim74.orig/src/configure.in 2013-08-04 18:00:50.000000000 +0000
    38724 +++ vim74/src/configure.in      2014-03-30 20:09:04.476054528 +0000
     39595+++ vim74/src/configure.in      2014-04-27 05:20:58.121768749 +0000
    3872539596@@ -14,6 +14,7 @@
    3872639597 AC_PROG_CC     dnl required by almost everything
     
    3873139602 AC_PROG_AWK    dnl required for "make html" in ../doc
    3873239603 
     39604@@ -45,10 +46,10 @@
     39605 fi
     39606 if test "$GCC" = yes; then
     39607   dnl method that should work for nearly all versions
     39608-  gccversion=`"$CC" -dumpversion`
     39609+  gccversion=`$CC -dumpversion`
     39610   if test "x$gccversion" = "x"; then
     39611     dnl old method; fall-back for when -dumpversion doesn't work
     39612-    gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
     39613+    gccversion=`$CC --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
     39614   fi
     39615   dnl version 4.0.1 was reported to cause trouble on Macintosh by Marcin Dalecki
     39616   if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
    3873339617@@ -62,6 +63,29 @@
    3873439618   fi
     
    3874039624+dnl Note that this does not work to get the version of clang 3.1 or 3.2.
    3874139625+AC_MSG_CHECKING(for recent clang version)
    38742 +CLANG_VERSION_STRING=`"$CC" --version 2>/dev/null | sed  -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
     39626+CLANG_VERSION_STRING=`$CC --version 2>/dev/null | sed  -n -e 's/^.*clang.*\([[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\).*$/\1/p'`
    3874339627+if test x"$CLANG_VERSION_STRING" != x"" ; then
    3874439628+  CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'`
     
    3879339677     rm -f conftest.c conftest.o
    3879439678   fi
    38795 @@ -468,7 +497,7 @@
     39679@@ -358,18 +387,48 @@
     39680 AC_SUBST(QUOTESED)
     39681 
     39682 
     39683-dnl Link with -lselinux for SELinux stuff; if not found
     39684-AC_MSG_CHECKING(--disable-selinux argument)
     39685-AC_ARG_ENABLE(selinux,
     39686-       [  --disable-selinux      Don't check for SELinux support.],
     39687-       , enable_selinux="yes")
     39688-if test "$enable_selinux" = "yes"; then
     39689+dnl Link with -lsmack for Smack stuff; if not found
     39690+AC_MSG_CHECKING(--disable-smack argument)
     39691+AC_ARG_ENABLE(smack,
     39692+       [  --disable-smack        Do not check for Smack support.],
     39693+       , enable_smack="yes")
     39694+if test "$enable_smack" = "yes"; then
     39695   AC_MSG_RESULT(no)
     39696-  AC_CHECK_LIB(selinux, is_selinux_enabled,
     39697-         [LIBS="$LIBS -lselinux"
     39698-          AC_DEFINE(HAVE_SELINUX)])
     39699+  AC_CHECK_HEADER([linux/xattr.h], true, enable_smack="no")
     39700 else
     39701-   AC_MSG_RESULT(yes)
     39702+  AC_MSG_RESULT(yes)
     39703+fi
     39704+if test "$enable_smack" = "yes"; then
     39705+  AC_CHECK_HEADER([attr/xattr.h], true, enable_smack="no")
     39706+fi
     39707+if test "$enable_smack" = "yes"; then
     39708+  AC_MSG_CHECKING(for XATTR_NAME_SMACKEXEC in linux/xattr.h)
     39709+  AC_EGREP_CPP(XATTR_NAME_SMACKEXEC, [#include <linux/xattr.h>],
     39710+              AC_MSG_RESULT(yes),
     39711+              AC_MSG_RESULT(no); enable_smack="no")
     39712+fi
     39713+if test "$enable_smack" = "yes"; then
     39714+  AC_CHECK_LIB(attr, setxattr,
     39715+         [LIBS="$LIBS -lattr"
     39716+          found_smack="yes"
     39717+          AC_DEFINE(HAVE_SMACK)])
     39718+fi
     39719+
     39720+dnl When smack was found don't search for SELinux
     39721+if test "x$found_smack" = "x"; then
     39722+  dnl Link with -lselinux for SELinux stuff; if not found
     39723+  AC_MSG_CHECKING(--disable-selinux argument)
     39724+  AC_ARG_ENABLE(selinux,
     39725+         [  --disable-selinux    Do not check for SELinux support.],
     39726+         , enable_selinux="yes")
     39727+  if test "$enable_selinux" = "yes"; then
     39728+    AC_MSG_RESULT(no)
     39729+    AC_CHECK_LIB(selinux, is_selinux_enabled,
     39730+           [LIBS="$LIBS -lselinux"
     39731+            AC_DEFINE(HAVE_SELINUX)])
     39732+  else
     39733+     AC_MSG_RESULT(yes)
     39734+  fi
     39735 fi
     39736 
     39737 dnl Check user requested features.
     39738@@ -468,7 +527,7 @@
    3879639739       if test "X$vi_cv_path_luajit" != "X"; then
    3879739740        dnl -- find LuaJIT version
     
    3880239745        [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ])
    3880339746        vi_cv_path_lua="$vi_cv_path_luajit"
    38804 @@ -774,9 +803,19 @@
     39747@@ -774,9 +833,19 @@
    3880539748     AC_MSG_CHECKING(for mzscheme_base.c)
    3880639749     if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
     
    3882239765     fi
    3882339766     if test "X$MZSCHEME_EXTRA" != "X" ; then
    38824 @@ -898,7 +937,7 @@
     39767@@ -898,7 +967,7 @@
    3882539768          PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'`
    3882639769        fi
     
    3883139774          fi
    3883239775        fi
    38833 @@ -1359,7 +1398,7 @@
     39776@@ -1359,7 +1428,7 @@
    3883439777   ldflags_save=$LDFLAGS
    3883539778   dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
     
    3884039783     /* If this program fails, then RTLD_GLOBAL is needed.
    3884139784      * RTLD_GLOBAL will be used and then it is not possible to
    38842 @@ -1392,7 +1431,7 @@
     39785@@ -1392,7 +1461,7 @@
    3884339786       if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
    3884439787             not_needed = 1;
     
    3884939792 
    3885039793   CFLAGS=$cflags_save
    38851 @@ -1404,7 +1443,7 @@
     39794@@ -1404,7 +1473,7 @@
    3885239795   ldflags_save=$LDFLAGS
    3885339796   dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
     
    3885839801     #include <wchar.h>
    3885939802     /* If this program fails, then RTLD_GLOBAL is needed.
    38860 @@ -1438,7 +1477,7 @@
     39803@@ -1438,7 +1507,7 @@
    3886139804       if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
    3886239805             not_needed = 1;
     
    3886739810 
    3886839811   CFLAGS=$cflags_save
    38869 @@ -1654,9 +1693,9 @@
     39812@@ -1654,9 +1723,9 @@
    3887039813       if test "X$rubyhdrdir" != "X"; then
    3887139814        AC_MSG_RESULT($rubyhdrdir)
     
    3888039823         rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['ruby_version']].gsub(/\./, '')[[0,2]]"`
    3888139824        if test "X$rubyversion" = "X"; then
    38882 @@ -1689,7 +1728,7 @@
     39825@@ -1689,7 +1758,7 @@
    3888339826          dnl configure, so strip these flags first (if present)
    3888439827          rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
     
    3888939832            fi
    3889039833          fi
    38891 @@ -2699,7 +2738,7 @@
     39834@@ -2574,7 +2643,7 @@
     39835     AC_MSG_CHECKING(for XIMText in X11/Xlib.h)
     39836     AC_EGREP_CPP(XIMText, [#include <X11/Xlib.h>],
     39837                  AC_MSG_RESULT(yes),
     39838-                 AC_MSG_RESULT(no; xim has been disabled); enable_xim = "no")
     39839+                 AC_MSG_RESULT(no; xim has been disabled); enable_xim="no")
     39840   fi
     39841   CPPFLAGS=$cppflags_save
     39842 
     39843@@ -2699,7 +2768,7 @@
    3889239844 
    3889339845 AC_CACHE_CHECK([whether toupper is broken], [vim_cv_toupper_broken],
     
    3889839850 #include <ctype.h>
    3889939851 #if STDC_HEADERS
    38900 @@ -2707,7 +2746,7 @@
     39852@@ -2707,7 +2776,7 @@
    3890139853 # include <stddef.h>
    3890239854 #endif
     
    3890739859   ],[
    3890839860     vim_cv_toupper_broken=no
    38909 @@ -2955,7 +2994,7 @@
     39861@@ -2955,7 +3024,7 @@
    3891039862 
    3891139863 AC_CACHE_CHECK([whether we talk terminfo], [vim_cv_terminfo],
     
    3891639868 #ifdef HAVE_TERMCAP_H
    3891739869 # include <termcap.h>
    38918 @@ -2969,7 +3008,7 @@
     39870@@ -2969,7 +3038,7 @@
    3891939871 #endif
    3892039872 main()
     
    3892539877     ],[
    3892639878       vim_cv_terminfo=yes
    38927 @@ -2985,7 +3024,7 @@
     39879@@ -2985,7 +3054,7 @@
    3892839880 if test "x$olibs" != "x$LIBS"; then
    3892939881   AC_CACHE_CHECK([what tgetent() returns for an unknown terminal], [vim_cv_tgent],
     
    3893439886 #ifdef HAVE_TERMCAP_H
    3893539887 # include <termcap.h>
    38936 @@ -2996,7 +3035,7 @@
     39888@@ -2996,7 +3065,7 @@
    3893739889 #endif
    3893839890 main()
     
    3894339895       ],[
    3894439896        vim_cv_tgent=non-zero
    38945 @@ -3120,7 +3159,7 @@
     39897@@ -3120,7 +3189,7 @@
    3894639898 rm -f conftest_grp
    3894739899 AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
     
    3895239904 #include <sys/types.h>
    3895339905 #if STDC_HEADERS
    38954 @@ -3156,7 +3195,7 @@
     39906@@ -3156,7 +3225,7 @@
    3895539907   fclose(fp);
    3895639908   exit(0);
     
    3896139913        vim_cv_tty_group=`cat conftest_grp`
    3896239914        if test "x$vim_cv_tty_mode" = "x" ; then
    38963 @@ -3214,7 +3253,7 @@
     39915@@ -3214,7 +3283,7 @@
    3896439916 dnl system("sh -c pwd")
    3896539917 AC_CACHE_CHECK([getcwd implementation is broken], [vim_cv_getcwd_broken],
     
    3897039922 #ifdef HAVE_UNISTD_H
    3897139923 #include <unistd.h>
    38972 @@ -3227,7 +3266,7 @@
     39924@@ -3227,7 +3296,7 @@
    3897339925   environ = dagger;
    3897439926   return getcwd(buffer, 500) ? 0 : 1;
     
    3897939931     ],[
    3898039932       vim_cv_getcwd_broken=yes
    38981 @@ -3270,7 +3309,7 @@
     39933@@ -3270,7 +3339,7 @@
    3898239934 
    3898339935 AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash],
     
    3898839940 #if STDC_HEADERS
    3898939941 # include <stdlib.h>
    38990 @@ -3279,7 +3318,7 @@
     39942@@ -3279,7 +3348,7 @@
    3899139943 #include <sys/types.h>
    3899239944 #include <sys/stat.h>
     
    3899739949     ],[
    3899839950       vim_cv_stat_ignores_slash=no
    38999 @@ -3543,6 +3582,10 @@
     39951@@ -3543,6 +3612,10 @@
    3900039952 AC_CHECK_SIZEOF([time_t])
    3900139953 AC_CHECK_SIZEOF([off_t])
     
    3900839960 AC_MSG_CHECKING([uint32_t is 32 bits])
    3900939961 AC_TRY_RUN([
    39010 @@ -3589,7 +3632,7 @@
     39962@@ -3589,7 +3662,7 @@
    3901139963 
    3901239964 AC_CACHE_CHECK([whether memmove handles overlaps],[vim_cv_memmove_handles_overlap],
     
    3901739969        vim_cv_memmove_handles_overlap=yes
    3901839970       ],[
    39019 @@ -3604,7 +3647,7 @@
     39971@@ -3604,7 +3677,7 @@
    3902039972 else
    3902139973   AC_CACHE_CHECK([whether bcopy handles overlaps],[vim_cv_bcopy_handles_overlap],
     
    3902639978        vim_cv_bcopy_handles_overlap=yes
    3902739979       ],[
    39028 @@ -3619,7 +3662,7 @@
     39980@@ -3619,7 +3692,7 @@
    3902939981   else
    3903039982     AC_CACHE_CHECK([whether memcpy handles overlaps],[vim_cv_memcpy_handles_overlap],
     
    3903539987            vim_cv_memcpy_handles_overlap=yes
    3903639988          ],[
    39037 @@ -3697,6 +3740,9 @@
     39989@@ -3697,6 +3770,9 @@
    3903839990 fi
    3903939991 
     
    3904539997 AC_ARG_ENABLE(nls,
    3904639998        [  --disable-nls           Don't support NLS (gettext()).], ,
    39047 @@ -3715,16 +3761,18 @@
     39999@@ -3715,16 +3791,18 @@
    3904840000   if test -f po/Makefile; then
    3904940001     have_gettext="no"
     
    3907040022diff -Naur vim74.orig/src/diff.c vim74/src/diff.c
    3907140023--- vim74.orig/src/diff.c       2013-07-17 11:43:15.000000000 +0000
    39072 +++ vim74/src/diff.c    2014-03-30 20:09:04.476054528 +0000
     40024+++ vim74/src/diff.c    2014-04-27 05:20:58.121768749 +0000
    3907340025@@ -1203,7 +1203,7 @@
    3907440026 
     
    3908240034diff -Naur vim74.orig/src/dosinst.c vim74/src/dosinst.c
    3908340035--- vim74.orig/src/dosinst.c    2013-05-06 02:06:04.000000000 +0000
    39084 +++ vim74/src/dosinst.c 2014-03-30 20:09:04.479387971 +0000
     40036+++ vim74/src/dosinst.c 2014-04-27 05:20:58.125102165 +0000
    3908540037@@ -1192,23 +1192,29 @@
    3908640038        fprintf(fd, "  if arg3 =~ ' ' | let arg3 = '\"' . arg3 . '\"' | endif\n");
     
    3913540087diff -Naur vim74.orig/src/edit.c vim74/src/edit.c
    3913640088--- vim74.orig/src/edit.c       2013-07-04 18:22:25.000000000 +0000
    39137 +++ vim74/src/edit.c    2014-03-30 20:09:04.486054857 +0000
     40089+++ vim74/src/edit.c    2014-04-27 05:20:58.128435582 +0000
    3913840090@@ -199,7 +199,7 @@
    3913940091 static void spell_back_to_badword __ARGS((void));
     
    3960940561diff -Naur vim74.orig/src/eval.c vim74/src/eval.c
    3961040562--- vim74.orig/src/eval.c       2013-07-05 16:23:42.000000000 +0000
    39611 +++ vim74/src/eval.c    2014-03-30 20:09:04.496055186 +0000
     40563+++ vim74/src/eval.c    2014-04-27 05:20:58.138435829 +0000
    3961240564@@ -125,9 +125,6 @@
    3961340565  */
     
    3963240584 /*
    3963340585  * Structure to hold info for a user function.
    39634 @@ -356,6 +358,7 @@
     40586@@ -356,8 +358,10 @@
    3963540587     {VV_NAME("mouse_col",       VAR_NUMBER), 0},
    3963640588     {VV_NAME("operator",        VAR_STRING), VV_RO},
     
    3963940591     {VV_NAME("oldfiles",        VAR_LIST), 0},
    3964040592     {VV_NAME("windowid",        VAR_NUMBER), VV_RO},
     40593+    {VV_NAME("progpath",        VAR_STRING), VV_RO},
    3964140594 };
    39642 @@ -389,7 +392,7 @@
     40595 
     40596 /* shorthand */
     40597@@ -389,7 +393,7 @@
    3964340598 static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg, int *first));
    3964440599 static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op));
     
    3964940604 static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op));
    3965040605 static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u  *op));
    39651 @@ -444,7 +447,7 @@
     40606@@ -444,7 +448,7 @@
    3965240607 #endif
    3965340608 static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate));
     
    3965840613 static int call_func __ARGS((char_u *funcname, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
    3965940614 static void emsg_funcname __ARGS((char *ermsg, char_u *name));
    39660 @@ -474,7 +477,9 @@
     40615@@ -474,7 +478,9 @@
    3966140616 static void f_bufnr __ARGS((typval_T *argvars, typval_T *rettv));
    3966240617 static void f_bufwinnr __ARGS((typval_T *argvars, typval_T *rettv));
     
    3966840623 #ifdef FEAT_FLOAT
    3966940624 static void f_ceil __ARGS((typval_T *argvars, typval_T *rettv));
    39670 @@ -739,6 +744,7 @@
     40625@@ -508,6 +514,7 @@
     40626 static void f_eval __ARGS((typval_T *argvars, typval_T *rettv));
     40627 static void f_eventhandler __ARGS((typval_T *argvars, typval_T *rettv));
     40628 static void f_executable __ARGS((typval_T *argvars, typval_T *rettv));
     40629+static void f_exepath __ARGS((typval_T *argvars, typval_T *rettv));
     40630 static void f_exists __ARGS((typval_T *argvars, typval_T *rettv));
     40631 #ifdef FEAT_FLOAT
     40632 static void f_exp __ARGS((typval_T *argvars, typval_T *rettv));
     40633@@ -719,6 +726,7 @@
     40634 static void f_synstack __ARGS((typval_T *argvars, typval_T *rettv));
     40635 static void f_synconcealed __ARGS((typval_T *argvars, typval_T *rettv));
     40636 static void f_system __ARGS((typval_T *argvars, typval_T *rettv));
     40637+static void f_systemlist __ARGS((typval_T *argvars, typval_T *rettv));
     40638 static void f_tabpagebuflist __ARGS((typval_T *argvars, typval_T *rettv));
     40639 static void f_tabpagenr __ARGS((typval_T *argvars, typval_T *rettv));
     40640 static void f_tabpagewinnr __ARGS((typval_T *argvars, typval_T *rettv));
     40641@@ -739,6 +747,7 @@
    3967140642 static void f_type __ARGS((typval_T *argvars, typval_T *rettv));
    3967240643 static void f_undofile __ARGS((typval_T *argvars, typval_T *rettv));
     
    3967640647 static void f_virtcol __ARGS((typval_T *argvars, typval_T *rettv));
    3967740648 static void f_visualmode __ARGS((typval_T *argvars, typval_T *rettv));
    39678 @@ -767,7 +773,7 @@
     40649@@ -767,7 +776,7 @@
    3967940650 static char_u * make_expanded_name __ARGS((char_u *in_start, char_u *expr_start, char_u *expr_end, char_u *in_end));
    3968040651 static int eval_isnamec __ARGS((int c));
     
    3968540656 static typval_T *alloc_tv __ARGS((void));
    3968640657 static typval_T *alloc_string_tv __ARGS((char_u *string));
    39687 @@ -778,8 +784,8 @@
     40658@@ -778,8 +787,8 @@
    3968840659 static char_u *get_tv_string __ARGS((typval_T *varp));
    3968940660 static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf));
     
    3969640667 static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val));
    3969740668 static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi));
    39698 @@ -869,6 +875,7 @@
     40669@@ -799,7 +808,7 @@
     40670 static void list_func_head __ARGS((ufunc_T *fp, int indent));
     40671 static ufunc_T *find_func __ARGS((char_u *name));
     40672 static int function_exists __ARGS((char_u *name));
     40673-static int builtin_function __ARGS((char_u *name));
     40674+static int builtin_function __ARGS((char_u *name, int len));
     40675 #ifdef FEAT_PROFILE
     40676 static void func_do_profile __ARGS((ufunc_T *fp));
     40677 static void prof_sort_list __ARGS((FILE *fd, ufunc_T **sorttab, int st_len, char *title, int prefer_self));
     40678@@ -828,6 +837,8 @@
     40679 static int searchpair_cmn __ARGS((typval_T *argvars, pos_T *match_pos));
     40680 static int search_cmn __ARGS((typval_T *argvars, pos_T *match_pos, int *flagsp));
     40681 static void setwinvar __ARGS((typval_T *argvars, typval_T *rettv, int off));
     40682+static int write_list __ARGS((FILE *fd, list_T *list, int binary));
     40683+static void get_cmd_output_as_rettv __ARGS((typval_T *argvars, typval_T *rettv, int retlist));
     40684 
     40685 
     40686 #ifdef EBCDIC
     40687@@ -869,6 +880,7 @@
    3969940688            hash_add(&compat_hashtab, p->vv_di.di_key);
    3970040689     }
     
    3970440693 
    3970540694 #ifdef EBCDIC
    39706 @@ -915,12 +922,13 @@
     40695@@ -915,12 +927,13 @@
    3970740696     /* autoloaded script names */
    3970840697     ga_clear_strings(&ga_loaded);
     
    3972140710 
    3972240711     /* unreferenced lists and dicts */
    39723 @@ -1054,7 +1062,7 @@
     40712@@ -1054,7 +1067,7 @@
    3972440713     ga_init2(&redir_ga, (int)sizeof(char), 500);
    3972540714 
     
    3973040719     if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL)
    3973140720     {
    39732 @@ -1145,7 +1153,7 @@
     40721@@ -1145,7 +1158,7 @@
    3973340722            /* Call get_lval() again, if it's inside a Dict or List it may
    3973440723             * have changed. */
     
    3973940728                set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)".");
    3974040729            clear_lval(redir_lval);
    39741 @@ -1848,8 +1856,9 @@
     40730@@ -1848,8 +1861,9 @@
    3974240731        return;
    3974340732     if (argend > arg && argend[-1] == '.')  /* for var.='str' */
     
    3975140740        /*
    3975240741         * ":let" without "=": list variables
    39753 @@ -1878,12 +1887,14 @@
     40742@@ -1878,12 +1892,14 @@
    3975440743     {
    3975540744        op[0] = '=';
     
    3977040759        if (eap->skip)
    3977140760            ++emsg_skip;
    39772 @@ -2234,7 +2245,7 @@
     40761@@ -2234,7 +2250,7 @@
    3977340762            {
    3977440763                if (tofree != NULL)
     
    3977940768                else
    3978040769                {
    39781 @@ -2469,7 +2480,7 @@
     40770@@ -2445,7 +2461,7 @@
     40771            p = get_tv_string_chk(tv);
     40772            if (p != NULL && op != NULL && *op == '.')
     40773            {
     40774-               s = get_reg_contents(*arg == '@' ? '"' : *arg, TRUE, TRUE);
     40775+               s = get_reg_contents(*arg == '@' ? '"' : *arg, GREG_EXPR_SRC);
     40776                if (s != NULL)
     40777                {
     40778                    p = ptofree = concat_str(s, p);
     40779@@ -2469,7 +2485,7 @@
    3978240780     {
    3978340781        lval_T  lv;
     
    3978840786        {
    3978940787            if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL)
    39790 @@ -2514,18 +2525,22 @@
     40788@@ -2514,18 +2530,22 @@
    3979140789  * "unlet" is TRUE for ":unlet": slightly different behavior when something is
    3979240790  * wrong; must end in space or cmd separator.
     
    3981340811 {
    3981440812     char_u     *p;
    39815 @@ -2539,6 +2554,7 @@
     40813@@ -2539,6 +2559,7 @@
    3981640814     char_u     *key = NULL;
    3981740815     int                len;
     
    3982140819     /* Clear everything in "lp". */
    3982240820     vim_memset(lp, 0, sizeof(lval_T));
    39823 @@ -2586,7 +2602,7 @@
     40821@@ -2586,7 +2607,7 @@
    3982440822 
    3982540823     cc = *p;
     
    3983040828        EMSG2(_(e_undefvar), lp->ll_name);
    3983140829     *p = cc;
    39832 @@ -2899,7 +2915,7 @@
     40830@@ -2899,7 +2920,7 @@
    3983340831 
    3983440832                /* handle +=, -= and .= */
     
    3983940837                    if (tv_op(&tv, rettv, op) == OK)
    3984040838                        set_var(lp->ll_name, &tv, FALSE);
    39841 @@ -3420,7 +3436,7 @@
     40839@@ -3420,7 +3441,7 @@
    3984240840 
    3984340841     /* If it is the name of a variable of type VAR_FUNC use its contents. */
     
    3984840846     /* Skip white space to allow ":call func ()".  Not good, but required for
    3984940847      * backward compatibility. */
    39850 @@ -3551,7 +3567,7 @@
     40848@@ -3551,7 +3572,7 @@
    3985140849     do
    3985240850     {
     
    3985740855        if (lv.ll_name == NULL)
    3985840856            error = TRUE;           /* error but continue parsing */
    39859 @@ -3704,7 +3720,7 @@
     40857@@ -3704,7 +3725,7 @@
    3986040858            ret = FAIL;
    3986140859        else
     
    3986640864                ret = FAIL;
    3986740865            else
    39868 @@ -5147,7 +5163,7 @@
     40866@@ -5103,7 +5124,8 @@
     40867                if (evaluate)
     40868                {
     40869                    rettv->v_type = VAR_STRING;
     40870-                   rettv->vval.v_string = get_reg_contents(**arg, TRUE, TRUE);
     40871+                   rettv->vval.v_string = get_reg_contents(**arg,
     40872+                                                           GREG_EXPR_SRC);
     40873                }
     40874                if (**arg != NUL)
     40875                    ++*arg;
     40876@@ -5147,7 +5169,7 @@
    3986940877            {
    3987040878                /* If "s" is the name of a variable of type VAR_FUNC
     
    3987540883                /* Invoke the function. */
    3987640884                ret = get_func_tv(s, len, rettv, arg,
    39877 @@ -5174,7 +5190,7 @@
     40885@@ -5174,7 +5196,7 @@
    3987840886                }
    3987940887            }
     
    3988440892                ret = OK;
    3988540893        }
    39886 @@ -6413,6 +6429,16 @@
     40894@@ -6413,6 +6435,16 @@
    3988740895     if (ni == NULL)
    3988840896        return FAIL;
     
    3990140909        /* Append new item at end of list. */
    3990240910        list_append(l, ni);
    39903 @@ -6434,7 +6460,6 @@
     40911@@ -6434,7 +6466,6 @@
    3990440912        item->li_prev = ni;
    3990540913        ++l->lv_len;
     
    3990940917 
    3991040918 /*
    39911 @@ -7860,6 +7885,7 @@
     40919@@ -7860,6 +7891,7 @@
    3991240920     {"bufwinnr",       1, 1, f_bufwinnr},
    3991340921     {"byte2line",      1, 1, f_byte2line},
     
    3991740925 #ifdef FEAT_FLOAT
    3991840926     {"ceil",           1, 1, f_ceil},
    39919 @@ -7992,7 +8018,7 @@
     40927@@ -7893,6 +7925,7 @@
     40928     {"eval",           1, 1, f_eval},
     40929     {"eventhandler",   0, 0, f_eventhandler},
     40930     {"executable",     1, 1, f_executable},
     40931+    {"exepath",                1, 1, f_exepath},
     40932     {"exists",         1, 1, f_exists},
     40933 #ifdef FEAT_FLOAT
     40934     {"exp",            1, 1, f_exp},
     40935@@ -7941,7 +7974,7 @@
     40936     {"getpid",         0, 0, f_getpid},
     40937     {"getpos",         1, 1, f_getpos},
     40938     {"getqflist",      0, 0, f_getqflist},
     40939-    {"getreg",         0, 2, f_getreg},
     40940+    {"getreg",         0, 3, f_getreg},
     40941     {"getregtype",     0, 1, f_getregtype},
     40942     {"gettabvar",      2, 3, f_gettabvar},
     40943     {"gettabwinvar",   3, 4, f_gettabwinvar},
     40944@@ -7992,7 +8025,7 @@
    3992040945     {"log10",          1, 1, f_log10},
    3992140946 #endif
     
    3992640951     {"map",            2, 2, f_map},
    3992740952     {"maparg",         1, 4, f_maparg},
    39928 @@ -8128,6 +8154,7 @@
     40953@@ -8100,7 +8133,7 @@
     40954     {"strridx",                2, 3, f_strridx},
     40955     {"strtrans",       1, 1, f_strtrans},
     40956     {"strwidth",       1, 1, f_strwidth},
     40957-    {"submatch",       1, 1, f_submatch},
     40958+    {"submatch",       1, 2, f_submatch},
     40959     {"substitute",     4, 4, f_substitute},
     40960     {"synID",          3, 3, f_synID},
     40961     {"synIDattr",      2, 3, f_synIDattr},
     40962@@ -8108,6 +8141,7 @@
     40963     {"synconcealed",   2, 2, f_synconcealed},
     40964     {"synstack",       2, 2, f_synstack},
     40965     {"system",         1, 2, f_system},
     40966+    {"systemlist",     1, 2, f_systemlist},
     40967     {"tabpagebuflist", 0, 1, f_tabpagebuflist},
     40968     {"tabpagenr",      0, 1, f_tabpagenr},
     40969     {"tabpagewinnr",   1, 2, f_tabpagewinnr},
     40970@@ -8128,6 +8162,7 @@
    3992940971     {"type",           1, 1, f_type},
    3993040972     {"undofile",       1, 1, f_undofile},
     
    3993440976     {"virtcol",                1, 1, f_virtcol},
    3993540977     {"visualmode",     0, 1, f_visualmode},
    39936 @@ -8269,16 +8296,17 @@
     40978@@ -8269,16 +8304,17 @@
    3993740979  * name it contains, otherwise return "name".
    3993840980  */
     
    3995440996     if (v != NULL && v->di_tv.v_type == VAR_FUNC)
    3995540997     {
    39956 @@ -9176,13 +9204,11 @@
     40998@@ -8449,33 +8485,39 @@
     40999     /* execute the function if no errors detected and executing */
     41000     if (evaluate && error == ERROR_NONE)
     41001     {
     41002+       char_u *rfname = fname;
     41003+
     41004+       /* Ignore "g:" before a function name. */
     41005+       if (fname[0] == 'g' && fname[1] == ':')
     41006+           rfname = fname + 2;
     41007+
     41008        rettv->v_type = VAR_NUMBER;     /* default rettv is number zero */
     41009        rettv->vval.v_number = 0;
     41010        error = ERROR_UNKNOWN;
     41011 
     41012-       if (!builtin_function(fname))
     41013+       if (!builtin_function(rfname, -1))
     41014        {
     41015            /*
     41016             * User defined function.
     41017             */
     41018-           fp = find_func(fname);
     41019+           fp = find_func(rfname);
     41020 
     41021 #ifdef FEAT_AUTOCMD
     41022            /* Trigger FuncUndefined event, may load the function. */
     41023            if (fp == NULL
     41024                    && apply_autocmds(EVENT_FUNCUNDEFINED,
     41025-                                                    fname, fname, TRUE, NULL)
     41026+                                                    rfname, rfname, TRUE, NULL)
     41027                    && !aborting())
     41028            {
     41029                /* executed an autocommand, search for the function again */
     41030-               fp = find_func(fname);
     41031+               fp = find_func(rfname);
     41032            }
     41033 #endif
     41034            /* Try loading a package. */
     41035-           if (fp == NULL && script_autoload(fname, TRUE) && !aborting())
     41036+           if (fp == NULL && script_autoload(rfname, TRUE) && !aborting())
     41037            {
     41038                /* loaded a package, search for the function again */
     41039-               fp = find_func(fname);
     41040+               fp = find_func(rfname);
     41041            }
     41042 
     41043            if (fp != NULL)
     41044@@ -9176,13 +9218,11 @@
    3995741045 #endif
    3995841046 }
     
    3997041058 #ifdef FEAT_MBYTE
    3997141059     char_u     *t;
    39972 @@ -9202,7 +9228,10 @@
     41060@@ -9202,7 +9242,10 @@
    3997341061     {
    3997441062        if (*t == NUL)          /* EOL reached */
     
    3998241070     rettv->vval.v_number = (varnumber_T)(t - str);
    3998341071 #else
    39984 @@ -9211,6 +9240,28 @@
     41072@@ -9211,6 +9254,28 @@
    3998541073 #endif
    3998641074 }
     
    4001141099 func_call(name, args, selfdict, rettv)
    4001241100     char_u     *name;
    40013 @@ -10010,8 +10061,6 @@
     41101@@ -9994,7 +10059,22 @@
     41102     typval_T   *argvars;
     41103     typval_T   *rettv;
     41104 {
     41105-    rettv->vval.v_number = mch_can_exe(get_tv_string(&argvars[0]));
     41106+    rettv->vval.v_number = mch_can_exe(get_tv_string(&argvars[0]), NULL);
     41107+}
     41108+
     41109+/*
     41110+ * "exepath()" function
     41111+ */
     41112+    static void
     41113+f_exepath(argvars, rettv)
     41114+    typval_T   *argvars;
     41115+    typval_T   *rettv;
     41116+{
     41117+    char_u *p = NULL;
     41118+
     41119+    (void)mch_can_exe(get_tv_string(&argvars[0]), &p);
     41120+    rettv->v_type = VAR_STRING;
     41121+    rettv->vval.v_string = p;
     41122 }
     41123 
     41124 /*
     41125@@ -10010,8 +10090,6 @@
    4001441126     int                n = FALSE;
    4001541127     int                len = 0;
     
    4002041132     if (*p == '$')                     /* environment variable */
    4002141133     {
    40022 @@ -10062,7 +10111,7 @@
     41134@@ -10062,7 +10140,7 @@
    4002341135        {
    4002441136            if (tofree != NULL)
     
    4002941141            {
    4003041142                /* handle d.key, l[idx], f(expr) */
    40031 @@ -10078,8 +10127,6 @@
     41143@@ -10078,8 +10156,6 @@
    4003241144     }
    4003341145 
     
    4003841150 
    4003941151 #ifdef FEAT_FLOAT
    40040 @@ -11090,6 +11137,8 @@
     41152@@ -11090,6 +11166,8 @@
    4004141153 {
    4004241154     char_u     *p;
     
    4004741159        return;
    4004841160 
    40049 @@ -11102,8 +11151,6 @@
     41161@@ -11102,8 +11180,6 @@
    4005041162            p = ml_get_buf(buf, start, FALSE);
    4005141163        else
     
    4005641168     }
    4005741169     else
    40058 @@ -11791,12 +11838,10 @@
     41170@@ -11734,6 +11810,7 @@
     41171     char_u     *strregname;
     41172     int                regname;
     41173     int                arg2 = FALSE;
     41174+    int                return_list = FALSE;
     41175     int                error = FALSE;
     41176 
     41177     if (argvars[0].v_type != VAR_UNKNOWN)
     41178@@ -11741,17 +11818,34 @@
     41179        strregname = get_tv_string_chk(&argvars[0]);
     41180        error = strregname == NULL;
     41181        if (argvars[1].v_type != VAR_UNKNOWN)
     41182+       {
     41183            arg2 = get_tv_number_chk(&argvars[1], &error);
     41184+           if (!error && argvars[2].v_type != VAR_UNKNOWN)
     41185+               return_list = get_tv_number_chk(&argvars[2], &error);
     41186+       }
     41187     }
     41188     else
     41189        strregname = vimvars[VV_REG].vv_str;
     41190+
     41191+    if (error)
     41192+       return;
     41193+
     41194     regname = (strregname == NULL ? '"' : *strregname);
     41195     if (regname == 0)
     41196        regname = '"';
     41197 
     41198-    rettv->v_type = VAR_STRING;
     41199-    rettv->vval.v_string = error ? NULL :
     41200-                                   get_reg_contents(regname, TRUE, arg2);
     41201+    if (return_list)
     41202+    {
     41203+       rettv->v_type = VAR_LIST;
     41204+       rettv->vval.v_list = (list_T *)get_reg_contents(regname,
     41205+                                     (arg2 ? GREG_EXPR_SRC : 0) | GREG_LIST);
     41206+    }
     41207+    else
     41208+    {
     41209+       rettv->v_type = VAR_STRING;
     41210+       rettv->vval.v_string = get_reg_contents(regname,
     41211+                                                   arg2 ? GREG_EXPR_SRC : 0);
     41212+    }
     41213 }
     41214 
     41215 /*
     41216@@ -11791,12 +11885,10 @@
    4005941217     {
    4006041218        case MLINE: buf[0] = 'V'; break;
     
    4006941227     rettv->v_type = VAR_STRING;
    4007041228     rettv->vval.v_string = vim_strsave(buf);
    40071 @@ -12135,6 +12180,9 @@
     41229@@ -12135,6 +12227,9 @@
    4007241230 #ifndef CASE_INSENSITIVE_FILENAME
    4007341231        "fname_case",
     
    4007941237        "arabic",
    4008041238 #endif
    40081 @@ -12507,9 +12555,7 @@
     41239@@ -12507,9 +12602,7 @@
    4008241240 #ifdef FEAT_VIRTUALEDIT
    4008341241        "virtualedit",
     
    4008941247        "visualextra",
    4009041248 #endif
    40091 @@ -12538,7 +12584,12 @@
     41249@@ -12538,7 +12631,12 @@
    4009241250        "xfontset",
    4009341251 #endif
     
    4010341261 #ifdef USE_XSMP
    4010441262        "xsmp",
    40105 @@ -13045,9 +13096,18 @@
     41263@@ -12569,7 +12667,26 @@
     41264     if (n == FALSE)
     41265     {
     41266        if (STRNICMP(name, "patch", 5) == 0)
     41267-           n = has_patch(atoi((char *)name + 5));
     41268+       {
     41269+           if (name[5] == '-'
     41270+                   && STRLEN(name) > 11
     41271+                   && vim_isdigit(name[6])
     41272+                   && vim_isdigit(name[8])
     41273+                   && vim_isdigit(name[10]))
     41274+           {
     41275+               int major = atoi((char *)name + 6);
     41276+               int minor = atoi((char *)name + 8);
     41277+
     41278+               /* Expect "patch-9.9.01234". */
     41279+               n = (major < VIM_VERSION_MAJOR
     41280+                    || (major == VIM_VERSION_MAJOR
     41281+                        && (minor < VIM_VERSION_MINOR
     41282+                            || (minor == VIM_VERSION_MINOR
     41283+                                && has_patch(atoi((char *)name + 10))))));
     41284+           }
     41285+           else
     41286+               n = has_patch(atoi((char *)name + 5));
     41287+       }
     41288        else if (STRICMP(name, "vim_starting") == 0)
     41289            n = (starting != 0);
     41290 #ifdef FEAT_MBYTE
     41291@@ -13045,9 +13162,18 @@
    4010641292        }
    4010741293 
     
    4012241308                && argvars[1].v_type != VAR_UNKNOWN
    4012341309                && argvars[2].v_type != VAR_UNKNOWN)
    40124 @@ -13298,8 +13358,8 @@
     41310@@ -13298,8 +13424,8 @@
    4012541311     dictitem_T *di;
    4012641312 
     
    4013341319     {
    4013441320        if (*end != NUL)
    40135 @@ -13312,7 +13372,7 @@
     41321@@ -13312,7 +13438,7 @@
    4013641322                    rettv->vval.v_number = 1;       /* always locked */
    4013741323                else
     
    4014241328                    {
    4014341329                        /* Consider a variable locked when:
    40144 @@ -13846,6 +13906,7 @@
     41330@@ -13846,6 +13972,7 @@
    4014541331     int                type;
    4014641332 {
     
    4015041336     char_u     *pat;
    4015141337     regmatch_T regmatch;
    40152 @@ -13885,7 +13946,10 @@
     41338@@ -13885,7 +14012,10 @@
    4015341339        li = l->lv_first;
    4015441340     }
     
    4016141347     pat = get_tv_string_buf_chk(&argvars[1], patbuf);
    4016241348     if (pat == NULL)
    40163 @@ -13909,7 +13973,7 @@
     41349@@ -13909,7 +14039,7 @@
    4016441350        {
    4016541351            if (start < 0)
     
    4017041356            /* When "count" argument is there ignore matches before "start",
    4017141357             * otherwise skip part of the string.  Differs when pattern is "^"
    40172 @@ -13917,7 +13981,10 @@
     41358@@ -13917,7 +14047,10 @@
    4017341359            if (argvars[3].v_type != VAR_UNKNOWN)
    4017441360                startcol = start;
     
    4018141367 
    4018241368        if (argvars[3].v_type != VAR_UNKNOWN)
    40183 @@ -13967,6 +14034,12 @@
     41369@@ -13967,6 +14100,12 @@
    4018441370 #else
    4018541371                startcol = (colnr_T)(regmatch.startp[0] + 1 - str);
     
    4019441380        }
    4019541381 
    40196 @@ -14095,8 +14168,8 @@
     41382@@ -14095,8 +14234,8 @@
    4019741383            }
    4019841384            else
     
    4020541391        }
    4020641392 #endif
    40207 @@ -14292,14 +14365,23 @@
     41393@@ -14292,14 +14431,23 @@
    4020841394        return;
    4020941395 
     
    4023541421 #endif
    4023641422 
    40237 @@ -14316,7 +14398,6 @@
     41423@@ -14316,7 +14464,6 @@
    4023841424     buf[1] = NUL;
    4023941425     buf[2] = NUL;
     
    4024341429     {
    4024441430        if (VIsual_select)
    40245 @@ -14324,9 +14405,7 @@
     41431@@ -14324,9 +14471,7 @@
    4024641432        else
    4024741433            buf[0] = VIsual_mode;
     
    4025441440     {
    4025541441        buf[0] = 'r';
    40256 @@ -16675,7 +16754,6 @@
     41442@@ -16655,8 +16800,6 @@
     41443     regname = *strregname;
     41444     if (regname == 0 || regname == '@')
     41445        regname = '"';
     41446-    else if (regname == '=')
     41447-       return;
     41448 
     41449     if (argvars[2].v_type != VAR_UNKNOWN)
     41450     {
     41451@@ -16675,7 +16818,6 @@
    4025741452                case 'V': case 'l':     /* line-wise selection */
    4025841453                    yank_type = MLINE;
     
    4026241457                    yank_type = MBLOCK;
    4026341458                    if (VIM_ISDIGIT(stropt[1]))
    40264 @@ -16685,7 +16763,6 @@
     41459@@ -16685,14 +16827,62 @@
    4026541460                        --stropt;
    4026641461                    }
     
    4027041465     }
    4027141466 
    40272 @@ -16869,7 +16946,7 @@
     41467-    strval = get_tv_string_chk(&argvars[1]);
     41468-    if (strval != NULL)
     41469+    if (argvars[1].v_type == VAR_LIST)
     41470+    {
     41471+       char_u          **lstval;
     41472+       char_u          **allocval;
     41473+       char_u          buf[NUMBUFLEN];
     41474+       char_u          **curval;
     41475+       char_u          **curallocval;
     41476+       int             len = argvars[1].vval.v_list->lv_len;
     41477+       listitem_T      *li;
     41478+
     41479+       /* First half: use for pointers to result lines; second half: use for
     41480+        * pointers to allocated copies. */
     41481+       lstval = (char_u **)alloc(sizeof(char_u *) * ((len + 1) * 2));
     41482+       if (lstval == NULL)
     41483+           return;
     41484+       curval = lstval;
     41485+       allocval = lstval + len + 2;
     41486+       curallocval = allocval;
     41487+
     41488+       for (li = argvars[1].vval.v_list->lv_first; li != NULL;
     41489+                                                            li = li->li_next)
     41490+       {
     41491+           strval = get_tv_string_buf_chk(&li->li_tv, buf);
     41492+           if (strval == NULL)
     41493+               goto free_lstval;
     41494+           if (strval == buf)
     41495+           {
     41496+               /* Need to make a copy, next get_tv_string_buf_chk() will
     41497+                * overwrite the string. */
     41498+               strval = vim_strsave(buf);
     41499+               if (strval == NULL)
     41500+                   goto free_lstval;
     41501+               *curallocval++ = strval;
     41502+           }
     41503+           *curval++ = strval;
     41504+       }
     41505+       *curval++ = NULL;
     41506+
     41507+       write_reg_contents_lst(regname, lstval, -1,
     41508+                                               append, yank_type, block_len);
     41509+free_lstval:
     41510+       while (curallocval > allocval)
     41511+           vim_free(*--curallocval);
     41512+       vim_free(lstval);
     41513+    }
     41514+    else
     41515+    {
     41516+       strval = get_tv_string_chk(&argvars[1]);
     41517+       if (strval == NULL)
     41518+           return;
     41519        write_reg_contents_ex(regname, strval, -1,
     41520                                                append, yank_type, block_len);
     41521+    }
     41522     rettv->vval.v_number = 0;
     41523 }
     41524 
     41525@@ -16869,7 +17059,7 @@
    4027341526     typval_T   *rettv;
    4027441527 {
     
    4027941532 }
    4028041533 
    40281 @@ -16881,7 +16958,7 @@
     41534@@ -16881,7 +17071,7 @@
    4028241535     typval_T   *argvars UNUSED;
    4028341536     typval_T   *rettv;
     
    4028841541 
    4028941542 /*
    40290 @@ -16951,10 +17028,11 @@
     41543@@ -16951,10 +17141,11 @@
    4029141544 static char_u  *item_compare_func;
    4029241545 static dict_T  *item_compare_selfdict;
     
    4030141554     static int
    4030241555 #ifdef __BORLANDC__
    40303 @@ -17028,9 +17106,10 @@
     41556@@ -17028,9 +17219,10 @@
    4030441557  * "sort({list})" function
    4030541558  */
     
    4031341566     list_T     *l;
    4031441567     listitem_T *li;
    40315 @@ -17039,12 +17118,12 @@
     41568@@ -17039,12 +17231,12 @@
    4031641569     long       i;
    4031741570 
     
    4032841581        rettv->vval.v_list = l;
    4032941582        rettv->v_type = VAR_LIST;
    40330 @@ -17091,29 +17170,72 @@
     41583@@ -17091,29 +17283,72 @@
    4033141584        ptrs = (listitem_T **)alloc((int)(len * sizeof(listitem_T *)));
    4033241585        if (ptrs == NULL)
     
    4041741670        }
    4041841671 
    40419 @@ -17122,6 +17244,28 @@
     41672@@ -17122,6 +17357,28 @@
    4042041673 }
    4042141674 
     
    4044641699  */
    4044741700     static void
    40448 @@ -18688,7 +18832,6 @@
     41701@@ -17709,9 +17966,29 @@
     41702     typval_T   *argvars;
     41703     typval_T   *rettv;
     41704 {
     41705-    rettv->v_type = VAR_STRING;
     41706-    rettv->vval.v_string =
     41707-                   reg_submatch((int)get_tv_number_chk(&argvars[0], NULL));
     41708+    int                error = FALSE;
     41709+    int                no;
     41710+    int                retList = 0;
     41711+
     41712+    no = (int)get_tv_number_chk(&argvars[0], &error);
     41713+    if (error)
     41714+       return;
     41715+    error = FALSE;
     41716+    if (argvars[1].v_type != VAR_UNKNOWN)
     41717+       retList = get_tv_number_chk(&argvars[1], &error);
     41718+    if (error)
     41719+       return;
     41720+
     41721+    if (retList == 0)
     41722+    {
     41723+       rettv->v_type = VAR_STRING;
     41724+       rettv->vval.v_string = reg_submatch(no);
     41725+    }
     41726+    else
     41727+    {
     41728+       rettv->v_type = VAR_LIST;
     41729+       rettv->vval.v_list = reg_submatch_list(no);
     41730+    }
     41731 }
     41732 
     41733 /*
     41734@@ -17979,13 +18256,11 @@
     41735 #endif
     41736 }
     41737 
     41738-/*
     41739- * "system()" function
     41740- */
     41741     static void
     41742-f_system(argvars, rettv)
     41743+get_cmd_output_as_rettv(argvars, rettv, retlist)
     41744     typval_T   *argvars;
     41745     typval_T   *rettv;
     41746+    int                retlist;
     41747 {
     41748     char_u     *res = NULL;
     41749     char_u     *p;
     41750@@ -17993,9 +18268,12 @@
     41751     char_u     buf[NUMBUFLEN];
     41752     int                err = FALSE;
     41753     FILE       *fd;
     41754+    list_T     *list = NULL;
     41755 
     41756+    rettv->v_type = VAR_STRING;
     41757+    rettv->vval.v_string = NULL;
     41758     if (check_restricted() || check_secure())
     41759-       goto done;
     41760+       goto errret;
     41761 
     41762     if (argvars[1].v_type != VAR_UNKNOWN)
     41763     {
     41764@@ -18006,74 +18284,159 @@
     41765        if ((infile = vim_tempname('i')) == NULL)
     41766        {
     41767            EMSG(_(e_notmp));
     41768-           goto done;
     41769+           goto errret;
     41770        }
     41771 
     41772        fd = mch_fopen((char *)infile, WRITEBIN);
     41773        if (fd == NULL)
     41774        {
     41775            EMSG2(_(e_notopen), infile);
     41776-           goto done;
     41777+           goto errret;
     41778        }
     41779-       p = get_tv_string_buf_chk(&argvars[1], buf);
     41780-       if (p == NULL)
     41781+       if (argvars[1].v_type == VAR_LIST)
     41782        {
     41783-           fclose(fd);
     41784-           goto done;          /* type error; errmsg already given */
     41785+           if (write_list(fd, argvars[1].vval.v_list, TRUE) == FAIL)
     41786+               err = TRUE;
     41787+       }
     41788+       else
     41789+       {
     41790+           p = get_tv_string_buf_chk(&argvars[1], buf);
     41791+           if (p == NULL)
     41792+           {
     41793+               fclose(fd);
     41794+               goto errret;            /* type error; errmsg already given */
     41795+           }
     41796+           if (fwrite(p, STRLEN(p), 1, fd) != 1)
     41797+               err = TRUE;
     41798        }
     41799-       if (fwrite(p, STRLEN(p), 1, fd) != 1)
     41800-           err = TRUE;
     41801        if (fclose(fd) != 0)
     41802            err = TRUE;
     41803        if (err)
     41804        {
     41805            EMSG(_("E677: Error writing temp file"));
     41806-           goto done;
     41807+           goto errret;
     41808        }
     41809     }
     41810 
     41811-    res = get_cmd_output(get_tv_string(&argvars[0]), infile,
     41812-                                                SHELL_SILENT | SHELL_COOKED);
     41813-
     41814-#ifdef USE_CR
     41815-    /* translate <CR> into <NL> */
     41816-    if (res != NULL)
     41817+    if (retlist)
     41818     {
     41819-       char_u  *s;
     41820+       int             len;
     41821+       listitem_T      *li;
     41822+       char_u          *s = NULL;
     41823+       char_u          *start;
     41824+       char_u          *end;
     41825+       int             i;
     41826+
     41827+       res = get_cmd_output(get_tv_string(&argvars[0]), infile,
     41828+                                          SHELL_SILENT | SHELL_COOKED, &len);
     41829+       if (res == NULL)
     41830+           goto errret;
     41831 
     41832-       for (s = res; *s; ++s)
     41833+       list = list_alloc();
     41834+       if (list == NULL)
     41835+           goto errret;
     41836+
     41837+       for (i = 0; i < len; ++i)
     41838        {
     41839-           if (*s == CAR)
     41840-               *s = NL;
     41841+           start = res + i;
     41842+           while (i < len && res[i] != NL)
     41843+               ++i;
     41844+           end = res + i;
     41845+
     41846+           s = alloc((unsigned)(end - start + 1));
     41847+           if (s == NULL)
     41848+               goto errret;
     41849+
     41850+           for (p = s; start < end; ++p, ++start)
     41851+               *p = *start == NUL ? NL : *start;
     41852+           *p = NUL;
     41853+
     41854+           li = listitem_alloc();
     41855+           if (li == NULL)
     41856+           {
     41857+               vim_free(s);
     41858+               goto errret;
     41859+           }
     41860+           li->li_tv.v_type = VAR_STRING;
     41861+           li->li_tv.vval.v_string = s;
     41862+           list_append(list, li);
     41863        }
     41864+
     41865+       ++list->lv_refcount;
     41866+       rettv->v_type = VAR_LIST;
     41867+       rettv->vval.v_list = list;
     41868+       list = NULL;
     41869     }
     41870-#else
     41871-# ifdef USE_CRNL
     41872-    /* translate <CR><NL> into <NL> */
     41873-    if (res != NULL)
     41874+    else
     41875     {
     41876-       char_u  *s, *d;
     41877+       res = get_cmd_output(get_tv_string(&argvars[0]), infile,
     41878+                                          SHELL_SILENT | SHELL_COOKED, NULL);
     41879+#ifdef USE_CR
     41880+       /* translate <CR> into <NL> */
     41881+       if (res != NULL)
     41882+       {
     41883+           char_u      *s;
     41884 
     41885-       d = res;
     41886-       for (s = res; *s; ++s)
     41887+           for (s = res; *s; ++s)
     41888+           {
     41889+               if (*s == CAR)
     41890+                   *s = NL;
     41891+           }
     41892+       }
     41893+#else
     41894+# ifdef USE_CRNL
     41895+       /* translate <CR><NL> into <NL> */
     41896+       if (res != NULL)
     41897        {
     41898-           if (s[0] == CAR && s[1] == NL)
     41899-               ++s;
     41900-           *d++ = *s;
     41901+           char_u      *s, *d;
     41902+
     41903+           d = res;
     41904+           for (s = res; *s; ++s)
     41905+           {
     41906+               if (s[0] == CAR && s[1] == NL)
     41907+                   ++s;
     41908+               *d++ = *s;
     41909+           }
     41910+           *d = NUL;
     41911        }
     41912-       *d = NUL;
     41913-    }
     41914 # endif
     41915 #endif
     41916+       rettv->vval.v_string = res;
     41917+       res = NULL;
     41918+    }
     41919 
     41920-done:
     41921+errret:
     41922     if (infile != NULL)
     41923     {
     41924        mch_remove(infile);
     41925        vim_free(infile);
     41926     }
     41927-    rettv->v_type = VAR_STRING;
     41928-    rettv->vval.v_string = res;
     41929+    if (res != NULL)
     41930+       vim_free(res);
     41931+    if (list != NULL)
     41932+       list_free(list, TRUE);
     41933+}
     41934+
     41935+/*
     41936+ * "system()" function
     41937+ */
     41938+    static void
     41939+f_system(argvars, rettv)
     41940+    typval_T   *argvars;
     41941+    typval_T   *rettv;
     41942+{
     41943+    get_cmd_output_as_rettv(argvars, rettv, FALSE);
     41944+}
     41945+
     41946+/*
     41947+ * "systemlist()" function
     41948+ */
     41949+    static void
     41950+f_systemlist(argvars, rettv)
     41951+    typval_T   *argvars;
     41952+    typval_T   *rettv;
     41953+{
     41954+    get_cmd_output_as_rettv(argvars, rettv, TRUE);
     41955 }
     41956 
     41957 /*
     41958@@ -18688,7 +19051,6 @@
    4044941959     typval_T   *argvars UNUSED;
    4045041960     typval_T   *rettv UNUSED;
     
    4045441964 
    4045541965     rettv->v_type = VAR_STRING;
    40456 @@ -18699,7 +18842,6 @@
     41966@@ -18699,7 +19061,6 @@
    4045741967     /* A non-zero number or non-empty string argument: reset mode. */
    4045841968     if (non_zero_arg(&argvars[0]))
     
    4046241972 
    4046341973 /*
    40464 @@ -19073,14 +19215,12 @@
     41974@@ -18923,6 +19284,49 @@
     41975 }
     41976 
     41977 /*
     41978+ * Write list of strings to file
     41979+ */
     41980+    static int
     41981+write_list(fd, list, binary)
     41982+    FILE       *fd;
     41983+    list_T     *list;
     41984+    int                binary;
     41985+{
     41986+    listitem_T *li;
     41987+    int                c;
     41988+    int                ret = OK;
     41989+    char_u     *s;
     41990+
     41991+    for (li = list->lv_first; li != NULL; li = li->li_next)
     41992+    {
     41993+       for (s = get_tv_string(&li->li_tv); *s != NUL; ++s)
     41994+       {
     41995+           if (*s == '\n')
     41996+               c = putc(NUL, fd);
     41997+           else
     41998+               c = putc(*s, fd);
     41999+           if (c == EOF)
     42000+           {
     42001+               ret = FAIL;
     42002+               break;
     42003+           }
     42004+       }
     42005+       if (!binary || li->li_next != NULL)
     42006+           if (putc('\n', fd) == EOF)
     42007+           {
     42008+               ret = FAIL;
     42009+               break;
     42010+           }
     42011+       if (ret == FAIL)
     42012+       {
     42013+           EMSG(_(e_write));
     42014+           break;
     42015+       }
     42016+    }
     42017+    return ret;
     42018+}
     42019+
     42020+/*
     42021  * "writefile()" function
     42022  */
     42023     static void
     42024@@ -18933,10 +19337,7 @@
     42025     int                binary = FALSE;
     42026     char_u     *fname;
     42027     FILE       *fd;
     42028-    listitem_T *li;
     42029-    char_u     *s;
     42030     int                ret = 0;
     42031-    int                c;
     42032 
     42033     if (check_restricted() || check_secure())
     42034        return;
     42035@@ -18963,33 +19364,8 @@
     42036     }
     42037     else
     42038     {
     42039-       for (li = argvars[0].vval.v_list->lv_first; li != NULL;
     42040-                                                            li = li->li_next)
     42041-       {
     42042-           for (s = get_tv_string(&li->li_tv); *s != NUL; ++s)
     42043-           {
     42044-               if (*s == '\n')
     42045-                   c = putc(NUL, fd);
     42046-               else
     42047-                   c = putc(*s, fd);
     42048-               if (c == EOF)
     42049-               {
     42050-                   ret = -1;
     42051-                   break;
     42052-               }
     42053-           }
     42054-           if (!binary || li->li_next != NULL)
     42055-               if (putc('\n', fd) == EOF)
     42056-               {
     42057-                   ret = -1;
     42058-                   break;
     42059-               }
     42060-           if (ret < 0)
     42061-           {
     42062-               EMSG(_(e_write));
     42063-               break;
     42064-           }
     42065-       }
     42066+       if (write_list(fd, argvars[0].vval.v_list, binary) == FAIL)
     42067+           ret = -1;
     42068        fclose(fd);
     42069     }
     42070 
     42071@@ -19073,14 +19449,12 @@
    4046542072        return NULL;
    4046642073     if (name[0] == '.')                                /* cursor */
     
    4047742084     {
    4047842085        pp = getmark_buf_fnum(curbuf, name[1], FALSE, fnum);
    40479 @@ -19719,11 +19859,12 @@
     42086@@ -19719,11 +20093,12 @@
    4048042087  * Return OK or FAIL.
    4048142088  */
     
    4049142098     int                ret = OK;
    4049242099     typval_T   *tv = NULL;
    40493 @@ -19750,7 +19891,7 @@
     42100@@ -19750,7 +20125,7 @@
    4049442101      */
    4049542102     else
     
    4050042107            tv = &v->di_tv;
    4050142108     }
    40502 @@ -19790,24 +19931,30 @@
     42109@@ -19790,24 +20165,30 @@
    4050342110     while (ret == OK
    4050442111            && (**arg == '['
     
    4053742144            /* Stop the expression evaluation when immediately aborting on
    4053842145             * error, or when an interrupt occurred or an exception was thrown
    40539 @@ -20146,9 +20293,10 @@
     42146@@ -20094,6 +20475,9 @@
     42147     return res != NULL ? res : (char_u *)"";
     42148 }
     42149 
     42150+/*
     42151+ * Careful: This uses a single, static buffer.  YOU CAN ONLY USE IT ONCE!
     42152+ */
     42153     char_u *
     42154 get_tv_string_chk(varp)
     42155     typval_T   *varp;
     42156@@ -20146,9 +20530,10 @@
    4054042157  * hashtab_T used.
    4054142158  */
     
    4054942166     char_u     *varname;
    4055042167     hashtab_T  *ht;
    40551 @@ -20158,7 +20306,7 @@
     42168@@ -20158,7 +20543,7 @@
    4055242169        *htp = ht;
    4055342170     if (ht == NULL)
     
    4055842175 
    4055942176 /*
    40560 @@ -20166,11 +20314,11 @@
     42177@@ -20166,11 +20551,11 @@
    4056142178  * Returns NULL if not found.
    4056242179  */
     
    4057242189     hashitem_T *hi;
    4057342190 
    40574 @@ -20202,7 +20350,7 @@
     42191@@ -20202,7 +20587,7 @@
    4057542192         * worked find the variable again.  Don't auto-load a script if it was
    4057642193         * loaded already, otherwise it would be loaded every time when
     
    4058142198            /* Note: script_autoload() may make "hi" invalid. It must either
    4058242199             * be obtained again or not used. */
    40583 @@ -20282,7 +20430,7 @@
     42200@@ -20282,7 +20667,7 @@
    4058442201 {
    4058542202     dictitem_T *v;
     
    4059042207        return NULL;
    4059142208     return get_tv_string(&v->di_tv);
    40592 @@ -20560,6 +20708,13 @@
     42209@@ -20560,6 +20945,13 @@
    4059342210                v->di_tv.vval.v_number = get_tv_number(tv);
    4059442211                if (STRCMP(varname, "searchforward") == 0)
     
    4060442221            return;
    4060542222        }
    40606 @@ -21361,6 +21516,7 @@
     42223@@ -21206,6 +21598,8 @@
     42224      * dict.func    existing dict entry that's not a Funcref
     42225      *             "name" == NULL, "fudi.fd_dict" set,
     42226      *             "fudi.fd_di" set, "fudi.fd_newkey" == NULL
     42227+     * s:func      script-local function name
     42228+     * g:func      global function name, same as "func"
     42229      */
     42230     p = eap->arg;
     42231     name = trans_function_name(&p, eap->skip, 0, &fudi);
     42232@@ -21361,6 +21755,7 @@
    4060742233                if (STRCMP(((char_u **)(newargs.ga_data))[i], arg) == 0)
    4060842234                {
     
    4061242238                }
    4061342239 
    40614 @@ -21604,7 +21760,7 @@
     42240@@ -21604,7 +21999,7 @@
    4061542241      */
    4061642242     if (fudi.fd_dict == NULL)
     
    4062142247        {
    4062242248            emsg_funcname(N_("E707: Function name conflicts with variable: %s"),
    40623 @@ -21762,8 +21918,9 @@
     42249@@ -21762,8 +22157,9 @@
    4062442250  * Also handles a Funcref in a List or Dictionary.
    4062542251  * Returns the function name in allocated memory, or NULL for failure.
     
    4063342259  */
    4063442260     static char_u *
    40635 @@ -21801,7 +21958,8 @@
     42261@@ -21801,7 +22197,8 @@
    4063642262     if (lead > 2)
    4063742263        start += lead;
     
    4064342269     if (end == start)
    4064442270     {
    40645 @@ -21863,14 +22021,14 @@
     42271@@ -21863,14 +22260,14 @@
    4064642272     if (lv.ll_exp_name != NULL)
    4064742273     {
     
    4066042286            name = NULL;
    4066142287     }
    40662 @@ -22078,7 +22236,8 @@
     42288@@ -21896,7 +22293,8 @@
     42289     }
     42290     else
     42291     {
     42292-       if (lead == 2)  /* skip over "s:" */
     42293+       /* skip over "s:" and "g:" */
     42294+       if (lead == 2 || (lv.ll_name[0] == 'g' && lv.ll_name[1] == ':'))
     42295            lv.ll_name += 2;
     42296        len = (int)(end - lv.ll_name);
     42297     }
     42298@@ -21924,11 +22322,23 @@
     42299            lead += (int)STRLEN(sid_buf);
     42300        }
     42301     }
     42302-    else if (!(flags & TFN_INT) && builtin_function(lv.ll_name))
     42303+    else if (!(flags & TFN_INT) && builtin_function(lv.ll_name, len))
     42304     {
     42305-       EMSG2(_("E128: Function name must start with a capital or contain a colon: %s"), lv.ll_name);
     42306+       EMSG2(_("E128: Function name must start with a capital or \"s:\": %s"),
     42307+                                                                      start);
     42308        goto theend;
     42309     }
     42310+    if (!skip && !(flags & TFN_QUIET))
     42311+    {
     42312+       char_u *cp = vim_strchr(lv.ll_name, ':');
     42313+
     42314+       if (cp != NULL && cp < end)
     42315+       {
     42316+           EMSG2(_("E884: Function name cannot contain a colon: %s"), start);
     42317+           goto theend;
     42318+       }
     42319+    }
     42320+
     42321     name = alloc((unsigned)(len + lead + 1));
     42322     if (name != NULL)
     42323     {
     42324@@ -21941,7 +22351,7 @@
     42325                STRCPY(name + 3, sid_buf);
     42326        }
     42327        mch_memmove(name + lead, lv.ll_name, (size_t)len);
     42328-       name[len + lead] = NUL;
     42329+       name[lead + len] = NUL;
     42330     }
     42331     *pp = end;
     42332 
     42333@@ -22062,7 +22472,7 @@
     42334 translated_function_exists(name)
     42335     char_u     *name;
     42336 {
     42337-    if (builtin_function(name))
     42338+    if (builtin_function(name, -1))
     42339        return find_internal_func(name) >= 0;
     42340     return find_func(name) != NULL;
     42341 }
     42342@@ -22078,7 +22488,8 @@
    4066342343     char_u  *p;
    4066442344     int            n = FALSE;
     
    4067042350 
    4067142351     /* Only accept "funcname", "funcname ", "funcname (..." and
    40672 @@ -22325,10 +22484,6 @@
     42352@@ -22109,14 +22520,20 @@
     42353 
     42354 /*
     42355  * Return TRUE if "name" looks like a builtin function name: starts with a
     42356- * lower case letter and doesn't contain a ':' or AUTOLOAD_CHAR.
     42357+ * lower case letter and doesn't contain AUTOLOAD_CHAR.
     42358+ * "len" is the length of "name", or -1 for NUL terminated.
     42359  */
     42360     static int
     42361-builtin_function(name)
     42362+builtin_function(name, len)
     42363     char_u *name;
     42364+    int len;
     42365 {
     42366-    return ASCII_ISLOWER(name[0]) && vim_strchr(name, ':') == NULL
     42367-                                  && vim_strchr(name, AUTOLOAD_CHAR) == NULL;
     42368+    char_u *p;
     42369+
     42370+    if (!ASCII_ISLOWER(name[0]))
     42371+       return FALSE;
     42372+    p = vim_strchr(name, AUTOLOAD_CHAR);
     42373+    return p == NULL || (len > 0 && p > name + len);
     42374 }
     42375 
     42376 #if defined(FEAT_PROFILE) || defined(PROTO)
     42377@@ -22325,10 +22742,6 @@
    4067342378     int                ret = FALSE;
    4067442379     int                i;
     
    4068142386     p = vim_strchr(name, AUTOLOAD_CHAR);
    4068242387     if (p == NULL || p == name)
    40683 @@ -24260,6 +24415,17 @@
     42388@@ -24260,6 +24673,17 @@
    4068442389        }
    4068542390     }
     
    4069942404 }
    4070042405 
    40701 @@ -24283,6 +24449,7 @@
     42406@@ -24283,6 +24707,7 @@
    4070242407     garray_T   ga;
    4070342408     char_u     *ret;
     
    4070742412     /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */
    4070842413     save_cpo = p_cpo;
    40709 @@ -24299,6 +24466,19 @@
     42414@@ -24299,6 +24724,19 @@
    4071042415        tail = str;
    4071142416        while (vim_regexec_nl(&regmatch, str, (colnr_T)(tail - str)))
     
    4072742432             * Get some space for a temporary buffer to do the substitution
    4072842433             * into.  It will contain:
    40729 @@ -24321,20 +24501,9 @@
     42434@@ -24321,20 +24759,9 @@
    4073042435            (void)vim_regsub(&regmatch, sub, (char_u *)ga.ga_data
    4073142436                                          + ga.ga_len + i, TRUE, TRUE, FALSE);
     
    4075342458diff -Naur vim74.orig/src/ex_cmds.c vim74/src/ex_cmds.c
    4075442459--- vim74.orig/src/ex_cmds.c    2013-08-07 13:15:51.000000000 +0000
    40755 +++ vim74/src/ex_cmds.c 2014-03-30 20:09:04.499388630 +0000
     42460+++ vim74/src/ex_cmds.c 2014-04-27 05:20:58.141769246 +0000
    4075642461@@ -1012,7 +1012,18 @@
    4075742462 
     
    4080042505 #ifdef FEAT_AUTOCMD
    4080142506     if ((command != NULL || newlnum > (linenr_T)0)
    40802 @@ -4097,12 +4108,12 @@
     42507@@ -3332,6 +3343,12 @@
     42508 #endif
     42509            buf = buflist_new(ffname, sfname, 0L,
     42510                    BLN_CURBUF | ((flags & ECMD_SET_HELP) ? 0 : BLN_LISTED));
     42511+#ifdef FEAT_AUTOCMD
     42512+           /* autocommands may change curwin and curbuf */
     42513+           if (oldwin != NULL)
     42514+               oldwin = curwin;
     42515+           old_curbuf = curbuf;
     42516+#endif
     42517        }
     42518        if (buf == NULL)
     42519            goto theend;
     42520@@ -4097,12 +4114,12 @@
    4080342521      * 'scroll' */
    4080442522     if (eap->forceit)
     
    4081642534        bigness = 1;
    4081742535 
    40818 @@ -4740,11 +4751,17 @@
     42536@@ -4409,6 +4426,31 @@
     42537        endcolumn = (curwin->w_curswant == MAXCOL);
     42538     }
     42539 
     42540+    /* Recognize ":%s/\n//" and turn it into a join command, which is much
     42541+     * more efficient.
     42542+     * TODO: find a generic solution to make line-joining operations more
     42543+     * efficient, avoid allocating a string that grows in size.
     42544+     */
     42545+    if (pat != NULL && STRCMP(pat, "\\n") == 0
     42546+           && *sub == NUL
     42547+           && (*cmd == NUL || (cmd[1] == NUL && (*cmd == 'g' || *cmd == 'l'
     42548+                                            || *cmd == 'p' || *cmd == '#'))))
     42549+    {
     42550+       curwin->w_cursor.lnum = eap->line1;
     42551+       if (*cmd == 'l')
     42552+           eap->flags = EXFLAG_LIST;
     42553+       else if (*cmd == '#')
     42554+           eap->flags = EXFLAG_NR;
     42555+       else if (*cmd == 'p')
     42556+           eap->flags = EXFLAG_PRINT;
     42557+
     42558+       (void)do_join(eap->line2 - eap->line1 + 1, FALSE, TRUE, FALSE);
     42559+       sub_nlines = sub_nsubs = eap->line2 - eap->line1 + 1;
     42560+       (void)do_sub_msg(FALSE);
     42561+       ex_may_print(eap);
     42562+       return;
     42563+    }
     42564+
     42565     /*
     42566      * Find trailing options.  When '&' is used, keep old options.
     42567      */
     42568@@ -4740,11 +4782,17 @@
    4081942569                            char_u      *resp;
    4082042570                            colnr_T     sc, ec;
     
    4083542585                            for (i = 0; i < (long)sc; ++i)
    4083642586                                msg_putchar(' ');
    40837 @@ -5928,14 +5945,18 @@
     42587@@ -5928,14 +5976,18 @@
    4083842588                               "?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?",
    4083942589                               "/\\?", "/\\z(\\)", "\\=", ":s\\=",
     
    4085642606 
    4085742607     d = IObuff;                    /* assume IObuff is long enough! */
    40858 @@ -5974,7 +5995,7 @@
     42608@@ -5974,7 +6026,7 @@
    4085942609          /* Replace:
    4086042610           * "[:...:]" with "\[:...:]"
     
    4086542615            if ((arg[0] == '[' && (arg[1] == ':'
    4086642616                         || (arg[1] == '+' && arg[2] == '+')))
    40867 @@ -7658,7 +7679,7 @@
     42617@@ -7658,7 +7710,7 @@
    4086842618 # ifdef FEAT_WINDOWS
    4086942619            ++emsg_off;
     
    4087642626diff -Naur vim74.orig/src/ex_cmds.h vim74/src/ex_cmds.h
    4087742627--- vim74.orig/src/ex_cmds.h    2013-06-08 13:08:20.000000000 +0000
    40878 +++ vim74/src/ex_cmds.h 2014-03-30 20:09:04.499388630 +0000
     42628+++ vim74/src/ex_cmds.h 2014-04-27 05:20:58.141769246 +0000
    4087942629@@ -477,6 +477,8 @@
    4088042630                        NEEDARG|EXTRA|NOTRLCOM),
     
    4091442664diff -Naur vim74.orig/src/ex_cmds2.c vim74/src/ex_cmds2.c
    4091542665--- vim74.orig/src/ex_cmds2.c   2013-06-28 18:14:53.000000000 +0000
    40916 +++ vim74/src/ex_cmds2.c        2014-03-30 20:09:04.499388630 +0000
     42666+++ vim74/src/ex_cmds2.c        2014-04-27 05:20:58.145102663 +0000
    4091742667@@ -1436,20 +1436,20 @@
    4091842668 }
     
    4101042760        /* start at the first argument/window/buffer */
    4101142761        i = 0;
     42762@@ -4329,7 +4341,7 @@
     42763     /* Find all available locales by running command "locale -a".  If this
     42764      * doesn't work we won't have completion. */
     42765     char_u *locale_a = get_cmd_output((char_u *)"locale -a",
     42766-                                                       NULL, SHELL_SILENT);
     42767+                                                   NULL, SHELL_SILENT, NULL);
     42768     if (locale_a == NULL)
     42769        return NULL;
     42770     ga_init2(&locales_ga, sizeof(char_u *), 20);
    4101242771diff -Naur vim74.orig/src/ex_docmd.c vim74/src/ex_docmd.c
    4101342772--- vim74.orig/src/ex_docmd.c   2013-07-24 13:09:37.000000000 +0000
    41014 +++ vim74/src/ex_docmd.c        2014-03-30 20:09:04.502722073 +0000
    41015 @@ -1843,6 +1843,11 @@
     42773+++ vim74/src/ex_docmd.c        2014-04-27 05:20:58.148436078 +0000
     42774@@ -316,7 +316,6 @@
     42775 static void    ex_operators __ARGS((exarg_T *eap));
     42776 static void    ex_put __ARGS((exarg_T *eap));
     42777 static void    ex_copymove __ARGS((exarg_T *eap));
     42778-static void    ex_may_print __ARGS((exarg_T *eap));
     42779 static void    ex_submagic __ARGS((exarg_T *eap));
     42780 static void    ex_join __ARGS((exarg_T *eap));
     42781 static void    ex_at __ARGS((exarg_T *eap));
     42782@@ -1843,6 +1842,11 @@
    4101642783                            cmdmod.keepalt = TRUE;
    4101742784                            continue;
     
    4102542792                            break;
    4102642793                        cmdmod.keepjumps = TRUE;
    41027 @@ -1869,18 +1874,23 @@
     42794@@ -1869,18 +1873,23 @@
    4102842795 #endif
    4102942796                        continue;
     
    4105842825 
    4105942826            case 'r':   if (!checkforcmd(&ea.cmd, "rightbelow", 6))
    41060 @@ -2584,12 +2594,15 @@
     42827@@ -2584,12 +2593,15 @@
    4106142828            case CMD_keepalt:
    4106242829            case CMD_keepjumps:
     
    4107442841            case CMD_psearch:
    4107542842            case CMD_python:
    41076 @@ -3089,9 +3102,11 @@
     42843@@ -3089,9 +3101,11 @@
    4107742844     {"keepalt", 5, FALSE},
    4107842845     {"keepjumps", 5, FALSE},
     
    4108642853     {"sandbox", 3, FALSE},
    4108742854     {"silent", 3, FALSE},
    41088 @@ -3254,7 +3269,11 @@
     42855@@ -3254,7 +3268,11 @@
    4108942856            ++p;
    4109042857        /* for python 3.x: ":py3*" commands completion */
     
    4109842865 
    4109942866        if (len == 0)
    41100 @@ -3597,8 +3616,11 @@
     42867@@ -3597,8 +3615,11 @@
    4110142868        case CMD_keepalt:
    4110242869        case CMD_keepjumps:
     
    4111042877        case CMD_sandbox:
    4111142878        case CMD_silent:
    41112 @@ -6565,7 +6587,9 @@
     42879@@ -4559,25 +4580,15 @@
     42880 
     42881        /* For a shell command a '!' must be escaped. */
     42882        if ((eap->usefilter || eap->cmdidx == CMD_bang)
     42883-                           && vim_strpbrk(repl, (char_u *)"!&;()<>") != NULL)
     42884+                           && vim_strpbrk(repl, (char_u *)"!") != NULL)
     42885        {
     42886            char_u      *l;
     42887 
     42888-           l = vim_strsave_escaped(repl, (char_u *)"!&;()<>");
     42889+           l = vim_strsave_escaped(repl, (char_u *)"!");
     42890            if (l != NULL)
     42891            {
     42892                vim_free(repl);
     42893                repl = l;
     42894-               /* For a sh-like shell escape "!" another time. */
     42895-               if (strstr((char *)p_sh, "sh") != NULL)
     42896-               {
     42897-                   l = vim_strsave_escaped(repl, (char_u *)"!");
     42898-                   if (l != NULL)
     42899-                   {
     42900-                       vim_free(repl);
     42901-                       repl = l;
     42902-                   }
     42903-               }
     42904            }
     42905        }
     42906 
     42907@@ -4830,7 +4841,7 @@
     42908     if (*arg == '+')       /* +[command] */
     42909     {
     42910        ++arg;
     42911-       if (vim_isspace(*arg))
     42912+       if (vim_isspace(*arg) || *arg == NUL)
     42913            command = dollar_command;
     42914        else
     42915        {
     42916@@ -6565,7 +6576,9 @@
    4111342917     if (check_more(FALSE, eap->forceit) == OK && only_one_window())
    4111442918        exiting = TRUE;
     
    4112142925            || (only_one_window() && check_changed_any(eap->forceit)))
    4112242926     {
    41123 @@ -7099,7 +7123,7 @@
     42927@@ -7099,7 +7112,7 @@
    4112442928     if (!P_HID(curbuf) && !split)
    4112542929     {
     
    4113042934     }
    4113142935     if (split)
    41132 @@ -7361,7 +7385,11 @@
     42936@@ -7361,7 +7374,11 @@
    4113342937 {
    4113442938     /* Set recoverymode right away to avoid the ATTENTION prompt. */
     
    4114342947                             || setfname(curbuf, eap->arg, NULL, TRUE) == OK))
    4114442948        ml_recover();
    41145 @@ -7910,6 +7938,8 @@
     42949@@ -7910,6 +7927,8 @@
    4114642950                                               ? ECMD_ONE : eap->do_ecmd_lnum,
    4114742951                    (P_HID(curbuf) ? ECMD_HIDE : 0)
     
    4115242956                    + (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 )
    4115342957 #endif
    41154 @@ -8036,6 +8066,8 @@
     42958@@ -8036,6 +8055,8 @@
    4115542959 {
    4115642960 #ifdef FEAT_SCROLLBIND
     
    4116142965     long       y;
    4116242966     linenr_T   old_linenr = curwin->w_cursor.lnum;
    41163 @@ -8067,13 +8099,13 @@
     42967@@ -8067,13 +8088,13 @@
    4116442968 
    4116542969 
     
    4117742981            if (y > 0)
    4117842982                scrollup(y, TRUE);
    41179 @@ -8087,7 +8119,8 @@
     42983@@ -8087,7 +8108,8 @@
    4118042984 #endif
    4118142985        }
     
    4118742991     {
    4118842992        did_syncbind = TRUE;
    41189 @@ -8207,6 +8240,7 @@
     42993@@ -8207,6 +8229,7 @@
    4119042994     int                local;
    4119142995 {
     
    4119542999     {
    4119643000        /* If still in global directory, need to remember current
    41197 @@ -8223,7 +8257,6 @@
     43001@@ -8223,7 +8246,6 @@
    4119843002         * name. */
    4119943003        vim_free(globaldir);
     
    4120343007 
    4120443008     shorten_fnames(TRUE);
    41205 @@ -8350,7 +8383,7 @@
     43009@@ -8350,7 +8372,7 @@
    4120643010     {
    4120743011        n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled;
     
    4121243016 
    4121343017     len = eap->line2;
    41214 @@ -8556,6 +8589,9 @@
     43018@@ -8556,6 +8578,9 @@
    4121543019        beginline(BL_SOL | BL_FIX);
    4121643020     }
     
    4122243026     {
    4122343027        case CMD_delete:
    41224 @@ -8965,11 +9001,7 @@
     43028@@ -8647,7 +8672,7 @@
     43029 /*
     43030  * Print the current line if flags were given to the Ex command.
     43031  */
     43032-    static void
     43033+    void
     43034 ex_may_print(eap)
     43035     exarg_T    *eap;
     43036 {
     43037@@ -8965,11 +8990,7 @@
    4122543038     RedrawingDisabled = 0;
    4122643039     p_lz = FALSE;
     
    4123543048     if (need_maketitle)
    4123643049        maketitle();
    41237 @@ -9004,11 +9036,7 @@
     43050@@ -9004,11 +9025,7 @@
    4123843051        status_redraw_all();
    4123943052     else
     
    4124843061     p_lz = p;
    4124943062     out_flush();
    41250 @@ -10355,7 +10383,7 @@
     43063@@ -10355,7 +10372,7 @@
    4125143064     }
    4125243065 
     
    4125743070        return FAIL;
    4125843071 
    41259 @@ -10929,9 +10957,9 @@
     43072@@ -10929,9 +10946,9 @@
    4126043073     char_u     *buf = NULL;
    4126143074     char_u     *s;
     
    4127043083     for (i = 0; i < gap->ga_len; ++i)
    4127143084     {
    41272 @@ -10948,7 +10976,9 @@
     43085@@ -10948,7 +10965,9 @@
    4127343086                    s = buf;
    4127443087                }
     
    4128143094                vim_free(buf);
    4128243095                return FAIL;
    41283 @@ -10956,7 +10986,7 @@
     43096@@ -10956,7 +10975,7 @@
    4128443097            vim_free(buf);
    4128543098        }
     
    4129043103 
    4129143104 /*
    41292 @@ -11389,7 +11419,7 @@
     43105@@ -11389,7 +11408,7 @@
    4129343106 ex_nohlsearch(eap)
    4129443107     exarg_T    *eap UNUSED;
     
    4130143114diff -Naur vim74.orig/src/ex_eval.c vim74/src/ex_eval.c
    4130243115--- vim74.orig/src/ex_eval.c    2013-06-08 13:50:28.000000000 +0000
    41303 +++ vim74/src/ex_eval.c 2014-03-30 20:09:04.502722073 +0000
     43116+++ vim74/src/ex_eval.c 2014-04-27 05:20:58.148436078 +0000
    4130443117@@ -321,6 +321,17 @@
    4130543118 }
     
    4148743300diff -Naur vim74.orig/src/ex_getln.c vim74/src/ex_getln.c
    4148843301--- vim74.orig/src/ex_getln.c   2013-07-05 17:44:21.000000000 +0000
    41489 +++ vim74/src/ex_getln.c        2014-03-30 20:09:04.506055515 +0000
     43302+++ vim74/src/ex_getln.c        2014-04-27 05:20:58.151769494 +0000
    4149043303@@ -2280,7 +2280,7 @@
    4149143304 
     
    4153943352diff -Naur vim74.orig/src/feature.h vim74/src/feature.h
    4154043353--- vim74.orig/src/feature.h    2013-05-18 18:18:20.000000000 +0000
    41541 +++ vim74/src/feature.h 2014-03-30 20:09:04.506055515 +0000
     43354+++ vim74/src/feature.h 2014-04-27 05:20:58.151769494 +0000
    4154243355@@ -211,18 +211,11 @@
    4154343356 #endif
     
    4160643419diff -Naur vim74.orig/src/fileio.c vim74/src/fileio.c
    4160743420--- vim74.orig/src/fileio.c     2013-08-05 19:58:03.000000000 +0000
    41608 +++ vim74/src/fileio.c  2014-03-30 20:09:04.512722401 +0000
     43421+++ vim74/src/fileio.c  2014-04-27 05:20:58.155102910 +0000
    4160943422@@ -428,13 +428,13 @@
    4161043423        }
     
    4171743530     }
    4171843531     *lenp = CRYPT_MAGIC_LEN + salt_len + seed_len;
     43532@@ -4024,7 +4030,7 @@
     43533                                                )
     43534                            mch_setperm(backup,
     43535                                          (perm & 0707) | ((perm & 07) << 3));
     43536-# ifdef HAVE_SELINUX
     43537+# if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
     43538                        mch_copy_sec(fname, backup);
     43539 # endif
     43540 #endif
     43541@@ -4063,7 +4069,7 @@
     43542 #ifdef HAVE_ACL
     43543                        mch_set_acl(backup, acl);
     43544 #endif
     43545-#ifdef HAVE_SELINUX
     43546+#if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
     43547                        mch_copy_sec(fname, backup);
     43548 #endif
     43549                        break;
     43550@@ -4712,7 +4718,7 @@
     43551     }
     43552 #endif
     43553 
     43554-#ifdef HAVE_SELINUX
     43555+#if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
     43556     /* Probably need to set the security context. */
     43557     if (!backup_copy)
     43558        mch_copy_sec(backup, wfname);
    4171943559@@ -5288,7 +5294,7 @@
    4172043560     if (shortmess(SHM_LINES))
     
    4173943579     mch_free_acl(acl);
    4174043580 #endif
    41741 +#ifdef HAVE_SELINUX
     43581+#if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
    4174243582+    mch_copy_sec(from, to);
    4174343583+#endif
     
    4178343623            fname = vim_strsave(fname);
    4178443624        else
     43625@@ -9536,13 +9548,19 @@
     43626 
     43627     /*
     43628      * When stopping to execute autocommands, restore the search patterns and
     43629-     * the redo buffer.
     43630+     * the redo buffer.  Free buffers in the au_pending_free_buf list.
     43631      */
     43632     if (!autocmd_busy)
     43633     {
     43634        restore_search_patterns();
     43635        restoreRedobuff();
     43636        did_filetype = FALSE;
     43637+       while (au_pending_free_buf != NULL)
     43638+       {
     43639+           buf_T *b = au_pending_free_buf->b_next;
     43640+           vim_free(au_pending_free_buf);
     43641+           au_pending_free_buf = b;
     43642+       }
     43643     }
     43644 
     43645     /*
    4178543646diff -Naur vim74.orig/src/fold.c vim74/src/fold.c
    4178643647--- vim74.orig/src/fold.c       2013-06-15 14:57:24.000000000 +0000
    41787 +++ vim74/src/fold.c    2014-03-30 20:09:04.512722401 +0000
     43648+++ vim74/src/fold.c    2014-04-27 05:20:58.158436326 +0000
    4178843649@@ -430,11 +430,9 @@
    4178943650     }
     
    4183743698diff -Naur vim74.orig/src/getchar.c vim74/src/getchar.c
    4183843699--- vim74.orig/src/getchar.c    2013-06-29 11:43:27.000000000 +0000
    41839 +++ vim74/src/getchar.c 2014-03-30 20:09:04.512722401 +0000
     43700+++ vim74/src/getchar.c 2014-04-27 05:20:58.158436326 +0000
    4184043701@@ -40,13 +40,13 @@
    4184143702 
     
    4231444175diff -Naur vim74.orig/src/globals.h vim74/src/globals.h
    4231544176--- vim74.orig/src/globals.h    2013-07-04 17:53:44.000000000 +0000
    42316 +++ vim74/src/globals.h 2014-03-30 20:09:04.516055846 +0000
    42317 @@ -662,7 +662,6 @@
     44177+++ vim74/src/globals.h 2014-04-27 05:20:58.161769742 +0000
     44178@@ -386,6 +386,11 @@
     44179 /* When deleting the current buffer, another one must be loaded.  If we know
     44180  * which one is preferred, au_new_curbuf is set to it */
     44181 EXTERN buf_T   *au_new_curbuf INIT(= NULL);
     44182+
     44183+/* When deleting the buffer and autocmd_busy is TRUE, do not free the buffer
     44184+ * but link it in the list starting with au_pending_free_buf, using b_next.
     44185+ * Free the buffer when autocmd_busy is set to FALSE. */
     44186+EXTERN buf_T   *au_pending_free_buf INIT(= NULL);
     44187 #endif
     44188 
     44189 #ifdef FEAT_MOUSE
     44190@@ -662,7 +667,6 @@
    4231844191                                /* set to TRUE when "-s" commandline argument
    4231944192                                 * used for ex */
     
    4232344196 EXTERN int     VIsual_active INIT(= FALSE);
    4232444197                                /* whether Visual mode is active */
    42325 @@ -677,7 +676,6 @@
     44198@@ -677,7 +681,6 @@
    4232644199 
    4232744200 EXTERN int     redo_VIsual_busy INIT(= FALSE);
     
    4233144204 #ifdef FEAT_MOUSE
    4233244205 /*
    42333 @@ -752,6 +750,12 @@
     44206@@ -752,6 +755,12 @@
    4233444207  */
    4233544208 EXTERN pos_T   Insstart;               /* This is where the latest
     
    4234444217 /*
    4234544218  * Stuff for VREPLACE mode.
    42346 @@ -979,11 +983,6 @@
     44219@@ -979,11 +988,6 @@
    4234744220 EXTERN int     readonlymode INIT(= FALSE); /* Set to TRUE for "view" */
    4234844221 EXTERN int     recoverymode INIT(= FALSE); /* Set to TRUE for "-r" option */
     
    4235644229 #ifdef DO_INIT
    4235744230                    = {NULL, NULL, 0, 0, 0, 0, 0, 0, 0}
    42358 @@ -1177,11 +1176,9 @@
     44231@@ -1177,11 +1181,9 @@
    4235944232 EXTERN int     fill_diff INIT(= '-');
    4236044233 #endif
     
    4236844241 #ifdef FEAT_CMDWIN
    4236944242 EXTERN int     cedit_key INIT(= -1);   /* key value of 'cedit' option */
    42370 @@ -1490,6 +1487,7 @@
     44243@@ -1490,6 +1492,7 @@
    4237144244 EXTERN char_u e_notopen[]      INIT(= N_("E484: Can't open file %s"));
    4237244245 EXTERN char_u e_notread[]      INIT(= N_("E485: Can't read file %s"));
     
    4237844251diff -Naur vim74.orig/src/gui.c vim74/src/gui.c
    4237944252--- vim74.orig/src/gui.c        2013-06-30 15:41:48.000000000 +0000
    42380 +++ vim74/src/gui.c     2014-03-30 20:09:04.516055846 +0000
     44253+++ vim74/src/gui.c     2014-04-27 05:20:58.161769742 +0000
    4238144254@@ -3132,11 +3132,9 @@
    4238244255      */
     
    4239144264        /*
    4239244265         * When 'mousemodel' is "popup", shift-left is translated to right.
     44266diff -Naur vim74.orig/src/gui_gtk_x11.c vim74/src/gui_gtk_x11.c
     44267--- vim74.orig/src/gui_gtk_x11.c        2013-06-30 15:42:13.000000000 +0000
     44268+++ vim74/src/gui_gtk_x11.c     2014-04-27 05:20:58.171769991 +0000
     44269@@ -732,7 +732,10 @@
     44270 gui_mch_start_blink(void)
     44271 {
     44272     if (blink_timer)
     44273+    {
     44274        gtk_timeout_remove(blink_timer);
     44275+       blink_timer = 0;
     44276+    }
     44277     /* Only switch blinking on if none of the times is zero */
     44278     if (blink_waittime && blink_ontime && blink_offtime && gui.in_focus)
     44279     {
    4239344280diff -Naur vim74.orig/src/gui_mac.c vim74/src/gui_mac.c
    4239444281--- vim74.orig/src/gui_mac.c    2013-05-06 02:06:04.000000000 +0000
    42395 +++ vim74/src/gui_mac.c 2014-03-30 20:09:04.532723060 +0000
     44282+++ vim74/src/gui_mac.c 2014-04-27 05:20:58.175103406 +0000
    4239644283@@ -1068,11 +1068,7 @@
    4239744284     }
     
    4242644313diff -Naur vim74.orig/src/gui_w48.c vim74/src/gui_w48.c
    4242744314--- vim74.orig/src/gui_w48.c    2013-08-10 11:36:45.000000000 +0000
    42428 +++ vim74/src/gui_w48.c 2014-03-30 20:09:04.539389946 +0000
     44315+++ vim74/src/gui_w48.c 2014-04-27 05:20:58.181770239 +0000
    4242944316@@ -1008,7 +1008,7 @@
    4243044317     static LPARAM last_lParam = 0L;
     
    4248844375diff -Naur vim74.orig/src/if_perl.xs vim74/src/if_perl.xs
    4248944376--- vim74.orig/src/if_perl.xs   2013-08-02 17:28:50.000000000 +0000
    42490 +++ vim74/src/if_perl.xs        2014-03-30 20:09:04.556057162 +0000
     44377+++ vim74/src/if_perl.xs        2014-04-27 05:20:58.191770487 +0000
    4249144378@@ -14,7 +14,8 @@
    4249244379 #define IN_PERL_FILE   /* don't include if_perl.pro from proto.h */
     
    4265544542diff -Naur vim74.orig/src/if_py_both.h vim74/src/if_py_both.h
    4265644543--- vim74.orig/src/if_py_both.h 2013-07-24 15:09:19.000000000 +0000
    42657 +++ vim74/src/if_py_both.h      2014-03-30 20:09:04.559390604 +0000
     44544+++ vim74/src/if_py_both.h      2014-04-27 05:20:58.195103903 +0000
    4265844545@@ -13,6 +13,11 @@
    4265944546  * Common code for if_python.c and if_python3.c.
     
    4349145378diff -Naur vim74.orig/src/if_python.c vim74/src/if_python.c
    4349245379--- vim74.orig/src/if_python.c  2013-07-09 19:40:11.000000000 +0000
    43493 +++ vim74/src/if_python.c       2014-03-30 20:09:04.559390604 +0000
     45380+++ vim74/src/if_python.c       2014-04-27 05:20:58.198437320 +0000
    4349445381@@ -196,6 +196,7 @@
    4349545382 # define PyTuple_Size dll_PyTuple_Size
     
    4359345480diff -Naur vim74.orig/src/if_python3.c vim74/src/if_python3.c
    4359445481--- vim74.orig/src/if_python3.c 2013-07-09 19:53:21.000000000 +0000
    43595 +++ vim74/src/if_python3.c      2014-03-30 20:09:04.559390604 +0000
     45482+++ vim74/src/if_python3.c      2014-04-27 05:20:58.198437320 +0000
    4359645483@@ -97,6 +97,19 @@
    4359745484 #define Py_ssize_t_fmt "n"
     
    4375045637diff -Naur vim74.orig/src/if_ruby.c vim74/src/if_ruby.c
    4375145638--- vim74.orig/src/if_ruby.c    2013-05-20 10:47:48.000000000 +0000
    43752 +++ vim74/src/if_ruby.c 2014-03-30 20:09:04.559390604 +0000
     45639+++ vim74/src/if_ruby.c 2014-04-27 05:20:58.198437320 +0000
    4375345640@@ -88,14 +88,20 @@
    4375445641 # define rb_int2big rb_int2big_stub
     
    4385745744diff -Naur vim74.orig/src/if_tcl.c vim74/src/if_tcl.c
    4385845745--- vim74.orig/src/if_tcl.c     2013-08-02 17:31:15.000000000 +0000
    43859 +++ vim74/src/if_tcl.c  2014-03-30 20:09:04.562724049 +0000
     45746+++ vim74/src/if_tcl.c  2014-04-27 05:20:58.201770736 +0000
    4386045747@@ -165,6 +165,7 @@
    4386145748  */
     
    4389045777diff -Naur vim74.orig/src/main.c vim74/src/main.c
    4389145778--- vim74.orig/src/main.c       2013-07-03 10:36:49.000000000 +0000
    43892 +++ vim74/src/main.c    2014-03-30 20:09:04.569390934 +0000
     45779+++ vim74/src/main.c    2014-04-27 05:20:58.208437568 +0000
    4389345780@@ -702,6 +702,11 @@
    4389445781        TIME_MSG("reading viminfo");
     
    4396345850            else if (redraw_cmdline || clear_cmdline)
    4396445851                showmode();
    43965 @@ -2727,6 +2723,7 @@
     45852@@ -1606,6 +1602,7 @@
     45853 
     45854 #ifdef FEAT_EVAL
     45855     set_vim_var_string(VV_PROGNAME, initstr, -1);
     45856+    set_vim_var_string(VV_PROGPATH, (char_u *)parmp->argv[0], -1);
     45857 #endif
     45858 
     45859     if (TOLOWER_ASC(initstr[0]) == 'r')
     45860@@ -2727,6 +2724,7 @@
    4396645861     int                arg_idx;                /* index in argument list */
    4396745862     int                i;
     
    4397145866 # ifdef FEAT_AUTOCMD
    4397245867     /*
    43973 @@ -2816,24 +2813,22 @@
     45868@@ -2816,24 +2814,22 @@
    4397445869 # ifdef FEAT_AUTOCMD
    4397545870     --autocmd_no_enter;
     
    4401045905diff -Naur vim74.orig/src/mark.c vim74/src/mark.c
    4401145906--- vim74.orig/src/mark.c       2013-08-02 15:22:10.000000000 +0000
    44012 +++ vim74/src/mark.c    2014-03-30 20:09:04.576057820 +0000
     45907+++ vim74/src/mark.c    2014-04-27 05:20:58.208437568 +0000
    4401345908@@ -98,7 +98,6 @@
    4401445909        return OK;
     
    4412646021diff -Naur vim74.orig/src/mbyte.c vim74/src/mbyte.c
    4412746022--- vim74.orig/src/mbyte.c      2013-07-05 18:07:21.000000000 +0000
    44128 +++ vim74/src/mbyte.c   2014-03-30 20:09:04.576057820 +0000
     46023+++ vim74/src/mbyte.c   2014-04-27 05:20:58.211770985 +0000
    4412946024@@ -83,10 +83,18 @@
    4413046025 # ifndef WIN32_LEAN_AND_MEAN
     
    4420646101        else
    4420746102            return (int)classes[mid].class;
     46103diff -Naur vim74.orig/src/memfile.c vim74/src/memfile.c
     46104--- vim74.orig/src/memfile.c    2013-05-23 20:22:22.000000000 +0000
     46105+++ vim74/src/memfile.c 2014-04-27 05:20:58.211770985 +0000
     46106@@ -1358,7 +1358,7 @@
     46107        if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0)
     46108            fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC);
     46109 #endif
     46110-#ifdef HAVE_SELINUX
     46111+#if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
     46112        mch_copy_sec(fname, mfp->mf_fname);
     46113 #endif
     46114        mch_hide(mfp->mf_fname);    /* try setting the 'hidden' flag */
    4420846115diff -Naur vim74.orig/src/memline.c vim74/src/memline.c
    4420946116--- vim74.orig/src/memline.c    2013-05-06 02:01:02.000000000 +0000
    44210 +++ vim74/src/memline.c 2014-03-30 20:09:04.579391263 +0000
     46117+++ vim74/src/memline.c 2014-04-27 05:20:58.215104401 +0000
    4421146118@@ -289,6 +289,9 @@
    4421246119     buf->b_ml.ml_chunksize = NULL;
     
    4440646313diff -Naur vim74.orig/src/menu.c vim74/src/menu.c
    4440746314--- vim74.orig/src/menu.c       2011-04-11 13:17:21.000000000 +0000
    44408 +++ vim74/src/menu.c    2014-03-30 20:09:04.582724706 +0000
     46315+++ vim74/src/menu.c    2014-04-27 05:20:58.215104401 +0000
    4440946316@@ -1640,7 +1640,6 @@
    4441046317        idx = MENU_INDEX_INSERT;
     
    4444046347diff -Naur vim74.orig/src/message.c vim74/src/message.c
    4444146348--- vim74.orig/src/message.c    2013-08-09 18:30:45.000000000 +0000
    44442 +++ vim74/src/message.c 2014-03-30 20:09:04.586058149 +0000
     46349+++ vim74/src/message.c 2014-04-27 05:20:58.218437816 +0000
    4444346350@@ -887,6 +887,8 @@
    4444446351     int                oldState;
     
    4448346390diff -Naur vim74.orig/src/misc1.c vim74/src/misc1.c
    4448446391--- vim74.orig/src/misc1.c      2013-08-03 15:29:33.000000000 +0000
    44485 +++ vim74/src/misc1.c   2014-03-30 20:09:04.589391593 +0000
     46392+++ vim74/src/misc1.c   2014-04-27 05:20:58.218437816 +0000
    4448646393@@ -303,10 +303,18 @@
    4448746394        ml_replace(curwin->w_cursor.lnum, newline, FALSE);
     
    4490146808-     */
    4490246809-    int ind_no_brace = 0;
    44903 +    /* Column where the first { of a function should be located }. */
    44904 +    buf->b_ind_first_open = 0;
    44905  
     46810-
    4490646811-    /*
    4490746812-     * column where the first { of a function should be located }
    4490846813-     */
    4490946814-    int ind_first_open = 0;
    44910 +    /* Spaces from the prevailing indent a leftmost open brace should be
    44911 +     * located. */
    44912 +    buf->b_ind_open_extra = 0;
     46815+    /* Column where the first { of a function should be located }. */
     46816+    buf->b_ind_first_open = 0;
    4491346817 
    4491446818-    /*
     
    4491746821-     */
    4491846822-    int ind_open_extra = 0;
    44919 -
     46823+    /* Spaces from the prevailing indent a leftmost open brace should be
     46824+     * located. */
     46825+    buf->b_ind_open_extra = 0;
     46826 
    4492046827-    /*
    4492146828-     * spaces from the matching open brace (real location for one at the left
     
    4514947056+     * while(). */
    4515047057+    buf->b_ind_if_for_while = 0;
    45151  
     47058+
    4515247059+    for (p = buf->b_p_cino; *p; )
    4515347060+    {
     
    4522947136+    }
    4523047137+}
    45231 +
     47138 
    4523247139+    int
    4523347140+get_c_indent()
     
    4623448141     getout(1);
    4623548142 }
     48143@@ -10710,7 +10665,7 @@
     48144     else
     48145 #endif
     48146        buffer = get_cmd_output(cmd, NULL,
     48147-                                     (flags & EW_SILENT) ? SHELL_SILENT : 0);
     48148+                               (flags & EW_SILENT) ? SHELL_SILENT : 0, NULL);
     48149     vim_free(cmd);
     48150     if (buffer == NULL)
     48151        return 0;
     48152@@ -10773,7 +10728,7 @@
     48153        return;
     48154 
     48155     /* If the file isn't executable, may not add it.  Do accept directories. */
     48156-    if (!isdir && (flags & EW_EXEC) && !mch_can_exe(f))
     48157+    if (!isdir && (flags & EW_EXEC) && !mch_can_exe(f, NULL))
     48158        return;
     48159 
     48160     /* Make room for another item in the file list. */
     48161@@ -10810,13 +10765,16 @@
     48162 
     48163 /*
     48164  * Get the stdout of an external command.
     48165+ * If "ret_len" is NULL replace NUL characters with NL.  When "ret_len" is not
     48166+ * NULL store the length there.
     48167  * Returns an allocated string, or NULL for error.
     48168  */
     48169     char_u *
     48170-get_cmd_output(cmd, infile, flags)
     48171+get_cmd_output(cmd, infile, flags, ret_len)
     48172     char_u     *cmd;
     48173     char_u     *infile;        /* optional input file name */
     48174     int                flags;          /* can be SHELL_SILENT */
     48175+    int                *ret_len;
     48176 {
     48177     char_u     *tempname;
     48178     char_u     *command;
     48179@@ -10886,7 +10844,7 @@
     48180        vim_free(buffer);
     48181        buffer = NULL;
     48182     }
     48183-    else
     48184+    else if (ret_len == NULL)
     48185     {
     48186        /* Change NUL into SOH, otherwise the string is truncated. */
     48187        for (i = 0; i < len; ++i)
     48188@@ -10895,6 +10853,8 @@
     48189 
     48190        buffer[len] = NUL;      /* make sure the buffer is terminated */
     48191     }
     48192+    else
     48193+       *ret_len = len;
     48194 
     48195 done:
     48196     vim_free(tempname);
    4623648197diff -Naur vim74.orig/src/misc2.c vim74/src/misc2.c
    4623748198--- vim74.orig/src/misc2.c      2013-07-07 14:03:35.000000000 +0000
    46238 +++ vim74/src/misc2.c   2014-03-30 20:09:04.589391593 +0000
     48199+++ vim74/src/misc2.c   2014-04-27 05:20:58.221771232 +0000
    4623948200@@ -31,9 +31,7 @@
    4624048201     if (virtual_op != MAYBE)
     
    4640348364diff -Naur vim74.orig/src/move.c vim74/src/move.c
    4640448365--- vim74.orig/src/move.c       2012-11-28 17:15:42.000000000 +0000
    46405 +++ vim74/src/move.c    2014-03-30 20:09:04.592725036 +0000
     48366+++ vim74/src/move.c    2014-04-27 05:20:58.225104649 +0000
    4640648367@@ -20,6 +20,7 @@
    4640748368 #include "vim.h"
     
    4654648507diff -Naur vim74.orig/src/netbeans.c vim74/src/netbeans.c
    4654748508--- vim74.orig/src/netbeans.c   2012-06-20 17:56:18.000000000 +0000
    46548 +++ vim74/src/netbeans.c        2014-03-30 20:09:04.596058479 +0000
     48509+++ vim74/src/netbeans.c        2014-04-27 05:20:58.228438065 +0000
    4654948510@@ -2232,11 +2232,9 @@
    4655048511 
     
    4656148522diff -Naur vim74.orig/src/normal.c vim74/src/normal.c
    4656248523--- vim74.orig/src/normal.c     2013-07-14 11:24:37.000000000 +0000
    46563 +++ vim74/src/normal.c  2014-03-30 20:09:04.599391922 +0000
     48524+++ vim74/src/normal.c  2014-04-27 05:20:58.228438065 +0000
    4656448525@@ -14,17 +14,15 @@
    4656548526 
     
    4819050151diff -Naur vim74.orig/src/ops.c vim74/src/ops.c
    4819150152--- vim74.orig/src/ops.c        2013-08-09 17:34:32.000000000 +0000
    48192 +++ vim74/src/ops.c     2014-03-30 20:09:04.599391922 +0000
     50153+++ vim74/src/ops.c     2014-04-27 05:20:58.231771480 +0000
    4819350154@@ -57,9 +57,7 @@
    4819450155     char_u     **y_array;      /* pointer to array of line pointers */
     
    4820150162 
    4820250163 static struct yankreg  *y_current;         /* ptr to current yankreg */
    48203 @@ -107,17 +105,13 @@
     50164@@ -107,19 +105,15 @@
    4820450165 static int     yank_copy_line __ARGS((struct block_def *bd, long y_idx));
    4820550166 #ifdef FEAT_CLIPBOARD
     
    4821750178-#endif
    4821850179 #if defined(FEAT_CLIPBOARD) || defined(FEAT_EVAL)
    48219  static void    str_to_reg __ARGS((struct yankreg *y_ptr, int type, char_u *str, long len, long blocklen));
     50180-static void    str_to_reg __ARGS((struct yankreg *y_ptr, int type, char_u *str, long len, long blocklen));
     50181+static void    str_to_reg __ARGS((struct yankreg *y_ptr, int yank_type, char_u *str, long len, long blocklen, int str_list));
    4822050182 #endif
     50183 static int     ends_in_white __ARGS((linenr_T lnum));
     50184 #ifdef FEAT_COMMENTS
    4822150185@@ -187,7 +181,6 @@
    4822250186     return i;
     
    4904051004     else
    4904151005     {
     51006@@ -6005,7 +6005,7 @@
     51007 
     51008     clip_free_selection(cbd);
     51009 
     51010-    str_to_reg(y_ptr, type, str, len, 0L);
     51011+    str_to_reg(y_ptr, type, str, len, 0L, FALSE);
     51012 }
     51013 
     51014 /*
    4904251015@@ -6078,7 +6078,6 @@
    4904351016 }
     
    4905651029 #endif /* FEAT_CLIPBOARD || PROTO */
    4905751030 
    49058 @@ -6154,15 +6152,15 @@
     51031@@ -6115,7 +6113,7 @@
     51032     curr = y_current;
     51033     y_current = &y_regs[TILDE_REGISTER];
     51034     free_yank_all();
     51035-    str_to_reg(y_current, MCHAR, str, len, 0L);
     51036+    str_to_reg(y_current, MCHAR, str, len, 0L, FALSE);
     51037     y_current = curr;
     51038 }
     51039 #endif
     51040@@ -6154,30 +6152,63 @@
    4905951041     regname = may_get_selection(regname);
    4906051042 #endif
     
    4907551057     }
    4907651058     return MAUTO;
    49077 @@ -6340,11 +6338,6 @@
    49078      get_yank_register(name, TRUE);
    49079      if (!y_append && !must_append)
    49080         free_yank_all();
     51059 }
     51060 
     51061+static char_u *getreg_wrap_one_line __ARGS((char_u *s, int flags));
     51062+
     51063+/*
     51064+ * When "flags" has GREG_LIST return a list with text "s".
     51065+ * Otherwise just return "s".
     51066+ */
     51067+    static char_u *
     51068+getreg_wrap_one_line(s, flags)
     51069+    char_u     *s;
     51070+    int                flags;
     51071+{
     51072+    if (flags & GREG_LIST)
     51073+    {
     51074+       list_T *list = list_alloc();
     51075+
     51076+       if (list != NULL)
     51077+       {
     51078+           if (list_append_string(list, NULL, -1) == FAIL)
     51079+           {
     51080+               list_free(list, TRUE);
     51081+               return NULL;
     51082+           }
     51083+           list->lv_first->li_tv.vval.v_string = s;
     51084+       }
     51085+       return (char_u *)list;
     51086+    }
     51087+    return s;
     51088+}
     51089+
     51090 /*
     51091  * Return the contents of a register as a single allocated string.
     51092  * Used for "@r" in expressions and for getreg().
     51093  * Returns NULL for error.
     51094+ * Flags:
     51095+ *     GREG_NO_EXPR    Do not allow expression register
     51096+ *     GREG_EXPR_SRC   For the expression register: return expression itself,
     51097+ *                     not the result of its evaluation.
     51098+ *     GREG_LIST       Return a list of lines in place of a single string.
     51099  */
     51100     char_u *
     51101-get_reg_contents(regname, allowexpr, expr_src)
     51102+get_reg_contents(regname, flags)
     51103     int                regname;
     51104-    int                allowexpr;      /* allow "=" register */
     51105-    int                expr_src;       /* get expression for "=" register */
     51106+    int                flags;
     51107 {
     51108     long       i;
     51109     char_u     *retval;
     51110@@ -6187,13 +6218,11 @@
     51111     /* Don't allow using an expression register inside an expression */
     51112     if (regname == '=')
     51113     {
     51114-       if (allowexpr)
     51115-       {
     51116-           if (expr_src)
     51117-               return get_expr_line_src();
     51118-           return get_expr_line();
     51119-       }
     51120-       return NULL;
     51121+       if (flags & GREG_NO_EXPR)
     51122+           return NULL;
     51123+       if (flags & GREG_EXPR_SRC)
     51124+           return getreg_wrap_one_line(get_expr_line_src(), flags);
     51125+       return getreg_wrap_one_line(get_expr_line(), flags);
     51126     }
     51127 
     51128     if (regname == '@')            /* "@@" is used for unnamed register */
     51129@@ -6211,15 +6240,33 @@
     51130     {
     51131        if (retval == NULL)
     51132            return NULL;
     51133-       if (!allocated)
     51134-           retval = vim_strsave(retval);
     51135-       return retval;
     51136+       if (allocated)
     51137+           return getreg_wrap_one_line(retval, flags);
     51138+       return getreg_wrap_one_line(vim_strsave(retval), flags);
     51139     }
     51140 
     51141     get_yank_register(regname, FALSE);
     51142     if (y_current->y_array == NULL)
     51143        return NULL;
     51144 
     51145+    if (flags & GREG_LIST)
     51146+    {
     51147+       list_T  *list = list_alloc();
     51148+       int     error = FALSE;
     51149+
     51150+       if (list == NULL)
     51151+           return NULL;
     51152+       for (i = 0; i < y_current->y_size; ++i)
     51153+           if (list_append_string(list, y_current->y_array[i], -1) == FAIL)
     51154+               error = TRUE;
     51155+       if (error)
     51156+       {
     51157+           list_free(list, TRUE);
     51158+           return NULL;
     51159+       }
     51160+       return (char_u *)list;
     51161+    }
     51162+
     51163     /*
     51164      * Compute length of resulting string.
     51165      */
     51166@@ -6261,6 +6308,47 @@
     51167     return retval;
     51168 }
     51169 
     51170+    static int
     51171+init_write_reg(name, old_y_previous, old_y_current, must_append, yank_type)
     51172+    int                    name;
     51173+    struct yankreg  **old_y_previous;
     51174+    struct yankreg  **old_y_current;
     51175+    int                    must_append;
     51176+    int                    *yank_type UNUSED;
     51177+{
     51178+    if (!valid_yank_reg(name, TRUE))       /* check for valid reg name */
     51179+    {
     51180+       emsg_invreg(name);
     51181+       return FAIL;
     51182+    }
     51183+
     51184+    /* Don't want to change the current (unnamed) register */
     51185+    *old_y_previous = y_previous;
     51186+    *old_y_current = y_current;
     51187+
     51188+    get_yank_register(name, TRUE);
     51189+    if (!y_append && !must_append)
     51190+       free_yank_all();
     51191+    return OK;
     51192+}
     51193+
     51194+    static void
     51195+finish_write_reg(name, old_y_previous, old_y_current)
     51196+    int                    name;
     51197+    struct yankreg  *old_y_previous;
     51198+    struct yankreg  *old_y_current;
     51199+{
     51200+# ifdef FEAT_CLIPBOARD
     51201+    /* Send text of clipboard register to the clipboard. */
     51202+    may_set_selection();
     51203+# endif
     51204+
     51205+    /* ':let @" = "val"' should change the meaning of the "" register */
     51206+    if (name != '"')
     51207+       y_previous = old_y_previous;
     51208+    y_current = old_y_current;
     51209+}
     51210+
     51211 /*
     51212  * Store string "str" in register "name".
     51213  * "maxlen" is the maximum number of bytes to use, -1 for all bytes.
     51214@@ -6281,6 +6369,51 @@
     51215 }
     51216 
     51217     void
     51218+write_reg_contents_lst(name, strings, maxlen, must_append, yank_type, block_len)
     51219+    int                name;
     51220+    char_u     **strings;
     51221+    int                maxlen UNUSED;
     51222+    int                must_append;
     51223+    int                yank_type;
     51224+    long       block_len;
     51225+{
     51226+    struct yankreg  *old_y_previous, *old_y_current;
     51227+
     51228+    if (name == '/'
     51229+#ifdef FEAT_EVAL
     51230+           || name == '='
     51231+#endif
     51232+           )
     51233+    {
     51234+       char_u  *s;
     51235+
     51236+       if (strings[0] == NULL)
     51237+           s = (char_u *)"";
     51238+       else if (strings[1] != NULL)
     51239+       {
     51240+           EMSG(_("E883: search pattern and expression register may not "
     51241+                       "contain two or more lines"));
     51242+           return;
     51243+       }
     51244+       else
     51245+           s = strings[0];
     51246+       write_reg_contents_ex(name, s, -1, must_append, yank_type, block_len);
     51247+       return;
     51248+    }
     51249+
     51250+    if (name == '_')       /* black hole: nothing to do */
     51251+       return;
     51252+
     51253+    if (init_write_reg(name, &old_y_previous, &old_y_current, must_append,
     51254+               &yank_type) == FAIL)
     51255+       return;
     51256+
     51257+    str_to_reg(y_current, yank_type, (char_u *) strings, -1, block_len, TRUE);
     51258+
     51259+    finish_write_reg(name, old_y_previous, old_y_current);
     51260+}
     51261+
     51262+    void
     51263 write_reg_contents_ex(name, str, maxlen, must_append, yank_type, block_len)
     51264     int                name;
     51265     char_u     *str;
     51266@@ -6317,45 +6450,22 @@
     51267            s = concat_str(get_expr_line_src(), p);
     51268            vim_free(p);
     51269            p = s;
     51270-
     51271        }
     51272        set_expr_line(p);
     51273        return;
     51274     }
     51275 #endif
     51276 
     51277-    if (!valid_yank_reg(name, TRUE))       /* check for valid reg name */
     51278-    {
     51279-       emsg_invreg(name);
     51280-       return;
     51281-    }
     51282-
     51283     if (name == '_')       /* black hole: nothing to do */
     51284        return;
     51285 
     51286-    /* Don't want to change the current (unnamed) register */
     51287-    old_y_previous = y_previous;
     51288-    old_y_current = y_current;
     51289+    if (init_write_reg(name, &old_y_previous, &old_y_current, must_append,
     51290+               &yank_type) == FAIL)
     51291+       return;
     51292 
     51293-    get_yank_register(name, TRUE);
     51294-    if (!y_append && !must_append)
     51295-       free_yank_all();
    4908151296-#ifndef FEAT_VISUAL
    4908251297-    /* Just in case - make sure we don't use MBLOCK */
     
    4908451299-       yank_type = MAUTO;
    4908551300-#endif
    49086      str_to_reg(y_current, yank_type, str, len, block_len);
    49087  
    49088  # ifdef FEAT_CLIPBOARD
    49089 @@ -6382,9 +6375,7 @@
     51301-    str_to_reg(y_current, yank_type, str, len, block_len);
     51302+    str_to_reg(y_current, yank_type, str, len, block_len, FALSE);
     51303 
     51304-# ifdef FEAT_CLIPBOARD
     51305-    /* Send text of clipboard register to the clipboard. */
     51306-    may_set_selection();
     51307-# endif
     51308-
     51309-    /* ':let @" = "val"' should change the meaning of the "" register */
     51310-    if (name != '"')
     51311-       y_previous = old_y_previous;
     51312-    y_current = old_y_current;
     51313+    finish_write_reg(name, old_y_previous, old_y_current);
     51314 }
     51315 #endif /* FEAT_EVAL */
     51316 
     51317@@ -6365,12 +6475,13 @@
     51318  * is appended.
     51319  */
     51320     static void
     51321-str_to_reg(y_ptr, yank_type, str, len, blocklen)
     51322+str_to_reg(y_ptr, yank_type, str, len, blocklen, str_list)
     51323     struct yankreg     *y_ptr;         /* pointer to yank register */
     51324     int                        yank_type;      /* MCHAR, MLINE, MBLOCK, MAUTO */
     51325     char_u             *str;           /* string to put in register */
     51326     long               len;            /* length of string */
     51327     long               blocklen;       /* width of Visual block */
     51328+    int                        str_list;       /* TRUE if str is char_u ** */
     51329 {
     51330     int                type;                   /* MCHAR, MLINE or MBLOCK */
     51331     int                lnum;
     51332@@ -6381,16 +6492,16 @@
     51333     int                extraline = 0;          /* extra line at the end */
    4909051334     int                append = FALSE;         /* append to last line in register */
    4909151335     char_u     *s;
     51336+    char_u     **ss;
    4909251337     char_u     **pp;
    4909351338-#ifdef FEAT_VISUAL
     
    4909751342     if (y_ptr->y_array == NULL)                /* NULL means empty register */
    4909851343        y_ptr->y_size = 0;
    49099 @@ -6425,9 +6416,7 @@
     51344 
     51345     if (yank_type == MAUTO)
     51346-       type = ((len > 0 && (str[len - 1] == NL || str[len - 1] == CAR))
     51347+       type = ((str_list || (len > 0 && (str[len - 1] == NL
     51348+                                           || str[len - 1] == CAR)))
     51349                                                             ? MLINE : MCHAR);
     51350     else
     51351        type = yank_type;
     51352@@ -6399,18 +6510,26 @@
     51353      * Count the number of lines within the string
     51354      */
     51355     newlines = 0;
     51356-    for (i = 0; i < len; i++)
     51357-       if (str[i] == '\n')
     51358-           ++newlines;
     51359-    if (type == MCHAR || len == 0 || str[len - 1] != '\n')
     51360+    if (str_list)
     51361     {
     51362-       extraline = 1;
     51363-       ++newlines;     /* count extra newline at the end */
     51364+       for (ss = (char_u **) str; *ss != NULL; ++ss)
     51365+           ++newlines;
     51366     }
     51367-    if (y_ptr->y_size > 0 && y_ptr->y_type == MCHAR)
     51368+    else
     51369     {
     51370-       append = TRUE;
     51371-       --newlines;     /* uncount newline when appending first line */
     51372+       for (i = 0; i < len; i++)
     51373+           if (str[i] == '\n')
     51374+               ++newlines;
     51375+       if (type == MCHAR || len == 0 || str[len - 1] != '\n')
     51376+       {
     51377+           extraline = 1;
     51378+           ++newlines; /* count extra newline at the end */
     51379+       }
     51380+       if (y_ptr->y_size > 0 && y_ptr->y_type == MCHAR)
     51381+       {
     51382+           append = TRUE;
     51383+           --newlines; /* uncount newline when appending first line */
     51384+       }
     51385     }
     51386 
     51387     /*
     51388@@ -6425,58 +6544,65 @@
    4910051389        pp[lnum] = y_ptr->y_array[lnum];
    4910151390     vim_free(y_ptr->y_array);
     
    4910751396     /*
    4910851397      * Find the end of each line and save it into the array.
    49109 @@ -6438,10 +6427,8 @@
    49110             if (str[i] == '\n')
    49111                 break;
    49112         i -= start;                     /* i is now length of line */
     51398      */
     51399-    for (start = 0; start < len + extraline; start += i + 1)
     51400+    if (str_list)
     51401     {
     51402-       for (i = start; i < len; ++i)   /* find the end of the line */
     51403-           if (str[i] == '\n')
     51404-               break;
     51405-       i -= start;                     /* i is now length of line */
    4911351406-#ifdef FEAT_VISUAL
    49114         if (i > maxlen)
    49115             maxlen = i;
     51407-       if (i > maxlen)
     51408-           maxlen = i;
    4911651409-#endif
    49117         if (append)
     51410-       if (append)
     51411+       for (ss = (char_u **) str; *ss != NULL; ++ss, ++lnum)
    4911851412        {
    49119             --lnum;
    49120 @@ -6471,12 +6458,10 @@
     51413-           --lnum;
     51414-           extra = (int)STRLEN(y_ptr->y_array[lnum]);
     51415+           i = STRLEN(*ss);
     51416+           pp[lnum] = vim_strnsave(*ss, i);
     51417+           if (i > maxlen)
     51418+               maxlen = i;
     51419        }
     51420-       else
     51421-           extra = 0;
     51422-       s = alloc((unsigned)(i + extra + 1));
     51423-       if (s == NULL)
     51424-           break;
     51425-       if (extra)
     51426-           mch_memmove(s, y_ptr->y_array[lnum], (size_t)extra);
     51427-       if (append)
     51428-           vim_free(y_ptr->y_array[lnum]);
     51429-       if (i)
     51430-           mch_memmove(s + extra, str + start, (size_t)i);
     51431-       extra += i;
     51432-       s[extra] = NUL;
     51433-       y_ptr->y_array[lnum++] = s;
     51434-       while (--extra >= 0)
     51435-       {
     51436-           if (*s == NUL)
     51437-               *s = '\n';          /* replace NUL with newline */
     51438-           ++s;
     51439+    }
     51440+    else
     51441+    {
     51442+       for (start = 0; start < len + extraline; start += i + 1)
     51443+       {
     51444+           for (i = start; i < len; ++i)       /* find the end of the line */
     51445+               if (str[i] == '\n')
     51446+                   break;
     51447+           i -= start;                 /* i is now length of line */
     51448+           if (i > maxlen)
     51449+               maxlen = i;
     51450+           if (append)
     51451+           {
     51452+               --lnum;
     51453+               extra = (int)STRLEN(y_ptr->y_array[lnum]);
     51454+           }
     51455+           else
     51456+               extra = 0;
     51457+           s = alloc((unsigned)(i + extra + 1));
     51458+           if (s == NULL)
     51459+               break;
     51460+           if (extra)
     51461+               mch_memmove(s, y_ptr->y_array[lnum], (size_t)extra);
     51462+           if (append)
     51463+               vim_free(y_ptr->y_array[lnum]);
     51464+           if (i)
     51465+               mch_memmove(s + extra, str + start, (size_t)i);
     51466+           extra += i;
     51467+           s[extra] = NUL;
     51468+           y_ptr->y_array[lnum++] = s;
     51469+           while (--extra >= 0)
     51470+           {
     51471+               if (*s == NUL)
     51472+                   *s = '\n';      /* replace NUL with newline */
     51473+               ++s;
     51474+           }
     51475+           append = FALSE;                 /* only first line is appended */
     51476        }
     51477-       append = FALSE;             /* only first line is appended */
    4912151478     }
    4912251479     y_ptr->y_type = type;
     
    4913151488 #endif /* FEAT_CLIPBOARD || FEAT_EVAL || PROTO */
    4913251489 
    49133 @@ -6570,12 +6555,10 @@
     51490@@ -6570,12 +6696,10 @@
    4913451491     long       word_count_cursor = 0;
    4913551492     int                eol_size;
     
    4914451501     /*
    4914551502      * Compute the length of the file in characters.
    49146 @@ -6591,7 +6574,6 @@
     51503@@ -6591,7 +6715,6 @@
    4914751504        else
    4914851505            eol_size = 1;
     
    4915251509        {
    4915351510            if (lt(VIsual, curwin->w_cursor))
    49154 @@ -6635,7 +6617,6 @@
     51511@@ -6635,7 +6758,6 @@
    4915551512            }
    4915651513            line_count_selected = max_pos.lnum - min_pos.lnum + 1;
     
    4916051517        for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum)
    4916151518        {
    49162 @@ -6648,7 +6629,6 @@
     51519@@ -6648,7 +6770,6 @@
    4916351520                last_check = byte_count + 100000L;
    4916451521            }
     
    4916851525            if (VIsual_active
    4916951526                    && lnum >= min_pos.lnum && lnum <= max_pos.lnum)
    49170 @@ -6659,13 +6639,13 @@
     51527@@ -6659,13 +6780,13 @@
    4917151528                switch (VIsual_mode)
    4917251529                {
     
    4918651543                        len = (long)bd.textlen;
    4918751544                        break;
    49188 @@ -6697,7 +6677,6 @@
     51545@@ -6697,7 +6818,6 @@
    4918951546                }
    4919051547            }
     
    4919451551                /* In non-visual mode, check for the line the cursor is on */
    4919551552                if (lnum == curwin->w_cursor.lnum)
    49196 @@ -6719,7 +6698,6 @@
     51553@@ -6719,7 +6839,6 @@
    4919751554        if (!curbuf->b_p_eol && curbuf->b_p_bin)
    4919851555            byte_count -= eol_size;
     
    4920251559        {
    4920351560            if (VIsual_mode == Ctrl_V && curwin->w_curswant < MAXCOL)
    49204 @@ -6750,7 +6728,6 @@
     51561@@ -6750,7 +6869,6 @@
    4920551562                        byte_count_cursor, byte_count);
    4920651563        }
     
    4921251569diff -Naur vim74.orig/src/option.c vim74/src/option.c
    4921351570--- vim74.orig/src/option.c     2013-07-17 19:39:13.000000000 +0000
    49214 +++ vim74/src/option.c  2014-03-30 20:09:04.602725365 +0000
     51571+++ vim74/src/option.c  2014-04-27 05:20:58.235104897 +0000
    4921551572@@ -134,6 +134,7 @@
    4921651573 #define PV_KP          OPT_BOTH(OPT_BUF(BV_KP))
     
    4963851995diff -Naur vim74.orig/src/option.h vim74/src/option.h
    4963951996--- vim74.orig/src/option.h     2013-06-26 16:41:39.000000000 +0000
    49640 +++ vim74/src/option.h  2014-03-30 20:09:04.606058808 +0000
     51997+++ vim74/src/option.h  2014-04-27 05:20:58.238438314 +0000
    4964151998@@ -31,9 +31,9 @@
    4964251999 #     define DFLT_EFM  "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m"
     
    4969552052+/* Value for b_p_ul indicating the global value must be used. */
    4969652053+#define NO_LOCAL_UNDOLEVEL -123456
     52054diff -Naur vim74.orig/src/os_amiga.c vim74/src/os_amiga.c
     52055--- vim74.orig/src/os_amiga.c   2013-05-06 02:06:04.000000000 +0000
     52056+++ vim74/src/os_amiga.c        2014-04-27 05:20:58.238438314 +0000
     52057@@ -884,8 +884,9 @@
     52058  * Return -1 if unknown.
     52059  */
     52060     int
     52061-mch_can_exe(name)
     52062+mch_can_exe(name, path)
     52063     char_u     *name;
     52064+    char_u     **path;
     52065 {
     52066     /* TODO */
     52067     return -1;
    4969752068diff -Naur vim74.orig/src/os_dos.h vim74/src/os_dos.h
    4969852069--- vim74.orig/src/os_dos.h     2013-06-12 18:09:44.000000000 +0000
    49699 +++ vim74/src/os_dos.h  2014-03-30 20:09:04.606058808 +0000
     52070+++ vim74/src/os_dos.h  2014-04-27 05:20:58.238438314 +0000
    4970052071@@ -109,7 +109,7 @@
    4970152072 #endif
     
    4971852089diff -Naur vim74.orig/src/os_mac.h vim74/src/os_mac.h
    4971952090--- vim74.orig/src/os_mac.h     2013-05-06 02:06:04.000000000 +0000
    49720 +++ vim74/src/os_mac.h  2014-03-30 20:09:04.606058808 +0000
     52091+++ vim74/src/os_mac.h  2014-04-27 05:20:58.238438314 +0000
    4972152092@@ -16,6 +16,11 @@
    4972252093 # define OPAQUE_TOOLBOX_STRUCTS 0
     
    4974252113diff -Naur vim74.orig/src/os_msdos.c vim74/src/os_msdos.c
    4974352114--- vim74.orig/src/os_msdos.c   2013-05-06 02:06:04.000000000 +0000
    49744 +++ vim74/src/os_msdos.c        2014-03-30 20:09:04.612725695 +0000
     52115+++ vim74/src/os_msdos.c        2014-04-27 05:20:58.245105145 +0000
    4974552116@@ -2270,9 +2270,7 @@
    4974652117                default:
     
    4976352134 
    4976452135        movedata(
     52136@@ -2949,14 +2945,17 @@
     52137  * Return -1 if unknown.
     52138  */
     52139     int
     52140-mch_can_exe(name)
     52141+mch_can_exe(name, path)
     52142     char_u     *name;
     52143+    char_u     **path;
     52144 {
     52145     char       *p;
     52146 
     52147     p = searchpath(name);
     52148     if (p == NULL || mch_isdir(p))
     52149        return FALSE;
     52150+    if (path != NULL)
     52151+       *path = vim_strsave(p);
     52152     return TRUE;
     52153 }
     52154 
    4976552155diff -Naur vim74.orig/src/os_mswin.c vim74/src/os_mswin.c
    4976652156--- vim74.orig/src/os_mswin.c   2013-06-16 14:41:11.000000000 +0000
    49767 +++ vim74/src/os_mswin.c        2014-03-30 20:09:04.616059138 +0000
     52157+++ vim74/src/os_mswin.c        2014-04-27 05:20:58.245105145 +0000
    4976852158@@ -456,7 +456,14 @@
    4976952159     int
     
    5017352563diff -Naur vim74.orig/src/os_os2_cfg.h vim74/src/os_os2_cfg.h
    5017452564--- vim74.orig/src/os_os2_cfg.h 2010-05-15 11:04:11.000000000 +0000
    50175 +++ vim74/src/os_os2_cfg.h      2014-03-30 20:09:04.616059138 +0000
     52565+++ vim74/src/os_os2_cfg.h      2014-04-27 05:20:58.248438561 +0000
    5017652566@@ -47,7 +47,7 @@
    5017752567 #undef UNIX    /* define always by current configure script */
     
    5018552575diff -Naur vim74.orig/src/os_qnx.c vim74/src/os_qnx.c
    5018652576--- vim74.orig/src/os_qnx.c     2011-09-21 17:48:08.000000000 +0000
    50187 +++ vim74/src/os_qnx.c  2014-03-30 20:09:04.616059138 +0000
     52577+++ vim74/src/os_qnx.c  2014-04-27 05:20:58.248438561 +0000
    5018852578@@ -78,9 +78,7 @@
    5018952579                default: /* fallthrough to line type */
     
    5020852598diff -Naur vim74.orig/src/os_unix.c vim74/src/os_unix.c
    5020952599--- vim74.orig/src/os_unix.c    2013-07-03 14:32:32.000000000 +0000
    50210 +++ vim74/src/os_unix.c 2014-03-30 20:09:04.619392580 +0000
    50211 @@ -168,7 +168,7 @@
     52600+++ vim74/src/os_unix.c 2014-04-27 05:20:58.248438561 +0000
     52601@@ -46,6 +46,14 @@
     52602 static int selinux_enabled = -1;
     52603 #endif
     52604 
     52605+#ifdef HAVE_SMACK
     52606+# include <attr/xattr.h>
     52607+# include <linux/xattr.h>
     52608+# ifndef SMACK_LABEL_LEN
     52609+#  define SMACK_LABEL_LEN 1024
     52610+# endif
     52611+#endif
     52612+
     52613 /*
     52614  * Use this prototype for select, some include files have a wrong prototype
     52615  */
     52616@@ -168,7 +176,7 @@
    5021252617 static pid_t wait4pid __ARGS((pid_t, waitstatus *));
    5021352618 
     
    5021852623 #else
    5021952624 static int  RealWaitForChar __ARGS((int, long, int *));
    50220 @@ -435,7 +435,6 @@
     52625@@ -435,7 +443,6 @@
    5022152626        /* Process the queued netbeans messages. */
    5022252627        netbeans_parse_messages();
     
    5022652631         * We want to be interrupted by the winch signal
    5022752632         * or by an event on the monitored file descriptors.
    50228 @@ -446,7 +445,6 @@
     52633@@ -446,7 +453,6 @@
    5022952634                handle_resize();
    5023052635            return 0;
     
    5023452639        /* If input was put directly in typeahead buffer bail out here. */
    5023552640        if (typebuf_changed(tb_change_cnt))
    50236 @@ -804,6 +802,10 @@
     52641@@ -804,6 +810,10 @@
    5023752642  * completely full.
    5023852643  */
     
    5024552650 # define SIGSTKSZ 8000    /* just a guess of how much stack is needed... */
    5024652651 #endif
    50247 @@ -957,8 +959,10 @@
     52652@@ -957,8 +967,10 @@
    5024852653 
    5024952654 /*
     
    5025752662     static RETSIGTYPE
    5025852663 deathtrap SIGDEFARG(sigarg)
    50259 @@ -1090,18 +1094,23 @@
     52664@@ -1090,18 +1102,23 @@
    5026052665     }
    5026152666     if (entered == 2)
     
    5028552690 #ifdef NBDEBUG
    5028652691     reset_signals();
    50287 @@ -2956,7 +2965,26 @@
     52692@@ -2789,6 +2806,84 @@
     52693 }
     52694 #endif /* HAVE_SELINUX */
     52695 
     52696+#if defined(HAVE_SMACK) && !defined(PROTO)
     52697+/*
     52698+ * Copy security info from "from_file" to "to_file".
     52699+ */
     52700+    void
     52701+mch_copy_sec(from_file, to_file)
     52702+    char_u     *from_file;
     52703+    char_u     *to_file;
     52704+{
     52705+    static const char * const smack_copied_attributes[] =
     52706+       {
     52707+           XATTR_NAME_SMACK,
     52708+           XATTR_NAME_SMACKEXEC,
     52709+           XATTR_NAME_SMACKMMAP
     52710+       };
     52711+
     52712+    char       buffer[SMACK_LABEL_LEN];
     52713+    const char *name;
     52714+    int                index;
     52715+    int                ret;
     52716+    ssize_t    size;
     52717+
     52718+    if (from_file == NULL)
     52719+       return;
     52720+
     52721+    for (index = 0 ; index < (int)(sizeof(smack_copied_attributes)
     52722+                             / sizeof(smack_copied_attributes)[0]) ; index++)
     52723+    {
     52724+       /* get the name of the attribute to copy */
     52725+       name = smack_copied_attributes[index];
     52726+
     52727+       /* get the value of the attribute in buffer */
     52728+       size = getxattr((char*)from_file, name, buffer, sizeof(buffer));
     52729+       if (size >= 0)
     52730+       {
     52731+           /* copy the attribute value of buffer */
     52732+           ret = setxattr((char*)to_file, name, buffer, (size_t)size, 0);
     52733+           if (ret < 0)
     52734+           {
     52735+               MSG_PUTS(_("Could not set security context "));
     52736+               MSG_PUTS(name);
     52737+               MSG_PUTS(_(" for "));
     52738+               msg_outtrans(to_file);
     52739+               msg_putchar('\n');
     52740+           }
     52741+       }
     52742+       else
     52743+       {
     52744+           /* what reason of not having the attribute value? */
     52745+           switch (errno)
     52746+           {
     52747+               case ENOTSUP:
     52748+                   /* extended attributes aren't supported or enabled */
     52749+                   /* should a message be echoed? not sure... */
     52750+                   return; /* leave because it isn't usefull to continue */
     52751+
     52752+               case ERANGE:
     52753+               default:
     52754+                   /* no enough size OR unexpected error */
     52755+                   MSG_PUTS(_("Could not get security context "));
     52756+                   MSG_PUTS(name);
     52757+                   MSG_PUTS(_(" for "));
     52758+                   msg_outtrans(from_file);
     52759+                   MSG_PUTS(_(". Removing it!\n"));
     52760+                   /* FALLTHROUGH to remove the attribute */
     52761+
     52762+               case ENODATA:
     52763+                   /* no attribute of this name */
     52764+                   ret = removexattr((char*)to_file, name);
     52765+                   /* Silently ignore errors, apparently this happens when
     52766+                    * smack is not actually being used. */
     52767+                   break;
     52768+           }
     52769+       }
     52770+    }
     52771+}
     52772+#endif /* HAVE_SMACK */
     52773+
     52774 /*
     52775  * Return a pointer to the ACL of file "fname" in allocated memory.
     52776  * Return NULL if the ACL is not available for whatever reason.
     52777@@ -2956,7 +3051,26 @@
    5028852778 
    5028952779     if (stat((char *)name, &st))
     
    5031252802 
    5031352803 /*
    50314 @@ -2974,7 +3002,9 @@
     52804@@ -2964,8 +3078,9 @@
     52805  * Return -1 if unknown.
     52806  */
     52807     int
     52808-mch_can_exe(name)
     52809+mch_can_exe(name, path)
     52810     char_u     *name;
     52811+    char_u     **path;
     52812 {
     52813     char_u     *buf;
     52814     char_u     *p, *e;
     52815@@ -2974,7 +3089,20 @@
    5031552816     /* If it's an absolute or relative path don't need to use $PATH. */
    5031652817     if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/'
    5031752818                                      || (name[1] == '.' && name[2] == '/'))))
     52819-       return executable_file(name);
    5031852820+    {
    50319         return executable_file(name);
     52821+       if (executable_file(name))
     52822+       {
     52823+           if (path != NULL)
     52824+           {
     52825+               if (name[0] == '.')
     52826+                   *path = FullName_save(name, TRUE);
     52827+               else
     52828+                   *path = vim_strsave(name);
     52829+           }
     52830+           return TRUE;
     52831+       }
     52832+       return FALSE;
    5032052833+    }
    5032152834 
    5032252835     p = (char_u *)getenv("PATH");
    5032352836     if (p == NULL || *p == NUL)
    50324 @@ -5028,6 +5058,7 @@
     52837@@ -3002,7 +3130,16 @@
     52838        STRCAT(buf, name);
     52839        retval = executable_file(buf);
     52840        if (retval == 1)
     52841+       {
     52842+           if (path != NULL)
     52843+           {
     52844+               if (buf[0] == '.')
     52845+                   *path = FullName_save(buf, TRUE);
     52846+               else
     52847+                   *path = vim_strsave(buf);
     52848+           }
     52849            break;
     52850+       }
     52851 
     52852        if (*e != ':')
     52853            break;
     52854@@ -5028,6 +5165,7 @@
    5032552855     return avail;
    5032652856 }
     
    5033052860  * Wait "msec" msec until a character is available from file descriptor "fd".
    5033152861  * "msec" == 0 will check for characters once.
    50332 @@ -5327,13 +5358,7 @@
     52862@@ -5327,13 +5465,7 @@
    5033352863        }
    5033452864 # endif
     
    5034452874        if (ret == -1 && errno == EINTR)
    5034552875        {
    50346 @@ -5455,8 +5480,6 @@
     52876@@ -5455,8 +5587,6 @@
    5034752877     return (ret > 0);
    5034852878 }
     
    5035352883 /*
    5035452884  * Expand a path into all matching files and/or directories.  Handles "*",
    50355 @@ -5979,7 +6002,7 @@
     52885@@ -5569,7 +5699,7 @@
     52886                    continue;
     52887 
     52888                /* Skip files that are not executable if we check for that. */
     52889-               if (!dir && (flags & EW_EXEC) && !mch_can_exe(p))
     52890+               if (!dir && (flags & EW_EXEC) && !mch_can_exe(p, NULL))
     52891                    continue;
     52892 
     52893                if (--files_free == 0)
     52894@@ -5979,7 +6109,7 @@
    5035652895        {
    5035752896            /* If there is a NUL, set did_find_nul, else set check_spaces */
     
    5036252901            else
    5036352902                check_spaces = TRUE;
     52903@@ -6067,7 +6197,7 @@
     52904            continue;
     52905 
     52906        /* Skip files that are not executable if we check for that. */
     52907-       if (!dir && (flags & EW_EXEC) && !mch_can_exe((*file)[i]))
     52908+       if (!dir && (flags & EW_EXEC) && !mch_can_exe((*file)[i], NULL))
     52909            continue;
     52910 
     52911        p = alloc((unsigned)(STRLEN((*file)[i]) + 1 + dir));
     52912@@ -6294,7 +6424,7 @@
     52913 
     52914 /* Reads gpm event and adds special keys to input buf. Returns length of
     52915  * generated key sequence.
     52916- * This function is made after gui_send_mouse_event
     52917+ * This function is styled after gui_send_mouse_event().
     52918  */
     52919     static int
     52920 mch_gpm_process()
    5036452921diff -Naur vim74.orig/src/os_unix.h vim74/src/os_unix.h
    5036552922--- vim74.orig/src/os_unix.h    2013-06-12 18:09:44.000000000 +0000
    50366 +++ vim74/src/os_unix.h 2014-03-30 20:09:04.619392580 +0000
     52923+++ vim74/src/os_unix.h 2014-04-27 05:20:58.251771978 +0000
    5036752924@@ -225,6 +225,8 @@
    5036852925 # include <starlet.h>
     
    5040552962diff -Naur vim74.orig/src/os_vms.c vim74/src/os_vms.c
    5040652963--- vim74.orig/src/os_vms.c     2010-06-26 04:03:31.000000000 +0000
    50407 +++ vim74/src/os_vms.c  2014-03-30 20:09:04.619392580 +0000
     52964+++ vim74/src/os_vms.c  2014-04-27 05:20:58.251771978 +0000
    5040852965@@ -11,6 +11,23 @@
    5040952966 
     
    5050453061            cnt = vms_match_num;
    5050553062 
     53063@@ -452,7 +483,7 @@
     53064                continue;
     53065 
     53066            /* Skip files that are not executable if we check for that. */
     53067-           if (!dir && (flags & EW_EXEC) && !mch_can_exe(vms_fmatch[i]))
     53068+           if (!dir && (flags & EW_EXEC) && !mch_can_exe(vms_fmatch[i], NULL))
     53069                continue;
     53070 
     53071            /* allocate memory for pointers */
    5050653072@@ -480,10 +511,18 @@
    5050753073 mch_expandpath(garray_T *gap, char_u *path, int flags)
     
    5064453210diff -Naur vim74.orig/src/os_vms_conf.h vim74/src/os_vms_conf.h
    5064553211--- vim74.orig/src/os_vms_conf.h        2010-07-28 17:07:48.000000000 +0000
    50646 +++ vim74/src/os_vms_conf.h     2014-03-30 20:09:04.619392580 +0000
     53212+++ vim74/src/os_vms_conf.h     2014-04-27 05:20:58.251771978 +0000
    5064753213@@ -23,7 +23,7 @@
    5064853214 #define HAVE_DATE_TIME
     
    5068653252diff -Naur vim74.orig/src/os_win16.h vim74/src/os_win16.h
    5068753253--- vim74.orig/src/os_win16.h   2013-05-06 02:06:04.000000000 +0000
    50688 +++ vim74/src/os_win16.h        2014-03-30 20:09:04.619392580 +0000
     53254+++ vim74/src/os_win16.h        2014-04-27 05:20:58.255105394 +0000
    5068953255@@ -55,8 +55,8 @@
    5069053256 
     
    5070053266diff -Naur vim74.orig/src/os_win32.c vim74/src/os_win32.c
    5070153267--- vim74.orig/src/os_win32.c   2013-08-10 10:39:12.000000000 +0000
    50702 +++ vim74/src/os_win32.c        2014-03-30 20:09:04.626059466 +0000
     53268+++ vim74/src/os_win32.c        2014-04-27 05:20:58.255105394 +0000
    5070353269@@ -78,16 +78,6 @@
    5070453270 # endif
     
    5090653472            if (did_create_conin)
    5090753473                read_error_exit();
    50908 @@ -2500,9 +2582,125 @@
     53474@@ -1800,7 +1882,7 @@
     53475  * TODO: Should somehow check if it's really executable.
     53476  */
     53477     static int
     53478-executable_exists(char *name)
     53479+executable_exists(char *name, char_u **path)
     53480 {
     53481     char       *dum;
     53482     char       fname[_MAX_PATH];
     53483@@ -1823,6 +1905,8 @@
     53484                    return FALSE;
     53485                if (GetFileAttributesW(fnamew) & FILE_ATTRIBUTE_DIRECTORY)
     53486                    return FALSE;
     53487+               if (path != NULL)
     53488+                   *path = utf16_to_enc(fnamew, NULL);
     53489                return TRUE;
     53490            }
     53491            /* Retry with non-wide function (for Windows 98). */
     53492@@ -1833,6 +1917,8 @@
     53493        return FALSE;
     53494     if (mch_isdir(fname))
     53495        return FALSE;
     53496+    if (path != NULL)
     53497+       *path = vim_strsave(fname);
     53498     return TRUE;
     53499 }
     53500 
     53501@@ -1914,7 +2000,7 @@
     53502            vimrun_path = (char *)vim_strsave(vimrun_location);
     53503            s_dont_use_vimrun = FALSE;
     53504        }
     53505-       else if (executable_exists("vimrun.exe"))
     53506+       else if (executable_exists("vimrun.exe", NULL))
     53507            s_dont_use_vimrun = FALSE;
     53508 
     53509        /* Don't give the warning for a missing vimrun.exe right now, but only
     53510@@ -1928,7 +2014,7 @@
     53511      * If "finstr.exe" doesn't exist, use "grep -n" for 'grepprg'.
     53512      * Otherwise the default "findstr /n" is used.
     53513      */
     53514-    if (!executable_exists("findstr.exe"))
     53515+    if (!executable_exists("findstr.exe", NULL))
     53516        set_option_value((char_u *)"grepprg", 0, (char_u *)"grep -n", 0);
     53517 
     53518 #ifdef FEAT_CLIPBOARD
     53519@@ -2500,9 +2586,125 @@
    5090953520 }
    5091053521 
     
    5103253643     void
    5103353644 fname_case(
    51034 @@ -2520,11 +2718,44 @@
     53645@@ -2520,11 +2722,44 @@
    5103553646     int                        slen;
    5103653647 
     
    5107853689     porig = name;
    5107953690     ptrue = szTrueName;
    51080 @@ -2534,8 +2765,8 @@
     53691@@ -2534,8 +2769,8 @@
    5108153692        /* copy leading drive letter */
    5108253693        *ptrue++ = *porig++;
     
    5108853699     while (*porig != NUL)
    5108953700     {
    51090 @@ -2629,6 +2860,28 @@
     53701@@ -2629,6 +2864,28 @@
    5109153702     char szUserName[256 + 1];  /* UNLEN is 256 */
    5109253703     DWORD cch = sizeof szUserName;
     
    5111753728     {
    5111853729        vim_strncpy(s, szUserName, len - 1);
    51119 @@ -2649,6 +2902,28 @@
     53730@@ -2649,6 +2906,28 @@
    5112053731 {
    5112153732     DWORD cch = len;
     
    5114653757        vim_strncpy(s, "PC (Win32 Vim)", len - 1);
    5114753758 }
    51148 @@ -2695,6 +2970,8 @@
     53759@@ -2695,6 +2974,8 @@
    5114953760                return OK;
    5115053761            }
     
    5115553766     }
    5115653767 #endif
    51157 @@ -2702,18 +2979,17 @@
     53768@@ -2702,18 +2983,17 @@
    5115853769 }
    5115953770 
     
    5117853789 
    5117953790 
    51180 @@ -2736,7 +3012,7 @@
     53791@@ -2736,7 +3016,7 @@
    5118153792        {
    5118253793            n = _wchmod(p, perm);
     
    5118753798            /* Retry with non-wide function (for Windows 98). */
    5118853799        }
    51189 @@ -2955,8 +3231,7 @@
     53800@@ -2955,8 +3235,7 @@
    5119053801  * -1 : error
    5119153802  * else FILE_ATTRIBUTE_* defined in winnt.h
     
    5119753808 {
    5119853809     int                attr;
    51199 @@ -3107,6 +3382,9 @@
     53810@@ -3055,7 +3334,7 @@
     53811  * Return -1 if unknown.
     53812  */
     53813     int
     53814-mch_can_exe(char_u *name)
     53815+mch_can_exe(char_u *name, char_u **path)
     53816 {
     53817     char_u     buf[_MAX_PATH];
     53818     int                len = (int)STRLEN(name);
     53819@@ -3068,7 +3347,7 @@
     53820      * this with a Unix-shell like 'shell'. */
     53821     if (vim_strchr(gettail(name), '.') != NULL
     53822                               || strstr((char *)gettail(p_sh), "sh") != NULL)
     53823-       if (executable_exists((char *)name))
     53824+       if (executable_exists((char *)name, path))
     53825            return TRUE;
     53826 
     53827     /*
     53828@@ -3090,7 +3369,7 @@
     53829        }
     53830        else
     53831            copy_option_part(&p, buf + len, _MAX_PATH - len, ";");
     53832-       if (executable_exists((char *)buf))
     53833+       if (executable_exists((char *)buf, path))
     53834            return TRUE;
     53835     }
     53836     return FALSE;
     53837@@ -3107,6 +3386,9 @@
    5120053838 {
    5120153839     HANDLE     hFile;
     
    5120753845     /* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to
    5120853846      * read from it later will cause Vim to hang.  Thus return NODE_WRITABLE
    51209 @@ -3114,14 +3392,41 @@
     53847@@ -3114,14 +3396,41 @@
    5121053848     if (STRNCMP(name, "\\\\.\\", 4) == 0)
    5121153849        return NODE_WRITABLE;
     
    5125653894        return NODE_NORMAL;
    5125753895 
    51258 @@ -3618,6 +3923,50 @@
     53896@@ -3618,6 +3927,50 @@
    5125953897 }
    5126053898 #endif /* FEAT_GUI_W32 */
     
    5130753945 
    5130853946 #if defined(FEAT_GUI_W32) || defined(PROTO)
    51309 @@ -3664,18 +4013,8 @@
     53947@@ -3664,18 +4017,8 @@
    5131053948        cmd += 3;
    5131153949 
     
    5132853966     /* Wait for the command to terminate before continuing */
    5132953967     if (g_PlatformId != VER_PLATFORM_WIN32s)
    51330 @@ -4007,22 +4346,11 @@
     53968@@ -4007,22 +4350,11 @@
    5133153969            p = cmd;
    5133253970     }
     
    5135653994     if (p != cmd)
    5135753995        vim_free(p);
    51358 @@ -4049,10 +4377,10 @@
     53996@@ -4049,10 +4381,10 @@
    5135953997     {
    5136053998        MSG     msg;
     
    5136954007 
    5137054008        /* write pipe information in the window */
    51371 @@ -4240,7 +4568,25 @@
     54009@@ -4240,7 +4572,25 @@
    5137254010 }
    5137354011 #else
     
    5139654034 #endif
    5139754035 
    51398 @@ -4325,6 +4671,7 @@
     54036@@ -4325,6 +4675,7 @@
    5139954037            DWORD               flags = CREATE_NEW_CONSOLE;
    5140054038            char_u              *p;
     
    5140454042            si.lpReserved = NULL;
    5140554043            si.lpDesktop = NULL;
    51406 @@ -4408,16 +4755,7 @@
     54044@@ -4408,16 +4759,7 @@
    5140754045             * inherit our handles which causes unpleasant dangling swap
    5140854046             * files if we exit before the spawned process
     
    5142254060            else
    5142354061            {
    51424 @@ -4430,9 +4768,9 @@
     54062@@ -4430,9 +4772,9 @@
    5142554063            if (newcmd != cmdbase)
    5142654064                vim_free(newcmd);
     
    5143454072            }
    5143554073            /* Close the handles to the subprocess, so that it goes away */
    51436 @@ -5716,7 +6054,7 @@
     54074@@ -5716,7 +6058,7 @@
    5143754075        {
    5143854076            f = _wopen(wn, flags, mode);
     
    5144354081            /* Retry with non-wide function (for Windows 98). Can't use
    5144454082             * GetLastError() here and it's unclear what errno gets set to if
    51445 @@ -5767,7 +6105,7 @@
     54083@@ -5767,7 +6109,7 @@
    5144654084        _set_fmode(oldMode);
    5144754085 # endif
     
    5145254090        /* Retry with non-wide function (for Windows 98). Can't use
    5145354091         * GetLastError() here and it's unclear what errno gets set to if
    51454 @@ -6102,6 +6440,7 @@
     54092@@ -6102,6 +6444,7 @@
    5145554093                    while (i > 0)
    5145654094                        free(argv[--i]);
     
    5146254100diff -Naur vim74.orig/src/os_win32.h vim74/src/os_win32.h
    5146354101--- vim74.orig/src/os_win32.h   2013-07-21 15:53:13.000000000 +0000
    51464 +++ vim74/src/os_win32.h        2014-03-30 20:09:04.626059466 +0000
     54102+++ vim74/src/os_win32.h        2014-04-27 05:20:58.255105394 +0000
    5146554103@@ -68,7 +68,7 @@
    5146654104 #endif
     
    5149454132diff -Naur vim74.orig/src/osdef.sh vim74/src/osdef.sh
    5149554133--- vim74.orig/src/osdef.sh     2010-05-15 11:04:08.000000000 +0000
    51496 +++ vim74/src/osdef.sh  2014-03-30 20:09:04.626059466 +0000
     54134+++ vim74/src/osdef.sh  2014-04-27 05:20:58.255105394 +0000
    5149754135@@ -47,11 +47,7 @@
    5149854136 #endif
     
    5151054148diff -Naur vim74.orig/src/po/eo.po vim74/src/po/eo.po
    5151154149--- vim74.orig/src/po/eo.po     2013-05-27 18:40:27.000000000 +0000
    51512 +++ vim74/src/po/eo.po  2014-03-30 20:09:04.636059795 +0000
     54150+++ vim74/src/po/eo.po  2014-04-27 05:20:58.268439058 +0000
    5151354151@@ -23,8 +23,8 @@
    5151454152 msgstr ""
     
    5226054898diff -Naur vim74.orig/src/po/ru.cp1251.po vim74/src/po/ru.cp1251.po
    5226154899--- vim74.orig/src/po/ru.cp1251.po      2013-08-10 12:28:27.000000000 +0000
    52262 +++ vim74/src/po/ru.cp1251.po   2014-03-30 20:09:04.679394556 +0000
     54900+++ vim74/src/po/ru.cp1251.po   2014-04-27 05:20:58.305106636 +0000
    5226354901@@ -3,14 +3,14 @@
    5226454902 # Îá óñëîâèÿõ èñïîëüçîâàíèÿ ÷èòàéòå â ðåäàêòîðå Vim ":help uganda"
     
    5251255150diff -Naur vim74.orig/src/po/ru.po vim74/src/po/ru.po
    5251355151--- vim74.orig/src/po/ru.po     2013-07-09 12:36:10.000000000 +0000
    52514 +++ vim74/src/po/ru.po  2014-03-30 20:09:04.679394556 +0000
     55152+++ vim74/src/po/ru.po  2014-04-27 05:20:58.308440052 +0000
    5251555153@@ -3,14 +3,14 @@
    5251655154 # Об услПвОяÑ
     
    5277255410diff -Naur vim74.orig/src/po/uk.cp1251.po vim74/src/po/uk.cp1251.po
    5277355411--- vim74.orig/src/po/uk.cp1251.po      2013-08-10 12:28:27.000000000 +0000
    52774 +++ vim74/src/po/uk.cp1251.po   2014-03-30 20:09:04.692728328 +0000
     55412+++ vim74/src/po/uk.cp1251.po   2014-04-27 05:20:58.315106883 +0000
    5277555413@@ -2,19 +2,17 @@
    5277655414 # Ukrainian Vim translation [uk]
     
    5360556243diff -Naur vim74.orig/src/po/uk.po vim74/src/po/uk.po
    5360656244--- vim74.orig/src/po/uk.po     2013-01-17 12:11:55.000000000 +0000
    53607 +++ vim74/src/po/uk.po  2014-03-30 20:09:04.692728328 +0000
     56245+++ vim74/src/po/uk.po  2014-04-27 05:20:58.318440300 +0000
    5360856246@@ -2,19 +2,17 @@
    5360956247 # Ukrainian Vim translation [uk]
     
    5444857086diff -Naur vim74.orig/src/popupmnu.c vim74/src/popupmnu.c
    5444957087--- vim74.orig/src/popupmnu.c   2011-08-17 16:04:28.000000000 +0000
    54450 +++ vim74/src/popupmnu.c        2014-03-30 20:09:04.702728656 +0000
     57088+++ vim74/src/popupmnu.c        2014-04-27 05:20:58.328440548 +0000
    5445157089@@ -282,6 +282,10 @@
    5445257090     int                round;
     
    5447357111diff -Naur vim74.orig/src/proto/blowfish.pro vim74/src/proto/blowfish.pro
    5447457112--- vim74.orig/src/proto/blowfish.pro   2013-08-10 11:37:06.000000000 +0000
    54475 +++ vim74/src/proto/blowfish.pro        2014-03-30 20:09:04.702728656 +0000
     57113+++ vim74/src/proto/blowfish.pro        2014-04-27 05:20:58.328440548 +0000
    5447657114@@ -1,6 +1,6 @@
    5447757115 /* blowfish.c */
     
    5448457122diff -Naur vim74.orig/src/proto/eval.pro vim74/src/proto/eval.pro
    5448557123--- vim74.orig/src/proto/eval.pro       2013-08-10 11:37:09.000000000 +0000
    54486 +++ vim74/src/proto/eval.pro    2014-03-30 20:09:04.706062100 +0000
     57124+++ vim74/src/proto/eval.pro    2014-04-27 05:20:58.331773964 +0000
    5448757125@@ -60,6 +60,7 @@
    5448857126 int list_append_string __ARGS((list_T *l, char_u *str, int len));
     
    5449557133diff -Naur vim74.orig/src/proto/ex_cmds2.pro vim74/src/proto/ex_cmds2.pro
    5449657134--- vim74.orig/src/proto/ex_cmds2.pro   2013-08-10 11:37:10.000000000 +0000
    54497 +++ vim74/src/proto/ex_cmds2.pro        2014-03-30 20:09:04.706062100 +0000
     57135+++ vim74/src/proto/ex_cmds2.pro        2014-04-27 05:20:58.331773964 +0000
    5449857136@@ -35,7 +35,7 @@
    5449957137 int prof_def_func __ARGS((void));
     
    5450557143 void dialog_changed __ARGS((buf_T *buf, int checkall));
    5450657144 int can_abandon __ARGS((buf_T *buf, int forceit));
     57145diff -Naur vim74.orig/src/proto/ex_docmd.pro vim74/src/proto/ex_docmd.pro
     57146--- vim74.orig/src/proto/ex_docmd.pro   2013-08-10 11:37:10.000000000 +0000
     57147+++ vim74/src/proto/ex_docmd.pro        2014-04-27 05:20:58.331773964 +0000
     57148@@ -54,4 +54,5 @@
     57149 int put_line __ARGS((FILE *fd, char *s));
     57150 void dialog_msg __ARGS((char_u *buff, char *format, char_u *fname));
     57151 char_u *get_behave_arg __ARGS((expand_T *xp, int idx));
     57152+void ex_may_print __ARGS((exarg_T *eap));
     57153 /* vim: set ft=c : */
    5450757154diff -Naur vim74.orig/src/proto/ex_eval.pro vim74/src/proto/ex_eval.pro
    5450857155--- vim74.orig/src/proto/ex_eval.pro    2013-08-10 11:37:10.000000000 +0000
    54509 +++ vim74/src/proto/ex_eval.pro 2014-03-30 20:09:04.706062100 +0000
     57156+++ vim74/src/proto/ex_eval.pro 2014-04-27 05:20:58.331773964 +0000
    5451057157@@ -4,8 +4,10 @@
    5451157158 int should_abort __ARGS((int retcode));
     
    5452157168diff -Naur vim74.orig/src/proto/getchar.pro vim74/src/proto/getchar.pro
    5452257169--- vim74.orig/src/proto/getchar.pro    2013-08-10 11:37:12.000000000 +0000
    54523 +++ vim74/src/proto/getchar.pro 2014-03-30 20:09:04.712728987 +0000
     57170+++ vim74/src/proto/getchar.pro 2014-04-27 05:20:58.335107381 +0000
    5452457171@@ -1,8 +1,9 @@
    5452557172 /* getchar.c */
     
    5453557182diff -Naur vim74.orig/src/proto/misc1.pro vim74/src/proto/misc1.pro
    5453657183--- vim74.orig/src/proto/misc1.pro      2013-08-10 11:37:20.000000000 +0000
    54537 +++ vim74/src/proto/misc1.pro   2014-03-30 20:09:04.726062759 +0000
     57184+++ vim74/src/proto/misc1.pro   2014-04-27 05:20:58.345107629 +0000
    5453857185@@ -69,6 +69,7 @@
    5453957186 char_u *getnextcomp __ARGS((char_u *fname));
     
    5455657203 int get_expr_indent __ARGS((void));
    5455757204 int get_lisp_indent __ARGS((void));
     57205@@ -98,7 +100,7 @@
     57206 void remove_duplicates __ARGS((garray_T *gap));
     57207 int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
     57208 void addfile __ARGS((garray_T *gap, char_u *f, int flags));
     57209-char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags));
     57210+char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags, int *ret_len));
     57211 void FreeWild __ARGS((int count, char_u **files));
     57212 int goto_im __ARGS((void));
     57213 /* vim: set ft=c : */
    5455857214diff -Naur vim74.orig/src/proto/misc2.pro vim74/src/proto/misc2.pro
    5455957215--- vim74.orig/src/proto/misc2.pro      2013-08-10 11:37:20.000000000 +0000
    54560 +++ vim74/src/proto/misc2.pro   2014-03-30 20:09:04.729396202 +0000
     57216+++ vim74/src/proto/misc2.pro   2014-04-27 05:20:58.345107629 +0000
    5456157217@@ -32,7 +32,7 @@
    5456257218 char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
     
    5456857224 char_u *vim_strnsave_up __ARGS((char_u *string, int len));
    5456957225 void vim_strup __ARGS((char_u *p));
     57226diff -Naur vim74.orig/src/proto/ops.pro vim74/src/proto/ops.pro
     57227--- vim74.orig/src/proto/ops.pro        2013-08-10 11:37:22.000000000 +0000
     57228+++ vim74/src/proto/ops.pro     2014-04-27 05:20:58.348441045 +0000
     57229@@ -53,9 +53,10 @@
     57230 int clip_convert_selection __ARGS((char_u **str, long_u *len, VimClipboard *cbd));
     57231 void dnd_yank_drag_data __ARGS((char_u *str, long len));
     57232 char_u get_reg_type __ARGS((int regname, long *reglen));
     57233-char_u *get_reg_contents __ARGS((int regname, int allowexpr, int expr_src));
     57234+char_u *get_reg_contents __ARGS((int regname, int flags));
     57235 void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append));
     57236 void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len));
     57237+void write_reg_contents_lst __ARGS((int name, char_u **strings, int maxlen, int must_append, int yank_type, long block_len));
     57238 void clear_oparg __ARGS((oparg_T *oap));
     57239 void cursor_pos_info __ARGS((void));
     57240 /* vim: set ft=c : */
    5457057241diff -Naur vim74.orig/src/proto/option.pro vim74/src/proto/option.pro
    5457157242--- vim74.orig/src/proto/option.pro     2013-08-10 11:37:22.000000000 +0000
    54572 +++ vim74/src/proto/option.pro  2014-03-30 20:09:04.729396202 +0000
     57243+++ vim74/src/proto/option.pro  2014-04-27 05:20:58.348441045 +0000
    5457357244@@ -23,6 +23,7 @@
    5457457245 char_u *check_stl_option __ARGS((char_u *s));
     
    5458857259 void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit));
    5458957260 /* vim: set ft=c : */
     57261diff -Naur vim74.orig/src/proto/os_amiga.pro vim74/src/proto/os_amiga.pro
     57262--- vim74.orig/src/proto/os_amiga.pro   2013-08-10 11:37:37.000000000 +0000
     57263+++ vim74/src/proto/os_amiga.pro        2014-04-27 05:20:58.348441045 +0000
     57264@@ -26,7 +26,7 @@
     57265 void mch_hide __ARGS((char_u *name));
     57266 int mch_isdir __ARGS((char_u *name));
     57267 int mch_mkdir __ARGS((char_u *name));
     57268-int mch_can_exe __ARGS((char_u *name));
     57269+int mch_can_exe __ARGS((char_u *name, char_u **path));
     57270 int mch_nodetype __ARGS((char_u *name));
     57271 void mch_early_init __ARGS((void));
     57272 void mch_exit __ARGS((int r));
     57273diff -Naur vim74.orig/src/proto/os_msdos.pro vim74/src/proto/os_msdos.pro
     57274--- vim74.orig/src/proto/os_msdos.pro   2013-08-10 11:37:37.000000000 +0000
     57275+++ vim74/src/proto/os_msdos.pro        2014-04-27 05:20:58.348441045 +0000
     57276@@ -38,7 +38,7 @@
     57277 int mch_setperm __ARGS((char_u *name, long perm));
     57278 void mch_hide __ARGS((char_u *name));
     57279 int mch_isdir __ARGS((char_u *name));
     57280-int mch_can_exe __ARGS((char_u *name));
     57281+int mch_can_exe __ARGS((char_u *name, char_u **path));
     57282 int mch_nodetype __ARGS((char_u *name));
     57283 int mch_dirname __ARGS((char_u *buf, int len));
     57284 int mch_remove __ARGS((char_u *name));
     57285diff -Naur vim74.orig/src/proto/os_unix.pro vim74/src/proto/os_unix.pro
     57286--- vim74.orig/src/proto/os_unix.pro    2013-08-10 11:37:23.000000000 +0000
     57287+++ vim74/src/proto/os_unix.pro 2014-04-27 05:20:58.348441045 +0000
     57288@@ -42,7 +42,7 @@
     57289 void mch_free_acl __ARGS((vim_acl_T aclent));
     57290 void mch_hide __ARGS((char_u *name));
     57291 int mch_isdir __ARGS((char_u *name));
     57292-int mch_can_exe __ARGS((char_u *name));
     57293+int mch_can_exe __ARGS((char_u *name, char_u **path));
     57294 int mch_nodetype __ARGS((char_u *name));
     57295 void mch_early_init __ARGS((void));
     57296 void mch_free_mem __ARGS((void));
    5459057297diff -Naur vim74.orig/src/proto/os_vms.pro vim74/src/proto/os_vms.pro
    5459157298--- vim74.orig/src/proto/os_vms.pro     2013-08-10 11:37:40.000000000 +0000
    54592 +++ vim74/src/proto/os_vms.pro  2014-03-30 20:09:04.732729645 +0000
     57299+++ vim74/src/proto/os_vms.pro  2014-04-27 05:20:58.348441045 +0000
    5459357300@@ -7,6 +7,7 @@
    5459457301 int vms_sys __ARGS((char *cmd, char *out, char *inp));
     
    5459957306 int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
    5460057307 void *vms_fixfilename __ARGS((void *instring));
     57308diff -Naur vim74.orig/src/proto/os_win32.pro vim74/src/proto/os_win32.pro
     57309--- vim74.orig/src/proto/os_win32.pro   2013-08-10 11:37:38.000000000 +0000
     57310+++ vim74/src/proto/os_win32.pro        2014-04-27 05:20:58.348441045 +0000
     57311@@ -26,7 +26,7 @@
     57312 int mch_is_linked __ARGS((char_u *fname));
     57313 int win32_fileinfo __ARGS((char_u *fname, BY_HANDLE_FILE_INFORMATION *info));
     57314 int mch_writable __ARGS((char_u *name));
     57315-int mch_can_exe __ARGS((char_u *name));
     57316+int mch_can_exe __ARGS((char_u *name, char_u **path));
     57317 int mch_nodetype __ARGS((char_u *name));
     57318 vim_acl_T mch_get_acl __ARGS((char_u *fname));
     57319 void mch_set_acl __ARGS((char_u *fname, vim_acl_T acl));
     57320diff -Naur vim74.orig/src/proto/regexp.pro vim74/src/proto/regexp.pro
     57321--- vim74.orig/src/proto/regexp.pro     2013-08-10 11:37:24.000000000 +0000
     57322+++ vim74/src/proto/regexp.pro  2014-04-27 05:20:58.351774461 +0000
     57323@@ -10,6 +10,7 @@
     57324 int vim_regsub __ARGS((regmatch_T *rmp, char_u *source, char_u *dest, int copy, int magic, int backslash));
     57325 int vim_regsub_multi __ARGS((regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash));
     57326 char_u *reg_submatch __ARGS((int no));
     57327+list_T *reg_submatch_list __ARGS((int no));
     57328 regprog_T *vim_regcomp __ARGS((char_u *expr_arg, int re_flags));
     57329 void vim_regfree __ARGS((regprog_T *prog));
     57330 int vim_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
    5460157331diff -Naur vim74.orig/src/proto/spell.pro vim74/src/proto/spell.pro
    5460257332--- vim74.orig/src/proto/spell.pro      2013-08-10 11:37:26.000000000 +0000
    54603 +++ vim74/src/proto/spell.pro   2014-03-30 20:09:04.736063088 +0000
     57333+++ vim74/src/proto/spell.pro   2014-04-27 05:20:58.351774461 +0000
    5460457334@@ -3,6 +3,7 @@
    5460557335 int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, hlf_T *attrp));
     
    5461257342diff -Naur vim74.orig/src/proto/term.pro vim74/src/proto/term.pro
    5461357343--- vim74.orig/src/proto/term.pro       2013-08-10 11:37:28.000000000 +0000
    54614 +++ vim74/src/proto/term.pro    2014-03-30 20:09:04.736063088 +0000
     57344+++ vim74/src/proto/term.pro    2014-04-27 05:20:58.355107876 +0000
    5461557345@@ -35,7 +35,7 @@
    5461657346 void starttermcap __ARGS((void));
     
    5462457354diff -Naur vim74.orig/src/proto/winclip.pro vim74/src/proto/winclip.pro
    5462557355--- vim74.orig/src/proto/winclip.pro    2013-08-10 11:37:39.000000000 +0000
    54626 +++ vim74/src/proto/winclip.pro 2014-03-30 20:09:04.736063088 +0000
     57356+++ vim74/src/proto/winclip.pro 2014-04-27 05:20:58.355107876 +0000
    5462757357@@ -11,4 +11,5 @@
    5462857358 short_u *enc_to_utf16 __ARGS((char_u *str, int *lenp));
     
    5463357363diff -Naur vim74.orig/src/proto/window.pro vim74/src/proto/window.pro
    5463457364--- vim74.orig/src/proto/window.pro     2013-08-10 11:37:30.000000000 +0000
    54635 +++ vim74/src/proto/window.pro  2014-03-30 20:09:04.736063088 +0000
     57365+++ vim74/src/proto/window.pro  2014-04-27 05:20:58.355107876 +0000
    5463657366@@ -9,7 +9,7 @@
    5463757367 void win_equal __ARGS((win_T *next_curwin, int current, int dir));
     
    5464557375diff -Naur vim74.orig/src/quickfix.c vim74/src/quickfix.c
    5464657376--- vim74.orig/src/quickfix.c   2013-07-01 19:16:44.000000000 +0000
    54647 +++ vim74/src/quickfix.c        2014-03-30 20:09:04.739396532 +0000
     57377+++ vim74/src/quickfix.c        2014-04-27 05:20:58.358441293 +0000
    5464857378@@ -751,7 +751,10 @@
    5464957379                fmt_start = fmt_ptr;
     
    5469257422diff -Naur vim74.orig/src/regexp.c vim74/src/regexp.c
    5469357423--- vim74.orig/src/regexp.c     2013-08-01 16:31:30.000000000 +0000
    54694 +++ vim74/src/regexp.c  2014-03-30 20:09:04.742729974 +0000
    54695 @@ -4179,9 +4179,8 @@
     57424+++ vim74/src/regexp.c  2014-04-27 05:20:58.361774709 +0000
     57425@@ -3709,25 +3709,28 @@
     57426 /* TRUE if using multi-line regexp. */
     57427 #define REG_MULTI      (reg_match == NULL)
     57428 
     57429-static int  bt_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
     57430+static int  bt_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col, int line_lbr));
     57431+
     57432 
     57433 /*
     57434  * Match a regexp against a string.
     57435  * "rmp->regprog" is a compiled regexp as returned by vim_regcomp().
     57436  * Uses curbuf for line count and 'iskeyword'.
     57437+ * if "line_lbr" is TRUE  consider a "\n" in "line" to be a line break.
     57438  *
     57439  * Return TRUE if there is a match, FALSE if not.
     57440  */
     57441     static int
     57442-bt_regexec(rmp, line, col)
     57443+bt_regexec_nl(rmp, line, col, line_lbr)
     57444     regmatch_T *rmp;
     57445     char_u     *line;  /* string to match against */
     57446     colnr_T    col;    /* column to start looking for match */
     57447+    int                line_lbr;
     57448 {
     57449     reg_match = rmp;
     57450     reg_mmatch = NULL;
     57451     reg_maxline = 0;
     57452-    reg_line_lbr = FALSE;
     57453+    reg_line_lbr = line_lbr;
     57454     reg_buf = curbuf;
     57455     reg_win = NULL;
     57456     ireg_ic = rmp->rm_ic;
     57457@@ -3738,35 +3741,6 @@
     57458     return (bt_regexec_both(line, col, NULL) != 0);
     57459 }
     57460 
     57461-#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
     57462-       || defined(FIND_REPLACE_DIALOG) || defined(PROTO)
     57463-
     57464-static int  bt_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
     57465-
     57466-/*
     57467- * Like vim_regexec(), but consider a "\n" in "line" to be a line break.
     57468- */
     57469-    static int
     57470-bt_regexec_nl(rmp, line, col)
     57471-    regmatch_T *rmp;
     57472-    char_u     *line;  /* string to match against */
     57473-    colnr_T    col;    /* column to start looking for match */
     57474-{
     57475-    reg_match = rmp;
     57476-    reg_mmatch = NULL;
     57477-    reg_maxline = 0;
     57478-    reg_line_lbr = TRUE;
     57479-    reg_buf = curbuf;
     57480-    reg_win = NULL;
     57481-    ireg_ic = rmp->rm_ic;
     57482-#ifdef FEAT_MBYTE
     57483-    ireg_icombine = FALSE;
     57484-#endif
     57485-    ireg_maxcol = 0;
     57486-    return (bt_regexec_both(line, col, NULL) != 0);
     57487-}
     57488-#endif
     57489-
     57490 static long bt_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm));
     57491 
     57492 /*
     57493@@ -4146,7 +4120,8 @@
     57494            {
     57495                /* Only accept single line matches. */
     57496                if (reg_startzpos[i].lnum >= 0
     57497-                       && reg_endzpos[i].lnum == reg_startzpos[i].lnum)
     57498+                       && reg_endzpos[i].lnum == reg_startzpos[i].lnum
     57499+                       && reg_endzpos[i].col >= reg_startzpos[i].col)
     57500                    re_extmatch_out->matches[i] =
     57501                        vim_strnsave(reg_getline(reg_startzpos[i].lnum)
     57502                                                       + reg_startzpos[i].col,
     57503@@ -4179,9 +4154,8 @@
    5469657504                            - (*mb_head_off)(regline, reginput - 1), reg_buf);
    5469757505     return -1;
     
    5470457512 
    5470557513 /*
    54706 @@ -4258,7 +4257,6 @@
     57514@@ -4258,7 +4232,6 @@
    5470757515     }
    5470857516     return TRUE;
     
    5471257520 #define ADVANCE_REGINPUT() mb_ptr_adv(reginput)
    5471357521 
    54714 @@ -4311,8 +4309,8 @@
     57522@@ -4311,8 +4284,8 @@
    5471557523    */
    5471657524   for (;;)
     
    5472357531 
    5472457532 #ifdef DEBUG
    54725 @@ -4440,9 +4438,7 @@
     57533@@ -4440,9 +4413,7 @@
    5472657534            break;
    5472757535 
     
    5473357541            break;
    5473457542 
    54735 @@ -6455,7 +6451,8 @@
     57543@@ -6455,7 +6426,8 @@
    5473657544 /*
    5473757545  * Check whether a backreference matches.
     
    5474357551     static int
    5474457552 match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen)
    54745 @@ -6511,6 +6508,8 @@
     57553@@ -6511,6 +6483,8 @@
    5474657554 
    5474757555        /* Advance to next line. */
     
    5475257560        ccol = 0;
    5475357561        if (got_int)
    54754 @@ -8016,12 +8015,11 @@
     57562@@ -7381,6 +7355,7 @@
     57563     reg_mmatch = NULL;
     57564     reg_maxline = 0;
     57565     reg_buf = curbuf;
     57566+    reg_line_lbr = TRUE;
     57567     return vim_regsub_both(source, dest, copy, magic, backslash);
     57568 }
     57569 #endif
     57570@@ -7400,6 +7375,7 @@
     57571     reg_buf = curbuf;          /* always works on the current buffer! */
     57572     reg_firstlnum = lnum;
     57573     reg_maxline = curbuf->b_ml.ml_line_count - lnum;
     57574+    reg_line_lbr = FALSE;
     57575     return vim_regsub_both(source, dest, copy, magic, backslash);
     57576 }
     57577 
     57578@@ -7898,17 +7874,92 @@
     57579 
     57580     return retval;
     57581 }
     57582+
     57583+/*
     57584+ * Used for the submatch() function with the optional non-zero argument: get
     57585+ * the list of strings from the n'th submatch in allocated memory with NULs
     57586+ * represented in NLs.
     57587+ * Returns a list of allocated strings.  Returns NULL when not in a ":s"
     57588+ * command, for a non-existing submatch and for any error.
     57589+ */
     57590+    list_T *
     57591+reg_submatch_list(no)
     57592+    int                no;
     57593+{
     57594+    char_u     *s;
     57595+    linenr_T   slnum;
     57596+    linenr_T   elnum;
     57597+    colnr_T    scol;
     57598+    colnr_T    ecol;
     57599+    int                i;
     57600+    list_T     *list;
     57601+    int                error = FALSE;
     57602+
     57603+    if (!can_f_submatch || no < 0)
     57604+       return NULL;
     57605+
     57606+    if (submatch_match == NULL)
     57607+    {
     57608+       slnum = submatch_mmatch->startpos[no].lnum;
     57609+       elnum = submatch_mmatch->endpos[no].lnum;
     57610+       if (slnum < 0 || elnum < 0)
     57611+           return NULL;
     57612+
     57613+       scol = submatch_mmatch->startpos[no].col;
     57614+       ecol = submatch_mmatch->endpos[no].col;
     57615+
     57616+       list = list_alloc();
     57617+       if (list == NULL)
     57618+           return NULL;
     57619+
     57620+       s = reg_getline_submatch(slnum) + scol;
     57621+       if (slnum == elnum)
     57622+       {
     57623+           if (list_append_string(list, s, ecol - scol) == FAIL)
     57624+               error = TRUE;
     57625+       }
     57626+       else
     57627+       {
     57628+           if (list_append_string(list, s, -1) == FAIL)
     57629+               error = TRUE;
     57630+           for (i = 1; i < elnum - slnum; i++)
     57631+           {
     57632+               s = reg_getline_submatch(slnum + i);
     57633+               if (list_append_string(list, s, -1) == FAIL)
     57634+                   error = TRUE;
     57635+           }
     57636+           s = reg_getline_submatch(elnum);
     57637+           if (list_append_string(list, s, ecol) == FAIL)
     57638+               error = TRUE;
     57639+       }
     57640+    }
     57641+    else
     57642+    {
     57643+       s = submatch_match->startp[no];
     57644+       if (s == NULL || submatch_match->endp[no] == NULL)
     57645+           return NULL;
     57646+       list = list_alloc();
     57647+       if (list == NULL)
     57648+           return NULL;
     57649+       if (list_append_string(list, s,
     57650+                                (int)(submatch_match->endp[no] - s)) == FAIL)
     57651+           error = TRUE;
     57652+    }
     57653+
     57654+    if (error)
     57655+    {
     57656+       list_free(list, TRUE);
     57657+       return NULL;
     57658+    }
     57659+    return list;
     57660+}
     57661 #endif
     57662 
     57663 static regengine_T bt_regengine =
     57664 {
     57665     bt_regcomp,
     57666     bt_regfree,
     57667-    bt_regexec,
     57668-#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
     57669-       || defined(FIND_REPLACE_DIALOG) || defined(PROTO)
     57670     bt_regexec_nl,
     57671-#endif
     57672     bt_regexec_multi
     57673 #ifdef DEBUG
     57674     ,(char_u *)""
     57675@@ -7922,11 +7973,7 @@
     57676 {
     57677     nfa_regcomp,
     57678     nfa_regfree,
     57679-    nfa_regexec,
     57680-#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
     57681-       || defined(FIND_REPLACE_DIALOG) || defined(PROTO)
     57682     nfa_regexec_nl,
     57683-#endif
     57684     nfa_regexec_multi
     57685 #ifdef DEBUG
     57686     ,(char_u *)""
     57687@@ -8016,12 +8063,11 @@
    5475557688        }
    5475657689 #endif
     
    5476857701 
    5476957702     return prog;
     57703@@ -8051,7 +8097,7 @@
     57704     char_u      *line;  /* string to match against */
     57705     colnr_T     col;    /* column to start looking for match */
     57706 {
     57707-    return rmp->regprog->engine->regexec(rmp, line, col);
     57708+    return rmp->regprog->engine->regexec_nl(rmp, line, col, FALSE);
     57709 }
     57710 
     57711 #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
     57712@@ -8065,7 +8111,7 @@
     57713     char_u *line;
     57714     colnr_T col;
     57715 {
     57716-    return rmp->regprog->engine->regexec_nl(rmp, line, col);
     57717+    return rmp->regprog->engine->regexec_nl(rmp, line, col, TRUE);
     57718 }
     57719 #endif
     57720 
     57721diff -Naur vim74.orig/src/regexp.h vim74/src/regexp.h
     57722--- vim74.orig/src/regexp.h     2013-06-11 08:53:14.000000000 +0000
     57723+++ vim74/src/regexp.h  2014-04-27 05:20:58.361774709 +0000
     57724@@ -149,11 +149,7 @@
     57725 {
     57726     regprog_T  *(*regcomp)(char_u*, int);
     57727     void       (*regfree)(regprog_T *);
     57728-    int                (*regexec)(regmatch_T*, char_u*, colnr_T);
     57729-#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
     57730-       || defined(FIND_REPLACE_DIALOG) || defined(PROTO)
     57731-    int                (*regexec_nl)(regmatch_T*, char_u*, colnr_T);
     57732-#endif
     57733+    int                (*regexec_nl)(regmatch_T*, char_u*, colnr_T, int);
     57734     long       (*regexec_multi)(regmmatch_T*, win_T*, buf_T*, linenr_T, colnr_T, proftime_T*);
     57735 #ifdef DEBUG
     57736     char_u     *expr;
    5477057737diff -Naur vim74.orig/src/regexp_nfa.c vim74/src/regexp_nfa.c
    5477157738--- vim74.orig/src/regexp_nfa.c 2013-08-01 16:27:51.000000000 +0000
    54772 +++ vim74/src/regexp_nfa.c      2014-03-30 20:09:04.746063417 +0000
     57739+++ vim74/src/regexp_nfa.c      2014-04-27 05:20:58.361774709 +0000
    5477357740@@ -29,11 +29,14 @@
    5477457741 # define NFA_REGEXP_DEBUG_LOG  "nfa_regexp_debug.log"
     
    5482157788 /* NFA regexp \ze operator encountered. */
    5482257789 static int nfa_has_zend;
     57790@@ -302,7 +311,7 @@
     57791 static long nfa_regexec_both __ARGS((char_u *line, colnr_T col));
     57792 static regprog_T *nfa_regcomp __ARGS((char_u *expr, int re_flags));
     57793 static void nfa_regfree __ARGS((regprog_T *prog));
     57794-static int nfa_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
     57795+static int  nfa_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col, int line_lbr));
     57796 static long nfa_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm));
     57797 static int match_follows __ARGS((nfa_state_T *startstate, int depth));
     57798 static int failure_chance __ARGS((nfa_state_T *state, int depth));
    5482357799@@ -578,6 +587,8 @@
    5482457800  * On failure, return 0 (=FAIL)
     
    5574758723                    addstate_here(thislist, add_state, &t->subs, pim, &listidx);
    5574858724                else
     58725@@ -6402,8 +6781,10 @@
     58726            {
     58727                struct multipos *mpos = &subs.synt.list.multi[i];
     58728 
     58729-               /* Only accept single line matches. */
     58730-               if (mpos->start.lnum >= 0 && mpos->start.lnum == mpos->end.lnum)
     58731+               /* Only accept single line matches that are valid. */
     58732+               if (mpos->start.lnum >= 0
     58733+                       && mpos->start.lnum == mpos->end.lnum
     58734+                       && mpos->end.col >= mpos->start.col)
     58735                    re_extmatch_out->matches[i] =
     58736                        vim_strnsave(reg_getline(mpos->start.lnum)
     58737                                                            + mpos->start.col,
     58738@@ -6679,47 +7060,21 @@
     58739  * Match a regexp against a string.
     58740  * "rmp->regprog" is a compiled regexp as returned by nfa_regcomp().
     58741  * Uses curbuf for line count and 'iskeyword'.
     58742+ * If "line_lbr" is TRUE consider a "\n" in "line" to be a line break.
     58743  *
     58744  * Return TRUE if there is a match, FALSE if not.
     58745  */
     58746     static int
     58747-nfa_regexec(rmp, line, col)
     58748-    regmatch_T *rmp;
     58749-    char_u     *line;  /* string to match against */
     58750-    colnr_T    col;    /* column to start looking for match */
     58751-{
     58752-    reg_match = rmp;
     58753-    reg_mmatch = NULL;
     58754-    reg_maxline = 0;
     58755-    reg_line_lbr = FALSE;
     58756-    reg_buf = curbuf;
     58757-    reg_win = NULL;
     58758-    ireg_ic = rmp->rm_ic;
     58759-#ifdef FEAT_MBYTE
     58760-    ireg_icombine = FALSE;
     58761-#endif
     58762-    ireg_maxcol = 0;
     58763-    return (nfa_regexec_both(line, col) != 0);
     58764-}
     58765-
     58766-#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
     58767-       || defined(FIND_REPLACE_DIALOG) || defined(PROTO)
     58768-
     58769-static int  nfa_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
     58770-
     58771-/*
     58772- * Like nfa_regexec(), but consider a "\n" in "line" to be a line break.
     58773- */
     58774-    static int
     58775-nfa_regexec_nl(rmp, line, col)
     58776+nfa_regexec_nl(rmp, line, col, line_lbr)
     58777     regmatch_T *rmp;
     58778     char_u     *line;  /* string to match against */
     58779     colnr_T    col;    /* column to start looking for match */
     58780+    int                line_lbr;
     58781 {
     58782     reg_match = rmp;
     58783     reg_mmatch = NULL;
     58784     reg_maxline = 0;
     58785-    reg_line_lbr = TRUE;
     58786+    reg_line_lbr = line_lbr;
     58787     reg_buf = curbuf;
     58788     reg_win = NULL;
     58789     ireg_ic = rmp->rm_ic;
     58790@@ -6729,7 +7084,6 @@
     58791     ireg_maxcol = 0;
     58792     return (nfa_regexec_both(line, col) != 0);
     58793 }
     58794-#endif
     58795 
     58796 
     58797 /*
    5574958798diff -Naur vim74.orig/src/screen.c vim74/src/screen.c
    5575058799--- vim74.orig/src/screen.c     2013-07-13 10:23:00.000000000 +0000
    55751 +++ vim74/src/screen.c  2014-03-30 20:09:04.749396860 +0000
     58800+++ vim74/src/screen.c  2014-04-27 05:20:58.365108126 +0000
    5575258801@@ -446,8 +446,6 @@
    5575358802 #endif
     
    5602259071diff -Naur vim74.orig/src/search.c vim74/src/search.c
    5602359072--- vim74.orig/src/search.c     2013-07-17 17:20:47.000000000 +0000
    56024 +++ vim74/src/search.c  2014-03-30 20:09:04.749396860 +0000
     59073+++ vim74/src/search.c  2014-04-27 05:20:58.368441542 +0000
    5602559074@@ -201,7 +201,7 @@
    5602659075      * Save the currently used pattern in the appropriate place,
     
    5648259531diff -Naur vim74.orig/src/spell.c vim74/src/spell.c
    5648359532--- vim74.orig/src/spell.c      2013-07-17 15:28:28.000000000 +0000
    56484 +++ vim74/src/spell.c   2014-03-30 20:09:04.756063747 +0000
     59533+++ vim74/src/spell.c   2014-04-27 05:20:58.375108373 +0000
    5648559534@@ -317,7 +317,7 @@
    5648659535 
     
    5690559954diff -Naur vim74.orig/src/structs.h vim74/src/structs.h
    5690659955--- vim74.orig/src/structs.h    2013-07-03 13:35:59.000000000 +0000
    56907 +++ vim74/src/structs.h 2014-03-30 20:09:04.756063747 +0000
     59956+++ vim74/src/structs.h 2014-04-27 05:20:58.375108373 +0000
    5690859957@@ -346,9 +346,7 @@
    5690959958 #endif
     
    5710560154diff -Naur vim74.orig/src/syntax.c vim74/src/syntax.c
    5710660155--- vim74.orig/src/syntax.c     2013-06-08 14:10:08.000000000 +0000
    57107 +++ vim74/src/syntax.c  2014-03-30 20:09:04.762730633 +0000
     60156+++ vim74/src/syntax.c  2014-04-27 05:20:58.378441790 +0000
    5710860157@@ -6837,10 +6837,8 @@
    5710960158        CENT("SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue",
     
    5713960188diff -Naur vim74.orig/src/tag.c vim74/src/tag.c
    5714060189--- vim74.orig/src/tag.c        2013-06-15 20:26:26.000000000 +0000
    57141 +++ vim74/src/tag.c     2014-03-30 20:09:04.762730633 +0000
    57142 @@ -1326,6 +1326,7 @@
     60190+++ vim74/src/tag.c     2014-04-27 05:20:58.381775206 +0000
     60191@@ -741,8 +741,10 @@
     60192                            break;
     60193                        msg_advance(15);
     60194 
     60195-                       /* skip backslash used for escaping command char */
     60196-                       if (*p == '\\' && *(p + 1) == *tagp.command)
     60197+                       /* skip backslash used for escaping a command char or
     60198+                        * a backslash */
     60199+                       if (*p == '\\' && (*(p + 1) == *tagp.command
     60200+                                       || *(p + 1) == '\\'))
     60201                            ++p;
     60202 
     60203                        if (*p == TAB)
     60204@@ -1326,6 +1328,7 @@
    5714360205     int                match_no_ic = 0;/* matches with rm_ic == FALSE */
    5714460206     int                match_re;       /* match with regexp */
     
    5714860210 #ifdef FEAT_EMACS_TAGS
    5714960211     /*
    57150 @@ -1442,7 +1443,10 @@
     60212@@ -1442,7 +1445,10 @@
    5715160213     if (p_tl != 0 && orgpat.len > p_tl)                /* adjust for 'taglength' */
    5715260214        orgpat.len = p_tl;
     
    5715960221        goto findtag_end;
    5716060222 
    57161 @@ -1797,13 +1801,16 @@
     60223@@ -1797,13 +1803,16 @@
    5716260224             */
    5716360225            if (state == TS_START)
     
    5718060242                     * Read header line.
    5718160243                     */
    57182 @@ -1898,6 +1905,7 @@
     60244@@ -1898,6 +1907,7 @@
    5718360245 #endif
    5718460246            }
     
    5718860250             * Figure out where the different strings are in this line.
    5718960251             * For "normal" tags: Do a quick check if the tag matches.
    57190 @@ -3326,7 +3334,9 @@
     60252@@ -3326,7 +3336,9 @@
    5719160253 #ifdef FEAT_SEARCH_EXTRA
    5719260254        /* restore no_hlsearch when keeping the old search pattern */
     
    5720160263diff -Naur vim74.orig/src/term.c vim74/src/term.c
    5720260264--- vim74.orig/src/term.c       2013-07-04 20:29:28.000000000 +0000
    57203 +++ vim74/src/term.c    2014-03-30 20:09:04.766064076 +0000
     60265+++ vim74/src/term.c    2014-04-27 05:20:58.381775206 +0000
    5720460266@@ -3356,7 +3356,7 @@
    5720560267  * it must be called immediately after entering termcap mode.
     
    5731560377diff -Naur vim74.orig/src/testdir/Make_amiga.mak vim74/src/testdir/Make_amiga.mak
    5731660378--- vim74.orig/src/testdir/Make_amiga.mak       2013-07-09 11:40:02.000000000 +0000
    57317 +++ vim74/src/testdir/Make_amiga.mak    2014-03-30 20:09:04.769397519 +0000
    57318 @@ -33,7 +33,9 @@
     60379+++ vim74/src/testdir/Make_amiga.mak    2014-04-27 05:20:58.385108623 +0000
     60380@@ -33,7 +33,11 @@
    5731960381                test76.out test77.out test78.out test79.out test80.out \
    5732060382                test81.out test82.out test83.out test84.out test88.out \
     
    5732360385+               test94.out test95.out test96.out test97.out test98.out \
    5732460386+               test99.out test100.out test101.out test102.out test103.out \
    57325 +               test104.out test105.out test106.out
     60387+               test104.out test105.out test106.out \
     60388+               test_eval.out \
     60389+               test_options.out
    5732660390 
    5732760391 .SUFFIXES: .in .out
    5732860392 
    57329 @@ -148,3 +150,11 @@
     60393@@ -148,3 +152,13 @@
    5733060394 test96.out: test96.in
    5733160395 test97.out: test97.in
     
    5733960403+test105.out: test105.in
    5734060404+test106.out: test106.in
     60405+test_eval.out: test_eval.in
     60406+test_options.out: test_options.in
    5734160407diff -Naur vim74.orig/src/testdir/Make_dos.mak vim74/src/testdir/Make_dos.mak
    5734260408--- vim74.orig/src/testdir/Make_dos.mak 2013-07-09 11:40:30.000000000 +0000
    57343 +++ vim74/src/testdir/Make_dos.mak      2014-03-30 20:09:04.769397519 +0000
    57344 @@ -32,7 +32,9 @@
     60409+++ vim74/src/testdir/Make_dos.mak      2014-04-27 05:20:58.385108623 +0000
     60410@@ -32,7 +32,11 @@
    5734560411                test79.out test80.out test81.out test82.out test83.out \
    5734660412                test84.out test85.out test86.out test87.out test88.out \
     
    5734960415+               test94.out test95.out test96.out test98.out test99.out \
    5735060416+               test100.out test101.out test102.out test103.out test104.out \
    57351 +               test105.out test106.out
     60417+               test105.out test106.out \
     60418+               test_eval.out \
     60419+               test_options.out
    5735260420 
    5735360421 SCRIPTS32 =    test50.out test70.out
     
    5735560423diff -Naur vim74.orig/src/testdir/Make_ming.mak vim74/src/testdir/Make_ming.mak
    5735660424--- vim74.orig/src/testdir/Make_ming.mak        2013-07-09 11:40:38.000000000 +0000
    57357 +++ vim74/src/testdir/Make_ming.mak     2014-03-30 20:09:04.769397519 +0000
    57358 @@ -52,7 +52,9 @@
     60425+++ vim74/src/testdir/Make_ming.mak     2014-04-27 05:20:58.385108623 +0000
     60426@@ -52,7 +52,11 @@
    5735960427                test79.out test80.out test81.out test82.out test83.out \
    5736060428                test84.out test85.out test86.out test87.out test88.out \
     
    5736360431+               test94.out test95.out test96.out test98.out test99.out \
    5736460432+               test100.out test101.out test102.out test103.out test104.out \
    57365 +               test105.out test106.out
     60433+               test105.out test106.out \
     60434+               test_eval.out \
     60435+               test_options.out
    5736660436 
    5736760437 SCRIPTS32 =    test50.out test70.out
     
    5736960439diff -Naur vim74.orig/src/testdir/Make_os2.mak vim74/src/testdir/Make_os2.mak
    5737060440--- vim74.orig/src/testdir/Make_os2.mak 2013-07-09 11:40:43.000000000 +0000
    57371 +++ vim74/src/testdir/Make_os2.mak      2014-03-30 20:09:04.769397519 +0000
    57372 @@ -34,7 +34,9 @@
     60441+++ vim74/src/testdir/Make_os2.mak      2014-04-27 05:20:58.385108623 +0000
     60442@@ -34,7 +34,11 @@
    5737360443                test76.out test77.out test78.out test79.out test80.out \
    5737460444                test81.out test82.out test83.out test84.out test88.out \
     
    5737760447+               test94.out test95.out test96.out test98.out test99.out \
    5737860448+               test100.out test101.out test102.out test103.out test104.out \
    57379 +               test105.out test106.out
     60449+               test105.out test106.out \
     60450+               test_eval.out \
     60451+               test_options.out
    5738060452 
    5738160453 .SUFFIXES: .in .out
     
    5738360455diff -Naur vim74.orig/src/testdir/Make_vms.mms vim74/src/testdir/Make_vms.mms
    5738460456--- vim74.orig/src/testdir/Make_vms.mms 2013-07-09 11:40:47.000000000 +0000
    57385 +++ vim74/src/testdir/Make_vms.mms      2014-03-30 20:09:04.772730962 +0000
     60457+++ vim74/src/testdir/Make_vms.mms      2014-04-27 05:20:58.385108623 +0000
    5738660458@@ -4,7 +4,7 @@
    5738760459 # Authors:     Zoltan Arpadffy, <arpadffy@polarhome.com>
     
    5742660498 # End of configuration section.
    5742760499 #
    57428 @@ -63,35 +78,44 @@
     60500@@ -63,35 +78,46 @@
    5742960501 
    5743060502 SCRIPT = test1.out  test2.out  test3.out  test4.out  test5.out  \
     
    5745360525+        test95.out test96.out test98.out test99.out \
    5745460526+        test100.out test101.out test103.out test104.out \
    57455 +        test105.out test106.out
     60527+        test105.out test106.out \
     60528+        test_eval.out \
     60529+        test_options.out
    5745660530 
    5745760531 # Known problems:
     
    5748260556 .IFDEF WANT_GUI
    5748360557 SCRIPT_GUI = test16.out
    57484 @@ -99,7 +123,7 @@
     60558@@ -99,7 +125,7 @@
    5748560559 .ENDIF
    5748660560 
     
    5749160565 
    5749260566 .IFDEF WANT_WIN
    57493 @@ -114,6 +138,10 @@
     60567@@ -114,6 +140,10 @@
    5749460568 SCRIPT_MZSCH = test70.out
    5749560569 .ENDIF
     
    5750260576 SCRIPT_GZIP = test11.out
    5750360577 .ENDIF
    57504 @@ -122,10 +150,28 @@
     60578@@ -122,10 +152,28 @@
    5750560579 SCRIPT_GDIFF = test47.out
    5750660580 .ENDIF
     
    5753160605        -@ write sys$output "-----------------------------------------------"
    5753260606        -@ write sys$output "                "$*" "
    57533 @@ -138,9 +184,10 @@
     60607@@ -138,9 +186,10 @@
    5753460608        -@ if "''F$SEARCH("$*.out.*")'"   .NES. "" then differences /par $*.out $*.ok;
    5753560609        -@ !clean up after the test
     
    5754460618        -@ write sys$output "-----------------------------------------------"
    5754560619        -@ write sys$output "                All done"
    57546 @@ -163,13 +210,18 @@
     60620@@ -163,13 +212,18 @@
    5754760621        -@ write sys$output "                Test results:"
    5754860622        -@ write sys$output "-----------------------------------------------"
     
    5757060644        -@ write sys$output "-----------------------------------------------"
    5757160645        -@ type VMS.VIM
    57572 @@ -179,6 +231,9 @@
     60646@@ -179,6 +233,9 @@
    5757360647        -@ if "''F$SEARCH("test.log")'"     .NES. "" then delete/noconfirm/nolog test.log.*
    5757460648        -@ if "''F$SEARCH("test.ok")'"      .NES. "" then delete/noconfirm/nolog test.ok.*
     
    5758060654        -@ if "''F$SEARCH("*.failed")'"     .NES. "" then delete/noconfirm/nolog *.failed.*
    5758160655        -@ if "''F$SEARCH("*.rej")'"        .NES. "" then delete/noconfirm/nolog *.rej.*
    57582 @@ -186,6 +241,6 @@
     60656@@ -186,6 +243,6 @@
    5758360657        -@ if "''F$SEARCH("small.vim")'"    .NES. "" then delete/noconfirm/nolog small.vim.*
    5758460658        -@ if "''F$SEARCH("mbyte.vim")'"    .NES. "" then delete/noconfirm/nolog mbyte.vim.*
     
    5759060664diff -Naur vim74.orig/src/testdir/Makefile vim74/src/testdir/Makefile
    5759160665--- vim74.orig/src/testdir/Makefile     2013-08-10 12:20:20.000000000 +0000
    57592 +++ vim74/src/testdir/Makefile  2014-03-30 20:09:04.772730962 +0000
    57593 @@ -29,7 +29,9 @@
     60666+++ vim74/src/testdir/Makefile  2014-04-27 05:20:58.385108623 +0000
     60667@@ -3,6 +3,7 @@
     60668 #
     60669 
     60670 VIMPROG = ../vim
     60671+SCRIPTSOURCE = ../../runtime
     60672 
     60673 # Uncomment this line to use valgrind for memory leaks and extra warnings.
     60674 #   The output goes into a file "valgrind.testN"
     60675@@ -29,7 +30,10 @@
    5759460676                test79.out test80.out test81.out test82.out test83.out \
    5759560677                test84.out test85.out test86.out test87.out test88.out \
     
    5759860680+               test94.out test95.out test96.out test97.out test98.out \
    5759960681+               test99.out test100.out test101.out test102.out test103.out \
    57600 +               test104.out test105.out test106.out
     60682+               test104.out test105.out test106.out \
     60683+               test_options.out
    5760160684 
    5760260685 SCRIPTS_GUI = test16.out
    5760360686 
    57604 @@ -57,9 +59,13 @@
     60687@@ -51,15 +55,19 @@
     60688 
     60689 RM_ON_RUN = test.out X* viminfo
     60690 RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok
     60691-RUN_VIM = $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in
     60692+RUN_VIM = export VIMRUNTIME=$(SCRIPTSOURCE); $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in
     60693 
     60694 clean:
    5760560695        -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
    5760660696 
     
    5762060710diff -Naur vim74.orig/src/testdir/sautest/autoload/Test104.vim vim74/src/testdir/sautest/autoload/Test104.vim
    5762160711--- vim74.orig/src/testdir/sautest/autoload/Test104.vim 1970-01-01 00:00:00.000000000 +0000
    57622 +++ vim74/src/testdir/sautest/autoload/Test104.vim      2014-03-30 20:09:04.779397848 +0000
     60712+++ vim74/src/testdir/sautest/autoload/Test104.vim      2014-04-27 05:20:58.391775454 +0000
    5762360713@@ -0,0 +1 @@
    5762460714+let Test104#numvar = 123
    5762560715diff -Naur vim74.orig/src/testdir/sautest/autoload/footest.vim vim74/src/testdir/sautest/autoload/footest.vim
    5762660716--- vim74.orig/src/testdir/sautest/autoload/footest.vim 1970-01-01 00:00:00.000000000 +0000
    57627 +++ vim74/src/testdir/sautest/autoload/footest.vim      2014-03-30 20:09:04.779397848 +0000
     60717+++ vim74/src/testdir/sautest/autoload/footest.vim      2014-04-27 05:20:58.391775454 +0000
    5762860718@@ -0,0 +1,5 @@
    5762960719+" Autoload script used by test55 and test60
     
    5763460724diff -Naur vim74.orig/src/testdir/test1.in vim74/src/testdir/test1.in
    5763560725--- vim74.orig/src/testdir/test1.in     2012-04-05 14:37:37.000000000 +0000
    57636 +++ vim74/src/testdir/test1.in  2014-03-30 20:09:04.779397848 +0000
     60726+++ vim74/src/testdir/test1.in  2014-04-27 05:20:58.391775454 +0000
    5763760727@@ -18,6 +18,10 @@
    5763860728 Similar logic is applied to the +lua feature, using lua.vim.
     
    5764860738diff -Naur vim74.orig/src/testdir/test100.in vim74/src/testdir/test100.in
    5764960739--- vim74.orig/src/testdir/test100.in   1970-01-01 00:00:00.000000000 +0000
    57650 +++ vim74/src/testdir/test100.in        2014-03-30 20:09:04.779397848 +0000
     60740+++ vim74/src/testdir/test100.in        2014-04-27 05:20:58.395108870 +0000
    5765160741@@ -0,0 +1,50 @@
    5765260742+Tests for 'undolevel' and 'lispwords' settings being global-local
     
    5770260792diff -Naur vim74.orig/src/testdir/test100.ok vim74/src/testdir/test100.ok
    5770360793--- vim74.orig/src/testdir/test100.ok   1970-01-01 00:00:00.000000000 +0000
    57704 +++ vim74/src/testdir/test100.ok        2014-03-30 20:09:04.779397848 +0000
     60794+++ vim74/src/testdir/test100.ok        2014-04-27 05:20:58.395108870 +0000
    5770560795@@ -0,0 +1,51 @@
    5770660796+ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
     
    5775760847diff -Naur vim74.orig/src/testdir/test101.in vim74/src/testdir/test101.in
    5775860848--- vim74.orig/src/testdir/test101.in   1970-01-01 00:00:00.000000000 +0000
    57759 +++ vim74/src/testdir/test101.in        2014-03-30 20:09:04.779397848 +0000
     60849+++ vim74/src/testdir/test101.in        2014-04-27 05:20:58.395108870 +0000
    5776060850@@ -0,0 +1,45 @@
    5776160851+Test for v:hlsearch     vim: set ft=vim :
     
    5780660896diff -Naur vim74.orig/src/testdir/test101.ok vim74/src/testdir/test101.ok
    5780760897--- vim74.orig/src/testdir/test101.ok   1970-01-01 00:00:00.000000000 +0000
    57808 +++ vim74/src/testdir/test101.ok        2014-03-30 20:09:04.782731291 +0000
     60898+++ vim74/src/testdir/test101.ok        2014-04-27 05:20:58.395108870 +0000
    5780960899@@ -0,0 +1,11 @@
    5781060900+start:
     
    5782160911diff -Naur vim74.orig/src/testdir/test102.in vim74/src/testdir/test102.in
    5782260912--- vim74.orig/src/testdir/test102.in   1970-01-01 00:00:00.000000000 +0000
    57823 +++ vim74/src/testdir/test102.in        2014-03-30 20:09:04.782731291 +0000
     60913+++ vim74/src/testdir/test102.in        2014-04-27 05:20:58.395108870 +0000
    5782460914@@ -0,0 +1,12 @@
    5782560915+Test if fnameescape is correct for special chars like !
     
    5783760927diff -Naur vim74.orig/src/testdir/test102.ok vim74/src/testdir/test102.ok
    5783860928--- vim74.orig/src/testdir/test102.ok   1970-01-01 00:00:00.000000000 +0000
    57839 +++ vim74/src/testdir/test102.ok        2014-03-30 20:09:04.782731291 +0000
     60929+++ vim74/src/testdir/test102.ok        2014-04-27 05:20:58.395108870 +0000
    5784060930@@ -0,0 +1,3 @@
    5784160931+
     
    5784460934diff -Naur vim74.orig/src/testdir/test103.in vim74/src/testdir/test103.in
    5784560935--- vim74.orig/src/testdir/test103.in   1970-01-01 00:00:00.000000000 +0000
    57846 +++ vim74/src/testdir/test103.in        2014-03-30 20:09:04.782731291 +0000
     60936+++ vim74/src/testdir/test103.in        2014-04-27 05:20:58.395108870 +0000
    5784760937@@ -0,0 +1,37 @@
    5784860938+Test for visual mode not being reset causing E315 error.
     
    5788560975diff -Naur vim74.orig/src/testdir/test103.ok vim74/src/testdir/test103.ok
    5788660976--- vim74.orig/src/testdir/test103.ok   1970-01-01 00:00:00.000000000 +0000
    57887 +++ vim74/src/testdir/test103.ok        2014-03-30 20:09:04.782731291 +0000
     60977+++ vim74/src/testdir/test103.ok        2014-04-27 05:20:58.395108870 +0000
    5788860978@@ -0,0 +1,2 @@
    5788960979+
     
    5789160981diff -Naur vim74.orig/src/testdir/test104.in vim74/src/testdir/test104.in
    5789260982--- vim74.orig/src/testdir/test104.in   1970-01-01 00:00:00.000000000 +0000
    57893 +++ vim74/src/testdir/test104.in        2014-03-30 20:09:04.782731291 +0000
     60983+++ vim74/src/testdir/test104.in        2014-04-27 05:20:58.395108870 +0000
    5789460984@@ -0,0 +1,30 @@
    5789560985+Tests for :let.  vim: set ft=vim ts=8 :
     
    5792561015diff -Naur vim74.orig/src/testdir/test104.ok vim74/src/testdir/test104.ok
    5792661016--- vim74.orig/src/testdir/test104.ok   1970-01-01 00:00:00.000000000 +0000
    57927 +++ vim74/src/testdir/test104.ok        2014-03-30 20:09:04.782731291 +0000
     61017+++ vim74/src/testdir/test104.ok        2014-04-27 05:20:58.395108870 +0000
    5792861018@@ -0,0 +1,13 @@
    5792961019+Results of test104:
     
    5794261032diff -Naur vim74.orig/src/testdir/test105.in vim74/src/testdir/test105.in
    5794361033--- vim74.orig/src/testdir/test105.in   1970-01-01 00:00:00.000000000 +0000
    57944 +++ vim74/src/testdir/test105.in        2014-03-30 20:09:04.782731291 +0000
     61034+++ vim74/src/testdir/test105.in        2014-04-27 05:20:58.395108870 +0000
    5794561035@@ -0,0 +1,45 @@
    5794661036+Test filename modifiers     vim: set ft=vim :
     
    5799161081diff -Naur vim74.orig/src/testdir/test105.ok vim74/src/testdir/test105.ok
    5799261082--- vim74.orig/src/testdir/test105.ok   1970-01-01 00:00:00.000000000 +0000
    57993 +++ vim74/src/testdir/test105.ok        2014-03-30 20:09:04.782731291 +0000
     61083+++ vim74/src/testdir/test105.ok        2014-04-27 05:20:58.398442287 +0000
    5799461084@@ -0,0 +1,29 @@
    5799561085+fnamemodify('.',              ':p'      )[-1:] '/'
     
    5802461114diff -Naur vim74.orig/src/testdir/test106.in vim74/src/testdir/test106.in
    5802561115--- vim74.orig/src/testdir/test106.in   1970-01-01 00:00:00.000000000 +0000
    58026 +++ vim74/src/testdir/test106.in        2014-03-30 20:09:04.782731291 +0000
     61116+++ vim74/src/testdir/test106.in        2014-04-27 05:20:58.398442287 +0000
    5802761117@@ -0,0 +1,16 @@
    5802861118+Tests for errorformat.  vim: set ft=vim ts=8 :
     
    5804461134diff -Naur vim74.orig/src/testdir/test106.ok vim74/src/testdir/test106.ok
    5804561135--- vim74.orig/src/testdir/test106.ok   1970-01-01 00:00:00.000000000 +0000
    58046 +++ vim74/src/testdir/test106.ok        2014-03-30 20:09:04.786064734 +0000
     61136+++ vim74/src/testdir/test106.ok        2014-04-27 05:20:58.398442287 +0000
    5804761137@@ -0,0 +1,4 @@
    5804861138+Results of test106:
     
    5805261142diff -Naur vim74.orig/src/testdir/test14.in vim74/src/testdir/test14.in
    5805361143--- vim74.orig/src/testdir/test14.in    2013-04-03 18:59:14.000000000 +0000
    58054 +++ vim74/src/testdir/test14.in 2014-03-30 20:09:04.786064734 +0000
     61144+++ vim74/src/testdir/test14.in 2014-04-27 05:20:58.398442287 +0000
    5805561145@@ -47,7 +47,19 @@
    5805661146 /two
     
    5808461174diff -Naur vim74.orig/src/testdir/test14.ok vim74/src/testdir/test14.ok
    5808561175--- vim74.orig/src/testdir/test14.ok    2013-04-03 18:59:14.000000000 +0000
    58086 +++ vim74/src/testdir/test14.ok 2014-03-30 20:09:04.786064734 +0000
     61176+++ vim74/src/testdir/test14.ok 2014-04-27 05:20:58.398442287 +0000
    5808761177@@ -20,3 +20,7 @@
    5808861178 1
     
    5809561185diff -Naur vim74.orig/src/testdir/test20.in vim74/src/testdir/test20.in
    5809661186--- vim74.orig/src/testdir/test20.in    2010-05-15 11:04:10.000000000 +0000
    58097 +++ vim74/src/testdir/test20.in 2014-03-30 20:09:04.789398178 +0000
     61187+++ vim74/src/testdir/test20.in 2014-04-27 05:20:58.401775704 +0000
    5809861188@@ -9,11 +9,17 @@
    5809961189 @auY:quit!
     
    5811861208diff -Naur vim74.orig/src/testdir/test20.ok vim74/src/testdir/test20.ok
    5811961209--- vim74.orig/src/testdir/test20.ok    2010-05-15 11:04:10.000000000 +0000
    58120 +++ vim74/src/testdir/test20.ok 2014-03-30 20:09:04.789398178 +0000
     61210+++ vim74/src/testdir/test20.ok 2014-04-27 05:20:58.401775704 +0000
    5812161211@@ -1,3 +1,7 @@
    5812261212+123start here56
     
    5812961219diff -Naur vim74.orig/src/testdir/test32.in vim74/src/testdir/test32.in
    5813061220--- vim74.orig/src/testdir/test32.in    2010-05-15 11:04:10.000000000 +0000
    58131 +++ vim74/src/testdir/test32.in 2014-03-30 20:09:04.799398506 +0000
     61221+++ vim74/src/testdir/test32.in 2014-04-27 05:20:58.408442535 +0000
    5813261222@@ -36,6 +36,9 @@
    5813361223 :w Xtest11.one
     
    5814261232diff -Naur vim74.orig/src/testdir/test34.in vim74/src/testdir/test34.in
    5814361233--- vim74.orig/src/testdir/test34.in    2012-07-16 14:51:29.000000000 +0000
    58144 +++ vim74/src/testdir/test34.in 2014-03-30 20:09:04.799398506 +0000
     61234+++ vim74/src/testdir/test34.in 2014-04-27 05:20:58.411775950 +0000
    5814561235@@ -1,6 +1,7 @@
    5814661236 Test for user functions.
     
    5817261262diff -Naur vim74.orig/src/testdir/test34.ok vim74/src/testdir/test34.ok
    5817361263--- vim74.orig/src/testdir/test34.ok    2012-07-16 14:43:15.000000000 +0000
    58174 +++ vim74/src/testdir/test34.ok 2014-03-30 20:09:04.799398506 +0000
     61264+++ vim74/src/testdir/test34.ok 2014-04-27 05:20:58.411775950 +0000
    5817561265@@ -6,3 +6,5 @@
    5817661266 1. one again
     
    5818161271diff -Naur vim74.orig/src/testdir/test37.ok vim74/src/testdir/test37.ok
    5818261272--- vim74.orig/src/testdir/test37.ok    2010-05-15 11:04:10.000000000 +0000
    58183 +++ vim74/src/testdir/test37.ok 2014-03-30 20:09:04.799398506 +0000
     61273+++ vim74/src/testdir/test37.ok 2014-04-27 05:20:58.411775950 +0000
    5818461274@@ -27,7 +27,7 @@
    5818561275 
     
    5819561285diff -Naur vim74.orig/src/testdir/test39.in vim74/src/testdir/test39.in
    5819661286--- vim74.orig/src/testdir/test39.in    2013-03-07 17:30:38.000000000 +0000
    58197 +++ vim74/src/testdir/test39.in 2014-03-30 20:09:04.802731950 +0000
     61287+++ vim74/src/testdir/test39.in 2014-04-27 05:20:58.415109367 +0000
    5819861288@@ -19,6 +19,28 @@
    5819961289 :" Test block-change
     
    5826761357diff -Naur vim74.orig/src/testdir/test39.ok vim74/src/testdir/test39.ok
    5826861358--- vim74.orig/src/testdir/test39.ok    2013-03-07 17:28:51.000000000 +0000
    58269 +++ vim74/src/testdir/test39.ok 2014-03-30 20:09:04.802731950 +0000
     61359+++ vim74/src/testdir/test39.ok 2014-04-27 05:20:58.415109367 +0000
    5827061360@@ -3,6 +3,24 @@
    5827161361 axyzqqqqef mno        ghijklm
     
    5832161411diff -Naur vim74.orig/src/testdir/test44.in vim74/src/testdir/test44.in
    5832261412--- vim74.orig/src/testdir/test44.in    2013-05-26 12:16:31.000000000 +0000
    58323 +++ vim74/src/testdir/test44.in 2014-03-30 20:09:04.806065393 +0000
     61413+++ vim74/src/testdir/test44.in 2014-04-27 05:20:58.418442783 +0000
    5832461414@@ -1,9 +1,11 @@
    5832561415 Tests for regexp with multi-byte encoding and various magic settings.
     
    5833661426diff -Naur vim74.orig/src/testdir/test53.in vim74/src/testdir/test53.in
    5833761427--- vim74.orig/src/testdir/test53.in    2013-06-30 12:31:56.000000000 +0000
    58338 +++ vim74/src/testdir/test53.in 2014-03-30 20:09:04.812732279 +0000
     61428+++ vim74/src/testdir/test53.in 2014-04-27 05:20:58.421776200 +0000
    5833961429@@ -4,6 +4,8 @@
    5834061430 
     
    5841061500diff -Naur vim74.orig/src/testdir/test53.ok vim74/src/testdir/test53.ok
    5841161501--- vim74.orig/src/testdir/test53.ok    2013-06-30 12:31:56.000000000 +0000
    58412 +++ vim74/src/testdir/test53.ok 2014-03-30 20:09:04.812732279 +0000
     61502+++ vim74/src/testdir/test53.ok 2014-04-27 05:20:58.425109616 +0000
    5841361503@@ -18,6 +18,28 @@
    5841461504 a
     
    5845961549diff -Naur vim74.orig/src/testdir/test55.in vim74/src/testdir/test55.in
    5846061550--- vim74.orig/src/testdir/test55.in    2013-03-07 13:33:12.000000000 +0000
    58461 +++ vim74/src/testdir/test55.in 2014-03-30 20:09:04.812732279 +0000
     61551+++ vim74/src/testdir/test55.in 2014-04-27 05:20:58.425109616 +0000
    5846261552@@ -282,6 +282,13 @@
    5846361553 :    $put =ps
     
    5849461584diff -Naur vim74.orig/src/testdir/test55.ok vim74/src/testdir/test55.ok
    5849561585--- vim74.orig/src/testdir/test55.ok    2012-08-29 14:51:15.000000000 +0000
    58496 +++ vim74/src/testdir/test55.ok 2014-03-30 20:09:04.812732279 +0000
     61586+++ vim74/src/testdir/test55.ok 2014-04-27 05:20:58.425109616 +0000
    5849761587@@ -86,16 +86,21 @@
    5849861588 FFpFFpp
     
    5852461614diff -Naur vim74.orig/src/testdir/test60.in vim74/src/testdir/test60.in
    5852561615--- vim74.orig/src/testdir/test60.in    2010-05-15 11:04:10.000000000 +0000
    58526 +++ vim74/src/testdir/test60.in 2014-03-30 20:09:04.816065722 +0000
     61616+++ vim74/src/testdir/test60.in 2014-04-27 05:20:58.428443032 +0000
    5852761617@@ -1,4 +1,4 @@
    5852861618-Tests for the exists() function.  vim: set ft=vim :
    58529 +Tests for the exists() function.  vim: set ft=vim ts=8 :
     61619+Tests for the exists() and has() functions.  vim: set ft=vim ts=8 sw=2 :
    5853061620 
    5853161621 STARTTEST
     
    5857561665     let local_list = ["blue", "orange"]
    5857661666     echo 'local_list: 1'
    58577 @@ -566,6 +581,10 @@
     61667@@ -566,9 +581,23 @@
    5857861668 
    5857961669     call TestFuncArg("arg1", "arg2")
     
    5858661676 endfunction
    5858761677 :call TestExists()
    58588 @@ -576,5 +595,6 @@
     61678+:"
     61679+:function TestHas()
     61680+  redir >> test.out
     61681+  for pl in ['6.9.999', '7.1.999', '7.4.123', '9.1.0', '9.9.1']
     61682+    echo 'has patch ' . pl . ': ' . has('patch-' . pl)
     61683+  endfor
     61684+  redir END
     61685+endfunc
     61686+:call TestHas()
     61687+:"
     61688 :delfunc TestExists
     61689 :delfunc RunTest
     61690 :delfunc TestFuncArg
     61691@@ -576,5 +605,6 @@
    5858961692 :set ff=unix
    5859061693 :w
     
    5859561698diff -Naur vim74.orig/src/testdir/test60.ok vim74/src/testdir/test60.ok
    5859661699--- vim74.orig/src/testdir/test60.ok    2010-05-15 11:04:10.000000000 +0000
    58597 +++ vim74/src/testdir/test60.ok 2014-03-30 20:09:04.816065722 +0000
     61700+++ vim74/src/testdir/test60.ok 2014-04-27 05:20:58.428443032 +0000
    5859861701@@ -71,6 +71,10 @@
    5859961702 OK
     
    5861661719 OK
    5861761720 local_list[1]: 1
    58618 @@ -195,3 +201,6 @@
     61721@@ -195,3 +201,11 @@
    5861961722 OK
    5862061723 a:2: 0
     
    5862361726+   footest#F() 0
    5862461727+UndefFun() 0
     61728+has patch 6.9.999: 1
     61729+has patch 7.1.999: 1
     61730+has patch 7.4.123: 1
     61731+has patch 9.1.0: 0
     61732+has patch 9.9.1: 0
    5862561733diff -Naur vim74.orig/src/testdir/test64.in vim74/src/testdir/test64.in
    5862661734--- vim74.orig/src/testdir/test64.in    2013-08-01 15:45:33.000000000 +0000
    58627 +++ vim74/src/testdir/test64.in 2014-03-30 20:09:04.819399166 +0000
     61735+++ vim74/src/testdir/test64.in 2014-04-27 05:20:58.431776447 +0000
    5862861736@@ -289,15 +289,29 @@
    5862961737 :call add(tl, [2, '.a\%$', " a\n "])
     
    5871661824diff -Naur vim74.orig/src/testdir/test64.ok vim74/src/testdir/test64.ok
    5871761825--- vim74.orig/src/testdir/test64.ok    2013-08-01 16:28:56.000000000 +0000
    58718 +++ vim74/src/testdir/test64.ok 2014-03-30 20:09:04.822732609 +0000
     61826+++ vim74/src/testdir/test64.ok 2014-04-27 05:20:58.431776447 +0000
    5871961827@@ -650,30 +650,72 @@
    5872061828 OK 0 - .a\%$
     
    5887561983diff -Naur vim74.orig/src/testdir/test68.in vim74/src/testdir/test68.in
    5887661984--- vim74.orig/src/testdir/test68.in    2012-07-25 13:57:06.000000000 +0000
    58877 +++ vim74/src/testdir/test68.in 2014-03-30 20:09:04.822732609 +0000
     61985+++ vim74/src/testdir/test68.in 2014-04-27 05:20:58.435109863 +0000
    5887861986@@ -62,6 +62,20 @@
    5887961987 }
     
    5889962007diff -Naur vim74.orig/src/testdir/test68.ok vim74/src/testdir/test68.ok
    5890062008--- vim74.orig/src/testdir/test68.ok    2012-07-25 14:03:05.000000000 +0000
    58901 +++ vim74/src/testdir/test68.ok 2014-03-30 20:09:04.822732609 +0000
     62009+++ vim74/src/testdir/test68.ok 2014-04-27 05:20:58.435109863 +0000
    5890262010@@ -43,6 +43,15 @@
    5890362011 
     
    5891862026diff -Naur vim74.orig/src/testdir/test69.in vim74/src/testdir/test69.in
    5891962027--- vim74.orig/src/testdir/test69.in    2013-03-07 17:30:50.000000000 +0000
    58920 +++ vim74/src/testdir/test69.in 2014-03-30 20:09:04.822732609 +0000
     62028+++ vim74/src/testdir/test69.in 2014-04-27 05:20:58.435109863 +0000
    5892162029@@ -1,6 +1,7 @@
    5892262030 Test for multi-byte text formatting.
     
    5896162069diff -Naur vim74.orig/src/testdir/test69.ok vim74/src/testdir/test69.ok
    5896262070--- vim74.orig/src/testdir/test69.ok    2013-03-07 17:31:32.000000000 +0000
    58963 +++ vim74/src/testdir/test69.ok 2014-03-30 20:09:04.822732609 +0000
     62071+++ vim74/src/testdir/test69.ok 2014-04-27 05:20:58.435109863 +0000
    5896462072@@ -149,3 +149,14 @@
    5896562073 aaaa
     
    5897962087diff -Naur vim74.orig/src/testdir/test72.in vim74/src/testdir/test72.in
    5898062088--- vim74.orig/src/testdir/test72.in    2012-01-04 18:04:17.000000000 +0000
    58981 +++ vim74/src/testdir/test72.in 2014-03-30 20:09:04.822732609 +0000
     62089+++ vim74/src/testdir/test72.in 2014-04-27 05:20:58.438443280 +0000
    5898262090@@ -105,7 +105,11 @@
    5898362091 u:.w >>test.out
     
    5899562103diff -Naur vim74.orig/src/testdir/test75.in vim74/src/testdir/test75.in
    5899662104--- vim74.orig/src/testdir/test75.in    2013-06-29 11:48:42.000000000 +0000
    58997 +++ vim74/src/testdir/test75.in 2014-03-30 20:09:04.829399494 +0000
     62105+++ vim74/src/testdir/test75.in 2014-04-27 05:20:58.438443280 +0000
    5899862106@@ -1,8 +1,11 @@
    5899962107-" Tests for functions.
     
    5903262140diff -Naur vim74.orig/src/testdir/test75.ok vim74/src/testdir/test75.ok
    5903362141--- vim74.orig/src/testdir/test75.ok    2013-06-29 11:50:08.000000000 +0000
    59034 +++ vim74/src/testdir/test75.ok 2014-03-30 20:09:04.829399494 +0000
     62142+++ vim74/src/testdir/test75.ok 2014-04-27 05:20:58.438443280 +0000
    5903562143@@ -4,3 +4,4 @@
    5903662144 {'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, 'sid': 0, 'rhs': 'bar', 'buffer': 1}
     
    5904062148diff -Naur vim74.orig/src/testdir/test77a.com vim74/src/testdir/test77a.com
    5904162149--- vim74.orig/src/testdir/test77a.com  1970-01-01 00:00:00.000000000 +0000
    59042 +++ vim74/src/testdir/test77a.com       2014-03-30 20:09:04.829399494 +0000
     62150+++ vim74/src/testdir/test77a.com       2014-04-27 05:20:58.438443280 +0000
    5904362151@@ -0,0 +1,8 @@
    5904462152+$! test77a - help file creating checksum on VMS
     
    5905262160diff -Naur vim74.orig/src/testdir/test77a.in vim74/src/testdir/test77a.in
    5905362161--- vim74.orig/src/testdir/test77a.in   1970-01-01 00:00:00.000000000 +0000
    59054 +++ vim74/src/testdir/test77a.in        2014-03-30 20:09:04.829399494 +0000
     62162+++ vim74/src/testdir/test77a.in        2014-04-27 05:20:58.438443280 +0000
    5905562163@@ -0,0 +1,31 @@
    5905662164+Inserts 2 million lines with consecutive integers starting from 1
     
    5908762195diff -Naur vim74.orig/src/testdir/test77a.ok vim74/src/testdir/test77a.ok
    5908862196--- vim74.orig/src/testdir/test77a.ok   1970-01-01 00:00:00.000000000 +0000
    59089 +++ vim74/src/testdir/test77a.ok        2014-03-30 20:09:04.829399494 +0000
     62197+++ vim74/src/testdir/test77a.ok        2014-04-27 05:20:58.438443280 +0000
    5909062198@@ -0,0 +1 @@
    5909162199+  CHECKSUM$CHECKSUM = "844110470"
     62200diff -Naur vim74.orig/src/testdir/test79.in vim74/src/testdir/test79.in
     62201--- vim74.orig/src/testdir/test79.in    2013-04-13 09:16:38.000000000 +0000
     62202+++ vim74/src/testdir/test79.in 2014-04-27 05:20:58.441776697 +0000
     62203@@ -1,6 +1,7 @@
     62204 Test for *sub-replace-special* and *sub-replace-expression* on :substitute.
     62205 Test for submatch() on :substitue.
     62206 Test for *:s%* on :substitute.
     62207+Test for :s replacing \n with  line break.
     62208 
     62209 STARTTEST
     62210 :so small.vim
     62211@@ -181,10 +182,12 @@
     62212 :set cpo&
     62213 /^TEST/
     62214 j:s/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)/
     62215+j:s/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/
     62216 ENDTEST
     62217 
     62218 TEST_5:
     62219 A123456789
     62220+B123456789
     62221 
     62222 STARTTEST
     62223 :set magic&
     62224@@ -209,6 +212,9 @@
     62225 /^TEST_7/
     62226 j:s/A./\=submatch(0)/
     62227 j:s/B./\=submatch(0)/
     62228+j:s/C./\=strtrans(string(submatch(0, 1)))/
     62229+j:s/D.\nD/\=strtrans(string(submatch(0, 1)))/
     62230+j:s/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/
     62231 /^Q$
     62232 :s/Q[^\n]Q/\=submatch(0)."foobar"/
     62233 :" Avoid :s error breaks dotest map on Windows.
     62234@@ -217,10 +223,33 @@
     62235 TEST_7:
     62236 A
     62237A
     62238 BB
     62239+CC
     62240+D
     62241+D
     62242+E
     62243+
     62244+
     62245+
     62246+E
     62247 Q
     62248 Q
     62249 
     62250 STARTTEST
     62251+:function! TitleString()
     62252+  let check = 'foo' =~ 'bar'
     62253+  return ""
     62254+endfunction
     62255+:set titlestring=%{TitleString()}
     62256+:/^test_one/s/.*/\="foo\nbar"/
     62257+:/^test_two/s/.*/\="foo\nbar"/c
     62258+y
     62259+ENDTEST
     62260+
     62261+test_one
     62262+test_two
     62263+
     62264+STARTTEST
     62265 :g/^STARTTEST/.,/^ENDTEST/d
     62266 :1;/^Results/,$wq! test.out
     62267+:call getchar()
     62268 ENDTEST
     62269diff -Naur vim74.orig/src/testdir/test79.ok vim74/src/testdir/test79.ok
     62270--- vim74.orig/src/testdir/test79.ok    2013-03-19 16:30:51.000000000 +0000
     62271+++ vim74/src/testdir/test79.ok 2014-04-27 05:20:58.441776697 +0000
     62272@@ -105,6 +105,7 @@
     62273 
     62274 TEST_5:
     62275 A123456789987654321
     62276+[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
     62277 
     62278 
     62279 TEST_6:
     62280@@ -119,6 +120,15 @@
     62281 A
     62282 B
     62283 B
     62284+['C^@']C
     62285+['D^@', 'D']
     62286+['E^@', '^@', '^@', '^@', '^@E']
     62287 Q
     62288 Q
     62289 
     62290+
     62291+foo
     62292+bar
     62293+foo
     62294+bar
     62295+
    5909262296diff -Naur vim74.orig/src/testdir/test80.in vim74/src/testdir/test80.in
    5909362297--- vim74.orig/src/testdir/test80.in    2013-03-19 16:30:51.000000000 +0000
    59094 +++ vim74/src/testdir/test80.in 2014-03-30 20:09:04.832732937 +0000
    59095 @@ -142,6 +142,8 @@
     62298+++ vim74/src/testdir/test80.in 2014-04-27 05:20:58.441776697 +0000
     62299@@ -117,6 +117,7 @@
     62300 :set cpo&
     62301 :$put =\"\n\nTEST_5:\"
     62302 :$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)', '\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)', '')
     62303+:$put =substitute('A123456789', 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)', '\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])', '')
     62304 /^TEST_6
     62305 ENDTEST
     62306 
     62307@@ -142,6 +143,9 @@
    5909662308 :$put =\"\n\nTEST_7:\"
    5909762309 :$put =substitute('A
    5909862310A', 'A.', '\=submatch(0)', '')
    5909962311 :$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '')
     62312+:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '')
    5910062313+:$put =substitute('-bb', '\zeb', 'a', 'g')
    5910162314+:$put =substitute('-bb', '\ze', 'c', 'g')
     
    5910362316 ENDTEST
    5910462317 
    59105 @@ -174,6 +176,23 @@
     62318@@ -174,6 +178,23 @@
    5910662319 TEST_10:
    5910762320 
     
    5912962342diff -Naur vim74.orig/src/testdir/test80.ok vim74/src/testdir/test80.ok
    5913062343--- vim74.orig/src/testdir/test80.ok    2013-03-19 16:31:45.000000000 +0000
    59131 +++ vim74/src/testdir/test80.ok 2014-03-30 20:09:04.832732937 +0000
    59132 @@ -103,6 +103,8 @@
     62344+++ vim74/src/testdir/test80.ok 2014-04-27 05:20:58.441776697 +0000
     62345@@ -90,6 +90,7 @@
     62346 
     62347 TEST_5:
     62348 A123456789987654321
     62349+[['A123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]
     62350 
     62351 
     62352 TEST_6:
     62353@@ -103,6 +104,10 @@
    5913362354 A
    5913462355A
    5913562356 B
    5913662357 B
     62358+['B
     62359+']B
    5913762360+-abab
    5913862361+c-cbcbc
     
    5914062363 
    5914162364 TEST_8:
    59142 @@ -113,3 +115,14 @@
     62365@@ -113,3 +118,14 @@
    5914362366 
    5914462367 TEST_9:
     
    5915762380diff -Naur vim74.orig/src/testdir/test86.in vim74/src/testdir/test86.in
    5915862381--- vim74.orig/src/testdir/test86.in    2013-07-13 12:00:31.000000000 +0000
    59159 +++ vim74/src/testdir/test86.in 2014-03-30 20:09:04.836066381 +0000
     62382+++ vim74/src/testdir/test86.in 2014-04-27 05:20:58.445110113 +0000
    5916062383@@ -39,6 +39,7 @@
    5916162384 py << EOF
     
    5949462717diff -Naur vim74.orig/src/testdir/test86.ok vim74/src/testdir/test86.ok
    5949562718--- vim74.orig/src/testdir/test86.ok    2013-06-23 14:38:39.000000000 +0000
    59496 +++ vim74/src/testdir/test86.ok 2014-03-30 20:09:04.836066381 +0000
     62719+++ vim74/src/testdir/test86.ok 2014-04-27 05:20:58.448443529 +0000
    5949762720@@ -41,6 +41,9 @@
    5949862721 [2, 3]
     
    5972262945diff -Naur vim74.orig/src/testdir/test87.in vim74/src/testdir/test87.in
    5972362946--- vim74.orig/src/testdir/test87.in    2013-07-06 11:41:30.000000000 +0000
    59724 +++ vim74/src/testdir/test87.in 2014-03-30 20:09:04.836066381 +0000
     62947+++ vim74/src/testdir/test87.in 2014-04-27 05:20:58.448443529 +0000
    5972562948@@ -33,6 +33,7 @@
    5972662949 py3 << EOF
     
    6008463307diff -Naur vim74.orig/src/testdir/test87.ok vim74/src/testdir/test87.ok
    6008563308--- vim74.orig/src/testdir/test87.ok    2013-06-23 14:38:39.000000000 +0000
    60086 +++ vim74/src/testdir/test87.ok 2014-03-30 20:09:04.839399824 +0000
     63309+++ vim74/src/testdir/test87.ok 2014-04-27 05:20:58.448443529 +0000
    6008763310@@ -41,6 +41,9 @@
    6008863311 [2, 3]
     
    6032363546diff -Naur vim74.orig/src/testdir/test92.in vim74/src/testdir/test92.in
    6032463547--- vim74.orig/src/testdir/test92.in    2013-04-18 21:33:45.000000000 +0000
    60325 +++ vim74/src/testdir/test92.in 2014-03-30 20:09:04.842733267 +0000
     63548+++ vim74/src/testdir/test92.in 2014-04-27 05:20:58.451776944 +0000
    6032663549@@ -33,7 +33,7 @@
    6032763550 :mksession! test.out
     
    6033563558diff -Naur vim74.orig/src/testdir/test93.in vim74/src/testdir/test93.in
    6033663559--- vim74.orig/src/testdir/test93.in    2013-02-26 16:13:01.000000000 +0000
    60337 +++ vim74/src/testdir/test93.in 2014-03-30 20:09:04.842733267 +0000
     63560+++ vim74/src/testdir/test93.in 2014-04-27 05:20:58.451776944 +0000
    6033863561@@ -33,7 +33,7 @@
    6033963562 :mksession! test.out
     
    6034763570diff -Naur vim74.orig/src/testdir/test99.in vim74/src/testdir/test99.in
    6034863571--- vim74.orig/src/testdir/test99.in    1970-01-01 00:00:00.000000000 +0000
    60349 +++ vim74/src/testdir/test99.in 2014-03-30 20:09:04.846066710 +0000
     63572+++ vim74/src/testdir/test99.in 2014-04-27 05:20:58.455110360 +0000
    6035063573@@ -0,0 +1,68 @@
    6035163574+Tests for regexp with multi-byte encoding and various magic settings.
     
    6042563648diff -Naur vim74.orig/src/testdir/test99.ok vim74/src/testdir/test99.ok
    6042663649--- vim74.orig/src/testdir/test99.ok    1970-01-01 00:00:00.000000000 +0000
    60427 +++ vim74/src/testdir/test99.ok 2014-03-30 20:09:04.846066710 +0000
     63650+++ vim74/src/testdir/test99.ok 2014-04-27 05:20:58.455110360 +0000
    6042863651@@ -0,0 +1,24 @@
    6042963652+1 a aa abb abbcc
     
    6045663679+א
    6045763680+ג
     63681diff -Naur vim74.orig/src/testdir/test_eval.in vim74/src/testdir/test_eval.in
     63682--- vim74.orig/src/testdir/test_eval.in 1970-01-01 00:00:00.000000000 +0000
     63683+++ vim74/src/testdir/test_eval.in      2014-04-27 05:20:58.455110360 +0000
     63684@@ -0,0 +1,188 @@
     63685+Test for various eval features.   vim: set ft=vim :
     63686+
     63687+Note: system clipboard support is not tested. I do not think anybody will thank
     63688+me for messing with clipboard.
     63689+
     63690+STARTTEST
     63691+:so small.vim
     63692+:set encoding=latin1
     63693+:set noswapfile
     63694+:lang C
     63695+:fun AppendRegContents(reg)
     63696+    call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:reg, getregtype(a:reg), getreg(a:reg), string(getreg(a:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1))))
     63697+endfun
     63698+:command -nargs=? AR :call AppendRegContents(<q-args>)
     63699+:fun SetReg(...)
     63700+    call call('setreg', a:000)
     63701+    call append('$', printf('{{{2 setreg(%s)', string(a:000)[1:-2]))
     63702+    call AppendRegContents(a:1)
     63703+    if a:1 isnot# '='
     63704+        execute "silent normal! Go==\n==\e\"".a:1."P"
     63705+    endif
     63706+endfun
     63707+:fun ErrExe(str)
     63708+    call append('$', 'Executing '.a:str)
     63709+    try
     63710+        execute a:str
     63711+    catch
     63712+        $put =v:exception
     63713+    endtry
     63714+endfun
     63715+:fun Test()
     63716+$put ='{{{1 let tests'
     63717+let @" = 'abc'
     63718+AR "
     63719+let @" = "abc\n"
     63720+AR "
     63721+let @" = "abc\<C-m>"
     63722+AR "
     63723+let @= = '"abc"'
     63724+AR =
     63725+
     63726+$put ='{{{1 Basic setreg tests'
     63727+call SetReg('a', 'abcA', 'c')
     63728+call SetReg('b', 'abcB', 'v')
     63729+call SetReg('c', 'abcC', 'l')
     63730+call SetReg('d', 'abcD', 'V')
     63731+call SetReg('e', 'abcE', 'b')
     63732+call SetReg('f', 'abcF', "\<C-v>")
     63733+call SetReg('g', 'abcG', 'b10')
     63734+call SetReg('h', 'abcH', "\<C-v>10")
     63735+call SetReg('I', 'abcI')
     63736+
     63737+$put ='{{{1 Appending single lines with setreg()'
     63738+call SetReg('A', 'abcAc', 'c')
     63739+call SetReg('A', 'abcAl', 'l')
     63740+call SetReg('A', 'abcAc2','c')
     63741+call SetReg('b', 'abcBc', 'ca')
     63742+call SetReg('b', 'abcBb', 'ba')
     63743+call SetReg('b', 'abcBc2','ca')
     63744+call SetReg('b', 'abcBb2','b50a')
     63745+
     63746+call SetReg('C', 'abcCl', 'l')
     63747+call SetReg('C', 'abcCc', 'c')
     63748+call SetReg('D', 'abcDb', 'b')
     63749+
     63750+call SetReg('E', 'abcEb', 'b')
     63751+call SetReg('E', 'abcEl', 'l')
     63752+call SetReg('F', 'abcFc', 'c')
     63753+
     63754+$put ='{{{1 Appending NL with setreg()'
     63755+call setreg('a', 'abcA2', 'c')
     63756+call setreg('b', 'abcB2', 'v')
     63757+call setreg('c', 'abcC2', 'l')
     63758+call setreg('d', 'abcD2', 'V')
     63759+call setreg('e', 'abcE2', 'b')
     63760+call setreg('f', 'abcF2', "\<C-v>")
     63761+call setreg('g', 'abcG2', 'b10')
     63762+call setreg('h', 'abcH2', "\<C-v>10")
     63763+call setreg('I', 'abcI2')
     63764+
     63765+call SetReg('A', "\n")
     63766+call SetReg('B', "\n", 'c')
     63767+call SetReg('C', "\n")
     63768+call SetReg('D', "\n", 'l')
     63769+call SetReg('E', "\n")
     63770+call SetReg('F', "\n", 'b')
     63771+
     63772+$put ='{{{1 Setting lists with setreg()'
     63773+call SetReg('a', ['abcA3'], 'c')
     63774+call SetReg('b', ['abcB3'], 'l')
     63775+call SetReg('c', ['abcC3'], 'b')
     63776+call SetReg('d', ['abcD3'])
     63777+call SetReg('e', [1, 2, 'abc', 3])
     63778+call SetReg('f', [1, 2, 3])
     63779+
     63780+$put ='{{{1 Appending lists with setreg()'
     63781+call SetReg('A', ['abcA3c'], 'c')
     63782+call SetReg('b', ['abcB3l'], 'la')
     63783+call SetReg('C', ['abcC3b'], 'lb')
     63784+call SetReg('D', ['abcD32'])
     63785+
     63786+call SetReg('A', ['abcA32'])
     63787+call SetReg('B', ['abcB3c'], 'c')
     63788+call SetReg('C', ['abcC3l'], 'l')
     63789+call SetReg('D', ['abcD3b'], 'b')
     63790+
     63791+$put ='{{{1 Appending lists with NL with setreg()'
     63792+call SetReg('A', ["\n", 'abcA3l2'], 'l')
     63793+call SetReg('B', ["\n", 'abcB3c2'], 'c')
     63794+call SetReg('C', ["\n", 'abcC3b2'], 'b')
     63795+call SetReg('D', ["\n", 'abcD3b50'],'b50')
     63796+
     63797+$put ='{{{1 Setting lists with NLs with setreg()'
     63798+call SetReg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4-4-2"])
     63799+call SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\nabcB4c-4-2"], 'c')
     63800+call SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\nabcC4l-4-2"], 'l')
     63801+call SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\nabcD4b-4-2"], 'b')
     63802+call SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4b10-4\nabcE4b10-4-2"], 'b10')
     63803+
     63804+$put ='{{{1 Search and expressions'
     63805+call SetReg('/', ['abc/'])
     63806+call SetReg('/', ["abc/\n"])
     63807+call SetReg('=', ['"abc/"'])
     63808+call SetReg('=', ["\"abc/\n\""])
     63809+
     63810+$put ='{{{1 Errors'
     63811+call ErrExe('call setreg()')
     63812+call ErrExe('call setreg(1)')
     63813+call ErrExe('call setreg(1, 2, 3, 4)')
     63814+call ErrExe('call setreg([], 2)')
     63815+call ErrExe('call setreg(1, {})')
     63816+call ErrExe('call setreg(1, 2, [])')
     63817+call ErrExe('call setreg("/", ["1", "2"])')
     63818+call ErrExe('call setreg("=", ["1", "2"])')
     63819+call ErrExe('call setreg(1, ["", "", [], ""])')
     63820+endfun
     63821+:"
     63822+:call Test()
     63823+:"
     63824+:delfunction SetReg
     63825+:delfunction AppendRegContents
     63826+:delfunction ErrExe
     63827+:delfunction Test
     63828+:delcommand AR
     63829+:call garbagecollect(1)
     63830+:"
     63831+:" function name not starting with capital
     63832+:try
     63833+:func! g:test()
     63834+:echo "test"
     63835+:endfunc
     63836+:catch
     63837+:$put =v:exception
     63838+:endtry
     63839+:"
     63840+:" function name includes a colon
     63841+:try
     63842+:func! b:test()
     63843+:echo "test"
     63844+:endfunc
     63845+:catch
     63846+:$put =v:exception
     63847+:endtry
     63848+:"
     63849+:" function name folowed by #
     63850+:try
     63851+:func! test2() "#
     63852+:echo "test2"
     63853+:endfunc
     63854+:catch
     63855+:$put =v:exception
     63856+:endtry
     63857+:"
     63858+:" function name starting with/without "g:", buffer-local funcref.
     63859+:function! g:Foo(n)
     63860+:  $put ='called Foo(' . a:n . ')'
     63861+:endfunction
     63862+:let b:my_func = function('Foo')
     63863+:call b:my_func(1)
     63864+:echo g:Foo(2)
     63865+:echo Foo(3)
     63866+:"
     63867+:/^start:/+1,$wq! test.out
     63868+:" vim: et ts=4 isk-=\: fmr=???,???
     63869+:call getchar()
     63870+ENDTEST
     63871+
     63872+start:
     63873diff -Naur vim74.orig/src/testdir/test_eval.ok vim74/src/testdir/test_eval.ok
     63874--- vim74.orig/src/testdir/test_eval.ok 1970-01-01 00:00:00.000000000 +0000
     63875+++ vim74/src/testdir/test_eval.ok      2014-04-27 05:20:58.458443777 +0000
     63876@@ -0,0 +1,343 @@
     63877+{{{1 let tests
     63878+": type v; value: abc (['abc']), expr: abc (['abc'])
     63879+": type V; value: abc (['abc']), expr: abc (['abc'])
     63880+": type V; value: abc
     63881 (['abc
     63882']), expr: abc
     63883 (['abc
     63884'])
     63885+=: type v; value: abc (['abc']), expr: "abc" (['"abc"'])
     63886+{{{1 Basic setreg tests
     63887+{{{2 setreg('a', 'abcA', 'c')
     63888+a: type v; value: abcA (['abcA']), expr: abcA (['abcA'])
     63889+==
     63890+=abcA=
     63891+{{{2 setreg('b', 'abcB', 'v')
     63892+b: type v; value: abcB (['abcB']), expr: abcB (['abcB'])
     63893+==
     63894+=abcB=
     63895+{{{2 setreg('c', 'abcC', 'l')
     63896+c: type V; value: abcC (['abcC']), expr: abcC (['abcC'])
     63897+==
     63898+abcC
     63899+==
     63900+{{{2 setreg('d', 'abcD', 'V')
     63901+d: type V; value: abcD (['abcD']), expr: abcD (['abcD'])
     63902+==
     63903+abcD
     63904+==
     63905+{{{2 setreg('e', 'abcE', 'b')
     63906+e: type 4; value: abcE (['abcE']), expr: abcE (['abcE'])
     63907+==
     63908+=abcE=
     63909+{{{2 setreg('f', 'abcF', '')
     63910+f: type 4; value: abcF (['abcF']), expr: abcF (['abcF'])
     63911+==
     63912+=abcF=
     63913+{{{2 setreg('g', 'abcG', 'b10')
     63914+g: type 10; value: abcG (['abcG']), expr: abcG (['abcG'])
     63915+==
     63916+=abcG      =
     63917+{{{2 setreg('h', 'abcH', '10')
     63918+h: type 10; value: abcH (['abcH']), expr: abcH (['abcH'])
     63919+==
     63920+=abcH      =
     63921+{{{2 setreg('I', 'abcI')
     63922+I: type v; value: abcI (['abcI']), expr: abcI (['abcI'])
     63923+==
     63924+=abcI=
     63925+{{{1 Appending single lines with setreg()
     63926+{{{2 setreg('A', 'abcAc', 'c')
     63927+A: type v; value: abcAabcAc (['abcAabcAc']), expr: abcAabcAc (['abcAabcAc'])
     63928+==
     63929+=abcAabcAc=
     63930+{{{2 setreg('A', 'abcAl', 'l')
     63931+A: type V; value: abcAabcAcabcAl (['abcAabcAcabcAl']), expr: abcAabcAcabcAl (['abcAabcAcabcAl'])
     63932+==
     63933+abcAabcAcabcAl
     63934+==
     63935+{{{2 setreg('A', 'abcAc2', 'c')
     63936+A: type v; value: abcAabcAcabcAlabcAc2 (['abcAabcAcabcAl', 'abcAc2']), expr: abcAabcAcabcAlabcAc2 (['abcAabcAcabcAl', 'abcAc2'])
     63937+==
     63938+=abcAabcAcabcAl
     63939+abcAc2=
     63940+{{{2 setreg('b', 'abcBc', 'ca')
     63941+b: type v; value: abcBabcBc (['abcBabcBc']), expr: abcBabcBc (['abcBabcBc'])
     63942+==
     63943+=abcBabcBc=
     63944+{{{2 setreg('b', 'abcBb', 'ba')
     63945+b: type 5; value: abcBabcBcabcBb (['abcBabcBcabcBb']), expr: abcBabcBcabcBb (['abcBabcBcabcBb'])
     63946+==
     63947+=abcBabcBcabcBb=
     63948+{{{2 setreg('b', 'abcBc2', 'ca')
     63949+b: type v; value: abcBabcBcabcBbabcBc2 (['abcBabcBcabcBb', 'abcBc2']), expr: abcBabcBcabcBbabcBc2 (['abcBabcBcabcBb', 'abcBc2'])
     63950+==
     63951+=abcBabcBcabcBb
     63952+abcBc2=
     63953+{{{2 setreg('b', 'abcBb2', 'b50a')
     63954+b: type 50; value: abcBabcBcabcBbabcBc2abcBb2 (['abcBabcBcabcBb', 'abcBc2abcBb2']), expr: abcBabcBcabcBbabcBc2abcBb2 (['abcBabcBcabcBb', 'abcBc2abcBb2'])
     63955+==
     63956+=abcBabcBcabcBb                                    =
     63957+ abcBc2abcBb2
     63958+{{{2 setreg('C', 'abcCl', 'l')
     63959+C: type V; value: abcCabcCl (['abcC', 'abcCl']), expr: abcCabcCl (['abcC', 'abcCl'])
     63960+==
     63961+abcC
     63962+abcCl
     63963+==
     63964+{{{2 setreg('C', 'abcCc', 'c')
     63965+C: type v; value: abcCabcClabcCc (['abcC', 'abcCl', 'abcCc']), expr: abcCabcClabcCc (['abcC', 'abcCl', 'abcCc'])
     63966+==
     63967+=abcC
     63968+abcCl
     63969+abcCc=
     63970+{{{2 setreg('D', 'abcDb', 'b')
     63971+D: type 5; value: abcDabcDb (['abcD', 'abcDb']), expr: abcDabcDb (['abcD', 'abcDb'])
     63972+==
     63973+=abcD =
     63974+ abcDb
     63975+{{{2 setreg('E', 'abcEb', 'b')
     63976+E: type 5; value: abcEabcEb (['abcE', 'abcEb']), expr: abcEabcEb (['abcE', 'abcEb'])
     63977+==
     63978+=abcE =
     63979+ abcEb
     63980+{{{2 setreg('E', 'abcEl', 'l')
     63981+E: type V; value: abcEabcEbabcEl (['abcE', 'abcEb', 'abcEl']), expr: abcEabcEbabcEl (['abcE', 'abcEb', 'abcEl'])
     63982+==
     63983+abcE
     63984+abcEb
     63985+abcEl
     63986+==
     63987+{{{2 setreg('F', 'abcFc', 'c')
     63988+F: type v; value: abcFabcFc (['abcF', 'abcFc']), expr: abcFabcFc (['abcF', 'abcFc'])
     63989+==
     63990+=abcF
     63991+abcFc=
     63992+{{{1 Appending NL with setreg()
     63993+{{{2 setreg('A', '')
     63994+A: type V; value: abcA2 (['abcA2']), expr: abcA2 (['abcA2'])
     63995+==
     63996+abcA2
     63997+==
     63998+{{{2 setreg('B', '', 'c')
     63999+B: type v; value: abcB2 (['abcB2', '']), expr: abcB2 (['abcB2', ''])
     64000+==
     64001+=abcB2
     64002+=
     64003+{{{2 setreg('C', '')
     64004+C: type V; value: abcC2 (['abcC2', '']), expr: abcC2 (['abcC2', ''])
     64005+==
     64006+abcC2
     64007+
     64008+==
     64009+{{{2 setreg('D', '', 'l')
     64010+D: type V; value: abcD2 (['abcD2', '']), expr: abcD2 (['abcD2', ''])
     64011+==
     64012+abcD2
     64013+
     64014+==
     64015+{{{2 setreg('E', '')
     64016+E: type V; value: abcE2 (['abcE2', '']), expr: abcE2 (['abcE2', ''])
     64017+==
     64018+abcE2
     64019+
     64020+==
     64021+{{{2 setreg('F', '', 'b')
     64022+F: type 0; value: abcF2 (['abcF2', '']), expr: abcF2 (['abcF2', ''])
     64023+==
     64024+=abcF2=
     64025+
     64026+{{{1 Setting lists with setreg()
     64027+{{{2 setreg('a', ['abcA3'], 'c')
     64028+a: type v; value: abcA3 (['abcA3']), expr: abcA3 (['abcA3'])
     64029+==
     64030+=abcA3=
     64031+{{{2 setreg('b', ['abcB3'], 'l')
     64032+b: type V; value: abcB3 (['abcB3']), expr: abcB3 (['abcB3'])
     64033+==
     64034+abcB3
     64035+==
     64036+{{{2 setreg('c', ['abcC3'], 'b')
     64037+c: type 5; value: abcC3 (['abcC3']), expr: abcC3 (['abcC3'])
     64038+==
     64039+=abcC3=
     64040+{{{2 setreg('d', ['abcD3'])
     64041+d: type V; value: abcD3 (['abcD3']), expr: abcD3 (['abcD3'])
     64042+==
     64043+abcD3
     64044+==
     64045+{{{2 setreg('e', [1, 2, 'abc', 3])
     64046+e: type V; value: 12abc3 (['1', '2', 'abc', '3']), expr: 12abc3 (['1', '2', 'abc', '3'])
     64047+==
     64048+1
     64049+2
     64050+abc
     64051+3
     64052+==
     64053+{{{2 setreg('f', [1, 2, 3])
     64054+f: type V; value: 123 (['1', '2', '3']), expr: 123 (['1', '2', '3'])
     64055+==
     64056+1
     64057+2
     64058+3
     64059+==
     64060+{{{1 Appending lists with setreg()
     64061+{{{2 setreg('A', ['abcA3c'], 'c')
     64062+A: type v; value: abcA3abcA3c (['abcA3', 'abcA3c']), expr: abcA3abcA3c (['abcA3', 'abcA3c'])
     64063+==
     64064+=abcA3
     64065+abcA3c=
     64066+{{{2 setreg('b', ['abcB3l'], 'la')
     64067+b: type V; value: abcB3abcB3l (['abcB3', 'abcB3l']), expr: abcB3abcB3l (['abcB3', 'abcB3l'])
     64068+==
     64069+abcB3
     64070+abcB3l
     64071+==
     64072+{{{2 setreg('C', ['abcC3b'], 'lb')
     64073+C: type 6; value: abcC3abcC3b (['abcC3', 'abcC3b']), expr: abcC3abcC3b (['abcC3', 'abcC3b'])
     64074+==
     64075+=abcC3 =
     64076+ abcC3b
     64077+{{{2 setreg('D', ['abcD32'])
     64078+D: type V; value: abcD3abcD32 (['abcD3', 'abcD32']), expr: abcD3abcD32 (['abcD3', 'abcD32'])
     64079+==
     64080+abcD3
     64081+abcD32
     64082+==
     64083+{{{2 setreg('A', ['abcA32'])
     64084+A: type V; value: abcA3abcA3cabcA32 (['abcA3', 'abcA3c', 'abcA32']), expr: abcA3abcA3cabcA32 (['abcA3', 'abcA3c', 'abcA32'])
     64085+==
     64086+abcA3
     64087+abcA3c
     64088+abcA32
     64089+==
     64090+{{{2 setreg('B', ['abcB3c'], 'c')
     64091+B: type v; value: abcB3abcB3labcB3c (['abcB3', 'abcB3l', 'abcB3c']), expr: abcB3abcB3labcB3c (['abcB3', 'abcB3l', 'abcB3c'])
     64092+==
     64093+=abcB3
     64094+abcB3l
     64095+abcB3c=
     64096+{{{2 setreg('C', ['abcC3l'], 'l')
     64097+C: type V; value: abcC3abcC3babcC3l (['abcC3', 'abcC3b', 'abcC3l']), expr: abcC3abcC3babcC3l (['abcC3', 'abcC3b', 'abcC3l'])
     64098+==
     64099+abcC3
     64100+abcC3b
     64101+abcC3l
     64102+==
     64103+{{{2 setreg('D', ['abcD3b'], 'b')
     64104+D: type 6; value: abcD3abcD32abcD3b (['abcD3', 'abcD32', 'abcD3b']), expr: abcD3abcD32abcD3b (['abcD3', 'abcD32', 'abcD3b'])
     64105+==
     64106+=abcD3 =
     64107+ abcD32
     64108+ abcD3b
     64109+{{{1 Appending lists with NL with setreg()
     64110+{{{2 setreg('A', ['', 'abcA3l2'], 'l')
     64111+A: type V; value: abcA3abcA3cabcA32abcA3l2 (['abcA3', 'abcA3c', 'abcA32', '', 'abcA3l2']), expr: abcA3abcA3cabcA32abcA3l2 (['abcA3', 'abcA3c', 'abcA32', '', 'abcA3l2'])
     64112+==
     64113+abcA3
     64114+abcA3c
     64115+abcA32
     64116+
     64117+abcA3l2
     64118+==
     64119+{{{2 setreg('B', ['', 'abcB3c2'], 'c')
     64120+B: type v; value: abcB3abcB3labcB3cabcB3c2 (['abcB3', 'abcB3l', 'abcB3c', '', 'abcB3c2']), expr: abcB3abcB3labcB3cabcB3c2 (['abcB3', 'abcB3l', 'abcB3c', '', 'abcB3c2'])
     64121+==
     64122+=abcB3
     64123+abcB3l
     64124+abcB3c
     64125+
     64126+abcB3c2=
     64127+{{{2 setreg('C', ['', 'abcC3b2'], 'b')
     64128+C: type 7; value: abcC3abcC3babcC3labcC3b2 (['abcC3', 'abcC3b', 'abcC3l', '', 'abcC3b2']), expr: abcC3abcC3babcC3labcC3b2 (['abcC3', 'abcC3b', 'abcC3l', '', 'abcC3b2'])
     64129+==
     64130+=abcC3  =
     64131+ abcC3b
     64132+ abcC3l
     64133+
     64134+ abcC3b2
     64135+{{{2 setreg('D', ['', 'abcD3b50'], 'b50')
     64136+D: type 50; value: abcD3abcD32abcD3babcD3b50 (['abcD3', 'abcD32', 'abcD3b', '', 'abcD3b50']), expr: abcD3abcD32abcD3babcD3b50 (['abcD3', 'abcD32', 'abcD3b', '', 'abcD3b50'])
     64137+==
     64138+=abcD3                                             =
     64139+ abcD32
     64140+ abcD3b
     64141+
     64142+ abcD3b50
     64143+{{{1 Setting lists with NLs with setreg()
     64144+{{{2 setreg('a', ['abcA4-0', '', 'abcA4-2', 'abcA4-3', 'abcA4-4abcA4-4-2'])
     64145+a: type V; value: abcA4-0abcA4-2abcA4-3abcA4-4abcA4-4-2 (['abcA4-0', '', 'abcA4-2', 'abcA4-3', 'abcA4-4abcA4-4-2']), expr: abcA4-0abcA4-2abcA4-3abcA4-4abcA4-4-2 (['abcA4-0', '', 'abcA4-2', 'abcA4-3', 'abcA4-4abcA4-4-2'])
     64146+==
     64147+abcA4-0
     64148+
     64149+abcA4-2
     64150+abcA4-3
     64151+abcA4-4abcA4-4-2
     64152+==
     64153+{{{2 setreg('b', ['abcB4c-0', '', 'abcB4c-2', 'abcB4c-3', 'abcB4c-4abcB4c-4-2'], 'c')
     64154+b: type v; value: abcB4c-0abcB4c-2abcB4c-3abcB4c-4abcB4c-4-2 (['abcB4c-0', '', 'abcB4c-2', 'abcB4c-3', 'abcB4c-4abcB4c-4-2']), expr: abcB4c-0abcB4c-2abcB4c-3abcB4c-4abcB4c-4-2 (['abcB4c-0', '', 'abcB4c-2', 'abcB4c-3', 'abcB4c-4abcB4c-4-2'])
     64155+==
     64156+=abcB4c-0
     64157+
     64158+abcB4c-2
     64159+abcB4c-3
     64160+abcB4c-4abcB4c-4-2=
     64161+{{{2 setreg('c', ['abcC4l-0', '', 'abcC4l-2', 'abcC4l-3', 'abcC4l-4abcC4l-4-2'], 'l')
     64162+c: type V; value: abcC4l-0abcC4l-2abcC4l-3abcC4l-4abcC4l-4-2 (['abcC4l-0', '', 'abcC4l-2', 'abcC4l-3', 'abcC4l-4abcC4l-4-2']), expr: abcC4l-0abcC4l-2abcC4l-3abcC4l-4abcC4l-4-2 (['abcC4l-0', '', 'abcC4l-2', 'abcC4l-3', 'abcC4l-4abcC4l-4-2'])
     64163+==
     64164+abcC4l-0
     64165+
     64166+abcC4l-2
     64167+abcC4l-3
     64168+abcC4l-4abcC4l-4-2
     64169+==
     64170+{{{2 setreg('d', ['abcD4b-0', '', 'abcD4b-2', 'abcD4b-3', 'abcD4b-4abcD4b-4-2'], 'b')
     64171+d: type 19; value: abcD4b-0abcD4b-2abcD4b-3abcD4b-4abcD4b-4-2 (['abcD4b-0', '', 'abcD4b-2', 'abcD4b-3', 'abcD4b-4abcD4b-4-2']), expr: abcD4b-0abcD4b-2abcD4b-3abcD4b-4abcD4b-4-2 (['abcD4b-0', '', 'abcD4b-2', 'abcD4b-3', 'abcD4b-4abcD4b-4-2'])
     64172+==
     64173+=abcD4b-0           =
     64174+
     64175+ abcD4b-2
     64176+ abcD4b-3
     64177+ abcD4b-4abcD4b-4-2
     64178+{{{2 setreg('e', ['abcE4b10-0', '', 'abcE4b10-2', 'abcE4b10-3', 'abcE4b10-4abcE4b10-4-2'], 'b10')
     64179+e: type 10; value: abcE4b10-0abcE4b10-2abcE4b10-3abcE4b10-4abcE4b10-4-2 (['abcE4b10-0', '', 'abcE4b10-2', 'abcE4b10-3', 'abcE4b10-4abcE4b10-4-2']), expr: abcE4b10-0abcE4b10-2abcE4b10-3abcE4b10-4abcE4b10-4-2 (['abcE4b10-0', '', 'abcE4b10-2', 'abcE4b10-3', 'abcE4b10-4abcE4b10-4-2'])
     64180+==
     64181+=abcE4b10-0=
     64182+
     64183+ abcE4b10-2
     64184+ abcE4b10-3
     64185+ abcE4b10-4abcE4b10-4-2
     64186+{{{1 Search and expressions
     64187+{{{2 setreg('/', ['abc/'])
     64188+/: type v; value: abc/ (['abc/']), expr: abc/ (['abc/'])
     64189+==
     64190+=abc/=
     64191+{{{2 setreg('/', ['abc/'])
     64192+/: type v; value: abc/ (['abc/']), expr: abc/ (['abc/'])
     64193+==
     64194+=abc/=
     64195+{{{2 setreg('=', ['"abc/"'])
     64196+=: type v; value: abc/ (['abc/']), expr: "abc/" (['"abc/"'])
     64197+{{{2 setreg('=', ['"abc/"'])
     64198+=: type v; value: abc/ (['abc/']), expr: "abc/" (['"abc/"'])
     64199+{{{1 Errors
     64200+Executing call setreg()
     64201+Vim(call):E119: Not enough arguments for function: setreg
     64202+Executing call setreg(1)
     64203+Vim(call):E119: Not enough arguments for function: setreg
     64204+Executing call setreg(1, 2, 3, 4)
     64205+Vim(call):E118: Too many arguments for function: setreg
     64206+Executing call setreg([], 2)
     64207+Vim(call):E730: using List as a String
     64208+Executing call setreg(1, {})
     64209+Vim(call):E731: using Dictionary as a String
     64210+Executing call setreg(1, 2, [])
     64211+Vim(call):E730: using List as a String
     64212+Executing call setreg("/", ["1", "2"])
     64213+Vim(call):E883: search pattern and expression register may not contain two or more lines
     64214+Executing call setreg("=", ["1", "2"])
     64215+Vim(call):E883: search pattern and expression register may not contain two or more lines
     64216+Executing call setreg(1, ["", "", [], ""])
     64217+Vim(call):E730: using List as a String
     64218+Vim(function):E128: Function name must start with a capital or "s:": g:test()
     64219+Vim(function):E128: Function name must start with a capital or "s:": b:test()
     64220+Vim(function):E128: Function name must start with a capital or "s:": test2() "#
     64221+called Foo(1)
     64222+called Foo(2)
     64223+called Foo(3)
     64224diff -Naur vim74.orig/src/testdir/test_options.in vim74/src/testdir/test_options.in
     64225--- vim74.orig/src/testdir/test_options.in      1970-01-01 00:00:00.000000000 +0000
     64226+++ vim74/src/testdir/test_options.in   2014-04-27 05:20:58.458443777 +0000
     64227@@ -0,0 +1,17 @@
     64228+Test for ":options".
     64229+
     64230+STARTTEST
     64231+:so small.vim
     64232+:let caught = 'ok'
     64233+:try
     64234+  :options
     64235+:catch
     64236+  :let caught = v:throwpoint . "\n" . v:exception
     64237+:endtry
     64238+:buf 1
     64239+:$put =caught
     64240+:/^result/,$w! test.out
     64241+:qa!
     64242+ENDTEST
     64243+
     64244+result
     64245diff -Naur vim74.orig/src/testdir/test_options.ok vim74/src/testdir/test_options.ok
     64246--- vim74.orig/src/testdir/test_options.ok      1970-01-01 00:00:00.000000000 +0000
     64247+++ vim74/src/testdir/test_options.ok   2014-04-27 05:20:58.458443777 +0000
     64248@@ -0,0 +1,2 @@
     64249+result
     64250+ok
    6045864251diff -Naur vim74.orig/src/ui.c vim74/src/ui.c
    6045964252--- vim74.orig/src/ui.c 2013-07-13 18:57:08.000000000 +0000
    60460 +++ vim74/src/ui.c      2014-03-30 20:09:04.849400153 +0000
     64253+++ vim74/src/ui.c      2014-04-27 05:20:58.458443777 +0000
    6046164254@@ -2610,13 +2610,11 @@
    6046264255        if (on_sep_line)
     
    6054764340diff -Naur vim74.orig/src/undo.c vim74/src/undo.c
    6054864341--- vim74.orig/src/undo.c       2013-06-10 18:13:37.000000000 +0000
    60549 +++ vim74/src/undo.c    2014-03-30 20:09:04.852733596 +0000
     64342+++ vim74/src/undo.c    2014-04-27 05:20:58.461777194 +0000
    6055064343@@ -83,6 +83,7 @@
    6055164344 
     
    6067464467 
    6067564468     /* Optional fields. */
     64469@@ -1449,7 +1455,7 @@
     64470 # endif
     64471        )
     64472        mch_setperm(file_name, (perm & 0707) | ((perm & 07) << 3));
     64473-# ifdef HAVE_SELINUX
     64474+# if defined(HAVE_SELINUX) || defined(HAVE_SMACK)
     64475     if (buf->b_ffname != NULL)
     64476        mch_copy_sec(buf->b_ffname, file_name);
     64477 # endif
    6067664478@@ -1604,10 +1610,11 @@
    6067764479 
     
    6077064572diff -Naur vim74.orig/src/version.c vim74/src/version.c
    6077164573--- vim74.orig/src/version.c    2013-08-10 11:29:20.000000000 +0000
    60772 +++ vim74/src/version.c 2014-03-30 20:09:04.856067039 +0000
     64574+++ vim74/src/version.c 2014-04-27 05:20:58.465110609 +0000
    6077364575@@ -60,6 +60,11 @@
    6077464576 
     
    6081464616        NULL
    6081564617 };
    60816 @@ -728,6 +735,464 @@
     64618@@ -728,6 +735,536 @@
    6081764619 static int included_patches[] =
    6081864620 {   /* Add new patch number below this line */
    6081964621 /**/
     64622+    265,
     64623+/**/
     64624+    264,
     64625+/**/
     64626+    263,
     64627+/**/
     64628+    262,
     64629+/**/
     64630+    261,
     64631+/**/
     64632+    260,
     64633+/**/
     64634+    259,
     64635+/**/
     64636+    258,
     64637+/**/
     64638+    257,
     64639+/**/
     64640+    256,
     64641+/**/
     64642+    255,
     64643+/**/
     64644+    254,
     64645+/**/
     64646+    253,
     64647+/**/
     64648+    252,
     64649+/**/
     64650+    251,
     64651+/**/
     64652+    250,
     64653+/**/
     64654+    249,
     64655+/**/
     64656+    248,
     64657+/**/
     64658+    247,
     64659+/**/
     64660+    246,
     64661+/**/
     64662+    245,
     64663+/**/
     64664+    244,
     64665+/**/
     64666+    243,
     64667+/**/
     64668+    242,
     64669+/**/
     64670+    241,
     64671+/**/
     64672+    240,
     64673+/**/
     64674+    239,
     64675+/**/
     64676+    238,
     64677+/**/
     64678+    237,
     64679+/**/
     64680+    236,
     64681+/**/
     64682+    235,
     64683+/**/
     64684+    234,
     64685+/**/
     64686+    233,
     64687+/**/
     64688+    232,
     64689+/**/
     64690+    231,
     64691+/**/
     64692+    230,
     64693+/**/
    6082064694+    229,
    6082164695+/**/
     
    6128165155diff -Naur vim74.orig/src/vim.h vim74/src/vim.h
    6128265156--- vim74.orig/src/vim.h        2013-08-02 14:02:27.000000000 +0000
    61283 +++ vim74/src/vim.h     2014-03-30 20:09:04.856067039 +0000
     65157+++ vim74/src/vim.h     2014-04-27 05:20:58.465110609 +0000
    6128465158@@ -43,7 +43,7 @@
    6128565159  * it becomes zero.  This is likely a problem of not being able to run the
     
    6140265276 #  define MAXCOL (0x3fffffffL)         /* maximum column number, 30 bits */
    6140365277 # else
    61404 @@ -1864,9 +1877,10 @@
     65278@@ -1864,9 +1877,11 @@
    6140565279 #define VV_MOUSE_COL   51
    6140665280 #define VV_OP          52
     
    6141265286+#define VV_OLDFILES    55
    6141365287+#define VV_WINDOWID    56
    61414 +#define VV_LEN         57      /* number of v: vars */
     65288+#define VV_PROGPATH    57
     65289+#define VV_LEN         58      /* number of v: vars */
    6141565290 
    6141665291 #ifdef FEAT_CLIPBOARD
    6141765292 
    61418 @@ -2239,6 +2253,7 @@
     65293@@ -2239,11 +2254,23 @@
    6141965294 #define SOPT_BUF       0x20    /* Option has buffer-local value */
    6142065295 #define SOPT_UNSET     0x40    /* Option does not have local value set */
     
    6142465299 #define SREQ_WIN       1       /* Request window-local option */
    6142565300 #define SREQ_BUF       2       /* Request buffer-local option */
    61426 @@ -2246,4 +2261,10 @@
     65301 
     65302+/* Flags for get_reg_contents */
     65303+#define GREG_NO_EXPR   1       /* Do not allow expression register */
     65304+#define GREG_EXPR_SRC  2       /* Return expression itself for "=" register */
     65305+#define GREG_LIST      4       /* Return list */
     65306+
    6142765307 /* Character used as separated in autoload function/variable names. */
    6142865308 #define AUTOLOAD_CHAR '#'
     
    6143765317diff -Naur vim74.orig/src/winclip.c vim74/src/winclip.c
    6143865318--- vim74.orig/src/winclip.c    2013-07-01 19:05:53.000000000 +0000
    61439 +++ vim74/src/winclip.c 2014-03-30 20:09:04.862733925 +0000
     65319+++ vim74/src/winclip.c 2014-04-27 05:20:58.471777440 +0000
    6144065320@@ -797,4 +797,29 @@
    6144165321        vim_free(widestr);
     
    6147065350diff -Naur vim74.orig/src/window.c vim74/src/window.c
    6147165351--- vim74.orig/src/window.c     2013-07-24 15:38:29.000000000 +0000
    61472 +++ vim74/src/window.c  2014-03-30 20:09:04.866067369 +0000
     65352+++ vim74/src/window.c  2014-04-27 05:20:58.471777440 +0000
    6147365353@@ -130,9 +130,7 @@
    6147465354     case Ctrl_S:
     
    6173265612diff -Naur vim74.orig/src/xxd/Make_cyg.mak vim74/src/xxd/Make_cyg.mak
    6173365613--- vim74.orig/src/xxd/Make_cyg.mak     2010-05-15 11:04:06.000000000 +0000
    61734 +++ vim74/src/xxd/Make_cyg.mak  2014-03-30 20:09:04.872734255 +0000
     65614+++ vim74/src/xxd/Make_cyg.mak  2014-04-27 05:20:58.481777690 +0000
    6173565615@@ -8,7 +8,7 @@
    6173665616 DEFINES =
Note: See TracChangeset for help on using the changeset viewer.