Compare commits

..

71 commits

Author SHA1 Message Date
Fedora Release Engineering
97fb8e57b9 dist-git conversion 2010-07-29 15:02:51 +00:00
Bill Nottingham
ea9b3c4404 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:14:06 +00:00
Karsten Hopp
e688175e50 update to vim-7.2 patchlevel 60 2008-12-01 15:06:23 +00:00
Dennis Gilmore
37ff1fb4d6 minor sparc rebuild 2008-05-25 14:53:35 +00:00
Jesse Keating
177672cf9d Initialize branch F-9 for vim 2008-04-22 00:41:58 +00:00
Karsten Hopp
87c2150ade - patchlevel 293
- update forth syntax file (Benjamin Krill)
2008-04-11 09:19:21 +00:00
Karsten Hopp
d6b34b9bf2 - update forth syntax file 2008-04-11 09:18:35 +00:00
Karsten Hopp
6d326c7e0d - patchlevel 293 2008-04-11 09:17:31 +00:00
Karsten Hopp
0e5df63b76 - patchlevel 292 2008-04-11 09:17:14 +00:00
Karsten Hopp
25e0c52235 - patchlevel 291 2008-04-02 15:11:59 +00:00
Karsten Hopp
415cb17706 - patchlevel 290 2008-04-02 15:08:43 +00:00
Karsten Hopp
7c11274e9d - patchlevel 289 2008-04-02 15:08:25 +00:00
Karsten Hopp
b910ac1d55 - patchlevel 288 2008-04-02 15:08:09 +00:00
Karsten Hopp
d72ab234bf - patchlevel 287 2008-04-02 15:07:52 +00:00
Karsten Hopp
45aaf6a30e - patchlevel 286 2008-04-02 15:07:38 +00:00
Karsten Hopp
b928ed2fd5 - patchlevel 285 2008-04-02 15:07:26 +00:00
Karsten Hopp
51f81c328b - patchlevel 284 2008-04-02 15:07:12 +00:00
Tom Callaway
a8897a22b1 add Requires for versioned perl (libperl.so) 2008-03-18 19:04:27 +00:00
Karsten Hopp
b647e77c0f - patchlevel 283 2008-03-17 16:51:39 +00:00
Karsten Hopp
d1c2bee7cd - patchlevel 282 2008-03-17 16:51:22 +00:00
Karsten Hopp
57eed86f16 - patchlevel 281 2008-03-17 16:51:12 +00:00
Karsten Hopp
efd6edff1d - patchlevel 280 2008-03-17 16:51:00 +00:00
Karsten Hopp
6aafe61de6 - patchlevel 279 2008-03-17 16:50:51 +00:00
Karsten Hopp
449a162925 - patchlevel 278 2008-03-17 16:50:42 +00:00
Karsten Hopp
5bce1f03cc - patchlevel 277 2008-03-17 16:50:30 +00:00
Karsten Hopp
925a60a1bc - patchlevel 276 2008-03-17 16:50:18 +00:00
Karsten Hopp
567667dedf - patchlevel 275 2008-03-17 16:50:08 +00:00
Karsten Hopp
d1dd9e7da6 - patchlevel 274 2008-03-17 16:49:58 +00:00
Karsten Hopp
0ee4caf6cc - patchlevel 273 2008-03-12 12:38:47 +00:00
Karsten Hopp
e3deb8f9e6 - patchlevel 272 2008-03-12 12:38:10 +00:00
Karsten Hopp
54eef065cc - patchlevel 271 2008-03-12 12:38:00 +00:00
Karsten Hopp
10143b63bb - fix filename 2008-03-11 14:49:46 +00:00
Karsten Hopp
f757d89d09 - dumb makefile tries to parse every file with .spec suffix, rename it 2008-03-11 13:06:03 +00:00
Karsten Hopp
19c138f48f - add spec file template 2008-03-11 13:03:02 +00:00
Karsten Hopp
3ee96c97ca - patchlevel 270
- don't write swapfile on most common locations for USB-sticks (#436752)
2008-03-11 12:49:59 +00:00
Tom Callaway
779335b44d add missing perl BR 2008-03-10 14:17:23 +00:00
Karsten Hopp
1404067f13 - patchlevel 269 2008-03-10 12:18:00 +00:00
Karsten Hopp
09ae6641f5 - patchlevel 268 2008-03-10 12:17:38 +00:00
Karsten Hopp
10f184c341 - patchlevel 267 2008-03-10 12:17:26 +00:00
Karsten Hopp
c9e4ba56ab fix CL date 2008-03-03 18:36:04 +00:00
Karsten Hopp
e73e8b0876 - patchlevel 266
- add minimal help page for /bin/vi (#173974)
2008-03-03 18:34:13 +00:00
Karsten Hopp
ef25ac953b - patchlevel 266 2008-03-03 14:41:24 +00:00
Karsten Hopp
392215ee12 - patchlevel 265 2008-03-03 14:41:10 +00:00
Karsten Hopp
149381da19 - patchlevel 264 2008-03-03 14:41:00 +00:00
Karsten Hopp
823546196a - patchlevel 263 2008-03-03 14:40:52 +00:00
Karsten Hopp
a808d57205 - add filetype for Erlang header files (#417371) 2008-02-25 16:56:37 +00:00
Karsten Hopp
37832687bb - enable ruby interpreter (#215207) 2008-02-25 15:59:47 +00:00
Karsten Hopp
2a74694d93 - patchlevel 262 2008-02-25 15:50:34 +00:00
Karsten Hopp
932e2c528a - patchlevel 261 2008-02-25 15:38:26 +00:00
Karsten Hopp
bc67d538fc - patchlevel 260 2008-02-25 15:38:18 +00:00
Karsten Hopp
67b939bfbd - patchlevel 259 2008-02-25 15:38:10 +00:00
Karsten Hopp
38af7e1b1f - patchlevel 258 2008-02-25 15:37:59 +00:00
Karsten Hopp
46a110ffd9 - patchlevel 257 2008-02-25 15:37:48 +00:00
Karsten Hopp
f70bc58327 - patchlevel 256 2008-02-25 15:37:40 +00:00
Karsten Hopp
11ce335136 - patchlevel 255 2008-02-25 15:37:30 +00:00
Karsten Hopp
30b093d026 - patchlevel 254 2008-02-25 15:37:23 +00:00
Karsten Hopp
06acbda578 - patchlevel 253 2008-02-25 15:37:11 +00:00
Karsten Hopp
c6e94cd1cd - patchlevel 252 2008-02-25 15:37:03 +00:00
Karsten Hopp
f4f5d7c5d5 - patchlevel 251 2008-02-25 15:36:48 +00:00
Karsten Hopp
3a43b597ab - patchlevel 250 2008-02-25 15:36:40 +00:00
Karsten Hopp
621ffd82ae - patchlevel 249 2008-02-25 15:36:26 +00:00
Karsten Hopp
a52ea41a30 - patchlevel 248 2008-02-25 15:36:18 +00:00
Karsten Hopp
86e3d79642 - patchlevel 247 2008-02-25 15:35:57 +00:00
Karsten Hopp
a0b9169bcc - patchlevel 246 2008-02-25 15:35:49 +00:00
Karsten Hopp
1ed41e10fd - add fix for #231124 2008-02-25 15:27:41 +00:00
Karsten Hopp
868992f4ed - patchlevel 245 2008-02-11 15:05:21 +00:00
Karsten Hopp
a8166fc841 - patchlevel 242 2008-01-27 00:05:12 +00:00
Karsten Hopp
a02fea15f0 - silence taglist 2008-01-18 15:30:13 +00:00
Karsten Hopp
eb7f4c1d54 - patchlevel 233
- fix ada patch
2008-01-18 13:54:58 +00:00
Karsten Hopp
2ed001a95b - fix ada patch 2008-01-18 13:52:03 +00:00
Karsten Hopp
214c19bb00 - add newer ada runtime files to fix bugzilla #246378 2008-01-16 15:58:14 +00:00
116 changed files with 25255 additions and 4809 deletions

View file

@ -1 +0,0 @@
1

4
.gitignore vendored
View file

@ -1 +1,3 @@
/vim-*.tar.bz2
vim-7.2-extra.tar.gz
vim-7.2-lang.tar.gz
vim-7.2.tar.bz2

61
7.2.001 Normal file
View file

@ -0,0 +1,61 @@
To: vim-dev@vim.org
Subject: Patch 7.2.001
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.001
Problem: Mac: pseudo-ttys don't work properly on Leopard, resulting in the
shell not to have a prompt, CTRL-C not working, etc.
Solution: Don't use SVR4 compatible ptys, even though they are detected.
(Ben Schmidt)
Files: src/pty.c
*** ../vim-7.2.000/src/pty.c Wed Aug 6 19:04:29 2008
--- src/pty.c Fri Aug 15 04:00:34 2008
***************
*** 270,278 ****
}
#endif
! #if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux)
! /* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work! */
#define PTY_DONE
int
OpenPTY(ttyn)
--- 270,279 ----
}
#endif
! #if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) && !defined(MACOS_X)
! /* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work!
! * Same for Mac OS X Leopard. */
#define PTY_DONE
int
OpenPTY(ttyn)
*** ../vim-7.2.000/src/version.c Sat Aug 9 19:37:37 2008
--- src/version.c Sun Aug 17 22:56:25 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 1,
/**/
--
ARTHUR: Now stand aside worthy adversary.
BLACK KNIGHT: (Glancing at his shoulder) 'Tis but a scratch.
ARTHUR: A scratch? Your arm's off.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

47
7.2.002 Normal file
View file

@ -0,0 +1,47 @@
To: vim-dev@vim.org
Subject: Patch 7.2.002
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.002
Problem: Leaking memory when displaying menus.
Solution: Free allocated memory. (Dominique Pelle)
Files: src/menu.c
*** ../vim-7.2.001/src/menu.c Wed Jun 25 00:19:17 2008
--- src/menu.c Sat Aug 16 05:38:45 2008
***************
*** 1120,1125 ****
--- 1120,1126 ----
parent = menu;
menu = menu->children;
}
+ vim_free(path_name);
/* Now we have found the matching menu, and we list the mappings */
/* Highlight title */
*** ../vim-7.2.001/src/version.c Sun Aug 17 23:01:21 2008
--- src/version.c Sun Aug 17 23:42:53 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 2,
/**/
--
ARTHUR: You are indeed brave Sir knight, but the fight is mine.
BLACK KNIGHT: Had enough?
ARTHUR: You stupid bastard. You havn't got any arms left.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

107
7.2.003 Normal file
View file

@ -0,0 +1,107 @@
To: vim-dev@vim.org
Subject: Patch 7.2.003
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.003
Problem: Typo in translated message. Message not translated.
Solution: Correct spelling. Add _(). (Dominique Pelle)
Files: src/spell.c, src/version.c
*** ../vim-7.2.002/src/spell.c Tue Jun 24 22:21:31 2008
--- src/spell.c Sun Aug 10 12:51:38 2008
***************
*** 77,83 ****
/*
* Do the opposite: based on a maximum end score and a known sound score,
! * compute the the maximum word score that can be used.
*/
#define MAXSCORE(word_score, sound_score) ((4 * word_score - sound_score) / 3)
--- 77,83 ----
/*
* Do the opposite: based on a maximum end score and a known sound score,
! * compute the maximum word score that can be used.
*/
#define MAXSCORE(word_score, sound_score) ((4 * word_score - sound_score) / 3)
***************
*** 625,631 ****
/* TRUE if a word appears in the list of banned words. */
#define WAS_BANNED(su, word) (!HASHITEM_EMPTY(hash_find(&su->su_banned, word)))
! /* Number of suggestions kept when cleaning up. we need to keep more than
* what is displayed, because when rescore_suggestions() is called the score
* may change and wrong suggestions may be removed later. */
#define SUG_CLEAN_COUNT(su) ((su)->su_maxcount < 130 ? 150 : (su)->su_maxcount + 20)
--- 625,631 ----
/* TRUE if a word appears in the list of banned words. */
#define WAS_BANNED(su, word) (!HASHITEM_EMPTY(hash_find(&su->su_banned, word)))
! /* Number of suggestions kept when cleaning up. We need to keep more than
* what is displayed, because when rescore_suggestions() is called the score
* may change and wrong suggestions may be removed later. */
#define SUG_CLEAN_COUNT(su) ((su)->su_maxcount < 130 ? 150 : (su)->su_maxcount + 20)
***************
*** 5980,5986 ****
else if (spin->si_newprefID == 0 || spin->si_newprefID == 127)
MSG(_("Too many compound flags"));
else
! MSG(_("Too many posponed prefixes and/or compound flags"));
}
if (syllable != NULL)
--- 5980,5986 ----
else if (spin->si_newprefID == 0 || spin->si_newprefID == 127)
MSG(_("Too many compound flags"));
else
! MSG(_("Too many postponed prefixes and/or compound flags"));
}
if (syllable != NULL)
*** ../vim-7.2.002/src/version.c Sun Aug 17 23:43:53 2008
--- src/version.c Mon Aug 25 04:06:52 2008
***************
*** 790,796 ****
MSG_PUTS(_("\nRISC OS version"));
#endif
#ifdef VMS
! MSG_PUTS("\nOpenVMS version");
# ifdef HAVE_PATHDEF
if (*compiled_arch != NUL)
{
--- 792,798 ----
MSG_PUTS(_("\nRISC OS version"));
#endif
#ifdef VMS
! MSG_PUTS(_("\nOpenVMS version"));
# ifdef HAVE_PATHDEF
if (*compiled_arch != NUL)
{
*** ../vim-7.2.002/src/version.c Sun Aug 17 23:43:53 2008
--- src/version.c Mon Aug 25 04:06:52 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 3,
/**/
--
I learned the customs and mannerisms of engineers by observing them, much the
way Jane Goodall learned about the great apes, but without the hassle of
grooming.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

103
7.2.004 Normal file
View file

@ -0,0 +1,103 @@
To: vim-dev@vim.org
Subject: Patch 7.2.004
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.004
Problem: Cscope help message is not translated.
Solution: Put it in _(). (Dominique Pelle)
Files: src/if_cscope.c, src/if_cscope.h
*** ../vim-7.2.003/src/if_cscope.c Tue Jun 24 23:52:06 2008
--- src/if_cscope.c Mon Aug 25 04:34:19 2008
***************
*** 74,80 ****
{ "add", cs_add,
N_("Add a new database"), "add file|dir [pre-path] [flags]", 0 },
{ "find", cs_find,
! N_("Query for a pattern"), FIND_USAGE, 1 },
{ "help", cs_help,
N_("Show this message"), "help", 0 },
{ "kill", cs_kill,
--- 74,80 ----
{ "add", cs_add,
N_("Add a new database"), "add file|dir [pre-path] [flags]", 0 },
{ "find", cs_find,
! N_("Query for a pattern"), "find c|d|e|f|g|i|s|t name", 1 },
{ "help", cs_help,
N_("Show this message"), "help", 0 },
{ "kill", cs_kill,
***************
*** 1180,1186 ****
(void)smsg((char_u *)_("%-5s: %-30s (Usage: %s)"),
cmdp->name, _(cmdp->help), cmdp->usage);
if (strcmp(cmdp->name, "find") == 0)
! MSG_PUTS(FIND_HELP);
cmdp++;
}
--- 1180,1195 ----
(void)smsg((char_u *)_("%-5s: %-30s (Usage: %s)"),
cmdp->name, _(cmdp->help), cmdp->usage);
if (strcmp(cmdp->name, "find") == 0)
! MSG_PUTS(_("\n"
! " c: Find functions calling this function\n"
! " d: Find functions called by this function\n"
! " e: Find this egrep pattern\n"
! " f: Find this file\n"
! " g: Find this definition\n"
! " i: Find files #including this file\n"
! " s: Find this C symbol\n"
! " t: Find assignments to\n"));
!
cmdp++;
}
*** ../vim-7.2.003/src/if_cscope.h Thu Sep 6 17:38:58 2007
--- src/if_cscope.h Mon Aug 25 04:34:17 2008
***************
*** 42,58 ****
* f 7name Find this file
* i 8name Find files #including this file
*/
- #define FIND_USAGE "find c|d|e|f|g|i|s|t name"
- #define FIND_HELP "\n\
- c: Find functions calling this function\n\
- d: Find functions called by this function\n\
- e: Find this egrep pattern\n\
- f: Find this file\n\
- g: Find this definition\n\
- i: Find files #including this file\n\
- s: Find this C symbol\n\
- t: Find assignments to\n"
-
typedef struct {
char * name;
--- 42,47 ----
*** ../vim-7.2.003/src/version.c Mon Aug 25 04:12:38 2008
--- src/version.c Mon Aug 25 04:29:53 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 4,
/**/
--
If someone questions your market projections, simply point out that your
target market is "People who are nuts" and "People who will buy any damn
thing". Nobody is going to tell you there aren't enough of those people
to go around.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

149
7.2.005 Normal file
View file

@ -0,0 +1,149 @@
To: vim-dev@vim.org
Subject: Patch 7.2.005
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.005
Problem: A few problems when profiling. Using flag pointer instead of flag
value. Allocating zero bytes. Not freeing used memory.
Solution: Remove wrong '&' characters. Skip dumping when there is nothing
to dump. Free used memory. (Dominique Pelle)
Files: src/eval.c
*** ../vim-7.2.004/src/eval.c Fri Aug 8 12:36:31 2008
--- src/eval.c Mon Aug 25 04:40:11 2008
***************
*** 3657,3664 ****
}
/*
! * Return TRUE if typeval "tv" is locked: Either tha value is locked itself or
! * it refers to a List or Dictionary that is locked.
*/
static int
tv_islocked(tv)
--- 3657,3664 ----
}
/*
! * Return TRUE if typeval "tv" is locked: Either that value is locked itself
! * or it refers to a List or Dictionary that is locked.
*/
static int
tv_islocked(tv)
***************
*** 15838,15847 ****
if (res == FAIL)
res = ITEM_COMPARE_FAIL;
else
- /* return value has wrong type */
res = get_tv_number_chk(&rettv, &item_compare_func_err);
if (item_compare_func_err)
! res = ITEM_COMPARE_FAIL;
clear_tv(&rettv);
return res;
}
--- 15838,15846 ----
if (res == FAIL)
res = ITEM_COMPARE_FAIL;
else
res = get_tv_number_chk(&rettv, &item_compare_func_err);
if (item_compare_func_err)
! res = ITEM_COMPARE_FAIL; /* return value has wrong type */
clear_tv(&rettv);
return res;
}
***************
*** 20590,20595 ****
--- 20589,20597 ----
int st_len = 0;
todo = (int)func_hashtab.ht_used;
+ if (todo == 0)
+ return; /* nothing to dump */
+
sorttab = (ufunc_T **)alloc((unsigned)(sizeof(ufunc_T) * todo));
for (hi = func_hashtab.ht_array; todo > 0; ++hi)
***************
*** 20638,20643 ****
--- 20640,20647 ----
prof_self_cmp);
prof_sort_list(fd, sorttab, st_len, "SELF", TRUE);
}
+
+ vim_free(sorttab);
}
static void
***************
*** 21204,21210 ****
if (!fp->uf_profiling && has_profiling(FALSE, fp->uf_name, NULL))
func_do_profile(fp);
if (fp->uf_profiling
! || (fc.caller != NULL && &fc.caller->func->uf_profiling))
{
++fp->uf_tm_count;
profile_start(&call_start);
--- 21208,21214 ----
if (!fp->uf_profiling && has_profiling(FALSE, fp->uf_name, NULL))
func_do_profile(fp);
if (fp->uf_profiling
! || (fc.caller != NULL && fc.caller->func->uf_profiling))
{
++fp->uf_tm_count;
profile_start(&call_start);
***************
*** 21235,21247 ****
#ifdef FEAT_PROFILE
if (do_profiling == PROF_YES && (fp->uf_profiling
! || (fc.caller != NULL && &fc.caller->func->uf_profiling)))
{
profile_end(&call_start);
profile_sub_wait(&wait_start, &call_start);
profile_add(&fp->uf_tm_total, &call_start);
profile_self(&fp->uf_tm_self, &call_start, &fp->uf_tm_children);
! if (fc.caller != NULL && &fc.caller->func->uf_profiling)
{
profile_add(&fc.caller->func->uf_tm_children, &call_start);
profile_add(&fc.caller->func->uf_tml_children, &call_start);
--- 21239,21251 ----
#ifdef FEAT_PROFILE
if (do_profiling == PROF_YES && (fp->uf_profiling
! || (fc.caller != NULL && fc.caller->func->uf_profiling)))
{
profile_end(&call_start);
profile_sub_wait(&wait_start, &call_start);
profile_add(&fp->uf_tm_total, &call_start);
profile_self(&fp->uf_tm_self, &call_start, &fp->uf_tm_children);
! if (fc.caller != NULL && fc.caller->func->uf_profiling)
{
profile_add(&fc.caller->func->uf_tm_children, &call_start);
profile_add(&fc.caller->func->uf_tml_children, &call_start);
*** ../vim-7.2.004/src/version.c Mon Aug 25 04:35:13 2008
--- src/version.c Mon Aug 25 04:46:44 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 5,
/**/
--
The process for understanding customers primarily involves sitting around with
other marketing people and talking about what you would to if you were dumb
enough to be a customer.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

50
7.2.006 Normal file
View file

@ -0,0 +1,50 @@
To: vim-dev@vim.org
Subject: Patch 7.2.006
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.006
Problem: HTML files are not recognized by contents.
Solution: Add a rule to the scripts file. (Nico Weber)
Files: runtime/scripts.vim
*** ../vim-7.2.005/runtime/scripts.vim Sat Aug 9 19:37:09 2008
--- runtime/scripts.vim Sat Aug 16 04:05:34 2008
***************
*** 234,239 ****
--- 234,243 ----
elseif s:line1 =~ '\<DTD\s\+XHTML\s'
set ft=xhtml
+ " HTML (e.g.: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN")
+ elseif s:line1 =~? '\<DOCTYPE\s\+html\>'
+ set ft=html
+
" PDF
elseif s:line1 =~ '^%PDF-'
set ft=pdf
*** ../vim-7.2.005/src/version.c Mon Aug 25 04:48:21 2008
--- src/version.c Mon Aug 25 05:02:34 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 6,
/**/
--
Never enter the boss's office unless it's absolutely necessary. Every boss
saves one corner of the desk for useless assignments that are doled out like
Halloween candy to each visitor.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

493
7.2.007 Normal file
View file

@ -0,0 +1,493 @@
To: vim-dev@vim.org
Subject: Patch 7.2.007 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.007 (extra)
Problem: Minor issues for VMS.
Solution: Minor fixes for VMS. Add float support. (Zoltan Arpadffy)
Files: runtime/doc/os_vms.txt, src/os_vms_conf.h, src/Make_vms.mms,
src/testdir/Make_vms.mms, src/testdir/test30.in,
src/testdir/test54.in
*** ../vim-7.2.006/runtime/doc/os_vms.txt Sat Aug 9 19:36:50 2008
--- runtime/doc/os_vms.txt Tue Aug 19 06:29:31 2008
***************
*** 1,4 ****
! *os_vms.txt* For Vim version 7.2. Last change: 2006 Nov 18
VIM REFERENCE MANUAL
--- 1,4 ----
! *os_vms.txt* For Vim version 7.2. Last change: 2008 Aug 19
VIM REFERENCE MANUAL
***************
*** 312,318 ****
8. Useful notes *vms-notes*
! 8.1 backspace/delete
8.2 Filters
8.3 VMS file version numbers
8.4 Directory conversion
--- 312,318 ----
8. Useful notes *vms-notes*
! 8.1 Backspace/delete
8.2 Filters
8.3 VMS file version numbers
8.4 Directory conversion
***************
*** 326,333 ****
8.12 diff-mode
8.13 Allow '$' in C keywords
8.14 VIMTUTOR for beginners
! 8.1 backspace/delete
There are backspace/delete key inconsistencies with VMS.
:fixdel doesn't do the trick, but the solution is: >
--- 326,335 ----
8.12 diff-mode
8.13 Allow '$' in C keywords
8.14 VIMTUTOR for beginners
+ 8.15 Slow start in console mode issue
+ 8.16 Common VIM directory - different architectures
! 8.1 Backspace/delete
There are backspace/delete key inconsistencies with VMS.
:fixdel doesn't do the trick, but the solution is: >
***************
*** 663,674 ****
(Thomas.R.Wyant III, Vim 6.1)
==============================================================================
9. VMS related changes *vms-changes*
! Version 7
- Improved low level char input (affects just console mode)
Version 6.4 (2005 Oct 15)
- GTKLIB and Vim build on IA64
--- 665,794 ----
(Thomas.R.Wyant III, Vim 6.1)
+ 8.14 Slow start in console mode issue
+
+ As GUI/GTK Vim works equally well in console mode, many administartors
+ deploy those executables system wide.
+ Unfortunately, on a remote slow connections GUI/GTK executables behave rather
+ slow when user wants to run Vim just in the console mode - because of X environment detection timeout.
+
+ Luckily, there is a simple solution for that. Administrators need to deploy
+ both GUI/GTK build and just console build executables, like below: >
+
+ |- vim72
+ |----- doc
+ |----- syntax
+ vimrc (system rc files)
+ gvimrc
+ gvim.exe (the remaned GUI or GTK built vim.exe)
+ vim.exe (the console only executable)
+
+ Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
+
+ $ define/nolog VIM RF10:[UTIL.VIM72] ! where you VIM directory is
+ $ vi*m :== mcr VIM:VIM.EXE
+ $ gvi*m :== mcr VIM:GVIM.EXE
+ $ ! or you can try to spawn with
+ $ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40
+
+
+ Like this, users that do not have X environment and want to use Vim just in
+ console mode can avoid performance problems.
+
+ (Zoltan Arpadffy, Vim 7.2)
+
+ 8.15 Common VIM directory - different architectures
+
+ In a cluster that contains nodes with different architectures like below:
+
+ $show cluster
+ View of Cluster from system ID 11655 node: TOR 18-AUG-2008 11:58:31
+ +---------------------------------+
+ ¦ SYSTEMS ¦ MEMBERS ¦
+ +-----------------------+---------¦
+ ¦ NODE ¦ SOFTWARE ¦ STATUS ¦
+ +--------+--------------+---------¦
+ ¦ TOR ¦ VMS V7.3-2 ¦ MEMBER ¦
+ ¦ TITAN2 ¦ VMS V8.3 ¦ MEMBER ¦
+ ¦ ODIN ¦ VMS V7.3-2 ¦ MEMBER ¦
+ +---------------------------------+
+
+ It is convinient to have a common VIM directory but execute different
+ executables.
+ There are more solutions for this problem:
+
+ solution 1. all executables in the same directory with different names
+ This is easily done with the following script that can be added
+ to the login.com or sylogin.com: >
+
+ $ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"
+ $ then
+ $ say "VAX platform"
+ $ vi*m:== mcr vim:VIM.EXE_VAX
+ $ endif
+ $ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH"
+ $ then
+ $ say "ALPHA platform"
+ $ vi*m :== mcr vim:VIM.EXE_AXP
+ $ endif
+ $ if f$getsyi("ARCH_NAME") .eqs. "IA64"
+ $ then
+ $ say "IA64 platform"
+ $ vi*m :== mcr vim:VIM.EXE_IA64
+ $ endif
+
+ solution 2. different directories: >
+
+ $ if f$getsyi("NODE_HWTYPE") .eqs. "VAX"
+ $ then
+ $ say "VAX platform"
+ $ define/nolog VIM RF10:[UTIL.VAX_EXE] ! VAX executables
+ $ endif
+ $ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH"
+ $ then
+ $ say "ALPHA platform"
+ $ define/nolog VIM RF10:[UTIL.AXP_EXE] ! AXP executables
+ $ endif
+ $ if f$getsyi("ARCH_NAME") .eqs. "IA64"
+ $ then
+ $ say "IA64 platform"
+ $ define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables
+ $ endif
+ $! VIMRUNTIME must be defined in order to find runtime files
+ $ define/nolog VIMRUNTIME RF10:[UTIL.VIM72]
+
+ A good examle for this approach is the [GNU]gnu_tools.com script from GNU_TOOLS.ZIP
+ package downloadable from http://www.polarhome.com/vim/
+
+ (Zoltan Arpadffy, Vim 7.2)
+
==============================================================================
9. VMS related changes *vms-changes*
! Recent changes
! - The following plugins are included into VMS runtime:
! genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
! bufexplorer 7.1.7, taglist 4.5
! - minor changes in vimrc (just in VMS runtime)
! - make_vms.mms - HUGE model is the default
! - [TESTDIR]make_vms.mms include as many tests possible
! - modify test30 and test54 for VMS
! - enable FLOAT feature in VMS port
! - os_vms.txt updated
!
! Version 7.2 (2008 Aug 9)
! - VCF files write corrected
! - CTAGS 5.7 included
! - corrected make_vms.mms (on VAX gave syntax error)
!
! Version 7.1 (2007 Jun 15)
! - create TAGS file from menu
!
! Version 7 (2006 May 8)
- Improved low level char input (affects just console mode)
+ - Fixed plugin bug
+ - CTAGS 5.6 included
Version 6.4 (2005 Oct 15)
- GTKLIB and Vim build on IA64
***************
*** 806,811 ****
--- 926,932 ----
OpenVMS documentation and executables are maintained by:
Zoltan Arpadffy <arpadffy@polarhome.com>
+ OpenVMS Vim page: http://www.polarhome.com/vim/
This document uses parts and remarks from earlier authors and contributors
of OS_VMS.TXT:
*** ../vim-7.2.006/src/os_vms_conf.h Thu May 10 19:26:17 2007
--- src/os_vms_conf.h Sat Aug 16 05:09:17 2008
***************
*** 114,119 ****
--- 114,121 ----
#define HAVE_PUTENV
#define HAVE_SETENV
#define HAVE_SETJMP_H
+ #define HAVE_MATH_H
+ #define HAVE_FLOAT_FUNCS
#undef HAVE_DIRENT_H
#undef HAVE_SYS_NDIR_H
*** ../vim-7.2.006/src/Make_vms.mms Mon Oct 29 22:38:54 2007
--- src/Make_vms.mms Sat Aug 16 05:17:41 2008
***************
*** 2,8 ****
# Makefile for Vim on OpenVMS
#
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
! # Last change: 2007 Oct 22
#
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
# with MMS and MMK
--- 2,8 ----
# Makefile for Vim on OpenVMS
#
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
! # Last change: 2008 Aug 16
#
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
# with MMS and MMK
***************
*** 36,42 ****
# BIG - Many features enabled, as rich as possible. (default)
# HUGE - All possible featues enabled.
# Please select one of these alternatives above.
! MODEL = BIG
# GUI or terminal mode executable.
# Comment out if you want just the character terminal mode only.
--- 36,42 ----
# BIG - Many features enabled, as rich as possible. (default)
# HUGE - All possible featues enabled.
# Please select one of these alternatives above.
! MODEL = HUGE
# GUI or terminal mode executable.
# Comment out if you want just the character terminal mode only.
*** ../vim-7.2.006/src/testdir/Make_vms.mms Wed Jun 25 00:34:23 2008
--- src/testdir/Make_vms.mms Tue Aug 19 06:28:07 2008
***************
*** 4,12 ****
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
#
! # Last change: 2008 Jun 19
#
! # This has been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX.
# Edit the lines in the Configuration section below to select.
#
# Execute with:
--- 4,12 ----
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
#
! # Last change: 2008 Aug 19
#
! # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
# Edit the lines in the Configuration section below to select.
#
# Execute with:
***************
*** 32,37 ****
--- 32,46 ----
# and directory handling.
# WANT_UNIX = YES
+ # Comment out if you want to run Win32 specific tests as well, but please
+ # be aware, that on OpenVMS will fail, because of cat, rm, etc commands
+ # and directory handling.
+ # WANT_WIN = YES
+
+ # Comment out if you want to run spell checker tests.
+ # They fail because VMS does not support file names.
+ # WANT_SPELL = YES
+
# Comment out if you have gzip on your system
# HAVE_GZIP = YES
***************
*** 53,64 ****
test13.out test14.out test15.out test17.out \
test18.out test19.out test20.out test21.out test22.out \
test23.out test24.out test26.out \
! test28.out test29.out test31.out test32.out \
test33.out test34.out test35.out test36.out test37.out \
test38.out test39.out test40.out test41.out test42.out \
test43.out test44.out test45.out test46.out \
test48.out test51.out test53.out test54.out test55.out \
! test56.out test57.out test58.out test59.out test60.out \
test61.out test62.out test63.out test64.out test65.out
.IFDEF WANT_GUI
--- 62,73 ----
test13.out test14.out test15.out test17.out \
test18.out test19.out test20.out test21.out test22.out \
test23.out test24.out test26.out \
! test28.out test29.out test30.out test31.out test32.out \
test33.out test34.out test35.out test36.out test37.out \
test38.out test39.out test40.out test41.out test42.out \
test43.out test44.out test45.out test46.out \
test48.out test51.out test53.out test54.out test55.out \
! test56.out test57.out test60.out \
test61.out test62.out test63.out test64.out test65.out
.IFDEF WANT_GUI
***************
*** 67,73 ****
.ENDIF
.IFDEF WANT_UNIX
! SCRIPT_UNIX = test10.out test12.out test25.out test27.out test30.out test49.out
.ENDIF
.IFDEF HAVE_GZIP
--- 76,90 ----
.ENDIF
.IFDEF WANT_UNIX
! SCRIPT_UNIX = test10.out test12.out test25.out test27.out test49.out
! .ENDIF
!
! .IFDEF WANT_WIN
! SCRIPT_WIN = test50.out test52.out
! .ENDIF
!
! .IFDEF WANT_SPELL
! SCRIPT_SPELL = test58.out test59.out
.ENDIF
.IFDEF HAVE_GZIP
***************
*** 84,94 ****
-@ write sys$output " "$*" "
-@ write sys$output "-----------------------------------------------"
-@ create/term/wait mcr $(VIMPROG) $(GUI_OPTION) -u vms.vim --noplugin -s dotest.in $*.in
! -@ if "''F$SEARCH("test.out.*")'" .NES. "" then differences test.out $*.ok;
-@ if "''F$SEARCH("test.out.*")'" .NES. "" then rename test.out $*.out
-@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
! all : clean nolog $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_GZIP) $(SCRIPT_GDIFF)
-@ write sys$output " "
-@ write sys$output "-----------------------------------------------"
-@ write sys$output " All done"
--- 101,111 ----
-@ write sys$output " "$*" "
-@ write sys$output "-----------------------------------------------"
-@ create/term/wait mcr $(VIMPROG) $(GUI_OPTION) -u vms.vim --noplugin -s dotest.in $*.in
! -@ if "''F$SEARCH("test.out.*")'" .NES. "" then differences /par test.out $*.ok;
-@ if "''F$SEARCH("test.out.*")'" .NES. "" then rename test.out $*.out
-@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
! all : clean nolog $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_GZIP) $(SCRIPT_GDIFF)
-@ write sys$output " "
-@ write sys$output "-----------------------------------------------"
-@ write sys$output " All done"
***************
*** 113,118 ****
--- 130,137 ----
-@ write sys$output "MAKE_VMS.MMS options:"
-@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" "
-@ write sys$output " WANT_UNIX = ""$(WANT_UNIX)"" "
+ -@ write sys$output " WANT_WIN = ""$(WANT_WIN)"" "
+ -@ write sys$output " WANT_SPELL= ""$(WANT_SPELL)"" "
-@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" "
-@ write sys$output " HAVE_GDIFF= ""$(HAVE_GDIFF)"" "
-@ write sys$output "Default vimrc file is VMS.VIM:
***************
*** 122,126 ****
--- 141,153 ----
clean :
-@ if "''F$SEARCH("*.out")'" .NES. "" then delete/noconfirm/nolog *.out.*
-@ if "''F$SEARCH("test.log")'" .NES. "" then delete/noconfirm/nolog test.log.*
+ -@ if "''F$SEARCH("test.ok")'" .NES. "" then delete/noconfirm/nolog test.ok.*
-@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
-@ if "''F$SEARCH("*.*_sw*")'" .NES. "" then delete/noconfirm/nolog *.*_sw*.*
+ -@ if "''F$SEARCH("*.failed")'" .NES. "" then delete/noconfirm/nolog *.failed.*
+ -@ if "''F$SEARCH("*.rej")'" .NES. "" then delete/noconfirm/nolog *.rej.*
+ -@ if "''F$SEARCH("tiny.vim")'" .NES. "" then delete/noconfirm/nolog tiny.vim.*
+ -@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.*
+ -@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.*
+ -@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.*
+
*** ../vim-7.2.006/src/testdir/test30.in Sun Jul 13 19:17:14 2008
--- src/testdir/test30.in Sat Aug 16 04:59:37 2008
***************
*** 24,33 ****
:set nobin eol
:bwipe XXUnix XXDos XXMac
:" create mixed format files
! :!cat XXUnix XXDos >XXUxDs
! :!cat XXUnix XXMac >XXUxMac
! :!cat XXDos XXMac >XXDosMac
! :!cat XXUnix XXDos XXMac >XXUxDsMc
:"
:" try reading and writing with 'fileformats' empty
:set fileformat=unix
--- 24,40 ----
:set nobin eol
:bwipe XXUnix XXDos XXMac
:" create mixed format files
! :if has("vms")
! : !copy XXUnix,XXDos XXUxDs.
! : !copy XXUnix,XXMac XXUxMac.
! : !copy XXDos,XXMac XXDosMac.
! : !copy XXUnix,XXDos,XXMac XXUxDsMc.
! :else
! : !cat XXUnix XXDos >XXUxDs
! : !cat XXUnix XXMac >XXUxMac
! : !cat XXDos XXMac >XXDosMac
! : !cat XXUnix XXDos XXMac >XXUxDsMc
! :endif
:"
:" try reading and writing with 'fileformats' empty
:set fileformat=unix
*** ../vim-7.2.006/src/testdir/test54.in Sun Jan 2 12:43:19 2005
--- src/testdir/test54.in Tue Aug 19 06:26:55 2008
***************
*** 3,10 ****
STARTTEST
:so small.vim
:e xx
! :!rm -f test.out
! :au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
:e somefile " here, autocommand for xx shall write test.out
: " but autocommand shall not apply to buffer named <buffer>
:bwipe xx " here, autocommand shall be auto-deleted
--- 3,15 ----
STARTTEST
:so small.vim
:e xx
! :if has("vms")
! : !del test.out.*
! : au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > test.out
! :else
! : !rm -f test.out
! : au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out
! :endif
:e somefile " here, autocommand for xx shall write test.out
: " but autocommand shall not apply to buffer named <buffer>
:bwipe xx " here, autocommand shall be auto-deleted
*** ../vim-7.2.006/src/version.c Mon Aug 25 05:03:29 2008
--- src/version.c Mon Sep 1 16:46:50 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 7,
/**/
--
How To Keep A Healthy Level Of Insanity:
8. Don't use any punctuation marks.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

63
7.2.008 Normal file
View file

@ -0,0 +1,63 @@
To: vim-dev@vim.org
Subject: Patch 7.2.008
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.008
Problem: With a BufHidden autocommand that invokes ":bunload" the window
count for a buffer can be wrong. (Bob Hiestand)
Solution: Don't call enter_buffer() when already in that buffer.
Files: src/buffer.c
*** ../vim-7.2.007/src/buffer.c Wed Aug 6 18:32:40 2008
--- src/buffer.c Mon Sep 1 14:25:45 2008
***************
*** 1351,1361 ****
}
}
#ifdef FEAT_AUTOCMD
# ifdef FEAT_EVAL
! /* An autocommand may have deleted buf or aborted the script processing! */
! if (buf_valid(buf) && !aborting())
# else
! if (buf_valid(buf)) /* an autocommand may have deleted buf! */
# endif
#endif
enter_buffer(buf);
--- 1351,1362 ----
}
}
#ifdef FEAT_AUTOCMD
+ /* An autocommand may have deleted "buf", already entered it (e.g., when
+ * it did ":bunload") or aborted the script processing! */
# ifdef FEAT_EVAL
! if (buf_valid(buf) && buf != curbuf && !aborting())
# else
! if (buf_valid(buf) && buf != curbuf)
# endif
#endif
enter_buffer(buf);
*** ../vim-7.2.007/src/version.c Mon Sep 1 16:50:09 2008
--- src/version.c Mon Sep 1 17:31:28 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 8,
/**/
--
If Pacman had affected us as kids we'd be running around in dark rooms,
munching pills and listening to repetitive music.
-- Marcus Brigstocke
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

67
7.2.009 Normal file
View file

@ -0,0 +1,67 @@
To: vim-dev@vim.org
Subject: Patch 7.2.009
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.009
Problem: Can't compile with Perl 5.10 on MS-Windows. (Cesar Romani)
Solution: Add the Perl_sv_free2 function for dynamic loading. (Dan Sharp)
Files: src/if_perl.xs
*** ../vim-7.2.008/src/if_perl.xs Thu Jul 24 16:24:15 2008
--- src/if_perl.xs Mon Sep 1 14:58:37 2008
***************
*** 136,141 ****
--- 136,144 ----
# define Perl_newXS_flags dll_Perl_newXS_flags
#endif
# define Perl_sv_free dll_Perl_sv_free
+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
+ # define Perl_sv_free2 dll_Perl_sv_free2
+ # endif
# define Perl_sv_isa dll_Perl_sv_isa
# define Perl_sv_magic dll_Perl_sv_magic
# define Perl_sv_setiv dll_Perl_sv_setiv
***************
*** 268,273 ****
--- 271,277 ----
static void (*boot_DynaLoader)_((pTHX_ CV*));
#if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
+ static void (*Perl_sv_free2)(pTHX_ SV*);
static void (*Perl_sys_init3)(int* argc, char*** argv, char*** env);
static void (*Perl_sys_term)(void);
static SV** (*Perl_ISv_ptr)(register PerlInterpreter*);
***************
*** 367,372 ****
--- 371,377 ----
{"Perl_TXpv_ptr", (PERL_PROC*)&Perl_TXpv_ptr},
{"Perl_Tna_ptr", (PERL_PROC*)&Perl_Tna_ptr},
#else
+ {"Perl_sv_free2", (PERL_PROC*)&Perl_sv_free2},
{"Perl_sys_init3", (PERL_PROC*)&Perl_sys_init3},
{"Perl_sys_term", (PERL_PROC*)&Perl_sys_term},
{"Perl_ISv_ptr", (PERL_PROC*)&Perl_ISv_ptr},
*** ../vim-7.2.008/src/version.c Mon Sep 1 17:32:40 2008
--- src/version.c Mon Sep 1 17:55:24 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 9,
/**/
--
How To Keep A Healthy Level Of Insanity:
11. Specify that your drive-through order is "to go".
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

206
7.2.010 Normal file
View file

@ -0,0 +1,206 @@
To: vim-dev@vim.org
Subject: Patch 7.2.010
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.010
Problem: When using "K" in Visual mode not all characters are properly
escaped. (Ben Schmidt)
Solution: Use a function with the functionality of shellescape(). (Jan
Minar)
Files: src/mbyte.c, src/misc2.c, src/normal.c
*** ../vim-7.2.009/src/mbyte.c Wed Aug 6 18:45:36 2008
--- src/mbyte.c Wed Sep 3 22:34:48 2008
***************
*** 2540,2546 ****
return (int)(p - q);
}
- #if defined(FEAT_EVAL) || defined(PROTO)
/*
* Copy a character from "*fp" to "*tp" and advance the pointers.
*/
--- 2540,2545 ----
***************
*** 2555,2561 ****
*tp += l;
*fp += l;
}
- #endif
/*
* Return the offset from "p" to the first byte of a character. When "p" is
--- 2554,2559 ----
*** ../vim-7.2.009/src/misc2.c Thu Jul 24 20:28:58 2008
--- src/misc2.c Wed Sep 3 22:05:21 2008
***************
*** 1257,1263 ****
return escaped_string;
}
- #if !defined(BACKSLASH_IN_FILENAME) || defined(FEAT_EVAL) || defined(PROTO)
/*
* Return TRUE when 'shell' has "csh" in the tail.
*/
--- 1257,1262 ----
***************
*** 1266,1274 ****
{
return (strstr((char *)gettail(p_sh), "csh") != NULL);
}
- #endif
- #if defined(FEAT_EVAL) || defined(PROTO)
/*
* Escape "string" for use as a shell argument with system().
* This uses single quotes, except when we know we need to use double qoutes
--- 1265,1271 ----
***************
*** 1391,1397 ****
return escaped_string;
}
- #endif
/*
* Like vim_strsave(), but make all characters uppercase.
--- 1388,1393 ----
*** ../vim-7.2.009/src/normal.c Thu Jul 31 22:03:54 2008
--- src/normal.c Sat Sep 6 15:06:07 2008
***************
*** 5469,5474 ****
--- 5469,5479 ----
STRCPY(buf, "he! ");
else
{
+ /* An external command will probably use an argument starting
+ * with "-" as an option. To avoid trouble we skip the "-". */
+ while (*ptr == '-')
+ ++ptr;
+
/* When a count is given, turn it into a range. Is this
* really what we want? */
isman = (STRCMP(kp, "man") == 0);
***************
*** 5511,5547 ****
/*
* Now grab the chars in the identifier
*/
! if (cmdchar == '*')
! aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\");
! else if (cmdchar == '#')
! aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\");
! else if (cmdchar == 'K' && !kp_help)
! aux_ptr = (char_u *)" \t\\\"|!";
! else
! /* Don't escape spaces and Tabs in a tag with a backslash */
! aux_ptr = (char_u *)"\\|\"";
!
! p = buf + STRLEN(buf);
! while (n-- > 0)
! {
! /* put a backslash before \ and some others */
! if (vim_strchr(aux_ptr, *ptr) != NULL)
! *p++ = '\\';
! #ifdef FEAT_MBYTE
! /* When current byte is a part of multibyte character, copy all bytes
! * of that character. */
! if (has_mbyte)
{
! int i;
! int len = (*mb_ptr2len)(ptr) - 1;
!
! for (i = 0; i < len && n >= 1; ++i, --n)
! *p++ = *ptr++;
}
#endif
! *p++ = *ptr++;
}
- *p = NUL;
/*
* Execute the command.
--- 5516,5572 ----
/*
* Now grab the chars in the identifier
*/
! if (cmdchar == 'K' && !kp_help)
! {
! /* Escape the argument properly for a shell command */
! p = vim_strsave_shellescape(ptr, TRUE);
! if (p == NULL)
{
! vim_free(buf);
! return;
}
+ buf = (char_u *)vim_realloc(buf, STRLEN(buf) + STRLEN(p) + 1);
+ if (buf == NULL)
+ {
+ vim_free(buf);
+ vim_free(p);
+ return;
+ }
+ STRCAT(buf, p);
+ vim_free(p);
+ }
+ else
+ {
+ if (cmdchar == '*')
+ aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\");
+ else if (cmdchar == '#')
+ aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\");
+ else
+ /* Don't escape spaces and Tabs in a tag with a backslash */
+ aux_ptr = (char_u *)"\\|\"\n*?[";
+
+ p = buf + STRLEN(buf);
+ while (n-- > 0)
+ {
+ /* put a backslash before \ and some others */
+ if (vim_strchr(aux_ptr, *ptr) != NULL)
+ *p++ = '\\';
+ #ifdef FEAT_MBYTE
+ /* When current byte is a part of multibyte character, copy all
+ * bytes of that character. */
+ if (has_mbyte)
+ {
+ int i;
+ int len = (*mb_ptr2len)(ptr) - 1;
+
+ for (i = 0; i < len && n >= 1; ++i, --n)
+ *p++ = *ptr++;
+ }
#endif
! *p++ = *ptr++;
! }
! *p = NUL;
}
/*
* Execute the command.
*** ../vim-7.2.009/src/version.c Mon Sep 1 17:56:05 2008
--- src/version.c Sat Sep 6 16:26:42 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 10,
/**/
--
Q. What happens to programmers when they die?
A: MS-Windows programmers are reinstalled. C++ programmers become undefined,
anyone who refers to them will die as well. Java programmers reincarnate
after being garbage collected.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

105
7.2.011 Normal file
View file

@ -0,0 +1,105 @@
To: vim-dev@vim.org
Subject: Patch 7.2.011
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.011
Problem: Get an error when inserting a float value from the expression
register.
Solution: Convert the Float to a String automatically in the same place
where a List would be converted to a String.
Files: src/eval.c
*** ../vim-7.2.010/src/eval.c Mon Aug 25 04:48:21 2008
--- src/eval.c Sun Sep 7 13:50:38 2008
***************
*** 1256,1278 ****
/*
* Top level evaluation function, returning a string.
* Return pointer to allocated memory, or NULL for failure.
*/
char_u *
! eval_to_string(arg, nextcmd, dolist)
char_u *arg;
char_u **nextcmd;
! int dolist; /* turn List into sequence of lines */
{
typval_T tv;
char_u *retval;
garray_T ga;
if (eval0(arg, &tv, nextcmd, TRUE) == FAIL)
retval = NULL;
else
{
! if (dolist && tv.v_type == VAR_LIST)
{
ga_init2(&ga, (int)sizeof(char), 80);
if (tv.vval.v_list != NULL)
--- 1256,1281 ----
/*
* Top level evaluation function, returning a string.
+ * When "convert" is TRUE convert a List into a sequence of lines and convert
+ * a Float to a String.
* Return pointer to allocated memory, or NULL for failure.
*/
char_u *
! eval_to_string(arg, nextcmd, convert)
char_u *arg;
char_u **nextcmd;
! int convert;
{
typval_T tv;
char_u *retval;
garray_T ga;
+ char_u numbuf[NUMBUFLEN];
if (eval0(arg, &tv, nextcmd, TRUE) == FAIL)
retval = NULL;
else
{
! if (convert && tv.v_type == VAR_LIST)
{
ga_init2(&ga, (int)sizeof(char), 80);
if (tv.vval.v_list != NULL)
***************
*** 1280,1285 ****
--- 1283,1295 ----
ga_append(&ga, NUL);
retval = (char_u *)ga.ga_data;
}
+ #ifdef FEAT_FLOAT
+ else if (convert && tv.v_type == VAR_FLOAT)
+ {
+ vim_snprintf((char *)numbuf, NUMBUFLEN, "%g", tv.vval.v_float);
+ retval = vim_strsave(numbuf);
+ }
+ #endif
else
retval = vim_strsave(get_tv_string(&tv));
clear_tv(&tv);
*** ../vim-7.2.010/src/version.c Sat Sep 6 16:44:06 2008
--- src/version.c Sun Sep 7 13:52:00 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 11,
/**/
--
hundred-and-one symptoms of being an internet addict:
34. You laugh at people with 14400 baud modems.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

53
7.2.012 Normal file
View file

@ -0,0 +1,53 @@
To: vim-dev@vim.org
Subject: Patch 7.2.012
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.012
Problem: Compiler warnings when building with startup timing.
Solution: Add type casts.
Files: src/ex_cmds2.c
*** ../vim-7.2.011/src/ex_cmds2.c Sun Jul 13 19:36:09 2008
--- src/ex_cmds2.c Tue Sep 2 11:14:41 2008
***************
*** 3145,3152 ****
verbose_leave();
}
#ifdef STARTUPTIME
! vim_snprintf(IObuff, IOSIZE, "sourcing %s", fname);
! time_msg(IObuff, &tv_start);
time_pop(&tv_rel);
#endif
--- 3145,3152 ----
verbose_leave();
}
#ifdef STARTUPTIME
! vim_snprintf((char *)IObuff, IOSIZE, "sourcing %s", fname);
! time_msg((char *)IObuff, &tv_start);
time_pop(&tv_rel);
#endif
*** ../vim-7.2.011/src/version.c Sun Sep 7 13:54:31 2008
--- src/version.c Sun Sep 7 15:49:00 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 12,
/**/
--
He who laughs last, thinks slowest.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

135
7.2.013 Normal file
View file

@ -0,0 +1,135 @@
To: vim-dev@vim.org
Subject: Patch 7.2.013
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.013
Problem: While waiting for the X selection Vim consumes a lot of CPU time
and hangs until a response is received.
Solution: Sleep a bit when the selection event hasn't been received yet.
Time out after a couple of seconds to avoid a hang when the
selection owner isn't responding.
Files: src/ui.c
*** ../vim-7.2.012/src/ui.c Mon Jul 14 21:47:49 2008
--- src/ui.c Sun Sep 7 16:54:35 2008
***************
*** 2110,2115 ****
--- 2110,2117 ----
int i;
int nbytes = 0;
char_u *buffer;
+ time_t start_time;
+ int timed_out = FALSE;
for (i =
#ifdef FEAT_MBYTE
***************
*** 2129,2134 ****
--- 2131,2137 ----
case 3: type = text_atom; break;
default: type = XA_STRING;
}
+ success = FALSE;
XtGetSelectionValue(myShell, cbd->sel_atom, type,
clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime);
***************
*** 2141,2167 ****
* characters, then they will appear before the one that requested the
* paste! Don't worry, we will catch up with any other events later.
*/
for (;;)
{
if (XCheckTypedEvent(dpy, SelectionNotify, &event))
break;
if (XCheckTypedEvent(dpy, SelectionRequest, &event))
/* We may get a SelectionRequest here and if we don't handle
* it we hang. KDE klipper does this, for example. */
XtDispatchEvent(&event);
/* Do we need this? Probably not. */
XSync(dpy, False);
! /* Bernhard Walle solved a slow paste response in an X terminal by
! * adding: usleep(10000); here. */
}
- /* this is where clip_x11_request_selection_cb() is actually called */
- XtDispatchEvent(&event);
-
if (success)
return;
}
/* Final fallback position - use the X CUT_BUFFER0 store */
--- 2144,2189 ----
* characters, then they will appear before the one that requested the
* paste! Don't worry, we will catch up with any other events later.
*/
+ start_time = time(NULL);
for (;;)
{
if (XCheckTypedEvent(dpy, SelectionNotify, &event))
+ {
+ /* this is where clip_x11_request_selection_cb() is actually
+ * called */
+ XtDispatchEvent(&event);
break;
+ }
if (XCheckTypedEvent(dpy, SelectionRequest, &event))
/* We may get a SelectionRequest here and if we don't handle
* it we hang. KDE klipper does this, for example. */
XtDispatchEvent(&event);
+ /* Time out after 2 to 3 seconds to avoid that we hang when the
+ * other process doesn't respond. Note that the SelectionNotify
+ * event may still come later when the selection owner comes back
+ * to life and the text gets inserted unexpectedly (by xterm).
+ * Don't know how to avoid that :-(. */
+ if (time(NULL) > start_time + 2)
+ {
+ timed_out = TRUE;
+ break;
+ }
+
/* Do we need this? Probably not. */
XSync(dpy, False);
! /* Wait for 1 msec to avoid that we eat up all CPU time. */
! ui_delay(1L, TRUE);
}
if (success)
return;
+
+ /* don't do a retry with another type after timing out, otherwise we
+ * hang for 15 seconds. */
+ if (timed_out)
+ break;
}
/* Final fallback position - use the X CUT_BUFFER0 store */
*** ../vim-7.2.012/src/version.c Sun Sep 7 15:49:45 2008
--- src/version.c Sun Sep 7 21:45:55 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 13,
/**/
--
The users that I support would double-click on a landmine to find out
what happens. -- A system administrator
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

52
7.2.014 Normal file
View file

@ -0,0 +1,52 @@
To: vim-dev@vim.org
Subject: Patch 7.2.014
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.014
Problem: synstack() doesn't work in an emptly line.
Solution: Accept column zero as a valid position.
Files: src/eval.c
*** ../vim-7.2.013/src/eval.c Sun Sep 7 13:54:31 2008
--- src/eval.c Sun Sep 7 13:50:38 2008
***************
*** 16667,16673 ****
col = get_tv_number(&argvars[1]) - 1; /* -1 on type error */
if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count
! && col >= 0 && col < (long)STRLEN(ml_get(lnum))
&& rettv_list_alloc(rettv) != FAIL)
{
(void)syn_get_id(curwin, lnum, (colnr_T)col, FALSE, NULL, TRUE);
--- 16667,16673 ----
col = get_tv_number(&argvars[1]) - 1; /* -1 on type error */
if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count
! && col >= 0 && (col == 0 || col < (long)STRLEN(ml_get(lnum)))
&& rettv_list_alloc(rettv) != FAIL)
{
(void)syn_get_id(curwin, lnum, (colnr_T)col, FALSE, NULL, TRUE);
*** ../vim-7.2.013/src/version.c Sun Sep 7 21:47:51 2008
--- src/version.c Wed Sep 10 15:36:52 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 14,
/**/
--
Everybody lies, but it doesn't matter since nobody listens.
-- Lieberman's Law
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

82
7.2.015 Normal file
View file

@ -0,0 +1,82 @@
To: vim-dev@vim.org
Subject: Patch 7.2.015
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.015
Problem: "make all test install" doesn't stop when the test fails. (Daniel
Shahaf)
Solution: When test.log contains failures exit with non-zero status.
Files: src/testdir/Makefile
*** ../vim-7.2.014/src/testdir/Makefile Wed Jun 25 00:22:53 2008
--- src/testdir/Makefile Sun Sep 7 21:31:49 2008
***************
*** 26,40 ****
.SUFFIXES: .in .out
! nongui: nolog $(SCRIPTS)
! @echo
! @cat test.log
! @echo ALL DONE
! gui: nolog $(SCRIPTS) $(SCRIPTS_GUI)
@echo
! @cat test.log
! @echo ALL DONE
$(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
--- 26,42 ----
.SUFFIXES: .in .out
! nongui: nolog $(SCRIPTS) report
!
! gui: nolog $(SCRIPTS) $(SCRIPTS_GUI) report
! report:
@echo
! @echo 'Test results:'
! @/bin/sh -c "if test -f test.log; \
! then cat test.log; echo TEST FAILURE; exit 1; \
! else echo ALL DONE; \
! fi"
$(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
***************
*** 71,74 ****
test60.out: test60.vim
nolog:
! -echo Test results: >test.log
--- 73,76 ----
test60.out: test60.vim
nolog:
! -rm -f test.log
*** ../vim-7.2.014/src/version.c Wed Sep 10 15:38:13 2008
--- src/version.c Wed Sep 10 18:23:38 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 15,
/**/
--
Light travels faster than sound. This is why some people
appear bright until you hear them speak
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

166
7.2.016 Normal file
View file

@ -0,0 +1,166 @@
To: vim-dev@vim.org
Subject: Patch 7.2.016
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.016
Problem: The pattern being completed may be in freed memory when the
command line is being reallocated. (Dominique Pelle)
Solution: Keep a pointer to the expand_T in the command line structure.
Don't use <S-Tab> as CTRL-P when there are no results. Clear the
completion when using a command line from the history.
Files: src/ex_getln.c
*** ../vim-7.2.015/src/ex_getln.c Fri Aug 8 12:58:59 2008
--- src/ex_getln.c Wed Sep 10 22:43:41 2008
***************
*** 31,36 ****
--- 31,38 ----
int cmdattr; /* attributes for prompt */
int overstrike; /* Typing mode on the command line. Shared by
getcmdline() and put_on_cmdline(). */
+ expand_T *xpc; /* struct being used for expansion, xp_pattern
+ may point into cmdbuff */
int xp_context; /* type of expansion */
# ifdef FEAT_EVAL
char_u *xp_arg; /* user-defined expansion arg */
***************
*** 38,44 ****
# endif
};
! static struct cmdline_info ccline; /* current cmdline_info */
static int cmd_showtail; /* Only show path tail in lists ? */
--- 40,50 ----
# endif
};
! /* The current cmdline_info. It is initialized in getcmdline() and after that
! * used by other functions. When invoking getcmdline() recursively it needs
! * to be saved with save_cmdline() and restored with restore_cmdline().
! * TODO: make it local to getcmdline() and pass it around. */
! static struct cmdline_info ccline;
static int cmd_showtail; /* Only show path tail in lists ? */
***************
*** 238,243 ****
--- 244,250 ----
}
ExpandInit(&xpc);
+ ccline.xpc = &xpc;
#ifdef FEAT_RIGHTLEFT
if (curwin->w_p_rl && *curwin->w_p_rlc == 's'
***************
*** 408,416 ****
#endif
/*
! * <S-Tab> works like CTRL-P (unless 'wc' is <S-Tab>).
*/
! if (c != p_wc && c == K_S_TAB && xpc.xp_numfiles != -1)
c = Ctrl_P;
#ifdef FEAT_WILDMENU
--- 415,424 ----
#endif
/*
! * When there are matching completions to select <S-Tab> works like
! * CTRL-P (unless 'wc' is <S-Tab>).
*/
! if (c != p_wc && c == K_S_TAB && xpc.xp_numfiles > 0)
c = Ctrl_P;
#ifdef FEAT_WILDMENU
***************
*** 1513,1518 ****
--- 1521,1527 ----
int old_firstc;
vim_free(ccline.cmdbuff);
+ xpc.xp_context = EXPAND_NOTHING;
if (hiscnt == hislen)
p = lookfor; /* back to the old one */
else
***************
*** 1839,1844 ****
--- 1848,1854 ----
#endif
ExpandCleanup(&xpc);
+ ccline.xpc = NULL;
#ifdef FEAT_SEARCH_EXTRA
if (did_incsearch)
***************
*** 2508,2513 ****
--- 2518,2537 ----
}
mch_memmove(ccline.cmdbuff, p, (size_t)ccline.cmdlen + 1);
vim_free(p);
+
+ if (ccline.xpc != NULL
+ && ccline.xpc->xp_pattern != NULL
+ && ccline.xpc->xp_context != EXPAND_NOTHING
+ && ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL)
+ {
+ int i = ccline.xpc->xp_pattern - p;
+
+ /* If xp_pattern points inside the old cmdbuff it needs to be adjusted
+ * to point into the newly allocated memory. */
+ if (i >= 0 && i <= ccline.cmdlen)
+ ccline.xpc->xp_pattern = ccline.cmdbuff + i;
+ }
+
return OK;
}
***************
*** 2875,2880 ****
--- 2899,2905 ----
prev_ccline = ccline;
ccline.cmdbuff = NULL;
ccline.cmdprompt = NULL;
+ ccline.xpc = NULL;
}
/*
***************
*** 3582,3587 ****
--- 3607,3613 ----
ExpandInit(xp)
expand_T *xp;
{
+ xp->xp_pattern = NULL;
xp->xp_backslash = XP_BS_NONE;
#ifndef BACKSLASH_IN_FILENAME
xp->xp_shell = FALSE;
*** ../vim-7.2.015/src/version.c Wed Sep 10 18:25:18 2008
--- src/version.c Sun Sep 14 14:38:47 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 16,
/**/
--
hundred-and-one symptoms of being an internet addict:
53. To find out what time it is, you send yourself an e-mail and check the
"Date:" field.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

162
7.2.017 Normal file
View file

@ -0,0 +1,162 @@
To: vim-dev@vim.org
Subject: Patch 7.2.017
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.017
Problem: strlen() used on text that may not end in a NUL. (Dominique Pelle)
Pasting a very big selection doesn't work.
Solution: Use the length passed to the XtSelectionCallbackProc() function.
After getting the SelectionNotify event continue dispatching
events until the callback is actually called. Also dispatch the
PropertyNotify event.
Files: src/ui.c
*** ../vim-7.2.016/src/ui.c Sun Sep 7 21:47:51 2008
--- src/ui.c Sun Sep 14 15:52:19 2008
***************
*** 2020,2026 ****
if (value == NULL || *length == 0)
{
! clip_free_selection(cbd); /* ??? [what's the query?] */
*(int *)success = FALSE;
return;
}
--- 2020,2026 ----
if (value == NULL || *length == 0)
{
! clip_free_selection(cbd); /* nothing received, clear register */
*(int *)success = FALSE;
return;
}
***************
*** 2076,2082 ****
text_prop.value = (unsigned char *)value;
text_prop.encoding = *type;
text_prop.format = *format;
! text_prop.nitems = STRLEN(value);
status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop,
&text_list, &n_text);
if (status != Success || n_text < 1)
--- 2076,2082 ----
text_prop.value = (unsigned char *)value;
text_prop.encoding = *type;
text_prop.format = *format;
! text_prop.nitems = len;
status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop,
&text_list, &n_text);
if (status != Success || n_text < 1)
***************
*** 2131,2137 ****
case 3: type = text_atom; break;
default: type = XA_STRING;
}
! success = FALSE;
XtGetSelectionValue(myShell, cbd->sel_atom, type,
clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime);
--- 2131,2137 ----
case 3: type = text_atom; break;
default: type = XA_STRING;
}
! success = MAYBE;
XtGetSelectionValue(myShell, cbd->sel_atom, type,
clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime);
***************
*** 2145,2169 ****
* paste! Don't worry, we will catch up with any other events later.
*/
start_time = time(NULL);
! for (;;)
{
! if (XCheckTypedEvent(dpy, SelectionNotify, &event))
{
! /* this is where clip_x11_request_selection_cb() is actually
! * called */
XtDispatchEvent(&event);
! break;
}
- if (XCheckTypedEvent(dpy, SelectionRequest, &event))
- /* We may get a SelectionRequest here and if we don't handle
- * it we hang. KDE klipper does this, for example. */
- XtDispatchEvent(&event);
/* Time out after 2 to 3 seconds to avoid that we hang when the
* other process doesn't respond. Note that the SelectionNotify
* event may still come later when the selection owner comes back
! * to life and the text gets inserted unexpectedly (by xterm).
! * Don't know how to avoid that :-(. */
if (time(NULL) > start_time + 2)
{
timed_out = TRUE;
--- 2145,2171 ----
* paste! Don't worry, we will catch up with any other events later.
*/
start_time = time(NULL);
! while (success == MAYBE)
{
! if (XCheckTypedEvent(dpy, SelectionNotify, &event)
! || XCheckTypedEvent(dpy, SelectionRequest, &event)
! || XCheckTypedEvent(dpy, PropertyNotify, &event))
{
! /* This is where clip_x11_request_selection_cb() should be
! * called. It may actually happen a bit later, so we loop
! * until "success" changes.
! * We may get a SelectionRequest here and if we don't handle
! * it we hang. KDE klipper does this, for example.
! * We need to handle a PropertyNotify for large selections. */
XtDispatchEvent(&event);
! continue;
}
/* Time out after 2 to 3 seconds to avoid that we hang when the
* other process doesn't respond. Note that the SelectionNotify
* event may still come later when the selection owner comes back
! * to life and the text gets inserted unexpectedly. Don't know
! * why that happens or how to avoid that :-(. */
if (time(NULL) > start_time + 2)
{
timed_out = TRUE;
***************
*** 2177,2183 ****
ui_delay(1L, TRUE);
}
! if (success)
return;
/* don't do a retry with another type after timing out, otherwise we
--- 2179,2185 ----
ui_delay(1L, TRUE);
}
! if (success == TRUE)
return;
/* don't do a retry with another type after timing out, otherwise we
*** ../vim-7.2.016/src/version.c Sun Sep 14 14:41:44 2008
--- src/version.c Sun Sep 14 15:55:34 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 17,
/**/
--
hundred-and-one symptoms of being an internet addict:
54. You start tilting your head sideways to smile. :-)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

45
7.2.018 Normal file
View file

@ -0,0 +1,45 @@
To: vim-dev@vim.org
Subject: Patch 7.2.018
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.018
Problem: Memory leak when substitute is aborted.
Solution: Free the buffer allocated for the new text. (Dominique Pelle)
Files: src/ex_cmds.c
*** ../vim-7.2.017/src/ex_cmds.c Wed Aug 6 15:03:07 2008
--- src/ex_cmds.c Sun Sep 14 13:45:03 2008
***************
*** 5059,5064 ****
--- 5059,5065 ----
if (did_sub)
++sub_nlines;
+ vim_free(new_start); /* for when substitute was cancelled */
vim_free(sub_firstline); /* free the copy of the original line */
sub_firstline = NULL;
}
*** ../vim-7.2.017/src/version.c Sun Sep 14 15:57:54 2008
--- src/version.c Sun Sep 14 21:38:25 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 18,
/**/
--
hundred-and-one symptoms of being an internet addict:
55. You ask your doctor to implant a gig in your brain.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

65
7.2.019 Normal file
View file

@ -0,0 +1,65 @@
To: vim-dev@vim.org
Subject: Patch 7.2.019
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.019
Problem: Completion of ":noautocmd" doesn't work and exists(":noautocmd")
returns zero. (Ben Fritz)
Solution: Add "noautocmd" to the list of modifiers and commands.
Files: src/ex_cmds.h, src/ex_docmd.c
*** ../vim-7.2.018/src/ex_cmds.h Wed Jun 25 00:44:40 2008
--- src/ex_cmds.h Sat Sep 13 18:37:25 2008
***************
*** 635,640 ****
--- 635,642 ----
RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
EX(CMD_noremap, "noremap", ex_map,
BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
+ EX(CMD_noautocmd, "noautocmd", ex_wrongmodifier,
+ NEEDARG|EXTRA|NOTRLCOM),
EX(CMD_nohlsearch, "nohlsearch", ex_nohlsearch,
TRLBAR|SBOXOK|CMDWIN),
EX(CMD_noreabbrev, "noreabbrev", ex_abbreviate,
*** ../vim-7.2.018/src/ex_docmd.c Sat Jul 26 16:04:39 2008
--- src/ex_docmd.c Mon Sep 15 20:04:53 2008
***************
*** 2978,2983 ****
--- 2979,2985 ----
{"keepmarks", 3, FALSE},
{"leftabove", 5, FALSE},
{"lockmarks", 3, FALSE},
+ {"noautocmd", 3, FALSE},
{"rightbelow", 6, FALSE},
{"sandbox", 3, FALSE},
{"silent", 3, FALSE},
*** ../vim-7.2.018/src/version.c Sun Sep 14 21:40:26 2008
--- src/version.c Thu Sep 18 12:39:56 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 19,
/**/
--
Proof techniques #2: Proof by Oddity.
SAMPLE: To prove that horses have an infinite number of legs.
(1) Horses have an even number of legs.
(2) They have two legs in back and fore legs in front.
(3) This makes a total of six legs, which certainly is an odd number of
legs for a horse.
(4) But the only number that is both odd and even is infinity.
(5) Therefore, horses must have an infinite number of legs.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

54
7.2.020 Normal file
View file

@ -0,0 +1,54 @@
To: vim-dev@vim.org
Subject: Patch 7.2.020
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.020
Problem: Starting the GUI when the executable starts with 'k', but the KDE
version no longer exists.
Solution: Don't have "kvim" start the GUI.
Files: src/main.c
*** ../vim-7.2.019/src/main.c Thu Jul 24 19:34:23 2008
--- src/main.c Sun Sep 14 13:26:10 2008
***************
*** 1457,1463 ****
++initstr;
}
! if (TOLOWER_ASC(initstr[0]) == 'g' || initstr[0] == 'k')
{
main_start_gui();
#ifdef FEAT_GUI
--- 1458,1465 ----
++initstr;
}
! /* "gvim" starts the GUI. Also accept "Gvim" for MS-Windows. */
! if (TOLOWER_ASC(initstr[0]) == 'g')
{
main_start_gui();
#ifdef FEAT_GUI
*** ../vim-7.2.019/src/version.c Thu Sep 18 12:43:21 2008
--- src/version.c Thu Sep 18 20:54:10 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 20,
/**/
--
hundred-and-one symptoms of being an internet addict:
90. Instead of calling you to dinner, your spouse sends e-mail.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

147
7.2.021 Normal file
View file

@ -0,0 +1,147 @@
To: vim-dev@vim.org
Subject: Patch 7.2.021
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.021
Problem: When executing autocommands getting the full file name may be
slow. (David Kotchan)
Solution: Postpone calling FullName_save() until autocmd_fname is used.
Files: src/ex_docmd.c, src/fileio.c, src/globals.h
*** ../vim-7.2.020/src/ex_docmd.c Thu Sep 18 12:43:21 2008
--- src/ex_docmd.c Mon Sep 15 20:04:53 2008
***************
*** 9542,9547 ****
--- 9569,9583 ----
#ifdef FEAT_AUTOCMD
case SPEC_AFILE: /* file name for autocommand */
result = autocmd_fname;
+ if (result != NULL && !autocmd_fname_full)
+ {
+ /* Still need to turn the fname into a full path. It is
+ * postponed to avoid a delay when <afile> is not used. */
+ autocmd_fname_full = TRUE;
+ result = FullName_save(autocmd_fname, FALSE);
+ vim_free(autocmd_fname);
+ autocmd_fname = result;
+ }
if (result == NULL)
{
*errormsg = (char_u *)_("E495: no autocommand file name to substitute for \"<afile>\"");
*** ../vim-7.2.020/src/fileio.c Wed Aug 6 18:43:07 2008
--- src/fileio.c Tue Sep 16 21:24:26 2008
***************
*** 8523,8528 ****
--- 8523,8529 ----
char_u *save_sourcing_name;
linenr_T save_sourcing_lnum;
char_u *save_autocmd_fname;
+ int save_autocmd_fname_full;
int save_autocmd_bufnr;
char_u *save_autocmd_match;
int save_autocmd_busy;
***************
*** 8601,8606 ****
--- 8602,8608 ----
* Save the autocmd_* variables and info about the current buffer.
*/
save_autocmd_fname = autocmd_fname;
+ save_autocmd_fname_full = autocmd_fname_full;
save_autocmd_bufnr = autocmd_bufnr;
save_autocmd_match = autocmd_match;
save_autocmd_busy = autocmd_busy;
***************
*** 8618,8631 ****
if (fname != NULL && *fname != NUL)
autocmd_fname = fname;
else if (buf != NULL)
! autocmd_fname = buf->b_fname;
else
autocmd_fname = NULL;
}
else
autocmd_fname = fname_io;
if (autocmd_fname != NULL)
! autocmd_fname = FullName_save(autocmd_fname, FALSE);
/*
* Set the buffer number to be used for <abuf>.
--- 8620,8634 ----
if (fname != NULL && *fname != NUL)
autocmd_fname = fname;
else if (buf != NULL)
! autocmd_fname = buf->b_ffname;
else
autocmd_fname = NULL;
}
else
autocmd_fname = fname_io;
if (autocmd_fname != NULL)
! autocmd_fname = vim_strsave(autocmd_fname);
! autocmd_fname_full = FALSE; /* call FullName_save() later */
/*
* Set the buffer number to be used for <abuf>.
***************
*** 8810,8815 ****
--- 8813,8819 ----
sourcing_lnum = save_sourcing_lnum;
vim_free(autocmd_fname);
autocmd_fname = save_autocmd_fname;
+ autocmd_fname_full = save_autocmd_fname_full;
autocmd_bufnr = save_autocmd_bufnr;
autocmd_match = save_autocmd_match;
#ifdef FEAT_EVAL
***************
*** 8918,8924 ****
{
apc->curpat = NULL;
! /* only use a pattern when it has not been removed, has commands and
* the group matches. For buffer-local autocommands only check the
* buffer number. */
if (ap->pat != NULL && ap->cmds != NULL
--- 8922,8928 ----
{
apc->curpat = NULL;
! /* Only use a pattern when it has not been removed, has commands and
* the group matches. For buffer-local autocommands only check the
* buffer number. */
if (ap->pat != NULL && ap->cmds != NULL
*** ../vim-7.2.020/src/globals.h Sat Jul 26 16:04:49 2008
--- src/globals.h Mon Sep 15 19:59:28 2008
***************
*** 1022,1027 ****
--- 1022,1028 ----
#endif
#ifdef FEAT_AUTOCMD
EXTERN char_u *autocmd_fname INIT(= NULL); /* fname for <afile> on cmdline */
+ EXTERN int autocmd_fname_full; /* autocmd_fname is full path */
EXTERN int autocmd_bufnr INIT(= 0); /* fnum for <abuf> on cmdline */
EXTERN char_u *autocmd_match INIT(= NULL); /* name for <amatch> on cmdline */
EXTERN int did_cursorhold INIT(= FALSE); /* set when CursorHold t'gerd */
*** ../vim-7.2.020/src/version.c Thu Sep 18 20:55:19 2008
--- src/version.c Thu Sep 18 21:24:30 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 21,
/**/
--
From "know your smileys":
:----} You lie like Pinocchio
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

140
7.2.022 Normal file
View file

@ -0,0 +1,140 @@
To: vim-dev@vim.org
Subject: Patch 7.2.022 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.022 (extra)
Problem: Testing is not possible when compiling with MingW.
Solution: Add a MingW specific test Makefile. (Bill McCarthy)
Files: Filelist, src/testdir/Make_ming.mak
*** ../vim-7.2.021/Filelist Sun Jul 13 19:33:31 2008
--- Filelist Sun Sep 14 21:47:01 2008
***************
*** 285,290 ****
--- 285,291 ----
src/proto/os_win32.pro \
src/proto/os_mswin.pro \
src/testdir/Make_dos.mak \
+ src/testdir/Make_ming.mak \
src/testdir/dos.vim \
src/uninstal.c \
src/vim.def \
*** ../vim-7.2.021/src/testdir/Make_ming.mak Sat Sep 20 16:25:06 2008
--- src/testdir/Make_ming.mak Sat Sep 20 16:25:58 2008
***************
*** 0 ****
--- 1,91 ----
+ # Makefile to run tests for Vim, on Dos-like machines
+ # with sh.exe or zsh.exe in the path or not.
+ #
+ # Author: Bill McCarthy
+ #
+ # Note that test54 has been removed until it is fixed.
+ #
+ # Requires a set of Unix tools: echo, diff, etc.
+
+ ifneq (sh.exe, $(SHELL))
+ DEL = rm -f
+ MV = mv
+ CP = cp
+ DIRSLASH = /
+ else
+ DEL = del
+ MV = rename
+ CP = copy
+ DIRSLASH = \\
+ endif
+
+ VIMPROG = ..$(DIRSLASH)vim
+
+ # Omitted:
+ # test2 "\\tmp" doesn't work.
+ # test10 'errorformat' is different
+ # test12 can't unlink a swap file
+ # test25 uses symbolic link
+ # test27 can't edit file with "*" in file name
+ # test31 16 bit version runs out of memory...
+
+ SCRIPTS16 = test1.out test19.out test20.out test22.out \
+ test23.out test24.out test28.out test29.out \
+ test35.out test36.out test43.out \
+ test44.out test45.out test46.out test47.out \
+ test48.out test51.out test53.out \
+ test55.out test56.out test57.out test58.out test59.out \
+ test60.out test61.out test62.out test63.out test64.out
+
+ # Had to remove test54 which doesn't work yet.
+ # test54.out
+
+ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
+ test8.out test9.out test11.out test13.out test14.out \
+ test15.out test17.out test18.out test21.out test26.out \
+ test30.out test31.out test32.out test33.out test34.out \
+ test37.out test38.out test39.out test40.out test41.out \
+ test42.out test52.out test65.out
+
+ SCRIPTS32 = test50.out
+
+ SCRIPTS_GUI = test16.out
+
+ .SUFFIXES: .in .out
+
+ vimall: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS32)
+ echo ALL DONE
+
+ nongui: fixff $(SCRIPTS16) $(SCRIPTS)
+ echo ALL DONE
+
+ small:
+ echo ALL DONE
+
+ gui: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI)
+ echo ALL DONE
+
+ win32: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32)
+ echo ALL DONE
+
+ fixff:
+ -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok
+
+ clean:
+ -$(DEL) *.out
+ -$(DEL) test.ok
+ -$(DEL) small.vim
+ -$(DEL) tiny.vim
+ -$(DEL) mbyte.vim
+ -$(DEL) X*
+ -$(DEL) viminfo
+
+ .in.out:
+ $(CP) $*.ok test.ok
+ $(VIMPROG) -u dos.vim -U NONE --noplugin -s dotest.in $*.in
+ diff test.out $*.ok
+ -$(DEL) $*.out
+ $(MV) test.out $*.out
+ -$(DEL) X*
+ -$(DEL) test.ok
+ -$(DEL) viminfo
*** ../vim-7.2.021/src/version.c Thu Sep 18 21:29:07 2008
--- src/version.c Sat Sep 20 16:25:16 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 22,
/**/
--
Where do you want to crash today?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

65
7.2.023 Normal file
View file

@ -0,0 +1,65 @@
To: vim-dev@vim.org
Subject: Patch 7.2.023
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.023
Problem: 'cursorcolumn' is in the wrong place in a closed fold when the
display is shifted left. (Gary Johnson)
Solution: Subtract w_skipcol or w_leftcol when needed.
Files: src/screen.c
*** ../vim-7.2.022/src/screen.c Thu Jul 24 20:29:09 2008
--- src/screen.c Fri Sep 26 21:23:06 2008
***************
*** 2439,2447 ****
#ifdef FEAT_SYN_HL
/* Show 'cursorcolumn' in the fold line. */
! if (wp->w_p_cuc && (int)wp->w_virtcol + txtcol < W_WIDTH(wp))
! ScreenAttrs[off + wp->w_virtcol + txtcol] = hl_combine_attr(
! ScreenAttrs[off + wp->w_virtcol + txtcol], hl_attr(HLF_CUC));
#endif
SCREEN_LINE(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp),
--- 2439,2455 ----
#ifdef FEAT_SYN_HL
/* Show 'cursorcolumn' in the fold line. */
! if (wp->w_p_cuc)
! {
! txtcol += wp->w_virtcol;
! if (wp->w_p_wrap)
! txtcol -= wp->w_skipcol;
! else
! txtcol -= wp->w_leftcol;
! if (txtcol >= 0 && txtcol < W_WIDTH(wp))
! ScreenAttrs[off + txtcol] = hl_combine_attr(
! ScreenAttrs[off + txtcol], hl_attr(HLF_CUC));
! }
#endif
SCREEN_LINE(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp),
*** ../vim-7.2.022/src/version.c Sat Sep 20 16:26:10 2008
--- src/version.c Wed Oct 1 21:07:31 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 23,
/**/
--
hundred-and-one symptoms of being an internet addict:
124. You begin conversations with, "Who is your internet service provider?"
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

50
7.2.024 Normal file
View file

@ -0,0 +1,50 @@
To: vim-dev@vim.org
Subject: Patch 7.2.024
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.024
Problem: It's possible to set 'history' to a negative value and that causes
an out-of-memory error.
Solution: Check that 'history' has a positive value. (Doug Kearns)
Files: src/option.c
*** ../vim-7.2.023/src/option.c Thu Jul 24 18:45:15 2008
--- src/option.c Fri Sep 26 22:20:20 2008
***************
*** 7974,7979 ****
--- 7974,7984 ----
else /* curwin->w_p_scr > curwin->w_height */
curwin->w_p_scr = curwin->w_height;
}
+ if (p_hi < 0)
+ {
+ errmsg = e_positive;
+ p_hi = 0;
+ }
if (p_report < 0)
{
errmsg = e_positive;
*** ../vim-7.2.023/src/version.c Wed Oct 1 21:09:02 2008
--- src/version.c Thu Oct 2 22:47:22 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 24,
/**/
--
hundred-and-one symptoms of being an internet addict:
127. You bring your laptop and cellular phone to church.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

54
7.2.025 Normal file
View file

@ -0,0 +1,54 @@
To: vim-dev@vim.org
Subject: Patch 7.2.025
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.025
Problem: When a CursorHold event invokes system() it is retriggered over
and over again.
Solution: Don't reset did_cursorhold when getting K_IGNORE.
Files: src/normal.c
*** ../vim-7.2.024/src/normal.c Sat Sep 6 16:44:06 2008
--- src/normal.c Sat Sep 27 13:03:34 2008
***************
*** 1132,1138 ****
out_flush();
#endif
#ifdef FEAT_AUTOCMD
! did_cursorhold = FALSE;
#endif
State = NORMAL;
--- 1132,1139 ----
out_flush();
#endif
#ifdef FEAT_AUTOCMD
! if (ca.cmdchar != K_IGNORE)
! did_cursorhold = FALSE;
#endif
State = NORMAL;
*** ../vim-7.2.024/src/version.c Thu Oct 2 22:48:01 2008
--- src/version.c Thu Oct 2 22:54:41 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 25,
/**/
--
hundred-and-one symptoms of being an internet addict:
128. You can access the Net -- via your portable and cellular phone.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

105
7.2.026 Normal file
View file

@ -0,0 +1,105 @@
To: vim-dev@vim.org
Subject: Patch 7.2.026
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.026 (after 7.2.010)
Problem: "K" doesn't use the length of the identifier but uses the rest of
the line.
Solution: Copy the desired number of characters first.
Files: src/normal.c
*** ../vim-7.2.025/src/normal.c Thu Oct 2 22:55:17 2008
--- src/normal.c Sat Nov 1 13:41:03 2008
***************
*** 183,188 ****
--- 183,190 ----
static void nv_cursorhold __ARGS((cmdarg_T *cap));
#endif
+ static char *e_noident = N_("E349: No identifier under cursor");
+
/*
* Function to be called for a Normal or Visual mode command.
* The argument is a cmdarg_T.
***************
*** 3510,3516 ****
if (find_type & FIND_STRING)
EMSG(_("E348: No string under cursor"));
else
! EMSG(_("E349: No identifier under cursor"));
return 0;
}
ptr += col;
--- 3512,3518 ----
if (find_type & FIND_STRING)
EMSG(_("E348: No string under cursor"));
else
! EMSG(_(e_noident));
return 0;
}
ptr += col;
***************
*** 5472,5479 ****
{
/* An external command will probably use an argument starting
* with "-" as an option. To avoid trouble we skip the "-". */
! while (*ptr == '-')
++ptr;
/* When a count is given, turn it into a range. Is this
* really what we want? */
--- 5474,5490 ----
{
/* An external command will probably use an argument starting
* with "-" as an option. To avoid trouble we skip the "-". */
! while (*ptr == '-' && n > 0)
! {
++ptr;
+ --n;
+ }
+ if (n == 0)
+ {
+ EMSG(_(e_noident)); /* found dashes only */
+ vim_free(buf);
+ return;
+ }
/* When a count is given, turn it into a range. Is this
* really what we want? */
***************
*** 5520,5526 ****
--- 5531,5539 ----
if (cmdchar == 'K' && !kp_help)
{
/* Escape the argument properly for a shell command */
+ ptr = vim_strnsave(ptr, n);
p = vim_strsave_shellescape(ptr, TRUE);
+ vim_free(ptr);
if (p == NULL)
{
vim_free(buf);
*** ../vim-7.2.025/src/version.c Thu Oct 2 22:55:17 2008
--- src/version.c Sat Nov 1 13:50:53 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 26,
/**/
--
hundred-and-one symptoms of being an internet addict:
161. You get up before the sun rises to check your e-mail, and you
find yourself in the very same chair long after the sun has set.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

98
7.2.027 Normal file
View file

@ -0,0 +1,98 @@
To: vim-dev@vim.org
Subject: Patch 7.2.027
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.027
Problem: Can use cscope commands in the sandbox.
Solution: Disallow them, they might not be safe.
Files: src/ex_cmds.h
*** ../vim-7.2.026/src/ex_cmds.h Thu Sep 18 12:43:21 2008
--- src/ex_cmds.h Thu Sep 18 22:18:14 2008
***************
*** 278,284 ****
EX(CMD_crewind, "crewind", ex_cc,
RANGE|NOTADR|COUNT|TRLBAR|BANG),
EX(CMD_cscope, "cscope", do_cscope,
! EXTRA|NOTRLCOM|SBOXOK|XFILE),
EX(CMD_cstag, "cstag", do_cstag,
BANG|TRLBAR|WORD1),
EX(CMD_cunmap, "cunmap", ex_unmap,
--- 278,284 ----
EX(CMD_crewind, "crewind", ex_cc,
RANGE|NOTADR|COUNT|TRLBAR|BANG),
EX(CMD_cscope, "cscope", do_cscope,
! EXTRA|NOTRLCOM|XFILE),
EX(CMD_cstag, "cstag", do_cstag,
BANG|TRLBAR|WORD1),
EX(CMD_cunmap, "cunmap", ex_unmap,
***************
*** 506,512 ****
EX(CMD_lclose, "lclose", ex_cclose,
RANGE|NOTADR|COUNT|TRLBAR),
EX(CMD_lcscope, "lcscope", do_cscope,
! EXTRA|NOTRLCOM|SBOXOK|XFILE),
EX(CMD_left, "left", ex_align,
TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
EX(CMD_leftabove, "leftabove", ex_wrongmodifier,
--- 506,512 ----
EX(CMD_lclose, "lclose", ex_cclose,
RANGE|NOTADR|COUNT|TRLBAR),
EX(CMD_lcscope, "lcscope", do_cscope,
! EXTRA|NOTRLCOM|XFILE),
EX(CMD_left, "left", ex_align,
TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY),
EX(CMD_leftabove, "leftabove", ex_wrongmodifier,
***************
*** 653,658 ****
--- 653,660 ----
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
EX(CMD_open, "open", ex_open,
RANGE|EXTRA),
+ EX(CMD_oldfiles, "oldfiles", ex_oldfiles,
+ BANG|TRLBAR|SBOXOK|CMDWIN),
EX(CMD_omap, "omap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
EX(CMD_omapclear, "omapclear", ex_mapclear,
***************
*** 804,810 ****
EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding,
WORD1|TRLBAR|CMDWIN),
EX(CMD_scscope, "scscope", do_scscope,
! EXTRA|NOTRLCOM|SBOXOK),
EX(CMD_set, "set", ex_set,
TRLBAR|EXTRA|CMDWIN|SBOXOK),
EX(CMD_setfiletype, "setfiletype", ex_setfiletype,
--- 806,812 ----
EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding,
WORD1|TRLBAR|CMDWIN),
EX(CMD_scscope, "scscope", do_scscope,
! EXTRA|NOTRLCOM),
EX(CMD_set, "set", ex_set,
TRLBAR|EXTRA|CMDWIN|SBOXOK),
EX(CMD_setfiletype, "setfiletype", ex_setfiletype,
*** ../vim-7.2.026/src/version.c Sat Nov 1 13:51:57 2008
--- src/version.c Thu Nov 6 10:21:21 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 27,
/**/
--
hundred-and-one symptoms of being an internet addict:
179. You wonder why your household garbage can doesn't have an
"empty recycle bin" button.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

53
7.2.028 Normal file
View file

@ -0,0 +1,53 @@
To: vim-dev@vim.org
Subject: Patch 7.2.028
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.028
Problem: Confusing error message for missing ().
Solution: Change "braces" to "parentheses". (Gary Johnson)
Files: src/eval.c
*** ../vim-7.2.027/src/eval.c Wed Sep 10 15:38:13 2008
--- src/eval.c Tue Sep 30 21:43:38 2008
***************
*** 3287,3293 ****
if (*startarg != '(')
{
! EMSG2(_("E107: Missing braces: %s"), eap->arg);
goto end;
}
--- 3293,3299 ----
if (*startarg != '(')
{
! EMSG2(_("E107: Missing parentheses: %s"), eap->arg);
goto end;
}
*** ../vim-7.2.027/src/version.c Thu Nov 6 10:23:03 2008
--- src/version.c Thu Nov 6 11:02:51 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 28,
/**/
--
Wizards had always known that the act of observation changed the thing that
was observed, and sometimes forgot that it also changed the observer too.
Terry Pratchett - Interesting times
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

44
7.2.029 Normal file
View file

@ -0,0 +1,44 @@
To: vim-dev@vim.org
Subject: Patch 7.2.029
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.029
Problem: No completion for ":doautoall".
Solution: Complete ":doautoall" like ":doautocmd". (Doug Kearns)
Files: src/ex_docmd.c
*** ../vim-7.2.028/src/ex_docmd.c Thu Sep 18 21:29:07 2008
--- src/ex_docmd.c Mon Nov 3 21:21:17 2008
***************
*** 3609,3614 ****
--- 3610,3616 ----
return set_context_in_autocmd(xp, arg, FALSE);
case CMD_doautocmd:
+ case CMD_doautoall:
return set_context_in_autocmd(xp, arg, TRUE);
#endif
case CMD_set:
*** ../vim-7.2.028/src/version.c Thu Nov 6 11:04:50 2008
--- src/version.c Thu Nov 6 17:14:58 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 29,
/**/
--
Press any key to continue, press any other key to quit.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

51
7.2.030 Normal file
View file

@ -0,0 +1,51 @@
To: vim-dev@vim.org
Subject: Patch 7.2.030
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.030 (after 7.2.027)
Problem: Can't compile.
Solution: Remove prematurely added ex_oldfiles.
Files: src/ex_cmds.h
*** ../vim-7.2.029/src/ex_cmds.h Thu Nov 6 10:23:03 2008
--- src/ex_cmds.h Thu Nov 6 20:45:07 2008
***************
*** 653,660 ****
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
EX(CMD_open, "open", ex_open,
RANGE|EXTRA),
- EX(CMD_oldfiles, "oldfiles", ex_oldfiles,
- BANG|TRLBAR|SBOXOK|CMDWIN),
EX(CMD_omap, "omap", ex_map,
EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
EX(CMD_omapclear, "omapclear", ex_mapclear,
--- 653,658 ----
*** ../vim-7.2.029/src/version.c Thu Nov 6 17:16:06 2008
--- src/version.c Thu Nov 6 20:46:11 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 30,
/**/
--
% cat /usr/include/sys/errno.h
#define EPERM 1 /* Operation not permitted */
#define ENOENT 2 /* No such file or directory */
#define ESRCH 3 /* No such process */
[...]
#define EMACS 666 /* Too many macros */
%
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1281
7.2.031 Normal file

File diff suppressed because it is too large Load diff

55
7.2.032 Normal file
View file

@ -0,0 +1,55 @@
To: vim-dev@vim.org
Subject: Patch 7.2.032
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.032 (after 7.2.031)
Problem: Can't build with EXITFREE defined. (Dominique Pelle)
Solution: Change vv_string to vv_str.
Files: src/eval.c
*** ../vim-7.2.031/src/eval.c Sun Nov 9 13:43:25 2008
--- src/eval.c Sun Nov 9 17:16:06 2008
***************
*** 846,853 ****
p = &vimvars[i];
if (p->vv_di.di_tv.v_type == VAR_STRING)
{
! vim_free(p->vv_string);
! p->vv_string = NULL;
}
else if (p->vv_di.di_tv.v_type == VAR_LIST)
{
--- 846,853 ----
p = &vimvars[i];
if (p->vv_di.di_tv.v_type == VAR_STRING)
{
! vim_free(p->vv_str);
! p->vv_str = NULL;
}
else if (p->vv_di.di_tv.v_type == VAR_LIST)
{
*** ../vim-7.2.031/src/version.c Sun Nov 9 13:43:25 2008
--- src/version.c Sun Nov 9 17:21:00 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 32,
/**/
--
hundred-and-one symptoms of being an internet addict:
218. Your spouse hands you a gift wrapped magnet with your PC's name
on it and you accuse him or her of genocide.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

78
7.2.033 Normal file
View file

@ -0,0 +1,78 @@
To: vim-dev@vim.org
Subject: Patch 7.2.033
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.033
Problem: When detecting a little endian BOM "ucs-2le" is used, but the text
might be "utf-16le".
Solution: Default to "utf-16le", it also works for "ucs-2le". (Jia Yanwei)
Files: src/fileio.c, src/testdir/test42.ok
*** ../vim-7.2.032/src/fileio.c Sun Nov 9 13:43:25 2008
--- src/fileio.c Mon Nov 3 21:21:47 2008
***************
*** 5550,5558 ****
name = "ucs-4le"; /* FF FE 00 00 */
len = 4;
}
! else if (flags == FIO_ALL || flags == (FIO_UCS2 | FIO_ENDIAN_L))
name = "ucs-2le"; /* FF FE */
! else if (flags == (FIO_UTF16 | FIO_ENDIAN_L))
name = "utf-16le"; /* FF FE */
}
else if (p[0] == 0xfe && p[1] == 0xff
--- 5550,5559 ----
name = "ucs-4le"; /* FF FE 00 00 */
len = 4;
}
! else if (flags == (FIO_UCS2 | FIO_ENDIAN_L))
name = "ucs-2le"; /* FF FE */
! else if (flags == FIO_ALL || flags == (FIO_UTF16 | FIO_ENDIAN_L))
! /* utf-16le is preferred, it also works for ucs-2le text */
name = "utf-16le"; /* FF FE */
}
else if (p[0] == 0xfe && p[1] == 0xff
*** ../vim-7.2.032/src/testdir/test42.ok Sat Mar 1 13:49:21 2008
--- src/testdir/test42.ok Sat Nov 1 17:09:29 2008
***************
*** 20,26 ****
ucs-2
! fileencoding=ucs-2le
bomb
ucs-2le
--- 20,26 ----
ucs-2
! fileencoding=utf-16le
bomb
ucs-2le
*** ../vim-7.2.032/src/version.c Sun Nov 9 17:21:10 2008
--- src/version.c Tue Nov 11 21:54:14 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 33,
/**/
--
hundred-and-one symptoms of being an internet addict:
234. You started college as a chemistry major, and walk out four years
later as an Internet provider.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

81
7.2.034 Normal file
View file

@ -0,0 +1,81 @@
To: vim-dev@vim.org
Subject: Patch 7.2.034
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.034
Problem: Memory leak in spell info when deleting buffer.
Solution: Free the memory. (Dominique Pelle)
Files: src/buffer.c
*** ../vim-7.2.033/src/buffer.c Mon Sep 1 17:32:40 2008
--- src/buffer.c Wed Nov 12 11:21:49 2008
***************
*** 647,652 ****
--- 647,655 ----
vim_free(buf->b_start_fenc);
buf->b_start_fenc = NULL;
#endif
+ #ifdef FEAT_SPELL
+ ga_clear(&buf->b_langp);
+ #endif
}
/*
***************
*** 1237,1243 ****
* "buf" if one exists */
if ((swb_flags & SWB_USEOPEN) && buf_jump_open_win(buf))
return OK;
! /* If 'switchbuf' contians "usetab": jump to first window in any tab
* page containing "buf" if one exists */
if ((swb_flags & SWB_USETAB) && buf_jump_open_tab(buf))
return OK;
--- 1240,1246 ----
* "buf" if one exists */
if ((swb_flags & SWB_USEOPEN) && buf_jump_open_win(buf))
return OK;
! /* If 'switchbuf' contains "usetab": jump to first window in any tab
* page containing "buf" if one exists */
if ((swb_flags & SWB_USETAB) && buf_jump_open_tab(buf))
return OK;
***************
*** 3964,3970 ****
width = vim_strsize(out);
if (maxwidth > 0 && width > maxwidth)
{
! /* Result is too long, must trunctate somewhere. */
l = 0;
if (itemcnt == 0)
s = out;
--- 3967,3973 ----
width = vim_strsize(out);
if (maxwidth > 0 && width > maxwidth)
{
! /* Result is too long, must truncate somewhere. */
l = 0;
if (itemcnt == 0)
s = out;
*** ../vim-7.2.033/src/version.c Tue Nov 11 21:55:29 2008
--- src/version.c Wed Nov 12 12:51:21 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 34,
/**/
--
hundred-and-one symptoms of being an internet addict:
236. You start saving URL's in your digital watch.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

128
7.2.035 Normal file
View file

@ -0,0 +1,128 @@
To: vim-dev@vim.org
Subject: Patch 7.2.035
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.035
Problem: Mismatches between alloc/malloc, free/vim_free,
realloc/vim_realloc.
Solution: Use the right function. (Dominique Pelle)
Files: src/gui_x11.c, src/mbyte.c, src/misc2.c, src/os_unix.c
*** ../vim-7.2.034/src/gui_x11.c Fri Jun 20 11:59:25 2008
--- src/gui_x11.c Wed Nov 12 11:47:03 2008
***************
*** 2450,2456 ****
*colorPtr = colortable[closest];
}
! free(colortable);
return OK;
}
--- 2450,2456 ----
*colorPtr = colortable[closest];
}
! vim_free(colortable);
return OK;
}
*** ../vim-7.2.034/src/mbyte.c Sat Sep 6 16:44:06 2008
--- src/mbyte.c Wed Nov 12 11:24:14 2008
***************
*** 5384,5390 ****
draw_feedback = (char *)alloc(draw_data->chg_first
+ text->length);
else
! draw_feedback = realloc(draw_feedback,
draw_data->chg_first + text->length);
if (draw_feedback != NULL)
{
--- 5384,5390 ----
draw_feedback = (char *)alloc(draw_data->chg_first
+ text->length);
else
! draw_feedback = vim_realloc(draw_feedback,
draw_data->chg_first + text->length);
if (draw_feedback != NULL)
{
*** ../vim-7.2.034/src/misc2.c Sat Sep 6 16:44:06 2008
--- src/misc2.c Wed Nov 12 11:42:51 2008
***************
*** 873,879 ****
/* 3. check for available memory: call mch_avail_mem() */
if (mch_avail_mem(TRUE) < KEEP_ROOM && !releasing)
{
! vim_free((char *)p); /* System is low... no go! */
p = NULL;
}
else
--- 873,879 ----
/* 3. check for available memory: call mch_avail_mem() */
if (mch_avail_mem(TRUE) < KEEP_ROOM && !releasing)
{
! free((char *)p); /* System is low... no go! */
p = NULL;
}
else
*** ../vim-7.2.034/src/os_unix.c Wed Aug 6 18:45:01 2008
--- src/os_unix.c Wed Nov 12 11:55:33 2008
***************
*** 2905,2911 ****
* Ignore any errors.
*/
#if defined(HAVE_SIGALTSTACK) || defined(HAVE_SIGSTACK)
! signal_stack = malloc(SIGSTKSZ);
init_signal_stack();
#endif
}
--- 2905,2911 ----
* Ignore any errors.
*/
#if defined(HAVE_SIGALTSTACK) || defined(HAVE_SIGSTACK)
! signal_stack = (char *)alloc(SIGSTKSZ);
init_signal_stack();
#endif
}
***************
*** 6814,6820 ****
if (xsmp_icefd != -1)
{
SmcCloseConnection(xsmp.smcconn, 0, NULL);
! vim_free(xsmp.clientid);
xsmp.clientid = NULL;
xsmp_icefd = -1;
}
--- 6815,6822 ----
if (xsmp_icefd != -1)
{
SmcCloseConnection(xsmp.smcconn, 0, NULL);
! if (xsmp.clientid != NULL)
! free(xsmp.clientid);
xsmp.clientid = NULL;
xsmp_icefd = -1;
}
*** ../vim-7.2.034/src/version.c Wed Nov 12 12:51:38 2008
--- src/version.c Wed Nov 12 13:05:40 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 35,
/**/
--
You can tune a file system, but you can't tuna fish
-- man tunefs
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

276
7.2.036 Normal file
View file

@ -0,0 +1,276 @@
To: vim-dev@vim.org
Subject: Patch 7.2.036 (extra)
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.036 (extra)
Problem: Mismatches between alloc/malloc, free/vim_free,
realloc/vim_realloc.
Solution: Use the right function. (Dominique Pelle)
Files: src/gui_riscos.c, src/gui_w48.c, src/mbyte.c, src/os_vms.c,
src/os_w32exe.c, src/os_win16.c
*** ../vim-7.2.035/src/gui_riscos.c Thu May 10 19:33:26 2007
--- src/gui_riscos.c Wed Nov 12 11:47:54 2008
***************
*** 695,701 ****
gui_mch_set_shellsize(width, height, min_width, min_height, base_width, base_height, direction)
int width; /* In OS units */
int height;
! int min_width; /* Smallest permissable window size (ignored) */
int min_height;
int base_width; /* Space for scroll bars, etc */
int base_height;
--- 695,701 ----
gui_mch_set_shellsize(width, height, min_width, min_height, base_width, base_height, direction)
int width; /* In OS units */
int height;
! int min_width; /* Smallest permissible window size (ignored) */
int min_height;
int base_width; /* Space for scroll bars, etc */
int base_height;
***************
*** 863,869 ****
if (strncmp(file, "ZapFont\015", 8) == 0)
return file; /* Loaded OK! */
! free(file);
return NULL; /* Not a valid font file */
}
--- 863,869 ----
if (strncmp(file, "ZapFont\015", 8) == 0)
return file; /* Loaded OK! */
! vim_free(file);
return NULL; /* Not a valid font file */
}
*** ../vim-7.2.035/src/gui_w48.c Thu Jul 24 20:50:23 2008
--- src/gui_w48.c Wed Nov 12 11:37:41 2008
***************
*** 3335,3341 ****
/*
* Convert the string s to the proper format for a filter string by replacing
! * the \t and \n delimeters with \0.
* Returns the converted string in allocated memory.
*
* Keep in sync with convert_filterW() above!
--- 3335,3341 ----
/*
* Convert the string s to the proper format for a filter string by replacing
! * the \t and \n delimiters with \0.
* Returns the converted string in allocated memory.
*
* Keep in sync with convert_filterW() above!
***************
*** 3674,3680 ****
* Use "prog" as the name of the program and "cmdline" as the arguments.
* Copy the arguments to allocated memory.
* Return the number of arguments (including program name).
! * Return pointers to the arguments in "argvp".
* Return pointer to buffer in "tofree".
* Returns zero when out of memory.
*/
--- 3674,3681 ----
* Use "prog" as the name of the program and "cmdline" as the arguments.
* Copy the arguments to allocated memory.
* Return the number of arguments (including program name).
! * Return pointers to the arguments in "argvp". Memory is allocated with
! * malloc(), use free() instead of vim_free().
* Return pointer to buffer in "tofree".
* Returns zero when out of memory.
*/
***************
*** 3692,3697 ****
--- 3693,3700 ----
char **argv = NULL;
int round;
+ *tofree = NULL;
+
#ifdef FEAT_MBYTE
/* Try using the Unicode version first, it takes care of conversion when
* 'encoding' is changed. */
***************
*** 3802,3816 ****
argv = (char **)malloc((argc + 1) * sizeof(char *));
if (argv == NULL )
{
! vim_free(newcmdline);
return 0; /* malloc error */
}
pnew = newcmdline;
}
}
done:
-
argv[argc] = NULL; /* NULL-terminated list */
*argvp = argv;
return argc;
--- 3805,3819 ----
argv = (char **)malloc((argc + 1) * sizeof(char *));
if (argv == NULL )
{
! free(newcmdline);
return 0; /* malloc error */
}
pnew = newcmdline;
+ *tofree = newcmdline;
}
}
done:
argv[argc] = NULL; /* NULL-terminated list */
*argvp = argv;
return argc;
*** ../vim-7.2.035/src/os_vms.c Wed Aug 6 18:38:52 2008
--- src/os_vms.c Wed Nov 12 11:42:12 2008
***************
*** 228,234 ****
else if ((sbuf = getenv((char *)lognam)))
{
lengte = strlen(sbuf) + 1;
! cp = (char_u *)malloc((size_t)lengte);
if (cp)
strcpy((char *)cp, sbuf);
return cp;
--- 228,234 ----
else if ((sbuf = getenv((char *)lognam)))
{
lengte = strlen(sbuf) + 1;
! cp = (char_u *)alloc((size_t)lengte);
if (cp)
strcpy((char *)cp, sbuf);
return cp;
***************
*** 381,387 ****
if (--vms_match_free == 0) {
/* add more space to store matches */
vms_match_alloced += EXPL_ALLOC_INC;
! vms_fmatch = (char_u **)realloc(vms_fmatch,
sizeof(char **) * vms_match_alloced);
if (!vms_fmatch)
return 0;
--- 381,387 ----
if (--vms_match_free == 0) {
/* add more space to store matches */
vms_match_alloced += EXPL_ALLOC_INC;
! vms_fmatch = (char_u **)vim_realloc(vms_fmatch,
sizeof(char **) * vms_match_alloced);
if (!vms_fmatch)
return 0;
***************
*** 460,466 ****
if (--files_free < 1)
{
files_alloced += EXPL_ALLOC_INC;
! *file = (char_u **)realloc(*file,
sizeof(char_u **) * files_alloced);
if (*file == NULL)
{
--- 460,466 ----
if (--files_free < 1)
{
files_alloced += EXPL_ALLOC_INC;
! *file = (char_u **)vim_realloc(*file,
sizeof(char_u **) * files_alloced);
if (*file == NULL)
{
***************
*** 614,627 ****
{
buflen = len + 128;
if (buf)
! buf = (char *)realloc(buf, buflen);
else
! buf = (char *)calloc(buflen, sizeof(char));
}
#ifdef DEBUG
char *tmpbuf = NULL;
! tmpbuf = (char *)calloc(buflen, sizeof(char));
strcpy(tmpbuf, instring);
#endif
--- 614,627 ----
{
buflen = len + 128;
if (buf)
! buf = (char *)vim_realloc(buf, buflen);
else
! buf = (char *)alloc(buflen * sizeof(char));
}
#ifdef DEBUG
char *tmpbuf = NULL;
! tmpbuf = (char *)alloc(buflen * sizeof(char));
strcpy(tmpbuf, instring);
#endif
*** ../vim-7.2.035/src/os_w32exe.c Fri Jul 1 00:06:20 2005
--- src/os_w32exe.c Wed Nov 12 11:45:43 2008
***************
*** 129,135 ****
errout:
#endif
free(argv);
! free(tofree);
#ifdef FEAT_MBYTE
free_cmd_argsW();
#endif
--- 129,136 ----
errout:
#endif
free(argv);
! if (tofree != NULL)
! free(tofree);
#ifdef FEAT_MBYTE
free_cmd_argsW();
#endif
*** ../vim-7.2.035/src/os_win16.c Wed Jun 25 00:49:34 2008
--- src/os_win16.c Wed Nov 12 11:45:53 2008
***************
*** 121,127 ****
pmain(argc, argv);
free(argv);
! free(tofree);
return 0;
}
--- 121,128 ----
pmain(argc, argv);
free(argv);
! if (tofree != NULL)
! free(tofree);
return 0;
}
*** ../vim-7.2.035/src/version.c Wed Nov 12 13:07:48 2008
--- src/version.c Wed Nov 12 13:28:51 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 36,
/**/
--
hundred-and-one symptoms of being an internet addict:
239. You think "surfing" is something you do on dry land.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

53
7.2.037 Normal file
View file

@ -0,0 +1,53 @@
To: vim-dev@vim.org
Subject: Patch 7.2.037
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.037
Problem: Double free with GTK 1 and compiled with EXITFREE.
Solution: Don't close display. (Dominique Pelle)
Files: src/os_unix.c
*** ../vim-7.2.036/src/os_unix.c Wed Nov 12 13:07:48 2008
--- src/os_unix.c Wed Nov 12 11:55:33 2008
***************
*** 2936,2942 ****
}
# endif
# endif
! # ifdef FEAT_X11
if (x11_display != NULL
# ifdef FEAT_XCLIPBOARD
&& x11_display != xterm_dpy
--- 2936,2943 ----
}
# endif
# endif
! /* Don't close the display for GTK 1, it is done in exit(). */
! # if defined(FEAT_X11) && (!defined(FEAT_GUI_GTK) || defined(HAVE_GTK2))
if (x11_display != NULL
# ifdef FEAT_XCLIPBOARD
&& x11_display != xterm_dpy
*** ../vim-7.2.036/src/version.c Wed Nov 12 13:35:31 2008
--- src/version.c Wed Nov 12 14:08:56 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 37,
/**/
--
hundred-and-one symptoms of being an internet addict:
240. You think Webster's Dictionary is a directory of WEB sites.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

86
7.2.038 Normal file
View file

@ -0,0 +1,86 @@
To: vim-dev@vim.org
Subject: Patch 7.2.038
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.038
Problem: Overlapping arguments to memcpy().
Solution: Use mch_memmove(). (Dominique Pelle)
Files: src/if_xcmdsrv.c
*** ../vim-7.2.037/src/if_xcmdsrv.c Wed Aug 6 18:38:13 2008
--- src/if_xcmdsrv.c Wed Nov 12 12:09:01 2008
***************
*** 736,742 ****
+ serverReply.ga_len;
e.id = w;
ga_init2(&e.strings, 1, 100);
! memcpy(p, &e, sizeof(e));
serverReply.ga_len++;
}
}
--- 736,742 ----
+ serverReply.ga_len;
e.id = w;
ga_init2(&e.strings, 1, 100);
! mch_memmove(p, &e, sizeof(e));
serverReply.ga_len++;
}
}
***************
*** 1018,1024 ****
p++;
count = numItems - (p - regProp);
if (count > 0)
! memcpy(entry, p, count);
XChangeProperty(dpy, RootWindow(dpy, 0), registryProperty, XA_STRING,
8, PropModeReplace, regProp,
(int)(numItems - (p - entry)));
--- 1018,1024 ----
p++;
count = numItems - (p - regProp);
if (count > 0)
! mch_memmove(entry, p, count);
XChangeProperty(dpy, RootWindow(dpy, 0), registryProperty, XA_STRING,
8, PropModeReplace, regProp,
(int)(numItems - (p - entry)));
***************
*** 1072,1078 ****
p++;
lastHalf = numItems - (p - regProp);
if (lastHalf > 0)
! memcpy(entry, p, lastHalf);
numItems = (entry - regProp) + lastHalf;
p = entry;
continue;
--- 1072,1078 ----
p++;
lastHalf = numItems - (p - regProp);
if (lastHalf > 0)
! mch_memmove(entry, p, lastHalf);
numItems = (entry - regProp) + lastHalf;
p = entry;
continue;
*** ../vim-7.2.037/src/version.c Wed Nov 12 14:09:38 2008
--- src/version.c Wed Nov 12 14:51:00 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 38,
/**/
--
hundred-and-one symptoms of being an internet addict:
241. You try to look for Net Search even when you're in File Manager.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

46
7.2.039 Normal file
View file

@ -0,0 +1,46 @@
To: vim-dev@vim.org
Subject: Patch 7.2.039
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.039
Problem: Accessing freed memory on exit when EXITFREE is defined.
Solution: Call hash_init() on the v: hash table.
Files: src/eval.c
*** ../vim-7.2.038/src/eval.c Sun Nov 9 17:21:10 2008
--- src/eval.c Wed Nov 12 12:15:14 2008
***************
*** 856,861 ****
--- 856,862 ----
}
}
hash_clear(&vimvarht);
+ hash_init(&vimvarht); /* garbage_collect() will access it */
hash_clear(&compat_hashtab);
/* script-local variables */
*** ../vim-7.2.038/src/version.c Wed Nov 12 14:52:11 2008
--- src/version.c Wed Nov 12 15:09:39 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 39,
/**/
--
hundred-and-one symptoms of being an internet addict:
242. You turn down a better-paying job because it doesn't come with
a free e-mail account.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

64
7.2.040 Normal file
View file

@ -0,0 +1,64 @@
To: vim-dev@vim.org
Subject: Patch 7.2.040
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.040
Problem: When using ":e ++ff=dos fname" and the file contains a NL without
a CR before it and 'ffs' contains "unix" then the fileformat
becomes unix.
Solution: Ignore 'ffs' when using the ++ff argument. (Ben Schmidt)
Also remove unreachable code.
Files: src/fileio.c
*** ../vim-7.2.039/src/fileio.c Tue Nov 11 21:55:29 2008
--- src/fileio.c Wed Nov 12 13:19:42 2008
***************
*** 932,938 ****
--- 932,941 ----
else
{
if (eap != NULL && eap->force_ff != 0)
+ {
fileformat = get_fileformat_force(curbuf, eap);
+ try_unix = try_dos = try_mac = FALSE;
+ }
else if (curbuf->b_p_bin)
fileformat = EOL_UNIX; /* binary: use Unix format */
else if (*p_ffs == NUL)
***************
*** 2341,2351 ****
STRCAT(IObuff, _("[CR missing]"));
c = TRUE;
}
- if (ff_error == EOL_MAC)
- {
- STRCAT(IObuff, _("[NL found]"));
- c = TRUE;
- }
if (split)
{
STRCAT(IObuff, _("[long lines split]"));
--- 2344,2349 ----
*** ../vim-7.2.039/src/version.c Wed Nov 12 15:28:37 2008
--- src/version.c Wed Nov 12 16:03:44 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 40,
/**/
--
If you're sending someone Styrofoam, what do you pack it in?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

729
7.2.041 Normal file
View file

@ -0,0 +1,729 @@
To: vim-dev@vim.org
Subject: Patch 7.2.041
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.041
Problem: In diff mode, when using two tabs, each with two diffed buffers,
editing a buffer of the other tab messes up the diff. (Matt
Mzyzik)
Solution: Only copy options from a window where the buffer was edited that
doesn't have 'diff' set or is for the current tab page.
Also fix that window options for a buffer are stored with the
wrong window.
Files: src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
src/ex_getln.c, src/if_sniff.c, src/main.c, src/netbeans.c,
src/normal.c, src/popupmnu.c, src/proto/buffer.pro,
src/proto/ex_cmds.pro src/quickfix.c, src/window.c
*** ../vim-7.2.040/src/buffer.c Wed Nov 12 12:51:38 2008
--- src/buffer.c Wed Nov 12 17:45:01 2008
***************
*** 33,39 ****
static char_u *fname_match __ARGS((regprog_T *prog, char_u *name));
#endif
static void buflist_setfpos __ARGS((buf_T *buf, win_T *win, linenr_T lnum, colnr_T col, int copy_options));
! static wininfo_T *find_wininfo __ARGS((buf_T *buf));
#ifdef UNIX
static buf_T *buflist_findname_stat __ARGS((char_u *ffname, struct stat *st));
static int otherfile_buf __ARGS((buf_T *buf, char_u *ffname, struct stat *stp));
--- 33,39 ----
static char_u *fname_match __ARGS((regprog_T *prog, char_u *name));
#endif
static void buflist_setfpos __ARGS((buf_T *buf, win_T *win, linenr_T lnum, colnr_T col, int copy_options));
! static wininfo_T *find_wininfo __ARGS((buf_T *buf, int skip_diff_buffer));
#ifdef UNIX
static buf_T *buflist_findname_stat __ARGS((char_u *ffname, struct stat *st));
static int otherfile_buf __ARGS((buf_T *buf, char_u *ffname, struct stat *stp));
***************
*** 1093,1099 ****
#endif
setpcmark();
retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE,
! forceit ? ECMD_FORCEIT : 0);
/*
* do_ecmd() may create a new buffer, then we have to delete
--- 1093,1099 ----
#endif
setpcmark();
retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE,
! forceit ? ECMD_FORCEIT : 0, curwin);
/*
* do_ecmd() may create a new buffer, then we have to delete
***************
*** 1316,1322 ****
setpcmark();
if (!cmdmod.keepalt)
curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */
! buflist_altfpos(); /* remember curpos */
#ifdef FEAT_VISUAL
/* Don't restart Select mode after switching to another buffer. */
--- 1316,1322 ----
setpcmark();
if (!cmdmod.keepalt)
curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */
! buflist_altfpos(curwin); /* remember curpos */
#ifdef FEAT_VISUAL
/* Don't restart Select mode after switching to another buffer. */
***************
*** 2404,2425 ****
return;
}
/*
* Find info for the current window in buffer "buf".
* If not found, return the info for the most recently used window.
* Returns NULL when there isn't any info.
*/
static wininfo_T *
! find_wininfo(buf)
buf_T *buf;
{
wininfo_T *wip;
for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
! if (wip->wi_win == curwin)
break;
! if (wip == NULL) /* if no fpos for curwin, use the first in the list */
! wip = buf->b_wininfo;
return wip;
}
--- 2404,2473 ----
return;
}
+ #ifdef FEAT_DIFF
+ static int wininfo_other_tab_diff __ARGS((wininfo_T *wip));
+
+ /*
+ * Return TRUE when "wip" has 'diff' set and the diff is only for another tab
+ * page. That's because a diff is local to a tab page.
+ */
+ static int
+ wininfo_other_tab_diff(wip)
+ wininfo_T *wip;
+ {
+ win_T *wp;
+
+ if (wip->wi_opt.wo_diff)
+ {
+ for (wp = firstwin; wp != NULL; wp = wp->w_next)
+ /* return FALSE when it's a window in the current tab page, thus
+ * the buffer was in diff mode here */
+ if (wip->wi_win == wp)
+ return FALSE;
+ return TRUE;
+ }
+ return FALSE;
+ }
+ #endif
+
/*
* Find info for the current window in buffer "buf".
* If not found, return the info for the most recently used window.
+ * When "skip_diff_buffer" is TRUE avoid windows with 'diff' set that is in
+ * another tab page.
* Returns NULL when there isn't any info.
*/
+ /*ARGSUSED*/
static wininfo_T *
! find_wininfo(buf, skip_diff_buffer)
buf_T *buf;
+ int skip_diff_buffer;
{
wininfo_T *wip;
for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
! if (wip->wi_win == curwin
! #ifdef FEAT_DIFF
! && (!skip_diff_buffer || !wininfo_other_tab_diff(wip))
! #endif
! )
break;
!
! /* If no wininfo for curwin, use the first in the list (that doesn't have
! * 'diff' set and is in another tab page). */
! if (wip == NULL)
! {
! #ifdef FEAT_DIFF
! if (skip_diff_buffer)
! {
! for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
! if (!wininfo_other_tab_diff(wip))
! break;
! }
! else
! #endif
! wip = buf->b_wininfo;
! }
return wip;
}
***************
*** 2440,2446 ****
clearFolding(curwin);
#endif
! wip = find_wininfo(buf);
if (wip != NULL && wip->wi_optset)
{
copy_winopt(&wip->wi_opt, &curwin->w_onebuf_opt);
--- 2488,2494 ----
clearFolding(curwin);
#endif
! wip = find_wininfo(buf, TRUE);
if (wip != NULL && wip->wi_optset)
{
copy_winopt(&wip->wi_opt, &curwin->w_onebuf_opt);
***************
*** 2472,2478 ****
wininfo_T *wip;
static pos_T no_position = {1, 0};
! wip = find_wininfo(buf);
if (wip != NULL)
return &(wip->wi_fpos);
else
--- 2520,2526 ----
wininfo_T *wip;
static pos_T no_position = {1, 0};
! wip = find_wininfo(buf, FALSE);
if (wip != NULL)
return &(wip->wi_fpos);
else
***************
*** 2793,2806 ****
#endif
/*
! * Set alternate cursor position for current window.
* Also save the local window option values.
*/
void
! buflist_altfpos()
{
! buflist_setfpos(curbuf, curwin, curwin->w_cursor.lnum,
! curwin->w_cursor.col, TRUE);
}
/*
--- 2841,2854 ----
#endif
/*
! * Set alternate cursor position for the current buffer and window "win".
* Also save the local window option values.
*/
void
! buflist_altfpos(win)
! win_T *win;
{
! buflist_setfpos(curbuf, win, win->w_cursor.lnum, win->w_cursor.col, TRUE);
}
/*
***************
*** 4492,4498 ****
ECMD_ONE,
((P_HID(curwin->w_buffer)
|| bufIsChanged(curwin->w_buffer)) ? ECMD_HIDE : 0)
! + ECMD_OLDBUF);
#ifdef FEAT_AUTOCMD
if (use_firstwin)
++autocmd_no_leave;
--- 4540,4546 ----
ECMD_ONE,
((P_HID(curwin->w_buffer)
|| bufIsChanged(curwin->w_buffer)) ? ECMD_HIDE : 0)
! + ECMD_OLDBUF, curwin);
#ifdef FEAT_AUTOCMD
if (use_firstwin)
++autocmd_no_leave;
*** ../vim-7.2.040/src/ex_cmds.c Sun Nov 9 13:43:25 2008
--- src/ex_cmds.c Wed Nov 12 22:41:41 2008
***************
*** 3052,3058 ****
retval = 0; /* it's in the same file */
}
else if (do_ecmd(fnum, ffname, sfname, NULL, lnum,
! (P_HID(curbuf) ? ECMD_HIDE : 0) + (forceit ? ECMD_FORCEIT : 0)) == OK)
retval = -1; /* opened another file */
else
retval = 1; /* error encountered */
--- 3052,3059 ----
retval = 0; /* it's in the same file */
}
else if (do_ecmd(fnum, ffname, sfname, NULL, lnum,
! (P_HID(curbuf) ? ECMD_HIDE : 0) + (forceit ? ECMD_FORCEIT : 0),
! curwin) == OK)
retval = -1; /* opened another file */
else
retval = 1; /* error encountered */
***************
*** 3085,3101 ****
* ECMD_OLDBUF: use existing buffer if it exists
* ECMD_FORCEIT: ! used for Ex command
* ECMD_ADDBUF: don't edit, just add to buffer list
*
* return FAIL for failure, OK otherwise
*/
int
! do_ecmd(fnum, ffname, sfname, eap, newlnum, flags)
int fnum;
char_u *ffname;
char_u *sfname;
exarg_T *eap; /* can be NULL! */
linenr_T newlnum;
int flags;
{
int other_file; /* TRUE if editing another file */
int oldbuf; /* TRUE if using existing buffer */
--- 3086,3106 ----
* ECMD_OLDBUF: use existing buffer if it exists
* ECMD_FORCEIT: ! used for Ex command
* ECMD_ADDBUF: don't edit, just add to buffer list
+ * oldwin: Should be "curwin" when editing a new buffer in the current
+ * window, NULL when splitting the window first. When not NULL info
+ * of the previous buffer for "oldwin" is stored.
*
* return FAIL for failure, OK otherwise
*/
int
! do_ecmd(fnum, ffname, sfname, eap, newlnum, flags, oldwin)
int fnum;
char_u *ffname;
char_u *sfname;
exarg_T *eap; /* can be NULL! */
linenr_T newlnum;
int flags;
+ win_T *oldwin;
{
int other_file; /* TRUE if editing another file */
int oldbuf; /* TRUE if using existing buffer */
***************
*** 3267,3273 ****
{
if (!cmdmod.keepalt)
curwin->w_alt_fnum = curbuf->b_fnum;
! buflist_altfpos();
}
if (fnum)
--- 3272,3279 ----
{
if (!cmdmod.keepalt)
curwin->w_alt_fnum = curbuf->b_fnum;
! if (oldwin != NULL)
! buflist_altfpos(oldwin);
}
if (fnum)
***************
*** 3371,3377 ****
/* close the link to the current buffer */
u_sync(FALSE);
! close_buffer(curwin, curbuf,
(flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD);
#ifdef FEAT_AUTOCMD
--- 3377,3383 ----
/* close the link to the current buffer */
u_sync(FALSE);
! close_buffer(oldwin, curbuf,
(flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD);
#ifdef FEAT_AUTOCMD
***************
*** 5609,5615 ****
*/
alt_fnum = curbuf->b_fnum;
(void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL,
! ECMD_HIDE + ECMD_SET_HELP);
if (!cmdmod.keepalt)
curwin->w_alt_fnum = alt_fnum;
empty_fnum = curbuf->b_fnum;
--- 5615,5627 ----
*/
alt_fnum = curbuf->b_fnum;
(void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL,
! ECMD_HIDE + ECMD_SET_HELP,
! #ifdef FEAT_WINDOWS
! NULL /* buffer is still open, don't store info */
! #else
! curwin
! #endif
! );
if (!cmdmod.keepalt)
curwin->w_alt_fnum = alt_fnum;
empty_fnum = curbuf->b_fnum;
*** ../vim-7.2.040/src/ex_cmds2.c Sun Sep 7 15:49:45 2008
--- src/ex_cmds2.c Wed Nov 12 17:46:41 2008
***************
*** 2132,2139 ****
* argument index. */
if (do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL,
eap, ECMD_LAST,
! (P_HID(curwin->w_buffer) ? ECMD_HIDE : 0) +
! (eap->forceit ? ECMD_FORCEIT : 0)) == FAIL)
curwin->w_arg_idx = old_arg_idx;
/* like Vi: set the mark where the cursor is in the file. */
else if (eap->cmdidx != CMD_argdo)
--- 2132,2139 ----
* argument index. */
if (do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL,
eap, ECMD_LAST,
! (P_HID(curwin->w_buffer) ? ECMD_HIDE : 0)
! + (eap->forceit ? ECMD_FORCEIT : 0), curwin) == FAIL)
curwin->w_arg_idx = old_arg_idx;
/* like Vi: set the mark where the cursor is in the file. */
else if (eap->cmdidx != CMD_argdo)
*** ../vim-7.2.040/src/ex_docmd.c Sun Nov 9 13:43:25 2008
--- src/ex_docmd.c Wed Nov 12 18:04:22 2008
***************
*** 7488,7494 ****
/* ":new" or ":tabnew" without argument: edit an new empty buffer */
setpcmark();
(void)do_ecmd(0, NULL, NULL, eap, ECMD_ONE,
! ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0));
}
else if ((eap->cmdidx != CMD_split
#ifdef FEAT_VERTSPLIT
--- 7488,7495 ----
/* ":new" or ":tabnew" without argument: edit an new empty buffer */
setpcmark();
(void)do_ecmd(0, NULL, NULL, eap, ECMD_ONE,
! ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0),
! old_curwin == NULL ? curwin : NULL);
}
else if ((eap->cmdidx != CMD_split
#ifdef FEAT_VERTSPLIT
***************
*** 7525,7531 ****
#ifdef FEAT_LISTCMDS
+ (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 )
#endif
! ) == FAIL)
{
/* Editing the file failed. If the window was split, close it. */
#ifdef FEAT_WINDOWS
--- 7526,7532 ----
#ifdef FEAT_LISTCMDS
+ (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 )
#endif
! , old_curwin == NULL ? curwin : NULL) == FAIL)
{
/* Editing the file failed. If the window was split, close it. */
#ifdef FEAT_WINDOWS
*** ../vim-7.2.040/src/ex_getln.c Sun Sep 14 14:41:44 2008
--- src/ex_getln.c Wed Nov 12 18:06:25 2008
***************
*** 6051,6057 ****
cmdwin_type = '-';
/* Create the command-line buffer empty. */
! (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE);
(void)setfname(curbuf, (char_u *)"[Command Line]", NULL, TRUE);
set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL);
set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
--- 6051,6057 ----
cmdwin_type = '-';
/* Create the command-line buffer empty. */
! (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, NULL);
(void)setfname(curbuf, (char_u *)"[Command Line]", NULL, TRUE);
set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL);
set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
*** ../vim-7.2.040/src/if_sniff.c Sat Aug 9 19:41:16 2008
--- src/if_sniff.c Wed Nov 12 17:48:46 2008
***************
*** 1114,1120 ****
char *fname;
{
++no_wait_return;
! do_ecmd(0, (char_u *)fname, NULL, NULL, ECMD_ONE, ECMD_HIDE+ECMD_OLDBUF);
curbuf->b_sniff = TRUE;
--no_wait_return; /* [ex_docmd.c] */
}
--- 1114,1121 ----
char *fname;
{
++no_wait_return;
! do_ecmd(0, (char_u *)fname, NULL, NULL, ECMD_ONE, ECMD_HIDE+ECMD_OLDBUF,
! curwin);
curbuf->b_sniff = TRUE;
--no_wait_return; /* [ex_docmd.c] */
}
*** ../vim-7.2.040/src/main.c Sun Nov 9 13:43:25 2008
--- src/main.c Wed Nov 12 17:49:06 2008
***************
*** 2588,2594 ****
# endif
(void)do_ecmd(0, arg_idx < GARGCOUNT
? alist_name(&GARGLIST[arg_idx]) : NULL,
! NULL, NULL, ECMD_LASTL, ECMD_HIDE);
# ifdef HAS_SWAP_EXISTS_ACTION
if (swap_exists_did_quit)
{
--- 2588,2594 ----
# endif
(void)do_ecmd(0, arg_idx < GARGCOUNT
? alist_name(&GARGLIST[arg_idx]) : NULL,
! NULL, NULL, ECMD_LASTL, ECMD_HIDE, curwin);
# ifdef HAS_SWAP_EXISTS_ACTION
if (swap_exists_did_quit)
{
*** ../vim-7.2.040/src/netbeans.c Sun Jul 13 19:18:03 2008
--- src/netbeans.c Wed Nov 12 17:49:40 2008
***************
*** 1795,1801 ****
buf->displayname = NULL;
netbeansReadFile = 0; /* don't try to open disk file */
! do_ecmd(0, NULL, 0, 0, ECMD_ONE, ECMD_HIDE + ECMD_OLDBUF);
netbeansReadFile = 1;
buf->bufp = curbuf;
maketitle();
--- 1795,1801 ----
buf->displayname = NULL;
netbeansReadFile = 0; /* don't try to open disk file */
! do_ecmd(0, NULL, 0, 0, ECMD_ONE, ECMD_HIDE + ECMD_OLDBUF, curwin);
netbeansReadFile = 1;
buf->bufp = curbuf;
maketitle();
***************
*** 1960,1966 ****
netbeansReadFile = 0; /* don't try to open disk file */
do_ecmd(0, (char_u *)buf->displayname, 0, 0, ECMD_ONE,
! ECMD_HIDE + ECMD_OLDBUF);
netbeansReadFile = 1;
buf->bufp = curbuf;
maketitle();
--- 1960,1966 ----
netbeansReadFile = 0; /* don't try to open disk file */
do_ecmd(0, (char_u *)buf->displayname, 0, 0, ECMD_ONE,
! ECMD_HIDE + ECMD_OLDBUF, curwin);
netbeansReadFile = 1;
buf->bufp = curbuf;
maketitle();
***************
*** 1979,1985 ****
vim_free(buf->displayname);
buf->displayname = nb_unquote(args, NULL);
do_ecmd(0, (char_u *)buf->displayname, NULL, NULL, ECMD_ONE,
! ECMD_HIDE + ECMD_OLDBUF);
buf->bufp = curbuf;
buf->initDone = TRUE;
doupdate = 1;
--- 1979,1985 ----
vim_free(buf->displayname);
buf->displayname = nb_unquote(args, NULL);
do_ecmd(0, (char_u *)buf->displayname, NULL, NULL, ECMD_ONE,
! ECMD_HIDE + ECMD_OLDBUF, curwin);
buf->bufp = curbuf;
buf->initDone = TRUE;
doupdate = 1;
*** ../vim-7.2.040/src/normal.c Sat Nov 1 13:51:57 2008
--- src/normal.c Wed Nov 12 17:49:50 2008
***************
*** 6050,6056 ****
autowrite(curbuf, FALSE);
setpcmark();
(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LAST,
! P_HID(curbuf) ? ECMD_HIDE : 0);
if (cap->nchar == 'F' && lnum >= 0)
{
curwin->w_cursor.lnum = lnum;
--- 6050,6056 ----
autowrite(curbuf, FALSE);
setpcmark();
(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LAST,
! P_HID(curbuf) ? ECMD_HIDE : 0, curwin);
if (cap->nchar == 'F' && lnum >= 0)
{
curwin->w_cursor.lnum = lnum;
*** ../vim-7.2.040/src/popupmnu.c Sun Jul 13 19:33:51 2008
--- src/popupmnu.c Wed Nov 12 18:08:07 2008
***************
*** 573,579 ****
{
/* Don't want to sync undo in the current buffer. */
++no_u_sync;
! res = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, 0);
--no_u_sync;
if (res == OK)
{
--- 573,579 ----
{
/* Don't want to sync undo in the current buffer. */
++no_u_sync;
! res = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, 0, NULL);
--no_u_sync;
if (res == OK)
{
*** ../vim-7.2.040/src/proto/buffer.pro Sun May 6 13:57:53 2007
--- src/proto/buffer.pro Wed Nov 12 17:43:39 2008
***************
*** 33,39 ****
char_u *getaltfname __ARGS((int errmsg));
int buflist_add __ARGS((char_u *fname, int flags));
void buflist_slash_adjust __ARGS((void));
! void buflist_altfpos __ARGS((void));
int otherfile __ARGS((char_u *ffname));
void buf_setino __ARGS((buf_T *buf));
void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate));
--- 33,39 ----
char_u *getaltfname __ARGS((int errmsg));
int buflist_add __ARGS((char_u *fname, int flags));
void buflist_slash_adjust __ARGS((void));
! void buflist_altfpos __ARGS((win_T *win));
int otherfile __ARGS((char_u *ffname));
void buf_setino __ARGS((buf_T *buf));
void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate));
*** ../vim-7.2.040/src/proto/ex_cmds.pro Sun Nov 9 13:43:25 2008
--- src/proto/ex_cmds.pro Wed Nov 12 17:44:27 2008
***************
*** 27,33 ****
void do_wqall __ARGS((exarg_T *eap));
int not_writing __ARGS((void));
int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit));
! int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags));
void ex_append __ARGS((exarg_T *eap));
void ex_change __ARGS((exarg_T *eap));
void ex_z __ARGS((exarg_T *eap));
--- 27,33 ----
void do_wqall __ARGS((exarg_T *eap));
int not_writing __ARGS((void));
int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit));
! int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags, win_T *oldwin));
void ex_append __ARGS((exarg_T *eap));
void ex_change __ARGS((exarg_T *eap));
void ex_z __ARGS((exarg_T *eap));
*** ../vim-7.2.040/src/quickfix.c Thu Jul 24 18:44:59 2008
--- src/quickfix.c Wed Nov 12 18:12:00 2008
***************
*** 1420,1425 ****
--- 1420,1426 ----
win_T *win;
win_T *altwin;
#endif
+ win_T *oldwin = curwin;
int print_message = TRUE;
int len;
#ifdef FEAT_FOLDING
***************
*** 1744,1750 ****
}
else
ok = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1,
! ECMD_HIDE + ECMD_SET_HELP);
}
else
ok = buflist_getfile(qf_ptr->qf_fnum,
--- 1745,1752 ----
}
else
ok = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1,
! ECMD_HIDE + ECMD_SET_HELP,
! oldwin == curwin ? curwin : NULL);
}
else
ok = buflist_getfile(qf_ptr->qf_fnum,
***************
*** 2267,2272 ****
--- 2269,2275 ----
win_T *win;
tabpage_T *prevtab = curtab;
buf_T *qf_buf;
+ win_T *oldwin = curwin;
if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow)
{
***************
*** 2326,2339 ****
win->w_llist->qf_refcount++;
}
if (qf_buf != NULL)
/* Use the existing quickfix buffer */
(void)do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE,
! ECMD_HIDE + ECMD_OLDBUF);
else
{
/* Create a new quickfix buffer */
! (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE);
/* switch off 'swapfile' */
set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
--- 2329,2344 ----
win->w_llist->qf_refcount++;
}
+ if (oldwin != curwin)
+ oldwin = NULL; /* don't store info when in another window */
if (qf_buf != NULL)
/* Use the existing quickfix buffer */
(void)do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE,
! ECMD_HIDE + ECMD_OLDBUF, oldwin);
else
{
/* Create a new quickfix buffer */
! (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, oldwin);
/* switch off 'swapfile' */
set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
*** ../vim-7.2.040/src/window.c Wed Aug 6 18:32:11 2008
--- src/window.c Wed Nov 12 18:12:37 2008
***************
*** 531,537 ****
# ifdef FEAT_SCROLLBIND
curwin->w_p_scb = FALSE;
# endif
! (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL, ECMD_HIDE);
if (nchar == 'F' && lnum >= 0)
{
curwin->w_cursor.lnum = lnum;
--- 531,538 ----
# ifdef FEAT_SCROLLBIND
curwin->w_p_scb = FALSE;
# endif
! (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
! ECMD_HIDE, NULL);
if (nchar == 'F' && lnum >= 0)
{
curwin->w_cursor.lnum = lnum;
*** ../vim-7.2.040/src/version.c Wed Nov 12 16:04:43 2008
--- src/version.c Wed Nov 12 16:54:35 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 41,
/**/
--
hundred-and-one symptoms of being an internet addict:
260. Co-workers have to E-mail you about the fire alarm to get
you out of the building.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

166
7.2.042 Normal file
View file

@ -0,0 +1,166 @@
To: vim-dev@vim.org
Subject: Patch 7.2.042
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.042
Problem: When using winrestview() in a BufWinEnter autocommand the window
is scrolled anyway. (Matt Zyzik)
Solution: Don't recompute topline when above 'scrolloff' from the bottom.
Don't always put the cursor halfway when entering a buffer. Add
"w_topline_was_set".
Files: src/buffer.c, src/move.c, src/structs.h
*** ../vim-7.2.041/src/buffer.c Sat Nov 15 14:10:23 2008
--- src/buffer.c Sat Nov 15 14:58:52 2008
***************
*** 1401,1406 ****
--- 1401,1409 ----
curwin->w_cursor.coladd = 0;
#endif
curwin->w_set_curswant = TRUE;
+ #ifdef FEAT_AUTOCMD
+ curwin->w_topline_was_set = FALSE;
+ #endif
/* Make sure the buffer is loaded. */
if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */
***************
*** 1440,1446 ****
maketitle();
#endif
#ifdef FEAT_AUTOCMD
! if (curwin->w_topline == 1) /* when autocmds didn't change it */
#endif
scroll_cursor_halfway(FALSE); /* redisplay at correct position */
--- 1443,1450 ----
maketitle();
#endif
#ifdef FEAT_AUTOCMD
! /* when autocmds didn't change it */
! if (curwin->w_topline == 1 && !curwin->w_topline_was_set)
#endif
scroll_cursor_halfway(FALSE); /* redisplay at correct position */
*** ../vim-7.2.041/src/move.c Sun Jul 13 19:25:23 2008
--- src/move.c Sat Nov 15 14:56:47 2008
***************
*** 280,297 ****
if (curwin->w_botline <= curbuf->b_ml.ml_line_count)
{
! if (curwin->w_cursor.lnum < curwin->w_botline
! && ((long)curwin->w_cursor.lnum
>= (long)curwin->w_botline - p_so
#ifdef FEAT_FOLDING
|| hasAnyFolding(curwin)
#endif
))
! {
lineoff_T loff;
! /* Cursor is above botline, check if there are 'scrolloff'
! * window lines below the cursor. If not, need to scroll. */
n = curwin->w_empty_rows;
loff.lnum = curwin->w_cursor.lnum;
#ifdef FEAT_FOLDING
--- 280,299 ----
if (curwin->w_botline <= curbuf->b_ml.ml_line_count)
{
! if (curwin->w_cursor.lnum < curwin->w_botline)
! {
! if (((long)curwin->w_cursor.lnum
>= (long)curwin->w_botline - p_so
#ifdef FEAT_FOLDING
|| hasAnyFolding(curwin)
#endif
))
! {
lineoff_T loff;
! /* Cursor is (a few lines) above botline, check if there are
! * 'scrolloff' window lines below the cursor. If not, need to
! * scroll. */
n = curwin->w_empty_rows;
loff.lnum = curwin->w_cursor.lnum;
#ifdef FEAT_FOLDING
***************
*** 317,322 ****
--- 319,328 ----
if (n >= p_so)
/* sufficient context, no need to scroll */
check_botline = FALSE;
+ }
+ else
+ /* sufficient context, no need to scroll */
+ check_botline = FALSE;
}
if (check_botline)
{
***************
*** 509,514 ****
--- 515,523 ----
/* Approximate the value of w_botline */
wp->w_botline += lnum - wp->w_topline;
wp->w_topline = lnum;
+ #ifdef FEAT_AUTOCMD
+ wp->w_topline_was_set = TRUE;
+ #endif
#ifdef FEAT_DIFF
wp->w_topfill = 0;
#endif
*** ../vim-7.2.041/src/structs.h Sun Nov 9 13:43:25 2008
--- src/structs.h Sat Nov 15 14:56:42 2008
***************
*** 1784,1793 ****
#endif
/*
! * The next three specify the offsets for displaying the buffer:
*/
linenr_T w_topline; /* buffer line number of the line at the
top of the window */
#ifdef FEAT_DIFF
int w_topfill; /* number of filler lines above w_topline */
int w_old_topfill; /* w_topfill at last redraw */
--- 1784,1798 ----
#endif
/*
! * "w_topline", "w_leftcol" and "w_skipcol" specify the offsets for
! * displaying the buffer.
*/
linenr_T w_topline; /* buffer line number of the line at the
top of the window */
+ #ifdef FEAT_AUTOCMD
+ char w_topline_was_set; /* flag set to TRUE when topline is set,
+ e.g. by winrestview() */
+ #endif
#ifdef FEAT_DIFF
int w_topfill; /* number of filler lines above w_topline */
int w_old_topfill; /* w_topfill at last redraw */
*** ../vim-7.2.041/src/version.c Sat Nov 15 14:10:23 2008
--- src/version.c Sat Nov 15 16:01:29 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 42,
/**/
--
hundred-and-one symptoms of being an internet addict:
261. You find diskettes in your pockets when doing laundry.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

78
7.2.043 Normal file
View file

@ -0,0 +1,78 @@
To: vim-dev@vim.org
Subject: Patch 7.2.043
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.043
Problem: VMS: Too many characters are escaped in filename and shell
commands.
Solution: Escape fewer characters. (Zoltan Arpadffy)
Files: src/vim.h
*** ../vim-7.2.042/src/vim.h Sun Nov 9 13:43:25 2008
--- src/vim.h Fri Nov 14 21:41:17 2008
***************
*** 341,348 ****
#ifdef BACKSLASH_IN_FILENAME
# define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`%#'\"|!<")
#else
! # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<")
! # define SHELL_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<>();&")
#endif
#define NUMBUFLEN 30 /* length of a buffer to store a number in ASCII */
--- 341,354 ----
#ifdef BACKSLASH_IN_FILENAME
# define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`%#'\"|!<")
#else
! # ifdef VMS
! /* VMS allows a lot of characters in the file name */
! # define PATH_ESC_CHARS ((char_u *)" \t\n*?{`\\%#'\"|!")
! # define SHELL_ESC_CHARS ((char_u *)" \t\n*?{`\\%#'|!()&")
! # else
! # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<")
! # define SHELL_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<>();&")
! # endif
#endif
#define NUMBUFLEN 30 /* length of a buffer to store a number in ASCII */
***************
*** 370,376 ****
* Define __w64 as an empty token for everything but MSVC 7.x or later.
*/
# if !defined(_MSC_VER) || (_MSC_VER < 1300)
! # define __w64
# endif
typedef unsigned long __w64 long_u;
typedef long __w64 long_i;
--- 376,382 ----
* Define __w64 as an empty token for everything but MSVC 7.x or later.
*/
# if !defined(_MSC_VER) || (_MSC_VER < 1300)
! # define __w64
# endif
typedef unsigned long __w64 long_u;
typedef long __w64 long_i;
*** ../vim-7.2.042/src/version.c Sat Nov 15 16:05:30 2008
--- src/version.c Thu Nov 20 10:23:51 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 43,
/**/
--
In his lifetime van Gogh painted 486 oil paintings. Oddly enough, 8975
of them are to be found in the United States.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

161
7.2.044 Normal file
View file

@ -0,0 +1,161 @@
To: vim-dev@vim.org
Subject: Patch 7.2.044
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.044
Problem: Crash because of STRCPY() being over protective of the destination
size. (Dominique Pelle)
Solution: Add -D_FORTIFY_SOURCE=1 to CFLAGS. Use an intermediate variable
for the pointer to avoid a warning.
Files: src/auto/configure, src/configure.in, src/eval.c
*** ../vim-7.2.043/src/auto/configure Thu Jul 24 17:20:50 2008
--- src/auto/configure Sun Nov 16 17:08:44 2008
***************
*** 16819,16839 ****
LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
fi
- { $as_echo "$as_me:$LINENO: checking for GCC 3 or later" >&5
- $as_echo_n "checking for GCC 3 or later... " >&6; }
DEPEND_CFLAGS_FILTER=
if test "$GCC" = yes; then
gccmajor=`echo "$gccversion" | sed -e 's/^\([1-9]\)\..*$/\1/g'`
if test "$gccmajor" -gt "2"; then
DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
! fi
! fi
! if test "$DEPEND_CFLAGS_FILTER" = ""; then
! { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
! else
! { $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
fi
--- 16819,16847 ----
LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
fi
DEPEND_CFLAGS_FILTER=
if test "$GCC" = yes; then
+ { $as_echo "$as_me:$LINENO: checking for GCC 3 or later" >&5
+ $as_echo_n "checking for GCC 3 or later... " >&6; }
gccmajor=`echo "$gccversion" | sed -e 's/^\([1-9]\)\..*$/\1/g'`
if test "$gccmajor" -gt "2"; then
DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
! { $as_echo "$as_me:$LINENO: result: yes" >&5
! $as_echo "yes" >&6; }
! else
! { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
! fi
! { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5
! $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; }
! if test "$gccmajor" -gt "3"; then
! CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1"
! { $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
fi
*** ../vim-7.2.043/src/configure.in Thu Jul 24 17:20:31 2008
--- src/configure.in Sun Nov 16 17:08:40 2008
***************
*** 3152,3169 ****
dnl But only when making dependencies, cproto and lint don't take "-isystem".
dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow
dnl the number before the version number.
- AC_MSG_CHECKING(for GCC 3 or later)
DEPEND_CFLAGS_FILTER=
if test "$GCC" = yes; then
gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'`
if test "$gccmajor" -gt "2"; then
DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
fi
- fi
- if test "$DEPEND_CFLAGS_FILTER" = ""; then
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT(yes)
fi
AC_SUBST(DEPEND_CFLAGS_FILTER)
--- 3152,3176 ----
dnl But only when making dependencies, cproto and lint don't take "-isystem".
dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow
dnl the number before the version number.
DEPEND_CFLAGS_FILTER=
if test "$GCC" = yes; then
+ AC_MSG_CHECKING(for GCC 3 or later)
gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'`
if test "$gccmajor" -gt "2"; then
DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+ dnl -D_FORTIFY_SOURCE=2 crashes Vim on strcpy(buf, "000") when buf is
+ dnl declared as char x[1] but actually longer. Introduced in gcc 4.0.
+ AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1)
+ if test "$gccmajor" -gt "3"; then
+ CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1"
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
fi
fi
AC_SUBST(DEPEND_CFLAGS_FILTER)
*** ../vim-7.2.043/src/eval.c Wed Nov 12 15:28:37 2008
--- src/eval.c Sun Nov 16 20:46:28 2008
***************
*** 21150,21157 ****
init_var_dict(&fc.l_avars, &fc.l_avars_var);
add_nr_var(&fc.l_avars, &fc.fixvar[fixvar_idx++].var, "0",
(varnumber_T)(argcount - fp->uf_args.ga_len));
v = &fc.fixvar[fixvar_idx++].var;
! STRCPY(v->di_key, "000");
v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX;
hash_add(&fc.l_avars.dv_hashtab, DI2HIKEY(v));
v->di_tv.v_type = VAR_LIST;
--- 21150,21160 ----
init_var_dict(&fc.l_avars, &fc.l_avars_var);
add_nr_var(&fc.l_avars, &fc.fixvar[fixvar_idx++].var, "0",
(varnumber_T)(argcount - fp->uf_args.ga_len));
+ /* Use "name" to avoid a warning from some compiler that checks the
+ * destination size. */
v = &fc.fixvar[fixvar_idx++].var;
! name = v->di_key;
! STRCPY(name, "000");
v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX;
hash_add(&fc.l_avars.dv_hashtab, DI2HIKEY(v));
v->di_tv.v_type = VAR_LIST;
*** ../vim-7.2.043/src/version.c Thu Nov 20 10:26:19 2008
--- src/version.c Thu Nov 20 10:34:31 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 44,
/**/
--
Error:015 - Unable to exit Windows. Try the door.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

67
7.2.045 Normal file
View file

@ -0,0 +1,67 @@
To: vim-dev@vim.org
Subject: Patch 7.2.045
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.045
Problem: The Python interface has an empty entry in sys.path.
Solution: Filter out the empty entry. (idea from James Vega)
Files: src/if_python.c
*** ../vim-7.2.044/src/if_python.c Thu Jul 24 16:24:48 2008
--- src/if_python.c Thu Nov 20 11:03:53 2008
***************
*** 531,536 ****
--- 531,542 ----
if (PythonMod_Init())
goto fail;
+ /* Remove the element from sys.path that was added because of our
+ * argv[0] value in PythonMod_Init(). Previously we used an empty
+ * string, but dependinding on the OS we then get an empty entry or
+ * the current directory in sys.path. */
+ PyRun_SimpleString("import sys; sys.path = filter(lambda x: x != '/must>not&exist', sys.path)");
+
/* the first python thread is vim's, release the lock */
Python_SaveThread();
***************
*** 2345,2351 ****
{
PyObject *mod;
PyObject *dict;
! static char *(argv[2]) = {"", NULL};
/* Fixups... */
BufferType.ob_type = &PyType_Type;
--- 2351,2358 ----
{
PyObject *mod;
PyObject *dict;
! /* The special value is removed from sys.path in Python_Init(). */
! static char *(argv[2]) = {"/must>not&exist/foo", NULL};
/* Fixups... */
BufferType.ob_type = &PyType_Type;
*** ../vim-7.2.044/src/version.c Thu Nov 20 10:36:04 2008
--- src/version.c Thu Nov 20 10:58:11 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 45,
/**/
--
press CTRL-ALT-DEL for more information
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

55
7.2.046 Normal file
View file

@ -0,0 +1,55 @@
To: vim-dev@vim.org
Subject: Patch 7.2.046
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.046
Problem: Wrong check for filling buffer with encoding. (Danek Duvall)
Solution: Remove pointers. (Dominique Pelle)
Files: src/mbyte.c
*** ../vim-7.2.045/src/mbyte.c Wed Nov 12 13:07:48 2008
--- src/mbyte.c Wed Nov 19 21:44:50 2008
***************
*** 3131,3137 ****
else
s = p + 1;
}
! for (i = 0; s[i] != NUL && s + i < buf + sizeof(buf) - 1; ++i)
{
if (s[i] == '_' || s[i] == '-')
buf[i] = '-';
--- 3131,3137 ----
else
s = p + 1;
}
! for (i = 0; s[i] != NUL && i < sizeof(buf) - 1; ++i)
{
if (s[i] == '_' || s[i] == '-')
buf[i] = '-';
*** ../vim-7.2.045/src/version.c Thu Nov 20 11:04:01 2008
--- src/version.c Thu Nov 20 11:54:23 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 46,
/**/
--
He was not in the least bit scared to be mashed into a pulp
Or to have his eyes gouged out and his elbows broken;
To have his kneecaps split and his body burned away
And his limbs all hacked and mangled, brave Sir Robin.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

88
7.2.047 Normal file
View file

@ -0,0 +1,88 @@
To: vim-dev@vim.org
Subject: Patch 7.2.047
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.047
Problem: Starting Vim with the -nb argument while it's not supported causes
the other side to hang.
Solution: When -nb is used while it's not supported exit Vim. (Xavier de
Gaye)
Files: src/main.c, src/vim.h
*** ../vim-7.2.046/src/main.c Sat Nov 15 14:10:23 2008
--- src/main.c Thu Nov 20 14:09:27 2008
***************
*** 1510,1516 ****
early_arg_scan(parmp)
mparm_T *parmp;
{
! #if defined(FEAT_XCLIPBOARD) || defined(FEAT_CLIENTSERVER)
int argc = parmp->argc;
char **argv = parmp->argv;
int i;
--- 1510,1517 ----
early_arg_scan(parmp)
mparm_T *parmp;
{
! #if defined(FEAT_XCLIPBOARD) || defined(FEAT_CLIENTSERVER) \
! || !defined(FEAT_NETBEANS_INTG)
int argc = parmp->argc;
char **argv = parmp->argv;
int i;
***************
*** 1582,1587 ****
--- 1583,1596 ----
else if (STRICMP(argv[i], "--echo-wid") == 0)
echo_wid_arg = TRUE;
# endif
+ # ifndef FEAT_NETBEANS_INTG
+ else if (strncmp(argv[i], "-nb", (size_t)3) == 0)
+ {
+ mch_errmsg(_("'-nb' cannot be used: not enabled at compile time\n"));
+ mch_exit(2);
+ }
+ # endif
+
}
#endif
}
*** ../vim-7.2.046/src/vim.h Thu Nov 20 10:26:19 2008
--- src/vim.h Thu Nov 20 12:06:14 2008
***************
*** 1986,1991 ****
--- 1986,1994 ----
# endif
#endif
+ #ifndef FEAT_NETBEANS_INTG
+ # undef NBDEBUG
+ #endif
#ifdef NBDEBUG /* Netbeans debugging. */
# include "nbdebug.h"
#else
*** ../vim-7.2.046/src/version.c Thu Nov 20 11:55:53 2008
--- src/version.c Thu Nov 20 14:07:57 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 47,
/**/
--
FIRST HEAD: Oh! quick! get the sword out I want to cut his head off.
THIRD HEAD: Oh, cut your own head off.
SECOND HEAD: Yes - do us all a favour.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

160
7.2.048 Normal file
View file

@ -0,0 +1,160 @@
To: vim-dev@vim.org
Subject: Patch 7.2.048
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.048
Problem: v:prevcount is changed too often. Counts are not multiplied when
setting v:count.
Solution: Set v:prevcount properly. Multiply counts. (idea by Ben Schmidt)
Files: src/eval.c, src/normal.c, src/proto/eval.pro
*** ../vim-7.2.047/src/eval.c Thu Nov 20 10:36:04 2008
--- src/eval.c Thu Nov 20 15:53:47 2008
***************
*** 18146,18159 ****
}
/*
! * Set v:count, v:count1 and v:prevcount.
*/
void
! set_vcount(count, count1)
long count;
long count1;
{
! vimvars[VV_PREVCOUNT].vv_nr = vimvars[VV_COUNT].vv_nr;
vimvars[VV_COUNT].vv_nr = count;
vimvars[VV_COUNT1].vv_nr = count1;
}
--- 18146,18162 ----
}
/*
! * Set v:count to "count" and v:count1 to "count1".
! * When "set_prevcount" is TRUE first set v:prevcount from v:count.
*/
void
! set_vcount(count, count1, set_prevcount)
long count;
long count1;
+ int set_prevcount;
{
! if (set_prevcount)
! vimvars[VV_PREVCOUNT].vv_nr = vimvars[VV_COUNT].vv_nr;
vimvars[VV_COUNT].vv_nr = count;
vimvars[VV_COUNT1].vv_nr = count1;
}
*** ../vim-7.2.047/src/normal.c Sat Nov 15 14:10:23 2008
--- src/normal.c Thu Nov 20 16:04:44 2008
***************
*** 580,585 ****
--- 580,588 ----
static int old_mapped_len = 0;
#endif
int idx;
+ #ifdef FEAT_EVAL
+ int set_prevcount = FALSE;
+ #endif
vim_memset(&ca, 0, sizeof(ca)); /* also resets ca.retval */
ca.oap = oap;
***************
*** 615,621 ****
--- 618,629 ----
/* When not finishing an operator and no register name typed, reset the
* count. */
if (!finish_op && !oap->regname)
+ {
ca.opcount = 0;
+ #ifdef FEAT_EVAL
+ set_prevcount = TRUE;
+ #endif
+ }
#ifdef FEAT_AUTOCMD
/* Restore counts from before receiving K_CURSORHOLD. This means after
***************
*** 719,725 ****
* command, so that v:count can be used in an expression mapping
* right after the count. */
if (toplevel && stuff_empty())
! set_vcount(ca.count0, ca.count0 == 0 ? 1 : ca.count0);
#endif
if (ctrl_w)
{
--- 727,741 ----
* command, so that v:count can be used in an expression mapping
* right after the count. */
if (toplevel && stuff_empty())
! {
! long count = ca.count0;
!
! /* multiply with ca.opcount the same way as below */
! if (ca.opcount != 0)
! count = ca.opcount * (count == 0 ? 1 : count);
! set_vcount(count, count == 0 ? 1 : count, set_prevcount);
! set_prevcount = FALSE; /* only set v:prevcount once */
! }
#endif
if (ctrl_w)
{
***************
*** 806,812 ****
* Only set v:count when called from main() and not a stuffed command.
*/
if (toplevel && stuff_empty())
! set_vcount(ca.count0, ca.count1);
#endif
/*
--- 822,828 ----
* Only set v:count when called from main() and not a stuffed command.
*/
if (toplevel && stuff_empty())
! set_vcount(ca.count0, ca.count1, set_prevcount);
#endif
/*
*** ../vim-7.2.047/src/proto/eval.pro Sun Nov 9 13:43:25 2008
--- src/proto/eval.pro Thu Nov 20 15:53:54 2008
***************
*** 61,67 ****
long get_vim_var_nr __ARGS((int idx));
char_u *get_vim_var_str __ARGS((int idx));
list_T *get_vim_var_list __ARGS((int idx));
! void set_vcount __ARGS((long count, long count1));
void set_vim_var_string __ARGS((int idx, char_u *val, int len));
void set_vim_var_list __ARGS((int idx, list_T *val));
void set_reg_var __ARGS((int c));
--- 61,67 ----
long get_vim_var_nr __ARGS((int idx));
char_u *get_vim_var_str __ARGS((int idx));
list_T *get_vim_var_list __ARGS((int idx));
! void set_vcount __ARGS((long count, long count1, int set_prevcount));
void set_vim_var_string __ARGS((int idx, char_u *val, int len));
void set_vim_var_list __ARGS((int idx, list_T *val));
void set_reg_var __ARGS((int c));
*** ../vim-7.2.047/src/version.c Thu Nov 20 14:11:47 2008
--- src/version.c Thu Nov 20 16:08:19 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 48,
/**/
--
Microsoft's definition of a boolean: TRUE, FALSE, MAYBE
"Embrace and extend"...?
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1193
7.2.049 Normal file

File diff suppressed because it is too large Load diff

316
7.2.050 Normal file
View file

@ -0,0 +1,316 @@
To: vim-dev@vim.org
Subject: Patch 7.2.050
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.050
Problem: Warnings for not checking return value of fwrite(). (Chip Campbell)
Solution: Use the return value.
Files: src/spell.c
*** ../vim-7.2.049/src/spell.c Mon Aug 25 04:12:38 2008
--- src/spell.c Thu Nov 20 17:28:01 2008
***************
*** 7926,7931 ****
--- 7926,7933 ----
char_u *p;
int rr;
int retval = OK;
+ int fwv = 1; /* collect return value of fwrite() to avoid
+ warnings from picky compiler */
fd = mch_fopen((char *)fname, "w");
if (fd == NULL)
***************
*** 7936,7946 ****
/* <HEADER>: <fileID> <versionnr> */
/* <fileID> */
! if (fwrite(VIMSPELLMAGIC, VIMSPELLMAGICL, (size_t)1, fd) != 1)
! {
! EMSG(_(e_write));
! retval = FAIL;
! }
putc(VIMSPELLVERSION, fd); /* <versionnr> */
/*
--- 7938,7944 ----
/* <HEADER>: <fileID> <versionnr> */
/* <fileID> */
! fwv &= fwrite(VIMSPELLMAGIC, VIMSPELLMAGICL, (size_t)1, fd);
putc(VIMSPELLVERSION, fd); /* <versionnr> */
/*
***************
*** 7955,7961 ****
i = (int)STRLEN(spin->si_info);
put_bytes(fd, (long_u)i, 4); /* <sectionlen> */
! fwrite(spin->si_info, (size_t)i, (size_t)1, fd); /* <infotext> */
}
/* SN_REGION: <regionname> ...
--- 7953,7959 ----
i = (int)STRLEN(spin->si_info);
put_bytes(fd, (long_u)i, 4); /* <sectionlen> */
! fwv &= fwrite(spin->si_info, (size_t)i, (size_t)1, fd); /* <infotext> */
}
/* SN_REGION: <regionname> ...
***************
*** 7966,7972 ****
putc(SNF_REQUIRED, fd); /* <sectionflags> */
l = spin->si_region_count * 2;
put_bytes(fd, (long_u)l, 4); /* <sectionlen> */
! fwrite(spin->si_region_name, (size_t)l, (size_t)1, fd);
/* <regionname> ... */
regionmask = (1 << spin->si_region_count) - 1;
}
--- 7964,7970 ----
putc(SNF_REQUIRED, fd); /* <sectionflags> */
l = spin->si_region_count * 2;
put_bytes(fd, (long_u)l, 4); /* <sectionlen> */
! fwv &= fwrite(spin->si_region_name, (size_t)l, (size_t)1, fd);
/* <regionname> ... */
regionmask = (1 << spin->si_region_count) - 1;
}
***************
*** 8016,8022 ****
}
put_bytes(fd, (long_u)l, 2); /* <folcharslen> */
! fwrite(folchars, (size_t)l, (size_t)1, fd); /* <folchars> */
}
/* SN_MIDWORD: <midword> */
--- 8014,8020 ----
}
put_bytes(fd, (long_u)l, 2); /* <folcharslen> */
! fwv &= fwrite(folchars, (size_t)l, (size_t)1, fd); /* <folchars> */
}
/* SN_MIDWORD: <midword> */
***************
*** 8027,8033 ****
i = (int)STRLEN(spin->si_midword);
put_bytes(fd, (long_u)i, 4); /* <sectionlen> */
! fwrite(spin->si_midword, (size_t)i, (size_t)1, fd); /* <midword> */
}
/* SN_PREFCOND: <prefcondcnt> <prefcond> ... */
--- 8025,8032 ----
i = (int)STRLEN(spin->si_midword);
put_bytes(fd, (long_u)i, 4); /* <sectionlen> */
! fwv &= fwrite(spin->si_midword, (size_t)i, (size_t)1, fd);
! /* <midword> */
}
/* SN_PREFCOND: <prefcondcnt> <prefcond> ... */
***************
*** 8113,8119 ****
p = rr == 1 ? ftp->ft_from : ftp->ft_to;
l = (int)STRLEN(p);
putc(l, fd);
! fwrite(p, l, (size_t)1, fd);
}
}
--- 8112,8118 ----
p = rr == 1 ? ftp->ft_from : ftp->ft_to;
l = (int)STRLEN(p);
putc(l, fd);
! fwv &= fwrite(p, l, (size_t)1, fd);
}
}
***************
*** 8131,8141 ****
/* <sectionlen> */
put_bytes(fd, (long_u)l, 2); /* <sofofromlen> */
! fwrite(spin->si_sofofr, l, (size_t)1, fd); /* <sofofrom> */
l = (int)STRLEN(spin->si_sofoto);
put_bytes(fd, (long_u)l, 2); /* <sofotolen> */
! fwrite(spin->si_sofoto, l, (size_t)1, fd); /* <sofoto> */
}
/* SN_WORDS: <word> ...
--- 8130,8140 ----
/* <sectionlen> */
put_bytes(fd, (long_u)l, 2); /* <sofofromlen> */
! fwv &= fwrite(spin->si_sofofr, l, (size_t)1, fd); /* <sofofrom> */
l = (int)STRLEN(spin->si_sofoto);
put_bytes(fd, (long_u)l, 2); /* <sofotolen> */
! fwv &= fwrite(spin->si_sofoto, l, (size_t)1, fd); /* <sofoto> */
}
/* SN_WORDS: <word> ...
***************
*** 8160,8166 ****
l = (int)STRLEN(hi->hi_key) + 1;
len += l;
if (round == 2) /* <word> */
! fwrite(hi->hi_key, (size_t)l, (size_t)1, fd);
--todo;
}
if (round == 1)
--- 8159,8165 ----
l = (int)STRLEN(hi->hi_key) + 1;
len += l;
if (round == 2) /* <word> */
! fwv &= fwrite(hi->hi_key, (size_t)l, (size_t)1, fd);
--todo;
}
if (round == 1)
***************
*** 8176,8182 ****
putc(0, fd); /* <sectionflags> */
l = spin->si_map.ga_len;
put_bytes(fd, (long_u)l, 4); /* <sectionlen> */
! fwrite(spin->si_map.ga_data, (size_t)l, (size_t)1, fd);
/* <mapstr> */
}
--- 8175,8181 ----
putc(0, fd); /* <sectionflags> */
l = spin->si_map.ga_len;
put_bytes(fd, (long_u)l, 4); /* <sectionlen> */
! fwv &= fwrite(spin->si_map.ga_data, (size_t)l, (size_t)1, fd);
/* <mapstr> */
}
***************
*** 8232,8241 ****
{
p = ((char_u **)(spin->si_comppat.ga_data))[i];
putc((int)STRLEN(p), fd); /* <comppatlen> */
! fwrite(p, (size_t)STRLEN(p), (size_t)1, fd);/* <comppattext> */
}
/* <compflags> */
! fwrite(spin->si_compflags, (size_t)STRLEN(spin->si_compflags),
(size_t)1, fd);
}
--- 8231,8241 ----
{
p = ((char_u **)(spin->si_comppat.ga_data))[i];
putc((int)STRLEN(p), fd); /* <comppatlen> */
! fwv &= fwrite(p, (size_t)STRLEN(p), (size_t)1, fd);
! /* <comppattext> */
}
/* <compflags> */
! fwv &= fwrite(spin->si_compflags, (size_t)STRLEN(spin->si_compflags),
(size_t)1, fd);
}
***************
*** 8259,8265 ****
l = (int)STRLEN(spin->si_syllable);
put_bytes(fd, (long_u)l, 4); /* <sectionlen> */
! fwrite(spin->si_syllable, (size_t)l, (size_t)1, fd); /* <syllable> */
}
/* end of <SECTIONS> */
--- 8259,8266 ----
l = (int)STRLEN(spin->si_syllable);
put_bytes(fd, (long_u)l, 4); /* <sectionlen> */
! fwv &= fwrite(spin->si_syllable, (size_t)l, (size_t)1, fd);
! /* <syllable> */
}
/* end of <SECTIONS> */
***************
*** 8295,8307 ****
(void)put_node(fd, tree, 0, regionmask, round == 3);
}
! /* Write another byte to check for errors. */
if (putc(0, fd) == EOF)
retval = FAIL;
if (fclose(fd) == EOF)
retval = FAIL;
return retval;
}
--- 8296,8313 ----
(void)put_node(fd, tree, 0, regionmask, round == 3);
}
! /* Write another byte to check for errors (file system full). */
if (putc(0, fd) == EOF)
retval = FAIL;
if (fclose(fd) == EOF)
retval = FAIL;
+ if (fwv != 1)
+ retval = FAIL;
+ if (retval == FAIL)
+ EMSG(_(e_write));
+
return retval;
}
***************
*** 9890,9895 ****
--- 9896,9902 ----
char_u *p;
int len;
int totlen;
+ int x = 1; /* collect return value of fwrite() */
if (fd != NULL)
put_bytes(fd, (long_u)gap->ga_len, 2); /* <prefcondcnt> */
***************
*** 9906,9912 ****
if (fd != NULL)
{
fputc(len, fd);
! fwrite(p, (size_t)len, (size_t)1, fd);
}
totlen += len;
}
--- 9913,9919 ----
if (fd != NULL)
{
fputc(len, fd);
! x &= fwrite(p, (size_t)len, (size_t)1, fd);
}
totlen += len;
}
*** ../vim-7.2.049/src/version.c Thu Nov 20 17:09:09 2008
--- src/version.c Fri Nov 28 10:06:13 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 50,
/**/
--
You got to work at a mill? Lucky! I got sent back to work in the
acid-mines for my daily crust of stale bread... which not even the
birds would eat.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

411
7.2.051 Normal file
View file

@ -0,0 +1,411 @@
To: vim-dev@vim.org
Subject: Patch 7.2.051
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.051
Problem: Can't avoid 'wildignore' and 'suffixes' for glob() and globpath().
Solution: Add an extra argument to these functions. (Ingo Karkat)
Files: src/eval.c, src/ex_getln.c, src/proto/ex_getln.pro,
runtime/doc/eval.txt, runtime/doc/options.txt
*** ../vim-7.2.050/src/eval.c Thu Nov 20 16:11:03 2008
--- src/eval.c Thu Nov 27 22:15:40 2008
***************
*** 7564,7571 ****
{"getwinposx", 0, 0, f_getwinposx},
{"getwinposy", 0, 0, f_getwinposy},
{"getwinvar", 2, 2, f_getwinvar},
! {"glob", 1, 1, f_glob},
! {"globpath", 2, 2, f_globpath},
{"has", 1, 1, f_has},
{"has_key", 2, 2, f_has_key},
{"haslocaldir", 0, 0, f_haslocaldir},
--- 7564,7571 ----
{"getwinposx", 0, 0, f_getwinposx},
{"getwinposy", 0, 0, f_getwinposy},
{"getwinvar", 2, 2, f_getwinvar},
! {"glob", 1, 2, f_glob},
! {"globpath", 2, 3, f_globpath},
{"has", 1, 1, f_has},
{"has_key", 2, 2, f_has_key},
{"haslocaldir", 0, 0, f_haslocaldir},
***************
*** 9557,9563 ****
else
{
/* When the optional second argument is non-zero, don't remove matches
! * for 'suffixes' and 'wildignore' */
if (argvars[1].v_type != VAR_UNKNOWN
&& get_tv_number_chk(&argvars[1], &error))
flags |= WILD_KEEP_ALL;
--- 9557,9563 ----
else
{
/* When the optional second argument is non-zero, don't remove matches
! * for 'wildignore' and don't put matches for 'suffixes' at the end. */
if (argvars[1].v_type != VAR_UNKNOWN
&& get_tv_number_chk(&argvars[1], &error))
flags |= WILD_KEEP_ALL;
***************
*** 11323,11335 ****
typval_T *argvars;
typval_T *rettv;
{
expand_T xpc;
! ExpandInit(&xpc);
! xpc.xp_context = EXPAND_FILES;
! rettv->v_type = VAR_STRING;
! rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
! NULL, WILD_USE_NL|WILD_SILENT, WILD_ALL);
}
/*
--- 11323,11347 ----
typval_T *argvars;
typval_T *rettv;
{
+ int flags = WILD_SILENT|WILD_USE_NL;
expand_T xpc;
+ int error = FALSE;
! /* When the optional second argument is non-zero, don't remove matches
! * for 'wildignore' and don't put matches for 'suffixes' at the end. */
! if (argvars[1].v_type != VAR_UNKNOWN
! && get_tv_number_chk(&argvars[1], &error))
! flags |= WILD_KEEP_ALL;
! rettv->v_type = VAR_STRING;
! if (!error)
! {
! ExpandInit(&xpc);
! xpc.xp_context = EXPAND_FILES;
! rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
! NULL, flags, WILD_ALL);
! }
! else
! rettv->vval.v_string = NULL;
}
/*
***************
*** 11340,11353 ****
typval_T *argvars;
typval_T *rettv;
{
char_u buf1[NUMBUFLEN];
char_u *file = get_tv_string_buf_chk(&argvars[1], buf1);
rettv->v_type = VAR_STRING;
! if (file == NULL)
rettv->vval.v_string = NULL;
else
! rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file);
}
/*
--- 11352,11373 ----
typval_T *argvars;
typval_T *rettv;
{
+ int flags = 0;
char_u buf1[NUMBUFLEN];
char_u *file = get_tv_string_buf_chk(&argvars[1], buf1);
+ int error = FALSE;
+ /* When the optional second argument is non-zero, don't remove matches
+ * for 'wildignore' and don't put matches for 'suffixes' at the end. */
+ if (argvars[2].v_type != VAR_UNKNOWN
+ && get_tv_number_chk(&argvars[2], &error))
+ flags |= WILD_KEEP_ALL;
rettv->v_type = VAR_STRING;
! if (file == NULL || error)
rettv->vval.v_string = NULL;
else
! rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file,
! flags);
}
/*
*** ../vim-7.2.050/src/ex_getln.c Sat Nov 15 14:10:23 2008
--- src/ex_getln.c Thu Nov 20 18:37:20 2008
***************
*** 2524,2530 ****
&& ccline.xpc->xp_context != EXPAND_NOTHING
&& ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL)
{
! int i = ccline.xpc->xp_pattern - p;
/* If xp_pattern points inside the old cmdbuff it needs to be adjusted
* to point into the newly allocated memory. */
--- 2524,2530 ----
&& ccline.xpc->xp_context != EXPAND_NOTHING
&& ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL)
{
! int i = (int)(ccline.xpc->xp_pattern - p);
/* If xp_pattern points inside the old cmdbuff it needs to be adjusted
* to point into the newly allocated memory. */
***************
*** 4897,4903 ****
if (s == NULL)
return FAIL;
sprintf((char *)s, "%s/%s*.vim", dirname, pat);
! all = globpath(p_rtp, s);
vim_free(s);
if (all == NULL)
return FAIL;
--- 4897,4903 ----
if (s == NULL)
return FAIL;
sprintf((char *)s, "%s/%s*.vim", dirname, pat);
! all = globpath(p_rtp, s, 0);
vim_free(s);
if (all == NULL)
return FAIL;
***************
*** 4938,4946 ****
* newlines. Returns NULL for an error or no matches.
*/
char_u *
! globpath(path, file)
char_u *path;
char_u *file;
{
expand_T xpc;
char_u *buf;
--- 4938,4947 ----
* newlines. Returns NULL for an error or no matches.
*/
char_u *
! globpath(path, file, expand_options)
char_u *path;
char_u *file;
+ int expand_options;
{
expand_T xpc;
char_u *buf;
***************
*** 4969,4978 ****
{
add_pathsep(buf);
STRCAT(buf, file);
! if (ExpandFromContext(&xpc, buf, &num_p, &p, WILD_SILENT) != FAIL
! && num_p > 0)
{
! ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT);
for (len = 0, i = 0; i < num_p; ++i)
len += (int)STRLEN(p[i]) + 1;
--- 4970,4979 ----
{
add_pathsep(buf);
STRCAT(buf, file);
! if (ExpandFromContext(&xpc, buf, &num_p, &p,
! WILD_SILENT|expand_options) != FAIL && num_p > 0)
{
! ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT|expand_options);
for (len = 0, i = 0; i < num_p; ++i)
len += (int)STRLEN(p[i]) + 1;
*** ../vim-7.2.050/src/proto/ex_getln.pro Wed May 28 16:49:01 2008
--- src/proto/ex_getln.pro Thu Nov 20 18:27:57 2008
***************
*** 31,37 ****
void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int))));
! char_u *globpath __ARGS((char_u *path, char_u *file));
void init_history __ARGS((void));
int get_histtype __ARGS((char_u *name));
void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep));
--- 31,37 ----
void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col));
int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches));
int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int))));
! char_u *globpath __ARGS((char_u *path, char_u *file, int expand_options));
void init_history __ARGS((void));
int get_histtype __ARGS((char_u *name));
void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep));
*** ../vim-7.2.050/runtime/doc/eval.txt Sun Nov 9 13:43:25 2008
--- runtime/doc/eval.txt Thu Nov 27 22:17:13 2008
***************
*** 1,4 ****
! *eval.txt* For Vim version 7.2. Last change: 2008 Nov 02
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *eval.txt* For Vim version 7.2. Last change: 2008 Nov 27
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 1706,1712 ****
exists( {expr}) Number TRUE if {expr} exists
extend({expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
! expand( {expr}) String expand special keywords in {expr}
feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
filereadable( {file}) Number TRUE if {file} is a readable file
filewritable( {file}) Number TRUE if {file} is a writable file
--- 1709,1715 ----
exists( {expr}) Number TRUE if {expr} exists
extend({expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
! expand( {expr} [, {flag}]) String expand special keywords in {expr}
feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
filereadable( {file}) Number TRUE if {file} is a readable file
filewritable( {file}) Number TRUE if {file} is a writable file
***************
*** 1758,1765 ****
getwinposx() Number X coord in pixels of GUI Vim window
getwinposy() Number Y coord in pixels of GUI Vim window
getwinvar( {nr}, {varname}) any variable {varname} in window {nr}
! glob( {expr}) String expand file wildcards in {expr}
! globpath( {path}, {expr}) String do glob({expr}) for all dirs in {path}
has( {feature}) Number TRUE if feature {feature} supported
has_key( {dict}, {key}) Number TRUE if {dict} has entry {key}
haslocaldir() Number TRUE if current window executed |:lcd|
--- 1761,1769 ----
getwinposx() Number X coord in pixels of GUI Vim window
getwinposy() Number Y coord in pixels of GUI Vim window
getwinvar( {nr}, {varname}) any variable {varname} in window {nr}
! glob( {expr} [, {flag}]) String expand file wildcards in {expr}
! globpath( {path}, {expr} [, {flag}])
! String do glob({expr}) for all dirs in {path}
has( {feature}) Number TRUE if feature {feature} supported
has_key( {dict}, {key}) Number TRUE if {dict} has entry {key}
haslocaldir() Number TRUE if current window executed |:lcd|
***************
*** 3286,3299 ****
:let list_is_on = getwinvar(2, '&list')
:echo "myvar = " . getwinvar(1, 'myvar')
<
! *glob()*
! glob({expr}) Expand the file wildcards in {expr}. See |wildcards| for the
use of special characters.
The result is a String.
When there are several matches, they are separated by <NL>
characters.
! The 'wildignore' option applies: Names matching one of the
! patterns in 'wildignore' will be skipped.
If the expansion fails, the result is an empty string.
A name for a non-existing file is not included.
--- 3290,3305 ----
:let list_is_on = getwinvar(2, '&list')
:echo "myvar = " . getwinvar(1, 'myvar')
<
! glob({expr} [, {flag}]) *glob()*
! Expand the file wildcards in {expr}. See |wildcards| for the
use of special characters.
The result is a String.
When there are several matches, they are separated by <NL>
characters.
! Unless the optional {flag} argument is given and is non-zero,
! the 'suffixes' and 'wildignore' options apply: Names matching
! one of the patterns in 'wildignore' will be skipped and
! 'suffixes' affect the ordering of matches.
If the expansion fails, the result is an empty string.
A name for a non-existing file is not included.
***************
*** 3307,3326 ****
See |expand()| for expanding special Vim variables. See
|system()| for getting the raw output of an external command.
! globpath({path}, {expr}) *globpath()*
Perform glob() on all directories in {path} and concatenate
the results. Example: >
:echo globpath(&rtp, "syntax/c.vim")
< {path} is a comma-separated list of directory names. Each
directory name is prepended to {expr} and expanded like with
! glob(). A path separator is inserted when needed.
To add a comma inside a directory name escape it with a
backslash. Note that on MS-Windows a directory may have a
trailing backslash, remove it if you put a comma after it.
If the expansion fails for one of the directories, there is no
error message.
! The 'wildignore' option applies: Names matching one of the
! patterns in 'wildignore' will be skipped.
The "**" item can be used to search in a directory tree.
For example, to find all "README.txt" files in the directories
--- 3313,3334 ----
See |expand()| for expanding special Vim variables. See
|system()| for getting the raw output of an external command.
! globpath({path}, {expr} [, {flag}]) *globpath()*
Perform glob() on all directories in {path} and concatenate
the results. Example: >
:echo globpath(&rtp, "syntax/c.vim")
< {path} is a comma-separated list of directory names. Each
directory name is prepended to {expr} and expanded like with
! |glob()|. A path separator is inserted when needed.
To add a comma inside a directory name escape it with a
backslash. Note that on MS-Windows a directory may have a
trailing backslash, remove it if you put a comma after it.
If the expansion fails for one of the directories, there is no
error message.
! Unless the optional {flag} argument is given and is non-zero,
! the 'suffixes' and 'wildignore' options apply: Names matching
! one of the patterns in 'wildignore' will be skipped and
! 'suffixes' affect the ordering of matches.
The "**" item can be used to search in a directory tree.
For example, to find all "README.txt" files in the directories
*** ../vim-7.2.050/runtime/doc/options.txt Sat Aug 9 19:36:49 2008
--- runtime/doc/options.txt Tue Nov 25 23:43:55 2008
***************
*** 1,4 ****
! *options.txt* For Vim version 7.2. Last change: 2008 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *options.txt* For Vim version 7.2. Last change: 2008 Nov 25
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 7472,7478 ****
{not available when compiled without the |+wildignore|
feature}
A list of file patterns. A file that matches with one of these
! patterns is ignored when completing file or directory names.
The pattern is used like with |:autocmd|, see |autocmd-patterns|.
Also see 'suffixes'.
Example: >
--- 7481,7489 ----
{not available when compiled without the |+wildignore|
feature}
A list of file patterns. A file that matches with one of these
! patterns is ignored when completing file or directory names, and
! influences the result of |expand()|, |glob()| and |globpath()| unless
! a flag is passed to disable this.
The pattern is used like with |:autocmd|, see |autocmd-patterns|.
Also see 'suffixes'.
Example: >
*** ../vim-7.2.050/src/version.c Fri Nov 28 10:08:05 2008
--- src/version.c Fri Nov 28 10:55:44 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 51,
/**/
--
Not too long ago, unzipping in public was illegal...
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

83
7.2.052 Normal file
View file

@ -0,0 +1,83 @@
To: vim-dev@vim.org
Subject: Patch 7.2.052
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.052
Problem: synIDattr() doesn't support "sp" for special color.
Solution: Recognize "sp" and "sp#". (Matt Wozniski)
Files: runtime/doc/eval.txt, src/eval.c
*** ../vim-7.2.051/runtime/doc/eval.txt Fri Nov 28 10:59:57 2008
--- runtime/doc/eval.txt Thu Nov 27 22:17:13 2008
***************
*** 5348,5357 ****
"fg" foreground color (GUI: color name used to set
the color, cterm: color number as a string,
term: empty string)
! "bg" background color (like "fg")
"fg#" like "fg", but for the GUI and the GUI is
running the name in "#RRGGBB" form
"bg#" like "fg#" for "bg"
"bold" "1" if bold
"italic" "1" if italic
"reverse" "1" if reverse
--- 5359,5370 ----
"fg" foreground color (GUI: color name used to set
the color, cterm: color number as a string,
term: empty string)
! "bg" background color (as with "fg")
! "sp" special color (as with "fg") |highlight-guisp|
"fg#" like "fg", but for the GUI and the GUI is
running the name in "#RRGGBB" form
"bg#" like "fg#" for "bg"
+ "sp#" like "fg#" for "sp"
"bold" "1" if bold
"italic" "1" if italic
"reverse" "1" if reverse
*** ../vim-7.2.051/src/eval.c Fri Nov 28 10:59:57 2008
--- src/eval.c Thu Nov 27 22:15:40 2008
***************
*** 16648,16655 ****
p = highlight_has_attr(id, HL_INVERSE, modec);
break;
! case 's': /* standout */
! p = highlight_has_attr(id, HL_STANDOUT, modec);
break;
case 'u':
--- 16648,16658 ----
p = highlight_has_attr(id, HL_INVERSE, modec);
break;
! case 's':
! if (TOLOWER_ASC(what[1]) == 'p') /* sp[#] */
! p = highlight_color(id, what, modec);
! else /* standout */
! p = highlight_has_attr(id, HL_STANDOUT, modec);
break;
case 'u':
*** ../vim-7.2.051/src/version.c Fri Nov 28 10:59:57 2008
--- src/version.c Fri Nov 28 11:13:45 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 52,
/**/
--
Not too long ago, a keyboard was something to make music with...
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

58
7.2.053 Normal file
View file

@ -0,0 +1,58 @@
To: vim-dev@vim.org
Subject: Patch 7.2.053
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.053
Problem: Crash when using WorkShop command ":ws foo". (Dominique Pelle)
Solution: Avoid using a NULL pointer.
Files: src/workshop.c
*** ../vim-7.2.052/src/workshop.c Tue Jun 24 23:34:50 2008
--- src/workshop.c Thu Nov 27 22:31:27 2008
***************
*** 1121,1128 ****
? (char *)curbuf->b_sfname : "<None>");
#endif
! strcpy(ffname, (char *) curbuf->b_ffname);
! *filename = ffname; /* copy so nobody can change b_ffname */
*curLine = curwin->w_cursor.lnum;
*curCol = curwin->w_cursor.col;
--- 1121,1132 ----
? (char *)curbuf->b_sfname : "<None>");
#endif
! if (curbuf->b_ffname == NULL)
! ffname[0] = NUL;
! else
! /* copy so nobody can change b_ffname */
! strcpy(ffname, (char *) curbuf->b_ffname);
! *filename = ffname;
*curLine = curwin->w_cursor.lnum;
*curCol = curwin->w_cursor.col;
*** ../vim-7.2.052/src/version.c Fri Nov 28 11:15:10 2008
--- src/version.c Fri Nov 28 11:44:23 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 53,
/**/
--
What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics'
meaning 'bloodsucking creatures'.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

68
7.2.054 Normal file
View file

@ -0,0 +1,68 @@
To: vim-dev@vim.org
Subject: Patch 7.2.054
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.054
Problem: Compilation warnings for format in getchar.c.
Solution: Use fputs() instead of fprintf(). (Dominique Pelle)
Files: src/getchar.c
*** ../vim-7.2.053/src/getchar.c Tue Jul 22 18:58:23 2008
--- src/getchar.c Thu Nov 27 22:38:24 2008
***************
*** 4702,4708 ****
return FAIL;
if (mp->m_noremap != REMAP_YES && fprintf(fd, "nore") < 0)
return FAIL;
! if (fprintf(fd, cmd) < 0)
return FAIL;
if (buf != NULL && fputs(" <buffer>", fd) < 0)
return FAIL;
--- 4702,4708 ----
return FAIL;
if (mp->m_noremap != REMAP_YES && fprintf(fd, "nore") < 0)
return FAIL;
! if (fputs(cmd, fd) < 0)
return FAIL;
if (buf != NULL && fputs(" <buffer>", fd) < 0)
return FAIL;
***************
*** 4801,4807 ****
}
if (IS_SPECIAL(c) || modifiers) /* special key */
{
! if (fprintf(fd, (char *)get_special_key_name(c, modifiers)) < 0)
return FAIL;
continue;
}
--- 4801,4807 ----
}
if (IS_SPECIAL(c) || modifiers) /* special key */
{
! if (fputs((char *)get_special_key_name(c, modifiers), fd) < 0)
return FAIL;
continue;
}
*** ../vim-7.2.053/src/version.c Fri Nov 28 11:47:14 2008
--- src/version.c Fri Nov 28 12:02:48 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 54,
/**/
--
Not too long ago, compress was something you did to garbage...
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1271
7.2.055 Normal file

File diff suppressed because it is too large Load diff

57
7.2.056 Normal file
View file

@ -0,0 +1,57 @@
To: vim-dev@vim.org
Subject: Patch 7.2.056
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.056 (after 7.2.050)
Problem: Tests 58 and 59 fail.
Solution: Don't invoke fwrite() with a zero length. (Dominique Pelle)
Files: src/spell.c
*** ../vim-7.2.055/src/spell.c Fri Nov 28 21:26:50 2008
--- src/spell.c Sat Nov 29 19:58:21 2008
***************
*** 8112,8118 ****
p = rr == 1 ? ftp->ft_from : ftp->ft_to;
l = (int)STRLEN(p);
putc(l, fd);
! fwv &= fwrite(p, l, (size_t)1, fd);
}
}
--- 8218,8225 ----
p = rr == 1 ? ftp->ft_from : ftp->ft_to;
l = (int)STRLEN(p);
putc(l, fd);
! if (l > 0)
! fwv &= fwrite(p, l, (size_t)1, fd);
}
}
*** ../vim-7.2.055/src/version.c Fri Nov 28 21:26:50 2008
--- src/version.c Sat Nov 29 20:10:05 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 56,
/**/
--
GUARD #1: Where'd you get the coconut?
ARTHUR: We found them.
GUARD #1: Found them? In Mercea? The coconut's tropical!
ARTHUR: What do you mean?
GUARD #1: Well, this is a temperate zone.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

111
7.2.057 Normal file
View file

@ -0,0 +1,111 @@
To: vim-dev@vim.org
Subject: Patch 7.2.057
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.057 (after 7.2.056)
Problem: Combination of int and size_t may not work.
Solution: Use size_t for variable.
Files: src/spell.c
*** ../vim-7.2.056/src/spell.c Sat Nov 29 20:10:59 2008
--- src/spell.c Sat Nov 29 20:15:43 2008
***************
*** 7926,7932 ****
char_u *p;
int rr;
int retval = OK;
! int fwv = 1; /* collect return value of fwrite() to avoid
warnings from picky compiler */
fd = mch_fopen((char *)fname, "w");
--- 8028,8034 ----
char_u *p;
int rr;
int retval = OK;
! size_t fwv = 1; /* collect return value of fwrite() to avoid
warnings from picky compiler */
fd = mch_fopen((char *)fname, "w");
***************
*** 7939,7944 ****
--- 8041,8050 ----
/* <HEADER>: <fileID> <versionnr> */
/* <fileID> */
fwv &= fwrite(VIMSPELLMAGIC, VIMSPELLMAGICL, (size_t)1, fd);
+ if (fwv != (size_t)1)
+ /* Catch first write error, don't try writing more. */
+ goto theend;
+
putc(VIMSPELLVERSION, fd); /* <versionnr> */
/*
***************
*** 8300,8310 ****
/* Write another byte to check for errors (file system full). */
if (putc(0, fd) == EOF)
retval = FAIL;
!
if (fclose(fd) == EOF)
retval = FAIL;
! if (fwv != 1)
retval = FAIL;
if (retval == FAIL)
EMSG(_(e_write));
--- 8406,8416 ----
/* Write another byte to check for errors (file system full). */
if (putc(0, fd) == EOF)
retval = FAIL;
! theend:
if (fclose(fd) == EOF)
retval = FAIL;
! if (fwv != (size_t)1)
retval = FAIL;
if (retval == FAIL)
EMSG(_(e_write));
***************
*** 9897,9903 ****
char_u *p;
int len;
int totlen;
! int x = 1; /* collect return value of fwrite() */
if (fd != NULL)
put_bytes(fd, (long_u)gap->ga_len, 2); /* <prefcondcnt> */
--- 10003,10009 ----
char_u *p;
int len;
int totlen;
! size_t x = 1; /* collect return value of fwrite() */
if (fd != NULL)
put_bytes(fd, (long_u)gap->ga_len, 2); /* <prefcondcnt> */
*** ../vim-7.2.056/src/version.c Sat Nov 29 20:10:59 2008
--- src/version.c Sat Nov 29 20:13:46 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 57,
/**/
--
GUARD #1: What -- a swallow carrying a coconut?
ARTHUR: It could grip it by the husk!
GUARD #1: It's not a question of where he grips it! It's a simple question
of weight ratios! A five ounce bird could not carry a 1 pound
coconut.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

83
7.2.058 Normal file
View file

@ -0,0 +1,83 @@
To: vim-dev@vim.org
Subject: Patch 7.2.058
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.058
Problem: Can't add a patch name to the ":version" output.
Solution: Add the extra_patches array.
Files: src/version.c
*** ../vim-7.2.057/src/version.c Sat Nov 29 20:18:44 2008
--- src/version.c Sun Nov 30 12:12:31 2008
***************
*** 794,799 ****
--- 796,814 ----
0
};
+ /*
+ * Place to put a short description when adding a feature with a patch.
+ * Keep it short, e.g.,: "relative numbers", "persistent undo".
+ * Also add a comment marker to separate the lines.
+ * See the official Vim patches for the diff format: It must use a context of
+ * one line only. Use "diff -C2".
+ */
+ static char *(extra_patches[]) =
+ { /* Add your patch description below this line */
+ /**/
+ NULL
+ };
+
int
highest_patch()
{
***************
*** 939,944 ****
--- 954,972 ----
}
}
+ /* Print the list of extra patch descriptions if there is at least one. */
+ if (extra_patches[0] != NULL)
+ {
+ MSG_PUTS(_("\nExtra patches: "));
+ s = "";
+ for (i = 0; extra_patches[i] != NULL; ++i)
+ {
+ MSG_PUTS(s);
+ s = ", ";
+ MSG_PUTS(extra_patches[i]);
+ }
+ }
+
#ifdef MODIFIED_BY
MSG_PUTS("\n");
MSG_PUTS(_("Modified by "));
*** ../vim-7.2.057/src/version.c Sat Nov 29 20:18:44 2008
--- src/version.c Sun Nov 30 12:12:31 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 58,
/**/
--
ARTHUR: Well, it doesn't matter. Will you go and tell your master that
Arthur from the Court of Camelot is here.
GUARD #1: Listen, in order to maintain air-speed velocity, a swallow
needs to beat its wings 43 times every second, right?
ARTHUR: Please!
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

70
7.2.059 Normal file
View file

@ -0,0 +1,70 @@
To: vim-dev@vim.org
Subject: Patch 7.2.059
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.2.059
Problem: Diff display is not always updated.
Solution: Update the display more often.
Files: src/diff.c
*** ../vim-7.2.058/src/diff.c Fri Nov 28 21:26:50 2008
--- src/diff.c Fri Nov 28 17:23:35 2008
***************
*** 73,78 ****
--- 73,80 ----
{
tp->tp_diffbuf[i] = NULL;
tp->tp_diff_invalid = TRUE;
+ if (tp == curtab)
+ diff_redraw(TRUE);
}
}
}
***************
*** 102,107 ****
--- 104,110 ----
{
curtab->tp_diffbuf[i] = NULL;
curtab->tp_diff_invalid = TRUE;
+ diff_redraw(TRUE);
}
}
}
***************
*** 131,136 ****
--- 134,140 ----
{
curtab->tp_diffbuf[i] = buf;
curtab->tp_diff_invalid = TRUE;
+ diff_redraw(TRUE);
return;
}
*** ../vim-7.2.058/src/version.c Sun Nov 30 12:14:35 2008
--- src/version.c Sun Nov 30 15:13:18 2008
***************
*** 678,679 ****
--- 678,681 ----
{ /* Add new patch number below this line */
+ /**/
+ 59,
/**/
--
GUARD #2: Wait a minute -- supposing two swallows carried it together?
GUARD #1: No, they'd have to have it on a line.
GUARD #2: Well, simple! They'd just use a standard creeper!
GUARD #1: What, held under the dorsal guiding feathers?
GUARD #2: Well, why not?
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

1102
7.2.060 Normal file

File diff suppressed because it is too large Load diff

51
Changelog.rpm Normal file
View file

@ -0,0 +1,51 @@
* Thu Mar 09 2006 Karsten Hopp <karsten@redhat.de> 6.4.007-4
- fix configure check for python (#184478)
* Thu Mar 09 2006 Karsten Hopp <karsten@redhat.de> 6.4.007-3
- rebuild
* Mon Feb 20 2006 Karsten Hopp <karsten@redhat.de> 6.4.007-2
- gtk-update-icon-cache --ignore-theme-index
(avoids %%post failures when hicolor-icon-theme isn't installed)
* Wed Feb 15 2006 Karsten Hopp <karsten@redhat.de> 6.4.007-1
- fix vim.csh script (#180429)
- patchlevel 7
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 1:6.4.006-1.2
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1:6.4.006-1.1
- rebuilt for new gcc4.1 snapshot and glibc changes
* Mon Jan 02 2006 Karsten Hopp <karsten@redhat.de> 6.4.006-1
- patchlevel 6, fixes bz# 175048
* Tue Dec 20 2005 Karsten Hopp <karsten@redhat.de> 6.4.004-2
- disable templates when editing new .c / .h files (#175878)
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt
* Thu Dec 08 2005 Karsten Hopp <karsten@redhat.de> 6.4.004-1
- fix fstab syntax file (#174735)
- patchlevel 4
* Wed Nov 30 2005 Karsten Hopp <karsten@redhat.de> 6.4.003-1
- patchlevel 3
- remove withgui switch as we include vim-X11 in all our distributions now
(#174271)
* Fri Nov 25 2005 Karsten Hopp <karsten@redhat.de> 6.4.000-4
- enable tmpfile patch
* Thu Oct 27 2005 Karsten Hopp <karsten@redhat.de> 6.4.000-3
- test build
* Tue Oct 25 2005 Karsten Hopp <karsten@redhat.de> 6.4.000-2
- use %%{_sysconfdir} (#171556)
- add syntax highlighting rule for %%check (Ralf Ertzinger, #165277)
* Mon Oct 17 2005 Karsten Hopp <karsten@redhat.de> 6.4.000-1
- vim-6.4 patchlevel 0

87
README.patches Normal file
View file

@ -0,0 +1,87 @@
Patches for Vim - Vi IMproved 7.2
The files in this directory contain source code changes to fix
problems in released versions of Vim. Each file also contains an
explanation of the problem that is fixed, like the message that
was sent to the vim-dev maillist.
The best is to apply the patches in sequence. This avoids problems
when a patch depends on a previous patch. If you did not unpack the
extra archive, you may want to skip patches marked with "extra:".
Similarly for the "lang" archive. Or ignore errors for missing files.
Before patching, change to the top Vim directory, where the "src"
and "runtime" directories are located.
Depending on the version of "patch" that you use, you may have add
an argument to make it patch the right file:
patch -p < 7.2.001
patch -p0 < 7.2.001
After applying a patch, you need to compile Vim. There are no
patches for binaries.
Checksums for the patch files can be found in the file MD5.
Individual patches for Vim 7.2:
SIZE NAME FIXES
1877 7.2.001 Mac: pseudo-ttys don't work properly on Leopard
1462 7.2.002 leaking memory when displaying menus
3663 7.2.003 typo in translated message, message not translated
3413 7.2.004 Cscope help message is not translated
4638 7.2.005 a few problems when profiling
1552 7.2.006 HTML files are not recognized by contents
16735 7.2.007 (extra) minor issues for VMS
1947 7.2.008 wrong window count when using :bunload in a BufHidden autocmd
2245 7.2.009 can't compile with Perl 5.10 on MS-aindows
5415 7.2.010 "K" in Visual mode does not properly escape all characters
2873 7.2.011 error when inserting a float value from expression register
1444 7.2.012 compiler warnings when building with startup timing
4157 7.2.013 hang when waiting for X selection, consuming lots of CPU time
1769 7.2.014 synstack() doesn't work in an emptly line
1943 7.2.015 "make all test install" doesn't stop when the test fails
4536 7.2.016 cmdline completion pattern can be in freed memory
5319 7.2.017 X11: strlen() used wrongly, pasting very big selection fails
1390 7.2.018 memory leak when substitute is aborted
2269 7.2.019 completion and exists() don't work for ":noautocmd"
1521 7.2.020 "kvim" starts the GUI even though KDE is no longer supported
4806 7.2.021 getting full file name when executing autocmds may be slow
3823 7.2.022 (extra) cannot run tests with the MingW compiler
2062 7.2.023 'cursorcolumn' wrong in a closed fold when display is shifted
1452 7.2.024 'history' can be made negative, causes out-of-memory error
1470 7.2.025 a CursorHold event that invokes system() is retriggered
2969 7.2.026 (after 7.2.010) 'K' uses the rest of the line
3235 7.2.027 can use cscope commands in the sandbox, might not be safe
1466 7.2.028 confusing error message for missing ()
1291 7.2.029 no completion for ":doautoall" like for ":doautocmd"
1546 7.2.030 (after 7.2.027) can't compile, ex_oldfiles undefined
39400 7.2.031 file names from viminfo are not available to the user
1583 7.2.032 (after 7.2.031) can't compile with EXITFREE defined
2270 7.2.033 using "ucs-2le" for two-byte BOM, but text might be "utf-16le"
2372 7.2.034 memory leak in spell info when deleting a buffer
3522 7.2.035 mismatches for library and Vim alloc/free functions
7545 7.2.036 (extra) mismatches for library and Vim alloc/free functions
1576 7.2.037 double free with GTK 1 and compiled with EXITFREE
2438 7.2.038 overlapping arguments to memcpy()
1378 7.2.039 accessing freed memory on exit when EXITFREE is defined
1836 7.2.040 ":e ++ff=dos foo" gets "unix" 'ff' when CR before NL missing
22993 7.2.041 diff messed up when editing a diff buffer in another tab page
4987 7.2.042 restoring view in autocmd sometimes doesn't work completely
2550 7.2.043 VMS: Too many chars escaped in filename and shell commands
5639 7.2.044 crash because of gcc 4 being over protective for strcpy()
2056 7.2.045 the Python interface has an empty entry in sys.path
1704 7.2.046 wrong check for filling buffer with encoding
2470 7.2.047 using -nb while it is not supported makes other side hang
4758 7.2.048 v:count and v:prevcount are not set correctly
32552 7.2.049 (extra) Win32: the clipboard doesn't support UTF-16
8484 7.2.050 compiler warnings for not using return value of fwrite()
15179 7.2.051 can't avoid 'wig' and 'suffixes' for glob() and globpath()
2611 7.2.052 synIDattr() doesn't support "sp" for special color
1754 7.2.053 crash when using WorkShop command ":ws foo"
2006 7.2.054 compilation warnings for fprintf format
34319 7.2.055 various compiler warnings with strict checking
1635 7.2.056 (after 7.2.050) tests 58 and 59 fail
3210 7.2.057 (after 7.2.056) trying to put size_t in int variable
2338 7.2.058 can't add a feature name in the :version output
1847 7.2.059 diff is not always displayed properly
34772 7.2.060 spell checking doesn't work well for compound words

1
ci.fmf
View file

@ -1 +0,0 @@
resultsdb-testcase: separate

2449
filetype.vim Normal file

File diff suppressed because it is too large Load diff

329
forth.vim Normal file
View file

@ -0,0 +1,329 @@
" Vim syntax file
" Language: FORTH
" Maintainer: Christian V. J. Brüssow <cvjb@cvjb.de>
" Last Change: Sa 09 Feb 2008 13:27:29 CET
" Filenames: *.fs,*.ft
" URL: http://www.cvjb.de/comp/vim/forth.vim
" $Id$
" The list of keywords is incomplete, compared with the offical ANS
" wordlist. If you use this language, please improve it, and send me
" the patches.
"
" Before sending me patches, please download the newest version of this file
" from http://www.cvjb.de/comp/vim/forth.vim or http://www.vim.org/ (search
" for forth.vim).
" Many Thanks to...
"
" 2008-02-09:
" Shawn K. Quinn <sjquinn at speakeasy dot net> send a big patch with
" new words commonly used in Forth programs or defined by GNU Forth.
"
" 2007-07-11:
" Benjamin Krill <ben at codiert dot org> send me a patch
" to highlight space errors.
" You can toggle this feature on through setting the
" flag forth_space_errors in you vimrc. If you have switched it on,
" you can turn off highlighting of trailing spaces in comments by
" setting forth_no_trail_space_error in your vimrc. If you do not want
" the highlighting of a tabulator following a space in comments, you
" can turn this off by setting forth_no_tab_space_error.
"
" 2006-05-25:
" Bill McCarthy <WJMc@...> and Ilya Sher <ilya-vim@...>
" Who found a bug in the ccomment line in 2004!!!
" I'm really very sorry, that it has taken two years to fix that
" in the offical version of this file. Shame on me.
" I think my face will be red the next ten years...
"
" 2006-05-21:
" Thomas E. Vaughan <tevaugha at ball dot com> send me a patch
" for the parenthesis comment word, so words with a trailing
" parenthesis will not start the highlighting for such comments.
"
" 2003-05-10:
" Andrew Gaul <andrew at gaul.org> send me a patch for
" forthOperators.
"
" 2003-04-03:
" Ron Aaron <ron at ronware dot org> made updates for an
" improved Win32Forth support.
"
" 2002-04-22:
" Charles Shattuck <charley at forth dot org> helped me to settle up with the
" binary and hex number highlighting.
"
" 2002-04-20:
" Charles Shattuck <charley at forth dot org> send me some code for correctly
" highlighting char and [char] followed by an opening paren. He also added
" some words for operators, conditionals, and definitions; and added the
" highlighting for s" and c".
"
" 2000-03-28:
" John Providenza <john at probo dot com> made improvements for the
" highlighting of strings, and added the code for highlighting hex numbers.
"
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Synchronization method
syn sync ccomment
syn sync maxlines=200
" I use gforth, so I set this to case ignore
syn case ignore
" Some special, non-FORTH keywords
syn keyword forthTodo contained TODO FIXME XXX
syn match forthTodo contained 'Copyright\(\s([Cc])\)\=\(\s[0-9]\{2,4}\)\='
" Characters allowed in keywords
" I don't know if 128-255 are allowed in ANS-FORTH
if version >= 600
setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
else
set iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
endif
" when wanted, highlight trailing white space
if exists("forth_space_errors")
if !exists("forth_no_trail_space_error")
syn match forthSpaceError display excludenl "\s\+$"
endif
if !exists("forth_no_tab_space_error")
syn match forthSpaceError display " \+\t"me=e-1
endif
endif
" Keywords
" basic mathematical and logical operators
syn keyword forthOperators + - * / MOD /MOD NEGATE ABS MIN MAX
syn keyword forthOperators AND OR XOR NOT LSHIFT RSHIFT INVERT 2* 2/ 1+
syn keyword forthOperators 1- 2+ 2- 8* UNDER+
syn keyword forthOperators M+ */ */MOD M* UM* M*/ UM/MOD FM/MOD SM/REM
syn keyword forthOperators D+ D- DNEGATE DABS DMIN DMAX D2* D2/
syn keyword forthOperators F+ F- F* F/ FNEGATE FABS FMAX FMIN FLOOR FROUND
syn keyword forthOperators F** FSQRT FEXP FEXPM1 FLN FLNP1 FLOG FALOG FSIN
syn keyword forthOperators FCOS FSINCOS FTAN FASIN FACOS FATAN FATAN2 FSINH
syn keyword forthOperators FCOSH FTANH FASINH FACOSH FATANH F2* F2/ 1/F
syn keyword forthOperators F~REL F~ABS F~
syn keyword forthOperators 0< 0<= 0<> 0= 0> 0>= < <= <> = > >= U< U<=
syn keyword forthOperators U> U>= D0< D0<= D0<> D0= D0> D0>= D< D<= D<>
syn keyword forthOperators D= D> D>= DU< DU<= DU> DU>= WITHIN ?NEGATE
syn keyword forthOperators ?DNEGATE
" stack manipulations
syn keyword forthStack DROP NIP DUP OVER TUCK SWAP ROT -ROT ?DUP PICK ROLL
syn keyword forthStack 2DROP 2NIP 2DUP 2OVER 2TUCK 2SWAP 2ROT 2-ROT
syn keyword forthStack 3DUP 4DUP 5DUP 3DROP 4DROP 5DROP 8DROP 4SWAP 4ROT
syn keyword forthStack 4-ROT 4TUCK 8SWAP 8DUP
syn keyword forthRStack >R R> R@ RDROP 2>R 2R> 2R@ 2RDROP
syn keyword forthRstack 4>R 4R> 4R@ 4RDROP
syn keyword forthFStack FDROP FNIP FDUP FOVER FTUCK FSWAP FROT
" stack pointer manipulations
syn keyword forthSP SP@ SP! FP@ FP! RP@ RP! LP@ LP!
" address operations
syn keyword forthMemory @ ! +! C@ C! 2@ 2! F@ F! SF@ SF! DF@ DF!
syn keyword forthAdrArith CHARS CHAR+ CELLS CELL+ CELL ALIGN ALIGNED FLOATS
syn keyword forthAdrArith FLOAT+ FLOAT FALIGN FALIGNED SFLOATS SFLOAT+
syn keyword forthAdrArith SFALIGN SFALIGNED DFLOATS DFLOAT+ DFALIGN DFALIGNED
syn keyword forthAdrArith MAXALIGN MAXALIGNED CFALIGN CFALIGNED
syn keyword forthAdrArith ADDRESS-UNIT-BITS ALLOT ALLOCATE HERE
syn keyword forthMemBlks MOVE ERASE CMOVE CMOVE> FILL BLANK
" conditionals
syn keyword forthCond IF ELSE ENDIF THEN CASE OF ENDOF ENDCASE ?DUP-IF
syn keyword forthCond ?DUP-0=-IF AHEAD CS-PICK CS-ROLL CATCH THROW WITHIN
" iterations
syn keyword forthLoop BEGIN WHILE REPEAT UNTIL AGAIN
syn keyword forthLoop ?DO LOOP I J K +DO U+DO -DO U-DO DO +LOOP -LOOP
syn keyword forthLoop UNLOOP LEAVE ?LEAVE EXIT DONE FOR NEXT
" new words
syn match forthClassDef '\<:class\s*[^ \t]\+\>'
syn match forthObjectDef '\<:object\s*[^ \t]\+\>'
syn match forthColonDef '\<:m\?\s*[^ \t]\+\>'
syn keyword forthEndOfColonDef ; ;M ;m
syn keyword forthEndOfClassDef ;class
syn keyword forthEndOfObjectDef ;object
syn keyword forthDefine CONSTANT 2CONSTANT FCONSTANT VARIABLE 2VARIABLE
syn keyword forthDefine FVARIABLE CREATE USER VALUE TO DEFER IS DOES> IMMEDIATE
syn keyword forthDefine COMPILE-ONLY COMPILE RESTRICT INTERPRET POSTPONE EXECUTE
syn keyword forthDefine LITERAL CREATE-INTERPRET/COMPILE INTERPRETATION>
syn keyword forthDefine <INTERPRETATION COMPILATION> <COMPILATION ] LASTXT
syn keyword forthDefine COMP' POSTPONE, FIND-NAME NAME>INT NAME?INT NAME>COMP
syn keyword forthDefine NAME>STRING STATE C; CVARIABLE
syn keyword forthDefine , 2, F, C,
syn match forthDefine "\[IFDEF]"
syn match forthDefine "\[IFUNDEF]"
syn match forthDefine "\[THEN]"
syn match forthDefine "\[ENDIF]"
syn match forthDefine "\[ELSE]"
syn match forthDefine "\[?DO]"
syn match forthDefine "\[DO]"
syn match forthDefine "\[LOOP]"
syn match forthDefine "\[+LOOP]"
syn match forthDefine "\[NEXT]"
syn match forthDefine "\[BEGIN]"
syn match forthDefine "\[UNTIL]"
syn match forthDefine "\[AGAIN]"
syn match forthDefine "\[WHILE]"
syn match forthDefine "\[REPEAT]"
syn match forthDefine "\[COMP']"
syn match forthDefine "'"
syn match forthDefine '\<\[\>'
syn match forthDefine "\[']"
syn match forthDefine '\[COMPILE]'
" debugging
syn keyword forthDebug PRINTDEBUGDATA PRINTDEBUGLINE
syn match forthDebug "\<\~\~\>"
" Assembler
syn keyword forthAssembler ASSEMBLER CODE END-CODE ;CODE FLUSH-ICACHE C,
" basic character operations
syn keyword forthCharOps (.) CHAR EXPECT FIND WORD TYPE -TRAILING EMIT KEY
syn keyword forthCharOps KEY? TIB CR
" recognize 'char (' or '[char] (' correctly, so it doesn't
" highlight everything after the paren as a comment till a closing ')'
syn match forthCharOps '\<char\s\S\s'
syn match forthCharOps '\<\[char\]\s\S\s'
syn region forthCharOps start=+."\s+ skip=+\\"+ end=+"+
" char-number conversion
syn keyword forthConversion <<# <# # #> #>> #S (NUMBER) (NUMBER?) CONVERT D>F
syn keyword forthConversion D>S DIGIT DPL F>D HLD HOLD NUMBER S>D SIGN >NUMBER
syn keyword forthConversion F>S S>F
" interptreter, wordbook, compiler
syn keyword forthForth (LOCAL) BYE COLD ABORT >BODY >NEXT >LINK CFA >VIEW HERE
syn keyword forthForth PAD WORDS VIEW VIEW> N>LINK NAME> LINK> L>NAME FORGET
syn keyword forthForth BODY> ASSERT( ASSERT0( ASSERT1( ASSERT2( ASSERT3( )
syn region forthForth start=+ABORT"\s+ skip=+\\"+ end=+"+
" vocabularies
syn keyword forthVocs ONLY FORTH ALSO ROOT SEAL VOCS ORDER CONTEXT #VOCS
syn keyword forthVocs VOCABULARY DEFINITIONS
" File keywords
syn keyword forthFileMode R/O R/W W/O BIN
syn keyword forthFileWords OPEN-FILE CREATE-FILE CLOSE-FILE DELETE-FILE
syn keyword forthFileWords RENAME-FILE READ-FILE READ-LINE KEY-FILE
syn keyword forthFileWords KEY?-FILE WRITE-FILE WRITE-LINE EMIT-FILE
syn keyword forthFileWords FLUSH-FILE FILE-STATUS FILE-POSITION
syn keyword forthFileWords REPOSITION-FILE FILE-SIZE RESIZE-FILE
syn keyword forthFileWords SLURP-FILE SLURP-FID STDIN STDOUT STDERR
syn keyword forthBlocks OPEN-BLOCKS USE LOAD --> BLOCK-OFFSET
syn keyword forthBlocks GET-BLOCK-FID BLOCK-POSITION LIST SCR BLOCK
syn keyword forthBlocks BUFER EMPTY-BUFFERS EMPTY-BUFFER UPDATE UPDATED?
syn keyword forthBlocks SAVE-BUFFERS SAVE-BUFFER FLUSH THRU +LOAD +THRU
syn keyword forthBlocks BLOCK-INCLUDED
" numbers
syn keyword forthMath DECIMAL HEX BASE
syn match forthInteger '\<-\=[0-9.]*[0-9.]\+\>'
syn match forthInteger '\<&-\=[0-9.]*[0-9.]\+\>'
" recognize hex and binary numbers, the '$' and '%' notation is for gforth
syn match forthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess
syn match forthInteger '\<\x*\d\x*\>' " *2* --- this order!
syn match forthInteger '\<%[0-1]*[0-1]\+\>'
syn match forthFloat '\<-\=\d*[.]\=\d\+[DdEe]\d\+\>'
syn match forthFloat '\<-\=\d*[.]\=\d\+[DdEe][-+]\d\+\>'
" XXX If you find this overkill you can remove it. this has to come after the
" highlighting for numbers otherwise it has no effect.
syn region forthComment start='0 \[if\]' end='\[endif\]' end='\[then\]' contains=forthTodo
" Strings
syn region forthString start=+\.*\"+ end=+"+ end=+$+
" XXX
syn region forthString start=+s\"+ end=+"+ end=+$+
syn region forthString start=+c\"+ end=+"+ end=+$+
" Comments
syn match forthComment '\\\s.*$' contains=forthTodo,forthSpaceError
syn region forthComment start='\\S\s' end='.*' contains=forthTodo,forthSpaceError
syn match forthComment '\.(\s[^)]*)' contains=forthTodo,forthSpaceError
syn region forthComment start='\s(\s' skip='\\)' end=')' contains=forthTodo,forthSpaceError
syn region forthComment start='/\*' end='\*/' contains=forthTodo,forthSpaceError
" Include files
syn match forthInclude '^INCLUDE\s\+\k\+'
syn match forthInclude '^require\s\+\k\+'
syn match forthInclude '^fload\s\+'
syn match forthInclude '^needs\s\+'
" Locals definitions
syn region forthLocals start='{\s' start='{$' end='\s}' end='^}'
syn match forthLocals '{ }' " otherwise, at least two spaces between
syn region forthDeprecated start='locals|' end='|'
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_forth_syn_inits")
if version < 508
let did_forth_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
" The default methods for highlighting. Can be overriden later.
HiLink forthTodo Todo
HiLink forthOperators Operator
HiLink forthMath Number
HiLink forthInteger Number
HiLink forthFloat Float
HiLink forthStack Special
HiLink forthRstack Special
HiLink forthFStack Special
HiLink forthSP Special
HiLink forthMemory Function
HiLink forthAdrArith Function
HiLink forthMemBlks Function
HiLink forthCond Conditional
HiLink forthLoop Repeat
HiLink forthColonDef Define
HiLink forthEndOfColonDef Define
HiLink forthDefine Define
HiLink forthDebug Debug
HiLink forthAssembler Include
HiLink forthCharOps Character
HiLink forthConversion String
HiLink forthForth Statement
HiLink forthVocs Statement
HiLink forthString String
HiLink forthComment Comment
HiLink forthClassDef Define
HiLink forthEndOfClassDef Define
HiLink forthObjectDef Define
HiLink forthEndOfObjectDef Define
HiLink forthInclude Include
HiLink forthLocals Type " nothing else uses type and locals must stand out
HiLink forthDeprecated Error " if you must, change to Type
HiLink forthFileMode Function
HiLink forthFileWords Statement
HiLink forthBlocks Statement
HiLink forthSpaceError Error
delcommand HiLink
endif
let b:current_syntax = "forth"
" vim:ts=8:sw=4:nocindent:smartindent:

View file

@ -1,25 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
#Rawhide
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
#gating rhel
--- !Policy
product_versions:
- rhel-*
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional}
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}

63
gvim.desktop Normal file
View file

@ -0,0 +1,63 @@
[Desktop Entry]
Name=Vi IMproved
Name[bg]=Vi Ðåäàêòîð
Name[ca]=Vi Millorat
Name[da]=Vi forbedret
Name[eo]=VIM
Name[et]=Täiustatud Vi (vim)
Name[fr]=Vi étendu (VIM)
Name[he]=רפושמ Vi
Name[hu]=Vi
Name[is]=Vi IMproved ritillinn
Name[it]=Vi iMproved
Name[no]=Vi IMproved (forbedret VI)
Name[pl]=Poprawiony VI (vim)
Name[ro]=VIM
Name[ru]=Улучшенный VI
Name[sk]=Vi IMpreved
Name[sl]=Izboljšani vi (vim)
Name[sv]=Förbättrad Vi
Name[zh_CN.GB2312]= Vi
Comment=Powerful text editor with scripting functions and macro recorder
Comment[bg]=Ðåäàêòîð ñ ìíîãî âúçìîæíîñòè
Comment[ca]=Editor vi potent
Comment[cs]=Mocný textový editor vi
Comment[da]=En kraftig vi tekstbehandler
Comment[de]=Ein leistungsfähiger vi-Editor
Comment[el]=Πανίσχυρος διορθωτής vi
Comment[eo]=VIM similas al redaktilo "vi", sed havas aldonajn ecojn
Comment[es]=Una versión mejorada del editor vi
Comment[et]=Võimas tekstiredaktor vi
Comment[fi]=Tehokas vi-tekstieditori
Comment[fr]=Éditeur vi puissant
Comment[gl]=Potente editor vi
Comment[he]=Vi המצועה בר ךרועה
Comment[hr]=Napredni vi uređivač
Comment[hu]=Vi szövegszerkesztő
Comment[is]=Öflug útgáfa vi ritilsins
Comment[it]=Un editor vi potenziato
Comment[ja]=Vi
Comment[lt]=Galingas vi redaktorius
Comment[mk]=Моќен VI уредувач
Comment[nl]=Krachtige vi-editor
Comment[no]=En kraftig vi-redigerer
Comment[no_NY]=Kraftig vi-tekstredigeringsprogram
Comment[pl]=Edytor vi
Comment[pt]=Um poderoso editor de texto
Comment[ro]=Un editor de texte VI, puternic
Comment[ru]=Мощный текстовый редактор vi
Comment[sk]=Silný textový procesor vi
Comment[sl]=Zmogljivi urejevalnik vi
Comment[sr]=Moćni vi editor
Comment[sv]=En kraftfull texteditor
Comment[ta]=ºì¾¢Å¡öó¾ vi ¦¾¡ÌôÀ¡Ç÷
Comment[tr]=Güçlü vi düzenleyicisi
Comment[uk]=Потужний редактор vi
Comment[zh_CN.GB2312]= vi
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=gvim -f %f
Icon=gvim
Type=Application
Terminal=0
X-XClassHintResName=VIM
MapNotify=false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

After

Width:  |  Height:  |  Size: 904 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 B

After

Width:  |  Height:  |  Size: 2.4 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 B

After

Width:  |  Height:  |  Size: 3.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Before After
Before After

36
gzip.vim Normal file
View file

@ -0,0 +1,36 @@
" Vim plugin for editing compressed files.
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Jul 26
" Exit quickly when:
" - this plugin was already loaded
" - when 'compatible' is set
" - some autocommands are already taking care of compressed files
if exists("loaded_gzip") || &cp || exists("#BufReadPre#*.gz")
finish
endif
let loaded_gzip = 1
augroup gzip
" Remove all gzip autocommands
au!
" Enable editing of gzipped files.
" The functions are defined in autoload/gzip.vim.
"
" Set binary mode before reading the file.
" Use "gzip -d", gunzip isn't always available.
autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z setlocal bin
autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn")
autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d")
autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress")
autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip")
autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f")
autocmd FileAppendPre *.gz call gzip#appre("gzip -dn")
autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d")
autocmd FileAppendPre *.Z call gzip#appre("uncompress")
autocmd FileAppendPost *.gz call gzip#write("gzip")
autocmd FileAppendPost *.bz2 call gzip#write("bzip2")
autocmd FileAppendPost *.Z call gzip#write("compress -f")
augroup END

View file

@ -1 +0,0 @@
%vimfiles_root %{_datadir}/vim/vimfiles

8011
netrw.vim Normal file

File diff suppressed because it is too large Load diff

361
netrwFileHandlers.vim Normal file
View file

@ -0,0 +1,361 @@
" netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell, Jr.
" Date: Sep 30, 2008
" Version: 10
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" netrwFileHandlers.vim is provided *as is* and comes with no
" warranty of any kind, either expressed or implied. In no
" event will the copyright holder be liable for any damages
" resulting from the use of this software.
"
" Rom 6:23 (WEB) For the wages of sin is death, but the free gift of God {{{1
" is eternal life in Christ Jesus our Lord.
" ---------------------------------------------------------------------
" Load Once: {{{1
if exists("g:loaded_netrwFileHandlers") || &cp
finish
endif
let g:loaded_netrwFileHandlers= "v10"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim
" ---------------------------------------------------------------------
" netrwFileHandlers#Invoke: {{{1
fun! netrwFileHandlers#Invoke(exten,fname)
" call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
let fname= a:fname
" list of supported special characters. Consider rcs,v --- that can be
" supported with a NFH_rcsCOMMAv() handler
if a:fname =~ '[@:,$!=\-+%?;~]'
let specials= {
\ '@' : 'AT',
\ ':' : 'COLON',
\ ',' : 'COMMA',
\ '$' : 'DOLLAR',
\ '!' : 'EXCLAMATION',
\ '=' : 'EQUAL',
\ '-' : 'MINUS',
\ '+' : 'PLUS',
\ '%' : 'PERCENT',
\ '?' : 'QUESTION',
\ ';' : 'SEMICOLON',
\ '~' : 'TILDE'}
let fname= substitute(a:fname,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
" call Decho('fname<'.fname.'> done with dictionary')
endif
if a:exten != "" && exists("*NFH_".a:exten)
" support user NFH_*() functions
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= NFH_".a:exten.'("'.fname.'")'
elseif a:exten != "" && exists("*s:NFH_".a:exten)
" use builtin-NFH_*() functions
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= s:NFH_".a:exten.'("'.fname.'")'
endif
" call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)
return 0
endfun
" ---------------------------------------------------------------------
" s:NFH_html: handles html when the user hits "x" when the {{{1
" cursor is atop a *.html file
fun! s:NFH_html(pagefile)
" call Dfunc("s:NFH_html(".a:pagefile.")")
let page= substitute(a:pagefile,'^','file://','')
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla ".shellescape(page,1)
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape ".shellescape(page,1)
else
" call Dret("s:NFH_html 0")
return 0
endif
" call Dret("s:NFH_html 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_htm: handles html when the user hits "x" when the {{{1
" cursor is atop a *.htm file
fun! s:NFH_htm(pagefile)
" call Dfunc("s:NFH_htm(".a:pagefile.")")
let page= substitute(a:pagefile,'^','file://','')
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla ".shellescape(page,1)
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape ".shellescape(page,1)
else
" call Dret("s:NFH_htm 0")
return 0
endif
" call Dret("s:NFH_htm 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_jpg: {{{1
fun! s:NFH_jpg(jpgfile)
" call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".shellescape(a:jpgfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
" call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'"))
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:jpgfile,1)
else
" call Dret("s:NFH_jpg 0")
return 0
endif
" call Dret("s:NFH_jpg 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_gif: {{{1
fun! s:NFH_gif(giffile)
" call Dfunc("s:NFH_gif(giffile<".a:giffile.">)")
if executable("gimp")
exe "silent! !gimp -s ".shellescape(a:giffile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:giffile,1)
else
" call Dret("s:NFH_gif 0")
return 0
endif
" call Dret("s:NFH_gif 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_png: {{{1
fun! s:NFH_png(pngfile)
" call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".shellescape(a:pngfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pngfile,1)
else
" call Dret("s:NFH_png 0")
return 0
endif
" call Dret("s:NFH_png 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_pnm: {{{1
fun! s:NFH_pnm(pnmfile)
" call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".shellescape(a:pnmfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pnmfile,1)
else
" call Dret("s:NFH_pnm 0")
return 0
endif
" call Dret("s:NFH_pnm 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_bmp: visualize bmp files {{{1
fun! s:NFH_bmp(bmpfile)
" call Dfunc("s:NFH_bmp(bmpfile<".a:bmpfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".a:bmpfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:bmpfile,1)
else
" call Dret("s:NFH_bmp 0")
return 0
endif
" call Dret("s:NFH_bmp 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_pdf: visualize pdf files {{{1
fun! s:NFH_pdf(pdf)
" call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)")
if executable("gs")
exe 'silent! !gs '.shellescape(a:pdf,1)
elseif executable("pdftotext")
exe 'silent! pdftotext -nopgbrk '.shellescape(a:pdf,1)
else
" call Dret("s:NFH_pdf 0")
return 0
endif
" call Dret("s:NFH_pdf 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_doc: visualize doc files {{{1
fun! s:NFH_doc(doc)
" call Dfunc("s:NFH_doc(doc<".a:doc.">)")
if executable("oowriter")
exe 'silent! !oowriter '.shellescape(a:doc,1)
redraw!
else
" call Dret("s:NFH_doc 0")
return 0
endif
" call Dret("s:NFH_doc 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_sxw: visualize sxw files {{{1
fun! s:NFH_sxw(sxw)
" call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)")
if executable("oowriter")
exe 'silent! !oowriter '.shellescape(a:sxw,1)
redraw!
else
" call Dret("s:NFH_sxw 0")
return 0
endif
" call Dret("s:NFH_sxw 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_xls: visualize xls files {{{1
fun! s:NFH_xls(xls)
" call Dfunc("s:NFH_xls(xls<".a:xls.">)")
if executable("oocalc")
exe 'silent! !oocalc '.shellescape(a:xls,1)
redraw!
else
" call Dret("s:NFH_xls 0")
return 0
endif
" call Dret("s:NFH_xls 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_ps: handles PostScript files {{{1
fun! s:NFH_ps(ps)
" call Dfunc("s:NFH_ps(ps<".a:ps.">)")
if executable("gs")
" call Decho("exe silent! !gs ".a:ps)
exe "silent! !gs ".shellescape(a:ps,1)
redraw!
elseif executable("ghostscript")
" call Decho("exe silent! !ghostscript ".a:ps)
exe "silent! !ghostscript ".shellescape(a:ps,1)
redraw!
elseif executable("gswin32")
" call Decho("exe silent! !gswin32 ".shellescape(a:ps,1))
exe "silent! !gswin32 ".shellescape(a:ps,1)
redraw!
else
" call Dret("s:NFH_ps 0")
return 0
endif
" call Dret("s:NFH_ps 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_eps: handles encapsulated PostScript files {{{1
fun! s:NFH_eps(eps)
" call Dfunc("s:NFH_eps()")
if executable("gs")
exe "silent! !gs ".shellescape(a:eps,1)
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw!
elseif executable("gswin32")
exe "silent! !gswin32 ".shellescape(a:eps,1)
redraw!
else
" call Dret("s:NFH_eps 0")
return 0
endif
" call Dret("s:NFH_eps 0")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_fig: handles xfig files {{{1
fun! s:NFH_fig(fig)
" call Dfunc("s:NFH_fig()")
if executable("xfig")
exe "silent! !xfig ".a:fig
redraw!
else
" call Dret("s:NFH_fig 0")
return 0
endif
" call Dret("s:NFH_fig 1")
return 1
endfun
" ---------------------------------------------------------------------
" s:NFH_obj: handles tgif's obj files {{{1
fun! s:NFH_obj(obj)
" call Dfunc("s:NFH_obj()")
if has("unix") && executable("tgif")
exe "silent! !tgif ".a:obj
redraw!
else
" call Dret("s:NFH_obj 0")
return 0
endif
" call Dret("s:NFH_obj 1")
return 1
endfun
let &cpo= s:keepcpo
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: fdm=marker

159
netrwPlugin.vim Normal file
View file

@ -0,0 +1,159 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION
" Date: Aug 10, 2008
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" netrw.vim, netrwPlugin.vim, and netrwSettings.vim are provided
" *as is* and comes with no warranty of any kind, either
" expressed or implied. By using this plugin, you agree that
" in no event will the copyright holder be liable for any damages
" resulting from the use of this software.
"
" But be doers of the Word, and not only hearers, deluding your own selves {{{1
" (James 1:22 RSV)
" =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
" Load Once: {{{1
if &cp || exists("g:loaded_netrwPlugin")
finish
endif
let g:loaded_netrwPlugin = "v134"
if v:version < 702
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
finish
endif
let s:keepcpo = &cpo
set cpo&vim
" ---------------------------------------------------------------------
" Public Interface: {{{1
" Local Browsing: {{{2
augroup FileExplorer
au!
au BufEnter * silent! call s:LocalBrowse(expand("<amatch>"))
if has("win32") || has("win95") || has("win64") || has("win16")
au BufEnter .* silent! call s:LocalBrowse(expand("<amatch>"))
endif
augroup END
" Network Browsing Reading Writing: {{{2
augroup Network
au!
if has("win32") || has("win95") || has("win64") || has("win16")
au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
else
au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://localhost/\(.*\)','\1',""))|exe "bwipe ".fnameescape(substitute(expand("<amatch>"),'file://\(\k\+@\)\=','',''))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
endif
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|exe '2Nread '.fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|exe 'Nread '.fnameescape(expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau FileWritePost ".fnameescape(expand("<amatch>"))
try
au SourceCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
catch /^Vim\%((\a\+)\)\=:E216/
au SourcePre ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
endtry
augroup END
" Commands: :Nread, :Nwrite, :NetUserPass {{{2
com! -count=1 -nargs=* Nread call netrw#NetrwSavePosn()<bar>call netrw#NetRead(<count>,<f-args>)<bar>call netrw#NetrwRestorePosn()
com! -range=% -nargs=* Nwrite call netrw#NetrwSavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#NetrwRestorePosn()
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
com! -nargs=* Nsource call netrw#NetrwSavePosn()<bar>call netrw#NetSource(<f-args>)<bar>call netrw#NetrwRestorePosn()
" Commands: :Explore, :Sexplore, Hexplore, Vexplore {{{2
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
com! -nargs=* -bar -bang -count=0 -complete=dir Sexplore call netrw#Explore(<count>,1,0+<bang>0,<q-args>)
com! -nargs=* -bar -bang -count=0 -complete=dir Hexplore call netrw#Explore(<count>,1,2+<bang>0,<q-args>)
com! -nargs=* -bar -bang -count=0 -complete=dir Vexplore call netrw#Explore(<count>,1,4+<bang>0,<q-args>)
com! -nargs=* -bar -count=0 -complete=dir Texplore call netrw#Explore(<count>,0,6 ,<q-args>)
com! -nargs=* -bar -bang Nexplore call netrw#Explore(-1,0,0,<q-args>)
com! -nargs=* -bar -bang Pexplore call netrw#Explore(-2,0,0,<q-args>)
" Commands: NetrwSettings {{{2
com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
com! -bang NetrwClean call netrw#NetrwClean(<bang>0)
" Maps:
if !exists("g:netrw_nogx") && maparg('g','n') == ""
if !hasmapto('<Plug>NetrwBrowseX')
nmap <unique> gx <Plug>NetrwBrowseX
endif
nno <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cWORD>"),0)<cr>
endif
" ---------------------------------------------------------------------
" LocalBrowse: {{{2
fun! s:LocalBrowse(dirname)
" unfortunate interaction -- debugging calls can't be used here;
" the BufEnter event causes triggering when attempts to write to
" the DBG buffer are made.
" echomsg "dirname<".a:dirname.">"
if has("amiga")
" The check against '' is made for the Amiga, where the empty
" string is the current directory and not checking would break
" things such as the help command.
if a:dirname != '' && isdirectory(a:dirname)
silent! call netrw#LocalBrowseCheck(a:dirname)
endif
elseif isdirectory(a:dirname)
" echomsg "dirname<".dirname."> isdir"
silent! call netrw#LocalBrowseCheck(a:dirname)
endif
" not a directory, ignore it
endfun
" ---------------------------------------------------------------------
" NetrwStatusLine: {{{1
fun! NetrwStatusLine()
" let g:stlmsg= "Xbufnr=".w:netrw_explore_bufnr." bufnr=".bufnr("%")." Xline#".w:netrw_explore_line." line#".line(".")
if !exists("w:netrw_explore_bufnr") || w:netrw_explore_bufnr != bufnr("%") || !exists("w:netrw_explore_line") || w:netrw_explore_line != line(".") || !exists("w:netrw_explore_list")
let &stl= s:netrw_explore_stl
if exists("w:netrw_explore_bufnr")|unlet w:netrw_explore_bufnr|endif
if exists("w:netrw_explore_line")|unlet w:netrw_explore_line|endif
return ""
else
return "Match ".w:netrw_explore_mtchcnt." of ".w:netrw_explore_listlen
endif
endfun
" ------------------------------------------------------------------------
" NetUserPass: set username and password for subsequent ftp transfer {{{1
" Usage: :call NetUserPass() -- will prompt for userid and password
" :call NetUserPass("uid") -- will prompt for password
" :call NetUserPass("uid","password") -- sets global userid and password
fun! NetUserPass(...)
" get/set userid
if a:0 == 0
" call Dfunc("NetUserPass(a:0<".a:0.">)")
if !exists("g:netrw_uid") || g:netrw_uid == ""
" via prompt
let g:netrw_uid= input('Enter username: ')
endif
else " from command line
" call Dfunc("NetUserPass(a:1<".a:1.">) {")
let g:netrw_uid= a:1
endif
" get password
if a:0 <= 1 " via prompt
" call Decho("a:0=".a:0." case <=1:")
let g:netrw_passwd= inputsecret("Enter Password: ")
else " from command line
" call Decho("a:0=".a:0." case >1: a:2<".a:2.">")
let g:netrw_passwd=a:2
endif
" call Dret("NetUserPass")
endfun
" ------------------------------------------------------------------------
" Modelines And Restoration: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo
" vim:ts=8 fdm=marker

207
netrwSettings.vim Normal file
View file

@ -0,0 +1,207 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Sep 03, 2008
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" Version: 13
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" netrwSettings.vim is provided *as is* and comes with no
" warranty of any kind, either expressed or implied. By using
" this plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
"
" Mat 4:23 (WEB) Jesus went about in all Galilee, teaching in their {{{1
" synagogues, preaching the gospel of the kingdom, and healing
" every disease and every sickness among the people.
" Load Once: {{{1
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v13"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
echohl Normal
finish
endif
" ---------------------------------------------------------------------
" NetrwSettings: {{{1
fun! netrwSettings#NetrwSettings()
" this call is here largely just to insure that netrw has been loaded
call netrw#NetrwSavePosn()
if !exists("g:loaded_netrw")
echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
return
endif
above wincmd s
enew
setlocal noswapfile bh=wipe
set ft=vim
file Netrw\ Settings
" these variables have the following default effects when they don't
" exist (ie. have not been set by the user in his/her .vimrc)
if !exists("g:netrw_liststyle")
let g:netrw_liststyle= 0
let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa"
endif
if !exists("g:netrw_silent")
let g:netrw_silent= 0
endif
if !exists("g:netrw_use_nt_rcp")
let g:netrw_use_nt_rcp= 0
endif
if !exists("g:netrw_ftp")
let g:netrw_ftp= 0
endif
if !exists("g:netrw_ignorenetrc")
let g:netrw_ignorenetrc= 0
endif
put ='+ ---------------------------------------------'
put ='+ NetrwSettings: by Charles E. Campbell, Jr.'
put ='+ Press <F1> with cursor atop any line for help'
put ='+ ---------------------------------------------'
let s:netrw_settings_stop= line(".")
put =''
put ='+ Netrw Protocol Commands'
put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd
put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd
put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd
put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd
put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd
put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd
put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd
put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
let s:netrw_protocol_stop= line(".")
put = ''
put ='+Netrw Transfer Control'
put = 'let g:netrw_cygwin = '.g:netrw_cygwin
put = 'let g:netrw_ftp = '.g:netrw_ftp
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
let s:netrw_xfer_stop= line(".")
put =''
put ='+ Netrw Messages'
put ='let g:netrw_use_errorwindow = '.g:netrw_use_errorwindow
put = ''
put ='+ Netrw Browser Control'
put = 'let g:netrw_alto = '.g:netrw_alto
put = 'let g:netrw_altv = '.g:netrw_altv
put = 'let g:netrw_browse_split = '.g:netrw_browse_split
if exists("g:netrw_browsex_viewer")
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
else
put = 'let g:netrw_browsex_viewer = (not defined)'
endif
put = 'let g:netrw_compress = '.g:netrw_compress
put = 'let g:netrw_cursorline = '.g:netrw_cursorline
let decompressline= line("$")
put ='let g:netrw_decompress...'
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
let fnameescline= line("$")
put = 'let g:netrw_fname_escape...'
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
let globescline= line("$")
put ='let g:netrw_glob_escape...'
put = 'let g:netrw_hide = '.g:netrw_hide
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
put = 'let g:netrw_local_mkdir = '.g:netrw_local_mkdir
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
put = 'let g:netrw_local_rmdir = '.g:netrw_local_rmdir
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
put = 'let g:netrw_preview = '.g:netrw_preview
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
put = 'let g:netrw_retmap = '.g:netrw_retmap
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
put = 'let g:netrw_silent = '.g:netrw_silent
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
put = 'let g:netrw_scpport = '.g:netrw_scpport
put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_timefmt = '.g:netrw_timefmt
let tmpfileescline= line("$")
put ='let g:netrw_tmpfile_escape...'
put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf
put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen
put = 'let g:netrw_winsize = '.g:netrw_winsize
put =''
put ='+ For help, place cursor on line and press <F1>'
1d
silent %s/^+/"/e
res 99
silent %s/= \([^0-9].*\)$/= '\1'/e
silent %s/= $/= ''/e
1
call setline(decompressline,"let g:netrw_decompress = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
call setline(fnameescline, "let g:netrw_fname_escape = '".escape(g:netrw_fname_escape,"'")."'")
call setline(globescline, "let g:netrw_glob_escape = '".escape(g:netrw_glob_escape,"'")."'")
call setline(tmpfileescline,"let g:netrw_tmpfile_escape = '".escape(g:netrw_tmpfile_escape,"'")."'")
set nomod
nmap <buffer> <silent> <F1> :call NetrwSettingHelp()<cr>
nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call NetrwSettingHelp()<cr>
let tmpfile= tempname()
exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
endfun
" ---------------------------------------------------------------------
" NetrwSettingHelp: {{{2
fun! NetrwSettingHelp()
" call Dfunc("NetrwSettingHelp()")
let curline = getline(".")
if curline =~ '='
let varhelp = substitute(curline,'^\s*let ','','e')
let varhelp = substitute(varhelp,'\s*=.*$','','e')
" call Decho("trying help ".varhelp)
try
exe "he ".varhelp
catch /^Vim\%((\a\+)\)\=:E149/
echo "***sorry*** no help available for <".varhelp.">"
endtry
elseif line(".") < s:netrw_settings_stop
he netrw-settings
elseif line(".") < s:netrw_protocol_stop
he netrw-externapp
elseif line(".") < s:netrw_xfer_stop
he netrw-variables
else
he netrw-browse-var
endif
" call Dret("NetrwSettingHelp")
endfun
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim:ts=8 fdm=marker

View file

@ -1,35 +0,0 @@
/tier1-internal:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/vim.git
name: /plans/tier1/internal
/tier1-public:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/vim.git
name: /plans/tier1/public
/tier2-tier3-internal:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/vim.git
name: /plans/tier2-tier3/internal
/tier2-tier3-public:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/vim.git
name: /plans/tier2-tier3/public
/others-internal:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/vim.git
name: /plans/others/internal
/others-public:
plan:
import:
url: https://gitlab.com/redhat/centos-stream/tests/vim.git
name: /plans/others/public

View file

@ -1 +1,3 @@
SHA512 (vim-9.1-2068.tar.bz2) = f19ae5898f7c388f437fe03af23d956ef66706c2a629a3389622e0b583d9bd831dd4e250badb181fceacb2b52b1f8a6bda4f72fbece122b5f5097153daf774f3
35e04482f07c57221c9a751aaa3b8dac vim-7.2-extra.tar.gz
d8884786979e0e520c112faf2e176f05 vim-7.2-lang.tar.gz
556572edfda7a319541a3bc860c7fd36 vim-7.2.tar.bz2

42
spec-template Normal file
View file

@ -0,0 +1,42 @@
Name:
Version:
Release: 1%{?dist}
Summary:
Group:
License:
URL:
Source0:
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:
Requires:
%description
%prep
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc
%changelog

View file

@ -1,41 +0,0 @@
# SPEC file overview:
# https://docs.fedoraproject.org/en-US/quick-docs/creating-rpm-packages/#con_rpm-spec-file-overview
# Fedora packaging guidelines:
# https://docs.fedoraproject.org/en-US/packaging-guidelines/
Name:
Version:
Release: 0%{?dist}
Summary:
License:
URL:
Source0:
BuildRequires:
Requires:
%description
%prep
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
%make_install
%files
%doc
%license
%changelog

500
tar.vim Normal file
View file

@ -0,0 +1,500 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: Aug 08, 2008
" Version: 23 + modifications by Bram
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
" Contains many ideas from Michael Toren's <tar.vim>
"
" Copyright: Copyright (C) 2005-2008 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" tar.vim and tarPlugin.vim are provided *as is* and comes
" with no warranty of any kind, either expressed or implied.
" By using this plugin, you agree that in no event will the
" copyright holder be liable for any damages resulting from
" the use of this software.
" ---------------------------------------------------------------------
" Load Once: {{{1
let s:keepcpo= &cpo
set cpo&vim
if &cp || exists("g:loaded_tar") || v:version < 700
finish
endif
let g:loaded_tar= "v23b"
"call Decho("loading autoload/tar.vim")
if v:version < 701 || (v:version == 701 && !has("patch299"))
echoerr "(autoload/tar.vim) need vim v7.1 with patchlevel 299"
endif
" ---------------------------------------------------------------------
" Default Settings: {{{1
if !exists("g:tar_browseoptions")
let g:tar_browseoptions= "Ptf"
endif
if !exists("g:tar_readoptions")
let g:tar_readoptions= "OPxf"
endif
if !exists("g:tar_cmd")
let g:tar_cmd= "tar"
endif
if !exists("g:tar_writeoptions")
let g:tar_writeoptions= "uf"
endif
if !exists("g:netrw_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
let g:netrw_cygwin= 1
else
let g:netrw_cygwin= 0
endif
else
let g:netrw_cygwin= 0
endif
endif
" set up shell quoting character
if !exists("g:tar_shq")
if exists("&shq") && &shq != ""
let g:tar_shq= &shq
elseif has("win32") || has("win95") || has("win64") || has("win16")
if exists("g:netrw_cygwin") && g:netrw_cygwin
let g:tar_shq= "'"
else
let g:tar_shq= '"'
endif
else
let g:tar_shq= "'"
endif
" call Decho("g:tar_shq<".g:tar_shq.">")
endif
" ----------------
" Functions: {{{1
" ----------------
" ---------------------------------------------------------------------
" tar#Browse: {{{2
fun! tar#Browse(tarfile)
" call Dfunc("tar#Browse(tarfile<".a:tarfile.">)")
let repkeep= &report
set report=10
" sanity checks
if !executable(g:tar_cmd)
redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Browse")
return
endif
if !filereadable(a:tarfile)
" call Decho('a:tarfile<'.a:tarfile.'> not filereadable')
if a:tarfile !~# '^\a\+://'
" if its an url, don't complain, let url-handlers such as vim do its thing
redraw!
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
endif
let &report= repkeep
" call Dret("tar#Browse : file<".a:tarfile."> not readable")
return
endif
if &ma != 1
set ma
endif
let w:tarfile= a:tarfile
setlocal noswapfile
setlocal buftype=nofile
setlocal bufhidden=hide
setlocal nobuflisted
setlocal nowrap
set ft=tar
" give header
" call Decho("printing header")
let lastline= line("$")
call setline(lastline+1,'" tar.vim version '.g:loaded_tar)
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
call setline(lastline+3,'" Select a file with cursor and press ENTER')
$put =''
0d
$
let tarfile= a:tarfile
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e')
endif
let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("1: exe silent r! gzip -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".s:Escape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! cat -- ".s:Escape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$'
" call Decho("3: exe silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
else
if tarfile =~ '^\s*-'
" A file name starting with a dash may be taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".s:Escape(tarfile,1))
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".s:Escape(tarfile,1)
endif
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">"
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return
endif
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
silent %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".fnameescape(a:tarfile)
let &ei= eikeep
1d
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return
endif
setlocal noma nomod ro
noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
let &report= repkeep
" call Dret("tar#Browse : w:tarfile<".w:tarfile.">")
endfun
" ---------------------------------------------------------------------
" TarBrowseSelect: {{{2
fun! s:TarBrowseSelect()
" call Dfunc("TarBrowseSelect() w:tarfile<".w:tarfile."> curfile<".expand("%").">")
let repkeep= &report
set report=10
let fname= getline(".")
" call Decho("fname<".fname.">")
if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-'
redraw!
echohl WarningMsg | echo '***error*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"; See :help tar-options'
" call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"')
return
endif
" sanity check
if fname =~ '^"'
let &report= repkeep
" call Dret("TarBrowseSelect")
return
endif
" about to make a new window, need to use w:tarfile
let tarfile= w:tarfile
let curfile= expand("%")
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e')
endif
new
if !exists("g:tar_nomax") || g:tar_nomax == 0
wincmd _
endif
let s:tblfile_{winnr()}= curfile
call tar#Read("tarfile:".tarfile.'::'.fname,1)
filetype detect
let &report= repkeep
" call Dret("TarBrowseSelect : s:tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
endfun
" ---------------------------------------------------------------------
" tar#Read: {{{2
fun! tar#Read(fname,mode)
" call Dfunc("tar#Read(fname<".a:fname.">,mode=".a:mode.")")
let repkeep= &report
set report=10
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e')
endif
" call Decho("tarfile<".tarfile.">")
" call Decho("fname<".fname.">")
if fname =~ '\.gz$' && executable("zcat")
let decmp= "|zcat"
let doro = 1
elseif fname =~ '\.bz2$' && executable("bzcat")
let decmp= "|bzcat"
let doro = 1
else
let decmp=""
let doro = 0
if fname =~ '\.gz$\|\.bz2$\|\.Z$\|\.zip$'
setlocal bin
endif
endif
if exists("g:tar_secure")
let tar_secure= " -- "
else
let tar_secure= " "
endif
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("5: exe silent r! gzip -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.s:Escape(fname,1))
exe "silent r! gzip -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp
elseif tarfile =~# '\.lrp$'
" call Decho("6: exe silent r! cat ".s:Escape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp)
exe "silent r! cat -- ".s:Escape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp
elseif tarfile =~# '\.bz2$'
" call Decho("7: exe silent r! bzip2 -d -c ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp)
exe "silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp
else
if tarfile =~ '^\s*-'
" A file name starting with a dash may be taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions." "s:Escape(tarfile,1).tar_secure..s:Escape(fname,1).decmp)
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions." ".s:Escape(tarfile,1).tar_secure.s:Escape(fname,1).decmp
endif
if doro
" because the reverse process of compressing changed files back into the tarball is not currently supported
setlocal ro
endif
let w:tarfile= a:fname
exe "file tarfile::".fnameescape(fname)
" cleanup
0d
set nomod
let &report= repkeep
" call Dret("tar#Read : w:tarfile<".w:tarfile.">")
endfun
" ---------------------------------------------------------------------
" tar#Write: {{{2
fun! tar#Write(fname)
" call Dfunc("tar#Write(fname<".a:fname.">) w:tarfile<".w:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
let repkeep= &report
set report=10
if !exists("g:tar_secure") && a:fname =~ '^\s*-\|\s\+-'
redraw!
echohl WarningMsg | echo '***error*** (tar#Write) rejecting tarfile member<'.a:fname.'> because of embedded "-"; See :help tar-options'
" call Dret('tar#Write : rejecting tarfile member<'.fname.'> because of embedded "-"')
return
endif
" sanity checks
if !executable(g:tar_cmd)
redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
endif
if !exists("*mkdir")
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
endif
let curdir= getcwd()
let tmpdir= tempname()
" call Decho("orig tempname<".tmpdir.">")
if tmpdir =~ '\.'
let tmpdir= substitute(tmpdir,'\.[^.]*$','','e')
endif
" call Decho("tmpdir<".tmpdir.">")
call mkdir(tmpdir,"p")
" attempt to change to the indicated directory
try
exe "cd ".fnameescape(tmpdir)
catch /^Vim\%((\a\+)\)\=:E344/
redraw!
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
endtry
" call Decho("current directory now: ".getcwd())
" place temporary files under .../_ZIPVIM_/
if isdirectory("_ZIPVIM_")
call s:Rmdir("_ZIPVIM_")
endif
call mkdir("_ZIPVIM_")
cd _ZIPVIM_
" call Decho("current directory now: ".getcwd())
let tarfile = substitute(w:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(w:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
" handle compressed archives
if tarfile =~# '\.gz'
call system("gzip -d -- ".s:Escape(tarfile,0))
let tarfile = substitute(tarfile,'\.gz','','e')
let compress= "gzip -- ".s:Escape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.tgz'
call system("gzip -d -- ".s:Escape(tarfile,0))
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
let compress= "gzip -- ".s:Escape(tarfile,0)
let tgz = 1
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.bz2'
call system("bzip2 -d -- ".s:Escape(tarfile,0))
let tarfile = substitute(tarfile,'\.bz2','','e')
let compress= "bzip2 -- ".s:Escape(tarfile,0)
" call Decho("compress<".compress.">")
endif
" call Decho("tarfile<".tarfile.">")
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
else
" call Decho("tarfile<".tarfile."> fname<".fname.">")
if fname =~ '/'
let dirpath = substitute(fname,'/[^/]\+$','','e')
if executable("cygpath")
let dirpath = substitute(system("cygpath ".s:Escape(dirpath, 0)),'\n','','e')
endif
call mkdir(dirpath,"p")
endif
if tarfile !~ '/'
let tarfile= curdir.'/'.tarfile
endif
if tarfile =~ '^\s*-'
" A file name starting with a dash may be taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("tarfile<".tarfile."> fname<".fname.">")
if exists("g:tar_secure")
let tar_secure= " -- "
else
let tar_secure= " "
endif
exe "w! ".fnameescape(fname)
if executable("cygpath")
let tarfile = substitute(system("cygpath ".s:Escape(tarfile,0)),'\n','','e')
endif
" delete old file from tarfile
" call Decho("system(".g:tar_cmd." --delete -f ".s:Escape(tarfile,0)." -- ".s:Escape(fname,0).")")
call system(g:tar_cmd." --delete -f ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0))
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
else
" update tarfile with new file
" call Decho(g:tar_cmd." -".g:tar_writeoptions." ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0))
call system(g:tar_cmd." -".g:tar_writeoptions." ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0))
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
elseif exists("compress")
" call Decho("call system(".compress.")")
call system(compress)
if exists("tgz")
" call Decho("rename(".tarfile.".gz,".substitute(tarfile,'\.tar$','.tgz','e').")")
call rename(tarfile.".gz",substitute(tarfile,'\.tar$','.tgz','e'))
endif
endif
endif
" support writing tarfiles across a network
if s:tblfile_{winnr()} =~ '^\a\+://'
" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
let tblfile= s:tblfile_{winnr()}
1split|enew
let binkeep= &binary
let eikeep = &ei
set binary ei=all
exe "e! ".fnameescape(tarfile)
call netrw#NetWrite(tblfile)
let &ei = eikeep
let &binary = binkeep
q!
unlet s:tblfile_{winnr()}
endif
endif
" cleanup and restore current directory
cd ..
call s:Rmdir("_ZIPVIM_")
exe "cd ".fnameescape(curdir)
setlocal nomod
let &report= repkeep
" call Dret("tar#Write")
endfun
" ---------------------------------------------------------------------
" Rmdir: {{{2
fun! s:Rmdir(fname)
" call Dfunc("Rmdir(fname<".a:fname.">)")
if has("unix")
call system("/bin/rm -rf -- ".s:Escape(a:fname,0))
elseif has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~? "sh$"
call system("/bin/rm -rf -- ".s:Escape(a:fname,0))
else
call system("del /S ".s:Escape(a:fname,0))
endif
endif
" call Dret("Rmdir")
endfun
" ---------------------------------------------------------------------
" s:Escape: {{{2
fun s:Escape(name,isfilt)
" shellescape() was added by patch 7.0.111
if exists("*shellescape")
if a:isfilt
let qnameq= shellescape(a:name,1)
else
let qnameq= shellescape(a:name)
endif
else
let qnameq= g:tar_shq . a:name . g:tar_shq
endif
return qnameq
endfun
" ---------------------------------------------------------------------
" Modelines And Restoration: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo
" vim:ts=8 fdm=marker

126
vi_help.txt Normal file
View file

@ -0,0 +1,126 @@
*vi-help.txt* For Vim version 7.1. Last change: 2008 Mar 03
VIM - minimal help file
(NOTE: This is a minimal help file and many tags won't work. Use 'vim' or
'gvim' to read the complete help docs.)
k
Move around: Use the cursor keys, or "h" to go left, h l
"j" to go down, "k" to go up, "l" to go right. j
Close this window: Use ":q<Enter>".
Get out of Vim: Use ":qa!<Enter>" (careful, all changes are lost!).
Jump to a subject: Position the cursor on a tag between |bars| and hit CTRL-].
Jump back: Type CTRL-T or CTRL-O (repeat to go further back).
Get specific help: It is possible to go directly to whatever you want help
on, by giving an argument to the ":help" command |:help|.
It is possible to further specify the context:
*vi-help-context*
WHAT PREPEND EXAMPLE ~
Normal mode command (nothing) :help x
Insert mode command i_ :help i_<Esc>
Command-line command : :help :quit
Command-line editing c_ :help c_<Del>
Vim command argument - :help -r
Option ' :help 'textwidth'
Search for help: Type ":help word", then hit CTRL-D to see matching
help entries for "word".
VIM stands for Vi IMproved. Most of VIM was made by Bram Moolenaar, but only
through the help of many others. See |vi-credits|.
------------------------------------------------------------------------------
3. Credits *vi-credits* *vi-author* *vi-Bram* *vi-Moolenaar*
Most of Vim was written by Bram Moolenaar <Bram@vim.org>.
Parts of the documentation come from several Vi manuals, written by:
W.N. Joy
Alan P.W. Hewett
Mark Horton
The Vim editor is based on Stevie and includes (ideas from) other software,
worked on by the people mentioned here. Other people helped by sending me
patches, suggestions and giving feedback about what is good and bad in Vim.
Vim would never have become what it is now, without the help of these people!
Ron Aaron Win32 GUI changes
Zoltan Arpadffy work on VMS port
Tony Andrews Stevie
Gert van Antwerpen changes for DJGPP on MS-DOS
Berkeley DB(3) ideas for swap file implementation
Keith Bostic Nvi
Walter Briscoe Makefile updates, various patches
Ralf Brown SPAWNO library for MS-DOS
Robert Colon many useful remarks
Marcin Dalecki GTK+ GUI port, toolbar icons, gettext()
Kayhan Demirel sent me news in Uganda
Chris & John Downey xvi (ideas for multi-windows version)
Henk Elbers first VMS port
Daniel Elstner GTK+ 2 port
Eric Fischer Mac port, 'cindent', and other improvements
Benji Fisher Answering lots of user questions
Bill Foster Athena GUI port
Loic Grenie xvim (ideas for multi windows version)
Sven Guckes Vim promotor and previous WWW page maintainer
Darren Hiebert Exuberant ctags
Jason Hildebrand GTK+ 2 port
Bruce Hunsaker improvements for VMS port
Andy Kahn Cscope support, GTK+ GUI port
Oezguer Kesim Maintainer of Vim Mailing Lists
Axel Kielhorn work on the Macintosh port
Steve Kirkendall Elvis
Roger Knobbe original port to Windows NT
Sergey Laskavy Vim's help from Moscow
Felix von Leitner Maintainer of Vim Mailing Lists
David Leonard Port of Python extensions to Unix
Avner Lottem Edit in right-to-left windows
Flemming Madsen X11 client-server, various features and patches
MicroSoft Gave me a copy of DevStudio to compile Vim with
Paul Moore Python interface extensions, many patches
Katsuhito Nagano Work on multi-byte versions
Sung-Hyun Nam Work on multi-byte versions
Vince Negri Win32 GUI and generic console enhancements
Steve Oualline Author of the first Vim book |frombook|
George V. Reilly Win32 port, Win32 GUI start-off
Stephen Riehm bug collector
Stefan Roemer various patches and help to users
Ralf Schandl IBM OS/390 port
Olaf Seibert DICE and BeBox version, regexp improvements
Mortaza Shiran Farsi patches
Peter da Silva termlib
Paul Slootman OS/2 port
Henry Spencer regular expressions
Dany St-Amant Macintosh port
Tim Thompson Stevie
G. R. (Fred) Walter Stevie
Sven Verdoolaege Perl interface
Robert Webb Command-line completion, GUI versions, and
lots of patches
Ingo Wilken Tcl interface
Mike Williams PostScript printing
Juergen Weigert Lattice version, AUX improvements, UNIX and
MS-DOS ports, autoconf
Stefan 'Sec' Zehl Maintainer of vim.org
I wish to thank all the people that sent me bug reports and suggestions. The
list is too long to mention them all here. Vim would not be the same without
the ideas from all these people: They keep Vim alive!
------------------------------------------------------------------------------
*vi-doc-file-list* *V_ct*
BASIC:
|copying| About copyrights
|iccf| Helping poor children in Uganda
|sponsor| Sponsor Vim development, become a registered Vim user
|www| Vim on the World Wide Web
|bugs| Where to send bug reports
------------------------------------------------------------------------------
Now that you've jumped here with CTRL-] or a double mouse click, you can use
CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were.
------------------------------------------------------------------------------
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:

View file

@ -1,23 +0,0 @@
#!/usr/bin/sh
# run vim if:
# - 'vi' command is used and 'vim' binary is available
# - 'vim' command is used
# NOTE: Set up a local alias if you want vim -> vi functionality. We will not
# do it globally, because it messes up with available startup options (see
# ':help starting', 'vi' is not capable of '-d'). The introducing an environment
# variable, which an user must set to get the feature, will do the same trick
# as setting an alias (needs user input, does not work with sudo), so it is left
# on user whether he decides to use an alias:
#
# alias vim=vi
#
# in bashrc file.
if test -f /usr/bin/vim
then
exec /usr/bin/vim "$@"
fi
# run vi otherwise
exec /usr/libexec/vi "$@"

View file

@ -1,10 +0,0 @@
#!/usr/bin/sh
# run vim -R if available
if test -f /usr/bin/vim
then
exec /usr/bin/vim -R "$@"
fi
# run vi otherwise
exec /usr/libexec/vi -R "$@"

11
vim-6.1-rh3.patch Normal file
View file

@ -0,0 +1,11 @@
--- vim61/runtime/scripts.vim.rh3 2003-02-12 13:00:49.000000000 +0100
+++ vim61/runtime/scripts.vim 2003-02-12 13:01:37.000000000 +0100
@@ -22,6 +22,8 @@
endif
endif
+set formatoptions=tcql nocindent comments&
+
" Line continuation is used here, remove 'C' from 'cpoptions'
let s:cpo_save = &cpo
set cpo&vim

32
vim-6.2-specsyntax.patch Normal file
View file

@ -0,0 +1,32 @@
--- vim62d/runtime/syntax/spec.vim.highlite 2003-05-13 14:48:55.000000000 +0200
+++ vim62d/runtime/syntax/spec.vim 2003-05-13 14:52:51.000000000 +0200
@@ -38,7 +38,7 @@
syn match specManpageFile '[a-zA-Z]\.1'
"Day, Month and most used license acronyms
-syn keyword specLicense contained GPL LGPL BSD MIT GNU
+syn keyword specLicense contained GPL LGPL BSD MIT GNU distributable
syn keyword specWeekday contained Mon Tue Wed Thu Fri Sat Sun
syn keyword specMonth contained Jan Feb Mar Apr Jun Jul Aug Sep Oct Nov Dec
syn keyword specMonth contained January February March April May June July August September October November December
@@ -61,9 +61,9 @@
"specComands
syn match specConfigure contained '\./configure'
-syn match specTarCommand contained '\<tar\s\+[cxvpzIf]\{,5}\s*'
+syn match specTarCommand contained '\<tar\s\+[cxvpzIjf]\{,5}\s*'
syn keyword specCommandSpecial contained root
-syn keyword specCommand contained make xmkmf mkdir chmod ln find sed rm strip moc echo grep ls rm mv mkdir install cp pwd cat tail then else elif cd gzip rmdir ln eval export touch
+syn keyword specCommand contained make xmkmf mkdir chmod ln find sed rm strip moc echo grep ls rm mv mkdir install cp pwd cat tail then else elif cd gzip rmdir ln eval export touch bzip2 bunzip2 gunzip
syn cluster specCommands contains=specCommand,specTarCommand,specConfigure,specCommandSpecial
"frequently used rpm env vars
@@ -105,7 +105,7 @@
"%% PreAmble Section %%
"Copyright and Serial were deprecated by License and Epoch
syn region specPreAmbleDeprecated oneline matchgroup=specError start='^\(Copyright\|Serial\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
-syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
+syn region specPreAmble oneline matchgroup=specCommand start='^\(Prereq\|Summary\|Name\|Version\|Packager\|Requires\|Icon\|URL\|Source\d*\|Patch\d*\|Prefix\|Packager\|Group\|License\|Release\|BuildRoot\|Distribution\|Vendor\|Provides\|ExclusiveArch\|ExcludeArch\|ExclusiveOS\|Obsoletes\|BuildArch\|BuildArchitectures\|BuildRequires\|BuildConflicts\|BuildPreReq\|Conflicts\|AutoRequires\|AutoReq\|AutoReqProv\|AutoProv\|Epoch\|ExcludeOS\)' end='$' contains=specEmail,specURL,specURLMacro,specLicense,specColon,specVariables,specSpecialChar,specMacroIdentifier
"%% Description Section %%
syn region specDescriptionArea matchgroup=specSection start='^%description' end='^%'me=e-1 contains=specDescriptionOpts,specEmail,specURL,specNumber,specMacroIdentifier,specComment

11
vim-6.4-checkhl.patch Normal file
View file

@ -0,0 +1,11 @@
--- vim64/runtime/syntax/spec.vim.check 2005-10-25 13:18:57.000000000 +0200
+++ vim64/runtime/syntax/spec.vim 2005-10-25 13:20:06.000000000 +0200
@@ -114,7 +114,7 @@
syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment
"%% Scripts Section %%
-syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
+syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|check\|clean\|pre\|postun\|preun\|post\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
"%% Changelog Section %%
syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense

10
vim-7.0-crv.patch Normal file
View file

@ -0,0 +1,10 @@
--- vim70aa/src/term.c.orig 2006-03-14 15:40:15.000000000 +0100
+++ vim70aa/src/term.c 2006-03-14 15:43:54.000000000 +0100
@@ -1284,7 +1284,6 @@
{(int)KS_CWS, "[%dCWS%d]"},
{(int)KS_CWP, "[%dCWP%d]"},
# endif
- {(int)KS_CRV, "[CRV]"},
{K_UP, "[KU]"},
{K_DOWN, "[KD]"},
{K_LEFT, "[KL]"},

View file

@ -1,26 +1,25 @@
diff -up vim90/src/term.c.fixkeys vim90/src/term.c
--- vim90/src/term.c.fixkeys 2022-10-20 14:45:53.896659582 +0200
+++ vim90/src/term.c 2022-10-20 14:48:28.958697659 +0200
@@ -851,14 +851,14 @@ static struct builtin_term builtin_termc
{K_XRIGHT, "\033[@;*C"}, // Esc [ C or Esc [ 1 ; C
{K_XLEFT, "\033[@;*D"}, // Esc [ D or Esc [ 1 ; D
// An extra set of function keys for vt100 mode
- {K_XF1, "\033O*P"},
- {K_XF2, "\033O*Q"},
- {K_XF3, "\033O*R"},
- {K_XF4, "\033O*S"},
- {K_F1, "\033[11;*~"},
- {K_F2, "\033[12;*~"},
- {K_F3, "\033[13;*~"},
- {K_F4, "\033[14;*~"},
+ {K_XF1, "\033[11~"},
+ {K_XF2, "\033[12~"},
+ {K_XF3, "\033[13~"},
+ {K_XF4, "\033[14~"},
+ {K_F1, "\033OP"},
+ {K_F2, "\033OQ"},
+ {K_F3, "\033OR"},
+ {K_F4, "\033OS"},
{K_F5, "\033[15;*~"},
{K_F6, "\033[17;*~"},
{K_F7, "\033[18;*~"},
--- vim70aa/src/term.c.orig 2006-03-01 23:07:55.000000000 +0100
+++ vim70aa/src/term.c 2006-03-14 15:39:12.000000000 +0100
@@ -1008,14 +1008,14 @@
{K_XRIGHT, IF_EB("\033[1;*C", ESC_STR "[1;*C")},
{K_XLEFT, IF_EB("\033[1;*D", ESC_STR "[1;*D")},
/* An extra set of function keys for vt100 mode */
- {K_XF1, IF_EB("\033O*P", ESC_STR "O*P")},
- {K_XF2, IF_EB("\033O*Q", ESC_STR "O*Q")},
- {K_XF3, IF_EB("\033O*R", ESC_STR "O*R")},
- {K_XF4, IF_EB("\033O*S", ESC_STR "O*S")},
- {K_F1, IF_EB("\033[11;*~", ESC_STR "[11;*~")},
- {K_F2, IF_EB("\033[12;*~", ESC_STR "[12;*~")},
- {K_F3, IF_EB("\033[13;*~", ESC_STR "[13;*~")},
- {K_F4, IF_EB("\033[14;*~", ESC_STR "[14;*~")},
+ {K_XF1, IF_EB("\033[11~", ESC_STR "[11~")},
+ {K_XF2, IF_EB("\033[12~", ESC_STR "[12~")},
+ {K_XF3, IF_EB("\033[13~", ESC_STR "[13~")},
+ {K_XF4, IF_EB("\033[14~", ESC_STR "[14~")},
+ {K_F1, IF_EB("\033OP", ESC_STR "OP")},
+ {K_F2, IF_EB("\033OQ", ESC_STR "OQ")},
+ {K_F3, IF_EB("\033OR", ESC_STR "OR")},
+ {K_F4, IF_EB("\033OS", ESC_STR "OS")},
{K_F5, IF_EB("\033[15;*~", ESC_STR "[15;*~")},
{K_F6, IF_EB("\033[17;*~", ESC_STR "[17;*~")},
{K_F7, IF_EB("\033[18;*~", ESC_STR "[18;*~")},

15
vim-7.0-rclocation.patch Normal file
View file

@ -0,0 +1,15 @@
--- vim62/src/os_unix.h.rcloc 2003-08-04 15:38:05.000000000 +0200
+++ vim62/src/os_unix.h 2003-08-04 15:39:25.000000000 +0200
@@ -230,10 +230,10 @@
* Unix system-dependent file names
*/
#ifndef SYS_VIMRC_FILE
-# define SYS_VIMRC_FILE "$VIM/vimrc"
+# define SYS_VIMRC_FILE "/etc/vimrc"
#endif
#ifndef SYS_GVIMRC_FILE
-# define SYS_GVIMRC_FILE "$VIM/gvimrc"
+# define SYS_GVIMRC_FILE "/etc/gvimrc"
#endif
#ifndef DFLT_HELPFILE
# define DFLT_HELPFILE "$VIMRUNTIME/doc/help.txt"

64
vim-7.0-specedit.patch Normal file
View file

@ -0,0 +1,64 @@
--- vim70/runtime/ftplugin/spec.vim.rh1 2006-05-10 19:37:45.000000000 +0200
+++ vim70/runtime/ftplugin/spec.vim 2006-11-13 12:21:32.000000000 +0100
@@ -18,11 +18,18 @@
if !exists("*s:SpecChangelog")
function s:SpecChangelog(format)
+ let save_time = v:lc_time
if strlen(a:format) == 0
if !exists("g:spec_chglog_format")
- let email = input("Email address: ")
- let g:spec_chglog_format = "%a %b %d %Y " . l:email
- echo "\r"
+ if !exists("g:packager")
+ let email = input("Email address: ")
+ let g:spec_chglog_format = "%a %b %d %Y " . l:email
+ echo "\r"
+ else
+ let email = g:packager
+ let g:spec_chglog_format = "%a %b %d %Y " . l:email
+ echo "\r"
+ endif
endif
let format = g:spec_chglog_format
else
@@ -58,7 +65,7 @@
let line = line+1
endwhile
if (nameline != -1 && verline != -1 && relline != -1)
- let include_release_info = exists("g:spec_chglog_release_info")
+ let include_release_info = 1
let name = s:ParseRpmVars(name, nameline)
let ver = s:ParseRpmVars(ver, verline)
let rel = s:ParseRpmVars(rel, relline)
@@ -79,8 +86,10 @@
endif
endif
if (chgline != -1)
+ execute "language time C"
let parsed_format = "* ".strftime(format)
- let release_info = "+ ".name."-".ver."-".rel
+ execute "language time " . save_time
+ let release_info = ver."-".rel
let wrong_format = 0
let wrong_release = 0
let insert_line = 0
@@ -97,15 +106,14 @@
execute relline
normal 
let rel = substitute(strpart(getline(relline),8), '^[ ]*\([^ ]\+\)[ ]*$','\1','')
- let release_info = "+ ".name."-".ver."-".rel
+ let release_info = ver."-".rel
endif
endif
let n = 0
- call append(chgline+n, parsed_format)
if include_release_info
- let n = n + 1
- call append(chgline+n, release_info)
+ let parsed_format = parsed_format." ".release_info
endif
+ call append(chgline+n, parsed_format)
let n = n + 1
call append(chgline+n,"- ")
let n = n + 1

24
vim-7.0-syncolor.patch Normal file
View file

@ -0,0 +1,24 @@
--- vim70/src/syntax.c.syn1 2006-04-26 14:49:45.000000000 +0200
+++ vim70/src/syntax.c 2006-09-19 13:15:41.000000000 +0200
@@ -6176,8 +6176,8 @@
"Visual term=reverse guibg=LightGrey"),
#endif
#ifdef FEAT_DIFF
- CENT("DiffAdd term=bold ctermbg=LightBlue",
- "DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue"),
+ CENT("DiffAdd term=bold ctermbg=LightRed",
+ "DiffAdd term=bold ctermbg=LightRed guibg=LightBlue"),
CENT("DiffChange term=bold ctermbg=LightMagenta",
"DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta"),
CENT("DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan",
@@ -6256,8 +6256,8 @@
"Visual term=reverse guibg=DarkGrey"),
#endif
#ifdef FEAT_DIFF
- CENT("DiffAdd term=bold ctermbg=DarkBlue",
- "DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue"),
+ CENT("DiffAdd term=bold ctermbg=DarkRed",
+ "DiffAdd term=bold ctermbg=DarkRed guibg=DarkBlue"),
CENT("DiffChange term=bold ctermbg=DarkMagenta",
"DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta"),
CENT("DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan",

11
vim-7.0-syntax.patch Normal file
View file

@ -0,0 +1,11 @@
--- vim70aa/runtime/filetype.vim.orig 2006-03-13 23:15:53.000000000 +0100
+++ vim70aa/runtime/filetype.vim 2006-03-14 15:56:13.000000000 +0100
@@ -103,7 +103,7 @@
" Apache config file
au BufNewFile,BufRead .htaccess setf apache
-au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/apache2/*.conf* call s:StarSetf('apache')
+au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/apache2/*.conf*,auth_mysql.conf*,auth_pgsql.conf*,ssl.conf*,perl.conf*,php.conf*,python.conf*,squirrelmail.conf* call s:StarSetf('apache')
" XA65 MOS6510 cross assembler
au BufNewFile,BufRead *.a65 setf a65

11
vim-7.0-warning.patch Normal file
View file

@ -0,0 +1,11 @@
--- vim70c/src/structs.h.warning1 2006-04-04 15:58:16.000000000 +0200
+++ vim70c/src/structs.h 2006-04-04 15:58:20.000000000 +0200
@@ -1082,7 +1082,7 @@
{
typval_T di_tv; /* type and value of the variable */
char_u di_flags; /* flags (only used for variable) */
- char_u di_key[1]; /* key (actually longer!) */
+ char_u di_key[10]; /* key (actually longer!) */
};
typedef struct dictitem_S dictitem_T;

24
vim-7.1-lib64.patch Normal file
View file

@ -0,0 +1,24 @@
diff -up vim71/src/auto/configure.lib64 vim71/src/auto/configure
--- vim71/src/auto/configure.lib64 2008-07-23 12:36:17.000000000 +0200
+++ vim71/src/auto/configure 2008-07-23 12:37:04.000000000 +0200
@@ -4291,7 +4291,7 @@ else
vi_cv_path_python_conf=
for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do
- for subdir in lib share; do
+ for subdir in lib64 lib share; do
d="${path}/${subdir}/python${vi_cv_var_python_version}/config"
if test -d "$d" && test -f "$d/config.c"; then
vi_cv_path_python_conf="$d"
diff -up vim71/src/configure.in.lib64 vim71/src/configure.in
--- vim71/src/configure.in.lib64 2008-07-23 12:36:17.000000000 +0200
+++ vim71/src/configure.in 2008-07-23 12:36:17.000000000 +0200
@@ -634,7 +634,7 @@ if test "$enable_pythoninterp" = "yes";
[
vi_cv_path_python_conf=
for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do
- for subdir in lib share; do
+ for subdir in lib64 lib share; do
d="${path}/${subdir}/python${vi_cv_var_python_version}/config"
if test -d "$d" && test -f "$d/config.c"; then
vi_cv_path_python_conf="$d"

10
vim-7.1-nowarnings.patch Normal file
View file

@ -0,0 +1,10 @@
--- vim71/src/ex_docmd.c.nowarnings 2007-06-04 14:43:26.000000000 +0200
+++ vim71/src/ex_docmd.c 2007-06-04 14:43:43.000000000 +0200
@@ -3993,6 +3993,7 @@ get_flags(eap)
ex_ni(eap)
exarg_T *eap;
{
+ return;
if (!eap->skip)
eap->errmsg = (char_u *)N_("E319: Sorry, the command is not available in this version");
}

21
vim-7.2-fstabsyntax.patch Normal file
View file

@ -0,0 +1,21 @@
diff -up vim72/runtime/syntax/fstab.vim.fstabsyntax vim72/runtime/syntax/fstab.vim
--- vim72/runtime/syntax/fstab.vim.fstabsyntax 2008-01-16 21:52:16.000000000 +0100
+++ vim72/runtime/syntax/fstab.vim 2008-08-14 17:02:08.000000000 +0200
@@ -46,7 +46,7 @@ syn keyword fsMountPointKeyword containe
" Type
syn cluster fsTypeCluster contains=fsTypeKeyword,fsTypeUnknown
syn match fsTypeUnknown /\s\+\zs\w\+/ contained
-syn keyword fsTypeKeyword contained adfs ados affs atfs audiofs auto autofs befs bfs cd9660 cfs cifs coda cramfs devfs devpts e2compr efs ext2 ext2fs ext3 fdesc ffs filecore fuse hfs hpfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix msdos ncpfs nfs none ntfs null nwfs overlay ovlfs portal proc procfs ptyfs qnx4 reiserfs romfs shm smbfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xfs zisofs
+syn keyword fsTypeKeyword contained adfs ados affs atfs audiofs auto autofs befs bfs binfmt_misc cd9660 cfs cifs coda cramfs devfs devpts e2compr efs ext2 ext2fs ext3 fdesc ffs filecore fuse hfs hpfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix msdos ncpfs nfs none ntfs null nwfs overlay ovlfs portal proc procfs ptyfs qnx4 reiserfs romfs rpc_pipefs shm smbfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xfs zisofs
" Options
" -------
@@ -58,7 +58,7 @@ syn match fsOptionsString /[a-zA-Z0-9_-]
syn keyword fsOptionsYesNo yes no
syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck
syn keyword fsOptionsSize 512 1024 2048
-syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand nosuid nosymfollow nouser owner rbind rdonly remount ro rq rw suid suiddir supermount sw sync union update user users xx
+syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop managed mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand nosuid nosymfollow nouser owner pamconsole rbind rdonly remount ro rq rw suid suiddir supermount sw sync union update user[s] xx
syn match fsOptionsGeneral /_netdev/
" Options: adfs

Some files were not shown because too many files have changed in this diff Show more