- Timestamp:
- Apr 28, 2014, 8:56:46 PM (11 years ago)
- Parents:
- 5c8e74d (diff), 31cfd067 (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. - Location:
- patches
- Files:
-
- 1 added
- 1 deleted
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
patches/bash-4.3-branch_update-2.patch
r5c8e74d r350ab24 4 4 Origin: Upstream 5 5 Upstream Status: Applied 6 Description: Contains all upstream patches up to 4.3-0 086 Description: Contains all upstream patches up to 4.3-011 7 7 8 8 diff -Naur bash-4.3.orig/arrayfunc.c bash-4.3/arrayfunc.c 9 9 --- bash-4.3.orig/arrayfunc.c 2013-08-02 15:19:59.000000000 -0500 10 +++ bash-4.3/arrayfunc.c 2014-0 3-30 08:38:16.233599982 -050010 +++ bash-4.3/arrayfunc.c 2014-04-24 20:08:49.474314102 -0500 11 11 @@ -597,6 +597,11 @@ 12 12 if (assoc_p (var)) … … 21 21 } 22 22 23 diff -Naur bash-4.3.orig/externs.h bash-4.3/externs.h 24 --- bash-4.3.orig/externs.h 2014-01-02 13:58:20.000000000 -0600 25 +++ bash-4.3/externs.h 2014-04-24 20:08:54.927367945 -0500 26 @@ -324,6 +324,7 @@ 27 extern char *sh_backslash_quote __P((char *, const char *, int)); 28 extern char *sh_backslash_quote_for_double_quotes __P((char *)); 29 extern int sh_contains_shell_metas __P((char *)); 30 +extern int sh_contains_quotes __P((char *)); 31 32 /* declarations for functions defined in lib/sh/spell.c */ 33 extern int spname __P((char *, char *)); 23 34 diff -Naur bash-4.3.orig/jobs.c bash-4.3/jobs.c 24 35 --- bash-4.3.orig/jobs.c 2014-01-10 08:05:34.000000000 -0600 25 +++ bash-4.3/jobs.c 2014-0 3-30 08:38:14.340206206-050036 +++ bash-4.3/jobs.c 2014-04-24 20:08:47.897732294 -0500 26 37 @@ -4374,7 +4374,7 @@ 27 38 void … … 35 46 diff -Naur bash-4.3.orig/lib/glob/glob.c bash-4.3/lib/glob/glob.c 36 47 --- bash-4.3.orig/lib/glob/glob.c 2014-01-31 20:43:51.000000000 -0600 37 +++ bash-4.3/lib/glob/glob.c 2014-0 3-30 08:38:18.153657420 -050048 +++ bash-4.3/lib/glob/glob.c 2014-04-24 20:08:51.054232810 -0500 38 49 @@ -179,42 +179,50 @@ 39 50 char *pat, *dname; … … 147 158 diff -Naur bash-4.3.orig/lib/glob/gmisc.c bash-4.3/lib/glob/gmisc.c 148 159 --- bash-4.3.orig/lib/glob/gmisc.c 2013-10-28 13:45:25.000000000 -0500 149 +++ bash-4.3/lib/glob/gmisc.c 2014-0 3-30 08:38:18.153657420 -0500160 +++ bash-4.3/lib/glob/gmisc.c 2014-04-24 20:08:51.054232810 -0500 150 161 @@ -210,6 +210,7 @@ 151 162 case '+': … … 156 167 default: 157 168 return 0; 169 diff -Naur bash-4.3.orig/lib/readline/display.c bash-4.3/lib/readline/display.c 170 --- bash-4.3.orig/lib/readline/display.c 2013-12-27 12:10:56.000000000 -0600 171 +++ bash-4.3/lib/readline/display.c 2014-04-24 20:08:56.493955444 -0500 172 @@ -2677,7 +2677,8 @@ 173 { 174 if (_rl_echoing_p) 175 { 176 - _rl_move_vert (_rl_vis_botlin); 177 + if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */ 178 + _rl_move_vert (_rl_vis_botlin); 179 _rl_vis_botlin = 0; 180 fflush (rl_outstream); 181 rl_restart_output (1, 0); 158 182 diff -Naur bash-4.3.orig/lib/readline/readline.c bash-4.3/lib/readline/readline.c 159 183 --- bash-4.3.orig/lib/readline/readline.c 2013-10-28 13:58:06.000000000 -0500 160 +++ bash-4.3/lib/readline/readline.c 2014-0 3-30 08:38:10.556751185-0500184 +++ bash-4.3/lib/readline/readline.c 2014-04-24 20:08:44.507909810 -0500 161 185 @@ -744,7 +744,8 @@ 162 186 r = _rl_subseq_result (r, cxt->oldmap, cxt->okey, (cxt->flags & KSEQ_SUBSEQ)); … … 178 202 _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); 179 203 #endif 204 diff -Naur bash-4.3.orig/lib/sh/shquote.c bash-4.3/lib/sh/shquote.c 205 --- bash-4.3.orig/lib/sh/shquote.c 2013-03-31 20:53:32.000000000 -0500 206 +++ bash-4.3/lib/sh/shquote.c 2014-04-24 20:08:54.927367945 -0500 207 @@ -311,3 +311,17 @@ 208 209 return (0); 210 } 211 + 212 +int 213 +sh_contains_quotes (string) 214 + char *string; 215 +{ 216 + char *s; 217 + 218 + for (s = string; s && *s; s++) 219 + { 220 + if (*s == '\'' || *s == '"' || *s == '\\') 221 + return 1; 222 + } 223 + return 0; 224 +} 180 225 diff -Naur bash-4.3.orig/parse.y bash-4.3/parse.y 181 226 --- bash-4.3.orig/parse.y 2014-02-11 08:42:10.000000000 -0600 182 +++ bash-4.3/parse.y 2014-03-30 08:38:12.463477417 -0500 227 +++ bash-4.3/parse.y 2014-04-24 20:08:52.607486462 -0500 228 @@ -2424,7 +2424,7 @@ 229 not already end in an EOF character. */ 230 if (shell_input_line_terminator != EOF) 231 { 232 - if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3) 233 + if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size)) 234 shell_input_line = (char *)xrealloc (shell_input_line, 235 1 + (shell_input_line_size += 2)); 236 183 237 @@ -3398,7 +3398,7 @@ 184 238 within a double-quoted ${...} construct "an even number of … … 192 246 diff -Naur bash-4.3.orig/patchlevel.h bash-4.3/patchlevel.h 193 247 --- bash-4.3.orig/patchlevel.h 2012-12-29 09:47:57.000000000 -0600 194 +++ bash-4.3/patchlevel.h 2014-0 3-30 08:38:18.153657420-0500248 +++ bash-4.3/patchlevel.h 2014-04-24 20:08:56.493955444 -0500 195 249 @@ -25,6 +25,6 @@ 196 250 regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh … … 198 252 199 253 -#define PATCHLEVEL 0 200 +#define PATCHLEVEL 8254 +#define PATCHLEVEL 11 201 255 202 256 #endif /* _PATCHLEVEL_H_ */ 257 diff -Naur bash-4.3.orig/pcomplete.c bash-4.3/pcomplete.c 258 --- bash-4.3.orig/pcomplete.c 2013-08-26 14:23:45.000000000 -0500 259 +++ bash-4.3/pcomplete.c 2014-04-24 20:08:54.927367945 -0500 260 @@ -183,6 +183,7 @@ 261 262 COMPSPEC *pcomp_curcs; 263 const char *pcomp_curcmd; 264 +const char *pcomp_curtxt; 265 266 #ifdef DEBUG 267 /* Debugging code */ 268 @@ -753,6 +754,32 @@ 269 quoted strings. */ 270 dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); 271 } 272 + /* Intended to solve a mismatched assumption by bash-completion. If 273 + the text to be completed is empty, but bash-completion turns it into 274 + a quoted string ('') assuming that this code will dequote it before 275 + calling readline, do the dequoting. */ 276 + else if (iscompgen && iscompleting && 277 + pcomp_curtxt && *pcomp_curtxt == 0 && 278 + text && (*text == '\'' || *text == '"') && text[1] == text[0] && text[2] == 0 && 279 + rl_filename_dequoting_function) 280 + dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); 281 + /* Another mismatched assumption by bash-completion. If compgen is being 282 + run as part of bash-completion, and the argument to compgen is not 283 + the same as the word originally passed to the programmable completion 284 + code, dequote the argument if it has quote characters. It's an 285 + attempt to detect when bash-completion is quoting its filename 286 + argument before calling compgen. */ 287 + /* We could check whether gen_shell_function_matches is in the call 288 + stack by checking whether the gen-shell-function-matches tag is in 289 + the unwind-protect stack, but there's no function to do that yet. 290 + We could simply check whether we're executing in a function by 291 + checking variable_context, and may end up doing that. */ 292 + else if (iscompgen && iscompleting && rl_filename_dequoting_function && 293 + pcomp_curtxt && text && 294 + STREQ (pcomp_curtxt, text) == 0 && 295 + variable_context && 296 + sh_contains_quotes (text)) /* guess */ 297 + dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); 298 else 299 dfn = savestring (text); 300 } 301 @@ -1522,7 +1549,7 @@ 302 COMPSPEC **lastcs; 303 { 304 COMPSPEC *cs, *oldcs; 305 - const char *oldcmd; 306 + const char *oldcmd, *oldtxt; 307 STRINGLIST *ret; 308 309 cs = progcomp_search (ocmd); 310 @@ -1545,14 +1572,17 @@ 311 312 oldcs = pcomp_curcs; 313 oldcmd = pcomp_curcmd; 314 + oldtxt = pcomp_curtxt; 315 316 pcomp_curcs = cs; 317 pcomp_curcmd = cmd; 318 + pcomp_curtxt = word; 319 320 ret = gen_compspec_completions (cs, cmd, word, start, end, foundp); 321 322 pcomp_curcs = oldcs; 323 pcomp_curcmd = oldcmd; 324 + pcomp_curtxt = oldtxt; 325 326 /* We need to conditionally handle setting *retryp here */ 327 if (retryp) 203 328 diff -Naur bash-4.3.orig/test.c bash-4.3/test.c 204 329 --- bash-4.3.orig/test.c 2014-02-04 15:52:58.000000000 -0600 205 +++ bash-4.3/test.c 2014-0 3-30 08:38:04.859903460-0500330 +++ bash-4.3/test.c 2014-04-24 20:08:39.174864532 -0500 206 331 @@ -646,8 +646,8 @@ 207 332 return (v && invisible_p (v) == 0 && var_isset (v) ? TRUE : FALSE); … … 225 350 diff -Naur bash-4.3.orig/trap.c bash-4.3/trap.c 226 351 --- bash-4.3.orig/trap.c 2014-02-05 09:03:21.000000000 -0600 227 +++ bash-4.3/trap.c 2014-0 3-30 08:38:06.756626741-0500352 +++ bash-4.3/trap.c 2014-04-24 20:08:41.401408370 -0500 228 353 @@ -920,7 +920,8 @@ 229 354 subst_assign_varlist = 0; … … 248 373 diff -Naur bash-4.3.orig/y.tab.c bash-4.3/y.tab.c 249 374 --- bash-4.3.orig/y.tab.c 2014-02-11 09:57:47.000000000 -0600 250 +++ bash-4.3/y.tab.c 2014-03-30 08:38:12.463477417 -0500 375 +++ bash-4.3/y.tab.c 2014-04-24 20:08:52.607486462 -0500 376 @@ -4736,7 +4736,7 @@ 377 not already end in an EOF character. */ 378 if (shell_input_line_terminator != EOF) 379 { 380 - if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3) 381 + if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size)) 382 shell_input_line = (char *)xrealloc (shell_input_line, 383 1 + (shell_input_line_size += 2)); 384 251 385 @@ -5710,7 +5710,7 @@ 252 386 within a double-quoted ${...} construct "an even number of -
patches/iproute2-3.14.0-libdir-1.patch
r5c8e74d r350ab24 12 12 Rediffed for Iproute2-3.8.0 by William Harrington 13 13 Renamed for Iproute2-3.12.0 by William Harrington 14 Renamed for Iproute2-3.14.0 by William Harrington 14 15 15 16 diff -Naur iproute2-3.8.0.orig/Makefile iproute2-3.8.0/Makefile -
patches/vim-7.4-branch_update-3.patch
r5c8e74d r350ab24 1 1 Submitted By: William Harrington (kb0iic at cross-lfs dot org) 2 Date: 2014-0 3-302 Date: 2014-04-26 3 3 Initial Package Version: 7.4 4 4 Origin: Upstream 5 5 Upstream Status: Applied 6 Description: Contains all upstream patches up to 7.4.2 29.6 Description: Contains all upstream patches up to 7.4.265. 7 7 8 8 diff -Naur vim74.orig/.hg_archival.txt vim74/.hg_archival.txt 9 9 --- vim74.orig/.hg_archival.txt 1970-01-01 00:00:00.000000000 +0000 10 +++ vim74/.hg_archival.txt 2014-0 3-30 20:09:03.492688818+000010 +++ vim74/.hg_archival.txt 2014-04-27 05:20:57.181745403 +0000 11 11 @@ -0,0 +1,5 @@ 12 12 +repo: 770908d1cb47c04be0aef5c173b17ab8be6b6476 13 +node: 7b76ad980f09c46169798844dfb7e1e654591d6a13 +node: 01f2b7e6b33ca4da4fbe2a5b8e9184ea2749d64e 14 14 +branch: default 15 +latesttag: v7-4-2 2915 +latesttag: v7-4-265 16 16 +latesttagdistance: 1 17 17 diff -Naur vim74.orig/.hgignore vim74/.hgignore 18 18 --- vim74.orig/.hgignore 1970-01-01 00:00:00.000000000 +0000 19 +++ vim74/.hgignore 2014-0 3-30 20:09:03.499355704+000019 +++ vim74/.hgignore 2014-04-27 05:20:57.188412237 +0000 20 20 @@ -0,0 +1,74 @@ 21 21 +syntax: glob … … 95 95 diff -Naur vim74.orig/.hgtags vim74/.hgtags 96 96 --- vim74.orig/.hgtags 1970-01-01 00:00:00.000000000 +0000 97 +++ vim74/.hgtags 2014-0 3-30 20:09:03.506022591+000098 @@ -0,0 +1,29 54@@97 +++ vim74/.hgtags 2014-04-27 05:20:57.195079070 +0000 98 @@ -0,0 +1,2990 @@ 99 99 +004eb98eb3c30714cb6a24ec3e810275080a8413 v7-1-117 100 100 +006e9c8a6a8ad354a5cb6adcce6ebfceddeb20ee v7-0079 … … 3051 3051 +3ee5808a293c7436e34a696a09ed29ce38750d9a v7-4-228 3052 3052 +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 3053 3089 diff -Naur vim74.orig/Filelist vim74/Filelist 3054 3090 --- vim74.orig/Filelist 2013-07-13 13:23:38.000000000 +0000 3055 +++ vim74/Filelist 2014-0 3-30 20:09:03.506022591+00003056 @@ -80, 6 +80,7@@3091 +++ vim74/Filelist 2014-04-27 05:20:57.198412485 +0000 3092 @@ -80,10 +80,14 @@ 3057 3093 src/main.aap \ 3058 3094 src/testdir/main.aap \ … … 3060 3096 + src/testdir/sautest/autoload/*.vim \ 3061 3097 src/testdir/test[0-9]*.ok \ 3098 + src/testdir/test[0-9]*a.ok \ 3099 + src/testdir/test_[a-z]*.ok \ 3062 3100 src/testdir/test49.vim \ 3063 3101 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 \ 3064 3107 diff -Naur vim74.orig/runtime/autoload/clojurecomplete.vim vim74/runtime/autoload/clojurecomplete.vim 3065 3108 --- vim74.orig/runtime/autoload/clojurecomplete.vim 2013-02-06 14:35:23.000000000 +0000 3066 +++ vim74/runtime/autoload/clojurecomplete.vim 2014-0 3-30 20:09:03.546023908+00003109 +++ vim74/runtime/autoload/clojurecomplete.vim 2014-04-27 05:20:57.231746647 +0000 3067 3110 @@ -1,20 +1,22 @@ 3068 3111 " Vim completion script … … 3105 3148 diff -Naur vim74.orig/runtime/autoload/getscript.vim vim74/runtime/autoload/getscript.vim 3106 3149 --- vim74.orig/runtime/autoload/getscript.vim 2013-04-17 13:40:44.000000000 +0000 3107 +++ vim74/runtime/autoload/getscript.vim 2014-0 3-30 20:09:03.546023908+00003150 +++ vim74/runtime/autoload/getscript.vim 2014-04-27 05:20:57.235080063 +0000 3108 3151 @@ -1,8 +1,8 @@ 3109 3152 " --------------------------------------------------------------------- … … 3139 3182 diff -Naur vim74.orig/runtime/autoload/netrw.vim vim74/runtime/autoload/netrw.vim 3140 3183 --- vim74.orig/runtime/autoload/netrw.vim 2013-05-19 03:28:33.000000000 +0000 3141 +++ vim74/runtime/autoload/netrw.vim 2014-0 3-30 20:09:03.559357680+00003184 +++ vim74/runtime/autoload/netrw.vim 2014-04-27 05:20:57.241746894 +0000 3142 3185 @@ -1,10 +1,10 @@ 3143 3186 " netrw.vim: Handles file transfer and remote directory listing across … … 14717 14760 diff -Naur vim74.orig/runtime/autoload/netrwSettings.vim vim74/runtime/autoload/netrwSettings.vim 14718 14761 --- vim74.orig/runtime/autoload/netrwSettings.vim 2013-05-03 19:53:43.000000000 +0000 14719 +++ vim74/runtime/autoload/netrwSettings.vim 2014-0 3-30 20:09:03.559357680+000014762 +++ vim74/runtime/autoload/netrwSettings.vim 2014-04-27 05:20:57.241746894 +0000 14720 14763 @@ -1,7 +1,7 @@ 14721 14764 " netrwSettings.vim: makes netrw settings simpler … … 14751 14794 diff -Naur vim74.orig/runtime/autoload/netrw_gitignore.vim vim74/runtime/autoload/netrw_gitignore.vim 14752 14795 --- vim74.orig/runtime/autoload/netrw_gitignore.vim 1970-01-01 00:00:00.000000000 +0000 14753 +++ vim74/runtime/autoload/netrw_gitignore.vim 2014-0 3-30 20:09:03.559357680 +000014796 +++ vim74/runtime/autoload/netrw_gitignore.vim 2014-04-27 05:20:57.245080310 +0000 14754 14797 @@ -0,0 +1,71 @@ 14755 14798 +" netrw_gitignore#Hide: gitignore-based hiding … … 14826 14869 diff -Naur vim74.orig/runtime/autoload/phpcomplete.vim vim74/runtime/autoload/phpcomplete.vim 14827 14870 --- vim74.orig/runtime/autoload/phpcomplete.vim 2011-12-08 15:38:25.000000000 +0000 14828 +++ vim74/runtime/autoload/phpcomplete.vim 2014-0 3-30 20:09:03.562691123+000014871 +++ vim74/runtime/autoload/phpcomplete.vim 2014-04-27 05:20:57.248413727 +0000 14829 14872 @@ -1,27 +1,99 @@ 14830 14873 " Vim completion script … … 22387 22430 diff -Naur vim74.orig/runtime/colors/README.txt vim74/runtime/colors/README.txt 22388 22431 --- vim74.orig/runtime/colors/README.txt 2010-05-15 11:03:31.000000000 +0000 22389 +++ vim74/runtime/colors/README.txt 2014-0 3-30 20:09:03.579358338+000022432 +++ vim74/runtime/colors/README.txt 2014-04-27 05:20:57.261747391 +0000 22390 22433 @@ -36,6 +36,14 @@ 22391 22434 removed in your color scheme. Use something like "gui=NONE" to remove the … … 22405 22448 diff -Naur vim74.orig/runtime/colors/delek.vim vim74/runtime/colors/delek.vim 22406 22449 --- vim74.orig/runtime/colors/delek.vim 2010-05-15 11:03:31.000000000 +0000 22407 +++ vim74/runtime/colors/delek.vim 2014-0 3-30 20:09:03.579358338+000022450 +++ vim74/runtime/colors/delek.vim 2014-04-27 05:20:57.261747391 +0000 22408 22451 @@ -1,10 +1,10 @@ 22409 22452 " Vim color file … … 22435 22478 diff -Naur vim74.orig/runtime/colors/industry.vim vim74/runtime/colors/industry.vim 22436 22479 --- vim74.orig/runtime/colors/industry.vim 1970-01-01 00:00:00.000000000 +0000 22437 +++ vim74/runtime/colors/industry.vim 2014-0 3-30 20:09:03.582691781+000022480 +++ vim74/runtime/colors/industry.vim 2014-04-27 05:20:57.265080808 +0000 22438 22481 @@ -0,0 +1,40 @@ 22439 22482 +" Vim color file … … 22479 22522 diff -Naur vim74.orig/runtime/compiler/gcc.vim vim74/runtime/compiler/gcc.vim 22480 22523 --- vim74.orig/runtime/compiler/gcc.vim 2011-12-15 20:20:22.000000000 +0000 22481 +++ vim74/runtime/compiler/gcc.vim 2014-0 3-30 20:09:03.592692111+000022524 +++ vim74/runtime/compiler/gcc.vim 2014-04-27 05:20:57.275081056 +0000 22482 22525 @@ -25,10 +25,10 @@ 22483 22526 \%f:%l:\ %tarning:\ %m, … … 22497 22540 diff -Naur vim74.orig/runtime/doc/autocmd.txt vim74/runtime/doc/autocmd.txt 22498 22541 --- vim74.orig/runtime/doc/autocmd.txt 2013-08-10 11:24:52.000000000 +0000 22499 +++ vim74/runtime/doc/autocmd.txt 2014-0 3-30 20:09:03.612692769+000022542 +++ vim74/runtime/doc/autocmd.txt 2014-04-27 05:20:57.295081553 +0000 22500 22543 @@ -1,4 +1,4 @@ 22501 22544 -*autocmd.txt* For Vim version 7.4. Last change: 2013 Aug 04 … … 22548 22591 diff -Naur vim74.orig/runtime/doc/change.txt vim74/runtime/doc/change.txt 22549 22592 --- vim74.orig/runtime/doc/change.txt 2013-08-10 11:24:52.000000000 +0000 22550 +++ vim74/runtime/doc/change.txt 2014-0 3-30 20:09:03.616026212+000022593 +++ vim74/runtime/doc/change.txt 2014-04-27 05:20:57.295081553 +0000 22551 22594 @@ -1,4 +1,4 @@ 22552 22595 -*change.txt* For Vim version 7.4. Last change: 2013 Jul 17 … … 22617 22660 diff -Naur vim74.orig/runtime/doc/cmdline.txt vim74/runtime/doc/cmdline.txt 22618 22661 --- vim74.orig/runtime/doc/cmdline.txt 2013-08-10 11:24:52.000000000 +0000 22619 +++ vim74/runtime/doc/cmdline.txt 2014-0 3-30 20:09:03.616026212+000022662 +++ vim74/runtime/doc/cmdline.txt 2014-04-27 05:20:57.298414969 +0000 22620 22663 @@ -1,4 +1,4 @@ 22621 22664 -*cmdline.txt* For Vim version 7.4. Last change: 2013 Mar 16 … … 22667 22710 diff -Naur vim74.orig/runtime/doc/develop.txt vim74/runtime/doc/develop.txt 22668 22711 --- vim74.orig/runtime/doc/develop.txt 2013-08-10 11:24:52.000000000 +0000 22669 +++ vim74/runtime/doc/develop.txt 2014-0 3-30 20:09:03.619359655+000022712 +++ vim74/runtime/doc/develop.txt 2014-04-27 05:20:57.298414969 +0000 22670 22713 @@ -1,4 +1,4 @@ 22671 22714 -*develop.txt* For Vim version 7.4. Last change: 2013 Apr 27 … … 22684 22727 diff -Naur vim74.orig/runtime/doc/diff.txt vim74/runtime/doc/diff.txt 22685 22728 --- vim74.orig/runtime/doc/diff.txt 2013-08-10 11:24:52.000000000 +0000 22686 +++ vim74/runtime/doc/diff.txt 2014-0 3-30 20:09:03.619359655 +000022729 +++ vim74/runtime/doc/diff.txt 2014-04-27 05:20:57.301748385 +0000 22687 22730 @@ -1,4 +1,4 @@ 22688 22731 -*diff.txt* For Vim version 7.4. Last change: 2013 Jul 07 … … 22710 22753 diff -Naur vim74.orig/runtime/doc/digraph.txt vim74/runtime/doc/digraph.txt 22711 22754 --- vim74.orig/runtime/doc/digraph.txt 2013-08-10 11:24:52.000000000 +0000 22712 +++ vim74/runtime/doc/digraph.txt 2014-0 3-30 20:09:03.619359655 +000022755 +++ vim74/runtime/doc/digraph.txt 2014-04-27 05:20:57.301748385 +0000 22713 22756 @@ -1,4 +1,4 @@ 22714 22757 -*digraph.txt* For Vim version 7.4. Last change: 2011 Jan 15 … … 22728 22771 diff -Naur vim74.orig/runtime/doc/editing.txt vim74/runtime/doc/editing.txt 22729 22772 --- vim74.orig/runtime/doc/editing.txt 2013-08-10 11:24:53.000000000 +0000 22730 +++ vim74/runtime/doc/editing.txt 2014-0 3-30 20:09:03.622693098+000022773 +++ vim74/runtime/doc/editing.txt 2014-04-27 05:20:57.301748385 +0000 22731 22774 @@ -1,4 +1,4 @@ 22732 22775 -*editing.txt* For Vim version 7.4. Last change: 2013 Aug 03 … … 22745 22788 diff -Naur vim74.orig/runtime/doc/eval.txt vim74/runtime/doc/eval.txt 22746 22789 --- vim74.orig/runtime/doc/eval.txt 2013-08-10 11:24:53.000000000 +0000 22747 +++ vim74/runtime/doc/eval.txt 2014-0 3-30 20:09:03.626026541+000022790 +++ vim74/runtime/doc/eval.txt 2014-04-27 05:20:57.308415217 +0000 22748 22791 @@ -1,4 +1,4 @@ 22749 22792 -*eval.txt* For Vim version 7.4. Last change: 2013 Aug 03 22750 +*eval.txt* For Vim version 7.4. Last change: 2014 Mar 2722793 +*eval.txt* For Vim version 7.4. Last change: 2014 Apr 06 22751 22794 22752 22795 … … 22760 22803 22761 22804 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. 22762 22814 @@ -326,6 +327,7 @@ 22763 22815 Changing the order of items in a list: > … … 22768 22820 22769 22821 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: > 22770 22849 @@ -1454,6 +1456,13 @@ 22771 22850 v:foldstart Used for 'foldtext': first line of closed fold. … … 22790 22869 The List can be modified, but this has no effect on what is 22791 22870 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 @@ 22793 22898 bufwinnr( {expr}) Number window number of buffer {expr} 22794 22899 byte2line( {byte}) Number line number at byte count {byte} … … 22798 22903 any call {func} with arguments {arglist} 22799 22904 ceil( {expr}) Float round {expr} up 22800 @@ -1735,7 +17 46,7 @@22905 @@ -1735,7 +1756,7 @@ 22801 22906 cursor( {lnum}, {col} [, {coladd}]) 22802 22907 Number move cursor to {lnum}, {col}, {coladd} … … 22807 22912 did_filetype() Number TRUE if FileType autocommand event used 22808 22913 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 @@ 22810 22951 type( {name}) Number type of variable {name} 22811 22952 undofile( {name}) String undo file name for {name} … … 22816 22957 virtcol( {expr}) Number screen column of cursor or mark 22817 22958 visualmode( [expr]) String last visual mode used 22818 @@ -2260,7 +22 73,10 @@22959 @@ -2260,7 +2287,10 @@ 22819 22960 {expr}. Use zero for the first character, it returns zero. 22820 22961 This function is only useful when there are multibyte … … 22828 22969 echo matchstr(str, ".", byteidx(str, 3)) 22829 22970 < will display the fourth character. Another way to do the 22830 @@ -2269,7 +22 85,20 @@22971 @@ -2269,7 +2299,20 @@ 22831 22972 echo strpart(s, 0, byteidx(s, 1)) 22832 22973 < If there are less than {nr} characters -1 is returned. … … 22850 22991 call({func}, {arglist} [, {dict}]) *call()* *E699* 22851 22992 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 @@ 22853 23010 <afile> autocmd file name 22854 23011 <abuf> autocmd buffer number (as a String!) … … 22859 23016 <cword> word under the cursor 22860 23017 <cWORD> WORD under the cursor 22861 @@ -3175,7 +32 04,7 @@23018 @@ -3175,7 +3227,7 @@ 22862 23019 If [expr] is 1, only check if a character is available, it is 22863 23020 not consumed. Return zero if no character available. … … 22868 23025 result is a number. Use nr2char() to convert it to a String. 22869 23026 Otherwise a String is returned with the encoded character. 22870 @@ -3185,7 +32 14,7 @@23027 @@ -3185,7 +3237,7 @@ 22871 23028 String when a modifier (shift, control, alt) was used that is 22872 23029 not included in the character. … … 22877 23034 Use nr2char() to convert it to a String. 22878 23035 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 @@ 22880 23058 "v" for |characterwise| text 22881 23059 "V" for |linewise| text … … 22886 23064 If {regname} is not specified, |v:register| is used. 22887 23065 22888 @@ -4109,6 +41 38,8 @@23066 @@ -4109,6 +4166,8 @@ 22889 23067 (|mapmode-ic|) 22890 23068 "sid" The script local ID, used for <sid> mappings … … 22895 23073 The mappings local to the current buffer are checked first, 22896 23074 then the global mappings. 22897 @@ -4210,6 +42 41,9 @@23075 @@ -4210,6 +4269,9 @@ 22898 23076 "match"). It will be highlighted with {group}. Returns an 22899 23077 identification number (ID), which can be used to delete the … … 22905 23083 The optional {priority} argument assigns a priority to the 22906 23084 match. A match with a high priority will have its 22907 @@ -4419,6 +44 53,9 @@23085 @@ -4419,6 +4481,9 @@ 22908 23086 it is the offset in screen columns from the start of the 22909 23087 character. E.g., a position within a <Tab> or after the last … … 22915 23093 let save_cursor = getpos(".") 22916 23094 MoveTheCursorAround 22917 @@ -5242,6 +5 279,10 @@23095 @@ -5242,6 +5307,10 @@ 22918 23096 character. E.g., a position within a <Tab> or after the last 22919 23097 character. … … 22926 23104 An error message is given if {expr} is invalid. 22927 23105 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 @@ 22929 23150 < This results in a directory listing for the file under the 22930 23151 cursor. Example of use with |system()|: > … … 22934 23155 22935 23156 shiftwidth() *shiftwidth()* 22936 @@ -5449,20 +5 491,26 @@23157 @@ -5449,20 +5529,26 @@ 22937 23158 22938 23159 … … 22965 23186 func MyCompare(i1, i2) 22966 23187 return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1 22967 @@ -5604,7 +56 52,7 @@23188 @@ -5604,7 +5690,7 @@ 22968 23189 22969 23190 strdisplaywidth({expr}[, {col}]) *strdisplaywidth()* … … 22974 23195 screen column where to start. This matters for Tab 22975 23196 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. 22980 23231 - Note: Use |shellescape()| to escape special characters in a 22981 23232 - command argument. Newlines in {expr} may cause the command to 22982 23233 - fail. The characters in 'shellquote' and 'shellxquote' may 22983 23234 - 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 + 22984 23248 + Note: Use |shellescape()| or |::S| with |expand()| or 22985 23249 + |fnamemodify()| to escape special characters in a command … … 22995 23259 < To make the result more system-independent, the shell output 22996 23260 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 @@ 22998 23279 The number can be used with the |:tab| command. 22999 23280 … … 23004 23285 {tabarg} specifies the number of tab page to be used. 23005 23286 {arg} is used like with |winnr()|: 23006 @@ -6128,6 +6 178,14 @@23287 @@ -6128,6 +6245,14 @@ 23007 23288 blocks. Each item may again have an "alt" 23008 23289 item. … … 23019 23300 Return a |List| with all the values of {dict}. The |List| is 23020 23301 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 23023 23316 included. 23024 23317 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 + 23025 23326 +acl Compiled with |ACL| support. 23026 23327 all_builtin_terms Compiled with all builtin terminals enabled. 23027 23328 amiga Amiga version of Vim. 23028 23329 arabic Compiled with Arabic support |Arabic|. 23029 @@ -6503,7 +6 562,9 @@23330 @@ -6503,7 +6638,9 @@ 23030 23331 writebackup Compiled with 'writebackup' default on. 23031 23332 xfontset Compiled with X fontset support |xfontset|. … … 23038 23339 xsmp_interact Compiled with interactive X session management support. 23039 23340 xterm_clipboard Compiled with support for xterm clipboard. 23040 @@ -6580,7 +6 641,8 @@23341 @@ -6580,7 +6717,8 @@ 23041 23342 :fu[nction][!] {name}([arguments]) [range] [abort] [dict] 23042 23343 Define a new function by the name {name}. The name … … 23048 23349 {name} can also be a |Dictionary| entry that is a 23049 23350 |Funcref|: > 23050 @@ -6599,7 +6 661,7 @@23351 @@ -6599,7 +6737,7 @@ 23051 23352 23052 23353 For the {arguments} see |function-argument|. … … 23057 23358 expected to take care of a range itself. The range is 23058 23359 passed as "a:firstline" and "a:lastline". If [range] 23059 @@ -6608,10 +6 670,10 @@23360 @@ -6608,10 +6746,10 @@ 23060 23361 of each line. See |function-range-example|. 23061 23362 The cursor is still moved to the first line of the … … 23070 23371 be invoked through an entry in a |Dictionary|. The 23071 23372 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 @@ 23073 23383 for Vim commands, |shellescape()| for |:!| commands. 23074 23384 Examples: > … … 23100 23410 diff -Naur vim74.orig/runtime/doc/filetype.txt vim74/runtime/doc/filetype.txt 23101 23411 --- vim74.orig/runtime/doc/filetype.txt 2013-08-10 11:24:53.000000000 +0000 23102 +++ vim74/runtime/doc/filetype.txt 2014-0 3-30 20:09:03.632693428+000023412 +++ vim74/runtime/doc/filetype.txt 2014-04-27 05:20:57.315082050 +0000 23103 23413 @@ -1,4 +1,4 @@ 23104 23414 -*filetype.txt* For Vim version 7.4. Last change: 2013 May 25 … … 23138 23448 diff -Naur vim74.orig/runtime/doc/fold.txt vim74/runtime/doc/fold.txt 23139 23449 --- vim74.orig/runtime/doc/fold.txt 2013-08-10 11:24:53.000000000 +0000 23140 +++ vim74/runtime/doc/fold.txt 2014-0 3-30 20:09:03.632693428+000023450 +++ vim74/runtime/doc/fold.txt 2014-04-27 05:20:57.315082050 +0000 23141 23451 @@ -1,4 +1,4 @@ 23142 23452 -*fold.txt* For Vim version 7.4. Last change: 2010 May 13 … … 23161 23471 diff -Naur vim74.orig/runtime/doc/gui.txt vim74/runtime/doc/gui.txt 23162 23472 --- vim74.orig/runtime/doc/gui.txt 2013-08-10 11:24:53.000000000 +0000 23163 +++ vim74/runtime/doc/gui.txt 2014-0 3-30 20:09:03.632693428+000023473 +++ vim74/runtime/doc/gui.txt 2014-04-27 05:20:57.318415466 +0000 23164 23474 @@ -1,4 +1,4 @@ 23165 23475 -*gui.txt* For Vim version 7.4. Last change: 2013 Jun 12 … … 23191 23501 diff -Naur vim74.orig/runtime/doc/gui_x11.txt vim74/runtime/doc/gui_x11.txt 23192 23502 --- vim74.orig/runtime/doc/gui_x11.txt 2013-08-10 11:24:54.000000000 +0000 23193 +++ vim74/runtime/doc/gui_x11.txt 2014-0 3-30 20:09:03.636026871+000023503 +++ vim74/runtime/doc/gui_x11.txt 2014-04-27 05:20:57.318415466 +0000 23194 23504 @@ -1,4 +1,4 @@ 23195 23505 -*gui_x11.txt* For Vim version 7.4. Last change: 2011 Sep 14 … … 23209 23519 diff -Naur vim74.orig/runtime/doc/if_lua.txt vim74/runtime/doc/if_lua.txt 23210 23520 --- vim74.orig/runtime/doc/if_lua.txt 2013-08-10 11:24:55.000000000 +0000 23211 +++ vim74/runtime/doc/if_lua.txt 2014-0 3-30 20:09:03.639360314+000023521 +++ vim74/runtime/doc/if_lua.txt 2014-04-27 05:20:57.321748882 +0000 23212 23522 @@ -1,4 +1,4 @@ 23213 23523 -*if_lua.txt* For Vim version 7.4. Last change: 2012 Jun 29 … … 23227 23537 diff -Naur vim74.orig/runtime/doc/if_perl.txt vim74/runtime/doc/if_perl.txt 23228 23538 --- vim74.orig/runtime/doc/if_perl.txt 2013-08-10 11:24:55.000000000 +0000 23229 +++ vim74/runtime/doc/if_perl.txt 2014-0 3-30 20:09:03.642693757 +000023539 +++ vim74/runtime/doc/if_perl.txt 2014-04-27 05:20:57.325082297 +0000 23230 23540 @@ -1,4 +1,4 @@ 23231 23541 -*if_perl.txt* For Vim version 7.4. Last change: 2012 Oct 25 … … 23236 23546 diff -Naur vim74.orig/runtime/doc/indent.txt vim74/runtime/doc/indent.txt 23237 23547 --- vim74.orig/runtime/doc/indent.txt 2013-08-10 11:24:56.000000000 +0000 23238 +++ vim74/runtime/doc/indent.txt 2014-0 3-30 20:09:03.646027200+000023548 +++ vim74/runtime/doc/indent.txt 2014-04-27 05:20:57.328415713 +0000 23239 23549 @@ -1,4 +1,4 @@ 23240 23550 -*indent.txt* For Vim version 7.4. Last change: 2013 Aug 03 … … 23327 23637 diff -Naur vim74.orig/runtime/doc/index.txt vim74/runtime/doc/index.txt 23328 23638 --- vim74.orig/runtime/doc/index.txt 2013-08-10 11:24:56.000000000 +0000 23329 +++ vim74/runtime/doc/index.txt 2014-0 3-30 20:09:03.646027200 +000023639 +++ vim74/runtime/doc/index.txt 2014-04-27 05:20:57.331749130 +0000 23330 23640 @@ -1,4 +1,4 @@ 23331 23641 -*index.txt* For Vim version 7.4. Last change: 2013 Jul 17 … … 23387 23697 diff -Naur vim74.orig/runtime/doc/map.txt vim74/runtime/doc/map.txt 23388 23698 --- vim74.orig/runtime/doc/map.txt 2013-08-10 11:24:56.000000000 +0000 23389 +++ vim74/runtime/doc/map.txt 2014-0 3-30 20:09:03.652694086+000023699 +++ vim74/runtime/doc/map.txt 2014-04-27 05:20:57.335082547 +0000 23390 23700 @@ -1,4 +1,4 @@ 23391 23701 -*map.txt* For Vim version 7.4. Last change: 2013 Aug 03 … … 23423 23733 diff -Naur vim74.orig/runtime/doc/motion.txt vim74/runtime/doc/motion.txt 23424 23734 --- vim74.orig/runtime/doc/motion.txt 2013-08-10 11:24:57.000000000 +0000 23425 +++ vim74/runtime/doc/motion.txt 2014-0 3-30 20:09:03.659360972 +000023735 +++ vim74/runtime/doc/motion.txt 2014-04-27 05:20:57.338415962 +0000 23426 23736 @@ -1,4 +1,4 @@ 23427 23737 -*motion.txt* For Vim version 7.4. Last change: 2013 Jul 17 … … 23441 23751 diff -Naur vim74.orig/runtime/doc/options.txt vim74/runtime/doc/options.txt 23442 23752 --- vim74.orig/runtime/doc/options.txt 2013-08-10 11:24:57.000000000 +0000 23443 +++ vim74/runtime/doc/options.txt 2014-0 3-30 20:09:03.666027859+000023753 +++ vim74/runtime/doc/options.txt 2014-04-27 05:20:57.345082794 +0000 23444 23754 @@ -1,4 +1,4 @@ 23445 23755 -*options.txt* For Vim version 7.4. Last change: 2013 Jul 09 … … 23540 23850 diff -Naur vim74.orig/runtime/doc/os_vms.txt vim74/runtime/doc/os_vms.txt 23541 23851 --- vim74.orig/runtime/doc/os_vms.txt 2013-08-10 11:24:59.000000000 +0000 23542 +++ vim74/runtime/doc/os_vms.txt 2014-0 3-30 20:09:03.672694745+000023852 +++ vim74/runtime/doc/os_vms.txt 2014-04-27 05:20:57.351749627 +0000 23543 23853 @@ -1,4 +1,4 @@ 23544 23854 -*os_vms.txt* For Vim version 7.4. Last change: 2011 Aug 14 … … 23581 23891 diff -Naur vim74.orig/runtime/doc/os_win32.txt vim74/runtime/doc/os_win32.txt 23582 23892 --- vim74.orig/runtime/doc/os_win32.txt 2013-08-10 11:24:59.000000000 +0000 23583 +++ vim74/runtime/doc/os_win32.txt 2014-0 3-30 20:09:03.672694745+000023893 +++ vim74/runtime/doc/os_win32.txt 2014-04-27 05:20:57.351749627 +0000 23584 23894 @@ -93,7 +93,7 @@ 23585 23895 $PATH *win32-PATH* … … 23593 23903 diff -Naur vim74.orig/runtime/doc/pattern.txt vim74/runtime/doc/pattern.txt 23594 23904 --- vim74.orig/runtime/doc/pattern.txt 2013-08-10 11:24:59.000000000 +0000 23595 +++ vim74/runtime/doc/pattern.txt 2014-0 3-30 20:09:03.676028187 +000023905 +++ vim74/runtime/doc/pattern.txt 2014-04-27 05:20:57.351749627 +0000 23596 23906 @@ -1,4 +1,4 @@ 23597 23907 -*pattern.txt* For Vim version 7.4. Last change: 2013 Jul 06 … … 23615 23925 diff -Naur vim74.orig/runtime/doc/pi_getscript.txt vim74/runtime/doc/pi_getscript.txt 23616 23926 --- vim74.orig/runtime/doc/pi_getscript.txt 2013-08-10 11:24:59.000000000 +0000 23617 +++ vim74/runtime/doc/pi_getscript.txt 2014-0 3-30 20:09:03.676028187+000023927 +++ vim74/runtime/doc/pi_getscript.txt 2014-04-27 05:20:57.355083042 +0000 23618 23928 @@ -1,4 +1,4 @@ 23619 23929 -*pi_getscript.txt* For Vim version 7.4. Last change: 2012 Apr 07 … … 23635 23945 diff -Naur vim74.orig/runtime/doc/pi_netrw.txt vim74/runtime/doc/pi_netrw.txt 23636 23946 --- vim74.orig/runtime/doc/pi_netrw.txt 2013-08-10 11:24:59.000000000 +0000 23637 +++ vim74/runtime/doc/pi_netrw.txt 2014-0 3-30 20:09:03.679361631+000023947 +++ vim74/runtime/doc/pi_netrw.txt 2014-04-27 05:20:57.358416459 +0000 23638 23948 @@ -1,4 +1,4 @@ 23639 23949 -*pi_netrw.txt* For Vim version 7.4. Last change: 2013 May 18 … … 24468 24778 diff -Naur vim74.orig/runtime/doc/pi_vimball.txt vim74/runtime/doc/pi_vimball.txt 24469 24779 --- vim74.orig/runtime/doc/pi_vimball.txt 2013-08-10 11:25:00.000000000 +0000 24470 +++ vim74/runtime/doc/pi_vimball.txt 2014-0 3-30 20:09:03.682695074+000024780 +++ vim74/runtime/doc/pi_vimball.txt 2014-04-27 05:20:57.361749875 +0000 24471 24781 @@ -188,7 +188,7 @@ 24472 24782 * Changed silent! to sil! (shorter) … … 24480 24790 diff -Naur vim74.orig/runtime/doc/quickfix.txt vim74/runtime/doc/quickfix.txt 24481 24791 --- vim74.orig/runtime/doc/quickfix.txt 2013-08-10 11:25:00.000000000 +0000 24482 +++ vim74/runtime/doc/quickfix.txt 2014-0 3-30 20:09:03.682695074+000024792 +++ vim74/runtime/doc/quickfix.txt 2014-04-27 05:20:57.361749875 +0000 24483 24793 @@ -1,4 +1,4 @@ 24484 24794 -*quickfix.txt* For Vim version 7.4. Last change: 2013 Aug 03 … … 24562 24872 diff -Naur vim74.orig/runtime/doc/recover.txt vim74/runtime/doc/recover.txt 24563 24873 --- vim74.orig/runtime/doc/recover.txt 2013-08-10 11:25:00.000000000 +0000 24564 +++ vim74/runtime/doc/recover.txt 2014-0 3-30 20:09:03.686028517+000024874 +++ vim74/runtime/doc/recover.txt 2014-04-27 05:20:57.365083291 +0000 24565 24875 @@ -1,4 +1,4 @@ 24566 24876 -*recover.txt* For Vim version 7.4. Last change: 2010 Jul 20 24567 +*recover.txt* For Vim version 7.4. Last change: 2014 Mar 2 524877 +*recover.txt* For Vim version 7.4. Last change: 2014 Mar 27 24568 24878 24569 24879 … … 24577 24887 +|:noswapfile| modifier can be used to not create a swapfile for a new buffer. 24578 24888 + 24579 +:nos wap[file] {command} *:nos* *:noswapfile*24889 +:nos[wapfile] {command} *:nos* *:noswapfile* 24580 24890 + Execute {command}. If it contains a command that loads a new 24581 24891 + buffer, it will be loaded without creating a swapfile and the … … 24587 24897 diff -Naur vim74.orig/runtime/doc/repeat.txt vim74/runtime/doc/repeat.txt 24588 24898 --- vim74.orig/runtime/doc/repeat.txt 2013-08-10 11:25:00.000000000 +0000 24589 +++ vim74/runtime/doc/repeat.txt 2014-0 3-30 20:09:03.686028517 +000024899 +++ vim74/runtime/doc/repeat.txt 2014-04-27 05:20:57.368416707 +0000 24590 24900 @@ -1,4 +1,4 @@ 24591 24901 -*repeat.txt* For Vim version 7.4. Last change: 2013 Jul 25 … … 24641 24951 diff -Naur vim74.orig/runtime/doc/sign.txt vim74/runtime/doc/sign.txt 24642 24952 --- vim74.orig/runtime/doc/sign.txt 2013-08-10 11:25:01.000000000 +0000 24643 +++ vim74/runtime/doc/sign.txt 2014-0 3-30 20:09:03.689361960+000024953 +++ vim74/runtime/doc/sign.txt 2014-04-27 05:20:57.368416707 +0000 24644 24954 @@ -1,4 +1,4 @@ 24645 24955 -*sign.txt* For Vim version 7.4. Last change: 2012 Jul 10 … … 24659 24969 diff -Naur vim74.orig/runtime/doc/spell.txt vim74/runtime/doc/spell.txt 24660 24970 --- vim74.orig/runtime/doc/spell.txt 2013-08-10 11:25:01.000000000 +0000 24661 +++ vim74/runtime/doc/spell.txt 2014-0 3-30 20:09:03.692695403 +000024971 +++ vim74/runtime/doc/spell.txt 2014-04-27 05:20:57.371750123 +0000 24662 24972 @@ -1,4 +1,4 @@ 24663 24973 -*spell.txt* For Vim version 7.4. Last change: 2013 Jul 17 … … 24680 24990 SPELL FILES *spell-load* 24681 24991 24992 diff -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 24682 25014 diff -Naur vim74.orig/runtime/doc/syntax.txt vim74/runtime/doc/syntax.txt 24683 25015 --- vim74.orig/runtime/doc/syntax.txt 2013-08-10 11:25:01.000000000 +0000 24684 +++ vim74/runtime/doc/syntax.txt 2014-0 3-30 20:09:03.696028847+000025016 +++ vim74/runtime/doc/syntax.txt 2014-04-27 05:20:57.375083540 +0000 24685 25017 @@ -1,4 +1,4 @@ 24686 25018 -*syntax.txt* For Vim version 7.4. Last change: 2013 Jul 05 24687 +*syntax.txt* For Vim version 7.4. Last change: 2014 Feb 2525019 +*syntax.txt* For Vim version 7.4. Last change: 2014 Apr 05 24688 25020 24689 25021 … … 24744 25076 24745 25077 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 24746 25087 @@ -3156,18 +3197,16 @@ 24747 25088 embedded script highlighting they wish to have. > … … 24775 25116 diff -Naur vim74.orig/runtime/doc/tags vim74/runtime/doc/tags 24776 25117 --- vim74.orig/runtime/doc/tags 2013-08-10 12:23:34.000000000 +0000 24777 +++ vim74/runtime/doc/tags 2014-0 3-30 20:09:03.699362289+000025118 +++ vim74/runtime/doc/tags 2014-04-27 05:20:57.378416956 +0000 24778 25119 @@ -12,6 +12,7 @@ 24779 25120 % motion.txt /*%* … … 24878 25219 :sign-unplace sign.txt /*:sign-unplace* 24879 25220 :sil various.txt /*:sil* 24880 @@ -4294,6 +4309, 8@@25221 @@ -4294,6 +4309,9 @@ 24881 25222 E879 syntax.txt /*E879* 24882 25223 E88 windows.txt /*E88* … … 24884 25225 +E881 autocmd.txt /*E881* 24885 25226 +E882 eval.txt /*E882* 25227 +E883 eval.txt /*E883* 24886 25228 E89 message.txt /*E89* 24887 25229 E90 message.txt /*E90* 24888 25230 E91 options.txt /*E91* 24889 @@ -4900,6 +491 7,7 @@25231 @@ -4900,6 +4918,7 @@ 24890 25232 byte-count editing.txt /*byte-count* 24891 25233 byte2line() eval.txt /*byte2line()* … … 24895 25237 c change.txt /*c* 24896 25238 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 @@ 24898 25248 escape intro.txt /*escape* 24899 25249 escape() eval.txt /*escape()* … … 24904 25254 eval() eval.txt /*eval()* 24905 25255 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 @@ 24907 25265 ft-changelog-syntax syntax.txt /*ft-changelog-syntax* 24908 25266 ft-chill-syntax syntax.txt /*ft-chill-syntax* … … 24912 25270 ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax* 24913 25271 ft-cpp-syntax syntax.txt /*ft-cpp-syntax* 24914 @@ -5724,6 +574 5,7 @@25272 @@ -5724,6 +5748,7 @@ 24915 25273 ft-dtd-syntax syntax.txt /*ft-dtd-syntax* 24916 25274 ft-eiffel-syntax syntax.txt /*ft-eiffel-syntax* … … 24920 25278 ft-form-syntax syntax.txt /*ft-form-syntax* 24921 25279 ft-fortran-indent indent.txt /*ft-fortran-indent* 24922 @@ -5876,6 +5 898,8 @@25280 @@ -5876,6 +5901,8 @@ 24923 25281 g:ada_with_gnat_project_files ft_ada.txt /*g:ada_with_gnat_project_files* 24924 25282 g:ada_withuse_ordinary ft_ada.txt /*g:ada_withuse_ordinary* … … 24929 25287 g:clojure_fuzzy_indent_blacklist indent.txt /*g:clojure_fuzzy_indent_blacklist* 24930 25288 g:clojure_fuzzy_indent_patterns indent.txt /*g:clojure_fuzzy_indent_patterns* 24931 @@ -5924,6 +59 48,7 @@25289 @@ -5924,6 +5951,7 @@ 24932 25290 g:html_use_encoding syntax.txt /*g:html_use_encoding* 24933 25291 g:html_use_xhtml syntax.txt /*g:html_use_xhtml* … … 24937 25295 g:netrw_altv pi_netrw.txt /*g:netrw_altv* 24938 25296 g:netrw_banner pi_netrw.txt /*g:netrw_banner* 24939 @@ -5958,6 +598 3,7 @@25297 @@ -5958,6 +5986,7 @@ 24940 25298 g:netrw_hide pi_netrw.txt /*g:netrw_hide* 24941 25299 g:netrw_home pi_netrw.txt /*g:netrw_home* … … 24945 25303 g:netrw_ignorenetrc pi_netrw.txt /*g:netrw_ignorenetrc* 24946 25304 g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir* 24947 @@ -6358,6 +638 4,7 @@25305 @@ -6358,6 +6387,7 @@ 24948 25306 hl-WildMenu syntax.txt /*hl-WildMenu* 24949 25307 hlID() eval.txt /*hlID()* … … 24953 25311 home intro.txt /*home* 24954 25312 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 @@ 24956 25322 netrw pi_netrw.txt /*netrw* 24957 25323 netrw-% pi_netrw.txt /*netrw-%* … … 24969 25335 netrw-D pi_netrw.txt /*netrw-D* 24970 25336 netrw-O pi_netrw.txt /*netrw-O* 24971 @@ -6978,6 +701 4,7 @@25337 @@ -6978,6 +7018,7 @@ 24972 25338 netrw-getftype pi_netrw.txt /*netrw-getftype* 24973 25339 netrw-gf pi_netrw.txt /*netrw-gf* … … 24977 25343 netrw-gx pi_netrw.txt /*netrw-gx* 24978 25344 netrw-handler pi_netrw.txt /*netrw-handler* 24979 @@ -6992,6 +70 29,7 @@25345 @@ -6992,6 +7033,7 @@ 24980 25346 netrw-internal-variables pi_netrw.txt /*netrw-internal-variables* 24981 25347 netrw-intro-browse pi_netrw.txt /*netrw-intro-browse* … … 24985 25351 netrw-listbookmark pi_netrw.txt /*netrw-listbookmark* 24986 25352 netrw-listhack pi_netrw.txt /*netrw-listhack* 24987 @@ -7022,6 +706 0,7 @@25353 @@ -7022,6 +7064,7 @@ 24988 25354 netrw-nexplore pi_netrw.txt /*netrw-nexplore* 24989 25355 netrw-noload pi_netrw.txt /*netrw-noload* … … 24993 25359 netrw-o pi_netrw.txt /*netrw-o* 24994 25360 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 @@ 24996 25370 s/\3 change.txt /*s\/\\3* 24997 25371 s/\9 change.txt /*s\/\\9* … … 25001 25375 s/\L change.txt /*s\/\\L* 25002 25376 s/\U change.txt /*s\/\\U* 25003 @@ -7787,6 +78 27,7 @@25377 @@ -7787,6 +7832,7 @@ 25004 25378 spell-affix-mbyte spell.txt /*spell-affix-mbyte* 25005 25379 spell-affix-not-supported spell.txt /*spell-affix-not-supported* … … 25009 25383 spell-dic-format spell.txt /*spell-dic-format* 25010 25384 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 @@ 25012 25402 undofile() eval.txt /*undofile()* 25013 25403 undotree() eval.txt /*undotree()* … … 25017 25407 unlisted-buffer windows.txt /*unlisted-buffer* 25018 25408 up-down-motions motion.txt /*up-down-motions* 25019 @@ -8364,6 +84 06,7 @@25409 @@ -8364,6 +8413,7 @@ 25020 25410 v:foldend eval.txt /*v:foldend* 25021 25411 v:foldlevel eval.txt /*v:foldlevel* … … 25025 25415 v:key eval.txt /*v:key* 25026 25416 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* 25027 25425 diff -Naur vim74.orig/runtime/doc/tagsrch.txt vim74/runtime/doc/tagsrch.txt 25028 25426 --- vim74.orig/runtime/doc/tagsrch.txt 2013-08-10 11:25:02.000000000 +0000 25029 +++ vim74/runtime/doc/tagsrch.txt 2014-0 3-30 20:09:03.702695732+000025427 +++ vim74/runtime/doc/tagsrch.txt 2014-04-27 05:20:57.381750371 +0000 25030 25428 @@ -1,4 +1,4 @@ 25031 25429 -*tagsrch.txt* For Vim version 7.4. Last change: 2013 Jul 28 … … 25051 25449 diff -Naur vim74.orig/runtime/doc/todo.txt vim74/runtime/doc/todo.txt 25052 25450 --- vim74.orig/runtime/doc/todo.txt 2013-08-10 11:25:02.000000000 +0000 25053 +++ vim74/runtime/doc/todo.txt 2014-0 3-30 20:09:03.709362618+000025451 +++ vim74/runtime/doc/todo.txt 2014-04-27 05:20:57.388417204 +0000 25054 25452 @@ -1,4 +1,4 @@ 25055 25453 -*todo.txt* For Vim version 7.4. Last change: 2013 Aug 10 25056 +*todo.txt* For Vim version 7.4. Last change: 2014 Mar 2725454 +*todo.txt* For Vim version 7.4. Last change: 2014 Apr 05 25057 25455 25058 25456 25059 25457 VIM REFERENCE MANUAL by Bram Moolenaar 25060 @@ -34,38 +34,23 4@@25458 @@ -34,38 +34,232 @@ 25061 25459 *known-bugs* 25062 25460 -------------------- Known bugs and current work ----------------------- 25063 25461 25064 25462 +Regexp problems: 25463 +- Crash when using cpp syntax file with raw string. (Havard Garnes) 25464 + Edit "~/tmp/test.cc" and source "~/tmp/cpp.vim". 25065 25465 +- NFA regexp doesn't count tab matches correctly. (Urtica Dioica / gaultheria 25066 25466 + Shallon, 2013 Nov 18) … … 25097 25497 25098 25498 -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) 25100 25510 + 25101 25511 +Problem with 'spellsuggest' file, only works for some words. … … 25110 25520 +Feb 24) 25111 25521 + 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 Jan25115 +25.25116 +25117 25522 +Add digraph for Rouble: =P. What's the Unicode? 25118 25523 + 25119 +Bug: "!ls %" expands parenthesis in %, but not spaces. So this doesn't work25120 +either: ':!ls "%"'.25121 +Patch by Gary Johnson, 2014 Mar 6.25122 +25123 25524 +Issue 174: Detect Mason files. 25124 25525 + 25125 25526 +No error for missing endwhile. (ZyX, 2014 Mar 20) 25126 25527 + 25127 +Patch to add v:progpath. (Viktor Kojouharov, 2014 Mar 15)25128 +25129 25528 +Phpcomplete.vim update. (Complex, 2014 Jan 15) 25130 25529 + 25131 25530 +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. 25132 25535 + 25133 25536 +Can we make ":unlet $VAR" use unsetenv() to delete the env var? … … 25139 25542 + vim -u NONE 1 2 3 -c 'bufdo while 1 | echo 1' 25140 25543 + 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? 25148 25547 + 25149 25548 +Include a plugin manager with Vim? Neobundle seems to be the best currently. … … 25181 25580 + useful). 25182 25581 + 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) 25188 25590 + 25189 25591 +VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow 25190 25592 +instead. (Samuel Ferencik, 2013 Sep 28) 25191 25593 + 25192 +Series of patches for NL vs NUL handling. (ZyX, 2013 Nov 3, Nov 9)25193 +25194 25594 +Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4) 25195 25595 + … … 25200 25600 + 25201 25601 +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) 25203 25605 +Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14) 25204 25606 + … … 25207 25609 + 25208 25610 +Perl: support for Activestate perl 5.18: Issue 170. 25209 + 25611 25210 25612 Several syntax file match "^\s*" which may get underlined if that's in the 25211 25613 highlight group. Add a "\zs" after it? … … 25228 25630 + 25229 25631 +Patch to right-align signs. (James Kolb (email james), 2013 Sep 23) 25230 +25231 +Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)25232 25632 25233 25633 -Several Win32 functions are not using Unicode. 25234 25634 -Patches to fix this. (Ken Takata, 2013 Aug 9) 25635 +Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12) 25636 + 25235 25637 +With "$" in 'cpoptions' the popup menu isn't fully drawn. (Matti Niemenmaa, 25236 25638 +2013 Sep 5) … … 25249 25651 + "lucida_console:h8"). 25250 25652 +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 + 25254 25654 +:help gives example for z?, but it does not work. m? and t? do work. 25255 25655 + … … 25264 25664 +Patch to fix that on suckless Terminal mousewheel up does not work. 25265 25665 +(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) 25267 25669 +Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10) 25268 25670 … … 25293 25695 +registers. (Aryeh Leib Taurog, 2013 Nov 18) 25294 25696 + 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 +25299 25697 Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3. 25300 25698 25301 25699 The BufUnload event is triggered when re-using the empty buffer. 25302 @@ -76,6 +27 2,10 @@25700 @@ -76,6 +270,10 @@ 25303 25701 - The word that was selected (empty if abandoned complete) 25304 25702 - Type of completion: tag, omnifunc, user func. … … 25311 25709 That is, calling a dictionary function on an autoloaded dict. 25312 25710 Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 25313 @@ -83,10 +28 3,6 @@25711 @@ -83,10 +281,6 @@ 25314 25712 Patch by Christian Brabandt, 2013 Mar 23. 25315 25713 Not 100% sure this is the right solution. … … 25322 25720 Yasuhiro Matsumoto, 2013 May 31. 25323 25721 Or should we add a more general mechanism, like lambda functions? 25324 @@ -94,6 +2 90,19 @@25722 @@ -94,6 +288,19 @@ 25325 25723 Problem caused by patch 7.3.638: window->open does not update window 25326 25724 correctly. Issue 91. … … 25342 25740 2013 Mar 19, later message) 25343 25741 25344 @@ -108,6 +31 7,8 @@25742 @@ -108,6 +315,8 @@ 25345 25743 Bug with 'cursorline' in diff mode. Line being scrolled into view gets 25346 25744 highlighted as the cursor line. (Alessandro Ivaldi, 2013 Jun 4) … … 25351 25749 May 17: with winlist() and tabpagelist(). 25352 25750 May 19: with local variables. 25353 @@ -119,6 +3 30,8 @@25751 @@ -119,6 +328,8 @@ 25354 25752 Patch from Christian Brabandt to make the "buffer" argument for ":sign place" 25355 25753 optional. (2013 Jul 12) … … 25360 25758 functions. (Christian Brabandt, 2013 May 8, update May 21) 25361 25759 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) 25366 25766 +Patch to have text objects defined by arbitrary single characters. (Daniel 25367 25767 +Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31) … … 25371 25771 +Patch to select the next or previous text object if there isn't one under the 25372 25772 +cursor. (Daniel Thau, 2013 Nov 20) 25373 + 25773 25374 25774 patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6) 25375 25775 … … 25380 25780 not correctly updated. (Paul Harris, 2012 Feb 27) 25381 25781 25382 @@ -167,8 +3 91,17 @@25782 @@ -167,8 +386,17 @@ 25383 25783 25384 25784 Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27) … … 25398 25798 Patch to add 'completeselect' option. Specifies how to select a candidate in 25399 25799 insert completion. (Shougo, 2013 May 29) 25400 @@ -182,9 +41 5,6 @@25800 @@ -182,9 +410,6 @@ 25401 25801 Win32: The Python interface only works with one version of Python, selected at 25402 25802 compile time. Can this be made to work with version 2.1 and 2.2 dynamically? … … 25408 25808 Vim script. Requires converting the arguments and return value, like with 25409 25809 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 @@ 25411 25821 Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012 25412 25822 Aug 16) … … 25419 25829 is confusing. Should say "the argument list is empty". 25420 25830 25421 @@ -272,8 +49 8,13 @@25831 @@ -272,8 +490,13 @@ 25422 25832 25423 25833 Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14) … … 25433 25843 Apr 18) 25434 25844 25435 @@ -286,13 +5 17,12 @@25845 @@ -286,13 +509,12 @@ 25436 25846 More recent version: https://retracile.net/wiki/VimBreakIndent 25437 25847 Posted to vim-dev by Taylor Hedberg, 2011 Nov 25 … … 25448 25858 25449 25859 Update for vim2html.pl. (Tyru, 2013 Feb 22) 25450 @@ -374,8 + 604,6 @@25860 @@ -374,8 +596,6 @@ 25451 25861 Setting $HOME on MS-Windows is not very well documented. Suggestion by Ben 25452 25862 Fritz (2011 Oct 27). … … 25457 25867 doing ":g/test/d". Putting every delete on the clipboard? (Robert Chan, 2011 25458 25868 Jun 17) 25459 @@ -396,7 +6 24,7 @@25869 @@ -396,7 +616,7 @@ 25460 25870 Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25) 25461 25871 … … 25466 25876 25467 25877 Patch for variable tabstops. 25468 @@ -419,6 +6 47,8 @@25878 @@ -419,6 +639,8 @@ 25469 25879 When setqflist() uses a filename that triggers a BufReadCmd autocommand Vim 25470 25880 doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18) … … 25475 25885 Patch from Christian Brabandt, 2011 Aug 19. 25476 25886 25477 @@ -456,6 +6 86,9 @@25887 @@ -456,6 +678,9 @@ 25478 25888 number, but it is in the sign column. Doesn't look right. (ZyX 2011 Jun 5) 25479 25889 Patch by Christian Brabandt, 2011 Jun 5. Introduces new problems. … … 25485 25895 Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9. 25486 25896 25487 @@ -556,7 +78 9,7 @@25897 @@ -556,7 +781,7 @@ 25488 25898 the system encoding (usually utf-8). 25489 25899 … … 25494 25904 Problem producing tags file when hebrew.frx is present. It has a BOM. 25495 25905 Results in E670. (Tony Mechelynck, 2010 May 2) 25496 @@ -573,8 + 806,7 @@25906 @@ -573,8 +798,7 @@ 25497 25907 25498 25908 getpos()/setpos() don't include curswant. getpos() could return a fifth … … 25504 25914 With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott, 25505 25915 2010 Oct 24) 25506 @@ -595,9 +8 27,6 @@25916 @@ -595,9 +819,6 @@ 25507 25917 checked to be in a comment. Implement FM_SKIPCOMM flag of findmatchlimit(). 25508 25918 Issue 46. … … 25514 25924 25515 25925 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 @@ 25517 25936 Writing nested List and Dict in viminfo gives error message and can't be read 25518 25937 back. (Yukihiro Nakadaira, 2010 Nov 13) … … 25525 25944 Additional info by Dominique Pelle. (also on 2010 Apr 10) 25526 25945 25527 @@ -759,6 +9 84,7 @@25946 @@ -759,6 +974,7 @@ 25528 25947 25529 25948 Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2) … … 25533 25952 Patch to add "focusonly" to 'scrollopt', so that scrollbind also applies in 25534 25953 window that doesn't have focus. (Jonathon Mah, 2009 Jan 12) 25535 @@ -838,8 +10 64,6 @@25954 @@ -838,8 +1054,6 @@ 25536 25955 Win32 GUI: last message from startup doesn't show up when there is an echoerr 25537 25956 command. (Cyril Slobin, 2009 Mar 13) … … 25542 25961 does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22) 25543 25962 25544 @@ -856,7 +10 80,7 @@25963 @@ -856,7 +1070,7 @@ 25545 25964 Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing 25546 25965 char 0x0301. (Tony Mechelynck, 2009 Mar 4) … … 25551 25970 Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish 25552 25971 messages, even though locale is not supported. But ":lang messages 25553 @@ -885,7 +1 109,7 @@25972 @@ -885,7 +1099,7 @@ 25554 25973 Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off. 25555 25974 (Henrik Ohman, 2009, Jan 29) … … 25560 25979 Use a different option or let it depend on whether 'shell' looks like a 25561 25980 unix-like shell? 25562 @@ -918,8 +11 42,6 @@25981 @@ -918,8 +1132,6 @@ 25563 25982 Add v:motion_force. (Kana Natsuno, 2008 Dec 6) 25564 25983 Maybe call it v:motiontype. … … 25569 25988 doesn't set 'ff' to "unix". (Ben Fritz, 2008 Dec 5) Reusing the old buffer 25570 25989 probably causes this. 25571 @@ -928,7 +11 50,7 @@25990 @@ -928,7 +1140,7 @@ 25572 25991 2009 Jan 16) 25573 25992 … … 25578 25997 Document that default font in Athena can be set with resources: 25579 25998 XtDefaultFont: "9x15" 25580 @@ -1296,14 +15 18,17 @@25999 @@ -1296,14 +1508,17 @@ 25581 26000 Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape() 25582 26001 only takes 'shellslash' into account. … … 25600 26019 2007 Jun 21) 25601 26020 25602 @@ -1459,6 +16 84,9 @@26021 @@ -1459,6 +1674,9 @@ 25603 26022 tree stops unexpectedly when using ":cd " and entering a directory that 25604 26023 doesn't contain other directories. … … 25610 26029 highlight Normal ctermbg=DarkGray 25611 26030 set background=dark 25612 @@ -1685,7 +19 13,7 @@26031 @@ -1685,7 +1903,7 @@ 25613 26032 - testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008 25614 26033 Sep 13) … … 25619 26038 Vissale Neang. (Martin Stubenschrott) Asked Vissale to make the scripts 25620 26039 more friendly for the Vim distribution. 25621 @@ -1715,7 +19 43,7 @@26040 @@ -1715,7 +1933,7 @@ 25622 26041 How does this work? Missing comments. 25623 26042 8 Add a few more command names to the menus. Patch from Jiri Brezina … … 25628 26047 - Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work 25629 26048 for multi-byte characters. 25630 @@ -1864,8 +20 92,6 @@26049 @@ -1864,8 +2082,6 @@ 25631 26050 Win32 GUI known bugs: 25632 26051 - Win32: tearoff menu window should have a scrollbar when it's taller than … … 25637 26056 file names. Can we load unicows.dll dynamically? 25638 26057 8 The -P argument doesn't work very well with many MDI applications. 25639 @@ -1873,9 +20 99,6 @@26058 @@ -1873,9 +2089,6 @@ 25640 26059 Tutorial: http://win32assembly.online.fr/tut32.html 25641 26060 8 In eval.c, io.h is included when MSWIN32 is defined. Shouldn't this be … … 25647 26066 of ":only" is highlighted like the cursor. (Lipelis) 25648 26067 8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide 25649 @@ -1887,9 +21 10,6 @@26068 @@ -1887,9 +2100,6 @@ 25650 26069 8 Use another default for 'termencoding': the active codepage. Means that 25651 26070 when 'encoding' is changed typing characters still works properly. … … 25657 26076 2004 May 9) 25658 26077 8 Win32: When clicking on the gvim title bar, which gives it focus, produces 25659 @@ -2272,8 +24 92,6 @@26078 @@ -2272,8 +2482,6 @@ 25660 26079 character. (Yasuhiro Matsumoto) It should return 1 when used on a tail 25661 26080 byte, like for utf-8. Store second byte of double-byte in ScreenLines2[] … … 25666 26085 ":insert" command, causing the following "endfunction" not to be found. 25667 26086 Add skipping this perl construction inside function definitions. 25668 @@ -2566,8 +27 84,6 @@26087 @@ -2566,8 +2774,6 @@ 25669 26088 input method called from GDK code. Without Perl it doesn't crash. 25670 26089 - VMS: Vimdiff doesn't work with the VMS diff, because the output looks … … 25675 26094 in Vim as if the rightmost scrollbar was used. 25676 26095 - GTK with Gnome: Produces an error message when starting up: 25677 @@ -2736,10 +29 52,6 @@26096 @@ -2736,10 +2942,6 @@ 25678 26097 25679 26098 … … 25686 26105 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777 25687 26106 - Unicode defines another quote character: 0x2019. Use it as an equivalent 25688 @@ -3153,6 +33 65,7 @@26107 @@ -3153,6 +3355,7 @@ 25689 26108 Built-in script language: 25690 26109 8 Make the filename and line number available to script functions, so that … … 25694 26113 restore option values. Especially useful for new options. Problem: how 25695 26114 to avoid a performance penalty (esp. for string options)? 25696 @@ -4035,8 +42 48,7 @@26115 @@ -4035,8 +4238,7 @@ 25697 26116 7 Use Tabs for the indent of starting lines, pad with spaces for 25698 26117 continuation lines. Allows changing 'tabstop' without messing up the … … 25704 26123 25705 26124 Java: 25706 @@ -4655,7 +48 67,7 @@26125 @@ -4655,7 +4857,7 @@ 25707 26126 25708 26127 Digraphs: … … 25713 26132 characters? 25714 26133 8 Add command to remove one or more (all) digraphs. (Brown) 25715 @@ -4852,6 +50 64,7 @@26134 @@ -4852,6 +5054,7 @@ 25716 26135 6 Add ":timer" command, to set a command to be executed at a certain 25717 26136 interval, or once after some time has elapsed. (Aaron) … … 25723 26142 diff -Naur vim74.orig/runtime/doc/undo.txt vim74/runtime/doc/undo.txt 25724 26143 --- vim74.orig/runtime/doc/undo.txt 2013-08-10 11:25:02.000000000 +0000 25725 +++ vim74/runtime/doc/undo.txt 2014-0 3-30 20:09:03.712696061+000026144 +++ vim74/runtime/doc/undo.txt 2014-04-27 05:20:57.391750620 +0000 25726 26145 @@ -1,4 +1,4 @@ 25727 26146 -*undo.txt* For Vim version 7.4. Last change: 2012 Mar 04 … … 25753 26172 diff -Naur vim74.orig/runtime/doc/usr_25.txt vim74/runtime/doc/usr_25.txt 25754 26173 --- vim74.orig/runtime/doc/usr_25.txt 2013-08-10 11:25:05.000000000 +0000 25755 +++ vim74/runtime/doc/usr_25.txt 2014-0 3-30 20:09:03.722696391+000026174 +++ vim74/runtime/doc/usr_25.txt 2014-04-27 05:20:57.401750869 +0000 25756 26175 @@ -86,7 +86,7 @@ 25757 26176 … … 25765 26184 diff -Naur vim74.orig/runtime/doc/usr_30.txt vim74/runtime/doc/usr_30.txt 25766 26185 --- vim74.orig/runtime/doc/usr_30.txt 2013-08-10 11:25:05.000000000 +0000 25767 +++ vim74/runtime/doc/usr_30.txt 2014-0 3-30 20:09:03.722696391+000026186 +++ vim74/runtime/doc/usr_30.txt 2014-04-27 05:20:57.405084285 +0000 25768 26187 @@ -128,7 +128,7 @@ 25769 26188 You can include special Vim keywords in the command specification. The % … … 25786 26205 diff -Naur vim74.orig/runtime/doc/usr_40.txt vim74/runtime/doc/usr_40.txt 25787 26206 --- vim74.orig/runtime/doc/usr_40.txt 2013-08-10 11:25:05.000000000 +0000 25788 +++ vim74/runtime/doc/usr_40.txt 2014-0 3-30 20:09:03.722696391+000026207 +++ vim74/runtime/doc/usr_40.txt 2014-04-27 05:20:57.408417700 +0000 25789 26208 @@ -209,7 +209,7 @@ 25790 26209 separates the two commands. This also means that a | character can't be used … … 25798 26217 diff -Naur vim74.orig/runtime/doc/usr_41.txt vim74/runtime/doc/usr_41.txt 25799 26218 --- vim74.orig/runtime/doc/usr_41.txt 2013-08-10 11:25:05.000000000 +0000 25800 +++ vim74/runtime/doc/usr_41.txt 2014-0 3-30 20:09:03.722696391+000026219 +++ vim74/runtime/doc/usr_41.txt 2014-04-27 05:20:57.408417700 +0000 25801 26220 @@ -1,4 +1,4 @@ 25802 26221 -*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 1026222 +*usr_41.txt* For Vim version 7.4. Last change: 2014 Apr 05 25804 26223 25805 26224 VIM USER MANUAL - by Bram Moolenaar … … 25866 26285 Working with text in the current buffer: *text-functions* 25867 26286 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 @@ 25869 26306 libcall() call a function in an external library 25870 26307 libcallnr() idem, returning a number … … 25891 26328 diff -Naur vim74.orig/runtime/doc/usr_42.txt vim74/runtime/doc/usr_42.txt 25892 26329 --- vim74.orig/runtime/doc/usr_42.txt 2013-08-10 11:25:05.000000000 +0000 25893 +++ vim74/runtime/doc/usr_42.txt 2014-0 3-30 20:09:03.722696391+000026330 +++ vim74/runtime/doc/usr_42.txt 2014-04-27 05:20:57.408417700 +0000 25894 26331 @@ -311,7 +311,7 @@ 25895 26332 item with a bitmap. For example, define a new toolbar item with: > … … 25903 26340 diff -Naur vim74.orig/runtime/doc/usr_45.txt vim74/runtime/doc/usr_45.txt 25904 26341 --- vim74.orig/runtime/doc/usr_45.txt 2013-08-10 11:25:06.000000000 +0000 25905 +++ vim74/runtime/doc/usr_45.txt 2014-0 3-30 20:09:03.729363277+000026342 +++ vim74/runtime/doc/usr_45.txt 2014-04-27 05:20:57.411751116 +0000 25906 26343 @@ -328,8 +328,8 @@ 25907 26344 *45.5* Entering language text … … 25917 26354 diff -Naur vim74.orig/runtime/doc/various.txt vim74/runtime/doc/various.txt 25918 26355 --- vim74.orig/runtime/doc/various.txt 2013-08-10 11:25:06.000000000 +0000 25919 +++ vim74/runtime/doc/various.txt 2014-0 3-30 20:09:03.732696720+000026356 +++ vim74/runtime/doc/various.txt 2014-04-27 05:20:57.411751116 +0000 25920 26357 @@ -1,4 +1,4 @@ 25921 26358 -*various.txt* For Vim version 7.4. Last change: 2013 May 18 25922 +*various.txt* For Vim version 7.4. Last change: 2014 Mar 2326359 +*various.txt* For Vim version 7.4. Last change: 2014 Apr 01 25923 26360 25924 26361 25925 26362 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 @@ 25927 26408 in the normal, big and huge versions of Vim. 25928 26409 … … 25932 26413 B *+arabic* |Arabic| language support 25933 26414 N *+autocmd* |:autocmd|, automatic commands 25934 @@ -417,7 +4 18,7 @@26415 @@ -417,7 +434,7 @@ 25935 26416 N *+viminfo* |'viminfo'| 25936 26417 N *+vertsplit* Vertically split windows |:vsplit| … … 25941 26422 N *+vreplace* |gR| and |gr| 25942 26423 N *+wildignore* |'wildignore'| 25943 @@ -426,6 +4 27,7 @@26424 @@ -426,6 +443,7 @@ 25944 26425 m *+writebackup* |'writebackup'| is default on 25945 26426 m *+xim* X input method |xim| … … 25951 26432 diff -Naur vim74.orig/runtime/doc/version5.txt vim74/runtime/doc/version5.txt 25952 26433 --- vim74.orig/runtime/doc/version5.txt 2013-08-10 11:25:07.000000000 +0000 25953 +++ vim74/runtime/doc/version5.txt 2014-0 3-30 20:09:03.739363606+000026434 +++ vim74/runtime/doc/version5.txt 2014-04-27 05:20:57.415084533 +0000 25954 26435 @@ -2020,7 +2020,7 @@ 25955 26436 … … 25963 26444 diff -Naur vim74.orig/runtime/doc/version7.txt vim74/runtime/doc/version7.txt 25964 26445 --- vim74.orig/runtime/doc/version7.txt 2013-08-10 12:23:06.000000000 +0000 25965 +++ vim74/runtime/doc/version7.txt 2014-0 3-30 20:09:03.752697379+000026446 +++ vim74/runtime/doc/version7.txt 2014-04-27 05:20:57.428418198 +0000 25966 26447 @@ -1,4 +1,4 @@ 25967 26448 -*version7.txt* For Vim version 7.4. Last change: 2013 Aug 10 … … 26007 26488 diff -Naur vim74.orig/runtime/doc/vi_diff.txt vim74/runtime/doc/vi_diff.txt 26008 26489 --- vim74.orig/runtime/doc/vi_diff.txt 2013-08-10 11:25:07.000000000 +0000 26009 +++ vim74/runtime/doc/vi_diff.txt 2014-0 3-30 20:09:03.752697379+000026490 +++ vim74/runtime/doc/vi_diff.txt 2014-04-27 05:20:57.428418198 +0000 26010 26491 @@ -1,4 +1,4 @@ 26011 26492 -*vi_diff.txt* For Vim version 7.4. Last change: 2012 Aug 08 … … 26034 26515 diff -Naur vim74.orig/runtime/doc/visual.txt vim74/runtime/doc/visual.txt 26035 26516 --- vim74.orig/runtime/doc/visual.txt 2013-08-10 11:25:08.000000000 +0000 26036 +++ vim74/runtime/doc/visual.txt 2014-0 3-30 20:09:03.769364594+000026517 +++ vim74/runtime/doc/visual.txt 2014-04-27 05:20:57.448418693 +0000 26037 26518 @@ -1,4 +1,4 @@ 26038 26519 -*visual.txt* For Vim version 7.4. Last change: 2012 Aug 15 … … 26065 26546 diff -Naur vim74.orig/runtime/doc/windows.txt vim74/runtime/doc/windows.txt 26066 26547 --- vim74.orig/runtime/doc/windows.txt 2013-08-10 11:25:08.000000000 +0000 26067 +++ vim74/runtime/doc/windows.txt 2014-0 3-30 20:09:03.769364594+000026548 +++ vim74/runtime/doc/windows.txt 2014-04-27 05:20:57.448418693 +0000 26068 26549 @@ -1,4 +1,4 @@ 26069 26550 -*windows.txt* For Vim version 7.4. Last change: 2012 Nov 15 … … 26101 26582 diff -Naur vim74.orig/runtime/filetype.vim vim74/runtime/filetype.vim 26102 26583 --- vim74.orig/runtime/filetype.vim 2013-08-03 15:50:05.000000000 +0000 26103 +++ vim74/runtime/filetype.vim 2014-0 3-30 20:09:03.776031480+000026584 +++ vim74/runtime/filetype.vim 2014-04-27 05:20:57.455085527 +0000 26104 26585 @@ -1,7 +1,7 @@ 26105 26586 " Vim support file to detect file types … … 26283 26764 diff -Naur vim74.orig/runtime/ftplugin/changelog.vim vim74/runtime/ftplugin/changelog.vim 26284 26765 --- vim74.orig/runtime/ftplugin/changelog.vim 2012-08-23 20:47:22.000000000 +0000 26285 +++ vim74/runtime/ftplugin/changelog.vim 2014-0 3-30 20:09:03.786031809+000026766 +++ vim74/runtime/ftplugin/changelog.vim 2014-04-27 05:20:57.465085774 +0000 26286 26767 @@ -1,7 +1,7 @@ 26287 26768 " Vim filetype plugin file … … 26398 26879 diff -Naur vim74.orig/runtime/ftplugin/clojure.vim vim74/runtime/ftplugin/clojure.vim 26399 26880 --- vim74.orig/runtime/ftplugin/clojure.vim 2013-02-06 14:35:23.000000000 +0000 26400 +++ vim74/runtime/ftplugin/clojure.vim 2014-0 3-30 20:09:03.786031809+000026881 +++ vim74/runtime/ftplugin/clojure.vim 2014-04-27 05:20:57.465085774 +0000 26401 26882 @@ -1,44 +1,60 @@ 26402 26883 " Vim filetype plugin file … … 26530 27011 diff -Naur vim74.orig/runtime/ftplugin/cobol.vim vim74/runtime/ftplugin/cobol.vim 26531 27012 --- vim74.orig/runtime/ftplugin/cobol.vim 2010-05-15 11:04:03.000000000 +0000 26532 +++ vim74/runtime/ftplugin/cobol.vim 2014-0 3-30 20:09:03.786031809+000027013 +++ vim74/runtime/ftplugin/cobol.vim 2014-04-27 05:20:57.465085774 +0000 26533 27014 @@ -1,7 +1,7 @@ 26534 27015 " Vim filetype plugin file … … 26579 27060 diff -Naur vim74.orig/runtime/ftplugin/debchangelog.vim vim74/runtime/ftplugin/debchangelog.vim 26580 27061 --- vim74.orig/runtime/ftplugin/debchangelog.vim 2012-02-04 19:59:23.000000000 +0000 26581 +++ vim74/runtime/ftplugin/debchangelog.vim 2014-0 3-30 20:09:03.789365252+000027062 +++ vim74/runtime/ftplugin/debchangelog.vim 2014-04-27 05:20:57.471752607 +0000 26582 27063 @@ -3,7 +3,7 @@ 26583 27064 " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> … … 26600 27081 diff -Naur vim74.orig/runtime/ftplugin/fortran.vim vim74/runtime/ftplugin/fortran.vim 26601 27082 --- vim74.orig/runtime/ftplugin/fortran.vim 2012-04-18 07:32:40.000000000 +0000 26602 +++ vim74/runtime/ftplugin/fortran.vim 2014-0 3-30 20:09:03.796032139 +000027083 +++ vim74/runtime/ftplugin/fortran.vim 2014-04-27 05:20:57.478419439 +0000 26603 27084 @@ -1,12 +1,12 @@ 26604 27085 " Vim settings file … … 26652 27133 diff -Naur vim74.orig/runtime/ftplugin/j.vim vim74/runtime/ftplugin/j.vim 26653 27134 --- vim74.orig/runtime/ftplugin/j.vim 1970-01-01 00:00:00.000000000 +0000 26654 +++ vim74/runtime/ftplugin/j.vim 2014-0 3-30 20:09:03.802699025+000026655 @@ -0,0 +1, 19@@27135 +++ vim74/runtime/ftplugin/j.vim 2014-04-27 05:20:57.485086272 +0000 27136 @@ -0,0 +1,75 @@ 26656 27137 +" Vim filetype plugin 26657 27138 +" Language: J 26658 27139 +" Maintainer: David BÃŒrgin <676c7473@gmail.com> 26659 27140 +" URL: https://github.com/glts/vim-j 26660 +" Last Change: 2014-0 3-1727141 +" Last Change: 2014-04-05 26661 27142 + 26662 27143 +if exists('b:did_ftplugin') … … 26665 27146 +let b:did_ftplugin = 1 26666 27147 + 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 26668 27152 +setlocal comments=:NB. 26669 27153 +setlocal commentstring=NB.\ %s … … 26673 27157 + 26674 27158 +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 26675 27212 diff -Naur vim74.orig/runtime/ftplugin/jproperties.vim vim74/runtime/ftplugin/jproperties.vim 26676 27213 --- vim74.orig/runtime/ftplugin/jproperties.vim 1970-01-01 00:00:00.000000000 +0000 26677 +++ vim74/runtime/ftplugin/jproperties.vim 2014-0 3-30 20:09:03.802699025+000027214 +++ vim74/runtime/ftplugin/jproperties.vim 2014-04-27 05:20:57.488419688 +0000 26678 27215 @@ -0,0 +1,15 @@ 26679 27216 +" Vim filetype plugin … … 26694 27231 diff -Naur vim74.orig/runtime/ftplugin/lisp.vim vim74/runtime/ftplugin/lisp.vim 26695 27232 --- vim74.orig/runtime/ftplugin/lisp.vim 2013-02-13 11:35:55.000000000 +0000 26696 +++ vim74/runtime/ftplugin/lisp.vim 2014-0 3-30 20:09:03.809365911+000027233 +++ vim74/runtime/ftplugin/lisp.vim 2014-04-27 05:20:57.491753103 +0000 26697 27234 @@ -4,7 +4,7 @@ 26698 27235 " URL: http://sites.google.com/site/khorser/opensource/vim … … 26716 27253 diff -Naur vim74.orig/runtime/ftplugin/python.vim vim74/runtime/ftplugin/python.vim 26717 27254 --- vim74.orig/runtime/ftplugin/python.vim 2012-04-30 11:49:26.000000000 +0000 26718 +++ vim74/runtime/ftplugin/python.vim 2014-0 3-30 20:09:03.829366570+000027255 +++ vim74/runtime/ftplugin/python.vim 2014-04-27 05:20:57.508420184 +0000 26719 27256 @@ -1,7 +1,8 @@ 26720 27257 " Vim filetype plugin file … … 26799 27336 diff -Naur vim74.orig/runtime/ftplugin/registry.vim vim74/runtime/ftplugin/registry.vim 26800 27337 --- vim74.orig/runtime/ftplugin/registry.vim 1970-01-01 00:00:00.000000000 +0000 26801 +++ vim74/runtime/ftplugin/registry.vim 2014-0 3-30 20:09:03.829366570 +000027338 +++ vim74/runtime/ftplugin/registry.vim 2014-04-27 05:20:57.511753600 +0000 26802 27339 @@ -0,0 +1,36 @@ 26803 27340 +" Vim filetype plugin file … … 26839 27376 diff -Naur vim74.orig/runtime/ftplugin/scheme.vim vim74/runtime/ftplugin/scheme.vim 26840 27377 --- vim74.orig/runtime/ftplugin/scheme.vim 2013-02-13 11:35:55.000000000 +0000 26841 +++ vim74/runtime/ftplugin/scheme.vim 2014-0 3-30 20:09:03.832700013+000027378 +++ vim74/runtime/ftplugin/scheme.vim 2014-04-27 05:20:57.515087016 +0000 26842 27379 @@ -4,7 +4,7 @@ 26843 27380 " URL: http://sites.google.com/site/khorser/opensource/vim … … 26862 27399 diff -Naur vim74.orig/runtime/ftplugin/spec.vim vim74/runtime/ftplugin/spec.vim 26863 27400 --- vim74.orig/runtime/ftplugin/spec.vim 2012-03-07 12:16:03.000000000 +0000 26864 +++ vim74/runtime/ftplugin/spec.vim 2014-0 3-30 20:09:03.836033456+000027401 +++ vim74/runtime/ftplugin/spec.vim 2014-04-27 05:20:57.518420433 +0000 26865 27402 @@ -1,7 +1,8 @@ 26866 27403 " Plugin to update the %changelog section of RPM spec files … … 26887 27424 diff -Naur vim74.orig/runtime/ftplugin/systemverilog.vim vim74/runtime/ftplugin/systemverilog.vim 26888 27425 --- vim74.orig/runtime/ftplugin/systemverilog.vim 1970-01-01 00:00:00.000000000 +0000 26889 +++ vim74/runtime/ftplugin/systemverilog.vim 2014-0 3-30 20:09:03.839366898+000027426 +++ vim74/runtime/ftplugin/systemverilog.vim 2014-04-27 05:20:57.521753849 +0000 26890 27427 @@ -0,0 +1,11 @@ 26891 27428 +" Vim filetype plugin file … … 26902 27439 diff -Naur vim74.orig/runtime/indent/clojure.vim vim74/runtime/indent/clojure.vim 26903 27440 --- vim74.orig/runtime/indent/clojure.vim 2013-02-06 14:35:23.000000000 +0000 26904 +++ vim74/runtime/indent/clojure.vim 2014-0 3-30 20:09:03.862701001+000027441 +++ vim74/runtime/indent/clojure.vim 2014-04-27 05:20:57.541754345 +0000 26905 27442 @@ -1,23 +1,27 @@ 26906 27443 " Vim indent file … … 27595 28132 diff -Naur vim74.orig/runtime/indent/j.vim vim74/runtime/indent/j.vim 27596 28133 --- vim74.orig/runtime/indent/j.vim 1970-01-01 00:00:00.000000000 +0000 27597 +++ vim74/runtime/indent/j.vim 2014-0 3-30 20:09:03.876034773+000027598 @@ -0,0 +1, 38@@28134 +++ vim74/runtime/indent/j.vim 2014-04-27 05:20:57.555088009 +0000 28135 @@ -0,0 +1,50 @@ 27599 28136 +" Vim indent file 27600 28137 +" Language: J 27601 28138 +" Maintainer: David BÃŒrgin <676c7473@gmail.com> 27602 28139 +" URL: https://github.com/glts/vim-j 27603 +" Last Change: 2014-0 3-1728140 +" Last Change: 2014-04-05 27604 28141 + 27605 28142 +if exists('b:did_indent') … … 27609 28146 + 27610 28147 +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. 27613 28150 + 27614 28151 +let b:undo_indent = 'setlocal indentkeys< indentexpr<' … … 27618 28155 +endif 27619 28156 + 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 27621 28164 + let prevlnum = prevnonblank(v:lnum-1) 27622 28165 + if prevlnum == 0 27623 28166 + return 0 27624 28167 + endif 27625 +27626 28168 + 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() 27631 28178 + 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\)\.\)' 27633 28182 + let indent -= shiftwidth() 27634 28183 + endif … … 27637 28186 diff -Naur vim74.orig/runtime/indent/php.vim vim74/runtime/indent/php.vim 27638 28187 --- vim74.orig/runtime/indent/php.vim 2013-08-07 09:36:56.000000000 +0000 27639 +++ vim74/runtime/indent/php.vim 2014-0 3-30 20:09:03.886035102+000028188 +++ vim74/runtime/indent/php.vim 2014-04-27 05:20:57.565088257 +0000 27640 28189 @@ -3,7 +3,7 @@ 27641 28190 " Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr> … … 27658 28207 diff -Naur vim74.orig/runtime/indent/sh.vim vim74/runtime/indent/sh.vim 27659 28208 --- vim74.orig/runtime/indent/sh.vim 2010-05-15 11:03:29.000000000 +0000 27660 +++ vim74/runtime/indent/sh.vim 2014-0 3-30 20:09:03.892701988+000028209 +++ vim74/runtime/indent/sh.vim 2014-04-27 05:20:57.571755091 +0000 27661 28210 @@ -1,7 +1,8 @@ 27662 28211 " Vim indent file … … 27695 28244 diff -Naur vim74.orig/runtime/indent/systemverilog.vim vim74/runtime/indent/systemverilog.vim 27696 28245 --- vim74.orig/runtime/indent/systemverilog.vim 1970-01-01 00:00:00.000000000 +0000 27697 +++ vim74/runtime/indent/systemverilog.vim 2014-0 3-30 20:09:03.892701988+000028246 +++ vim74/runtime/indent/systemverilog.vim 2014-04-27 05:20:57.571755091 +0000 27698 28247 @@ -0,0 +1,230 @@ 27699 28248 +" Vim indent file … … 27929 28478 diff -Naur vim74.orig/runtime/optwin.vim vim74/runtime/optwin.vim 27930 28479 --- 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 27932 28490 @@ -855,7 +855,7 @@ 27933 28491 call append("$", "\t(local to buffer)") … … 27935 28493 call append("$", "lispwords\twords that change how lisp indenting works") 27936 28494 - call <SID>OptionG("lw", &lw) 27937 + call <SID>OptionL("lw" , &lw)28495 + call <SID>OptionL("lw") 27938 28496 endif 27939 28497 … … 27941 28499 diff -Naur vim74.orig/runtime/plugin/getscriptPlugin.vim vim74/runtime/plugin/getscriptPlugin.vim 27942 28500 --- vim74.orig/runtime/plugin/getscriptPlugin.vim 2013-04-17 13:40:44.000000000 +0000 27943 +++ vim74/runtime/plugin/getscriptPlugin.vim 2014-0 3-30 20:09:03.996038723+000028501 +++ vim74/runtime/plugin/getscriptPlugin.vim 2014-04-27 05:20:57.678424406 +0000 27944 28502 @@ -1,7 +1,7 @@ 27945 28503 " --------------------------------------------------------------------- … … 27972 28530 diff -Naur vim74.orig/runtime/plugin/netrwPlugin.vim vim74/runtime/plugin/netrwPlugin.vim 27973 28531 --- vim74.orig/runtime/plugin/netrwPlugin.vim 2013-05-19 03:28:33.000000000 +0000 27974 +++ vim74/runtime/plugin/netrwPlugin.vim 2014-0 3-30 20:09:03.999372167+000028532 +++ vim74/runtime/plugin/netrwPlugin.vim 2014-04-27 05:20:57.681757821 +0000 27975 28533 @@ -1,9 +1,9 @@ 27976 28534 " netrwPlugin.vim: Handles file transfer and remote directory listing across a network … … 28156 28714 diff -Naur vim74.orig/runtime/syntax/a65.vim vim74/runtime/syntax/a65.vim 28157 28715 --- vim74.orig/runtime/syntax/a65.vim 2010-05-15 11:03:57.000000000 +0000 28158 +++ vim74/runtime/syntax/a65.vim 2014-0 3-30 20:09:04.142710219+000028716 +++ vim74/runtime/syntax/a65.vim 2014-04-27 05:20:57.818427882 +0000 28159 28717 @@ -1,7 +1,7 @@ 28160 28718 " Vim syntax file … … 28169 28727 diff -Naur vim74.orig/runtime/syntax/apache.vim vim74/runtime/syntax/apache.vim 28170 28728 --- vim74.orig/runtime/syntax/apache.vim 2010-05-15 11:03:57.000000000 +0000 28171 +++ vim74/runtime/syntax/apache.vim 2014-0 3-30 20:09:04.149377105+000028729 +++ vim74/runtime/syntax/apache.vim 2014-04-27 05:20:57.825094716 +0000 28172 28730 @@ -1,11 +1,9 @@ 28173 28731 " Vim syntax file … … 28207 28765 diff -Naur vim74.orig/runtime/syntax/arduino.vim vim74/runtime/syntax/arduino.vim 28208 28766 --- vim74.orig/runtime/syntax/arduino.vim 1970-01-01 00:00:00.000000000 +0000 28209 +++ vim74/runtime/syntax/arduino.vim 2014-0 3-30 20:09:04.149377105+000028767 +++ vim74/runtime/syntax/arduino.vim 2014-04-27 05:20:57.825094716 +0000 28210 28768 @@ -0,0 +1,61 @@ 28211 28769 +" Vim syntax file … … 28272 28830 diff -Naur vim74.orig/runtime/syntax/asm.vim vim74/runtime/syntax/asm.vim 28273 28831 --- vim74.orig/runtime/syntax/asm.vim 2012-04-09 19:37:34.000000000 +0000 28274 +++ vim74/runtime/syntax/asm.vim 2014-0 3-30 20:09:04.149377105+000028832 +++ vim74/runtime/syntax/asm.vim 2014-04-27 05:20:57.825094716 +0000 28275 28833 @@ -3,7 +3,7 @@ 28276 28834 " Maintainer: Erik Wognsen <erik.wognsen@gmail.com> … … 28297 28855 diff -Naur vim74.orig/runtime/syntax/bib.vim vim74/runtime/syntax/bib.vim 28298 28856 --- vim74.orig/runtime/syntax/bib.vim 2011-12-30 11:30:00.000000000 +0000 28299 +++ vim74/runtime/syntax/bib.vim 2014-0 3-30 20:09:04.159377435+000028857 +++ vim74/runtime/syntax/bib.vim 2014-04-27 05:20:57.835094963 +0000 28300 28858 @@ -2,7 +2,7 @@ 28301 28859 " Language: BibTeX (bibliographic database format for (La)TeX) … … 28318 28876 diff -Naur vim74.orig/runtime/syntax/clean.vim vim74/runtime/syntax/clean.vim 28319 28877 --- vim74.orig/runtime/syntax/clean.vim 2013-06-19 19:34:33.000000000 +0000 28320 +++ vim74/runtime/syntax/clean.vim 2014-0 3-30 20:09:04.169377763+000028878 +++ vim74/runtime/syntax/clean.vim 2014-04-27 05:20:57.841761796 +0000 28321 28879 @@ -2,7 +2,7 @@ 28322 28880 " Language: Clean … … 28380 28938 diff -Naur vim74.orig/runtime/syntax/clojure.vim vim74/runtime/syntax/clojure.vim 28381 28939 --- vim74.orig/runtime/syntax/clojure.vim 2013-02-06 14:35:23.000000000 +0000 28382 +++ vim74/runtime/syntax/clojure.vim 2014-0 3-30 20:09:04.172711207+000028940 +++ vim74/runtime/syntax/clojure.vim 2014-04-27 05:20:57.845095211 +0000 28383 28941 @@ -1,34 +1,37 @@ 28384 28942 " Vim syntax file … … 28648 29206 diff -Naur vim74.orig/runtime/syntax/css.vim vim74/runtime/syntax/css.vim 28649 29207 --- vim74.orig/runtime/syntax/css.vim 2013-07-23 19:08:29.000000000 +0000 28650 +++ vim74/runtime/syntax/css.vim 2014-0 3-30 20:09:04.176044650+000029208 +++ vim74/runtime/syntax/css.vim 2014-04-27 05:20:57.851762044 +0000 28651 29209 @@ -6,7 +6,7 @@ 28652 29210 " Nikolai Weibull (Add CSS2 support) … … 29401 29959 diff -Naur vim74.orig/runtime/syntax/d.vim vim74/runtime/syntax/d.vim 29402 29960 --- vim74.orig/runtime/syntax/d.vim 2013-05-23 20:52:24.000000000 +0000 29403 +++ vim74/runtime/syntax/d.vim 2014-0 3-30 20:09:04.182711537+000029961 +++ vim74/runtime/syntax/d.vim 2014-04-27 05:20:57.855095460 +0000 29404 29962 @@ -2,8 +2,8 @@ 29405 29963 " … … 29494 30052 diff -Naur vim74.orig/runtime/syntax/datascript.vim vim74/runtime/syntax/datascript.vim 29495 30053 --- vim74.orig/runtime/syntax/datascript.vim 2012-04-30 10:59:58.000000000 +0000 29496 +++ vim74/runtime/syntax/datascript.vim 2014-0 3-30 20:09:04.182711537+000030054 +++ vim74/runtime/syntax/datascript.vim 2014-04-27 05:20:57.855095460 +0000 29497 30055 @@ -1,7 +1,7 @@ 29498 30056 " Vim syntax file … … 29543 30101 diff -Naur vim74.orig/runtime/syntax/debchangelog.vim vim74/runtime/syntax/debchangelog.vim 29544 30102 --- vim74.orig/runtime/syntax/debchangelog.vim 2013-05-17 15:25:15.000000000 +0000 29545 +++ vim74/runtime/syntax/debchangelog.vim 2014-0 3-30 20:09:04.182711537+000030103 +++ vim74/runtime/syntax/debchangelog.vim 2014-04-27 05:20:57.855095460 +0000 29546 30104 @@ -3,7 +3,7 @@ 29547 30105 " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> … … 29564 30122 diff -Naur vim74.orig/runtime/syntax/debcontrol.vim vim74/runtime/syntax/debcontrol.vim 29565 30123 --- vim74.orig/runtime/syntax/debcontrol.vim 2013-05-21 10:54:11.000000000 +0000 29566 +++ vim74/runtime/syntax/debcontrol.vim 2014-0 3-30 20:09:04.182711537+000030124 +++ vim74/runtime/syntax/debcontrol.vim 2014-04-27 05:20:57.858428875 +0000 29567 30125 @@ -3,7 +3,7 @@ 29568 30126 " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> … … 29585 30143 diff -Naur vim74.orig/runtime/syntax/debsources.vim vim74/runtime/syntax/debsources.vim 29586 30144 --- vim74.orig/runtime/syntax/debsources.vim 2013-05-17 15:25:15.000000000 +0000 29587 +++ vim74/runtime/syntax/debsources.vim 2014-0 3-30 20:09:04.182711537+000030145 +++ vim74/runtime/syntax/debsources.vim 2014-04-27 05:20:57.858428875 +0000 29588 30146 @@ -2,7 +2,7 @@ 29589 30147 " Language: Debian sources.list … … 29606 30164 diff -Naur vim74.orig/runtime/syntax/diff.vim vim74/runtime/syntax/diff.vim 29607 30165 --- vim74.orig/runtime/syntax/diff.vim 2013-07-24 09:47:50.000000000 +0000 29608 +++ vim74/runtime/syntax/diff.vim 2014-0 3-30 20:09:04.186044980+000030166 +++ vim74/runtime/syntax/diff.vim 2014-04-27 05:20:57.858428875 +0000 29609 30167 @@ -2,7 +2,7 @@ 29610 30168 " Language: Diff (context or unified) … … 29627 30185 diff -Naur vim74.orig/runtime/syntax/dircolors.vim vim74/runtime/syntax/dircolors.vim 29628 30186 --- vim74.orig/runtime/syntax/dircolors.vim 2012-04-25 09:42:39.000000000 +0000 29629 +++ vim74/runtime/syntax/dircolors.vim 2014-0 3-30 20:09:04.186044980+000030187 +++ vim74/runtime/syntax/dircolors.vim 2014-04-27 05:20:57.861762292 +0000 29630 30188 @@ -1,751 +1,213 @@ 29631 30189 " Vim syntax file … … 30574 31132 diff -Naur vim74.orig/runtime/syntax/dnsmasq.vim vim74/runtime/syntax/dnsmasq.vim 30575 31133 --- vim74.orig/runtime/syntax/dnsmasq.vim 2012-05-19 12:57:09.000000000 +0000 30576 +++ vim74/runtime/syntax/dnsmasq.vim 2014-0 3-30 20:09:04.186044980+000031134 +++ vim74/runtime/syntax/dnsmasq.vim 2014-04-27 05:20:57.861762292 +0000 30577 31135 @@ -1,26 +1,19 @@ 30578 31136 " Vim syntax file … … 30700 31258 diff -Naur vim74.orig/runtime/syntax/dts.vim vim74/runtime/syntax/dts.vim 30701 31259 --- vim74.orig/runtime/syntax/dts.vim 2013-04-05 14:25:40.000000000 +0000 30702 +++ vim74/runtime/syntax/dts.vim 2014-0 3-30 20:09:04.192711865 +000031260 +++ vim74/runtime/syntax/dts.vim 2014-04-27 05:20:57.868429125 +0000 30703 31261 @@ -1,7 +1,7 @@ 30704 31262 " Vim syntax file … … 30731 31289 diff -Naur vim74.orig/runtime/syntax/euphoria3.vim vim74/runtime/syntax/euphoria3.vim 30732 31290 --- vim74.orig/runtime/syntax/euphoria3.vim 1970-01-01 00:00:00.000000000 +0000 30733 +++ vim74/runtime/syntax/euphoria3.vim 2014-0 3-30 20:09:04.202712195+000031291 +++ vim74/runtime/syntax/euphoria3.vim 2014-04-27 05:20:57.875095957 +0000 30734 31292 @@ -0,0 +1,135 @@ 30735 31293 +" Vim syntax file … … 30870 31428 diff -Naur vim74.orig/runtime/syntax/euphoria4.vim vim74/runtime/syntax/euphoria4.vim 30871 31429 --- vim74.orig/runtime/syntax/euphoria4.vim 1970-01-01 00:00:00.000000000 +0000 30872 +++ vim74/runtime/syntax/euphoria4.vim 2014-0 3-30 20:09:04.202712195+000031430 +++ vim74/runtime/syntax/euphoria4.vim 2014-04-27 05:20:57.875095957 +0000 30873 31431 @@ -0,0 +1,247 @@ 30874 31432 +" Vim syntax file … … 31121 31679 diff -Naur vim74.orig/runtime/syntax/help.vim vim74/runtime/syntax/help.vim 31122 31680 --- vim74.orig/runtime/syntax/help.vim 2013-07-07 11:27:18.000000000 +0000 31123 +++ vim74/runtime/syntax/help.vim 2014-0 3-30 20:09:04.226046296+000031681 +++ vim74/runtime/syntax/help.vim 2014-04-27 05:20:57.895096453 +0000 31124 31682 @@ -1,7 +1,7 @@ 31125 31683 " Vim syntax file … … 31164 31722 diff -Naur vim74.orig/runtime/syntax/j.vim vim74/runtime/syntax/j.vim 31165 31723 --- vim74.orig/runtime/syntax/j.vim 1970-01-01 00:00:00.000000000 +0000 31166 +++ vim74/runtime/syntax/j.vim 2014-0 3-30 20:09:04.239380069+000031167 @@ -0,0 +1, 63@@31724 +++ vim74/runtime/syntax/j.vim 2014-04-27 05:20:57.905096702 +0000 31725 @@ -0,0 +1,134 @@ 31168 31726 +" Vim syntax file 31169 31727 +" Language: J 31170 31728 +" Maintainer: David BÃŒrgin <676c7473@gmail.com> 31171 31729 +" URL: https://github.com/glts/vim-j 31172 +" Last Change: 2014-0 3-1731730 +" Last Change: 2014-04-05 31173 31731 + 31174 31732 +if exists('b:current_syntax') … … 31176 31734 +endif 31177 31735 + 31736 +let s:save_cpo = &cpo 31737 +set cpo&vim 31738 + 31178 31739 +syntax case match 31179 31740 +syntax sync minlines=50 31180 31741 + 31742 +syntax cluster jStdlibItems contains=jStdlibNoun,jStdlibAdverb,jStdlibConjunction,jStdlibVerb 31743 +syntax cluster jPrimitiveItems contains=jNoun,jAdverb,jConjunction,jVerb,jCopula 31744 + 31181 31745 +syntax match jControl /\<\%(assert\|break\|case\|catch[dt]\=\|continue\|do\|else\%(if\)\=\|end\|fcase\|for\|if\|return\|select\|throw\|try\|whil\%(e\|st\)\)\./ 31182 31746 +syntax match jControl /\<\%(for\|goto\|label\)_\a\k*\./ 31183 31747 + 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: 31197 31760 +" 31198 31761 +" BASE := /_?\d+(\.\d*)?([eE]_?\d+)?/ … … 31211 31774 +syntax match jNumber /\<_\=\d\+\%([eE]\d\+\)\=b_\=[0-9a-z]\+/ 31212 31775 +syntax match jNumber /\<__\=\>/ 31776 +syntax match jNumber /\<_\./ 31213 31777 +syntax match jNumber /\<_\=\d\+x\>/ 31214 31778 + 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 31216 31828 +syntax match jComment /NB\..*$/ contains=jTodo,@Spell 31829 + 31217 31830 +syntax match jSharpBang /\%^#!.*$/ 31218 31831 + 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 31229 31855 + 31230 31856 +let b:current_syntax = 'j' 31857 + 31858 +let &cpo = s:save_cpo 31859 +unlet s:save_cpo 31231 31860 diff -Naur vim74.orig/runtime/syntax/mail.vim vim74/runtime/syntax/mail.vim 31232 31861 --- vim74.orig/runtime/syntax/mail.vim 2013-07-15 21:28:26.000000000 +0000 31233 +++ vim74/runtime/syntax/mail.vim 2014-0 3-30 20:09:04.256047284+000031862 +++ vim74/runtime/syntax/mail.vim 2014-04-27 05:20:57.925097198 +0000 31234 31863 @@ -2,7 +2,7 @@ 31235 31864 " Language: Mail file … … 31252 31881 diff -Naur vim74.orig/runtime/syntax/masm.vim vim74/runtime/syntax/masm.vim 31253 31882 --- vim74.orig/runtime/syntax/masm.vim 2012-02-04 19:24:10.000000000 +0000 31254 +++ vim74/runtime/syntax/masm.vim 2014-0 3-30 20:09:04.262714170+000031883 +++ vim74/runtime/syntax/masm.vim 2014-04-27 05:20:57.928430615 +0000 31255 31884 @@ -2,14 +2,11 @@ 31256 31885 " Language: Microsoft Macro Assembler (80x86) … … 31391 32020 diff -Naur vim74.orig/runtime/syntax/mix.vim vim74/runtime/syntax/mix.vim 31392 32021 --- vim74.orig/runtime/syntax/mix.vim 1970-01-01 00:00:00.000000000 +0000 31393 +++ vim74/runtime/syntax/mix.vim 2014-0 3-30 20:09:04.266047614+000032022 +++ vim74/runtime/syntax/mix.vim 2014-04-27 05:20:57.931764031 +0000 31394 32023 @@ -0,0 +1,83 @@ 31395 32024 +" Vim syntax file … … 31478 32107 diff -Naur vim74.orig/runtime/syntax/netrw.vim vim74/runtime/syntax/netrw.vim 31479 32108 --- vim74.orig/runtime/syntax/netrw.vim 2013-02-25 17:23:59.000000000 +0000 31480 +++ vim74/runtime/syntax/netrw.vim 2014-0 3-30 20:09:04.276047943+000032109 +++ vim74/runtime/syntax/netrw.vim 2014-04-27 05:20:57.945097695 +0000 31481 32110 @@ -1,7 +1,7 @@ 31482 32111 " Language : Netrw Remote-Directory Listing Syntax … … 31526 32155 diff -Naur vim74.orig/runtime/syntax/php.vim vim74/runtime/syntax/php.vim 31527 32156 --- vim74.orig/runtime/syntax/php.vim 2012-12-11 20:15:31.000000000 +0000 31528 +++ vim74/runtime/syntax/php.vim 2014-0 3-30 20:09:04.296048601+000032157 +++ vim74/runtime/syntax/php.vim 2014-04-27 05:20:57.955097944 +0000 31529 32158 @@ -1,7 +1,7 @@ 31530 32159 " Vim syntax file … … 31567 32196 diff -Naur vim74.orig/runtime/syntax/rst.vim vim74/runtime/syntax/rst.vim 31568 32197 --- vim74.orig/runtime/syntax/rst.vim 2013-06-04 14:41:25.000000000 +0000 31569 +++ vim74/runtime/syntax/rst.vim 2014-0 3-30 20:09:04.316049260+000032198 +++ vim74/runtime/syntax/rst.vim 2014-04-27 05:20:57.975098441 +0000 31570 32199 @@ -1,7 +1,7 @@ 31571 32200 " Vim syntax file … … 31588 32217 diff -Naur vim74.orig/runtime/syntax/sh.vim vim74/runtime/syntax/sh.vim 31589 32218 --- vim74.orig/runtime/syntax/sh.vim 2013-07-05 16:35:45.000000000 +0000 31590 +++ vim74/runtime/syntax/sh.vim 2014-0 3-30 20:09:04.326049589+000032219 +++ vim74/runtime/syntax/sh.vim 2014-04-27 05:20:57.981765272 +0000 31591 32220 @@ -2,10 +2,10 @@ 31592 32221 " Language: shell (sh) Korn shell (ksh) bash (sh) … … 31706 32335 diff -Naur vim74.orig/runtime/syntax/spec.vim vim74/runtime/syntax/spec.vim 31707 32336 --- vim74.orig/runtime/syntax/spec.vim 2010-05-15 11:03:57.000000000 +0000 31708 +++ vim74/runtime/syntax/spec.vim 2014-0 3-30 20:09:04.336049918+000032337 +++ vim74/runtime/syntax/spec.vim 2014-04-27 05:20:57.991765521 +0000 31709 32338 @@ -1,8 +1,9 @@ 31710 32339 " Filename: spec.vim … … 31741 32370 diff -Naur vim74.orig/runtime/syntax/svn.vim vim74/runtime/syntax/svn.vim 31742 32371 --- vim74.orig/runtime/syntax/svn.vim 2012-07-25 13:08:55.000000000 +0000 31743 +++ vim74/runtime/syntax/svn.vim 2014-0 3-30 20:09:04.342716805+000032372 +++ vim74/runtime/syntax/svn.vim 2014-04-27 05:20:57.998432353 +0000 31744 32373 @@ -2,15 +2,18 @@ 31745 32374 " Language: Subversion (svn) commit file … … 31806 32435 diff -Naur vim74.orig/runtime/syntax/systemverilog.vim vim74/runtime/syntax/systemverilog.vim 31807 32436 --- vim74.orig/runtime/syntax/systemverilog.vim 1970-01-01 00:00:00.000000000 +0000 31808 +++ vim74/runtime/syntax/systemverilog.vim 2014-0 3-30 20:09:04.346050247+000032437 +++ vim74/runtime/syntax/systemverilog.vim 2014-04-27 05:20:58.001765768 +0000 31809 32438 @@ -0,0 +1,101 @@ 31810 32439 +" Vim syntax file … … 31911 32540 diff -Naur vim74.orig/runtime/syntax/tcl.vim vim74/runtime/syntax/tcl.vim 31912 32541 --- vim74.orig/runtime/syntax/tcl.vim 2010-05-15 11:03:56.000000000 +0000 31913 +++ vim74/runtime/syntax/tcl.vim 2014-0 3-30 20:09:04.349383690+000032542 +++ vim74/runtime/syntax/tcl.vim 2014-04-27 05:20:58.005099185 +0000 31914 32543 @@ -6,11 +6,9 @@ 31915 32544 " (previously Matt Neumann <mattneu@purpleturtle.com>) … … 32046 32675 diff -Naur vim74.orig/runtime/syntax/tex.vim vim74/runtime/syntax/tex.vim 32047 32676 --- vim74.orig/runtime/syntax/tex.vim 2013-07-05 16:35:45.000000000 +0000 32048 +++ vim74/runtime/syntax/tex.vim 2014-0 3-30 20:09:04.349383690+000032677 +++ vim74/runtime/syntax/tex.vim 2014-04-27 05:20:58.005099185 +0000 32049 32678 @@ -1,8 +1,8 @@ 32050 32679 " Vim syntax file … … 32189 32818 diff -Naur vim74.orig/runtime/syntax/upstreamlog.vim vim74/runtime/syntax/upstreamlog.vim 32190 32819 --- vim74.orig/runtime/syntax/upstreamlog.vim 2013-08-03 15:47:26.000000000 +0000 32191 +++ vim74/runtime/syntax/upstreamlog.vim 2014-0 3-30 20:09:04.359384020+000032820 +++ vim74/runtime/syntax/upstreamlog.vim 2014-04-27 05:20:58.011766018 +0000 32192 32821 @@ -1,7 +1,7 @@ 32193 32822 " Vim syntax file … … 32218 32847 diff -Naur vim74.orig/runtime/syntax/usserverlog.vim vim74/runtime/syntax/usserverlog.vim 32219 32848 --- vim74.orig/runtime/syntax/usserverlog.vim 2013-08-03 15:47:26.000000000 +0000 32220 +++ vim74/runtime/syntax/usserverlog.vim 2014-0 3-30 20:09:04.359384020+000032849 +++ vim74/runtime/syntax/usserverlog.vim 2014-04-27 05:20:58.015099434 +0000 32221 32850 @@ -1,7 +1,7 @@ 32222 32851 " Vim syntax file … … 32247 32876 diff -Naur vim74.orig/runtime/syntax/usw2kagtlog.vim vim74/runtime/syntax/usw2kagtlog.vim 32248 32877 --- vim74.orig/runtime/syntax/usw2kagtlog.vim 2013-08-03 15:47:26.000000000 +0000 32249 +++ vim74/runtime/syntax/usw2kagtlog.vim 2014-0 3-30 20:09:04.359384020+000032878 +++ vim74/runtime/syntax/usw2kagtlog.vim 2014-04-27 05:20:58.015099434 +0000 32250 32879 @@ -1,7 +1,7 @@ 32251 32880 " Vim syntax file … … 32276 32905 diff -Naur vim74.orig/runtime/syntax/vhdl.vim vim74/runtime/syntax/vhdl.vim 32277 32906 --- vim74.orig/runtime/syntax/vhdl.vim 2012-06-01 16:05:47.000000000 +0000 32278 +++ vim74/runtime/syntax/vhdl.vim 2014-0 3-30 20:09:04.362717463+000032907 +++ vim74/runtime/syntax/vhdl.vim 2014-04-27 05:20:58.015099434 +0000 32279 32908 @@ -1,12 +1,12 @@ 32280 32909 " Vim syntax file … … 32430 33059 diff -Naur vim74.orig/runtime/syntax/vim.vim vim74/runtime/syntax/vim.vim 32431 33060 --- vim74.orig/runtime/syntax/vim.vim 2013-07-05 16:35:45.000000000 +0000 32432 +++ vim74/runtime/syntax/vim.vim 2014-0 3-30 20:09:04.366050906+000033061 +++ vim74/runtime/syntax/vim.vim 2014-04-27 05:20:58.018432850 +0000 32433 33062 @@ -1,8 +1,8 @@ 32434 33063 " Vim syntax file … … 32535 33164 diff -Naur vim74.orig/runtime/syntax/yacc.vim vim74/runtime/syntax/yacc.vim 32536 33165 --- vim74.orig/runtime/syntax/yacc.vim 2012-11-15 01:25:58.000000000 +0000 32537 +++ vim74/runtime/syntax/yacc.vim 2014-0 3-30 20:09:04.376051235 +000033166 +++ vim74/runtime/syntax/yacc.vim 2014-04-27 05:20:58.031766515 +0000 32538 33167 @@ -1,8 +1,8 @@ 32539 33168 " Vim syntax file … … 32558 33187 diff -Naur vim74.orig/runtime/syntax/yaml.vim vim74/runtime/syntax/yaml.vim 32559 33188 --- vim74.orig/runtime/syntax/yaml.vim 2010-10-08 13:33:39.000000000 +0000 32560 +++ vim74/runtime/syntax/yaml.vim 2014-0 3-30 20:09:04.376051235 +000033189 +++ vim74/runtime/syntax/yaml.vim 2014-04-27 05:20:58.031766515 +0000 32561 33190 @@ -108,9 +108,10 @@ 32562 33191 syn match yamlFlowMappingMerge /<<\ze\s*:/ contained nextgroup=yamlKeyValueDelimiter … … 32574 33203 diff -Naur vim74.orig/runtime/tutor/tutor vim74/runtime/tutor/tutor 32575 33204 --- vim74.orig/runtime/tutor/tutor 2012-10-03 13:29:40.000000000 +0000 32576 +++ vim74/runtime/tutor/tutor 2014-0 3-30 20:09:04.389385008+000033205 +++ vim74/runtime/tutor/tutor 2014-04-27 05:20:58.041766762 +0000 32577 33206 @@ -55,8 +55,8 @@ 32578 33207 2. Type: :q! <ENTER>. … … 32588 33217 diff -Naur vim74.orig/runtime/tutor/tutor.es vim74/runtime/tutor/tutor.es 32589 33218 --- vim74.orig/runtime/tutor/tutor.es 2010-05-15 11:04:02.000000000 +0000 32590 +++ vim74/runtime/tutor/tutor.es 2014-0 3-30 20:09:04.396051894+000033219 +++ vim74/runtime/tutor/tutor.es 2014-04-27 05:20:58.048433595 +0000 32591 33220 @@ -121,7 +121,7 @@ 32592 33221 h (izquierda) j (abajo) k (arriba) l (derecha) … … 32600 33229 diff -Naur vim74.orig/runtime/tutor/tutor.it vim74/runtime/tutor/tutor.it 32601 33230 --- vim74.orig/runtime/tutor/tutor.it 2010-05-23 09:00:00.000000000 +0000 32602 +++ vim74/runtime/tutor/tutor.it 2014-0 3-30 20:09:04.402718779+000033231 +++ vim74/runtime/tutor/tutor.it 2014-04-27 05:20:58.055100426 +0000 32603 33232 @@ -638,7 +638,7 @@ 32604 33233 NOTA: Se esci da Vim e riesegui Vim battendo vim TEST , il file aperto … … 32612 33241 diff -Naur vim74.orig/runtime/tutor/tutor.it.utf-8 vim74/runtime/tutor/tutor.it.utf-8 32613 33242 --- 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-0 3-30 20:09:04.402718779+000033243 +++ vim74/runtime/tutor/tutor.it.utf-8 2014-04-27 05:20:58.055100426 +0000 32615 33244 @@ -638,7 +638,7 @@ 32616 33245 NOTA: Se esci da Vim e riesegui Vim battendo vim TEST , il file aperto … … 32624 33253 diff -Naur vim74.orig/runtime/tutor/tutor.pt vim74/runtime/tutor/tutor.pt 32625 33254 --- vim74.orig/runtime/tutor/tutor.pt 2010-08-11 20:54:33.000000000 +0000 32626 +++ vim74/runtime/tutor/tutor.pt 2014-0 3-30 20:09:04.412719110+000033255 +++ vim74/runtime/tutor/tutor.pt 2014-04-27 05:20:58.065100676 +0000 32627 33256 @@ -58,11 +58,11 @@ 32628 33257 Isso sai do editor SEM salvar qualquer mudança que tenha sido feita. … … 32651 33280 diff -Naur vim74.orig/runtime/tutor/tutor.pt.utf-8 vim74/runtime/tutor/tutor.pt.utf-8 32652 33281 --- 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-0 3-30 20:09:04.412719110+000033282 +++ vim74/runtime/tutor/tutor.pt.utf-8 2014-04-27 05:20:58.065100676 +0000 32654 33283 @@ -58,11 +58,11 @@ 32655 33284 Isso sai do editor SEM salvar qualquer mudança que tenha sido feita. … … 32678 33307 diff -Naur vim74.orig/runtime/vimlogo.eps vim74/runtime/vimlogo.eps 32679 33308 --- vim74.orig/runtime/vimlogo.eps 2010-05-15 11:03:57.000000000 +0000 32680 +++ vim74/runtime/vimlogo.eps 2014-0 3-30 20:09:04.426052882+000033309 +++ vim74/runtime/vimlogo.eps 2014-04-27 05:20:58.078434340 +0000 32681 33310 @@ -1,791 +1,803 @@ 32682 33311 -%!PS-Adobe-3.0 EPSF-3.0 … … 34275 34904 diff -Naur vim74.orig/runtime/vimrc_example.vim vim74/runtime/vimrc_example.vim 34276 34905 --- vim74.orig/runtime/vimrc_example.vim 2011-04-15 18:58:36.000000000 +0000 34277 +++ vim74/runtime/vimrc_example.vim 2014-0 3-30 20:09:04.426052882+000034906 +++ vim74/runtime/vimrc_example.vim 2014-04-27 05:20:58.078434340 +0000 34278 34907 @@ -1,7 +1,7 @@ 34279 34908 " An example for a vimrc file. … … 34297 34926 diff -Naur vim74.orig/src/GvimExt/Make_cyg.mak vim74/src/GvimExt/Make_cyg.mak 34298 34927 --- vim74.orig/src/GvimExt/Make_cyg.mak 2011-09-30 14:45:49.000000000 +0000 34299 +++ vim74/src/GvimExt/Make_cyg.mak 2014-0 3-30 20:09:04.426052882+000034928 +++ vim74/src/GvimExt/Make_cyg.mak 2014-04-27 05:20:58.078434340 +0000 34300 34929 @@ -31,12 +31,12 @@ 34301 34930 ifeq ($(CROSS),yes) … … 34316 34945 diff -Naur vim74.orig/src/Make_bc5.mak vim74/src/Make_bc5.mak 34317 34946 --- vim74.orig/src/Make_bc5.mak 2013-06-03 18:09:58.000000000 +0000 34318 +++ vim74/src/Make_bc5.mak 2014-0 3-30 20:09:04.439386653+000034947 +++ vim74/src/Make_bc5.mak 2014-04-27 05:20:58.085101172 +0000 34319 34948 @@ -419,7 +419,7 @@ 34320 34949 ALIGNARG = -a$(ALIGN) … … 34328 34957 diff -Naur vim74.orig/src/Make_cyg.mak vim74/src/Make_cyg.mak 34329 34958 --- vim74.orig/src/Make_cyg.mak 2013-07-06 11:32:11.000000000 +0000 34330 +++ vim74/src/Make_cyg.mak 2014-0 3-30 20:09:04.439386653+000034959 +++ vim74/src/Make_cyg.mak 2014-04-27 05:20:58.085101172 +0000 34331 34960 @@ -1,6 +1,6 @@ 34332 34961 # … … 34366 34995 diff -Naur vim74.orig/src/Make_ming.mak vim74/src/Make_ming.mak 34367 34996 --- vim74.orig/src/Make_ming.mak 2013-07-06 11:32:11.000000000 +0000 34368 +++ vim74/src/Make_ming.mak 2014-0 3-30 20:09:04.442720097+000034997 +++ vim74/src/Make_ming.mak 2014-04-27 05:20:58.088434588 +0000 34369 34998 @@ -359,6 +359,7 @@ 34370 34999 … … 34407 35036 diff -Naur vim74.orig/src/Make_mvc.mak vim74/src/Make_mvc.mak 34408 35037 --- vim74.orig/src/Make_mvc.mak 2013-07-09 11:13:12.000000000 +0000 34409 +++ vim74/src/Make_mvc.mak 2014-0 3-30 20:09:04.442720097+000035038 +++ vim74/src/Make_mvc.mak 2014-04-27 05:20:58.088434588 +0000 34410 35039 @@ -424,6 +424,12 @@ 34411 35040 !if "$(_NMAKE_VER)" == "11.00.60610.1" … … 34472 35101 diff -Naur vim74.orig/src/Make_vms.mms vim74/src/Make_vms.mms 34473 35102 --- vim74.orig/src/Make_vms.mms 2013-05-06 02:06:04.000000000 +0000 34474 +++ vim74/src/Make_vms.mms 2014-0 3-30 20:09:04.446053540+000035103 +++ vim74/src/Make_vms.mms 2014-04-27 05:20:58.091768003 +0000 34475 35104 @@ -2,7 +2,7 @@ 34476 35105 # Makefile for Vim on OpenVMS … … 34588 35217 diff -Naur vim74.orig/src/Makefile vim74/src/Makefile 34589 35218 --- vim74.orig/src/Makefile 2013-08-10 12:21:15.000000000 +0000 34590 +++ vim74/src/Makefile 2014-0 3-30 20:09:04.446053540 +000035219 +++ vim74/src/Makefile 2014-04-27 05:20:58.095101420 +0000 34591 35220 @@ -546,6 +546,7 @@ 34592 35221 # again. … … 34636 35265 chmod 755 auto/configure 34637 35266 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 @@ 34639 35286 test60 test61 test62 test63 test64 test65 test66 test67 test68 test69 \ 34640 35287 test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \ 34641 35288 test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \ 34642 35289 - test90 test91 test92 test93 test94 test95 test96 test97 test98 test99: 35290 - cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) 34643 35291 + test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \ 34644 35292 + 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) 34646 35294 34647 35295 testclean: 34648 @@ -2380,6 +2387,7 @@ 35296 cd testdir; $(MAKE) -f Makefile clean 35297 @@ -2380,6 +2389,7 @@ 34649 35298 ../../testdir/*.in \ 34650 35299 ../../testdir/*.vim \ … … 34665 35314 diff -Naur vim74.orig/src/auto/configure vim74/src/auto/configure 34666 35315 --- vim74.orig/src/auto/configure 2013-08-04 18:01:06.000000000 +0000 34667 +++ vim74/src/auto/configure 2014-0 3-30 20:09:04.466054198+000035316 +++ vim74/src/auto/configure 2014-04-27 05:20:58.111768501 +0000 34668 35317 @@ -1,11 +1,9 @@ 34669 35318 #! /bin/sh … … 34892 35541 GREP 34893 35542 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 @@ 34895 35552 fi 34896 35553 … … 34904 35561 34905 35562 # Accept the important Cygnus configure options, so we can diagnose typos. 34906 @@ -918,7 +94 8,7 @@35563 @@ -918,7 +949,7 @@ 34907 35564 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` 34908 35565 # Reject names that are not valid shell variable names. … … 34913 35570 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` 34914 35571 case $ac_user_opts in 34915 @@ -944,7 +97 4,7 @@35572 @@ -944,7 +975,7 @@ 34916 35573 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` 34917 35574 # Reject names that are not valid shell variable names. … … 34922 35579 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` 34923 35580 case $ac_user_opts in 34924 @@ -1148,7 +117 8,7 @@35581 @@ -1148,7 +1179,7 @@ 34925 35582 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` 34926 35583 # Reject names that are not valid shell variable names. … … 34931 35588 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` 34932 35589 case $ac_user_opts in 34933 @@ -1164,7 +119 4,7 @@35590 @@ -1164,7 +1195,7 @@ 34934 35591 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` 34935 35592 # Reject names that are not valid shell variable names. … … 34940 35597 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` 34941 35598 case $ac_user_opts in 34942 @@ -1194,8 +122 4,8 @@35599 @@ -1194,8 +1225,8 @@ 34943 35600 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) 34944 35601 x_libraries=$ac_optarg ;; … … 34951 35608 34952 35609 *=*) 34953 @@ -1203,7 +123 3,7 @@35610 @@ -1203,7 +1234,7 @@ 34954 35611 # Reject names that are not valid shell variable names. 34955 35612 case $ac_envvar in #( … … 34960 35617 eval $ac_envvar=\$ac_optarg 34961 35618 export $ac_envvar ;; 34962 @@ -1213,7 +124 3,7 @@35619 @@ -1213,7 +1244,7 @@ 34963 35620 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 34964 35621 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && … … 34969 35626 34970 35627 esac 34971 @@ -1221,13 +125 1,13 @@35628 @@ -1221,13 +1252,13 @@ 34972 35629 34973 35630 if test -n "$ac_prev"; then … … 34985 35642 esac 34986 35643 fi 34987 @@ -1250,7 +128 0,7 @@35644 @@ -1250,7 +1281,7 @@ 34988 35645 [\\/$]* | ?:[\\/]* ) continue;; 34989 35646 NONE | '' ) case $ac_var in *prefix ) continue;; esac;; … … 34994 35651 34995 35652 # There might be people who depend on the old broken behavior: `$host' 34996 @@ -1264,8 +129 4,6 @@35653 @@ -1264,8 +1295,6 @@ 34997 35654 if test "x$host_alias" != x; then 34998 35655 if test "x$build_alias" = x; then … … 35003 35660 cross_compiling=yes 35004 35661 fi 35005 @@ -1280,9 +130 8,9 @@35662 @@ -1280,9 +1309,9 @@ 35006 35663 ac_pwd=`pwd` && test -n "$ac_pwd" && 35007 35664 ac_ls_di=`ls -di .` && … … 35015 35672 35016 35673 # Find the source files, if location was not specified. 35017 @@ -1321,11 +13 49,11 @@35674 @@ -1321,11 +1350,11 @@ 35018 35675 fi 35019 35676 if test ! -r "$srcdir/$ac_unique_file"; then … … 35029 35686 # When building in place, set srcdir=. 35030 35687 if test "$ac_abs_confdir" = "$ac_pwd"; then 35031 @@ -1365,7 +139 3,7 @@35688 @@ -1365,7 +1394,7 @@ 35032 35689 --help=short display options specific to this package 35033 35690 --help=recursive display the short help of all the included packages … … 35038 35695 -C, --config-cache alias for \`--cache-file=config.cache' 35039 35696 -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 @@ 35041 35708 if $ac_init_version; then 35042 35709 cat <<\_ACEOF … … 35050 35717 gives unlimited permission to copy, distribute and modify it. 35051 35718 _ACEOF 35052 @@ -1609,7 +163 7,7 @@35719 @@ -1609,7 +1639,7 @@ 35053 35720 35054 35721 ac_retval=1 … … 35059 35726 35060 35727 } # ac_fn_c_try_compile 35061 @@ -1635,7 +166 3,7 @@35728 @@ -1635,7 +1665,7 @@ 35062 35729 mv -f conftest.er1 conftest.err 35063 35730 fi … … 35068 35735 test ! -s conftest.err 35069 35736 }; then : 35070 @@ -1646,7 +167 4,7 @@35737 @@ -1646,7 +1676,7 @@ 35071 35738 35072 35739 ac_retval=1 … … 35077 35744 35078 35745 } # ac_fn_c_try_cpp 35079 @@ -1678,7 +170 6,7 @@35746 @@ -1678,7 +1708,7 @@ 35080 35747 test ! -s conftest.err 35081 35748 } && test -s conftest$ac_exeext && { … … 35086 35753 ac_retval=0 35087 35754 else 35088 @@ -1692,7 +172 0,7 @@35755 @@ -1692,7 +1722,7 @@ 35089 35756 # interfere with the next link command; also delete a directory that is 35090 35757 # left behind by Apple's compiler. We do this before executing the actions. … … 35095 35762 35096 35763 } # ac_fn_c_try_link 35097 @@ -1734,7 +176 2,7 @@35764 @@ -1734,7 +1764,7 @@ 35098 35765 ac_retval=$ac_status 35099 35766 fi … … 35104 35771 35105 35772 } # ac_fn_c_try_run 35106 @@ -1747,10 +177 5,10 @@35773 @@ -1747,10 +1777,10 @@ 35107 35774 ac_fn_c_check_header_mongrel () 35108 35775 { … … 35117 35784 fi 35118 35785 eval ac_res=\$$3 35119 @@ -1786,7 +181 4,7 @@35786 @@ -1786,7 +1816,7 @@ 35120 35787 else 35121 35788 ac_header_preproc=no … … 35126 35793 $as_echo "$ac_header_preproc" >&6; } 35127 35794 35128 @@ -1813,7 +184 1,7 @@35795 @@ -1813,7 +1843,7 @@ 35129 35796 esac 35130 35797 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 … … 35135 35802 else 35136 35803 eval "$3=\$ac_header_compiler" 35137 @@ -1822,7 +185 0,7 @@35804 @@ -1822,7 +1852,7 @@ 35138 35805 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 35139 35806 $as_echo "$ac_res" >&6; } … … 35144 35811 } # ac_fn_c_check_header_mongrel 35145 35812 35146 @@ -1835,7 +186 3,7 @@35813 @@ -1835,7 +1865,7 @@ 35147 35814 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 35148 35815 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 … … 35153 35820 else 35154 35821 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 35155 @@ -1853,7 +188 1,7 @@35822 @@ -1853,7 +1883,7 @@ 35156 35823 eval ac_res=\$$3 35157 35824 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 … … 35162 35829 } # ac_fn_c_check_header_compile 35163 35830 35164 @@ -1865,7 +189 3,7 @@35831 @@ -1865,7 +1895,7 @@ 35165 35832 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 35166 35833 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 … … 35171 35838 else 35172 35839 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 35173 @@ -1920,7 +19 48,7 @@35840 @@ -1920,7 +1950,7 @@ 35174 35841 eval ac_res=\$$3 35175 35842 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 … … 35180 35847 } # ac_fn_c_check_func 35181 35848 35182 @@ -1933,7 +196 1,7 @@35849 @@ -1933,7 +1963,7 @@ 35183 35850 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 35184 35851 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 … … 35189 35856 else 35190 35857 eval "$3=no" 35191 @@ -1974,7 +200 2,7 @@35858 @@ -1974,7 +2004,7 @@ 35192 35859 eval ac_res=\$$3 35193 35860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 … … 35198 35865 } # ac_fn_c_check_type 35199 35866 35200 @@ -1987,7 +201 5,7 @@35867 @@ -1987,7 +2017,7 @@ 35201 35868 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 35202 35869 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5 … … 35207 35874 else 35208 35875 eval "$3=no" 35209 @@ -2002,7 +203 0,8 @@35876 @@ -2002,7 +2032,8 @@ 35210 35877 main () 35211 35878 { … … 35217 35884 ; 35218 35885 return 0; 35219 @@ -2017,8 +204 6,7 @@35886 @@ -2017,8 +2048,7 @@ 35220 35887 esac 35221 35888 fi … … 35227 35894 else 35228 35895 break 35229 @@ -2028,7 +205 6,7 @@35896 @@ -2028,7 +2058,7 @@ 35230 35897 eval ac_res=\$$3 35231 35898 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 … … 35236 35903 } # ac_fn_c_find_uintX_t 35237 35904 35238 @@ -2049,7 +207 7,8 @@35905 @@ -2049,7 +2079,8 @@ 35239 35906 main () 35240 35907 { … … 35246 35913 ; 35247 35914 return 0; 35248 @@ -2065,7 +209 4,8 @@35915 @@ -2065,7 +2096,8 @@ 35249 35916 main () 35250 35917 { … … 35256 35923 ; 35257 35924 return 0; 35258 @@ -2091,7 +212 1,8 @@35925 @@ -2091,7 +2123,8 @@ 35259 35926 main () 35260 35927 { … … 35266 35933 ; 35267 35934 return 0; 35268 @@ -2107,7 +21 38,8 @@35935 @@ -2107,7 +2140,8 @@ 35269 35936 main () 35270 35937 { … … 35276 35943 ; 35277 35944 return 0; 35278 @@ -2141,7 +217 3,8 @@35945 @@ -2141,7 +2175,8 @@ 35279 35946 main () 35280 35947 { … … 35286 35953 ; 35287 35954 return 0; 35288 @@ -2205,7 +22 38,7 @@35955 @@ -2205,7 +2240,7 @@ 35289 35956 rm -f conftest.val 35290 35957 … … 35295 35962 35296 35963 } # ac_fn_c_compute_int 35297 @@ -2214,7 +224 7,7 @@35964 @@ -2214,7 +2249,7 @@ 35298 35965 running configure, to aid debugging if configure makes a mistake. 35299 35966 … … 35304 35971 $ $0 $@ 35305 35972 35306 @@ -2324,11 +235 7,9 @@35973 @@ -2324,11 +2359,9 @@ 35307 35974 { 35308 35975 echo … … 35318 35985 # The following way of writing the cache mishandles newlines in values, 35319 35986 ( 35320 @@ -2362,11 +239 3,9 @@35987 @@ -2362,11 +2395,9 @@ 35321 35988 ) 35322 35989 echo … … 35332 35999 for ac_var in $ac_subst_vars 35333 36000 do 35334 @@ -2379,11 +24 08,9 @@36001 @@ -2379,11 +2410,9 @@ 35335 36002 echo 35336 36003 … … 35346 36013 for ac_var in $ac_subst_files 35347 36014 do 35348 @@ -2397,11 +242 4,9 @@36015 @@ -2397,11 +2426,9 @@ 35349 36016 fi 35350 36017 … … 35360 36027 cat confdefs.h 35361 36028 echo 35362 @@ -2456,7 +248 1,12 @@36029 @@ -2456,7 +2483,12 @@ 35363 36030 ac_site_file1=NONE 35364 36031 ac_site_file2=NONE … … 35374 36041 ac_site_file1=$prefix/share/config.site 35375 36042 ac_site_file2=$prefix/etc/config.site 35376 @@ -2471,7 +250 1,11 @@36043 @@ -2471,7 +2503,11 @@ 35377 36044 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 35378 36045 $as_echo "$as_me: loading site script $ac_site_file" >&6;} … … 35387 36054 done 35388 36055 35389 @@ -2547,7 +258 1,7 @@36056 @@ -2547,7 +2583,7 @@ 35390 36057 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 35391 36058 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 … … 35396 36063 ## -------------------- ## 35397 36064 ## Main body of script. ## 35398 @@ -2569,7 +260 3,7 @@36065 @@ -2569,7 +2605,7 @@ 35399 36066 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } 35400 36067 set x ${MAKE-make} … … 35405 36072 else 35406 36073 cat >conftest.make <<\_ACEOF 35407 @@ -2577,7 +261 1,7 @@36074 @@ -2577,7 +2613,7 @@ 35408 36075 all: 35409 36076 @echo '@@@%%%=$(MAKE)=@@@%%%' … … 35414 36081 *@@@%%%=?*=@@@%%%*) 35415 36082 eval ac_cv_prog_make_${ac_make}_set=yes;; 35416 @@ -2607,7 +264 1,7 @@36083 @@ -2607,7 +2643,7 @@ 35417 36084 set dummy ${ac_tool_prefix}gcc; ac_word=$2 35418 36085 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 35423 36090 else 35424 36091 if test -n "$CC"; then 35425 @@ -2619,7 +265 3,7 @@36092 @@ -2619,7 +2655,7 @@ 35426 36093 IFS=$as_save_IFS 35427 36094 test -z "$as_dir" && as_dir=. … … 35432 36099 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 35433 36100 break 2 35434 @@ -2647,7 +268 1,7 @@36101 @@ -2647,7 +2683,7 @@ 35435 36102 set dummy gcc; ac_word=$2 35436 36103 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 35441 36108 else 35442 36109 if test -n "$ac_ct_CC"; then 35443 @@ -2659,7 +269 3,7 @@36110 @@ -2659,7 +2695,7 @@ 35444 36111 IFS=$as_save_IFS 35445 36112 test -z "$as_dir" && as_dir=. … … 35450 36117 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 35451 36118 break 2 35452 @@ -2700,7 +273 4,7 @@36119 @@ -2700,7 +2736,7 @@ 35453 36120 set dummy ${ac_tool_prefix}cc; ac_word=$2 35454 36121 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 35459 36126 else 35460 36127 if test -n "$CC"; then 35461 @@ -2712,7 +274 6,7 @@36128 @@ -2712,7 +2748,7 @@ 35462 36129 IFS=$as_save_IFS 35463 36130 test -z "$as_dir" && as_dir=. … … 35468 36135 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 35469 36136 break 2 35470 @@ -2740,7 +277 4,7 @@36137 @@ -2740,7 +2776,7 @@ 35471 36138 set dummy cc; ac_word=$2 35472 36139 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 35477 36144 else 35478 36145 if test -n "$CC"; then 35479 @@ -2753,7 +278 7,7 @@36146 @@ -2753,7 +2789,7 @@ 35480 36147 IFS=$as_save_IFS 35481 36148 test -z "$as_dir" && as_dir=. … … 35486 36153 ac_prog_rejected=yes 35487 36154 continue 35488 @@ -2799,7 +283 3,7 @@36155 @@ -2799,7 +2835,7 @@ 35489 36156 set dummy $ac_tool_prefix$ac_prog; ac_word=$2 35490 36157 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 35495 36162 else 35496 36163 if test -n "$CC"; then 35497 @@ -2811,7 +284 5,7 @@36164 @@ -2811,7 +2847,7 @@ 35498 36165 IFS=$as_save_IFS 35499 36166 test -z "$as_dir" && as_dir=. … … 35504 36171 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 35505 36172 break 2 35506 @@ -2843,7 +287 7,7 @@36173 @@ -2843,7 +2879,7 @@ 35507 36174 set dummy $ac_prog; ac_word=$2 35508 36175 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 35513 36180 else 35514 36181 if test -n "$ac_ct_CC"; then 35515 @@ -2855,7 +28 89,7 @@36182 @@ -2855,7 +2891,7 @@ 35516 36183 IFS=$as_save_IFS 35517 36184 test -z "$as_dir" && as_dir=. … … 35522 36189 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 35523 36190 break 2 35524 @@ -2897,8 +293 1,8 @@36191 @@ -2897,8 +2933,8 @@ 35525 36192 35526 36193 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 35533 36200 # Provide some information about the compiler. 35534 36201 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 35535 @@ -3012,9 +304 6,8 @@36202 @@ -3012,9 +3048,8 @@ 35536 36203 35537 36204 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 35545 36212 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 35546 36213 $as_echo "yes" >&6; } 35547 @@ -3056,8 +30 89,8 @@36214 @@ -3056,8 +3091,8 @@ 35548 36215 else 35549 36216 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 35556 36223 rm -f conftest conftest$ac_cv_exeext 35557 36224 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 35558 @@ -3114,9 +314 7,9 @@36225 @@ -3114,9 +3149,9 @@ 35559 36226 else 35560 36227 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 35568 36235 fi 35569 36236 fi 35570 @@ -3127,7 +316 0,7 @@36237 @@ -3127,7 +3162,7 @@ 35571 36238 ac_clean_files=$ac_clean_files_save 35572 36239 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 … … 35577 36244 else 35578 36245 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 35579 @@ -3167,8 +320 0,8 @@36246 @@ -3167,8 +3202,8 @@ 35580 36247 35581 36248 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 35588 36255 rm -f conftest.$ac_cv_objext conftest.$ac_ext 35589 36256 fi 35590 @@ -3178,7 +321 1,7 @@36257 @@ -3178,7 +3213,7 @@ 35591 36258 ac_objext=$OBJEXT 35592 36259 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 … … 35597 36264 else 35598 36265 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 35599 @@ -3215,7 +32 48,7 @@36266 @@ -3215,7 +3250,7 @@ 35600 36267 ac_save_CFLAGS=$CFLAGS 35601 36268 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 … … 35606 36273 else 35607 36274 ac_save_c_werror_flag=$ac_c_werror_flag 35608 @@ -3293,7 +332 6,7 @@36275 @@ -3293,7 +3328,7 @@ 35609 36276 fi 35610 36277 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 … … 35615 36282 else 35616 36283 ac_cv_prog_cc_c89=no 35617 @@ -3302,8 +333 5,7 @@36284 @@ -3302,8 +3337,7 @@ 35618 36285 /* end confdefs.h. */ 35619 36286 #include <stdarg.h> … … 35625 36292 struct buf { int x; }; 35626 36293 FILE * (*rcsopen) (struct buf *, struct stat *, int); 35627 @@ -3399,7 +343 1,7 @@36294 @@ -3399,7 +3433,7 @@ 35628 36295 CPP= 35629 36296 fi … … 35634 36301 else 35635 36302 # Double quotes because CPP needs to be expanded 35636 @@ -3429,7 +346 1,7 @@36303 @@ -3429,7 +3463,7 @@ 35637 36304 # Broken: fails on valid input. 35638 36305 continue … … 35643 36310 # OK, works on sane cases. Now check whether nonexistent headers 35644 36311 # can be detected and how. 35645 @@ -3445,11 +347 7,11 @@36312 @@ -3445,11 +3479,11 @@ 35646 36313 ac_preproc_ok=: 35647 36314 break … … 35657 36324 break 35658 36325 fi 35659 @@ -3488,7 +352 0,7 @@36326 @@ -3488,7 +3522,7 @@ 35660 36327 # Broken: fails on valid input. 35661 36328 continue … … 35666 36333 # OK, works on sane cases. Now check whether nonexistent headers 35667 36334 # can be detected and how. 35668 @@ -3504,18 +353 6,18 @@36335 @@ -3504,18 +3538,18 @@ 35669 36336 ac_preproc_ok=: 35670 36337 break … … 35689 36356 35690 36357 ac_ext=c 35691 @@ -3527,7 +35 59,7 @@36358 @@ -3527,7 +3561,7 @@ 35692 36359 35693 36360 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 … … 35698 36365 else 35699 36366 if test -z "$GREP"; then 35700 @@ -3541,7 +357 3,7 @@36367 @@ -3541,7 +3575,7 @@ 35701 36368 for ac_prog in grep ggrep; do 35702 36369 for ac_exec_ext in '' $ac_executable_extensions; do … … 35707 36374 # Check for GNU $ac_path_GREP 35708 36375 case `"$ac_path_GREP" --version 2>&1` in 35709 @@ -3576,7 +36 08,7 @@36376 @@ -3576,7 +3610,7 @@ 35710 36377 done 35711 36378 IFS=$as_save_IFS … … 35716 36383 else 35717 36384 ac_cv_path_GREP=$GREP 35718 @@ -3590,7 +362 2,7 @@36385 @@ -3590,7 +3624,7 @@ 35719 36386 35720 36387 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 … … 35725 36392 else 35726 36393 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 35727 @@ -3607,7 +36 39,7 @@36394 @@ -3607,7 +3641,7 @@ 35728 36395 for ac_prog in egrep; do 35729 36396 for ac_exec_ext in '' $ac_executable_extensions; do … … 35734 36401 # Check for GNU $ac_path_EGREP 35735 36402 case `"$ac_path_EGREP" --version 2>&1` in 35736 @@ -3642,7 +367 4,7 @@36403 @@ -3642,7 +3676,7 @@ 35737 36404 done 35738 36405 IFS=$as_save_IFS … … 35743 36410 else 35744 36411 ac_cv_path_EGREP=$EGREP 35745 @@ -3664,9 +369 6,75 @@36412 @@ -3664,9 +3698,75 @@ 35746 36413 35747 36414 fi … … 35821 36488 else 35822 36489 ac_func_search_save_LIBS=$LIBS 35823 @@ -3700,11 +3 798,11 @@36490 @@ -3700,11 +3800,11 @@ 35824 36491 fi 35825 36492 rm -f core conftest.err conftest.$ac_objext \ … … 35835 36502 else 35836 36503 ac_cv_search_strerror=no 35837 @@ -3725,7 +382 3,7 @@36504 @@ -3725,7 +3825,7 @@ 35838 36505 set dummy $ac_prog; ac_word=$2 35839 36506 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 35844 36511 else 35845 36512 if test -n "$AWK"; then 35846 @@ -3737,7 +383 5,7 @@36513 @@ -3737,7 +3837,7 @@ 35847 36514 IFS=$as_save_IFS 35848 36515 test -z "$as_dir" && as_dir=. … … 35853 36520 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 35854 36521 break 2 35855 @@ -3765,7 +386 3,7 @@36522 @@ -3765,7 +3865,7 @@ 35856 36523 set dummy strip; ac_word=$2 35857 36524 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 35862 36529 else 35863 36530 if test -n "$STRIP"; then 35864 @@ -3777,7 +387 5,7 @@36531 @@ -3777,7 +3877,7 @@ 35865 36532 IFS=$as_save_IFS 35866 36533 test -z "$as_dir" && as_dir=. … … 35871 36538 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 35872 36539 break 2 35873 @@ -3804,7 +390 2,7 @@36540 @@ -3804,7 +3904,7 @@ 35874 36541 35875 36542 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 … … 35880 36547 else 35881 36548 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 35882 @@ -3916,7 +401 4,7 @@36549 @@ -3916,7 +4016,7 @@ 35883 36550 35884 36551 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 … … 35889 36556 else 35890 36557 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 @@ 35892 36571 fi 35893 36572 fi … … 35895 36574 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for recent clang version" >&5 35896 36575 +$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'` 35898 36577 +if test x"$CLANG_VERSION_STRING" != x"" ; then 35899 36578 + CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*/\1/p'` … … 35914 36593 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&5 35915 36594 $as_echo "cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&6; } 35916 @@ -4089,7 +420 5,7 @@36595 @@ -4089,7 +4207,7 @@ 35917 36596 set dummy xcode-select; ac_word=$2 35918 36597 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 35923 36602 else 35924 36603 case $XCODE_SELECT in 35925 @@ -4103,7 +42 19,7 @@36604 @@ -4103,7 +4221,7 @@ 35926 36605 IFS=$as_save_IFS 35927 36606 test -z "$as_dir" && as_dir=. … … 35932 36611 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 35933 36612 break 2 35934 @@ -4203,7 +43 19,7 @@36613 @@ -4203,7 +4321,7 @@ 35935 36614 MACOSX=yes 35936 36615 OS_EXTRA_SRC="os_macosx.m os_mac_conv.c"; … … 35941 36620 # On IRIX 5.3, sys/types and inttypes.h are conflicting. 35942 36621 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ 35943 @@ -4212,8 +43 28,7 @@36622 @@ -4212,8 +4330,7 @@ 35944 36623 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` 35945 36624 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default … … 35951 36630 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 35952 36631 _ACEOF 35953 @@ -4224,7 +43 39,7 @@36632 @@ -4224,7 +4341,7 @@ 35954 36633 35955 36634 … … 35960 36639 fi 35961 36640 35962 @@ -4245,6 +436 0,19 @@36641 @@ -4245,6 +4362,19 @@ 35963 36642 $as_echo "no" >&6; } 35964 36643 fi … … 35980 36659 35981 36660 35982 @@ -4265,7 +439 3,7 @@36661 @@ -4265,7 +4395,7 @@ 35983 36662 have_local_include=yes 35984 36663 have_local_lib=yes … … 35989 36668 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $local_dir" >&5 35990 36669 $as_echo "$local_dir" >&6; } 35991 @@ -4280,7 +44 08,7 @@36670 @@ -4280,7 +4410,7 @@ 35992 36671 35993 36672 if test "$GCC" = yes -a "$local_dir" != no; then … … 35998 36677 rm -f conftest.c conftest.o 35999 36678 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 36001 36797 $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 36003 36800 $as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; } 36004 36801 -if test "${ac_cv_lib_selinux_is_selinux_enabled+set}" = set; then : … … 36007 36804 else 36008 36805 ac_check_lib_save_LIBS=$LIBS 36009 @@ -4508, 7 +4636,7@@36806 @@ -4508,15 +4737,16 @@ 36010 36807 fi 36011 36808 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5 … … 36014 36811 +if test "x$ac_cv_lib_selinux_is_selinux_enabled" = xyes; then : 36015 36812 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 @@ 36019 36828 set dummy luajit; ac_word=$2 36020 36829 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36025 36834 else 36026 36835 case $vi_cv_path_luajit in 36027 @@ -4684,7 +4 812,7 @@36836 @@ -4684,7 +4914,7 @@ 36028 36837 IFS=$as_save_IFS 36029 36838 test -z "$as_dir" && as_dir=. … … 36034 36843 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36035 36844 break 2 36036 @@ -4709,16 +4 837,16 @@36845 @@ -4709,16 +4939,16 @@ 36037 36846 if test "X$vi_cv_path_luajit" != "X"; then 36038 36847 { $as_echo "$as_me:${as_lineno-$LINENO}: checking LuaJIT version" >&5 … … 36054 36863 else 36055 36864 vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` 36056 @@ -4733,7 +4 861,7 @@36865 @@ -4733,7 +4963,7 @@ 36057 36866 set dummy lua; ac_word=$2 36058 36867 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36063 36872 else 36064 36873 case $vi_cv_path_plain_lua in 36065 @@ -4747,7 +4 875,7 @@36874 @@ -4747,7 +4977,7 @@ 36066 36875 IFS=$as_save_IFS 36067 36876 test -z "$as_dir" && as_dir=. … … 36072 36881 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36073 36882 break 2 36074 @@ -4772,7 + 4900,7 @@36883 @@ -4772,7 +5002,7 @@ 36075 36884 if test "X$vi_cv_path_plain_lua" != "X"; then 36076 36885 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5 … … 36081 36890 else 36082 36891 vi_cv_version_plain_lua=`${vi_cv_path_plain_lua} -e "print(_VERSION)" | sed 's/.* //'` 36083 @@ -4932,7 +5 060,7 @@36892 @@ -4932,7 +5162,7 @@ 36084 36893 fi 36085 36894 fi … … 36090 36899 36091 36900 36092 @@ -4986,7 +5 114,7 @@36901 @@ -4986,7 +5216,7 @@ 36093 36902 set dummy mzscheme; ac_word=$2 36094 36903 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36099 36908 else 36100 36909 case $vi_cv_path_mzscheme in 36101 @@ -5000,7 +5 128,7 @@36910 @@ -5000,7 +5230,7 @@ 36102 36911 IFS=$as_save_IFS 36103 36912 test -z "$as_dir" && as_dir=. … … 36108 36917 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36109 36918 break 2 36110 @@ -5033,7 +5 161,7 @@36919 @@ -5033,7 +5263,7 @@ 36111 36920 if test "X$vi_cv_path_mzscheme" != "X"; then 36112 36921 { $as_echo "$as_me:${as_lineno-$LINENO}: checking MzScheme install prefix" >&5 … … 36117 36926 else 36118 36927 echo "(display (simplify-path \ 36119 @@ -5168,9 +5 296,19 @@36928 @@ -5168,9 +5398,19 @@ 36120 36929 $as_echo_n "checking for mzscheme_base.c... " >&6; } 36121 36930 if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then … … 36137 36946 fi 36138 36947 if test "X$MZSCHEME_EXTRA" != "X" ; then 36139 @@ -5185,7 +5 323,7 @@36948 @@ -5185,7 +5425,7 @@ 36140 36949 36141 36950 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ffi_type_void in -lffi" >&5 … … 36146 36955 else 36147 36956 ac_check_lib_save_LIBS=$LIBS 36148 @@ -5219,7 +5 357,7 @@36957 @@ -5219,7 +5459,7 @@ 36149 36958 fi 36150 36959 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ffi_ffi_type_void" >&5 … … 36155 36964 fi 36156 36965 36157 @@ -5295,7 +5 433,7 @@36966 @@ -5295,7 +5535,7 @@ 36158 36967 set dummy perl; ac_word=$2 36159 36968 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36164 36973 else 36165 36974 case $vi_cv_path_perl in 36166 @@ -5309,7 +5 447,7 @@36975 @@ -5309,7 +5549,7 @@ 36167 36976 IFS=$as_save_IFS 36168 36977 test -z "$as_dir" && as_dir=. … … 36173 36982 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36174 36983 break 2 36175 @@ -5409,7 +5 547,7 @@36984 @@ -5409,7 +5649,7 @@ 36176 36985 PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[^ ]*//'` 36177 36986 fi … … 36182 36991 fi 36183 36992 fi 36184 @@ -5457,7 +5 595,7 @@36993 @@ -5457,7 +5697,7 @@ 36185 36994 fi 36186 36995 … … 36191 37000 fi 36192 37001 36193 @@ -5485,7 +5 623,7 @@37002 @@ -5485,7 +5725,7 @@ 36194 37003 set dummy $ac_prog; ac_word=$2 36195 37004 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36200 37009 else 36201 37010 case $vi_cv_path_python in 36202 @@ -5499,7 +5 637,7 @@37011 @@ -5499,7 +5739,7 @@ 36203 37012 IFS=$as_save_IFS 36204 37013 test -z "$as_dir" && as_dir=. … … 36209 37018 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36210 37019 break 2 36211 @@ -5528,7 +5 666,7 @@37020 @@ -5528,7 +5768,7 @@ 36212 37021 36213 37022 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5 … … 36218 37027 else 36219 37028 vi_cv_var_python_version=` 36220 @@ -5548,7 +5 686,7 @@37029 @@ -5548,7 +5788,7 @@ 36221 37030 36222 37031 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5 … … 36227 37036 else 36228 37037 vi_cv_path_python_pfx=` 36229 @@ -5560,7 +5 698,7 @@37038 @@ -5560,7 +5800,7 @@ 36230 37039 36231 37040 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5 … … 36236 37045 else 36237 37046 vi_cv_path_python_epfx=` 36238 @@ -5571,7 +5 709,7 @@37047 @@ -5571,7 +5811,7 @@ 36239 37048 $as_echo "$vi_cv_path_python_epfx" >&6; } 36240 37049 … … 36245 37054 else 36246 37055 vi_cv_path_pythonpath=` 36247 @@ -5591,7 +5 729,7 @@37056 @@ -5591,7 +5831,7 @@ 36248 37057 36249 37058 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5 … … 36254 37063 else 36255 37064 36256 @@ -5621,7 +5 759,7 @@37065 @@ -5621,7 +5861,7 @@ 36257 37066 $as_echo "can't find it!" >&6; } 36258 37067 else … … 36263 37072 else 36264 37073 36265 @@ -5762,7 + 5900,7 @@37074 @@ -5762,7 +6002,7 @@ 36266 37075 fi 36267 37076 … … 36272 37081 fi 36273 37082 36274 @@ -5792,7 + 5930,7 @@37083 @@ -5792,7 +6032,7 @@ 36275 37084 set dummy $ac_prog; ac_word=$2 36276 37085 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36281 37090 else 36282 37091 case $vi_cv_path_python3 in 36283 @@ -5806,7 + 5944,7 @@37092 @@ -5806,7 +6046,7 @@ 36284 37093 IFS=$as_save_IFS 36285 37094 test -z "$as_dir" && as_dir=. … … 36290 37099 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36291 37100 break 2 36292 @@ -5835,7 + 5973,7 @@37101 @@ -5835,7 +6075,7 @@ 36293 37102 36294 37103 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python version" >&5 … … 36299 37108 else 36300 37109 vi_cv_var_python3_version=` 36301 @@ -5855,7 + 5993,7 @@37110 @@ -5855,7 +6095,7 @@ 36302 37111 36303 37112 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's abiflags" >&5 … … 36308 37117 else 36309 37118 36310 @@ -5872,7 +6 010,7 @@37119 @@ -5872,7 +6112,7 @@ 36311 37120 36312 37121 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5 … … 36317 37126 else 36318 37127 vi_cv_path_python3_pfx=` 36319 @@ -5884,7 +6 022,7 @@37128 @@ -5884,7 +6124,7 @@ 36320 37129 36321 37130 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's execution prefix" >&5 … … 36326 37135 else 36327 37136 vi_cv_path_python3_epfx=` 36328 @@ -5895,7 +6 033,7 @@37137 @@ -5895,7 +6135,7 @@ 36329 37138 $as_echo "$vi_cv_path_python3_epfx" >&6; } 36330 37139 … … 36335 37144 else 36336 37145 vi_cv_path_python3path=` 36337 @@ -5915,7 +6 053,7 @@37146 @@ -5915,7 +6155,7 @@ 36338 37147 36339 37148 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's configuration directory" >&5 … … 36344 37153 else 36345 37154 36346 @@ -5946,7 +6 084,7 @@37155 @@ -5946,7 +6186,7 @@ 36347 37156 $as_echo "can't find it!" >&6; } 36348 37157 else … … 36353 37162 else 36354 37163 36355 @@ -6073,7 +6 211,7 @@37164 @@ -6073,7 +6313,7 @@ 36356 37165 fi 36357 37166 fi … … 36362 37171 fi 36363 37172 36364 @@ -6097,8 +6 235,8 @@37173 @@ -6097,8 +6337,8 @@ 36365 37174 if test "$cross_compiling" = yes; then : 36366 37175 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 36373 37182 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 36374 37183 /* end confdefs.h. */ 36375 @@ -6162,8 +6 300,8 @@37184 @@ -6162,8 +6402,8 @@ 36376 37185 if test "$cross_compiling" = yes; then : 36377 37186 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 36384 37193 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 36385 37194 /* end confdefs.h. */ 36386 @@ -6337,7 +6 475,7 @@37195 @@ -6337,7 +6577,7 @@ 36387 37196 set dummy $tclsh_name; ac_word=$2 36388 37197 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36393 37202 else 36394 37203 case $vi_cv_path_tcl in 36395 @@ -6351,7 +6 489,7 @@37204 @@ -6351,7 +6591,7 @@ 36396 37205 IFS=$as_save_IFS 36397 37206 test -z "$as_dir" && as_dir=. … … 36402 37211 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36403 37212 break 2 36404 @@ -6381,7 +6 519,7 @@37213 @@ -6381,7 +6621,7 @@ 36405 37214 set dummy $tclsh_name; ac_word=$2 36406 37215 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36411 37220 else 36412 37221 case $vi_cv_path_tcl in 36413 @@ -6395,7 +6 533,7 @@37222 @@ -6395,7 +6635,7 @@ 36414 37223 IFS=$as_save_IFS 36415 37224 test -z "$as_dir" && as_dir=. … … 36420 37229 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36421 37230 break 2 36422 @@ -6424,7 +6 562,7 @@37231 @@ -6424,7 +6664,7 @@ 36423 37232 set dummy $tclsh_name; ac_word=$2 36424 37233 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36429 37238 else 36430 37239 case $vi_cv_path_tcl in 36431 @@ -6438,7 +6 576,7 @@37240 @@ -6438,7 +6678,7 @@ 36432 37241 IFS=$as_save_IFS 36433 37242 test -z "$as_dir" && as_dir=. … … 36438 37247 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36439 37248 break 2 36440 @@ -6467,7 +6 605,7 @@37249 @@ -6467,7 +6707,7 @@ 36441 37250 set dummy $tclsh_name; ac_word=$2 36442 37251 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36447 37256 else 36448 37257 case $vi_cv_path_tcl in 36449 @@ -6481,7 +6 619,7 @@37258 @@ -6481,7 +6721,7 @@ 36450 37259 IFS=$as_save_IFS 36451 37260 test -z "$as_dir" && as_dir=. … … 36456 37265 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36457 37266 break 2 36458 @@ -6510,7 +6 648,7 @@37267 @@ -6510,7 +6750,7 @@ 36459 37268 set dummy $tclsh_name; ac_word=$2 36460 37269 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36465 37274 else 36466 37275 case $vi_cv_path_tcl in 36467 @@ -6524,7 +6 662,7 @@37276 @@ -6524,7 +6764,7 @@ 36468 37277 IFS=$as_save_IFS 36469 37278 test -z "$as_dir" && as_dir=. … … 36474 37283 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36475 37284 break 2 36476 @@ -6641,7 +6 779,7 @@37285 @@ -6641,7 +6881,7 @@ 36477 37286 fi 36478 37287 fi … … 36483 37292 fi 36484 37293 36485 @@ -6679,7 +6 817,7 @@37294 @@ -6679,7 +6919,7 @@ 36486 37295 set dummy $RUBY_CMD; ac_word=$2 36487 37296 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36492 37301 else 36493 37302 case $vi_cv_path_ruby in 36494 @@ -6693,7 +6 831,7 @@37303 @@ -6693,7 +6933,7 @@ 36495 37304 IFS=$as_save_IFS 36496 37305 test -z "$as_dir" && as_dir=. … … 36501 37310 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36502 37311 break 2 36503 @@ -6736,9 +6 874,9 @@37312 @@ -6736,9 +6976,9 @@ 36504 37313 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $rubyhdrdir" >&5 36505 37314 $as_echo "$rubyhdrdir" >&6; } … … 36514 37323 rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['ruby_version'].gsub(/\./, '')[0,2]"` 36515 37324 if test "X$rubyversion" = "X"; then 36516 @@ -6767,7 + 6905,7 @@37325 @@ -6767,7 +7007,7 @@ 36517 37326 if test "X$rubyldflags" != "X"; then 36518 37327 rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` … … 36523 37332 fi 36524 37333 fi 36525 @@ -6795,7 + 6933,7 @@37334 @@ -6795,7 +7035,7 @@ 36526 37335 fi 36527 37336 … … 36532 37341 fi 36533 37342 36534 @@ -6857,7 + 6995,7 @@37343 @@ -6857,7 +7097,7 @@ 36535 37344 $as_echo "no" >&6; } 36536 37345 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 … … 36541 37350 else 36542 37351 ac_check_lib_save_LIBS=$LIBS 36543 @@ -6891,7 +7 029,7 @@37352 @@ -6891,7 +7131,7 @@ 36544 37353 fi 36545 37354 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 … … 36550 37359 #define HAVE_LIBSOCKET 1 36551 37360 _ACEOF 36552 @@ -6902,7 +7 040,7 @@37361 @@ -6902,7 +7142,7 @@ 36553 37362 36554 37363 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5 … … 36559 37368 else 36560 37369 ac_check_lib_save_LIBS=$LIBS 36561 @@ -6936,7 +7 074,7 @@37370 @@ -6936,7 +7176,7 @@ 36562 37371 fi 36563 37372 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 … … 36568 37377 #define HAVE_LIBNSL 1 36569 37378 _ACEOF 36570 @@ -7086,7 +7 224,7 @@37379 @@ -7086,7 +7326,7 @@ 36571 37380 set dummy xmkmf; ac_word=$2 36572 37381 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36577 37386 else 36578 37387 case $xmkmfpath in 36579 @@ -7100,7 +7 238,7 @@37388 @@ -7100,7 +7340,7 @@ 36580 37389 IFS=$as_save_IFS 36581 37390 test -z "$as_dir" && as_dir=. … … 36586 37395 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36587 37396 break 2 36588 @@ -7138,8 +7 276,8 @@37397 @@ -7138,8 +7378,8 @@ 36589 37398 have_x=disabled 36590 37399 else … … 36597 37406 else 36598 37407 # One or both of the vars are not set, and there is no cached value. 36599 @@ -7156,7 +7 294,7 @@37408 @@ -7156,7 +7396,7 @@ 36600 37409 @echo libdir='${LIBDIR}' 36601 37410 _ACEOF … … 36606 37415 eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" 36607 37416 done 36608 @@ -7242,7 +7 380,7 @@37417 @@ -7242,7 +7482,7 @@ 36609 37418 fi 36610 37419 done … … 36615 37424 36616 37425 if test "$ac_x_libraries" = no; then 36617 @@ -7416,7 +7 554,7 @@37426 @@ -7416,7 +7656,7 @@ 36618 37427 else 36619 37428 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5 … … 36624 37433 else 36625 37434 ac_check_lib_save_LIBS=$LIBS 36626 @@ -7450,14 +7 588,14 @@37435 @@ -7450,14 +7690,14 @@ 36627 37436 fi 36628 37437 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 … … 36641 37450 else 36642 37451 ac_check_lib_save_LIBS=$LIBS 36643 @@ -7491,7 +7 629,7 @@37452 @@ -7491,7 +7731,7 @@ 36644 37453 fi 36645 37454 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 … … 36650 37459 fi 36651 37460 36652 @@ -7510,14 +7 648,14 @@37461 @@ -7510,14 +7750,14 @@ 36653 37462 # The functions gethostbyname, getservbyname, and inet_addr are 36654 37463 # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. … … 36667 37476 else 36668 37477 ac_check_lib_save_LIBS=$LIBS 36669 @@ -7551,14 +7 689,14 @@37478 @@ -7551,14 +7791,14 @@ 36670 37479 fi 36671 37480 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 … … 36684 37493 else 36685 37494 ac_check_lib_save_LIBS=$LIBS 36686 @@ -7592,7 +7 730,7 @@37495 @@ -7592,7 +7832,7 @@ 36687 37496 fi 36688 37497 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5 … … 36693 37502 fi 36694 37503 36695 @@ -7607,14 +7 745,14 @@37504 @@ -7607,14 +7847,14 @@ 36696 37505 # must be given before -lnsl if both are needed. We assume that 36697 37506 # if connect needs -lnsl, so does gethostbyname. … … 36710 37519 else 36711 37520 ac_check_lib_save_LIBS=$LIBS 36712 @@ -7648,7 +7 786,7 @@37521 @@ -7648,7 +7888,7 @@ 36713 37522 fi 36714 37523 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5 … … 36719 37528 fi 36720 37529 36721 @@ -7656,14 +7 794,14 @@37530 @@ -7656,14 +7896,14 @@ 36722 37531 36723 37532 # Guillermo Gomez says -lposix is necessary on A/UX. … … 36736 37545 else 36737 37546 ac_check_lib_save_LIBS=$LIBS 36738 @@ -7697,7 +7 835,7 @@37547 @@ -7697,7 +7937,7 @@ 36739 37548 fi 36740 37549 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5 … … 36745 37554 fi 36746 37555 36747 @@ -7705,14 +7 843,14 @@37556 @@ -7705,14 +7945,14 @@ 36748 37557 36749 37558 # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. … … 36762 37571 else 36763 37572 ac_check_lib_save_LIBS=$LIBS 36764 @@ -7746,7 +7 884,7 @@37573 @@ -7746,7 +7986,7 @@ 36765 37574 fi 36766 37575 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5 … … 36771 37580 fi 36772 37581 36773 @@ -7764,7 + 7902,7 @@37582 @@ -7764,7 +8004,7 @@ 36774 37583 # John Interrante, Karl Berry 36775 37584 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5 … … 36780 37589 else 36781 37590 ac_check_lib_save_LIBS=$LIBS 36782 @@ -7798,7 + 7936,7 @@37591 @@ -7798,7 +8038,7 @@ 36783 37592 fi 36784 37593 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 … … 36789 37598 fi 36790 37599 36791 @@ -7876,7 +8 014,7 @@37600 @@ -7876,7 +8116,7 @@ 36792 37601 36793 37602 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _XdmcpAuthDoIt in -lXdmcp" >&5 … … 36798 37607 else 36799 37608 ac_check_lib_save_LIBS=$LIBS 36800 @@ -7910,14 +8 048,14 @@37609 @@ -7910,14 +8150,14 @@ 36801 37610 fi 36802 37611 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5 … … 36815 37624 else 36816 37625 ac_check_lib_save_LIBS=$LIBS 36817 @@ -7951,7 +8 089,7 @@37626 @@ -7951,7 +8191,7 @@ 36818 37627 fi 36819 37628 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceOpenConnection" >&5 … … 36824 37633 fi 36825 37634 36826 @@ -7959,7 +8 097,7 @@37635 @@ -7959,7 +8199,7 @@ 36827 37636 LDFLAGS="$X_LIBS $ac_save_LDFLAGS" 36828 37637 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpmCreatePixmapFromData in -lXpm" >&5 … … 36833 37642 else 36834 37643 ac_check_lib_save_LIBS=$LIBS 36835 @@ -7993,7 +8 131,7 @@37644 @@ -7993,7 +8233,7 @@ 36836 37645 fi 36837 37646 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5 … … 36842 37651 fi 36843 37652 36844 @@ -8051,11 +8 189,11 @@37653 @@ -8051,11 +8291,11 @@ 36845 37654 36846 37655 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of wchar_t is 2 bytes" >&5 … … 36856 37665 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 36857 37666 /* end confdefs.h. */ 36858 @@ -8354,7 +8 492,7 @@37667 @@ -8354,7 +8594,7 @@ 36859 37668 set dummy pkg-config; ac_word=$2 36860 37669 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 36865 37674 else 36866 37675 case $PKG_CONFIG in 36867 @@ -8368,7 +8 506,7 @@37676 @@ -8368,7 +8608,7 @@ 36868 37677 IFS=$as_save_IFS 36869 37678 test -z "$as_dir" && as_dir=. … … 36874 37683 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 36875 37684 break 2 36876 @@ -8593,7 +8 731,7 @@37685 @@ -8593,7 +8833,7 @@ 36877 37686 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 36878 37687 $as_echo "not found" >&6; } … … 36883 37692 fi 36884 37693 } 36885 @@ -8786,7 + 8924,7 @@37694 @@ -8786,7 +9026,7 @@ 36886 37695 LDFLAGS="$X_LIBS $LDFLAGS" 36887 37696 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XShapeQueryExtension in -lXext" >&5 … … 36892 37701 else 36893 37702 ac_check_lib_save_LIBS=$LIBS 36894 @@ -8820,13 + 8958,13 @@37703 @@ -8820,13 +9060,13 @@ 36895 37704 fi 36896 37705 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5 … … 36908 37717 else 36909 37718 ac_check_lib_save_LIBS=$LIBS 36910 @@ -8860,13 + 8998,13 @@37719 @@ -8860,13 +9100,13 @@ 36911 37720 fi 36912 37721 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_w_wslen" >&5 … … 36924 37733 else 36925 37734 ac_check_lib_save_LIBS=$LIBS 36926 @@ -8900,13 +9 038,13 @@37735 @@ -8900,13 +9140,13 @@ 36927 37736 fi 36928 37737 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5 … … 36940 37749 else 36941 37750 ac_check_lib_save_LIBS=$LIBS 36942 @@ -8940,14 +9 078,14 @@37751 @@ -8940,14 +9180,14 @@ 36943 37752 fi 36944 37753 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5 … … 36957 37766 else 36958 37767 ac_check_lib_save_LIBS=$LIBS 36959 @@ -8981,7 +9 119,7 @@37768 @@ -8981,7 +9221,7 @@ 36960 37769 fi 36961 37770 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xp_XpEndJob" >&5 … … 36966 37775 fi 36967 37776 36968 @@ -9020,7 +9 158,7 @@37777 @@ -9020,7 +9260,7 @@ 36969 37778 for ac_header in X11/SM/SMlib.h 36970 37779 do : … … 36975 37784 #define HAVE_X11_SM_SMLIB_H 1 36976 37785 _ACEOF 36977 @@ -9040,8 +9 178,7 @@37786 @@ -9040,8 +9280,7 @@ 36978 37787 do : 36979 37788 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` … … 36985 37794 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 36986 37795 _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 @@ 36988 37806 do : 36989 37807 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` … … 36995 37813 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 36996 37814 _ACEOF 36997 @@ -9192,7 +9 328,7 @@37815 @@ -9192,7 +9430,7 @@ 36998 37816 36999 37817 … … 37004 37822 37005 37823 if test "$enable_xim" = "yes"; then 37006 @@ -9246,13 +9 382,13 @@37824 @@ -9246,13 +9484,13 @@ 37007 37825 37008 37826 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether toupper is broken" >&5 … … 37020 37838 else 37021 37839 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37022 @@ -9336,7 +9 472,7 @@37840 @@ -9336,7 +9574,7 @@ 37023 37841 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 37024 37842 … … 37029 37847 fi 37030 37848 37031 @@ -9344,7 +9 480,7 @@37849 @@ -9344,7 +9582,7 @@ 37032 37850 if test "$HAS_ELF" = 1; then 37033 37851 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lelf" >&5 … … 37038 37856 else 37039 37857 ac_check_lib_save_LIBS=$LIBS 37040 @@ -9372,7 +9 508,7 @@37858 @@ -9372,7 +9610,7 @@ 37041 37859 fi 37042 37860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_main" >&5 … … 37047 37865 #define HAVE_LIBELF 1 37048 37866 _ACEOF 37049 @@ -9388,7 +9 524,7 @@37867 @@ -9388,7 +9626,7 @@ 37050 37868 as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` 37051 37869 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 … … 37056 37874 else 37057 37875 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37058 @@ -9415,8 +9 551,7 @@37876 @@ -9415,8 +9653,7 @@ 37059 37877 eval ac_res=\$$as_ac_Header 37060 37878 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 … … 37066 37884 #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 37067 37885 _ACEOF 37068 @@ -9429,7 +9 564,7 @@37886 @@ -9429,7 +9666,7 @@ 37069 37887 if test $ac_header_dirent = dirent.h; then 37070 37888 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 … … 37075 37893 else 37076 37894 ac_func_search_save_LIBS=$LIBS 37077 @@ -9463,11 +9 598,11 @@37895 @@ -9463,11 +9700,11 @@ 37078 37896 fi 37079 37897 rm -f core conftest.err conftest.$ac_objext \ … … 37089 37907 else 37090 37908 ac_cv_search_opendir=no 37091 @@ -9486,7 +9 621,7 @@37909 @@ -9486,7 +9723,7 @@ 37092 37910 else 37093 37911 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 … … 37098 37916 else 37099 37917 ac_func_search_save_LIBS=$LIBS 37100 @@ -9520,11 +9 655,11 @@37918 @@ -9520,11 +9757,11 @@ 37101 37919 fi 37102 37920 rm -f core conftest.err conftest.$ac_objext \ … … 37112 37930 else 37113 37931 ac_cv_search_opendir=no 37114 @@ -9584,8 +9 719,7 @@37932 @@ -9584,8 +9821,7 @@ 37115 37933 do : 37116 37934 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` … … 37122 37940 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 37123 37941 _ACEOF 37124 @@ -9601,7 +9 735,7 @@37942 @@ -9601,7 +9837,7 @@ 37125 37943 # include <sys/stream.h> 37126 37944 #endif … … 37131 37949 #define HAVE_SYS_PTEM_H 1 37132 37950 _ACEOF 37133 @@ -9617,7 +9 751,7 @@37951 @@ -9617,7 +9853,7 @@ 37134 37952 # include <sys/param.h> 37135 37953 #endif … … 37140 37958 #define HAVE_SYS_SYSCTL_H 1 37141 37959 _ACEOF 37142 @@ -9657,7 +9 791,7 @@37960 @@ -9657,7 +9893,7 @@ 37143 37961 for ac_header in strings.h 37144 37962 do : … … 37149 37967 #define HAVE_STRINGS_H 1 37150 37968 _ACEOF 37151 @@ -9716,7 +9 850,7 @@37969 @@ -9716,7 +9952,7 @@ 37152 37970 if test $ac_cv_c_compiler_gnu = yes; then 37153 37971 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 … … 37158 37976 else 37159 37977 ac_pattern="Autoconf.*'x'" 37160 @@ -9757,7 +9 891,7 @@37978 @@ -9757,7 +9993,7 @@ 37161 37979 37162 37980 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 … … 37167 37985 else 37168 37986 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37169 @@ -9766,11 + 9900,11 @@37987 @@ -9766,11 +10002,11 @@ 37170 37988 int 37171 37989 main () … … 37182 38000 char const *const *pcpcc; 37183 38001 char **ppc; 37184 @@ -9787,8 + 9921,9 @@38002 @@ -9787,8 +10023,9 @@ 37185 38003 ++pcpcc; 37186 38004 ppc = (char**) pcpcc; … … 37194 38012 37195 38013 *t++ = 0; 37196 @@ -9804,10 + 9939,10 @@38014 @@ -9804,10 +10041,10 @@ 37197 38015 iptr p = 0; 37198 38016 ++p; … … 37208 38026 { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ 37209 38027 const int foo = 10; 37210 @@ -9837,7 + 9972,7 @@38028 @@ -9837,7 +10074,7 @@ 37211 38029 37212 38030 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 … … 37217 38035 else 37218 38036 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37219 @@ -9870,7 +10 005,7 @@38037 @@ -9870,7 +10107,7 @@ 37220 38038 fi 37221 38039 … … 37226 38044 else 37227 38045 37228 @@ -9881,7 +10 016,7 @@38046 @@ -9881,7 +10118,7 @@ 37229 38047 fi 37230 38048 … … 37235 38053 else 37236 38054 37237 @@ -9892,7 +10 027,7 @@38055 @@ -9892,7 +10129,7 @@ 37238 38056 fi 37239 38057 … … 37244 38062 else 37245 38063 37246 @@ -9903,7 +10 038,7 @@38064 @@ -9903,7 +10140,7 @@ 37247 38065 fi 37248 38066 … … 37253 38071 else 37254 38072 37255 @@ -9915,7 +10 050,7 @@38073 @@ -9915,7 +10152,7 @@ 37256 38074 37257 38075 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 … … 37262 38080 else 37263 38081 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37264 @@ -9960,7 +10 095,7 @@38082 @@ -9960,7 +10197,7 @@ 37265 38083 37266 38084 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 … … 37271 38089 else 37272 38090 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37273 @@ -9994,7 +10 129,7 @@38091 @@ -9994,7 +10231,7 @@ 37274 38092 fi 37275 38093 … … 37280 38098 else 37281 38099 37282 @@ -10005,7 +10 140,7 @@38100 @@ -10005,7 +10242,7 @@ 37283 38101 fi 37284 38102 … … 37289 38107 else 37290 38108 37291 @@ -10017,7 +10 152,7 @@38109 @@ -10017,7 +10254,7 @@ 37292 38110 37293 38111 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 … … 37298 38116 else 37299 38117 ac_cv_c_bigendian=unknown 37300 @@ -10235,7 +10 370,7 @@38118 @@ -10235,7 +10472,7 @@ 37301 38119 37302 38120 ;; #( … … 37307 38125 esac 37308 38126 37309 @@ -10371,7 +10 506,7 @@38127 @@ -10371,7 +10608,7 @@ 37310 38128 { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 37311 38129 $as_echo "OK" >&6; } … … 37316 38134 rm -f core conftest.err conftest.$ac_objext \ 37317 38135 conftest$ac_exeext conftest.$ac_ext 37318 @@ -10387,7 +10 522,7 @@38136 @@ -10387,7 +10624,7 @@ 37319 38137 as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh` 37320 38138 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -l${libname}" >&5 … … 37325 38143 else 37326 38144 ac_check_lib_save_LIBS=$LIBS 37327 @@ -10422,8 +10 557,7 @@38145 @@ -10422,8 +10659,7 @@ 37328 38146 eval ac_res=\$$as_ac_Lib 37329 38147 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 … … 37335 38153 #define `$as_echo "HAVE_LIB${libname}" | $as_tr_cpp` 1 37336 38154 _ACEOF 37337 @@ -10489,7 +10 623,7 @@38155 @@ -10489,7 +10725,7 @@ 37338 38156 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 37339 38157 $as_echo "yes" >&6; } … … 37344 38162 Or specify the name of the library with --with-tlib." "$LINENO" 5 37345 38163 fi 37346 @@ -10499,13 +10 633,13 @@38164 @@ -10499,13 +10735,13 @@ 37347 38165 37348 38166 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we talk terminfo" >&5 … … 37360 38178 else 37361 38179 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37362 @@ -10552,13 +10 686,13 @@38180 @@ -10552,13 +10788,13 @@ 37363 38181 if test "x$olibs" != "x$LIBS"; then 37364 38182 { $as_echo "$as_me:${as_lineno-$LINENO}: checking what tgetent() returns for an unknown terminal" >&5 … … 37376 38194 else 37377 38195 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37378 @@ -10853,13 +1 0987,13 @@38196 @@ -10853,13 +11089,13 @@ 37379 38197 rm -f conftest_grp 37380 38198 { $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group" >&5 … … 37392 38210 else 37393 38211 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37394 @@ -10940,7 +11 074,7 @@38212 @@ -10940,7 +11176,7 @@ 37395 38213 _ACEOF 37396 38214 … … 37401 38219 $as_echo "#define PTYMODE 0620" >>confdefs.h 37402 38220 37403 @@ -10950,7 +11 084,7 @@38221 @@ -10950,7 +11186,7 @@ 37404 38222 37405 38223 { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 … … 37410 38228 else 37411 38229 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37412 @@ -11023,13 +11 157,13 @@38230 @@ -11023,13 +11259,13 @@ 37413 38231 37414 38232 { $as_echo "$as_me:${as_lineno-$LINENO}: checking getcwd implementation is broken" >&5 … … 37426 38244 else 37427 38245 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37428 @@ -11082,8 +11 216,7 @@38246 @@ -11082,8 +11318,7 @@ 37429 38247 do : 37430 38248 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` … … 37436 38254 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 37437 38255 _ACEOF 37438 @@ -11093,7 +11 226,7 @@38256 @@ -11093,7 +11328,7 @@ 37439 38257 37440 38258 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 … … 37445 38263 else 37446 38264 while :; do 37447 @@ -11169,7 +11 302,7 @@38265 @@ -11169,7 +11404,7 @@ 37448 38266 37449 38267 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 … … 37454 38272 else 37455 38273 ac_cv_sys_largefile_CC=no 37456 @@ -11220,7 +11 353,7 @@38274 @@ -11220,7 +11455,7 @@ 37457 38275 37458 38276 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 … … 37463 38281 else 37464 38282 while :; do 37465 @@ -11289,7 +11 422,7 @@38283 @@ -11289,7 +11524,7 @@ 37466 38284 if test $ac_cv_sys_file_offset_bits = unknown; then 37467 38285 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 … … 37472 38290 else 37473 38291 while :; do 37474 @@ -11356,6 +11 489,8 @@38292 @@ -11356,6 +11591,8 @@ 37475 38293 esac 37476 38294 rm -rf conftest* … … 37481 38299 37482 38300 37483 @@ -11389,13 +11 524,13 @@38301 @@ -11389,13 +11626,13 @@ 37484 38302 37485 38303 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat() ignores a trailing slash" >&5 … … 37497 38315 else 37498 38316 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37499 @@ -11519,7 +11 654,7 @@38317 @@ -11519,7 +11756,7 @@ 37500 38318 37501 38319 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strtod in -lm" >&5 … … 37506 38324 else 37507 38325 ac_check_lib_save_LIBS=$LIBS 37508 @@ -11553,7 +11 688,7 @@38326 @@ -11553,7 +11790,7 @@ 37509 38327 fi 37510 38328 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_strtod" >&5 … … 37515 38333 #define HAVE_LIBM 1 37516 38334 _ACEOF 37517 @@ -11619,7 +11 754,7 @@38335 @@ -11619,7 +11856,7 @@ 37518 38336 $as_echo "no" >&6; } 37519 38337 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get_file in -lposix1e" >&5 … … 37524 38342 else 37525 38343 ac_check_lib_save_LIBS=$LIBS 37526 @@ -11653,12 +11 788,12 @@38344 @@ -11653,12 +11890,12 @@ 37527 38345 fi 37528 38346 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix1e_acl_get_file" >&5 … … 37539 38357 else 37540 38358 ac_check_lib_save_LIBS=$LIBS 37541 @@ -11692,11 +11 827,11 @@38359 @@ -11692,11 +11929,11 @@ 37542 38360 fi 37543 38361 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_acl_acl_get_file" >&5 … … 37553 38371 else 37554 38372 ac_check_lib_save_LIBS=$LIBS 37555 @@ -11730,7 +11 865,7 @@38373 @@ -11730,7 +11967,7 @@ 37556 38374 fi 37557 38375 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5 … … 37562 38380 fi 37563 38381 37564 @@ -11772,7 +1 1907,7 @@38382 @@ -11772,7 +12009,7 @@ 37565 38383 37566 38384 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_get in -lsec" >&5 … … 37571 38389 else 37572 38390 ac_check_lib_save_LIBS=$LIBS 37573 @@ -11806,7 +1 1941,7 @@38391 @@ -11806,7 +12043,7 @@ 37574 38392 fi 37575 38393 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sec_acl_get" >&5 … … 37580 38398 37581 38399 else 37582 @@ -11902,7 +12 037,7 @@38400 @@ -11902,7 +12139,7 @@ 37583 38401 $as_echo "no" >&6; } 37584 38402 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gpm" >&5 … … 37589 38407 else 37590 38408 olibs="$LIBS" ; LIBS="-lgpm" 37591 @@ -11955,7 +12 090,7 @@38409 @@ -11955,7 +12192,7 @@ 37592 38410 $as_echo "no" >&6; } 37593 38411 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysmouse" >&5 … … 37598 38416 else 37599 38417 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37600 @@ -12161,7 +12 296,7 @@38418 @@ -12161,7 +12398,7 @@ 37601 38419 # This bug is HP SR number 8606223364. 37602 38420 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 … … 37607 38425 else 37608 38426 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : 37609 @@ -12170,9 +12 305,8 @@38427 @@ -12170,9 +12407,8 @@ 37610 38428 if test "$ac_cv_type_int" = yes; then 37611 38429 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 37619 38437 ac_cv_sizeof_int=0 37620 38438 fi 37621 @@ -12195,7 +12 329,7 @@38439 @@ -12195,7 +12431,7 @@ 37622 38440 # This bug is HP SR number 8606223364. 37623 38441 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 … … 37628 38446 else 37629 38447 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : 37630 @@ -12204,9 +12 338,8 @@38448 @@ -12204,9 +12440,8 @@ 37631 38449 if test "$ac_cv_type_long" = yes; then 37632 38450 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 37640 38458 ac_cv_sizeof_long=0 37641 38459 fi 37642 @@ -12229,7 +12 362,7 @@38460 @@ -12229,7 +12464,7 @@ 37643 38461 # This bug is HP SR number 8606223364. 37644 38462 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5 … … 37649 38467 else 37650 38468 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" "$ac_includes_default"; then : 37651 @@ -12238,9 +12 371,8 @@38469 @@ -12238,9 +12473,8 @@ 37652 38470 if test "$ac_cv_type_time_t" = yes; then 37653 38471 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 37661 38479 ac_cv_sizeof_time_t=0 37662 38480 fi 37663 @@ -12263,7 +12 395,7 @@38481 @@ -12263,7 +12497,7 @@ 37664 38482 # This bug is HP SR number 8606223364. 37665 38483 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5 … … 37670 38488 else 37671 38489 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default"; then : 37672 @@ -12272,9 +12 404,8 @@38490 @@ -12272,9 +12506,8 @@ 37673 38491 if test "$ac_cv_type_off_t" = yes; then 37674 38492 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 … … 37682 38500 ac_cv_sizeof_off_t=0 37683 38501 fi 37684 @@ -12292,6 +12 423,15 @@38502 @@ -12292,6 +12525,15 @@ 37685 38503 37686 38504 … … 37698 38516 $as_echo_n "checking uint32_t is 32 bits... " >&6; } 37699 38517 if test "$cross_compiling" = yes; then : 37700 @@ -12318,7 +12 458,7 @@38518 @@ -12318,7 +12560,7 @@ 37701 38519 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 37702 38520 $as_echo "ok" >&6; } … … 37707 38525 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ 37708 38526 conftest.$ac_objext conftest.beam conftest.$ac_ext 37709 @@ -12350,13 +12 490,13 @@38527 @@ -12350,13 +12592,13 @@ 37710 38528 37711 38529 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmove handles overlaps" >&5 … … 37723 38541 else 37724 38542 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37725 @@ -12387,13 +12 527,13 @@38543 @@ -12387,13 +12629,13 @@ 37726 38544 else 37727 38545 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether bcopy handles overlaps" >&5 … … 37739 38557 else 37740 38558 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37741 @@ -12424,13 +12 564,13 @@38559 @@ -12424,13 +12666,13 @@ 37742 38560 else 37743 38561 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memcpy handles overlaps" >&5 … … 37755 38573 else 37756 38574 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 37757 @@ -12525,7 +12 665,7 @@38575 @@ -12525,7 +12767,7 @@ 37758 38576 37759 38577 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _xpg4_setrunelocale in -lxpg4" >&5 … … 37764 38582 else 37765 38583 ac_check_lib_save_LIBS=$LIBS 37766 @@ -12559,7 +12 699,7 @@38584 @@ -12559,7 +12801,7 @@ 37767 38585 fi 37768 38586 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5 … … 37773 38591 fi 37774 38592 37775 @@ -12621,7 +12 761,7 @@38593 @@ -12621,7 +12863,7 @@ 37776 38594 set dummy msgfmt; ac_word=$2 37777 38595 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 … … 37782 38600 else 37783 38601 if test -n "$MSGFMT"; then 37784 @@ -12633,7 +12 773,7 @@38602 @@ -12633,7 +12875,7 @@ 37785 38603 IFS=$as_save_IFS 37786 38604 test -z "$as_dir" && as_dir=. … … 37791 38609 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 37792 38610 break 2 37793 @@ -12659,6 +12 799,8 @@38611 @@ -12659,6 +12901,8 @@ 37794 38612 if test -f po/Makefile; then 37795 38613 have_gettext="no" … … 37800 38618 /* end confdefs.h. */ 37801 38619 #include <libintl.h> 37802 @@ -12672,10 +12 814,9 @@38620 @@ -12672,10 +12916,9 @@ 37803 38621 _ACEOF 37804 38622 if ac_fn_c_try_link "$LINENO"; then : … … 37813 38631 /* end confdefs.h. */ 37814 38632 #include <libintl.h> 37815 @@ -12689,7 +12 830,8 @@38633 @@ -12689,7 +12932,8 @@ 37816 38634 _ACEOF 37817 38635 if ac_fn_c_try_link "$LINENO"; then : … … 37823 38641 { $as_echo "$as_me:${as_lineno-$LINENO}: result: gettext() doesn't work" >&5 37824 38642 $as_echo "gettext() doesn't work" >&6; }; 37825 @@ -12712,7 +12 854,7 @@38643 @@ -12712,7 +12956,7 @@ 37826 38644 for ac_func in bind_textdomain_codeset 37827 38645 do : … … 37832 38650 #define HAVE_BIND_TEXTDOMAIN_CODESET 1 37833 38651 _ACEOF 37834 @@ -12755,11 +12 897,11 @@38652 @@ -12755,11 +12999,11 @@ 37835 38653 fi 37836 38654 … … 37846 38664 fi 37847 38665 37848 @@ -12956,7 +13 098,7 @@38666 @@ -12956,7 +13200,7 @@ 37849 38667 for ac_header in setjmp.h 37850 38668 do : … … 37855 38673 #define HAVE_SETJMP_H 1 37856 38674 _ACEOF 37857 @@ -13107,10 +13 249,21 @@38675 @@ -13107,10 +13351,21 @@ 37858 38676 :end' >>confcache 37859 38677 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else … … 37879 38697 { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 37880 38698 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} 37881 @@ -13126,6 +13 279,7 @@38699 @@ -13126,6 +13381,7 @@ 37882 38700 37883 38701 ac_libobjs= … … 37887 38705 # 1. Remove the extension, and $U if already installed. 37888 38706 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' 37889 @@ -13142,7 +13 296,7 @@38707 @@ -13142,7 +13398,7 @@ 37890 38708 37891 38709 … … 37896 38714 ac_clean_files_save=$ac_clean_files 37897 38715 ac_clean_files="$ac_clean_files $CONFIG_STATUS" 37898 @@ -13243,6 +13 397,7 @@38716 @@ -13243,6 +13499,7 @@ 37899 38717 IFS=" "" $as_nl" 37900 38718 … … 37904 38722 *[\\/]* ) as_myself=$0 ;; 37905 38723 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 37906 @@ -13288,19 +13 443,19 @@38724 @@ -13288,19 +13545,19 @@ 37907 38725 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 37908 38726 … … 37932 38750 } # as_fn_error 37933 38751 37934 @@ -13438,16 +13 593,16 @@38752 @@ -13438,16 +13695,16 @@ 37935 38753 # ... but there are two gotchas: 37936 38754 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. … … 37953 38771 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file 37954 38772 rmdir conf$$.dir 2>/dev/null 37955 @@ -13496,7 +13 651,7 @@38773 @@ -13496,7 +13753,7 @@ 37956 38774 test -d "$as_dir" && break 37957 38775 done … … 37962 38780 37963 38781 } # as_fn_mkdir_p 37964 @@ -13507,28 +13 662,16 @@38782 @@ -13507,28 +13764,16 @@ 37965 38783 as_mkdir_p=false 37966 38784 fi … … 38001 38819 # Sed expression to map a string onto a valid CPP name. 38002 38820 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" 38003 @@ -13550,7 +13 693,7 @@38821 @@ -13550,7 +13795,7 @@ 38004 38822 # values after options handling. 38005 38823 ac_log=" … … 38010 38828 CONFIG_FILES = $CONFIG_FILES 38011 38829 CONFIG_HEADERS = $CONFIG_HEADERS 38012 @@ -13612,10 +13 755,10 @@38830 @@ -13612,10 +13857,10 @@ 38013 38831 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" 38014 38832 ac_cs_version="\\ … … 38023 38841 gives unlimited permission to copy, distribute and modify it." 38024 38842 38025 @@ -13631,11 +13 774,16 @@38843 @@ -13631,11 +13876,16 @@ 38026 38844 while test $# != 0 38027 38845 do … … 38041 38859 ac_option=$1 38042 38860 ac_optarg=$2 38043 @@ -13657,6 +13 805,7 @@38861 @@ -13657,6 +13907,7 @@ 38044 38862 $ac_shift 38045 38863 case $ac_optarg in … … 38049 38867 as_fn_append CONFIG_FILES " '$ac_optarg'" 38050 38868 ac_need_defaults=false;; 38051 @@ -13669,7 +13 818,7 @@38869 @@ -13669,7 +13920,7 @@ 38052 38870 ac_need_defaults=false;; 38053 38871 --he | --h) … … 38058 38876 --help | --hel | -h ) 38059 38877 $as_echo "$ac_cs_usage"; exit ;; 38060 @@ -13678,7 +13 827,7 @@38878 @@ -13678,7 +13929,7 @@ 38061 38879 ac_cs_silent=: ;; 38062 38880 … … 38067 38885 38068 38886 *) as_fn_append ac_config_targets " $1" 38069 @@ -13698,7 +13 847,7 @@38887 @@ -13698,7 +13949,7 @@ 38070 38888 _ACEOF 38071 38889 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 … … 38076 38894 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 38077 38895 CONFIG_SHELL='$SHELL' 38078 @@ -13730,7 +13 879,7 @@38896 @@ -13730,7 +13981,7 @@ 38079 38897 "auto/config.h") CONFIG_HEADERS="$CONFIG_HEADERS auto/config.h:config.h.in" ;; 38080 38898 "auto/config.mk") CONFIG_FILES="$CONFIG_FILES auto/config.mk:config.mk.in" ;; … … 38085 38903 done 38086 38904 38087 @@ -13752,9 +1 3901,10 @@38905 @@ -13752,9 +14003,10 @@ 38088 38906 # after its creation but before its name has been assigned to `$tmp'. 38089 38907 $debug || … … 38098 38916 trap 'as_fn_exit 1' 1 2 13 15 38099 38917 } 38100 @@ -13762,12 +1 3912,13 @@38918 @@ -13762,12 +14014,13 @@ 38101 38919 38102 38920 { … … 38114 38932 # Set up the scripts for CONFIG_FILES section. 38115 38933 # No need to generate them if there are no CONFIG_FILES. 38116 @@ -13784,12 +1 3935,12 @@38934 @@ -13784,12 +14037,12 @@ 38117 38935 fi 38118 38936 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` … … 38129 38947 38130 38948 38131 @@ -13798,18 +1 3949,18 @@38949 @@ -13798,18 +14051,18 @@ 38132 38950 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && 38133 38951 echo "_ACEOF" … … 38152 38970 ac_delim="$ac_delim!$ac_delim _$ac_delim!! " 38153 38971 fi 38154 @@ -13817,7 +1 3968,7 @@38972 @@ -13817,7 +14070,7 @@ 38155 38973 rm -f conf$$subs.sh 38156 38974 … … 38161 38979 sed -n ' 38162 38980 h 38163 @@ -13865,7 +14 016,7 @@38981 @@ -13865,7 +14118,7 @@ 38164 38982 rm -f conf$$subs.awk 38165 38983 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 … … 38170 38988 FS = "" 38171 38989 38172 @@ -13897,21 +14 048,29 @@38990 @@ -13897,21 +14150,29 @@ 38173 38991 sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" 38174 38992 else … … 38209 39027 }' 38210 39028 fi 38211 @@ -13923,7 +14 082,7 @@39029 @@ -13923,7 +14184,7 @@ 38212 39030 # No need to generate them if there are no CONFIG_HEADERS. 38213 39031 # This happens for instance with `./config.status Makefile'. … … 38218 39036 _ACEOF 38219 39037 38220 @@ -13935,11 +14 094,11 @@39038 @@ -13935,11 +14196,11 @@ 38221 39039 # handling of long lines. 38222 39040 ac_delim='%!_!# ' … … 38233 39051 ac_delim="$ac_delim!$ac_delim _$ac_delim!! " 38234 39052 fi 38235 @@ -14024,7 +14 183,7 @@39053 @@ -14024,7 +14285,7 @@ 38236 39054 _ACAWK 38237 39055 _ACEOF … … 38242 39060 38243 39061 38244 @@ -14037,7 +14 196,7 @@39062 @@ -14037,7 +14298,7 @@ 38245 39063 esac 38246 39064 case $ac_mode$ac_tag in … … 38251 39069 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; 38252 39070 esac 38253 @@ -14056,7 +14 215,7 @@39071 @@ -14056,7 +14317,7 @@ 38254 39072 for ac_f 38255 39073 do … … 38260 39078 # (if the path is not absolute). The absolute path cannot be DOS-style, 38261 39079 # because $ac_f cannot contain `:'. 38262 @@ -14065,7 +14 224,7 @@39080 @@ -14065,7 +14326,7 @@ 38263 39081 [\\/$]*) false;; 38264 39082 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; … … 38269 39087 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac 38270 39088 as_fn_append ac_file_inputs " '$ac_f'" 38271 @@ -14091,8 +14 250,8 @@39089 @@ -14091,8 +14352,8 @@ 38272 39090 esac 38273 39091 … … 38280 39098 ;; 38281 39099 esac 38282 @@ -14217,23 +14 376,24 @@39100 @@ -14217,23 +14478,24 @@ 38283 39101 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t 38284 39102 $ac_datarootdir_hack … … 38315 39133 :H) 38316 39134 # 38317 @@ -14242,21 +14 402,21 @@39135 @@ -14242,21 +14504,21 @@ 38318 39136 if test x"$ac_file" != x-; then 38319 39137 { … … 38345 39163 ;; 38346 39164 38347 @@ -14271,7 +14 431,7 @@39165 @@ -14271,7 +14533,7 @@ 38348 39166 ac_clean_files=$ac_clean_files_save 38349 39167 … … 38354 39172 38355 39173 # configure is writing to config.log, and then calls config.status. 38356 @@ -14292,7 +14 452,7 @@39174 @@ -14292,7 +14554,7 @@ 38357 39175 exec 5>>auto/config.log 38358 39176 # Use ||, not &&, to avoid exiting from the if with $? = 1, which … … 38365 39183 diff -Naur vim74.orig/src/blowfish.c vim74/src/blowfish.c 38366 39184 --- vim74.orig/src/blowfish.c 2010-12-17 18:58:18.000000000 +0000 38367 +++ vim74/src/blowfish.c 2014-0 3-30 20:09:04.469387642+000039185 +++ vim74/src/blowfish.c 2014-04-27 05:20:58.115101918 +0000 38368 39186 @@ -6,7 +6,7 @@ 38369 39187 * Do ":help credits" in Vim to see a list of people who contributed. … … 38493 39311 diff -Naur vim74.orig/src/buffer.c vim74/src/buffer.c 38494 39312 --- vim74.orig/src/buffer.c 2013-07-17 14:39:00.000000000 +0000 38495 +++ vim74/src/buffer.c 2014-0 3-30 20:09:04.469387642+000039313 +++ vim74/src/buffer.c 2014-04-27 05:20:58.115101918 +0000 38496 39314 @@ -211,7 +211,12 @@ 38497 39315 … … 38507 39325 /* 38508 39326 * 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 @@ 38510 39346 #if defined(FEAT_LISTCMDS) || defined(FEAT_PYTHON) \ 38511 39347 || defined(FEAT_PYTHON3) || defined(PROTO) … … 38558 39394 * Implementation of the commands for the buffer list. 38559 39395 * 38560 @@ -1109,7 +11 58,6 @@39396 @@ -1109,7 +1166,6 @@ 38561 39397 if (unload) 38562 39398 { … … 38566 39402 /* When unloading or deleting a buffer that's already unloaded and 38567 39403 * unlisted: fail silently. */ 38568 @@ -1150,30 +1 198,7 @@39404 @@ -1150,30 +1206,7 @@ 38569 39405 if (bp->b_p_bl && bp != buf) 38570 39406 break; … … 38598 39434 #ifdef FEAT_WINDOWS 38599 39435 /* 38600 @@ -1186,7 +121 1,10 @@39436 @@ -1186,7 +1219,10 @@ 38601 39437 && !(curwin->w_closing || curwin->w_buffer->b_closing) 38602 39438 # endif … … 38610 39446 38611 39447 /* 38612 @@ -1204,7 +12 32,8 @@39448 @@ -1204,7 +1240,8 @@ 38613 39449 38614 39450 /* … … 38620 39456 * Then prefer the buffer we most recently visited. 38621 39457 * Else try to find one that is loaded, after the current buffer, 38622 @@ -1303,6 +13 32,13 @@39458 @@ -1303,6 +1340,13 @@ 38623 39459 } 38624 39460 } … … 38634 39470 * make buf current buffer 38635 39471 */ 38636 @@ -1396,10 +14 32,8 @@39472 @@ -1396,10 +1440,8 @@ 38637 39473 curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */ 38638 39474 buflist_altfpos(curwin); /* remember curpos */ … … 38645 39481 /* close_windows() or apply_autocmds() may change curbuf */ 38646 39482 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 @@ 38648 39511 clear_string_option(&buf->b_p_qe); 38649 39512 #endif … … 38656 39519 38657 39520 /* 38658 @@ -4059,7 +4 097,8 @@39521 @@ -4059,7 +4115,8 @@ 38659 39522 item[curitem].minwid = -syn_namen2id(t, (int)(s - t)); 38660 39523 curitem++; … … 38668 39531 diff -Naur vim74.orig/src/charset.c vim74/src/charset.c 38669 39532 --- vim74.orig/src/charset.c 2013-02-06 15:20:01.000000000 +0000 38670 +++ vim74/src/charset.c 2014-0 3-30 20:09:04.472721085+000039533 +++ vim74/src/charset.c 2014-04-27 05:20:58.118435333 +0000 38671 39534 @@ -1380,10 +1380,7 @@ 38672 39535 && (State & NORMAL) … … 38699 39562 diff -Naur vim74.orig/src/config.h.in vim74/src/config.h.in 38700 39563 --- vim74.orig/src/config.h.in 2013-02-26 13:18:19.000000000 +0000 38701 +++ vim74/src/config.h.in 2014-0 3-30 20:09:04.472721085+000039564 +++ vim74/src/config.h.in 2014-04-27 05:20:58.118435333 +0000 38702 39565 @@ -37,10 +37,10 @@ 38703 39566 #undef UNIX … … 38713 39576 /* Defined to the size of off_t */ 38714 39577 #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 @@ 38716 39587 38717 39588 /* Define if you want Cygwin to use the WIN32 clipboard, not compatible with X11*/ … … 38722 39593 diff -Naur vim74.orig/src/configure.in vim74/src/configure.in 38723 39594 --- vim74.orig/src/configure.in 2013-08-04 18:00:50.000000000 +0000 38724 +++ vim74/src/configure.in 2014-0 3-30 20:09:04.476054528+000039595 +++ vim74/src/configure.in 2014-04-27 05:20:58.121768749 +0000 38725 39596 @@ -14,6 +14,7 @@ 38726 39597 AC_PROG_CC dnl required by almost everything … … 38731 39602 AC_PROG_AWK dnl required for "make html" in ../doc 38732 39603 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 38733 39617 @@ -62,6 +63,29 @@ 38734 39618 fi … … 38740 39624 +dnl Note that this does not work to get the version of clang 3.1 or 3.2. 38741 39625 +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'` 38743 39627 +if test x"$CLANG_VERSION_STRING" != x"" ; then 38744 39628 + CLANG_MAJOR=`echo "$CLANG_VERSION_STRING" | sed -n -e 's/\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*/\1/p'` … … 38793 39677 rm -f conftest.c conftest.o 38794 39678 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 @@ 38796 39739 if test "X$vi_cv_path_luajit" != "X"; then 38797 39740 dnl -- find LuaJIT version … … 38802 39745 [ vi_cv_version_lua_luajit=`${vi_cv_path_luajit} -e "print(_VERSION)" | sed 's/.* //'` ]) 38803 39746 vi_cv_path_lua="$vi_cv_path_luajit" 38804 @@ -774,9 +8 03,19 @@39747 @@ -774,9 +833,19 @@ 38805 39748 AC_MSG_CHECKING(for mzscheme_base.c) 38806 39749 if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then … … 38822 39765 fi 38823 39766 if test "X$MZSCHEME_EXTRA" != "X" ; then 38824 @@ -898,7 +9 37,7 @@39767 @@ -898,7 +967,7 @@ 38825 39768 PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'` 38826 39769 fi … … 38831 39774 fi 38832 39775 fi 38833 @@ -1359,7 +1 398,7 @@39776 @@ -1359,7 +1428,7 @@ 38834 39777 ldflags_save=$LDFLAGS 38835 39778 dnl -ldl must go first to make this work on Archlinux (Roland Puntaier) … … 38840 39783 /* If this program fails, then RTLD_GLOBAL is needed. 38841 39784 * RTLD_GLOBAL will be used and then it is not possible to 38842 @@ -1392,7 +14 31,7 @@39785 @@ -1392,7 +1461,7 @@ 38843 39786 if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}")) 38844 39787 not_needed = 1; … … 38849 39792 38850 39793 CFLAGS=$cflags_save 38851 @@ -1404,7 +14 43,7 @@39794 @@ -1404,7 +1473,7 @@ 38852 39795 ldflags_save=$LDFLAGS 38853 39796 dnl -ldl must go first to make this work on Archlinux (Roland Puntaier) … … 38858 39801 #include <wchar.h> 38859 39802 /* If this program fails, then RTLD_GLOBAL is needed. 38860 @@ -1438,7 +1 477,7 @@39803 @@ -1438,7 +1507,7 @@ 38861 39804 if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}")) 38862 39805 not_needed = 1; … … 38867 39810 38868 39811 CFLAGS=$cflags_save 38869 @@ -1654,9 +1 693,9 @@39812 @@ -1654,9 +1723,9 @@ 38870 39813 if test "X$rubyhdrdir" != "X"; then 38871 39814 AC_MSG_RESULT($rubyhdrdir) … … 38880 39823 rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['ruby_version']].gsub(/\./, '')[[0,2]]"` 38881 39824 if test "X$rubyversion" = "X"; then 38882 @@ -1689,7 +17 28,7 @@39825 @@ -1689,7 +1758,7 @@ 38883 39826 dnl configure, so strip these flags first (if present) 38884 39827 rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` … … 38889 39832 fi 38890 39833 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 @@ 38892 39844 38893 39845 AC_CACHE_CHECK([whether toupper is broken], [vim_cv_toupper_broken], … … 38898 39850 #include <ctype.h> 38899 39851 #if STDC_HEADERS 38900 @@ -2707,7 +27 46,7 @@39852 @@ -2707,7 +2776,7 @@ 38901 39853 # include <stddef.h> 38902 39854 #endif … … 38907 39859 ],[ 38908 39860 vim_cv_toupper_broken=no 38909 @@ -2955,7 + 2994,7 @@39861 @@ -2955,7 +3024,7 @@ 38910 39862 38911 39863 AC_CACHE_CHECK([whether we talk terminfo], [vim_cv_terminfo], … … 38916 39868 #ifdef HAVE_TERMCAP_H 38917 39869 # include <termcap.h> 38918 @@ -2969,7 +30 08,7 @@39870 @@ -2969,7 +3038,7 @@ 38919 39871 #endif 38920 39872 main() … … 38925 39877 ],[ 38926 39878 vim_cv_terminfo=yes 38927 @@ -2985,7 +30 24,7 @@39879 @@ -2985,7 +3054,7 @@ 38928 39880 if test "x$olibs" != "x$LIBS"; then 38929 39881 AC_CACHE_CHECK([what tgetent() returns for an unknown terminal], [vim_cv_tgent], … … 38934 39886 #ifdef HAVE_TERMCAP_H 38935 39887 # include <termcap.h> 38936 @@ -2996,7 +30 35,7 @@39888 @@ -2996,7 +3065,7 @@ 38937 39889 #endif 38938 39890 main() … … 38943 39895 ],[ 38944 39896 vim_cv_tgent=non-zero 38945 @@ -3120,7 +31 59,7 @@39897 @@ -3120,7 +3189,7 @@ 38946 39898 rm -f conftest_grp 38947 39899 AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group], … … 38952 39904 #include <sys/types.h> 38953 39905 #if STDC_HEADERS 38954 @@ -3156,7 +3 195,7 @@39906 @@ -3156,7 +3225,7 @@ 38955 39907 fclose(fp); 38956 39908 exit(0); … … 38961 39913 vim_cv_tty_group=`cat conftest_grp` 38962 39914 if test "x$vim_cv_tty_mode" = "x" ; then 38963 @@ -3214,7 +32 53,7 @@39915 @@ -3214,7 +3283,7 @@ 38964 39916 dnl system("sh -c pwd") 38965 39917 AC_CACHE_CHECK([getcwd implementation is broken], [vim_cv_getcwd_broken], … … 38970 39922 #ifdef HAVE_UNISTD_H 38971 39923 #include <unistd.h> 38972 @@ -3227,7 +32 66,7 @@39924 @@ -3227,7 +3296,7 @@ 38973 39925 environ = dagger; 38974 39926 return getcwd(buffer, 500) ? 0 : 1; … … 38979 39931 ],[ 38980 39932 vim_cv_getcwd_broken=yes 38981 @@ -3270,7 +33 09,7 @@39933 @@ -3270,7 +3339,7 @@ 38982 39934 38983 39935 AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash], … … 38988 39940 #if STDC_HEADERS 38989 39941 # include <stdlib.h> 38990 @@ -3279,7 +33 18,7 @@39942 @@ -3279,7 +3348,7 @@ 38991 39943 #include <sys/types.h> 38992 39944 #include <sys/stat.h> … … 38997 39949 ],[ 38998 39950 vim_cv_stat_ignores_slash=no 38999 @@ -3543,6 +3 582,10 @@39951 @@ -3543,6 +3612,10 @@ 39000 39952 AC_CHECK_SIZEOF([time_t]) 39001 39953 AC_CHECK_SIZEOF([off_t]) … … 39008 39960 AC_MSG_CHECKING([uint32_t is 32 bits]) 39009 39961 AC_TRY_RUN([ 39010 @@ -3589,7 +36 32,7 @@39962 @@ -3589,7 +3662,7 @@ 39011 39963 39012 39964 AC_CACHE_CHECK([whether memmove handles overlaps],[vim_cv_memmove_handles_overlap], … … 39017 39969 vim_cv_memmove_handles_overlap=yes 39018 39970 ],[ 39019 @@ -3604,7 +36 47,7 @@39971 @@ -3604,7 +3677,7 @@ 39020 39972 else 39021 39973 AC_CACHE_CHECK([whether bcopy handles overlaps],[vim_cv_bcopy_handles_overlap], … … 39026 39978 vim_cv_bcopy_handles_overlap=yes 39027 39979 ],[ 39028 @@ -3619,7 +36 62,7 @@39980 @@ -3619,7 +3692,7 @@ 39029 39981 else 39030 39982 AC_CACHE_CHECK([whether memcpy handles overlaps],[vim_cv_memcpy_handles_overlap], … … 39035 39987 vim_cv_memcpy_handles_overlap=yes 39036 39988 ],[ 39037 @@ -3697,6 +37 40,9 @@39989 @@ -3697,6 +3770,9 @@ 39038 39990 fi 39039 39991 … … 39045 39997 AC_ARG_ENABLE(nls, 39046 39998 [ --disable-nls Don't support NLS (gettext()).], , 39047 @@ -3715,16 +37 61,18 @@39999 @@ -3715,16 +3791,18 @@ 39048 40000 if test -f po/Makefile; then 39049 40001 have_gettext="no" … … 39070 40022 diff -Naur vim74.orig/src/diff.c vim74/src/diff.c 39071 40023 --- vim74.orig/src/diff.c 2013-07-17 11:43:15.000000000 +0000 39072 +++ vim74/src/diff.c 2014-0 3-30 20:09:04.476054528+000040024 +++ vim74/src/diff.c 2014-04-27 05:20:58.121768749 +0000 39073 40025 @@ -1203,7 +1203,7 @@ 39074 40026 … … 39082 40034 diff -Naur vim74.orig/src/dosinst.c vim74/src/dosinst.c 39083 40035 --- vim74.orig/src/dosinst.c 2013-05-06 02:06:04.000000000 +0000 39084 +++ vim74/src/dosinst.c 2014-0 3-30 20:09:04.479387971+000040036 +++ vim74/src/dosinst.c 2014-04-27 05:20:58.125102165 +0000 39085 40037 @@ -1192,23 +1192,29 @@ 39086 40038 fprintf(fd, " if arg3 =~ ' ' | let arg3 = '\"' . arg3 . '\"' | endif\n"); … … 39135 40087 diff -Naur vim74.orig/src/edit.c vim74/src/edit.c 39136 40088 --- vim74.orig/src/edit.c 2013-07-04 18:22:25.000000000 +0000 39137 +++ vim74/src/edit.c 2014-0 3-30 20:09:04.486054857+000040089 +++ vim74/src/edit.c 2014-04-27 05:20:58.128435582 +0000 39138 40090 @@ -199,7 +199,7 @@ 39139 40091 static void spell_back_to_badword __ARGS((void)); … … 39609 40561 diff -Naur vim74.orig/src/eval.c vim74/src/eval.c 39610 40562 --- vim74.orig/src/eval.c 2013-07-05 16:23:42.000000000 +0000 39611 +++ vim74/src/eval.c 2014-0 3-30 20:09:04.496055186+000040563 +++ vim74/src/eval.c 2014-04-27 05:20:58.138435829 +0000 39612 40564 @@ -125,9 +125,6 @@ 39613 40565 */ … … 39632 40584 /* 39633 40585 * Structure to hold info for a user function. 39634 @@ -356, 6 +358,7@@40586 @@ -356,8 +358,10 @@ 39635 40587 {VV_NAME("mouse_col", VAR_NUMBER), 0}, 39636 40588 {VV_NAME("operator", VAR_STRING), VV_RO}, … … 39639 40591 {VV_NAME("oldfiles", VAR_LIST), 0}, 39640 40592 {VV_NAME("windowid", VAR_NUMBER), VV_RO}, 40593 + {VV_NAME("progpath", VAR_STRING), VV_RO}, 39641 40594 }; 39642 @@ -389,7 +392,7 @@ 40595 40596 /* shorthand */ 40597 @@ -389,7 +393,7 @@ 39643 40598 static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg, int *first)); 39644 40599 static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op)); … … 39649 40604 static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op)); 39650 40605 static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u *op)); 39651 @@ -444,7 +44 7,7 @@40606 @@ -444,7 +448,7 @@ 39652 40607 #endif 39653 40608 static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate)); … … 39658 40613 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)); 39659 40614 static void emsg_funcname __ARGS((char *ermsg, char_u *name)); 39660 @@ -474,7 +47 7,9 @@40615 @@ -474,7 +478,9 @@ 39661 40616 static void f_bufnr __ARGS((typval_T *argvars, typval_T *rettv)); 39662 40617 static void f_bufwinnr __ARGS((typval_T *argvars, typval_T *rettv)); … … 39668 40623 #ifdef FEAT_FLOAT 39669 40624 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 @@ 39671 40642 static void f_type __ARGS((typval_T *argvars, typval_T *rettv)); 39672 40643 static void f_undofile __ARGS((typval_T *argvars, typval_T *rettv)); … … 39676 40647 static void f_virtcol __ARGS((typval_T *argvars, typval_T *rettv)); 39677 40648 static void f_visualmode __ARGS((typval_T *argvars, typval_T *rettv)); 39678 @@ -767,7 +77 3,7 @@40649 @@ -767,7 +776,7 @@ 39679 40650 static char_u * make_expanded_name __ARGS((char_u *in_start, char_u *expr_start, char_u *expr_end, char_u *in_end)); 39680 40651 static int eval_isnamec __ARGS((int c)); … … 39685 40656 static typval_T *alloc_tv __ARGS((void)); 39686 40657 static typval_T *alloc_string_tv __ARGS((char_u *string)); 39687 @@ -778,8 +78 4,8 @@40658 @@ -778,8 +787,8 @@ 39688 40659 static char_u *get_tv_string __ARGS((typval_T *varp)); 39689 40660 static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf)); … … 39696 40667 static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val)); 39697 40668 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 @@ 39699 40688 hash_add(&compat_hashtab, p->vv_di.di_key); 39700 40689 } … … 39704 40693 39705 40694 #ifdef EBCDIC 39706 @@ -915,12 +92 2,13 @@40695 @@ -915,12 +927,13 @@ 39707 40696 /* autoloaded script names */ 39708 40697 ga_clear_strings(&ga_loaded); … … 39721 40710 39722 40711 /* unreferenced lists and dicts */ 39723 @@ -1054,7 +106 2,7 @@40712 @@ -1054,7 +1067,7 @@ 39724 40713 ga_init2(&redir_ga, (int)sizeof(char), 500); 39725 40714 … … 39730 40719 if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL) 39731 40720 { 39732 @@ -1145,7 +115 3,7 @@40721 @@ -1145,7 +1158,7 @@ 39733 40722 /* Call get_lval() again, if it's inside a Dict or List it may 39734 40723 * have changed. */ … … 39739 40728 set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)"."); 39740 40729 clear_lval(redir_lval); 39741 @@ -1848,8 +18 56,9 @@40730 @@ -1848,8 +1861,9 @@ 39742 40731 return; 39743 40732 if (argend > arg && argend[-1] == '.') /* for var.='str' */ … … 39751 40740 /* 39752 40741 * ":let" without "=": list variables 39753 @@ -1878,12 +18 87,14 @@40742 @@ -1878,12 +1892,14 @@ 39754 40743 { 39755 40744 op[0] = '='; … … 39770 40759 if (eap->skip) 39771 40760 ++emsg_skip; 39772 @@ -2234,7 +22 45,7 @@40761 @@ -2234,7 +2250,7 @@ 39773 40762 { 39774 40763 if (tofree != NULL) … … 39779 40768 else 39780 40769 { 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 @@ 39782 40780 { 39783 40781 lval_T lv; … … 39788 40786 { 39789 40787 if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL) 39790 @@ -2514,18 +25 25,22 @@40788 @@ -2514,18 +2530,22 @@ 39791 40789 * "unlet" is TRUE for ":unlet": slightly different behavior when something is 39792 40790 * wrong; must end in space or cmd separator. … … 39813 40811 { 39814 40812 char_u *p; 39815 @@ -2539,6 +255 4,7 @@40813 @@ -2539,6 +2559,7 @@ 39816 40814 char_u *key = NULL; 39817 40815 int len; … … 39821 40819 /* Clear everything in "lp". */ 39822 40820 vim_memset(lp, 0, sizeof(lval_T)); 39823 @@ -2586,7 +260 2,7 @@40821 @@ -2586,7 +2607,7 @@ 39824 40822 39825 40823 cc = *p; … … 39830 40828 EMSG2(_(e_undefvar), lp->ll_name); 39831 40829 *p = cc; 39832 @@ -2899,7 +29 15,7 @@40830 @@ -2899,7 +2920,7 @@ 39833 40831 39834 40832 /* handle +=, -= and .= */ … … 39839 40837 if (tv_op(&tv, rettv, op) == OK) 39840 40838 set_var(lp->ll_name, &tv, FALSE); 39841 @@ -3420,7 +34 36,7 @@40839 @@ -3420,7 +3441,7 @@ 39842 40840 39843 40841 /* If it is the name of a variable of type VAR_FUNC use its contents. */ … … 39848 40846 /* Skip white space to allow ":call func ()". Not good, but required for 39849 40847 * backward compatibility. */ 39850 @@ -3551,7 +35 67,7 @@40848 @@ -3551,7 +3572,7 @@ 39851 40849 do 39852 40850 { … … 39857 40855 if (lv.ll_name == NULL) 39858 40856 error = TRUE; /* error but continue parsing */ 39859 @@ -3704,7 +372 0,7 @@40857 @@ -3704,7 +3725,7 @@ 39860 40858 ret = FAIL; 39861 40859 else … … 39866 40864 ret = FAIL; 39867 40865 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 @@ 39869 40877 { 39870 40878 /* If "s" is the name of a variable of type VAR_FUNC … … 39875 40883 /* Invoke the function. */ 39876 40884 ret = get_func_tv(s, len, rettv, arg, 39877 @@ -5174,7 +519 0,7 @@40885 @@ -5174,7 +5196,7 @@ 39878 40886 } 39879 40887 } … … 39884 40892 ret = OK; 39885 40893 } 39886 @@ -6413,6 +64 29,16 @@40894 @@ -6413,6 +6435,16 @@ 39887 40895 if (ni == NULL) 39888 40896 return FAIL; … … 39901 40909 /* Append new item at end of list. */ 39902 40910 list_append(l, ni); 39903 @@ -6434,7 +646 0,6 @@40911 @@ -6434,7 +6466,6 @@ 39904 40912 item->li_prev = ni; 39905 40913 ++l->lv_len; … … 39909 40917 39910 40918 /* 39911 @@ -7860,6 +78 85,7 @@40919 @@ -7860,6 +7891,7 @@ 39912 40920 {"bufwinnr", 1, 1, f_bufwinnr}, 39913 40921 {"byte2line", 1, 1, f_byte2line}, … … 39917 40925 #ifdef FEAT_FLOAT 39918 40926 {"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 @@ 39920 40945 {"log10", 1, 1, f_log10}, 39921 40946 #endif … … 39926 40951 {"map", 2, 2, f_map}, 39927 40952 {"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 @@ 39929 40971 {"type", 1, 1, f_type}, 39930 40972 {"undofile", 1, 1, f_undofile}, … … 39934 40976 {"virtcol", 1, 1, f_virtcol}, 39935 40977 {"visualmode", 0, 1, f_visualmode}, 39936 @@ -8269,16 +8 296,17 @@40978 @@ -8269,16 +8304,17 @@ 39937 40979 * name it contains, otherwise return "name". 39938 40980 */ … … 39954 40996 if (v != NULL && v->di_tv.v_type == VAR_FUNC) 39955 40997 { 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 @@ 39957 41045 #endif 39958 41046 } … … 39970 41058 #ifdef FEAT_MBYTE 39971 41059 char_u *t; 39972 @@ -9202,7 +92 28,10 @@41060 @@ -9202,7 +9242,10 @@ 39973 41061 { 39974 41062 if (*t == NUL) /* EOL reached */ … … 39982 41070 rettv->vval.v_number = (varnumber_T)(t - str); 39983 41071 #else 39984 @@ -9211,6 +92 40,28 @@41072 @@ -9211,6 +9254,28 @@ 39985 41073 #endif 39986 41074 } … … 40011 41099 func_call(name, args, selfdict, rettv) 40012 41100 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 @@ 40014 41126 int n = FALSE; 40015 41127 int len = 0; … … 40020 41132 if (*p == '$') /* environment variable */ 40021 41133 { 40022 @@ -10062,7 +101 11,7 @@41134 @@ -10062,7 +10140,7 @@ 40023 41135 { 40024 41136 if (tofree != NULL) … … 40029 41141 { 40030 41142 /* handle d.key, l[idx], f(expr) */ 40031 @@ -10078,8 +101 27,6 @@41143 @@ -10078,8 +10156,6 @@ 40032 41144 } 40033 41145 … … 40038 41150 40039 41151 #ifdef FEAT_FLOAT 40040 @@ -11090,6 +111 37,8 @@41152 @@ -11090,6 +11166,8 @@ 40041 41153 { 40042 41154 char_u *p; … … 40047 41159 return; 40048 41160 40049 @@ -11102,8 +111 51,6 @@41161 @@ -11102,8 +11180,6 @@ 40050 41162 p = ml_get_buf(buf, start, FALSE); 40051 41163 else … … 40056 41168 } 40057 41169 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 @@ 40059 41217 { 40060 41218 case MLINE: buf[0] = 'V'; break; … … 40069 41227 rettv->v_type = VAR_STRING; 40070 41228 rettv->vval.v_string = vim_strsave(buf); 40071 @@ -12135,6 +12 180,9 @@41229 @@ -12135,6 +12227,9 @@ 40072 41230 #ifndef CASE_INSENSITIVE_FILENAME 40073 41231 "fname_case", … … 40079 41237 "arabic", 40080 41238 #endif 40081 @@ -12507,9 +12 555,7 @@41239 @@ -12507,9 +12602,7 @@ 40082 41240 #ifdef FEAT_VIRTUALEDIT 40083 41241 "virtualedit", … … 40089 41247 "visualextra", 40090 41248 #endif 40091 @@ -12538,7 +12 584,12 @@41249 @@ -12538,7 +12631,12 @@ 40092 41250 "xfontset", 40093 41251 #endif … … 40103 41261 #ifdef USE_XSMP 40104 41262 "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 @@ 40106 41292 } 40107 41293 … … 40122 41308 && argvars[1].v_type != VAR_UNKNOWN 40123 41309 && argvars[2].v_type != VAR_UNKNOWN) 40124 @@ -13298,8 +13 358,8 @@41310 @@ -13298,8 +13424,8 @@ 40125 41311 dictitem_T *di; 40126 41312 … … 40133 41319 { 40134 41320 if (*end != NUL) 40135 @@ -13312,7 +13 372,7 @@41321 @@ -13312,7 +13438,7 @@ 40136 41322 rettv->vval.v_number = 1; /* always locked */ 40137 41323 else … … 40142 41328 { 40143 41329 /* Consider a variable locked when: 40144 @@ -13846,6 +139 06,7 @@41330 @@ -13846,6 +13972,7 @@ 40145 41331 int type; 40146 41332 { … … 40150 41336 char_u *pat; 40151 41337 regmatch_T regmatch; 40152 @@ -13885,7 +1 3946,10 @@41338 @@ -13885,7 +14012,10 @@ 40153 41339 li = l->lv_first; 40154 41340 } … … 40161 41347 pat = get_tv_string_buf_chk(&argvars[1], patbuf); 40162 41348 if (pat == NULL) 40163 @@ -13909,7 +1 3973,7 @@41349 @@ -13909,7 +14039,7 @@ 40164 41350 { 40165 41351 if (start < 0) … … 40170 41356 /* When "count" argument is there ignore matches before "start", 40171 41357 * otherwise skip part of the string. Differs when pattern is "^" 40172 @@ -13917,7 +1 3981,10 @@41358 @@ -13917,7 +14047,10 @@ 40173 41359 if (argvars[3].v_type != VAR_UNKNOWN) 40174 41360 startcol = start; … … 40181 41367 40182 41368 if (argvars[3].v_type != VAR_UNKNOWN) 40183 @@ -13967,6 +14 034,12 @@41369 @@ -13967,6 +14100,12 @@ 40184 41370 #else 40185 41371 startcol = (colnr_T)(regmatch.startp[0] + 1 - str); … … 40194 41380 } 40195 41381 40196 @@ -14095,8 +14 168,8 @@41382 @@ -14095,8 +14234,8 @@ 40197 41383 } 40198 41384 else … … 40205 41391 } 40206 41392 #endif 40207 @@ -14292,14 +14 365,23 @@41393 @@ -14292,14 +14431,23 @@ 40208 41394 return; 40209 41395 … … 40235 41421 #endif 40236 41422 40237 @@ -14316,7 +14 398,6 @@41423 @@ -14316,7 +14464,6 @@ 40238 41424 buf[1] = NUL; 40239 41425 buf[2] = NUL; … … 40243 41429 { 40244 41430 if (VIsual_select) 40245 @@ -14324,9 +144 05,7 @@41431 @@ -14324,9 +14471,7 @@ 40246 41432 else 40247 41433 buf[0] = VIsual_mode; … … 40254 41440 { 40255 41441 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 @@ 40257 41452 case 'V': case 'l': /* line-wise selection */ 40258 41453 yank_type = MLINE; … … 40262 41457 yank_type = MBLOCK; 40263 41458 if (VIM_ISDIGIT(stropt[1])) 40264 @@ -16685, 7 +16763,6@@41459 @@ -16685,14 +16827,62 @@ 40265 41460 --stropt; 40266 41461 } … … 40270 41465 } 40271 41466 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 @@ 40273 41526 typval_T *rettv; 40274 41527 { … … 40279 41532 } 40280 41533 40281 @@ -16881,7 +1 6958,7 @@41534 @@ -16881,7 +17071,7 @@ 40282 41535 typval_T *argvars UNUSED; 40283 41536 typval_T *rettv; … … 40288 41541 40289 41542 /* 40290 @@ -16951,10 +17 028,11 @@41543 @@ -16951,10 +17141,11 @@ 40291 41544 static char_u *item_compare_func; 40292 41545 static dict_T *item_compare_selfdict; … … 40301 41554 static int 40302 41555 #ifdef __BORLANDC__ 40303 @@ -17028,9 +17 106,10 @@41556 @@ -17028,9 +17219,10 @@ 40304 41557 * "sort({list})" function 40305 41558 */ … … 40313 41566 list_T *l; 40314 41567 listitem_T *li; 40315 @@ -17039,12 +17 118,12 @@41568 @@ -17039,12 +17231,12 @@ 40316 41569 long i; 40317 41570 … … 40328 41581 rettv->vval.v_list = l; 40329 41582 rettv->v_type = VAR_LIST; 40330 @@ -17091,29 +17 170,72 @@41583 @@ -17091,29 +17283,72 @@ 40331 41584 ptrs = (listitem_T **)alloc((int)(len * sizeof(listitem_T *))); 40332 41585 if (ptrs == NULL) … … 40417 41670 } 40418 41671 40419 @@ -17122,6 +17 244,28 @@41672 @@ -17122,6 +17357,28 @@ 40420 41673 } 40421 41674 … … 40446 41699 */ 40447 41700 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 @@ 40449 41959 typval_T *argvars UNUSED; 40450 41960 typval_T *rettv UNUSED; … … 40454 41964 40455 41965 rettv->v_type = VAR_STRING; 40456 @@ -18699,7 +1 8842,6 @@41966 @@ -18699,7 +19061,6 @@ 40457 41967 /* A non-zero number or non-empty string argument: reset mode. */ 40458 41968 if (non_zero_arg(&argvars[0])) … … 40462 41972 40463 41973 /* 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 @@ 40465 42072 return NULL; 40466 42073 if (name[0] == '.') /* cursor */ … … 40477 42084 { 40478 42085 pp = getmark_buf_fnum(curbuf, name[1], FALSE, fnum); 40479 @@ -19719,11 + 19859,12 @@42086 @@ -19719,11 +20093,12 @@ 40480 42087 * Return OK or FAIL. 40481 42088 */ … … 40491 42098 int ret = OK; 40492 42099 typval_T *tv = NULL; 40493 @@ -19750,7 + 19891,7 @@42100 @@ -19750,7 +20125,7 @@ 40494 42101 */ 40495 42102 else … … 40500 42107 tv = &v->di_tv; 40501 42108 } 40502 @@ -19790,24 + 19931,30 @@42109 @@ -19790,24 +20165,30 @@ 40503 42110 while (ret == OK 40504 42111 && (**arg == '[' … … 40537 42144 /* Stop the expression evaluation when immediately aborting on 40538 42145 * 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 @@ 40540 42157 * hashtab_T used. 40541 42158 */ … … 40549 42166 char_u *varname; 40550 42167 hashtab_T *ht; 40551 @@ -20158,7 +20 306,7 @@42168 @@ -20158,7 +20543,7 @@ 40552 42169 *htp = ht; 40553 42170 if (ht == NULL) … … 40558 42175 40559 42176 /* 40560 @@ -20166,11 +20 314,11 @@42177 @@ -20166,11 +20551,11 @@ 40561 42178 * Returns NULL if not found. 40562 42179 */ … … 40572 42189 hashitem_T *hi; 40573 42190 40574 @@ -20202,7 +20 350,7 @@42191 @@ -20202,7 +20587,7 @@ 40575 42192 * worked find the variable again. Don't auto-load a script if it was 40576 42193 * loaded already, otherwise it would be loaded every time when … … 40581 42198 /* Note: script_autoload() may make "hi" invalid. It must either 40582 42199 * be obtained again or not used. */ 40583 @@ -20282,7 +20 430,7 @@42200 @@ -20282,7 +20667,7 @@ 40584 42201 { 40585 42202 dictitem_T *v; … … 40590 42207 return NULL; 40591 42208 return get_tv_string(&v->di_tv); 40592 @@ -20560,6 +20 708,13 @@42209 @@ -20560,6 +20945,13 @@ 40593 42210 v->di_tv.vval.v_number = get_tv_number(tv); 40594 42211 if (STRCMP(varname, "searchforward") == 0) … … 40604 42221 return; 40605 42222 } 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 @@ 40607 42233 if (STRCMP(((char_u **)(newargs.ga_data))[i], arg) == 0) 40608 42234 { … … 40612 42238 } 40613 42239 40614 @@ -21604,7 +21 760,7 @@42240 @@ -21604,7 +21999,7 @@ 40615 42241 */ 40616 42242 if (fudi.fd_dict == NULL) … … 40621 42247 { 40622 42248 emsg_funcname(N_("E707: Function name conflicts with variable: %s"), 40623 @@ -21762,8 +2 1918,9 @@42249 @@ -21762,8 +22157,9 @@ 40624 42250 * Also handles a Funcref in a List or Dictionary. 40625 42251 * Returns the function name in allocated memory, or NULL for failure. … … 40633 42259 */ 40634 42260 static char_u * 40635 @@ -21801,7 +2 1958,8 @@42261 @@ -21801,7 +22197,8 @@ 40636 42262 if (lead > 2) 40637 42263 start += lead; … … 40643 42269 if (end == start) 40644 42270 { 40645 @@ -21863,14 +22 021,14 @@42271 @@ -21863,14 +22260,14 @@ 40646 42272 if (lv.ll_exp_name != NULL) 40647 42273 { … … 40660 42286 name = NULL; 40661 42287 } 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 @@ 40663 42343 char_u *p; 40664 42344 int n = FALSE; … … 40670 42350 40671 42351 /* 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 @@ 40673 42378 int ret = FALSE; 40674 42379 int i; … … 40681 42386 p = vim_strchr(name, AUTOLOAD_CHAR); 40682 42387 if (p == NULL || p == name) 40683 @@ -24260,6 +24 415,17 @@42388 @@ -24260,6 +24673,17 @@ 40684 42389 } 40685 42390 } … … 40699 42404 } 40700 42405 40701 @@ -24283,6 +24 449,7 @@42406 @@ -24283,6 +24707,7 @@ 40702 42407 garray_T ga; 40703 42408 char_u *ret; … … 40707 42412 /* Make 'cpoptions' empty, so that the 'l' flag doesn't work here */ 40708 42413 save_cpo = p_cpo; 40709 @@ -24299,6 +24 466,19 @@42414 @@ -24299,6 +24724,19 @@ 40710 42415 tail = str; 40711 42416 while (vim_regexec_nl(®match, str, (colnr_T)(tail - str))) … … 40727 42432 * Get some space for a temporary buffer to do the substitution 40728 42433 * into. It will contain: 40729 @@ -24321,20 +24 501,9 @@42434 @@ -24321,20 +24759,9 @@ 40730 42435 (void)vim_regsub(®match, sub, (char_u *)ga.ga_data 40731 42436 + ga.ga_len + i, TRUE, TRUE, FALSE); … … 40753 42458 diff -Naur vim74.orig/src/ex_cmds.c vim74/src/ex_cmds.c 40754 42459 --- vim74.orig/src/ex_cmds.c 2013-08-07 13:15:51.000000000 +0000 40755 +++ vim74/src/ex_cmds.c 2014-0 3-30 20:09:04.499388630+000042460 +++ vim74/src/ex_cmds.c 2014-04-27 05:20:58.141769246 +0000 40756 42461 @@ -1012,7 +1012,18 @@ 40757 42462 … … 40800 42505 #ifdef FEAT_AUTOCMD 40801 42506 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 @@ 40803 42521 * 'scroll' */ 40804 42522 if (eap->forceit) … … 40816 42534 bigness = 1; 40817 42535 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 @@ 40819 42569 char_u *resp; 40820 42570 colnr_T sc, ec; … … 40835 42585 for (i = 0; i < (long)sc; ++i) 40836 42586 msg_putchar(' '); 40837 @@ -5928,14 +59 45,18 @@42587 @@ -5928,14 +5976,18 @@ 40838 42588 "?", ":?", "?<CR>", "g?", "g?g?", "g??", "z?", 40839 42589 "/\\?", "/\\z(\\)", "\\=", ":s\\=", … … 40856 42606 40857 42607 d = IObuff; /* assume IObuff is long enough! */ 40858 @@ -5974,7 + 5995,7 @@42608 @@ -5974,7 +6026,7 @@ 40859 42609 /* Replace: 40860 42610 * "[:...:]" with "\[:...:]" … … 40865 42615 if ((arg[0] == '[' && (arg[1] == ':' 40866 42616 || (arg[1] == '+' && arg[2] == '+'))) 40867 @@ -7658,7 +7 679,7 @@42617 @@ -7658,7 +7710,7 @@ 40868 42618 # ifdef FEAT_WINDOWS 40869 42619 ++emsg_off; … … 40876 42626 diff -Naur vim74.orig/src/ex_cmds.h vim74/src/ex_cmds.h 40877 42627 --- vim74.orig/src/ex_cmds.h 2013-06-08 13:08:20.000000000 +0000 40878 +++ vim74/src/ex_cmds.h 2014-0 3-30 20:09:04.499388630+000042628 +++ vim74/src/ex_cmds.h 2014-04-27 05:20:58.141769246 +0000 40879 42629 @@ -477,6 +477,8 @@ 40880 42630 NEEDARG|EXTRA|NOTRLCOM), … … 40914 42664 diff -Naur vim74.orig/src/ex_cmds2.c vim74/src/ex_cmds2.c 40915 42665 --- vim74.orig/src/ex_cmds2.c 2013-06-28 18:14:53.000000000 +0000 40916 +++ vim74/src/ex_cmds2.c 2014-0 3-30 20:09:04.499388630+000042666 +++ vim74/src/ex_cmds2.c 2014-04-27 05:20:58.145102663 +0000 40917 42667 @@ -1436,20 +1436,20 @@ 40918 42668 } … … 41010 42760 /* start at the first argument/window/buffer */ 41011 42761 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); 41012 42771 diff -Naur vim74.orig/src/ex_docmd.c vim74/src/ex_docmd.c 41013 42772 --- 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 @@ 41016 42783 cmdmod.keepalt = TRUE; 41017 42784 continue; … … 41025 42792 break; 41026 42793 cmdmod.keepjumps = TRUE; 41027 @@ -1869,18 +187 4,23 @@42794 @@ -1869,18 +1873,23 @@ 41028 42795 #endif 41029 42796 continue; … … 41058 42825 41059 42826 case 'r': if (!checkforcmd(&ea.cmd, "rightbelow", 6)) 41060 @@ -2584,12 +259 4,15 @@42827 @@ -2584,12 +2593,15 @@ 41061 42828 case CMD_keepalt: 41062 42829 case CMD_keepjumps: … … 41074 42841 case CMD_psearch: 41075 42842 case CMD_python: 41076 @@ -3089,9 +310 2,11 @@42843 @@ -3089,9 +3101,11 @@ 41077 42844 {"keepalt", 5, FALSE}, 41078 42845 {"keepjumps", 5, FALSE}, … … 41086 42853 {"sandbox", 3, FALSE}, 41087 42854 {"silent", 3, FALSE}, 41088 @@ -3254,7 +326 9,11 @@42855 @@ -3254,7 +3268,11 @@ 41089 42856 ++p; 41090 42857 /* for python 3.x: ":py3*" commands completion */ … … 41098 42865 41099 42866 if (len == 0) 41100 @@ -3597,8 +361 6,11 @@42867 @@ -3597,8 +3615,11 @@ 41101 42868 case CMD_keepalt: 41102 42869 case CMD_keepjumps: … … 41110 42877 case CMD_sandbox: 41111 42878 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 @@ 41113 42917 if (check_more(FALSE, eap->forceit) == OK && only_one_window()) 41114 42918 exiting = TRUE; … … 41121 42925 || (only_one_window() && check_changed_any(eap->forceit))) 41122 42926 { 41123 @@ -7099,7 +71 23,7 @@42927 @@ -7099,7 +7112,7 @@ 41124 42928 if (!P_HID(curbuf) && !split) 41125 42929 { … … 41130 42934 } 41131 42935 if (split) 41132 @@ -7361,7 +73 85,11 @@42936 @@ -7361,7 +7374,11 @@ 41133 42937 { 41134 42938 /* Set recoverymode right away to avoid the ATTENTION prompt. */ … … 41143 42947 || setfname(curbuf, eap->arg, NULL, TRUE) == OK)) 41144 42948 ml_recover(); 41145 @@ -7910,6 +79 38,8 @@42949 @@ -7910,6 +7927,8 @@ 41146 42950 ? ECMD_ONE : eap->do_ecmd_lnum, 41147 42951 (P_HID(curbuf) ? ECMD_HIDE : 0) … … 41152 42956 + (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 ) 41153 42957 #endif 41154 @@ -8036,6 +80 66,8 @@42958 @@ -8036,6 +8055,8 @@ 41155 42959 { 41156 42960 #ifdef FEAT_SCROLLBIND … … 41161 42965 long y; 41162 42966 linenr_T old_linenr = curwin->w_cursor.lnum; 41163 @@ -8067,13 +80 99,13 @@42967 @@ -8067,13 +8088,13 @@ 41164 42968 41165 42969 … … 41177 42981 if (y > 0) 41178 42982 scrollup(y, TRUE); 41179 @@ -8087,7 +81 19,8 @@42983 @@ -8087,7 +8108,8 @@ 41180 42984 #endif 41181 42985 } … … 41187 42991 { 41188 42992 did_syncbind = TRUE; 41189 @@ -8207,6 +82 40,7 @@42993 @@ -8207,6 +8229,7 @@ 41190 42994 int local; 41191 42995 { … … 41195 42999 { 41196 43000 /* If still in global directory, need to remember current 41197 @@ -8223,7 +82 57,6 @@43001 @@ -8223,7 +8246,6 @@ 41198 43002 * name. */ 41199 43003 vim_free(globaldir); … … 41203 43007 41204 43008 shorten_fnames(TRUE); 41205 @@ -8350,7 +83 83,7 @@43009 @@ -8350,7 +8372,7 @@ 41206 43010 { 41207 43011 n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled; … … 41212 43016 41213 43017 len = eap->line2; 41214 @@ -8556,6 +85 89,9 @@43018 @@ -8556,6 +8578,9 @@ 41215 43019 beginline(BL_SOL | BL_FIX); 41216 43020 } … … 41222 43026 { 41223 43027 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 @@ 41225 43038 RedrawingDisabled = 0; 41226 43039 p_lz = FALSE; … … 41235 43048 if (need_maketitle) 41236 43049 maketitle(); 41237 @@ -9004,11 +90 36,7 @@43050 @@ -9004,11 +9025,7 @@ 41238 43051 status_redraw_all(); 41239 43052 else … … 41248 43061 p_lz = p; 41249 43062 out_flush(); 41250 @@ -10355,7 +103 83,7 @@43063 @@ -10355,7 +10372,7 @@ 41251 43064 } 41252 43065 … … 41257 43070 return FAIL; 41258 43071 41259 @@ -10929,9 +109 57,9 @@43072 @@ -10929,9 +10946,9 @@ 41260 43073 char_u *buf = NULL; 41261 43074 char_u *s; … … 41270 43083 for (i = 0; i < gap->ga_len; ++i) 41271 43084 { 41272 @@ -10948,7 +109 76,9 @@43085 @@ -10948,7 +10965,9 @@ 41273 43086 s = buf; 41274 43087 } … … 41281 43094 vim_free(buf); 41282 43095 return FAIL; 41283 @@ -10956,7 +109 86,7 @@43096 @@ -10956,7 +10975,7 @@ 41284 43097 vim_free(buf); 41285 43098 } … … 41290 43103 41291 43104 /* 41292 @@ -11389,7 +114 19,7 @@43105 @@ -11389,7 +11408,7 @@ 41293 43106 ex_nohlsearch(eap) 41294 43107 exarg_T *eap UNUSED; … … 41301 43114 diff -Naur vim74.orig/src/ex_eval.c vim74/src/ex_eval.c 41302 43115 --- vim74.orig/src/ex_eval.c 2013-06-08 13:50:28.000000000 +0000 41303 +++ vim74/src/ex_eval.c 2014-0 3-30 20:09:04.502722073+000043116 +++ vim74/src/ex_eval.c 2014-04-27 05:20:58.148436078 +0000 41304 43117 @@ -321,6 +321,17 @@ 41305 43118 } … … 41487 43300 diff -Naur vim74.orig/src/ex_getln.c vim74/src/ex_getln.c 41488 43301 --- vim74.orig/src/ex_getln.c 2013-07-05 17:44:21.000000000 +0000 41489 +++ vim74/src/ex_getln.c 2014-0 3-30 20:09:04.506055515+000043302 +++ vim74/src/ex_getln.c 2014-04-27 05:20:58.151769494 +0000 41490 43303 @@ -2280,7 +2280,7 @@ 41491 43304 … … 41539 43352 diff -Naur vim74.orig/src/feature.h vim74/src/feature.h 41540 43353 --- vim74.orig/src/feature.h 2013-05-18 18:18:20.000000000 +0000 41541 +++ vim74/src/feature.h 2014-0 3-30 20:09:04.506055515+000043354 +++ vim74/src/feature.h 2014-04-27 05:20:58.151769494 +0000 41542 43355 @@ -211,18 +211,11 @@ 41543 43356 #endif … … 41606 43419 diff -Naur vim74.orig/src/fileio.c vim74/src/fileio.c 41607 43420 --- vim74.orig/src/fileio.c 2013-08-05 19:58:03.000000000 +0000 41608 +++ vim74/src/fileio.c 2014-0 3-30 20:09:04.512722401+000043421 +++ vim74/src/fileio.c 2014-04-27 05:20:58.155102910 +0000 41609 43422 @@ -428,13 +428,13 @@ 41610 43423 } … … 41717 43530 } 41718 43531 *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); 41719 43559 @@ -5288,7 +5294,7 @@ 41720 43560 if (shortmess(SHM_LINES)) … … 41739 43579 mch_free_acl(acl); 41740 43580 #endif 41741 +#if def HAVE_SELINUX43581 +#if defined(HAVE_SELINUX) || defined(HAVE_SMACK) 41742 43582 + mch_copy_sec(from, to); 41743 43583 +#endif … … 41783 43623 fname = vim_strsave(fname); 41784 43624 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 /* 41785 43646 diff -Naur vim74.orig/src/fold.c vim74/src/fold.c 41786 43647 --- vim74.orig/src/fold.c 2013-06-15 14:57:24.000000000 +0000 41787 +++ vim74/src/fold.c 2014-0 3-30 20:09:04.512722401+000043648 +++ vim74/src/fold.c 2014-04-27 05:20:58.158436326 +0000 41788 43649 @@ -430,11 +430,9 @@ 41789 43650 } … … 41837 43698 diff -Naur vim74.orig/src/getchar.c vim74/src/getchar.c 41838 43699 --- vim74.orig/src/getchar.c 2013-06-29 11:43:27.000000000 +0000 41839 +++ vim74/src/getchar.c 2014-0 3-30 20:09:04.512722401+000043700 +++ vim74/src/getchar.c 2014-04-27 05:20:58.158436326 +0000 41840 43701 @@ -40,13 +40,13 @@ 41841 43702 … … 42314 44175 diff -Naur vim74.orig/src/globals.h vim74/src/globals.h 42315 44176 --- 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 @@ 42318 44191 /* set to TRUE when "-s" commandline argument 42319 44192 * used for ex */ … … 42323 44196 EXTERN int VIsual_active INIT(= FALSE); 42324 44197 /* whether Visual mode is active */ 42325 @@ -677,7 +6 76,6 @@44198 @@ -677,7 +681,6 @@ 42326 44199 42327 44200 EXTERN int redo_VIsual_busy INIT(= FALSE); … … 42331 44204 #ifdef FEAT_MOUSE 42332 44205 /* 42333 @@ -752,6 +75 0,12 @@44206 @@ -752,6 +755,12 @@ 42334 44207 */ 42335 44208 EXTERN pos_T Insstart; /* This is where the latest … … 42344 44217 /* 42345 44218 * Stuff for VREPLACE mode. 42346 @@ -979,11 +98 3,6 @@44219 @@ -979,11 +988,6 @@ 42347 44220 EXTERN int readonlymode INIT(= FALSE); /* Set to TRUE for "view" */ 42348 44221 EXTERN int recoverymode INIT(= FALSE); /* Set to TRUE for "-r" option */ … … 42356 44229 #ifdef DO_INIT 42357 44230 = {NULL, NULL, 0, 0, 0, 0, 0, 0, 0} 42358 @@ -1177,11 +11 76,9 @@44231 @@ -1177,11 +1181,9 @@ 42359 44232 EXTERN int fill_diff INIT(= '-'); 42360 44233 #endif … … 42368 44241 #ifdef FEAT_CMDWIN 42369 44242 EXTERN int cedit_key INIT(= -1); /* key value of 'cedit' option */ 42370 @@ -1490,6 +14 87,7 @@44243 @@ -1490,6 +1492,7 @@ 42371 44244 EXTERN char_u e_notopen[] INIT(= N_("E484: Can't open file %s")); 42372 44245 EXTERN char_u e_notread[] INIT(= N_("E485: Can't read file %s")); … … 42378 44251 diff -Naur vim74.orig/src/gui.c vim74/src/gui.c 42379 44252 --- vim74.orig/src/gui.c 2013-06-30 15:41:48.000000000 +0000 42380 +++ vim74/src/gui.c 2014-0 3-30 20:09:04.516055846+000044253 +++ vim74/src/gui.c 2014-04-27 05:20:58.161769742 +0000 42381 44254 @@ -3132,11 +3132,9 @@ 42382 44255 */ … … 42391 44264 /* 42392 44265 * When 'mousemodel' is "popup", shift-left is translated to right. 44266 diff -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 { 42393 44280 diff -Naur vim74.orig/src/gui_mac.c vim74/src/gui_mac.c 42394 44281 --- vim74.orig/src/gui_mac.c 2013-05-06 02:06:04.000000000 +0000 42395 +++ vim74/src/gui_mac.c 2014-0 3-30 20:09:04.532723060+000044282 +++ vim74/src/gui_mac.c 2014-04-27 05:20:58.175103406 +0000 42396 44283 @@ -1068,11 +1068,7 @@ 42397 44284 } … … 42426 44313 diff -Naur vim74.orig/src/gui_w48.c vim74/src/gui_w48.c 42427 44314 --- vim74.orig/src/gui_w48.c 2013-08-10 11:36:45.000000000 +0000 42428 +++ vim74/src/gui_w48.c 2014-0 3-30 20:09:04.539389946+000044315 +++ vim74/src/gui_w48.c 2014-04-27 05:20:58.181770239 +0000 42429 44316 @@ -1008,7 +1008,7 @@ 42430 44317 static LPARAM last_lParam = 0L; … … 42488 44375 diff -Naur vim74.orig/src/if_perl.xs vim74/src/if_perl.xs 42489 44376 --- vim74.orig/src/if_perl.xs 2013-08-02 17:28:50.000000000 +0000 42490 +++ vim74/src/if_perl.xs 2014-0 3-30 20:09:04.556057162+000044377 +++ vim74/src/if_perl.xs 2014-04-27 05:20:58.191770487 +0000 42491 44378 @@ -14,7 +14,8 @@ 42492 44379 #define IN_PERL_FILE /* don't include if_perl.pro from proto.h */ … … 42655 44542 diff -Naur vim74.orig/src/if_py_both.h vim74/src/if_py_both.h 42656 44543 --- vim74.orig/src/if_py_both.h 2013-07-24 15:09:19.000000000 +0000 42657 +++ vim74/src/if_py_both.h 2014-0 3-30 20:09:04.559390604+000044544 +++ vim74/src/if_py_both.h 2014-04-27 05:20:58.195103903 +0000 42658 44545 @@ -13,6 +13,11 @@ 42659 44546 * Common code for if_python.c and if_python3.c. … … 43491 45378 diff -Naur vim74.orig/src/if_python.c vim74/src/if_python.c 43492 45379 --- vim74.orig/src/if_python.c 2013-07-09 19:40:11.000000000 +0000 43493 +++ vim74/src/if_python.c 2014-0 3-30 20:09:04.559390604+000045380 +++ vim74/src/if_python.c 2014-04-27 05:20:58.198437320 +0000 43494 45381 @@ -196,6 +196,7 @@ 43495 45382 # define PyTuple_Size dll_PyTuple_Size … … 43593 45480 diff -Naur vim74.orig/src/if_python3.c vim74/src/if_python3.c 43594 45481 --- vim74.orig/src/if_python3.c 2013-07-09 19:53:21.000000000 +0000 43595 +++ vim74/src/if_python3.c 2014-0 3-30 20:09:04.559390604+000045482 +++ vim74/src/if_python3.c 2014-04-27 05:20:58.198437320 +0000 43596 45483 @@ -97,6 +97,19 @@ 43597 45484 #define Py_ssize_t_fmt "n" … … 43750 45637 diff -Naur vim74.orig/src/if_ruby.c vim74/src/if_ruby.c 43751 45638 --- vim74.orig/src/if_ruby.c 2013-05-20 10:47:48.000000000 +0000 43752 +++ vim74/src/if_ruby.c 2014-0 3-30 20:09:04.559390604+000045639 +++ vim74/src/if_ruby.c 2014-04-27 05:20:58.198437320 +0000 43753 45640 @@ -88,14 +88,20 @@ 43754 45641 # define rb_int2big rb_int2big_stub … … 43857 45744 diff -Naur vim74.orig/src/if_tcl.c vim74/src/if_tcl.c 43858 45745 --- vim74.orig/src/if_tcl.c 2013-08-02 17:31:15.000000000 +0000 43859 +++ vim74/src/if_tcl.c 2014-0 3-30 20:09:04.562724049+000045746 +++ vim74/src/if_tcl.c 2014-04-27 05:20:58.201770736 +0000 43860 45747 @@ -165,6 +165,7 @@ 43861 45748 */ … … 43890 45777 diff -Naur vim74.orig/src/main.c vim74/src/main.c 43891 45778 --- vim74.orig/src/main.c 2013-07-03 10:36:49.000000000 +0000 43892 +++ vim74/src/main.c 2014-0 3-30 20:09:04.569390934+000045779 +++ vim74/src/main.c 2014-04-27 05:20:58.208437568 +0000 43893 45780 @@ -702,6 +702,11 @@ 43894 45781 TIME_MSG("reading viminfo"); … … 43963 45850 else if (redraw_cmdline || clear_cmdline) 43964 45851 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 @@ 43966 45861 int arg_idx; /* index in argument list */ 43967 45862 int i; … … 43971 45866 # ifdef FEAT_AUTOCMD 43972 45867 /* 43973 @@ -2816,24 +281 3,22 @@45868 @@ -2816,24 +2814,22 @@ 43974 45869 # ifdef FEAT_AUTOCMD 43975 45870 --autocmd_no_enter; … … 44010 45905 diff -Naur vim74.orig/src/mark.c vim74/src/mark.c 44011 45906 --- vim74.orig/src/mark.c 2013-08-02 15:22:10.000000000 +0000 44012 +++ vim74/src/mark.c 2014-0 3-30 20:09:04.576057820+000045907 +++ vim74/src/mark.c 2014-04-27 05:20:58.208437568 +0000 44013 45908 @@ -98,7 +98,6 @@ 44014 45909 return OK; … … 44126 46021 diff -Naur vim74.orig/src/mbyte.c vim74/src/mbyte.c 44127 46022 --- vim74.orig/src/mbyte.c 2013-07-05 18:07:21.000000000 +0000 44128 +++ vim74/src/mbyte.c 2014-0 3-30 20:09:04.576057820+000046023 +++ vim74/src/mbyte.c 2014-04-27 05:20:58.211770985 +0000 44129 46024 @@ -83,10 +83,18 @@ 44130 46025 # ifndef WIN32_LEAN_AND_MEAN … … 44206 46101 else 44207 46102 return (int)classes[mid].class; 46103 diff -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 */ 44208 46115 diff -Naur vim74.orig/src/memline.c vim74/src/memline.c 44209 46116 --- vim74.orig/src/memline.c 2013-05-06 02:01:02.000000000 +0000 44210 +++ vim74/src/memline.c 2014-0 3-30 20:09:04.579391263+000046117 +++ vim74/src/memline.c 2014-04-27 05:20:58.215104401 +0000 44211 46118 @@ -289,6 +289,9 @@ 44212 46119 buf->b_ml.ml_chunksize = NULL; … … 44406 46313 diff -Naur vim74.orig/src/menu.c vim74/src/menu.c 44407 46314 --- vim74.orig/src/menu.c 2011-04-11 13:17:21.000000000 +0000 44408 +++ vim74/src/menu.c 2014-0 3-30 20:09:04.582724706+000046315 +++ vim74/src/menu.c 2014-04-27 05:20:58.215104401 +0000 44409 46316 @@ -1640,7 +1640,6 @@ 44410 46317 idx = MENU_INDEX_INSERT; … … 44440 46347 diff -Naur vim74.orig/src/message.c vim74/src/message.c 44441 46348 --- vim74.orig/src/message.c 2013-08-09 18:30:45.000000000 +0000 44442 +++ vim74/src/message.c 2014-0 3-30 20:09:04.586058149+000046349 +++ vim74/src/message.c 2014-04-27 05:20:58.218437816 +0000 44443 46350 @@ -887,6 +887,8 @@ 44444 46351 int oldState; … … 44483 46390 diff -Naur vim74.orig/src/misc1.c vim74/src/misc1.c 44484 46391 --- vim74.orig/src/misc1.c 2013-08-03 15:29:33.000000000 +0000 44485 +++ vim74/src/misc1.c 2014-0 3-30 20:09:04.589391593+000046392 +++ vim74/src/misc1.c 2014-04-27 05:20:58.218437816 +0000 44486 46393 @@ -303,10 +303,18 @@ 44487 46394 ml_replace(curwin->w_cursor.lnum, newline, FALSE); … … 44901 46808 - */ 44902 46809 - 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 - 44906 46811 - /* 44907 46812 - * column where the first { of a function should be located } 44908 46813 - */ 44909 46814 - 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; 44913 46817 44914 46818 - /* … … 44917 46821 - */ 44918 46822 - 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 44920 46827 - /* 44921 46828 - * spaces from the matching open brace (real location for one at the left … … 45149 47056 + * while(). */ 45150 47057 + buf->b_ind_if_for_while = 0; 45151 47058 + 45152 47059 + for (p = buf->b_p_cino; *p; ) 45153 47060 + { … … 45229 47136 + } 45230 47137 +} 45231 + 47138 45232 47139 + int 45233 47140 +get_c_indent() … … 46234 48141 getout(1); 46235 48142 } 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); 46236 48197 diff -Naur vim74.orig/src/misc2.c vim74/src/misc2.c 46237 48198 --- vim74.orig/src/misc2.c 2013-07-07 14:03:35.000000000 +0000 46238 +++ vim74/src/misc2.c 2014-0 3-30 20:09:04.589391593+000048199 +++ vim74/src/misc2.c 2014-04-27 05:20:58.221771232 +0000 46239 48200 @@ -31,9 +31,7 @@ 46240 48201 if (virtual_op != MAYBE) … … 46403 48364 diff -Naur vim74.orig/src/move.c vim74/src/move.c 46404 48365 --- vim74.orig/src/move.c 2012-11-28 17:15:42.000000000 +0000 46405 +++ vim74/src/move.c 2014-0 3-30 20:09:04.592725036+000048366 +++ vim74/src/move.c 2014-04-27 05:20:58.225104649 +0000 46406 48367 @@ -20,6 +20,7 @@ 46407 48368 #include "vim.h" … … 46546 48507 diff -Naur vim74.orig/src/netbeans.c vim74/src/netbeans.c 46547 48508 --- vim74.orig/src/netbeans.c 2012-06-20 17:56:18.000000000 +0000 46548 +++ vim74/src/netbeans.c 2014-0 3-30 20:09:04.596058479+000048509 +++ vim74/src/netbeans.c 2014-04-27 05:20:58.228438065 +0000 46549 48510 @@ -2232,11 +2232,9 @@ 46550 48511 … … 46561 48522 diff -Naur vim74.orig/src/normal.c vim74/src/normal.c 46562 48523 --- vim74.orig/src/normal.c 2013-07-14 11:24:37.000000000 +0000 46563 +++ vim74/src/normal.c 2014-0 3-30 20:09:04.599391922+000048524 +++ vim74/src/normal.c 2014-04-27 05:20:58.228438065 +0000 46564 48525 @@ -14,17 +14,15 @@ 46565 48526 … … 48190 50151 diff -Naur vim74.orig/src/ops.c vim74/src/ops.c 48191 50152 --- vim74.orig/src/ops.c 2013-08-09 17:34:32.000000000 +0000 48192 +++ vim74/src/ops.c 2014-0 3-30 20:09:04.599391922+000050153 +++ vim74/src/ops.c 2014-04-27 05:20:58.231771480 +0000 48193 50154 @@ -57,9 +57,7 @@ 48194 50155 char_u **y_array; /* pointer to array of line pointers */ … … 48201 50162 48202 50163 static struct yankreg *y_current; /* ptr to current yankreg */ 48203 @@ -107,1 7 +105,13@@50164 @@ -107,19 +105,15 @@ 48204 50165 static int yank_copy_line __ARGS((struct block_def *bd, long y_idx)); 48205 50166 #ifdef FEAT_CLIPBOARD … … 48217 50178 -#endif 48218 50179 #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)); 48220 50182 #endif 50183 static int ends_in_white __ARGS((linenr_T lnum)); 50184 #ifdef FEAT_COMMENTS 48221 50185 @@ -187,7 +181,6 @@ 48222 50186 return i; … … 49040 51004 else 49041 51005 { 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 /* 49042 51015 @@ -6078,7 +6078,6 @@ 49043 51016 } … … 49056 51029 #endif /* FEAT_CLIPBOARD || PROTO */ 49057 51030 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 @@ 49059 51041 regname = may_get_selection(regname); 49060 51042 #endif … … 49075 51057 } 49076 51058 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(); 49081 51296 -#ifndef FEAT_VISUAL 49082 51297 - /* Just in case - make sure we don't use MBLOCK */ … … 49084 51299 - yank_type = MAUTO; 49085 51300 -#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 */ 49090 51334 int append = FALSE; /* append to last line in register */ 49091 51335 char_u *s; 51336 + char_u **ss; 49092 51337 char_u **pp; 49093 51338 -#ifdef FEAT_VISUAL … … 49097 51342 if (y_ptr->y_array == NULL) /* NULL means empty register */ 49098 51343 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 @@ 49100 51389 pp[lnum] = y_ptr->y_array[lnum]; 49101 51390 vim_free(y_ptr->y_array); … … 49107 51396 /* 49108 51397 * 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 */ 49113 51406 -#ifdef FEAT_VISUAL 49114 49115 51407 - if (i > maxlen) 51408 - maxlen = i; 49116 51409 -#endif 49117 if (append) 51410 - if (append) 51411 + for (ss = (char_u **) str; *ss != NULL; ++ss, ++lnum) 49118 51412 { 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 */ 49121 51478 } 49122 51479 y_ptr->y_type = type; … … 49131 51488 #endif /* FEAT_CLIPBOARD || FEAT_EVAL || PROTO */ 49132 51489 49133 @@ -6570,12 +6 555,10 @@51490 @@ -6570,12 +6696,10 @@ 49134 51491 long word_count_cursor = 0; 49135 51492 int eol_size; … … 49144 51501 /* 49145 51502 * Compute the length of the file in characters. 49146 @@ -6591,7 +6 574,6 @@51503 @@ -6591,7 +6715,6 @@ 49147 51504 else 49148 51505 eol_size = 1; … … 49152 51509 { 49153 51510 if (lt(VIsual, curwin->w_cursor)) 49154 @@ -6635,7 +6 617,6 @@51511 @@ -6635,7 +6758,6 @@ 49155 51512 } 49156 51513 line_count_selected = max_pos.lnum - min_pos.lnum + 1; … … 49160 51517 for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count; ++lnum) 49161 51518 { 49162 @@ -6648,7 +6 629,6 @@51519 @@ -6648,7 +6770,6 @@ 49163 51520 last_check = byte_count + 100000L; 49164 51521 } … … 49168 51525 if (VIsual_active 49169 51526 && lnum >= min_pos.lnum && lnum <= max_pos.lnum) 49170 @@ -6659,13 +6 639,13 @@51527 @@ -6659,13 +6780,13 @@ 49171 51528 switch (VIsual_mode) 49172 51529 { … … 49186 51543 len = (long)bd.textlen; 49187 51544 break; 49188 @@ -6697,7 +6 677,6 @@51545 @@ -6697,7 +6818,6 @@ 49189 51546 } 49190 51547 } … … 49194 51551 /* In non-visual mode, check for the line the cursor is on */ 49195 51552 if (lnum == curwin->w_cursor.lnum) 49196 @@ -6719,7 +6 698,6 @@51553 @@ -6719,7 +6839,6 @@ 49197 51554 if (!curbuf->b_p_eol && curbuf->b_p_bin) 49198 51555 byte_count -= eol_size; … … 49202 51559 { 49203 51560 if (VIsual_mode == Ctrl_V && curwin->w_curswant < MAXCOL) 49204 @@ -6750,7 +6 728,6 @@51561 @@ -6750,7 +6869,6 @@ 49205 51562 byte_count_cursor, byte_count); 49206 51563 } … … 49212 51569 diff -Naur vim74.orig/src/option.c vim74/src/option.c 49213 51570 --- vim74.orig/src/option.c 2013-07-17 19:39:13.000000000 +0000 49214 +++ vim74/src/option.c 2014-0 3-30 20:09:04.602725365+000051571 +++ vim74/src/option.c 2014-04-27 05:20:58.235104897 +0000 49215 51572 @@ -134,6 +134,7 @@ 49216 51573 #define PV_KP OPT_BOTH(OPT_BUF(BV_KP)) … … 49638 51995 diff -Naur vim74.orig/src/option.h vim74/src/option.h 49639 51996 --- vim74.orig/src/option.h 2013-06-26 16:41:39.000000000 +0000 49640 +++ vim74/src/option.h 2014-0 3-30 20:09:04.606058808+000051997 +++ vim74/src/option.h 2014-04-27 05:20:58.238438314 +0000 49641 51998 @@ -31,9 +31,9 @@ 49642 51999 # define DFLT_EFM "%A%p^,%C%%CC-%t-%m,%Cat line number %l in file %f,%f|%l| %m" … … 49695 52052 +/* Value for b_p_ul indicating the global value must be used. */ 49696 52053 +#define NO_LOCAL_UNDOLEVEL -123456 52054 diff -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; 49697 52068 diff -Naur vim74.orig/src/os_dos.h vim74/src/os_dos.h 49698 52069 --- vim74.orig/src/os_dos.h 2013-06-12 18:09:44.000000000 +0000 49699 +++ vim74/src/os_dos.h 2014-0 3-30 20:09:04.606058808+000052070 +++ vim74/src/os_dos.h 2014-04-27 05:20:58.238438314 +0000 49700 52071 @@ -109,7 +109,7 @@ 49701 52072 #endif … … 49718 52089 diff -Naur vim74.orig/src/os_mac.h vim74/src/os_mac.h 49719 52090 --- vim74.orig/src/os_mac.h 2013-05-06 02:06:04.000000000 +0000 49720 +++ vim74/src/os_mac.h 2014-0 3-30 20:09:04.606058808+000052091 +++ vim74/src/os_mac.h 2014-04-27 05:20:58.238438314 +0000 49721 52092 @@ -16,6 +16,11 @@ 49722 52093 # define OPAQUE_TOOLBOX_STRUCTS 0 … … 49742 52113 diff -Naur vim74.orig/src/os_msdos.c vim74/src/os_msdos.c 49743 52114 --- vim74.orig/src/os_msdos.c 2013-05-06 02:06:04.000000000 +0000 49744 +++ vim74/src/os_msdos.c 2014-0 3-30 20:09:04.612725695 +000052115 +++ vim74/src/os_msdos.c 2014-04-27 05:20:58.245105145 +0000 49745 52116 @@ -2270,9 +2270,7 @@ 49746 52117 default: … … 49763 52134 49764 52135 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 49765 52155 diff -Naur vim74.orig/src/os_mswin.c vim74/src/os_mswin.c 49766 52156 --- vim74.orig/src/os_mswin.c 2013-06-16 14:41:11.000000000 +0000 49767 +++ vim74/src/os_mswin.c 2014-0 3-30 20:09:04.616059138+000052157 +++ vim74/src/os_mswin.c 2014-04-27 05:20:58.245105145 +0000 49768 52158 @@ -456,7 +456,14 @@ 49769 52159 int … … 50173 52563 diff -Naur vim74.orig/src/os_os2_cfg.h vim74/src/os_os2_cfg.h 50174 52564 --- vim74.orig/src/os_os2_cfg.h 2010-05-15 11:04:11.000000000 +0000 50175 +++ vim74/src/os_os2_cfg.h 2014-0 3-30 20:09:04.616059138+000052565 +++ vim74/src/os_os2_cfg.h 2014-04-27 05:20:58.248438561 +0000 50176 52566 @@ -47,7 +47,7 @@ 50177 52567 #undef UNIX /* define always by current configure script */ … … 50185 52575 diff -Naur vim74.orig/src/os_qnx.c vim74/src/os_qnx.c 50186 52576 --- vim74.orig/src/os_qnx.c 2011-09-21 17:48:08.000000000 +0000 50187 +++ vim74/src/os_qnx.c 2014-0 3-30 20:09:04.616059138+000052577 +++ vim74/src/os_qnx.c 2014-04-27 05:20:58.248438561 +0000 50188 52578 @@ -78,9 +78,7 @@ 50189 52579 default: /* fallthrough to line type */ … … 50208 52598 diff -Naur vim74.orig/src/os_unix.c vim74/src/os_unix.c 50209 52599 --- 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 @@ 50212 52617 static pid_t wait4pid __ARGS((pid_t, waitstatus *)); 50213 52618 … … 50218 52623 #else 50219 52624 static int RealWaitForChar __ARGS((int, long, int *)); 50220 @@ -435,7 +4 35,6 @@52625 @@ -435,7 +443,6 @@ 50221 52626 /* Process the queued netbeans messages. */ 50222 52627 netbeans_parse_messages(); … … 50226 52631 * We want to be interrupted by the winch signal 50227 52632 * or by an event on the monitored file descriptors. 50228 @@ -446,7 +4 45,6 @@52633 @@ -446,7 +453,6 @@ 50229 52634 handle_resize(); 50230 52635 return 0; … … 50234 52639 /* If input was put directly in typeahead buffer bail out here. */ 50235 52640 if (typebuf_changed(tb_change_cnt)) 50236 @@ -804,6 +8 02,10 @@52641 @@ -804,6 +810,10 @@ 50237 52642 * completely full. 50238 52643 */ … … 50245 52650 # define SIGSTKSZ 8000 /* just a guess of how much stack is needed... */ 50246 52651 #endif 50247 @@ -957,8 +9 59,10 @@52652 @@ -957,8 +967,10 @@ 50248 52653 50249 52654 /* … … 50257 52662 static RETSIGTYPE 50258 52663 deathtrap SIGDEFARG(sigarg) 50259 @@ -1090,18 +1 094,23 @@52664 @@ -1090,18 +1102,23 @@ 50260 52665 } 50261 52666 if (entered == 2) … … 50285 52690 #ifdef NBDEBUG 50286 52691 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 @@ 50288 52778 50289 52779 if (stat((char *)name, &st)) … … 50312 52802 50313 52803 /* 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 @@ 50315 52816 /* If it's an absolute or relative path don't need to use $PATH. */ 50316 52817 if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/' 50317 52818 || (name[1] == '.' && name[2] == '/')))) 52819 - return executable_file(name); 50318 52820 + { 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; 50320 52833 + } 50321 52834 50322 52835 p = (char_u *)getenv("PATH"); 50323 52836 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 @@ 50325 52855 return avail; 50326 52856 } … … 50330 52860 * Wait "msec" msec until a character is available from file descriptor "fd". 50331 52861 * "msec" == 0 will check for characters once. 50332 @@ -5327,13 +5 358,7 @@52862 @@ -5327,13 +5465,7 @@ 50333 52863 } 50334 52864 # endif … … 50344 52874 if (ret == -1 && errno == EINTR) 50345 52875 { 50346 @@ -5455,8 +5 480,6 @@52876 @@ -5455,8 +5587,6 @@ 50347 52877 return (ret > 0); 50348 52878 } … … 50353 52883 /* 50354 52884 * 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 @@ 50356 52895 { 50357 52896 /* If there is a NUL, set did_find_nul, else set check_spaces */ … … 50362 52901 else 50363 52902 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() 50364 52921 diff -Naur vim74.orig/src/os_unix.h vim74/src/os_unix.h 50365 52922 --- vim74.orig/src/os_unix.h 2013-06-12 18:09:44.000000000 +0000 50366 +++ vim74/src/os_unix.h 2014-0 3-30 20:09:04.619392580+000052923 +++ vim74/src/os_unix.h 2014-04-27 05:20:58.251771978 +0000 50367 52924 @@ -225,6 +225,8 @@ 50368 52925 # include <starlet.h> … … 50405 52962 diff -Naur vim74.orig/src/os_vms.c vim74/src/os_vms.c 50406 52963 --- vim74.orig/src/os_vms.c 2010-06-26 04:03:31.000000000 +0000 50407 +++ vim74/src/os_vms.c 2014-0 3-30 20:09:04.619392580+000052964 +++ vim74/src/os_vms.c 2014-04-27 05:20:58.251771978 +0000 50408 52965 @@ -11,6 +11,23 @@ 50409 52966 … … 50504 53061 cnt = vms_match_num; 50505 53062 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 */ 50506 53072 @@ -480,10 +511,18 @@ 50507 53073 mch_expandpath(garray_T *gap, char_u *path, int flags) … … 50644 53210 diff -Naur vim74.orig/src/os_vms_conf.h vim74/src/os_vms_conf.h 50645 53211 --- vim74.orig/src/os_vms_conf.h 2010-07-28 17:07:48.000000000 +0000 50646 +++ vim74/src/os_vms_conf.h 2014-0 3-30 20:09:04.619392580+000053212 +++ vim74/src/os_vms_conf.h 2014-04-27 05:20:58.251771978 +0000 50647 53213 @@ -23,7 +23,7 @@ 50648 53214 #define HAVE_DATE_TIME … … 50686 53252 diff -Naur vim74.orig/src/os_win16.h vim74/src/os_win16.h 50687 53253 --- vim74.orig/src/os_win16.h 2013-05-06 02:06:04.000000000 +0000 50688 +++ vim74/src/os_win16.h 2014-0 3-30 20:09:04.619392580+000053254 +++ vim74/src/os_win16.h 2014-04-27 05:20:58.255105394 +0000 50689 53255 @@ -55,8 +55,8 @@ 50690 53256 … … 50700 53266 diff -Naur vim74.orig/src/os_win32.c vim74/src/os_win32.c 50701 53267 --- vim74.orig/src/os_win32.c 2013-08-10 10:39:12.000000000 +0000 50702 +++ vim74/src/os_win32.c 2014-0 3-30 20:09:04.626059466+000053268 +++ vim74/src/os_win32.c 2014-04-27 05:20:58.255105394 +0000 50703 53269 @@ -78,16 +78,6 @@ 50704 53270 # endif … … 50906 53472 if (did_create_conin) 50907 53473 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 @@ 50909 53520 } 50910 53521 … … 51032 53643 void 51033 53644 fname_case( 51034 @@ -2520,11 +27 18,44 @@53645 @@ -2520,11 +2722,44 @@ 51035 53646 int slen; 51036 53647 … … 51078 53689 porig = name; 51079 53690 ptrue = szTrueName; 51080 @@ -2534,8 +276 5,8 @@53691 @@ -2534,8 +2769,8 @@ 51081 53692 /* copy leading drive letter */ 51082 53693 *ptrue++ = *porig++; … … 51088 53699 while (*porig != NUL) 51089 53700 { 51090 @@ -2629,6 +286 0,28 @@53701 @@ -2629,6 +2864,28 @@ 51091 53702 char szUserName[256 + 1]; /* UNLEN is 256 */ 51092 53703 DWORD cch = sizeof szUserName; … … 51117 53728 { 51118 53729 vim_strncpy(s, szUserName, len - 1); 51119 @@ -2649,6 +290 2,28 @@53730 @@ -2649,6 +2906,28 @@ 51120 53731 { 51121 53732 DWORD cch = len; … … 51146 53757 vim_strncpy(s, "PC (Win32 Vim)", len - 1); 51147 53758 } 51148 @@ -2695,6 +297 0,8 @@53759 @@ -2695,6 +2974,8 @@ 51149 53760 return OK; 51150 53761 } … … 51155 53766 } 51156 53767 #endif 51157 @@ -2702,18 +29 79,17 @@53768 @@ -2702,18 +2983,17 @@ 51158 53769 } 51159 53770 … … 51178 53789 51179 53790 51180 @@ -2736,7 +301 2,7 @@53791 @@ -2736,7 +3016,7 @@ 51181 53792 { 51182 53793 n = _wchmod(p, perm); … … 51187 53798 /* Retry with non-wide function (for Windows 98). */ 51188 53799 } 51189 @@ -2955,8 +323 1,7 @@53800 @@ -2955,8 +3235,7 @@ 51190 53801 * -1 : error 51191 53802 * else FILE_ATTRIBUTE_* defined in winnt.h … … 51197 53808 { 51198 53809 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 @@ 51200 53838 { 51201 53839 HANDLE hFile; … … 51207 53845 /* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to 51208 53846 * read from it later will cause Vim to hang. Thus return NODE_WRITABLE 51209 @@ -3114,14 +339 2,41 @@53847 @@ -3114,14 +3396,41 @@ 51210 53848 if (STRNCMP(name, "\\\\.\\", 4) == 0) 51211 53849 return NODE_WRITABLE; … … 51256 53894 return NODE_NORMAL; 51257 53895 51258 @@ -3618,6 +392 3,50 @@53896 @@ -3618,6 +3927,50 @@ 51259 53897 } 51260 53898 #endif /* FEAT_GUI_W32 */ … … 51307 53945 51308 53946 #if defined(FEAT_GUI_W32) || defined(PROTO) 51309 @@ -3664,18 +401 3,8 @@53947 @@ -3664,18 +4017,8 @@ 51310 53948 cmd += 3; 51311 53949 … … 51328 53966 /* Wait for the command to terminate before continuing */ 51329 53967 if (g_PlatformId != VER_PLATFORM_WIN32s) 51330 @@ -4007,22 +43 46,11 @@53968 @@ -4007,22 +4350,11 @@ 51331 53969 p = cmd; 51332 53970 } … … 51356 53994 if (p != cmd) 51357 53995 vim_free(p); 51358 @@ -4049,10 +43 77,10 @@53996 @@ -4049,10 +4381,10 @@ 51359 53997 { 51360 53998 MSG msg; … … 51369 54007 51370 54008 /* write pipe information in the window */ 51371 @@ -4240,7 +45 68,25 @@54009 @@ -4240,7 +4572,25 @@ 51372 54010 } 51373 54011 #else … … 51396 54034 #endif 51397 54035 51398 @@ -4325,6 +467 1,7 @@54036 @@ -4325,6 +4675,7 @@ 51399 54037 DWORD flags = CREATE_NEW_CONSOLE; 51400 54038 char_u *p; … … 51404 54042 si.lpReserved = NULL; 51405 54043 si.lpDesktop = NULL; 51406 @@ -4408,16 +475 5,7 @@54044 @@ -4408,16 +4759,7 @@ 51407 54045 * inherit our handles which causes unpleasant dangling swap 51408 54046 * files if we exit before the spawned process … … 51422 54060 else 51423 54061 { 51424 @@ -4430,9 +47 68,9 @@54062 @@ -4430,9 +4772,9 @@ 51425 54063 if (newcmd != cmdbase) 51426 54064 vim_free(newcmd); … … 51434 54072 } 51435 54073 /* Close the handles to the subprocess, so that it goes away */ 51436 @@ -5716,7 +605 4,7 @@54074 @@ -5716,7 +6058,7 @@ 51437 54075 { 51438 54076 f = _wopen(wn, flags, mode); … … 51443 54081 /* Retry with non-wide function (for Windows 98). Can't use 51444 54082 * GetLastError() here and it's unclear what errno gets set to if 51445 @@ -5767,7 +610 5,7 @@54083 @@ -5767,7 +6109,7 @@ 51446 54084 _set_fmode(oldMode); 51447 54085 # endif … … 51452 54090 /* Retry with non-wide function (for Windows 98). Can't use 51453 54091 * GetLastError() here and it's unclear what errno gets set to if 51454 @@ -6102,6 +644 0,7 @@54092 @@ -6102,6 +6444,7 @@ 51455 54093 while (i > 0) 51456 54094 free(argv[--i]); … … 51462 54100 diff -Naur vim74.orig/src/os_win32.h vim74/src/os_win32.h 51463 54101 --- vim74.orig/src/os_win32.h 2013-07-21 15:53:13.000000000 +0000 51464 +++ vim74/src/os_win32.h 2014-0 3-30 20:09:04.626059466+000054102 +++ vim74/src/os_win32.h 2014-04-27 05:20:58.255105394 +0000 51465 54103 @@ -68,7 +68,7 @@ 51466 54104 #endif … … 51494 54132 diff -Naur vim74.orig/src/osdef.sh vim74/src/osdef.sh 51495 54133 --- vim74.orig/src/osdef.sh 2010-05-15 11:04:08.000000000 +0000 51496 +++ vim74/src/osdef.sh 2014-0 3-30 20:09:04.626059466+000054134 +++ vim74/src/osdef.sh 2014-04-27 05:20:58.255105394 +0000 51497 54135 @@ -47,11 +47,7 @@ 51498 54136 #endif … … 51510 54148 diff -Naur vim74.orig/src/po/eo.po vim74/src/po/eo.po 51511 54149 --- vim74.orig/src/po/eo.po 2013-05-27 18:40:27.000000000 +0000 51512 +++ vim74/src/po/eo.po 2014-0 3-30 20:09:04.636059795+000054150 +++ vim74/src/po/eo.po 2014-04-27 05:20:58.268439058 +0000 51513 54151 @@ -23,8 +23,8 @@ 51514 54152 msgstr "" … … 52260 54898 diff -Naur vim74.orig/src/po/ru.cp1251.po vim74/src/po/ru.cp1251.po 52261 54899 --- vim74.orig/src/po/ru.cp1251.po 2013-08-10 12:28:27.000000000 +0000 52262 +++ vim74/src/po/ru.cp1251.po 2014-0 3-30 20:09:04.679394556 +000054900 +++ vim74/src/po/ru.cp1251.po 2014-04-27 05:20:58.305106636 +0000 52263 54901 @@ -3,14 +3,14 @@ 52264 54902 # Îá óñëîâèÿõ èñïîëüçîâàíèÿ ÷èòàéòå â ðåäàêòîðå Vim ":help uganda" … … 52512 55150 diff -Naur vim74.orig/src/po/ru.po vim74/src/po/ru.po 52513 55151 --- vim74.orig/src/po/ru.po 2013-07-09 12:36:10.000000000 +0000 52514 +++ vim74/src/po/ru.po 2014-0 3-30 20:09:04.679394556+000055152 +++ vim74/src/po/ru.po 2014-04-27 05:20:58.308440052 +0000 52515 55153 @@ -3,14 +3,14 @@ 52516 55154 # Ðб ÑÑлПвОÑÑ … … 52772 55410 diff -Naur vim74.orig/src/po/uk.cp1251.po vim74/src/po/uk.cp1251.po 52773 55411 --- vim74.orig/src/po/uk.cp1251.po 2013-08-10 12:28:27.000000000 +0000 52774 +++ vim74/src/po/uk.cp1251.po 2014-0 3-30 20:09:04.692728328+000055412 +++ vim74/src/po/uk.cp1251.po 2014-04-27 05:20:58.315106883 +0000 52775 55413 @@ -2,19 +2,17 @@ 52776 55414 # Ukrainian Vim translation [uk] … … 53605 56243 diff -Naur vim74.orig/src/po/uk.po vim74/src/po/uk.po 53606 56244 --- vim74.orig/src/po/uk.po 2013-01-17 12:11:55.000000000 +0000 53607 +++ vim74/src/po/uk.po 2014-0 3-30 20:09:04.692728328+000056245 +++ vim74/src/po/uk.po 2014-04-27 05:20:58.318440300 +0000 53608 56246 @@ -2,19 +2,17 @@ 53609 56247 # Ukrainian Vim translation [uk] … … 54448 57086 diff -Naur vim74.orig/src/popupmnu.c vim74/src/popupmnu.c 54449 57087 --- vim74.orig/src/popupmnu.c 2011-08-17 16:04:28.000000000 +0000 54450 +++ vim74/src/popupmnu.c 2014-0 3-30 20:09:04.702728656+000057088 +++ vim74/src/popupmnu.c 2014-04-27 05:20:58.328440548 +0000 54451 57089 @@ -282,6 +282,10 @@ 54452 57090 int round; … … 54473 57111 diff -Naur vim74.orig/src/proto/blowfish.pro vim74/src/proto/blowfish.pro 54474 57112 --- vim74.orig/src/proto/blowfish.pro 2013-08-10 11:37:06.000000000 +0000 54475 +++ vim74/src/proto/blowfish.pro 2014-0 3-30 20:09:04.702728656+000057113 +++ vim74/src/proto/blowfish.pro 2014-04-27 05:20:58.328440548 +0000 54476 57114 @@ -1,6 +1,6 @@ 54477 57115 /* blowfish.c */ … … 54484 57122 diff -Naur vim74.orig/src/proto/eval.pro vim74/src/proto/eval.pro 54485 57123 --- vim74.orig/src/proto/eval.pro 2013-08-10 11:37:09.000000000 +0000 54486 +++ vim74/src/proto/eval.pro 2014-0 3-30 20:09:04.706062100+000057124 +++ vim74/src/proto/eval.pro 2014-04-27 05:20:58.331773964 +0000 54487 57125 @@ -60,6 +60,7 @@ 54488 57126 int list_append_string __ARGS((list_T *l, char_u *str, int len)); … … 54495 57133 diff -Naur vim74.orig/src/proto/ex_cmds2.pro vim74/src/proto/ex_cmds2.pro 54496 57134 --- vim74.orig/src/proto/ex_cmds2.pro 2013-08-10 11:37:10.000000000 +0000 54497 +++ vim74/src/proto/ex_cmds2.pro 2014-0 3-30 20:09:04.706062100+000057135 +++ vim74/src/proto/ex_cmds2.pro 2014-04-27 05:20:58.331773964 +0000 54498 57136 @@ -35,7 +35,7 @@ 54499 57137 int prof_def_func __ARGS((void)); … … 54505 57143 void dialog_changed __ARGS((buf_T *buf, int checkall)); 54506 57144 int can_abandon __ARGS((buf_T *buf, int forceit)); 57145 diff -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 : */ 54507 57154 diff -Naur vim74.orig/src/proto/ex_eval.pro vim74/src/proto/ex_eval.pro 54508 57155 --- vim74.orig/src/proto/ex_eval.pro 2013-08-10 11:37:10.000000000 +0000 54509 +++ vim74/src/proto/ex_eval.pro 2014-0 3-30 20:09:04.706062100+000057156 +++ vim74/src/proto/ex_eval.pro 2014-04-27 05:20:58.331773964 +0000 54510 57157 @@ -4,8 +4,10 @@ 54511 57158 int should_abort __ARGS((int retcode)); … … 54521 57168 diff -Naur vim74.orig/src/proto/getchar.pro vim74/src/proto/getchar.pro 54522 57169 --- vim74.orig/src/proto/getchar.pro 2013-08-10 11:37:12.000000000 +0000 54523 +++ vim74/src/proto/getchar.pro 2014-0 3-30 20:09:04.712728987+000057170 +++ vim74/src/proto/getchar.pro 2014-04-27 05:20:58.335107381 +0000 54524 57171 @@ -1,8 +1,9 @@ 54525 57172 /* getchar.c */ … … 54535 57182 diff -Naur vim74.orig/src/proto/misc1.pro vim74/src/proto/misc1.pro 54536 57183 --- vim74.orig/src/proto/misc1.pro 2013-08-10 11:37:20.000000000 +0000 54537 +++ vim74/src/proto/misc1.pro 2014-0 3-30 20:09:04.726062759 +000057184 +++ vim74/src/proto/misc1.pro 2014-04-27 05:20:58.345107629 +0000 54538 57185 @@ -69,6 +69,7 @@ 54539 57186 char_u *getnextcomp __ARGS((char_u *fname)); … … 54556 57203 int get_expr_indent __ARGS((void)); 54557 57204 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 : */ 54558 57214 diff -Naur vim74.orig/src/proto/misc2.pro vim74/src/proto/misc2.pro 54559 57215 --- vim74.orig/src/proto/misc2.pro 2013-08-10 11:37:20.000000000 +0000 54560 +++ vim74/src/proto/misc2.pro 2014-0 3-30 20:09:04.729396202+000057216 +++ vim74/src/proto/misc2.pro 2014-04-27 05:20:58.345107629 +0000 54561 57217 @@ -32,7 +32,7 @@ 54562 57218 char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars)); … … 54568 57224 char_u *vim_strnsave_up __ARGS((char_u *string, int len)); 54569 57225 void vim_strup __ARGS((char_u *p)); 57226 diff -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 : */ 54570 57241 diff -Naur vim74.orig/src/proto/option.pro vim74/src/proto/option.pro 54571 57242 --- vim74.orig/src/proto/option.pro 2013-08-10 11:37:22.000000000 +0000 54572 +++ vim74/src/proto/option.pro 2014-0 3-30 20:09:04.729396202+000057243 +++ vim74/src/proto/option.pro 2014-04-27 05:20:58.348441045 +0000 54573 57244 @@ -23,6 +23,7 @@ 54574 57245 char_u *check_stl_option __ARGS((char_u *s)); … … 54588 57259 void find_mps_values __ARGS((int *initc, int *findc, int *backwards, int switchit)); 54589 57260 /* vim: set ft=c : */ 57261 diff -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)); 57273 diff -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)); 57285 diff -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)); 54590 57297 diff -Naur vim74.orig/src/proto/os_vms.pro vim74/src/proto/os_vms.pro 54591 57298 --- vim74.orig/src/proto/os_vms.pro 2013-08-10 11:37:40.000000000 +0000 54592 +++ vim74/src/proto/os_vms.pro 2014-0 3-30 20:09:04.732729645 +000057299 +++ vim74/src/proto/os_vms.pro 2014-04-27 05:20:58.348441045 +0000 54593 57300 @@ -7,6 +7,7 @@ 54594 57301 int vms_sys __ARGS((char *cmd, char *out, char *inp)); … … 54599 57306 int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags)); 54600 57307 void *vms_fixfilename __ARGS((void *instring)); 57308 diff -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)); 57320 diff -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)); 54601 57331 diff -Naur vim74.orig/src/proto/spell.pro vim74/src/proto/spell.pro 54602 57332 --- vim74.orig/src/proto/spell.pro 2013-08-10 11:37:26.000000000 +0000 54603 +++ vim74/src/proto/spell.pro 2014-0 3-30 20:09:04.736063088+000057333 +++ vim74/src/proto/spell.pro 2014-04-27 05:20:58.351774461 +0000 54604 57334 @@ -3,6 +3,7 @@ 54605 57335 int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, hlf_T *attrp)); … … 54612 57342 diff -Naur vim74.orig/src/proto/term.pro vim74/src/proto/term.pro 54613 57343 --- vim74.orig/src/proto/term.pro 2013-08-10 11:37:28.000000000 +0000 54614 +++ vim74/src/proto/term.pro 2014-0 3-30 20:09:04.736063088+000057344 +++ vim74/src/proto/term.pro 2014-04-27 05:20:58.355107876 +0000 54615 57345 @@ -35,7 +35,7 @@ 54616 57346 void starttermcap __ARGS((void)); … … 54624 57354 diff -Naur vim74.orig/src/proto/winclip.pro vim74/src/proto/winclip.pro 54625 57355 --- vim74.orig/src/proto/winclip.pro 2013-08-10 11:37:39.000000000 +0000 54626 +++ vim74/src/proto/winclip.pro 2014-0 3-30 20:09:04.736063088+000057356 +++ vim74/src/proto/winclip.pro 2014-04-27 05:20:58.355107876 +0000 54627 57357 @@ -11,4 +11,5 @@ 54628 57358 short_u *enc_to_utf16 __ARGS((char_u *str, int *lenp)); … … 54633 57363 diff -Naur vim74.orig/src/proto/window.pro vim74/src/proto/window.pro 54634 57364 --- vim74.orig/src/proto/window.pro 2013-08-10 11:37:30.000000000 +0000 54635 +++ vim74/src/proto/window.pro 2014-0 3-30 20:09:04.736063088+000057365 +++ vim74/src/proto/window.pro 2014-04-27 05:20:58.355107876 +0000 54636 57366 @@ -9,7 +9,7 @@ 54637 57367 void win_equal __ARGS((win_T *next_curwin, int current, int dir)); … … 54645 57375 diff -Naur vim74.orig/src/quickfix.c vim74/src/quickfix.c 54646 57376 --- vim74.orig/src/quickfix.c 2013-07-01 19:16:44.000000000 +0000 54647 +++ vim74/src/quickfix.c 2014-0 3-30 20:09:04.739396532+000057377 +++ vim74/src/quickfix.c 2014-04-27 05:20:58.358441293 +0000 54648 57378 @@ -751,7 +751,10 @@ 54649 57379 fmt_start = fmt_ptr; … … 54692 57422 diff -Naur vim74.orig/src/regexp.c vim74/src/regexp.c 54693 57423 --- 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 @@ 54696 57504 - (*mb_head_off)(regline, reginput - 1), reg_buf); 54697 57505 return -1; … … 54704 57512 54705 57513 /* 54706 @@ -4258,7 +42 57,6 @@57514 @@ -4258,7 +4232,6 @@ 54707 57515 } 54708 57516 return TRUE; … … 54712 57520 #define ADVANCE_REGINPUT() mb_ptr_adv(reginput) 54713 57521 54714 @@ -4311,8 +4 309,8 @@57522 @@ -4311,8 +4284,8 @@ 54715 57523 */ 54716 57524 for (;;) … … 54723 57531 54724 57532 #ifdef DEBUG 54725 @@ -4440,9 +44 38,7 @@57533 @@ -4440,9 +4413,7 @@ 54726 57534 break; 54727 57535 … … 54733 57541 break; 54734 57542 54735 @@ -6455,7 +64 51,8 @@57543 @@ -6455,7 +6426,8 @@ 54736 57544 /* 54737 57545 * Check whether a backreference matches. … … 54743 57551 static int 54744 57552 match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen) 54745 @@ -6511,6 +6 508,8 @@57553 @@ -6511,6 +6483,8 @@ 54746 57554 54747 57555 /* Advance to next line. */ … … 54752 57560 ccol = 0; 54753 57561 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 @@ 54755 57688 } 54756 57689 #endif … … 54768 57701 54769 57702 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 57721 diff -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; 54770 57737 diff -Naur vim74.orig/src/regexp_nfa.c vim74/src/regexp_nfa.c 54771 57738 --- vim74.orig/src/regexp_nfa.c 2013-08-01 16:27:51.000000000 +0000 54772 +++ vim74/src/regexp_nfa.c 2014-0 3-30 20:09:04.746063417+000057739 +++ vim74/src/regexp_nfa.c 2014-04-27 05:20:58.361774709 +0000 54773 57740 @@ -29,11 +29,14 @@ 54774 57741 # define NFA_REGEXP_DEBUG_LOG "nfa_regexp_debug.log" … … 54821 57788 /* NFA regexp \ze operator encountered. */ 54822 57789 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)); 54823 57799 @@ -578,6 +587,8 @@ 54824 57800 * On failure, return 0 (=FAIL) … … 55747 58723 addstate_here(thislist, add_state, &t->subs, pim, &listidx); 55748 58724 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 /* 55749 58798 diff -Naur vim74.orig/src/screen.c vim74/src/screen.c 55750 58799 --- vim74.orig/src/screen.c 2013-07-13 10:23:00.000000000 +0000 55751 +++ vim74/src/screen.c 2014-0 3-30 20:09:04.749396860+000058800 +++ vim74/src/screen.c 2014-04-27 05:20:58.365108126 +0000 55752 58801 @@ -446,8 +446,6 @@ 55753 58802 #endif … … 56022 59071 diff -Naur vim74.orig/src/search.c vim74/src/search.c 56023 59072 --- vim74.orig/src/search.c 2013-07-17 17:20:47.000000000 +0000 56024 +++ vim74/src/search.c 2014-0 3-30 20:09:04.749396860+000059073 +++ vim74/src/search.c 2014-04-27 05:20:58.368441542 +0000 56025 59074 @@ -201,7 +201,7 @@ 56026 59075 * Save the currently used pattern in the appropriate place, … … 56482 59531 diff -Naur vim74.orig/src/spell.c vim74/src/spell.c 56483 59532 --- vim74.orig/src/spell.c 2013-07-17 15:28:28.000000000 +0000 56484 +++ vim74/src/spell.c 2014-0 3-30 20:09:04.756063747+000059533 +++ vim74/src/spell.c 2014-04-27 05:20:58.375108373 +0000 56485 59534 @@ -317,7 +317,7 @@ 56486 59535 … … 56905 59954 diff -Naur vim74.orig/src/structs.h vim74/src/structs.h 56906 59955 --- vim74.orig/src/structs.h 2013-07-03 13:35:59.000000000 +0000 56907 +++ vim74/src/structs.h 2014-0 3-30 20:09:04.756063747+000059956 +++ vim74/src/structs.h 2014-04-27 05:20:58.375108373 +0000 56908 59957 @@ -346,9 +346,7 @@ 56909 59958 #endif … … 57105 60154 diff -Naur vim74.orig/src/syntax.c vim74/src/syntax.c 57106 60155 --- vim74.orig/src/syntax.c 2013-06-08 14:10:08.000000000 +0000 57107 +++ vim74/src/syntax.c 2014-0 3-30 20:09:04.762730633+000060156 +++ vim74/src/syntax.c 2014-04-27 05:20:58.378441790 +0000 57108 60157 @@ -6837,10 +6837,8 @@ 57109 60158 CENT("SignColumn term=standout ctermbg=Grey ctermfg=DarkBlue", … … 57139 60188 diff -Naur vim74.orig/src/tag.c vim74/src/tag.c 57140 60189 --- 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 @@ 57143 60205 int match_no_ic = 0;/* matches with rm_ic == FALSE */ 57144 60206 int match_re; /* match with regexp */ … … 57148 60210 #ifdef FEAT_EMACS_TAGS 57149 60211 /* 57150 @@ -1442,7 +144 3,10 @@60212 @@ -1442,7 +1445,10 @@ 57151 60213 if (p_tl != 0 && orgpat.len > p_tl) /* adjust for 'taglength' */ 57152 60214 orgpat.len = p_tl; … … 57159 60221 goto findtag_end; 57160 60222 57161 @@ -1797,13 +180 1,16 @@60223 @@ -1797,13 +1803,16 @@ 57162 60224 */ 57163 60225 if (state == TS_START) … … 57180 60242 * Read header line. 57181 60243 */ 57182 @@ -1898,6 +190 5,7 @@60244 @@ -1898,6 +1907,7 @@ 57183 60245 #endif 57184 60246 } … … 57188 60250 * Figure out where the different strings are in this line. 57189 60251 * For "normal" tags: Do a quick check if the tag matches. 57190 @@ -3326,7 +333 4,9 @@60252 @@ -3326,7 +3336,9 @@ 57191 60253 #ifdef FEAT_SEARCH_EXTRA 57192 60254 /* restore no_hlsearch when keeping the old search pattern */ … … 57201 60263 diff -Naur vim74.orig/src/term.c vim74/src/term.c 57202 60264 --- vim74.orig/src/term.c 2013-07-04 20:29:28.000000000 +0000 57203 +++ vim74/src/term.c 2014-0 3-30 20:09:04.766064076 +000060265 +++ vim74/src/term.c 2014-04-27 05:20:58.381775206 +0000 57204 60266 @@ -3356,7 +3356,7 @@ 57205 60267 * it must be called immediately after entering termcap mode. … … 57315 60377 diff -Naur vim74.orig/src/testdir/Make_amiga.mak vim74/src/testdir/Make_amiga.mak 57316 60378 --- vim74.orig/src/testdir/Make_amiga.mak 2013-07-09 11:40:02.000000000 +0000 57317 +++ vim74/src/testdir/Make_amiga.mak 2014-0 3-30 20:09:04.769397519+000057318 @@ -33,7 +33, 9@@60379 +++ vim74/src/testdir/Make_amiga.mak 2014-04-27 05:20:58.385108623 +0000 60380 @@ -33,7 +33,11 @@ 57319 60381 test76.out test77.out test78.out test79.out test80.out \ 57320 60382 test81.out test82.out test83.out test84.out test88.out \ … … 57323 60385 + test94.out test95.out test96.out test97.out test98.out \ 57324 60386 + 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 57326 60390 57327 60391 .SUFFIXES: .in .out 57328 60392 57329 @@ -148,3 +15 0,11@@60393 @@ -148,3 +152,13 @@ 57330 60394 test96.out: test96.in 57331 60395 test97.out: test97.in … … 57339 60403 +test105.out: test105.in 57340 60404 +test106.out: test106.in 60405 +test_eval.out: test_eval.in 60406 +test_options.out: test_options.in 57341 60407 diff -Naur vim74.orig/src/testdir/Make_dos.mak vim74/src/testdir/Make_dos.mak 57342 60408 --- vim74.orig/src/testdir/Make_dos.mak 2013-07-09 11:40:30.000000000 +0000 57343 +++ vim74/src/testdir/Make_dos.mak 2014-0 3-30 20:09:04.769397519+000057344 @@ -32,7 +32, 9@@60409 +++ vim74/src/testdir/Make_dos.mak 2014-04-27 05:20:58.385108623 +0000 60410 @@ -32,7 +32,11 @@ 57345 60411 test79.out test80.out test81.out test82.out test83.out \ 57346 60412 test84.out test85.out test86.out test87.out test88.out \ … … 57349 60415 + test94.out test95.out test96.out test98.out test99.out \ 57350 60416 + 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 57352 60420 57353 60421 SCRIPTS32 = test50.out test70.out … … 57355 60423 diff -Naur vim74.orig/src/testdir/Make_ming.mak vim74/src/testdir/Make_ming.mak 57356 60424 --- vim74.orig/src/testdir/Make_ming.mak 2013-07-09 11:40:38.000000000 +0000 57357 +++ vim74/src/testdir/Make_ming.mak 2014-0 3-30 20:09:04.769397519+000057358 @@ -52,7 +52, 9@@60425 +++ vim74/src/testdir/Make_ming.mak 2014-04-27 05:20:58.385108623 +0000 60426 @@ -52,7 +52,11 @@ 57359 60427 test79.out test80.out test81.out test82.out test83.out \ 57360 60428 test84.out test85.out test86.out test87.out test88.out \ … … 57363 60431 + test94.out test95.out test96.out test98.out test99.out \ 57364 60432 + 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 57366 60436 57367 60437 SCRIPTS32 = test50.out test70.out … … 57369 60439 diff -Naur vim74.orig/src/testdir/Make_os2.mak vim74/src/testdir/Make_os2.mak 57370 60440 --- vim74.orig/src/testdir/Make_os2.mak 2013-07-09 11:40:43.000000000 +0000 57371 +++ vim74/src/testdir/Make_os2.mak 2014-0 3-30 20:09:04.769397519+000057372 @@ -34,7 +34, 9@@60441 +++ vim74/src/testdir/Make_os2.mak 2014-04-27 05:20:58.385108623 +0000 60442 @@ -34,7 +34,11 @@ 57373 60443 test76.out test77.out test78.out test79.out test80.out \ 57374 60444 test81.out test82.out test83.out test84.out test88.out \ … … 57377 60447 + test94.out test95.out test96.out test98.out test99.out \ 57378 60448 + 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 57380 60452 57381 60453 .SUFFIXES: .in .out … … 57383 60455 diff -Naur vim74.orig/src/testdir/Make_vms.mms vim74/src/testdir/Make_vms.mms 57384 60456 --- vim74.orig/src/testdir/Make_vms.mms 2013-07-09 11:40:47.000000000 +0000 57385 +++ vim74/src/testdir/Make_vms.mms 2014-0 3-30 20:09:04.772730962+000060457 +++ vim74/src/testdir/Make_vms.mms 2014-04-27 05:20:58.385108623 +0000 57386 60458 @@ -4,7 +4,7 @@ 57387 60459 # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com> … … 57426 60498 # End of configuration section. 57427 60499 # 57428 @@ -63,35 +78,4 4@@60500 @@ -63,35 +78,46 @@ 57429 60501 57430 60502 SCRIPT = test1.out test2.out test3.out test4.out test5.out \ … … 57453 60525 + test95.out test96.out test98.out test99.out \ 57454 60526 + 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 57456 60530 57457 60531 # Known problems: … … 57482 60556 .IFDEF WANT_GUI 57483 60557 SCRIPT_GUI = test16.out 57484 @@ -99,7 +12 3,7 @@60558 @@ -99,7 +125,7 @@ 57485 60559 .ENDIF 57486 60560 … … 57491 60565 57492 60566 .IFDEF WANT_WIN 57493 @@ -114,6 +1 38,10 @@60567 @@ -114,6 +140,10 @@ 57494 60568 SCRIPT_MZSCH = test70.out 57495 60569 .ENDIF … … 57502 60576 SCRIPT_GZIP = test11.out 57503 60577 .ENDIF 57504 @@ -122,10 +15 0,28 @@60578 @@ -122,10 +152,28 @@ 57505 60579 SCRIPT_GDIFF = test47.out 57506 60580 .ENDIF … … 57531 60605 -@ write sys$output "-----------------------------------------------" 57532 60606 -@ write sys$output " "$*" " 57533 @@ -138,9 +18 4,10 @@60607 @@ -138,9 +186,10 @@ 57534 60608 -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then differences /par $*.out $*.ok; 57535 60609 -@ !clean up after the test … … 57544 60618 -@ write sys$output "-----------------------------------------------" 57545 60619 -@ write sys$output " All done" 57546 @@ -163,13 +21 0,18 @@60620 @@ -163,13 +212,18 @@ 57547 60621 -@ write sys$output " Test results:" 57548 60622 -@ write sys$output "-----------------------------------------------" … … 57570 60644 -@ write sys$output "-----------------------------------------------" 57571 60645 -@ type VMS.VIM 57572 @@ -179,6 +23 1,9 @@60646 @@ -179,6 +233,9 @@ 57573 60647 -@ if "''F$SEARCH("test.log")'" .NES. "" then delete/noconfirm/nolog test.log.* 57574 60648 -@ if "''F$SEARCH("test.ok")'" .NES. "" then delete/noconfirm/nolog test.ok.* … … 57580 60654 -@ if "''F$SEARCH("*.failed")'" .NES. "" then delete/noconfirm/nolog *.failed.* 57581 60655 -@ if "''F$SEARCH("*.rej")'" .NES. "" then delete/noconfirm/nolog *.rej.* 57582 @@ -186,6 +24 1,6 @@60656 @@ -186,6 +243,6 @@ 57583 60657 -@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.* 57584 60658 -@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.* … … 57590 60664 diff -Naur vim74.orig/src/testdir/Makefile vim74/src/testdir/Makefile 57591 60665 --- 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 @@ 57594 60676 test79.out test80.out test81.out test82.out test83.out \ 57595 60677 test84.out test85.out test86.out test87.out test88.out \ … … 57598 60680 + test94.out test95.out test96.out test97.out test98.out \ 57599 60681 + 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 57601 60684 57602 60685 SCRIPTS_GUI = test16.out 57603 60686 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: 57605 60695 -rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.* 57606 60696 … … 57620 60710 diff -Naur vim74.orig/src/testdir/sautest/autoload/Test104.vim vim74/src/testdir/sautest/autoload/Test104.vim 57621 60711 --- 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-0 3-30 20:09:04.779397848+000060712 +++ vim74/src/testdir/sautest/autoload/Test104.vim 2014-04-27 05:20:58.391775454 +0000 57623 60713 @@ -0,0 +1 @@ 57624 60714 +let Test104#numvar = 123 57625 60715 diff -Naur vim74.orig/src/testdir/sautest/autoload/footest.vim vim74/src/testdir/sautest/autoload/footest.vim 57626 60716 --- 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-0 3-30 20:09:04.779397848+000060717 +++ vim74/src/testdir/sautest/autoload/footest.vim 2014-04-27 05:20:58.391775454 +0000 57628 60718 @@ -0,0 +1,5 @@ 57629 60719 +" Autoload script used by test55 and test60 … … 57634 60724 diff -Naur vim74.orig/src/testdir/test1.in vim74/src/testdir/test1.in 57635 60725 --- vim74.orig/src/testdir/test1.in 2012-04-05 14:37:37.000000000 +0000 57636 +++ vim74/src/testdir/test1.in 2014-0 3-30 20:09:04.779397848+000060726 +++ vim74/src/testdir/test1.in 2014-04-27 05:20:58.391775454 +0000 57637 60727 @@ -18,6 +18,10 @@ 57638 60728 Similar logic is applied to the +lua feature, using lua.vim. … … 57648 60738 diff -Naur vim74.orig/src/testdir/test100.in vim74/src/testdir/test100.in 57649 60739 --- vim74.orig/src/testdir/test100.in 1970-01-01 00:00:00.000000000 +0000 57650 +++ vim74/src/testdir/test100.in 2014-0 3-30 20:09:04.779397848+000060740 +++ vim74/src/testdir/test100.in 2014-04-27 05:20:58.395108870 +0000 57651 60741 @@ -0,0 +1,50 @@ 57652 60742 +Tests for 'undolevel' and 'lispwords' settings being global-local … … 57702 60792 diff -Naur vim74.orig/src/testdir/test100.ok vim74/src/testdir/test100.ok 57703 60793 --- vim74.orig/src/testdir/test100.ok 1970-01-01 00:00:00.000000000 +0000 57704 +++ vim74/src/testdir/test100.ok 2014-0 3-30 20:09:04.779397848+000060794 +++ vim74/src/testdir/test100.ok 2014-04-27 05:20:58.395108870 +0000 57705 60795 @@ -0,0 +1,51 @@ 57706 60796 +ONE: expecting global undolevels: 5, local undolevels: -123456 (default) … … 57757 60847 diff -Naur vim74.orig/src/testdir/test101.in vim74/src/testdir/test101.in 57758 60848 --- vim74.orig/src/testdir/test101.in 1970-01-01 00:00:00.000000000 +0000 57759 +++ vim74/src/testdir/test101.in 2014-0 3-30 20:09:04.779397848+000060849 +++ vim74/src/testdir/test101.in 2014-04-27 05:20:58.395108870 +0000 57760 60850 @@ -0,0 +1,45 @@ 57761 60851 +Test for v:hlsearch vim: set ft=vim : … … 57806 60896 diff -Naur vim74.orig/src/testdir/test101.ok vim74/src/testdir/test101.ok 57807 60897 --- vim74.orig/src/testdir/test101.ok 1970-01-01 00:00:00.000000000 +0000 57808 +++ vim74/src/testdir/test101.ok 2014-0 3-30 20:09:04.782731291+000060898 +++ vim74/src/testdir/test101.ok 2014-04-27 05:20:58.395108870 +0000 57809 60899 @@ -0,0 +1,11 @@ 57810 60900 +start: … … 57821 60911 diff -Naur vim74.orig/src/testdir/test102.in vim74/src/testdir/test102.in 57822 60912 --- vim74.orig/src/testdir/test102.in 1970-01-01 00:00:00.000000000 +0000 57823 +++ vim74/src/testdir/test102.in 2014-0 3-30 20:09:04.782731291+000060913 +++ vim74/src/testdir/test102.in 2014-04-27 05:20:58.395108870 +0000 57824 60914 @@ -0,0 +1,12 @@ 57825 60915 +Test if fnameescape is correct for special chars like ! … … 57837 60927 diff -Naur vim74.orig/src/testdir/test102.ok vim74/src/testdir/test102.ok 57838 60928 --- vim74.orig/src/testdir/test102.ok 1970-01-01 00:00:00.000000000 +0000 57839 +++ vim74/src/testdir/test102.ok 2014-0 3-30 20:09:04.782731291+000060929 +++ vim74/src/testdir/test102.ok 2014-04-27 05:20:58.395108870 +0000 57840 60930 @@ -0,0 +1,3 @@ 57841 60931 + … … 57844 60934 diff -Naur vim74.orig/src/testdir/test103.in vim74/src/testdir/test103.in 57845 60935 --- vim74.orig/src/testdir/test103.in 1970-01-01 00:00:00.000000000 +0000 57846 +++ vim74/src/testdir/test103.in 2014-0 3-30 20:09:04.782731291+000060936 +++ vim74/src/testdir/test103.in 2014-04-27 05:20:58.395108870 +0000 57847 60937 @@ -0,0 +1,37 @@ 57848 60938 +Test for visual mode not being reset causing E315 error. … … 57885 60975 diff -Naur vim74.orig/src/testdir/test103.ok vim74/src/testdir/test103.ok 57886 60976 --- vim74.orig/src/testdir/test103.ok 1970-01-01 00:00:00.000000000 +0000 57887 +++ vim74/src/testdir/test103.ok 2014-0 3-30 20:09:04.782731291+000060977 +++ vim74/src/testdir/test103.ok 2014-04-27 05:20:58.395108870 +0000 57888 60978 @@ -0,0 +1,2 @@ 57889 60979 + … … 57891 60981 diff -Naur vim74.orig/src/testdir/test104.in vim74/src/testdir/test104.in 57892 60982 --- vim74.orig/src/testdir/test104.in 1970-01-01 00:00:00.000000000 +0000 57893 +++ vim74/src/testdir/test104.in 2014-0 3-30 20:09:04.782731291+000060983 +++ vim74/src/testdir/test104.in 2014-04-27 05:20:58.395108870 +0000 57894 60984 @@ -0,0 +1,30 @@ 57895 60985 +Tests for :let. vim: set ft=vim ts=8 : … … 57925 61015 diff -Naur vim74.orig/src/testdir/test104.ok vim74/src/testdir/test104.ok 57926 61016 --- vim74.orig/src/testdir/test104.ok 1970-01-01 00:00:00.000000000 +0000 57927 +++ vim74/src/testdir/test104.ok 2014-0 3-30 20:09:04.782731291+000061017 +++ vim74/src/testdir/test104.ok 2014-04-27 05:20:58.395108870 +0000 57928 61018 @@ -0,0 +1,13 @@ 57929 61019 +Results of test104: … … 57942 61032 diff -Naur vim74.orig/src/testdir/test105.in vim74/src/testdir/test105.in 57943 61033 --- vim74.orig/src/testdir/test105.in 1970-01-01 00:00:00.000000000 +0000 57944 +++ vim74/src/testdir/test105.in 2014-0 3-30 20:09:04.782731291+000061034 +++ vim74/src/testdir/test105.in 2014-04-27 05:20:58.395108870 +0000 57945 61035 @@ -0,0 +1,45 @@ 57946 61036 +Test filename modifiers vim: set ft=vim : … … 57991 61081 diff -Naur vim74.orig/src/testdir/test105.ok vim74/src/testdir/test105.ok 57992 61082 --- vim74.orig/src/testdir/test105.ok 1970-01-01 00:00:00.000000000 +0000 57993 +++ vim74/src/testdir/test105.ok 2014-0 3-30 20:09:04.782731291+000061083 +++ vim74/src/testdir/test105.ok 2014-04-27 05:20:58.398442287 +0000 57994 61084 @@ -0,0 +1,29 @@ 57995 61085 +fnamemodify('.', ':p' )[-1:] '/' … … 58024 61114 diff -Naur vim74.orig/src/testdir/test106.in vim74/src/testdir/test106.in 58025 61115 --- vim74.orig/src/testdir/test106.in 1970-01-01 00:00:00.000000000 +0000 58026 +++ vim74/src/testdir/test106.in 2014-0 3-30 20:09:04.782731291+000061116 +++ vim74/src/testdir/test106.in 2014-04-27 05:20:58.398442287 +0000 58027 61117 @@ -0,0 +1,16 @@ 58028 61118 +Tests for errorformat. vim: set ft=vim ts=8 : … … 58044 61134 diff -Naur vim74.orig/src/testdir/test106.ok vim74/src/testdir/test106.ok 58045 61135 --- vim74.orig/src/testdir/test106.ok 1970-01-01 00:00:00.000000000 +0000 58046 +++ vim74/src/testdir/test106.ok 2014-0 3-30 20:09:04.786064734+000061136 +++ vim74/src/testdir/test106.ok 2014-04-27 05:20:58.398442287 +0000 58047 61137 @@ -0,0 +1,4 @@ 58048 61138 +Results of test106: … … 58052 61142 diff -Naur vim74.orig/src/testdir/test14.in vim74/src/testdir/test14.in 58053 61143 --- vim74.orig/src/testdir/test14.in 2013-04-03 18:59:14.000000000 +0000 58054 +++ vim74/src/testdir/test14.in 2014-0 3-30 20:09:04.786064734+000061144 +++ vim74/src/testdir/test14.in 2014-04-27 05:20:58.398442287 +0000 58055 61145 @@ -47,7 +47,19 @@ 58056 61146 /two … … 58084 61174 diff -Naur vim74.orig/src/testdir/test14.ok vim74/src/testdir/test14.ok 58085 61175 --- vim74.orig/src/testdir/test14.ok 2013-04-03 18:59:14.000000000 +0000 58086 +++ vim74/src/testdir/test14.ok 2014-0 3-30 20:09:04.786064734+000061176 +++ vim74/src/testdir/test14.ok 2014-04-27 05:20:58.398442287 +0000 58087 61177 @@ -20,3 +20,7 @@ 58088 61178 1 … … 58095 61185 diff -Naur vim74.orig/src/testdir/test20.in vim74/src/testdir/test20.in 58096 61186 --- vim74.orig/src/testdir/test20.in 2010-05-15 11:04:10.000000000 +0000 58097 +++ vim74/src/testdir/test20.in 2014-0 3-30 20:09:04.789398178+000061187 +++ vim74/src/testdir/test20.in 2014-04-27 05:20:58.401775704 +0000 58098 61188 @@ -9,11 +9,17 @@ 58099 61189 @auY:quit! … … 58118 61208 diff -Naur vim74.orig/src/testdir/test20.ok vim74/src/testdir/test20.ok 58119 61209 --- vim74.orig/src/testdir/test20.ok 2010-05-15 11:04:10.000000000 +0000 58120 +++ vim74/src/testdir/test20.ok 2014-0 3-30 20:09:04.789398178+000061210 +++ vim74/src/testdir/test20.ok 2014-04-27 05:20:58.401775704 +0000 58121 61211 @@ -1,3 +1,7 @@ 58122 61212 +123start here56 … … 58129 61219 diff -Naur vim74.orig/src/testdir/test32.in vim74/src/testdir/test32.in 58130 61220 --- vim74.orig/src/testdir/test32.in 2010-05-15 11:04:10.000000000 +0000 58131 +++ vim74/src/testdir/test32.in 2014-0 3-30 20:09:04.799398506+000061221 +++ vim74/src/testdir/test32.in 2014-04-27 05:20:58.408442535 +0000 58132 61222 @@ -36,6 +36,9 @@ 58133 61223 :w Xtest11.one … … 58142 61232 diff -Naur vim74.orig/src/testdir/test34.in vim74/src/testdir/test34.in 58143 61233 --- vim74.orig/src/testdir/test34.in 2012-07-16 14:51:29.000000000 +0000 58144 +++ vim74/src/testdir/test34.in 2014-0 3-30 20:09:04.799398506+000061234 +++ vim74/src/testdir/test34.in 2014-04-27 05:20:58.411775950 +0000 58145 61235 @@ -1,6 +1,7 @@ 58146 61236 Test for user functions. … … 58172 61262 diff -Naur vim74.orig/src/testdir/test34.ok vim74/src/testdir/test34.ok 58173 61263 --- vim74.orig/src/testdir/test34.ok 2012-07-16 14:43:15.000000000 +0000 58174 +++ vim74/src/testdir/test34.ok 2014-0 3-30 20:09:04.799398506+000061264 +++ vim74/src/testdir/test34.ok 2014-04-27 05:20:58.411775950 +0000 58175 61265 @@ -6,3 +6,5 @@ 58176 61266 1. one again … … 58181 61271 diff -Naur vim74.orig/src/testdir/test37.ok vim74/src/testdir/test37.ok 58182 61272 --- vim74.orig/src/testdir/test37.ok 2010-05-15 11:04:10.000000000 +0000 58183 +++ vim74/src/testdir/test37.ok 2014-0 3-30 20:09:04.799398506+000061273 +++ vim74/src/testdir/test37.ok 2014-04-27 05:20:58.411775950 +0000 58184 61274 @@ -27,7 +27,7 @@ 58185 61275 … … 58195 61285 diff -Naur vim74.orig/src/testdir/test39.in vim74/src/testdir/test39.in 58196 61286 --- vim74.orig/src/testdir/test39.in 2013-03-07 17:30:38.000000000 +0000 58197 +++ vim74/src/testdir/test39.in 2014-0 3-30 20:09:04.802731950+000061287 +++ vim74/src/testdir/test39.in 2014-04-27 05:20:58.415109367 +0000 58198 61288 @@ -19,6 +19,28 @@ 58199 61289 :" Test block-change … … 58267 61357 diff -Naur vim74.orig/src/testdir/test39.ok vim74/src/testdir/test39.ok 58268 61358 --- vim74.orig/src/testdir/test39.ok 2013-03-07 17:28:51.000000000 +0000 58269 +++ vim74/src/testdir/test39.ok 2014-0 3-30 20:09:04.802731950+000061359 +++ vim74/src/testdir/test39.ok 2014-04-27 05:20:58.415109367 +0000 58270 61360 @@ -3,6 +3,24 @@ 58271 61361 axyzqqqqef mno ghijklm … … 58321 61411 diff -Naur vim74.orig/src/testdir/test44.in vim74/src/testdir/test44.in 58322 61412 --- vim74.orig/src/testdir/test44.in 2013-05-26 12:16:31.000000000 +0000 58323 +++ vim74/src/testdir/test44.in 2014-0 3-30 20:09:04.806065393 +000061413 +++ vim74/src/testdir/test44.in 2014-04-27 05:20:58.418442783 +0000 58324 61414 @@ -1,9 +1,11 @@ 58325 61415 Tests for regexp with multi-byte encoding and various magic settings. … … 58336 61426 diff -Naur vim74.orig/src/testdir/test53.in vim74/src/testdir/test53.in 58337 61427 --- vim74.orig/src/testdir/test53.in 2013-06-30 12:31:56.000000000 +0000 58338 +++ vim74/src/testdir/test53.in 2014-0 3-30 20:09:04.812732279+000061428 +++ vim74/src/testdir/test53.in 2014-04-27 05:20:58.421776200 +0000 58339 61429 @@ -4,6 +4,8 @@ 58340 61430 … … 58410 61500 diff -Naur vim74.orig/src/testdir/test53.ok vim74/src/testdir/test53.ok 58411 61501 --- vim74.orig/src/testdir/test53.ok 2013-06-30 12:31:56.000000000 +0000 58412 +++ vim74/src/testdir/test53.ok 2014-0 3-30 20:09:04.812732279+000061502 +++ vim74/src/testdir/test53.ok 2014-04-27 05:20:58.425109616 +0000 58413 61503 @@ -18,6 +18,28 @@ 58414 61504 a … … 58459 61549 diff -Naur vim74.orig/src/testdir/test55.in vim74/src/testdir/test55.in 58460 61550 --- vim74.orig/src/testdir/test55.in 2013-03-07 13:33:12.000000000 +0000 58461 +++ vim74/src/testdir/test55.in 2014-0 3-30 20:09:04.812732279+000061551 +++ vim74/src/testdir/test55.in 2014-04-27 05:20:58.425109616 +0000 58462 61552 @@ -282,6 +282,13 @@ 58463 61553 : $put =ps … … 58494 61584 diff -Naur vim74.orig/src/testdir/test55.ok vim74/src/testdir/test55.ok 58495 61585 --- vim74.orig/src/testdir/test55.ok 2012-08-29 14:51:15.000000000 +0000 58496 +++ vim74/src/testdir/test55.ok 2014-0 3-30 20:09:04.812732279+000061586 +++ vim74/src/testdir/test55.ok 2014-04-27 05:20:58.425109616 +0000 58497 61587 @@ -86,16 +86,21 @@ 58498 61588 FFpFFpp … … 58524 61614 diff -Naur vim74.orig/src/testdir/test60.in vim74/src/testdir/test60.in 58525 61615 --- vim74.orig/src/testdir/test60.in 2010-05-15 11:04:10.000000000 +0000 58526 +++ vim74/src/testdir/test60.in 2014-0 3-30 20:09:04.816065722 +000061616 +++ vim74/src/testdir/test60.in 2014-04-27 05:20:58.428443032 +0000 58527 61617 @@ -1,4 +1,4 @@ 58528 61618 -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 : 58530 61620 58531 61621 STARTTEST … … 58575 61665 let local_list = ["blue", "orange"] 58576 61666 echo 'local_list: 1' 58577 @@ -566, 6 +581,10@@61667 @@ -566,9 +581,23 @@ 58578 61668 58579 61669 call TestFuncArg("arg1", "arg2") … … 58586 61676 endfunction 58587 61677 :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 @@ 58589 61692 :set ff=unix 58590 61693 :w … … 58595 61698 diff -Naur vim74.orig/src/testdir/test60.ok vim74/src/testdir/test60.ok 58596 61699 --- vim74.orig/src/testdir/test60.ok 2010-05-15 11:04:10.000000000 +0000 58597 +++ vim74/src/testdir/test60.ok 2014-0 3-30 20:09:04.816065722 +000061700 +++ vim74/src/testdir/test60.ok 2014-04-27 05:20:58.428443032 +0000 58598 61701 @@ -71,6 +71,10 @@ 58599 61702 OK … … 58616 61719 OK 58617 61720 local_list[1]: 1 58618 @@ -195,3 +201, 6@@61721 @@ -195,3 +201,11 @@ 58619 61722 OK 58620 61723 a:2: 0 … … 58623 61726 + footest#F() 0 58624 61727 +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 58625 61733 diff -Naur vim74.orig/src/testdir/test64.in vim74/src/testdir/test64.in 58626 61734 --- vim74.orig/src/testdir/test64.in 2013-08-01 15:45:33.000000000 +0000 58627 +++ vim74/src/testdir/test64.in 2014-0 3-30 20:09:04.819399166+000061735 +++ vim74/src/testdir/test64.in 2014-04-27 05:20:58.431776447 +0000 58628 61736 @@ -289,15 +289,29 @@ 58629 61737 :call add(tl, [2, '.a\%$', " a\n "]) … … 58716 61824 diff -Naur vim74.orig/src/testdir/test64.ok vim74/src/testdir/test64.ok 58717 61825 --- vim74.orig/src/testdir/test64.ok 2013-08-01 16:28:56.000000000 +0000 58718 +++ vim74/src/testdir/test64.ok 2014-0 3-30 20:09:04.822732609+000061826 +++ vim74/src/testdir/test64.ok 2014-04-27 05:20:58.431776447 +0000 58719 61827 @@ -650,30 +650,72 @@ 58720 61828 OK 0 - .a\%$ … … 58875 61983 diff -Naur vim74.orig/src/testdir/test68.in vim74/src/testdir/test68.in 58876 61984 --- vim74.orig/src/testdir/test68.in 2012-07-25 13:57:06.000000000 +0000 58877 +++ vim74/src/testdir/test68.in 2014-0 3-30 20:09:04.822732609+000061985 +++ vim74/src/testdir/test68.in 2014-04-27 05:20:58.435109863 +0000 58878 61986 @@ -62,6 +62,20 @@ 58879 61987 } … … 58899 62007 diff -Naur vim74.orig/src/testdir/test68.ok vim74/src/testdir/test68.ok 58900 62008 --- vim74.orig/src/testdir/test68.ok 2012-07-25 14:03:05.000000000 +0000 58901 +++ vim74/src/testdir/test68.ok 2014-0 3-30 20:09:04.822732609+000062009 +++ vim74/src/testdir/test68.ok 2014-04-27 05:20:58.435109863 +0000 58902 62010 @@ -43,6 +43,15 @@ 58903 62011 … … 58918 62026 diff -Naur vim74.orig/src/testdir/test69.in vim74/src/testdir/test69.in 58919 62027 --- vim74.orig/src/testdir/test69.in 2013-03-07 17:30:50.000000000 +0000 58920 +++ vim74/src/testdir/test69.in 2014-0 3-30 20:09:04.822732609+000062028 +++ vim74/src/testdir/test69.in 2014-04-27 05:20:58.435109863 +0000 58921 62029 @@ -1,6 +1,7 @@ 58922 62030 Test for multi-byte text formatting. … … 58961 62069 diff -Naur vim74.orig/src/testdir/test69.ok vim74/src/testdir/test69.ok 58962 62070 --- vim74.orig/src/testdir/test69.ok 2013-03-07 17:31:32.000000000 +0000 58963 +++ vim74/src/testdir/test69.ok 2014-0 3-30 20:09:04.822732609+000062071 +++ vim74/src/testdir/test69.ok 2014-04-27 05:20:58.435109863 +0000 58964 62072 @@ -149,3 +149,14 @@ 58965 62073 aaaa … … 58979 62087 diff -Naur vim74.orig/src/testdir/test72.in vim74/src/testdir/test72.in 58980 62088 --- vim74.orig/src/testdir/test72.in 2012-01-04 18:04:17.000000000 +0000 58981 +++ vim74/src/testdir/test72.in 2014-0 3-30 20:09:04.822732609+000062089 +++ vim74/src/testdir/test72.in 2014-04-27 05:20:58.438443280 +0000 58982 62090 @@ -105,7 +105,11 @@ 58983 62091 u:.w >>test.out … … 58995 62103 diff -Naur vim74.orig/src/testdir/test75.in vim74/src/testdir/test75.in 58996 62104 --- vim74.orig/src/testdir/test75.in 2013-06-29 11:48:42.000000000 +0000 58997 +++ vim74/src/testdir/test75.in 2014-0 3-30 20:09:04.829399494+000062105 +++ vim74/src/testdir/test75.in 2014-04-27 05:20:58.438443280 +0000 58998 62106 @@ -1,8 +1,11 @@ 58999 62107 -" Tests for functions. … … 59032 62140 diff -Naur vim74.orig/src/testdir/test75.ok vim74/src/testdir/test75.ok 59033 62141 --- vim74.orig/src/testdir/test75.ok 2013-06-29 11:50:08.000000000 +0000 59034 +++ vim74/src/testdir/test75.ok 2014-0 3-30 20:09:04.829399494+000062142 +++ vim74/src/testdir/test75.ok 2014-04-27 05:20:58.438443280 +0000 59035 62143 @@ -4,3 +4,4 @@ 59036 62144 {'silent': 0, 'noremap': 0, 'lhs': 'foo', 'mode': ' ', 'nowait': 1, 'expr': 0, 'sid': 0, 'rhs': 'bar', 'buffer': 1} … … 59040 62148 diff -Naur vim74.orig/src/testdir/test77a.com vim74/src/testdir/test77a.com 59041 62149 --- vim74.orig/src/testdir/test77a.com 1970-01-01 00:00:00.000000000 +0000 59042 +++ vim74/src/testdir/test77a.com 2014-0 3-30 20:09:04.829399494+000062150 +++ vim74/src/testdir/test77a.com 2014-04-27 05:20:58.438443280 +0000 59043 62151 @@ -0,0 +1,8 @@ 59044 62152 +$! test77a - help file creating checksum on VMS … … 59052 62160 diff -Naur vim74.orig/src/testdir/test77a.in vim74/src/testdir/test77a.in 59053 62161 --- vim74.orig/src/testdir/test77a.in 1970-01-01 00:00:00.000000000 +0000 59054 +++ vim74/src/testdir/test77a.in 2014-0 3-30 20:09:04.829399494+000062162 +++ vim74/src/testdir/test77a.in 2014-04-27 05:20:58.438443280 +0000 59055 62163 @@ -0,0 +1,31 @@ 59056 62164 +Inserts 2 million lines with consecutive integers starting from 1 … … 59087 62195 diff -Naur vim74.orig/src/testdir/test77a.ok vim74/src/testdir/test77a.ok 59088 62196 --- vim74.orig/src/testdir/test77a.ok 1970-01-01 00:00:00.000000000 +0000 59089 +++ vim74/src/testdir/test77a.ok 2014-0 3-30 20:09:04.829399494+000062197 +++ vim74/src/testdir/test77a.ok 2014-04-27 05:20:58.438443280 +0000 59090 62198 @@ -0,0 +1 @@ 59091 62199 + CHECKSUM$CHECKSUM = "844110470" 62200 diff -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 62237 A 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 62269 diff -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 + 59092 62296 diff -Naur vim74.orig/src/testdir/test80.in vim74/src/testdir/test80.in 59093 62297 --- 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 @@ 59096 62308 :$put =\"\n\nTEST_7:\" 59097 62309 :$put =substitute('A 59098 62310 A', 'A.', '\=submatch(0)', '') 59099 62311 :$put =substitute(\"B\nB\", 'B.', '\=submatch(0)', '') 62312 +:$put =substitute(\"B\nB\", 'B.', '\=string(submatch(0, 1))', '') 59100 62313 +:$put =substitute('-bb', '\zeb', 'a', 'g') 59101 62314 +:$put =substitute('-bb', '\ze', 'c', 'g') … … 59103 62316 ENDTEST 59104 62317 59105 @@ -174,6 +17 6,23 @@62318 @@ -174,6 +178,23 @@ 59106 62319 TEST_10: 59107 62320 … … 59129 62342 diff -Naur vim74.orig/src/testdir/test80.ok vim74/src/testdir/test80.ok 59130 62343 --- 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 @@ 59133 62354 A 59134 62355 A 59135 62356 B 59136 62357 B 62358 +['B 62359 +']B 59137 62360 +-abab 59138 62361 +c-cbcbc … … 59140 62363 59141 62364 TEST_8: 59142 @@ -113,3 +11 5,14 @@62365 @@ -113,3 +118,14 @@ 59143 62366 59144 62367 TEST_9: … … 59157 62380 diff -Naur vim74.orig/src/testdir/test86.in vim74/src/testdir/test86.in 59158 62381 --- vim74.orig/src/testdir/test86.in 2013-07-13 12:00:31.000000000 +0000 59159 +++ vim74/src/testdir/test86.in 2014-0 3-30 20:09:04.836066381+000062382 +++ vim74/src/testdir/test86.in 2014-04-27 05:20:58.445110113 +0000 59160 62383 @@ -39,6 +39,7 @@ 59161 62384 py << EOF … … 59494 62717 diff -Naur vim74.orig/src/testdir/test86.ok vim74/src/testdir/test86.ok 59495 62718 --- vim74.orig/src/testdir/test86.ok 2013-06-23 14:38:39.000000000 +0000 59496 +++ vim74/src/testdir/test86.ok 2014-0 3-30 20:09:04.836066381+000062719 +++ vim74/src/testdir/test86.ok 2014-04-27 05:20:58.448443529 +0000 59497 62720 @@ -41,6 +41,9 @@ 59498 62721 [2, 3] … … 59722 62945 diff -Naur vim74.orig/src/testdir/test87.in vim74/src/testdir/test87.in 59723 62946 --- vim74.orig/src/testdir/test87.in 2013-07-06 11:41:30.000000000 +0000 59724 +++ vim74/src/testdir/test87.in 2014-0 3-30 20:09:04.836066381+000062947 +++ vim74/src/testdir/test87.in 2014-04-27 05:20:58.448443529 +0000 59725 62948 @@ -33,6 +33,7 @@ 59726 62949 py3 << EOF … … 60084 63307 diff -Naur vim74.orig/src/testdir/test87.ok vim74/src/testdir/test87.ok 60085 63308 --- vim74.orig/src/testdir/test87.ok 2013-06-23 14:38:39.000000000 +0000 60086 +++ vim74/src/testdir/test87.ok 2014-0 3-30 20:09:04.839399824+000063309 +++ vim74/src/testdir/test87.ok 2014-04-27 05:20:58.448443529 +0000 60087 63310 @@ -41,6 +41,9 @@ 60088 63311 [2, 3] … … 60323 63546 diff -Naur vim74.orig/src/testdir/test92.in vim74/src/testdir/test92.in 60324 63547 --- vim74.orig/src/testdir/test92.in 2013-04-18 21:33:45.000000000 +0000 60325 +++ vim74/src/testdir/test92.in 2014-0 3-30 20:09:04.842733267+000063548 +++ vim74/src/testdir/test92.in 2014-04-27 05:20:58.451776944 +0000 60326 63549 @@ -33,7 +33,7 @@ 60327 63550 :mksession! test.out … … 60335 63558 diff -Naur vim74.orig/src/testdir/test93.in vim74/src/testdir/test93.in 60336 63559 --- vim74.orig/src/testdir/test93.in 2013-02-26 16:13:01.000000000 +0000 60337 +++ vim74/src/testdir/test93.in 2014-0 3-30 20:09:04.842733267+000063560 +++ vim74/src/testdir/test93.in 2014-04-27 05:20:58.451776944 +0000 60338 63561 @@ -33,7 +33,7 @@ 60339 63562 :mksession! test.out … … 60347 63570 diff -Naur vim74.orig/src/testdir/test99.in vim74/src/testdir/test99.in 60348 63571 --- vim74.orig/src/testdir/test99.in 1970-01-01 00:00:00.000000000 +0000 60349 +++ vim74/src/testdir/test99.in 2014-0 3-30 20:09:04.846066710 +000063572 +++ vim74/src/testdir/test99.in 2014-04-27 05:20:58.455110360 +0000 60350 63573 @@ -0,0 +1,68 @@ 60351 63574 +Tests for regexp with multi-byte encoding and various magic settings. … … 60425 63648 diff -Naur vim74.orig/src/testdir/test99.ok vim74/src/testdir/test99.ok 60426 63649 --- vim74.orig/src/testdir/test99.ok 1970-01-01 00:00:00.000000000 +0000 60427 +++ vim74/src/testdir/test99.ok 2014-0 3-30 20:09:04.846066710 +000063650 +++ vim74/src/testdir/test99.ok 2014-04-27 05:20:58.455110360 +0000 60428 63651 @@ -0,0 +1,24 @@ 60429 63652 +1 a aa abb abbcc … … 60456 63679 +× 60457 63680 +× 63681 diff -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: 63873 diff -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) 64224 diff -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 64245 diff -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 60458 64251 diff -Naur vim74.orig/src/ui.c vim74/src/ui.c 60459 64252 --- vim74.orig/src/ui.c 2013-07-13 18:57:08.000000000 +0000 60460 +++ vim74/src/ui.c 2014-0 3-30 20:09:04.849400153+000064253 +++ vim74/src/ui.c 2014-04-27 05:20:58.458443777 +0000 60461 64254 @@ -2610,13 +2610,11 @@ 60462 64255 if (on_sep_line) … … 60547 64340 diff -Naur vim74.orig/src/undo.c vim74/src/undo.c 60548 64341 --- vim74.orig/src/undo.c 2013-06-10 18:13:37.000000000 +0000 60549 +++ vim74/src/undo.c 2014-0 3-30 20:09:04.852733596+000064342 +++ vim74/src/undo.c 2014-04-27 05:20:58.461777194 +0000 60550 64343 @@ -83,6 +83,7 @@ 60551 64344 … … 60674 64467 60675 64468 /* 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 60676 64478 @@ -1604,10 +1610,11 @@ 60677 64479 … … 60770 64572 diff -Naur vim74.orig/src/version.c vim74/src/version.c 60771 64573 --- vim74.orig/src/version.c 2013-08-10 11:29:20.000000000 +0000 60772 +++ vim74/src/version.c 2014-0 3-30 20:09:04.856067039 +000064574 +++ vim74/src/version.c 2014-04-27 05:20:58.465110609 +0000 60773 64575 @@ -60,6 +60,11 @@ 60774 64576 … … 60814 64616 NULL 60815 64617 }; 60816 @@ -728,6 +735, 464@@64618 @@ -728,6 +735,536 @@ 60817 64619 static int included_patches[] = 60818 64620 { /* Add new patch number below this line */ 60819 64621 /**/ 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 +/**/ 60820 64694 + 229, 60821 64695 +/**/ … … 61281 65155 diff -Naur vim74.orig/src/vim.h vim74/src/vim.h 61282 65156 --- vim74.orig/src/vim.h 2013-08-02 14:02:27.000000000 +0000 61283 +++ vim74/src/vim.h 2014-0 3-30 20:09:04.856067039 +000065157 +++ vim74/src/vim.h 2014-04-27 05:20:58.465110609 +0000 61284 65158 @@ -43,7 +43,7 @@ 61285 65159 * it becomes zero. This is likely a problem of not being able to run the … … 61402 65276 # define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */ 61403 65277 # else 61404 @@ -1864,9 +1877,1 0@@65278 @@ -1864,9 +1877,11 @@ 61405 65279 #define VV_MOUSE_COL 51 61406 65280 #define VV_OP 52 … … 61412 65286 +#define VV_OLDFILES 55 61413 65287 +#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 */ 61415 65290 61416 65291 #ifdef FEAT_CLIPBOARD 61417 65292 61418 @@ -2239, 6 +2253,7@@65293 @@ -2239,11 +2254,23 @@ 61419 65294 #define SOPT_BUF 0x20 /* Option has buffer-local value */ 61420 65295 #define SOPT_UNSET 0x40 /* Option does not have local value set */ … … 61424 65299 #define SREQ_WIN 1 /* Request window-local option */ 61425 65300 #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 + 61427 65307 /* Character used as separated in autoload function/variable names. */ 61428 65308 #define AUTOLOAD_CHAR '#' … … 61437 65317 diff -Naur vim74.orig/src/winclip.c vim74/src/winclip.c 61438 65318 --- vim74.orig/src/winclip.c 2013-07-01 19:05:53.000000000 +0000 61439 +++ vim74/src/winclip.c 2014-0 3-30 20:09:04.862733925+000065319 +++ vim74/src/winclip.c 2014-04-27 05:20:58.471777440 +0000 61440 65320 @@ -797,4 +797,29 @@ 61441 65321 vim_free(widestr); … … 61470 65350 diff -Naur vim74.orig/src/window.c vim74/src/window.c 61471 65351 --- vim74.orig/src/window.c 2013-07-24 15:38:29.000000000 +0000 61472 +++ vim74/src/window.c 2014-0 3-30 20:09:04.866067369+000065352 +++ vim74/src/window.c 2014-04-27 05:20:58.471777440 +0000 61473 65353 @@ -130,9 +130,7 @@ 61474 65354 case Ctrl_S: … … 61732 65612 diff -Naur vim74.orig/src/xxd/Make_cyg.mak vim74/src/xxd/Make_cyg.mak 61733 65613 --- vim74.orig/src/xxd/Make_cyg.mak 2010-05-15 11:04:06.000000000 +0000 61734 +++ vim74/src/xxd/Make_cyg.mak 2014-0 3-30 20:09:04.872734255+000065614 +++ vim74/src/xxd/Make_cyg.mak 2014-04-27 05:20:58.481777690 +0000 61735 65615 @@ -8,7 +8,7 @@ 61736 65616 DEFINES =
Note:
See TracChangeset
for help on using the changeset viewer.