merge F18
This commit is contained in:
commit
0770be7b60
178
7.3.647
Normal file
178
7.3.647
Normal file
@ -0,0 +1,178 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.647
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.647
|
||||
Problem: "gnd" doesn't work correctly in Visual mode.
|
||||
Solution: Handle Visual mode differently in "gn". (Christian Brabandt)
|
||||
Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.646/src/search.c 2012-08-23 15:53:00.000000000 +0200
|
||||
--- src/search.c 2012-09-05 12:11:58.000000000 +0200
|
||||
***************
|
||||
*** 4545,4551 ****
|
||||
int dir;
|
||||
int result; /* result of various function calls */
|
||||
char_u old_p_ws = p_ws;
|
||||
- int visual_active = FALSE;
|
||||
int flags = 0;
|
||||
pos_T save_VIsual;
|
||||
int zerowidth = FALSE;
|
||||
--- 4545,4550 ----
|
||||
***************
|
||||
*** 4561,4571 ****
|
||||
{
|
||||
orig_pos = curwin->w_cursor;
|
||||
save_VIsual = VIsual;
|
||||
- visual_active = TRUE;
|
||||
-
|
||||
- /* just started visual selection, only one character */
|
||||
- if (equalpos(VIsual, curwin->w_cursor))
|
||||
- visual_active = FALSE;
|
||||
|
||||
pos = curwin->w_cursor;
|
||||
start_pos = VIsual;
|
||||
--- 4560,4565 ----
|
||||
***************
|
||||
*** 4619,4625 ****
|
||||
p_ws = old_p_ws;
|
||||
return FAIL;
|
||||
}
|
||||
! else if (!i && !result && !visual_active)
|
||||
{
|
||||
if (forward) /* try again from start of buffer */
|
||||
{
|
||||
--- 4613,4619 ----
|
||||
p_ws = old_p_ws;
|
||||
return FAIL;
|
||||
}
|
||||
! else if (!i && !result)
|
||||
{
|
||||
if (forward) /* try again from start of buffer */
|
||||
{
|
||||
***************
|
||||
*** 4691,4697 ****
|
||||
regmmatch_T regmatch;
|
||||
int nmatched = 0;
|
||||
int result = -1;
|
||||
! pos_T pos;
|
||||
|
||||
if (search_regcomp(pattern, RE_SEARCH, RE_SEARCH,
|
||||
SEARCH_KEEP, ®match) == FAIL)
|
||||
--- 4685,4692 ----
|
||||
regmmatch_T regmatch;
|
||||
int nmatched = 0;
|
||||
int result = -1;
|
||||
! pos_T pos;
|
||||
! int save_called_emsg = called_emsg;
|
||||
|
||||
if (search_regcomp(pattern, RE_SEARCH, RE_SEARCH,
|
||||
SEARCH_KEEP, ®match) == FAIL)
|
||||
***************
|
||||
*** 4704,4718 ****
|
||||
{
|
||||
/* Zero-width pattern should match somewhere, then we can check if
|
||||
* start and end are in the same position. */
|
||||
nmatched = vim_regexec_multi(®match, curwin, curbuf,
|
||||
pos.lnum, (colnr_T)0, NULL);
|
||||
|
||||
if (!called_emsg)
|
||||
result = (nmatched != 0
|
||||
! && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
|
||||
! && regmatch.startpos[0].col == regmatch.endpos[0].col);
|
||||
}
|
||||
|
||||
vim_free(regmatch.regprog);
|
||||
return result;
|
||||
}
|
||||
--- 4699,4715 ----
|
||||
{
|
||||
/* Zero-width pattern should match somewhere, then we can check if
|
||||
* start and end are in the same position. */
|
||||
+ called_emsg = FALSE;
|
||||
nmatched = vim_regexec_multi(®match, curwin, curbuf,
|
||||
pos.lnum, (colnr_T)0, NULL);
|
||||
|
||||
if (!called_emsg)
|
||||
result = (nmatched != 0
|
||||
! && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum
|
||||
! && regmatch.startpos[0].col == regmatch.endpos[0].col);
|
||||
}
|
||||
|
||||
+ called_emsg |= save_called_emsg;
|
||||
vim_free(regmatch.regprog);
|
||||
return result;
|
||||
}
|
||||
*** ../vim-7.3.646/src/testdir/test53.in 2012-08-29 16:55:09.000000000 +0200
|
||||
--- src/testdir/test53.in 2012-09-05 12:12:03.000000000 +0200
|
||||
***************
|
||||
*** 40,46 ****
|
||||
/\>\zs
|
||||
0gnd/^
|
||||
gnd$h/\zs
|
||||
! gnd
|
||||
:/^start:/,/^end:/wq! test.out
|
||||
ENDTEST
|
||||
|
||||
--- 40,47 ----
|
||||
/\>\zs
|
||||
0gnd/^
|
||||
gnd$h/\zs
|
||||
! gnd/[u]niquepattern/s
|
||||
! vlgnd
|
||||
:/^start:/,/^end:/wq! test.out
|
||||
ENDTEST
|
||||
|
||||
***************
|
||||
*** 67,70 ****
|
||||
--- 68,72 ----
|
||||
lines
|
||||
zero width pattern
|
||||
delete first and last chars
|
||||
+ uniquepattern uniquepattern
|
||||
end:
|
||||
*** ../vim-7.3.646/src/testdir/test53.ok 2012-08-29 16:55:09.000000000 +0200
|
||||
--- src/testdir/test53.ok 2012-09-05 12:12:08.000000000 +0200
|
||||
***************
|
||||
*** 24,27 ****
|
||||
--- 24,28 ----
|
||||
join lines
|
||||
zerowidth pattern
|
||||
elete first and last char
|
||||
+ uniquepattern
|
||||
end:
|
||||
*** ../vim-7.3.646/src/version.c 2012-08-29 18:50:50.000000000 +0200
|
||||
--- src/version.c 2012-09-05 12:13:37.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 647,
|
||||
/**/
|
||||
|
||||
--
|
||||
** Hello and Welcome to the Psychiatric Hotline **
|
||||
If you are obsessive-compulsive, please press 1 repeatedly.
|
||||
If you are co-dependent, please ask someone to press 2.
|
||||
If you have multiple personalities, please press 3, 4, 5 and 6.
|
||||
If you are paranoid-delusional, we know who you are and what you want
|
||||
- just stay on the line so we can trace the call.
|
||||
If you are schizophrenic, listen carefully and a little voice will
|
||||
tell you which number to press next.
|
||||
If you are manic-depressive, it doesn't matter which number you press
|
||||
- no one will answer.
|
||||
If you suffer from panic attacks, push every button you can find.
|
||||
If you are sane, please hold on - we have the rest of humanity on the
|
||||
other line and they desparately want to ask you a few questions.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
131
7.3.648
Normal file
131
7.3.648
Normal file
@ -0,0 +1,131 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.648
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.648
|
||||
Problem: Crash when using a very long file name. (ZyX)
|
||||
Solution: Properly check length of buffer space.
|
||||
Files: src/buffer.c
|
||||
|
||||
|
||||
*** ../vim-7.3.647/src/buffer.c 2012-07-16 17:31:48.000000000 +0200
|
||||
--- src/buffer.c 2012-09-05 13:17:38.000000000 +0200
|
||||
***************
|
||||
*** 3234,3245 ****
|
||||
{
|
||||
/* format: "fname + (path) (1 of 2) - VIM" */
|
||||
|
||||
if (curbuf->b_fname == NULL)
|
||||
! vim_strncpy(buf, (char_u *)_("[No Name]"), IOSIZE - 100);
|
||||
else
|
||||
{
|
||||
p = transstr(gettail(curbuf->b_fname));
|
||||
! vim_strncpy(buf, p, IOSIZE - 100);
|
||||
vim_free(p);
|
||||
}
|
||||
|
||||
--- 3234,3248 ----
|
||||
{
|
||||
/* format: "fname + (path) (1 of 2) - VIM" */
|
||||
|
||||
+ #define SPACE_FOR_FNAME (IOSIZE - 100)
|
||||
+ #define SPACE_FOR_DIR (IOSIZE - 20)
|
||||
+ #define SPACE_FOR_ARGNR (IOSIZE - 10) /* at least room for " - VIM" */
|
||||
if (curbuf->b_fname == NULL)
|
||||
! vim_strncpy(buf, (char_u *)_("[No Name]"), SPACE_FOR_FNAME);
|
||||
else
|
||||
{
|
||||
p = transstr(gettail(curbuf->b_fname));
|
||||
! vim_strncpy(buf, p, SPACE_FOR_FNAME);
|
||||
vim_free(p);
|
||||
}
|
||||
|
||||
***************
|
||||
*** 3263,3269 ****
|
||||
buf[off++] = ' ';
|
||||
buf[off++] = '(';
|
||||
home_replace(curbuf, curbuf->b_ffname,
|
||||
! buf + off, IOSIZE - off, TRUE);
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
/* avoid "c:/name" to be reduced to "c" */
|
||||
if (isalpha(buf[off]) && buf[off + 1] == ':')
|
||||
--- 3266,3272 ----
|
||||
buf[off++] = ' ';
|
||||
buf[off++] = '(';
|
||||
home_replace(curbuf, curbuf->b_ffname,
|
||||
! buf + off, SPACE_FOR_DIR - off, TRUE);
|
||||
#ifdef BACKSLASH_IN_FILENAME
|
||||
/* avoid "c:/name" to be reduced to "c" */
|
||||
if (isalpha(buf[off]) && buf[off + 1] == ':')
|
||||
***************
|
||||
*** 3274,3291 ****
|
||||
if (p == buf + off)
|
||||
/* must be a help buffer */
|
||||
vim_strncpy(buf + off, (char_u *)_("help"),
|
||||
! (size_t)(IOSIZE - off - 1));
|
||||
else
|
||||
*p = NUL;
|
||||
|
||||
! /* translate unprintable chars */
|
||||
! p = transstr(buf + off);
|
||||
! vim_strncpy(buf + off, p, (size_t)(IOSIZE - off - 1));
|
||||
! vim_free(p);
|
||||
STRCAT(buf, ")");
|
||||
}
|
||||
|
||||
! append_arg_number(curwin, buf, IOSIZE, FALSE);
|
||||
|
||||
#if defined(FEAT_CLIENTSERVER)
|
||||
if (serverName != NULL)
|
||||
--- 3277,3304 ----
|
||||
if (p == buf + off)
|
||||
/* must be a help buffer */
|
||||
vim_strncpy(buf + off, (char_u *)_("help"),
|
||||
! (size_t)(SPACE_FOR_DIR - off - 1));
|
||||
else
|
||||
*p = NUL;
|
||||
|
||||
! /* Translate unprintable chars and concatenate. Keep some
|
||||
! * room for the server name. When there is no room (very long
|
||||
! * file name) use (...). */
|
||||
! if (off < SPACE_FOR_DIR)
|
||||
! {
|
||||
! p = transstr(buf + off);
|
||||
! vim_strncpy(buf + off, p, (size_t)(SPACE_FOR_DIR - off));
|
||||
! vim_free(p);
|
||||
! }
|
||||
! else
|
||||
! {
|
||||
! vim_strncpy(buf + off, (char_u *)"...",
|
||||
! (size_t)(SPACE_FOR_ARGNR - off));
|
||||
! }
|
||||
STRCAT(buf, ")");
|
||||
}
|
||||
|
||||
! append_arg_number(curwin, buf, SPACE_FOR_ARGNR, FALSE);
|
||||
|
||||
#if defined(FEAT_CLIENTSERVER)
|
||||
if (serverName != NULL)
|
||||
*** ../vim-7.3.647/src/version.c 2012-09-05 12:16:40.000000000 +0200
|
||||
--- src/version.c 2012-09-05 13:29:53.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 648,
|
||||
/**/
|
||||
|
||||
--
|
||||
Q: How does a UNIX Guru do Sex ?
|
||||
A: unzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
68
7.3.649
Normal file
68
7.3.649
Normal file
@ -0,0 +1,68 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.649
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.649
|
||||
Problem: When 'clipboard' is set to "unnamed" small deletes end up in the
|
||||
numbered registers. (Ingo Karkat)
|
||||
Solution: Use the original register name to decide whether to put a delete
|
||||
in a numbered register. (Christian Brabandt)
|
||||
Files: src/ops.c
|
||||
|
||||
|
||||
*** ../vim-7.3.648/src/ops.c 2012-08-08 18:01:00.000000000 +0200
|
||||
--- src/ops.c 2012-09-05 14:13:32.000000000 +0200
|
||||
***************
|
||||
*** 1623,1628 ****
|
||||
--- 1623,1629 ----
|
||||
#endif
|
||||
linenr_T old_lcount = curbuf->b_ml.ml_line_count;
|
||||
int did_yank = FALSE;
|
||||
+ int orig_regname = oap->regname;
|
||||
|
||||
if (curbuf->b_ml.ml_flags & ML_EMPTY) /* nothing to do */
|
||||
return OK;
|
||||
***************
|
||||
*** 1715,1722 ****
|
||||
/*
|
||||
* Put deleted text into register 1 and shift number registers if the
|
||||
* delete contains a line break, or when a regname has been specified.
|
||||
*/
|
||||
! if (oap->regname != 0 || oap->motion_type == MLINE
|
||||
|| oap->line_count > 1 || oap->use_reg_one)
|
||||
{
|
||||
y_current = &y_regs[9];
|
||||
--- 1716,1725 ----
|
||||
/*
|
||||
* Put deleted text into register 1 and shift number registers if the
|
||||
* delete contains a line break, or when a regname has been specified.
|
||||
+ * Use the register name from before adjust_clip_reg() may have
|
||||
+ * changed it.
|
||||
*/
|
||||
! if (orig_regname != 0 || oap->motion_type == MLINE
|
||||
|| oap->line_count > 1 || oap->use_reg_one)
|
||||
{
|
||||
y_current = &y_regs[9];
|
||||
*** ../vim-7.3.648/src/version.c 2012-09-05 13:30:22.000000000 +0200
|
||||
--- src/version.c 2012-09-05 14:17:55.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 649,
|
||||
/**/
|
||||
|
||||
--
|
||||
'I generally avoid temptation unless I can't resist it."
|
||||
-- Mae West
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
53
7.3.650
Normal file
53
7.3.650
Normal file
@ -0,0 +1,53 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.650
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.650
|
||||
Problem: Completion after ":help \{-" gives an error message and messes up
|
||||
the command line.
|
||||
Solution: Cancel the tag search if the pattern can't be compiled. (Yasuhiro
|
||||
Matsumoto)
|
||||
Files: src/tag.c
|
||||
|
||||
|
||||
*** ../vim-7.3.649/src/tag.c 2012-01-10 22:26:12.000000000 +0100
|
||||
--- src/tag.c 2012-09-05 14:56:52.000000000 +0200
|
||||
***************
|
||||
*** 1443,1448 ****
|
||||
--- 1443,1450 ----
|
||||
orgpat.len = p_tl;
|
||||
|
||||
prepare_pats(&orgpat, has_re);
|
||||
+ if (has_re && orgpat.regmatch.regprog == NULL)
|
||||
+ goto findtag_end;
|
||||
|
||||
#ifdef FEAT_TAG_BINS
|
||||
/* This is only to avoid a compiler warning for using search_info
|
||||
*** ../vim-7.3.649/src/version.c 2012-09-05 14:18:42.000000000 +0200
|
||||
--- src/version.c 2012-09-05 15:01:07.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 650,
|
||||
/**/
|
||||
|
||||
--
|
||||
GUARD #1: What, ridden on a horse?
|
||||
ARTHUR: Yes!
|
||||
GUARD #1: You're using coconuts!
|
||||
ARTHUR: What?
|
||||
GUARD #1: You've got two empty halves of coconut and you're bangin' 'em
|
||||
together.
|
||||
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/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
99
7.3.651
Normal file
99
7.3.651
Normal file
@ -0,0 +1,99 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.651
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.651
|
||||
Problem: Completion after ":help \{-" gives an error message.
|
||||
Solution: Prepend a backslash.
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
|
||||
*** ../vim-7.3.650/src/ex_cmds.c 2012-08-08 16:50:40.000000000 +0200
|
||||
--- src/ex_cmds.c 2012-09-05 15:10:13.000000000 +0200
|
||||
***************
|
||||
*** 4851,4857 ****
|
||||
#ifdef FEAT_EVAL
|
||||
if (do_count)
|
||||
{
|
||||
! /* prevent accidently changing the buffer by a function */
|
||||
save_ma = curbuf->b_p_ma;
|
||||
curbuf->b_p_ma = FALSE;
|
||||
sandbox++;
|
||||
--- 4851,4857 ----
|
||||
#ifdef FEAT_EVAL
|
||||
if (do_count)
|
||||
{
|
||||
! /* prevent accidentally changing the buffer by a function */
|
||||
save_ma = curbuf->b_p_ma;
|
||||
curbuf->b_p_ma = FALSE;
|
||||
sandbox++;
|
||||
***************
|
||||
*** 5264,5270 ****
|
||||
* is assumed to be 'p' if missing.
|
||||
*
|
||||
* This is implemented in two passes: first we scan the file for the pattern and
|
||||
! * set a mark for each line that (not) matches. secondly we execute the command
|
||||
* for each line that has a mark. This is required because after deleting
|
||||
* lines we do not know where to search for the next match.
|
||||
*/
|
||||
--- 5264,5270 ----
|
||||
* is assumed to be 'p' if missing.
|
||||
*
|
||||
* This is implemented in two passes: first we scan the file for the pattern and
|
||||
! * set a mark for each line that (not) matches. Secondly we execute the command
|
||||
* for each line that has a mark. This is required because after deleting
|
||||
* lines we do not know where to search for the next match.
|
||||
*/
|
||||
***************
|
||||
*** 5896,5904 ****
|
||||
}
|
||||
else
|
||||
{
|
||||
! /* replace "[:...:]" with "\[:...:]"; "[+...]" with "\[++...]" */
|
||||
! if (arg[0] == '[' && (arg[1] == ':'
|
||||
! || (arg[1] == '+' && arg[2] == '+')))
|
||||
*d++ = '\\';
|
||||
|
||||
for (s = arg; *s; ++s)
|
||||
--- 5896,5909 ----
|
||||
}
|
||||
else
|
||||
{
|
||||
! /* Replace:
|
||||
! * "[:...:]" with "\[:...:]"
|
||||
! * "[++...]" with "\[++...]"
|
||||
! * "\{" with "\\{"
|
||||
! */
|
||||
! if ((arg[0] == '[' && (arg[1] == ':'
|
||||
! || (arg[1] == '+' && arg[2] == '+')))
|
||||
! || (arg[0] == '\\' && arg[1] == '{'))
|
||||
*d++ = '\\';
|
||||
|
||||
for (s = arg; *s; ++s)
|
||||
*** ../vim-7.3.650/src/version.c 2012-09-05 15:03:27.000000000 +0200
|
||||
--- src/version.c 2012-09-05 15:12:51.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 651,
|
||||
/**/
|
||||
|
||||
--
|
||||
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/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
72
7.3.652
Normal file
72
7.3.652
Normal file
@ -0,0 +1,72 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.652
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.652
|
||||
Problem: Workaround for Python crash isn't perfect.
|
||||
Solution: Change the type of the length argument. (Sean Estabrooks)
|
||||
Files: src/if_py_both.h
|
||||
|
||||
|
||||
*** ../vim-7.3.651/src/if_py_both.h 2012-08-08 16:05:03.000000000 +0200
|
||||
--- src/if_py_both.h 2012-09-05 17:15:31.000000000 +0200
|
||||
***************
|
||||
*** 74,91 ****
|
||||
static PyObject *
|
||||
OutputWrite(PyObject *self, PyObject *args)
|
||||
{
|
||||
! int len;
|
||||
char *str = NULL;
|
||||
int error = ((OutputObject *)(self))->error;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "et#", ENC_OPT, &str, &len))
|
||||
return NULL;
|
||||
|
||||
- /* TODO: This works around a gcc optimizer problem and avoids Vim
|
||||
- * from crashing. Should find a real solution. */
|
||||
- if (str == NULL)
|
||||
- return NULL;
|
||||
-
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
Python_Lock_Vim();
|
||||
writer((writefn)(error ? emsg : msg), (char_u *)str, len);
|
||||
--- 74,86 ----
|
||||
static PyObject *
|
||||
OutputWrite(PyObject *self, PyObject *args)
|
||||
{
|
||||
! Py_ssize_t len;
|
||||
char *str = NULL;
|
||||
int error = ((OutputObject *)(self))->error;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "et#", ENC_OPT, &str, &len))
|
||||
return NULL;
|
||||
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
Python_Lock_Vim();
|
||||
writer((writefn)(error ? emsg : msg), (char_u *)str, len);
|
||||
*** ../vim-7.3.651/src/version.c 2012-09-05 15:15:01.000000000 +0200
|
||||
--- src/version.c 2012-09-05 17:27:46.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 652,
|
||||
/**/
|
||||
|
||||
--
|
||||
GUARD #2: It could be carried by an African swallow!
|
||||
GUARD #1: Oh, yeah, an African swallow maybe, but not a European swallow,
|
||||
that's my point.
|
||||
GUARD #2: Oh, yeah, I agree with that...
|
||||
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/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
280
7.3.653
Normal file
280
7.3.653
Normal file
@ -0,0 +1,280 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.653
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.653
|
||||
Problem: MingW needs build rule for included XPM files. Object directory
|
||||
for 32 and 64 builds is the same, also for MSVC.
|
||||
Solution: Add MingW build rule to use included XPM files. Add the CPU or
|
||||
architecture to the object directory name. (Sergey Khorev)
|
||||
Files: src/Make_ming.mak, src/Make_mvc.mak, src/xpm/README.txt
|
||||
|
||||
|
||||
*** ../vim-7.3.652/src/Make_ming.mak 2012-08-02 21:21:43.000000000 +0200
|
||||
--- src/Make_ming.mak 2012-09-05 17:43:11.000000000 +0200
|
||||
***************
|
||||
*** 1,14 ****
|
||||
! # Makefile for VIM on Win32, using 'EGCS/mingw32 1.1.2'.
|
||||
# Info at http://www.mingw.org
|
||||
! # Also requires 'GNU make 3.77', which you can get through a link
|
||||
! # to 'JanJaap's page from the above page.
|
||||
# Get missing libraries from http://gnuwin32.sf.net.
|
||||
#
|
||||
# Tested on Win32 NT 4 and Win95.
|
||||
#
|
||||
! # To make everything, just 'make -f Make_ming.mak'
|
||||
! # To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe'
|
||||
! # After a run, you can 'make -f Make_ming.mak clean' to clean up
|
||||
#
|
||||
# NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think
|
||||
# it's just run out of memory or something. Run again, and it will continue
|
||||
--- 1,15 ----
|
||||
! # Makefile for VIM on Win32
|
||||
! #
|
||||
# Info at http://www.mingw.org
|
||||
! # Alternative x86 and 64-builds: http://mingw-w64.sourceforge.net
|
||||
! # Also requires GNU make, which you can download from the same sites.
|
||||
# Get missing libraries from http://gnuwin32.sf.net.
|
||||
#
|
||||
# Tested on Win32 NT 4 and Win95.
|
||||
#
|
||||
! # To make everything, just 'make -f Make_ming.mak'.
|
||||
! # To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe'.
|
||||
! # After a run, you can 'make -f Make_ming.mak clean' to clean up.
|
||||
#
|
||||
# NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think
|
||||
# it's just run out of memory or something. Run again, and it will continue
|
||||
***************
|
||||
*** 20,27 ****
|
||||
# "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs:
|
||||
# http://www.matcode.com/mpress.htm
|
||||
#
|
||||
! # Maintained by Ron Aaron <ronaharon@yahoo.com>
|
||||
! # updated 2003 Jan 20
|
||||
|
||||
#>>>>> choose options:
|
||||
# set to yes for a debug build
|
||||
--- 21,28 ----
|
||||
# "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs:
|
||||
# http://www.matcode.com/mpress.htm
|
||||
#
|
||||
! # Maintained by Ron Aaron <ronaharon@yahoo.com> et al.
|
||||
! # Updated 2012 Sep 5.
|
||||
|
||||
#>>>>> choose options:
|
||||
# set to yes for a debug build
|
||||
***************
|
||||
*** 31,62 ****
|
||||
# set to yes to make gvim, no for vim
|
||||
GUI=yes
|
||||
# FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE]
|
||||
! # set to TINY to make minimal version (few features)
|
||||
FEATURES=BIG
|
||||
! # set to one of i386, i486, i586, i686 as the minimum target processor
|
||||
ARCH=i386
|
||||
! # set to yes to cross-compile from unix; no=native Windows
|
||||
CROSS=no
|
||||
! # set to path to iconv.h and libiconv.a to enable using 'iconv.dll'
|
||||
#ICONV="."
|
||||
ICONV=yes
|
||||
GETTEXT=yes
|
||||
! # set to yes to include multibyte support
|
||||
MBYTE=yes
|
||||
! # set to yes to include IME support
|
||||
IME=yes
|
||||
DYNAMIC_IME=yes
|
||||
! # set to yes to enable writing a postscript file with :hardcopy
|
||||
POSTSCRIPT=no
|
||||
! # set to yes to enable OLE support
|
||||
OLE=no
|
||||
! # Set the default $(WINVER) to make it work with pre-Win2k
|
||||
ifndef WINVER
|
||||
WINVER = 0x0500
|
||||
endif
|
||||
! # Set to yes to enable Cscope support
|
||||
CSCOPE=yes
|
||||
! # Set to yes to enable Netbeans support
|
||||
NETBEANS=$(GUI)
|
||||
|
||||
|
||||
--- 32,64 ----
|
||||
# set to yes to make gvim, no for vim
|
||||
GUI=yes
|
||||
# FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE]
|
||||
! # Set to TINY to make minimal version (few features).
|
||||
FEATURES=BIG
|
||||
! # Set to one of i386, i486, i586, i686 as the minimum target processor.
|
||||
! # For amd64/x64 architecture set ARCH=x86-64 .
|
||||
ARCH=i386
|
||||
! # Set to yes to cross-compile from unix; no=native Windows.
|
||||
CROSS=no
|
||||
! # Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'.
|
||||
#ICONV="."
|
||||
ICONV=yes
|
||||
GETTEXT=yes
|
||||
! # Set to yes to include multibyte support.
|
||||
MBYTE=yes
|
||||
! # Set to yes to include IME support.
|
||||
IME=yes
|
||||
DYNAMIC_IME=yes
|
||||
! # Set to yes to enable writing a postscript file with :hardcopy.
|
||||
POSTSCRIPT=no
|
||||
! # Set to yes to enable OLE support.
|
||||
OLE=no
|
||||
! # Set the default $(WINVER) to make it work with pre-Win2k.
|
||||
ifndef WINVER
|
||||
WINVER = 0x0500
|
||||
endif
|
||||
! # Set to yes to enable Cscope support.
|
||||
CSCOPE=yes
|
||||
! # Set to yes to enable Netbeans support.
|
||||
NETBEANS=$(GUI)
|
||||
|
||||
|
||||
***************
|
||||
*** 431,441 ****
|
||||
endif
|
||||
endif
|
||||
|
||||
- ifdef XPM
|
||||
# Only allow XPM for a GUI build.
|
||||
ifeq (yes, $(GUI))
|
||||
! CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(DEBUG),yes)
|
||||
--- 433,464 ----
|
||||
endif
|
||||
endif
|
||||
|
||||
# Only allow XPM for a GUI build.
|
||||
ifeq (yes, $(GUI))
|
||||
!
|
||||
! ifndef XPM
|
||||
! ifeq ($(ARCH),i386)
|
||||
! XPM = xpm/x86
|
||||
! endif
|
||||
! ifeq ($(ARCH),i486)
|
||||
! XPM = xpm/x86
|
||||
! endif
|
||||
! ifeq ($(ARCH),i586)
|
||||
! XPM = xpm/x86
|
||||
! endif
|
||||
! ifeq ($(ARCH),i686)
|
||||
! XPM = xpm/x86
|
||||
endif
|
||||
+ ifeq ($(ARCH),x86-64)
|
||||
+ XPM = xpm/x64
|
||||
+ endif
|
||||
+ endif
|
||||
+ ifdef XPM
|
||||
+ ifneq ($(XPM),no)
|
||||
+ CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include -I $(XPM)/../include
|
||||
+ endif
|
||||
+ endif
|
||||
+
|
||||
endif
|
||||
|
||||
ifeq ($(DEBUG),yes)
|
||||
***************
|
||||
*** 565,574 ****
|
||||
DEFINES += $(DEF_GUI)
|
||||
OBJ += $(GUIOBJ)
|
||||
LFLAGS += -mwindows
|
||||
! OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)
|
||||
else
|
||||
TARGET := vim$(DEBUG_SUFFIX).exe
|
||||
! OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)
|
||||
endif
|
||||
|
||||
ifdef GETTEXT
|
||||
--- 588,597 ----
|
||||
DEFINES += $(DEF_GUI)
|
||||
OBJ += $(GUIOBJ)
|
||||
LFLAGS += -mwindows
|
||||
! OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
|
||||
else
|
||||
TARGET := vim$(DEBUG_SUFFIX).exe
|
||||
! OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
|
||||
endif
|
||||
|
||||
ifdef GETTEXT
|
||||
*** ../vim-7.3.652/src/Make_mvc.mak 2012-08-29 14:18:26.000000000 +0200
|
||||
--- src/Make_mvc.mak 2012-09-05 17:33:56.000000000 +0200
|
||||
***************
|
||||
*** 213,218 ****
|
||||
--- 213,219 ----
|
||||
# We're on Windows 95
|
||||
CPU = i386
|
||||
!endif # !PROCESSOR_ARCHITECTURE
|
||||
+ OBJDIR = $(OBJDIR)$(CPU)
|
||||
|
||||
# Build a retail version by default
|
||||
|
||||
***************
|
||||
*** 283,292 ****
|
||||
|
||||
!ifndef XPM
|
||||
# XPM is not set, use the included xpm files, depending on the architecture.
|
||||
! !if ("$(CPU)" == "AMD64") || ("$(CPU)" == "IA64")
|
||||
XPM = xpm\x64
|
||||
! !else
|
||||
XPM = xpm\x86
|
||||
!endif
|
||||
!endif
|
||||
!if "$(XPM)" != "no"
|
||||
--- 284,295 ----
|
||||
|
||||
!ifndef XPM
|
||||
# XPM is not set, use the included xpm files, depending on the architecture.
|
||||
! !if "$(CPU)" == "AMD64"
|
||||
XPM = xpm\x64
|
||||
! !elseif "$(CPU)" == "i386"
|
||||
XPM = xpm\x86
|
||||
+ !else
|
||||
+ XPM = no
|
||||
!endif
|
||||
!endif
|
||||
!if "$(XPM)" != "no"
|
||||
*** ../vim-7.3.652/src/xpm/README.txt 2012-08-29 14:18:26.000000000 +0200
|
||||
--- src/xpm/README.txt 2012-09-05 17:35:34.000000000 +0200
|
||||
***************
|
||||
*** 10,15 ****
|
||||
--- 10,18 ----
|
||||
MinGW:
|
||||
mingw32-make -f Make_ming.mak GUI=yes CSCOPE=yes XPM=e:/hg/xpm/x86
|
||||
|
||||
+ MinGW 64 for x64:
|
||||
+ mingw32-make -f Make_ming.mak GUI=yes ARCH=x86-64 XPM=E:\HG\xpm\x64
|
||||
+
|
||||
Microsoft Visual C++ on x64 (tested with versions 2008 and 2010):
|
||||
nmake -f Make_mvc.mak GUI=yes CSCOPE=yes XPM=E:\HG\xpm\x64
|
||||
|
||||
*** ../vim-7.3.652/src/version.c 2012-09-05 17:28:08.000000000 +0200
|
||||
--- src/version.c 2012-09-05 17:53:15.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 653,
|
||||
/**/
|
||||
|
||||
--
|
||||
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/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
150
7.3.654
Normal file
150
7.3.654
Normal file
@ -0,0 +1,150 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.654
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.654
|
||||
Problem: When creating a Vim dictionary from Python objects an empty key
|
||||
might be used.
|
||||
Solution: Do not use empty keys, throw an IndexError. (ZyX)
|
||||
Files: src/if_py_both.h
|
||||
|
||||
|
||||
*** ../vim-7.3.653/src/if_py_both.h 2012-09-05 17:28:08.000000000 +0200
|
||||
--- src/if_py_both.h 2012-09-05 18:35:18.000000000 +0200
|
||||
***************
|
||||
*** 607,612 ****
|
||||
--- 607,620 ----
|
||||
|
||||
static PyTypeObject DictionaryType;
|
||||
|
||||
+ #define DICTKEY_GET_NOTEMPTY(err) \
|
||||
+ DICTKEY_GET(err) \
|
||||
+ if (*key == NUL) \
|
||||
+ { \
|
||||
+ PyErr_SetString(PyExc_ValueError, _("empty keys are not allowed")); \
|
||||
+ return err; \
|
||||
+ }
|
||||
+
|
||||
typedef struct
|
||||
{
|
||||
PyObject_HEAD
|
||||
***************
|
||||
*** 659,665 ****
|
||||
if (valObject == NULL)
|
||||
return -1;
|
||||
|
||||
! DICTKEY_GET(-1)
|
||||
|
||||
di = dictitem_alloc(key);
|
||||
|
||||
--- 667,673 ----
|
||||
if (valObject == NULL)
|
||||
return -1;
|
||||
|
||||
! DICTKEY_GET_NOTEMPTY(-1)
|
||||
|
||||
di = dictitem_alloc(key);
|
||||
|
||||
***************
|
||||
*** 730,736 ****
|
||||
return -1;
|
||||
}
|
||||
|
||||
! DICTKEY_GET(-1)
|
||||
|
||||
valObject = PyTuple_GetItem(litem, 1);
|
||||
if (valObject == NULL)
|
||||
--- 738,744 ----
|
||||
return -1;
|
||||
}
|
||||
|
||||
! DICTKEY_GET_NOTEMPTY(-1)
|
||||
|
||||
valObject = PyTuple_GetItem(litem, 1);
|
||||
if (valObject == NULL)
|
||||
***************
|
||||
*** 784,799 ****
|
||||
DictionaryItem(PyObject *self, PyObject *keyObject)
|
||||
{
|
||||
char_u *key;
|
||||
! dictitem_T *val;
|
||||
DICTKEY_DECL
|
||||
|
||||
! DICTKEY_GET(NULL)
|
||||
|
||||
! val = dict_find(((DictionaryObject *) (self))->dict, key, -1);
|
||||
|
||||
DICTKEY_UNREF
|
||||
|
||||
! return ConvertToPyObject(&val->di_tv);
|
||||
}
|
||||
|
||||
static PyInt
|
||||
--- 792,813 ----
|
||||
DictionaryItem(PyObject *self, PyObject *keyObject)
|
||||
{
|
||||
char_u *key;
|
||||
! dictitem_T *di;
|
||||
DICTKEY_DECL
|
||||
|
||||
! DICTKEY_GET_NOTEMPTY(NULL)
|
||||
!
|
||||
! di = dict_find(((DictionaryObject *) (self))->dict, key, -1);
|
||||
|
||||
! if (di == NULL)
|
||||
! {
|
||||
! PyErr_SetString(PyExc_IndexError, _("no such key in dictionary"));
|
||||
! return NULL;
|
||||
! }
|
||||
|
||||
DICTKEY_UNREF
|
||||
|
||||
! return ConvertToPyObject(&di->di_tv);
|
||||
}
|
||||
|
||||
static PyInt
|
||||
***************
|
||||
*** 811,817 ****
|
||||
return -1;
|
||||
}
|
||||
|
||||
! DICTKEY_GET(-1)
|
||||
|
||||
di = dict_find(d, key, -1);
|
||||
|
||||
--- 825,831 ----
|
||||
return -1;
|
||||
}
|
||||
|
||||
! DICTKEY_GET_NOTEMPTY(-1)
|
||||
|
||||
di = dict_find(d, key, -1);
|
||||
|
||||
*** ../vim-7.3.653/src/version.c 2012-09-05 17:57:34.000000000 +0200
|
||||
--- src/version.c 2012-09-05 18:38:43.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 654,
|
||||
/**/
|
||||
|
||||
--
|
||||
MORTICIAN: What?
|
||||
CUSTOMER: Nothing -- here's your nine pence.
|
||||
DEAD PERSON: I'm not dead!
|
||||
MORTICIAN: Here -- he says he's not dead!
|
||||
CUSTOMER: Yes, he is.
|
||||
DEAD PERSON: I'm 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/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
84
7.3.656
Normal file
84
7.3.656
Normal file
@ -0,0 +1,84 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.656
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.656
|
||||
Problem: Internal error in :pyeval.
|
||||
Solution: Handle failed object conversion. (ZyX)
|
||||
Files: src/if_python.c, src/if_python3.c
|
||||
|
||||
|
||||
*** ../vim-7.3.655/src/if_python.c 2012-06-30 13:34:29.000000000 +0200
|
||||
--- src/if_python.c 2012-09-05 18:52:50.000000000 +0200
|
||||
***************
|
||||
*** 1025,1032 ****
|
||||
|
||||
static PySequenceMethods BufferAsSeq = {
|
||||
(PyInquiry) BufferLength, /* sq_length, len(x) */
|
||||
! (binaryfunc) 0, /* BufferConcat, */ /* sq_concat, x+y */
|
||||
! (PyIntArgFunc) 0, /* BufferRepeat, */ /* sq_repeat, x*n */
|
||||
(PyIntArgFunc) BufferItem, /* sq_item, x[i] */
|
||||
(PyIntIntArgFunc) BufferSlice, /* sq_slice, x[i:j] */
|
||||
(PyIntObjArgProc) BufferAssItem, /* sq_ass_item, x[i]=v */
|
||||
--- 1025,1032 ----
|
||||
|
||||
static PySequenceMethods BufferAsSeq = {
|
||||
(PyInquiry) BufferLength, /* sq_length, len(x) */
|
||||
! (binaryfunc) 0, /* BufferConcat, sq_concat, x+y */
|
||||
! (PyIntArgFunc) 0, /* BufferRepeat, sq_repeat, x*n */
|
||||
(PyIntArgFunc) BufferItem, /* sq_item, x[i] */
|
||||
(PyIntIntArgFunc) BufferSlice, /* sq_slice, x[i:j] */
|
||||
(PyIntObjArgProc) BufferAssItem, /* sq_ass_item, x[i]=v */
|
||||
***************
|
||||
*** 1787,1792 ****
|
||||
--- 1787,1796 ----
|
||||
case VAR_DICT: ++rettv->vval.v_dict->dv_refcount; break;
|
||||
case VAR_LIST: ++rettv->vval.v_list->lv_refcount; break;
|
||||
case VAR_FUNC: func_ref(rettv->vval.v_string); break;
|
||||
+ case VAR_UNKNOWN:
|
||||
+ rettv->v_type = VAR_NUMBER;
|
||||
+ rettv->vval.v_number = 0;
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
*** ../vim-7.3.655/src/if_python3.c 2012-06-29 16:28:23.000000000 +0200
|
||||
--- src/if_python3.c 2012-09-05 18:52:50.000000000 +0200
|
||||
***************
|
||||
*** 1817,1822 ****
|
||||
--- 1817,1826 ----
|
||||
case VAR_DICT: ++rettv->vval.v_dict->dv_refcount; break;
|
||||
case VAR_LIST: ++rettv->vval.v_list->lv_refcount; break;
|
||||
case VAR_FUNC: func_ref(rettv->vval.v_string); break;
|
||||
+ case VAR_UNKNOWN:
|
||||
+ rettv->v_type = VAR_NUMBER;
|
||||
+ rettv->vval.v_number = 0;
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
*** ../vim-7.3.655/src/version.c 2012-09-05 18:48:22.000000000 +0200
|
||||
--- src/version.c 2012-09-05 18:53:20.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 656,
|
||||
/**/
|
||||
|
||||
--
|
||||
DEAD PERSON: I'm getting better!
|
||||
CUSTOMER: No, you're not -- you'll be stone dead in a moment.
|
||||
MORTICIAN: Oh, I can't take him like that -- it's against regulations.
|
||||
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/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
195
7.3.657
Normal file
195
7.3.657
Normal file
@ -0,0 +1,195 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.657
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.657
|
||||
Problem: Python bindings silently truncate string values containing NUL.
|
||||
Solution: Fail when a string contains NUL. (ZyX)
|
||||
Files: src/if_python.c, src/if_python3.c
|
||||
|
||||
|
||||
*** ../vim-7.3.656/src/if_python.c 2012-09-05 18:54:37.000000000 +0200
|
||||
--- src/if_python.c 2012-09-05 19:02:07.000000000 +0200
|
||||
***************
|
||||
*** 191,196 ****
|
||||
--- 191,197 ----
|
||||
# define PyRun_SimpleString dll_PyRun_SimpleString
|
||||
# define PyRun_String dll_PyRun_String
|
||||
# define PyString_AsString dll_PyString_AsString
|
||||
+ # define PyString_AsStringAndSize dll_PyString_AsStringAndSize
|
||||
# define PyString_FromString dll_PyString_FromString
|
||||
# define PyString_FromStringAndSize dll_PyString_FromStringAndSize
|
||||
# define PyString_Size dll_PyString_Size
|
||||
***************
|
||||
*** 288,293 ****
|
||||
--- 289,295 ----
|
||||
static int(*dll_PyRun_SimpleString)(char *);
|
||||
static PyObject *(*dll_PyRun_String)(char *, int, PyObject *, PyObject *);
|
||||
static char*(*dll_PyString_AsString)(PyObject *);
|
||||
+ static int(*dll_PyString_AsStringAndSize)(PyObject *, char **, int *);
|
||||
static PyObject*(*dll_PyString_FromString)(const char *);
|
||||
static PyObject*(*dll_PyString_FromStringAndSize)(const char *, PyInt);
|
||||
static PyInt(*dll_PyString_Size)(PyObject *);
|
||||
***************
|
||||
*** 406,411 ****
|
||||
--- 408,414 ----
|
||||
{"PyRun_SimpleString", (PYTHON_PROC*)&dll_PyRun_SimpleString},
|
||||
{"PyRun_String", (PYTHON_PROC*)&dll_PyRun_String},
|
||||
{"PyString_AsString", (PYTHON_PROC*)&dll_PyString_AsString},
|
||||
+ {"PyString_AsStringAndSize", (PYTHON_PROC*)&dll_PyString_AsStringAndSize},
|
||||
{"PyString_FromString", (PYTHON_PROC*)&dll_PyString_FromString},
|
||||
{"PyString_FromStringAndSize", (PYTHON_PROC*)&dll_PyString_FromStringAndSize},
|
||||
{"PyString_Size", (PYTHON_PROC*)&dll_PyString_Size},
|
||||
***************
|
||||
*** 578,591 ****
|
||||
static int initialised = 0;
|
||||
#define PYINITIALISED initialised
|
||||
|
||||
- /* Add conversion from PyInt? */
|
||||
#define DICTKEY_GET(err) \
|
||||
if (!PyString_Check(keyObject)) \
|
||||
{ \
|
||||
PyErr_SetString(PyExc_TypeError, _("only string keys are allowed")); \
|
||||
return err; \
|
||||
} \
|
||||
! key = (char_u *) PyString_AsString(keyObject);
|
||||
#define DICTKEY_UNREF
|
||||
#define DICTKEY_DECL
|
||||
|
||||
--- 581,595 ----
|
||||
static int initialised = 0;
|
||||
#define PYINITIALISED initialised
|
||||
|
||||
#define DICTKEY_GET(err) \
|
||||
if (!PyString_Check(keyObject)) \
|
||||
{ \
|
||||
PyErr_SetString(PyExc_TypeError, _("only string keys are allowed")); \
|
||||
return err; \
|
||||
} \
|
||||
! if (PyString_AsStringAndSize(keyObject, (char **) &key, NULL) == -1) \
|
||||
! return err;
|
||||
!
|
||||
#define DICTKEY_UNREF
|
||||
#define DICTKEY_DECL
|
||||
|
||||
*** ../vim-7.3.656/src/if_python3.c 2012-09-05 18:54:37.000000000 +0200
|
||||
--- src/if_python3.c 2012-09-05 19:02:07.000000000 +0200
|
||||
***************
|
||||
*** 172,177 ****
|
||||
--- 172,178 ----
|
||||
# define PyUnicode_AsEncodedString py3_PyUnicode_AsEncodedString
|
||||
# undef PyBytes_AsString
|
||||
# define PyBytes_AsString py3_PyBytes_AsString
|
||||
+ # define PyBytes_AsStringAndSize py3_PyBytes_AsStringAndSize
|
||||
# undef PyBytes_FromString
|
||||
# define PyBytes_FromString py3_PyBytes_FromString
|
||||
# define PyFloat_FromDouble py3_PyFloat_FromDouble
|
||||
***************
|
||||
*** 273,278 ****
|
||||
--- 274,280 ----
|
||||
static char* (*py3__PyUnicode_AsString)(PyObject *unicode);
|
||||
static PyObject* (*py3_PyUnicode_AsEncodedString)(PyObject *unicode, const char* encoding, const char* errors);
|
||||
static char* (*py3_PyBytes_AsString)(PyObject *bytes);
|
||||
+ static int (*py3_PyBytes_AsStringAndSize)(PyObject *bytes, char **buffer, int *length);
|
||||
static PyObject* (*py3_PyBytes_FromString)(char *str);
|
||||
static PyObject* (*py3_PyFloat_FromDouble)(double num);
|
||||
static double (*py3_PyFloat_AsDouble)(PyObject *);
|
||||
***************
|
||||
*** 379,384 ****
|
||||
--- 381,387 ----
|
||||
{"PyImport_AppendInittab", (PYTHON_PROC*)&py3_PyImport_AppendInittab},
|
||||
{"_PyUnicode_AsString", (PYTHON_PROC*)&py3__PyUnicode_AsString},
|
||||
{"PyBytes_AsString", (PYTHON_PROC*)&py3_PyBytes_AsString},
|
||||
+ {"PyBytes_AsStringAndSize", (PYTHON_PROC*)&py3_PyBytes_AsStringAndSize},
|
||||
{"PyBytes_FromString", (PYTHON_PROC*)&py3_PyBytes_FromString},
|
||||
{"PyFloat_FromDouble", (PYTHON_PROC*)&py3_PyFloat_FromDouble},
|
||||
{"PyFloat_AsDouble", (PYTHON_PROC*)&py3_PyFloat_AsDouble},
|
||||
***************
|
||||
*** 544,560 ****
|
||||
|
||||
#define PYINITIALISED py3initialised
|
||||
|
||||
! /* Add conversion from PyInt? */
|
||||
#define DICTKEY_GET(err) \
|
||||
if (PyBytes_Check(keyObject)) \
|
||||
! key = (char_u *) PyBytes_AsString(keyObject); \
|
||||
else if (PyUnicode_Check(keyObject)) \
|
||||
{ \
|
||||
bytes = PyString_AsBytes(keyObject); \
|
||||
if (bytes == NULL) \
|
||||
return err; \
|
||||
! key = (char_u *) PyBytes_AsString(bytes); \
|
||||
! if (key == NULL) \
|
||||
return err; \
|
||||
} \
|
||||
else \
|
||||
--- 547,566 ----
|
||||
|
||||
#define PYINITIALISED py3initialised
|
||||
|
||||
! #define DICTKEY_DECL PyObject *bytes = NULL;
|
||||
!
|
||||
#define DICTKEY_GET(err) \
|
||||
if (PyBytes_Check(keyObject)) \
|
||||
! { \
|
||||
! if (PyBytes_AsStringAndSize(keyObject, (char **) &key, NULL) == -1) \
|
||||
! return err; \
|
||||
! } \
|
||||
else if (PyUnicode_Check(keyObject)) \
|
||||
{ \
|
||||
bytes = PyString_AsBytes(keyObject); \
|
||||
if (bytes == NULL) \
|
||||
return err; \
|
||||
! if (PyBytes_AsStringAndSize(bytes, (char **) &key, NULL) == -1) \
|
||||
return err; \
|
||||
} \
|
||||
else \
|
||||
***************
|
||||
*** 562,573 ****
|
||||
PyErr_SetString(PyExc_TypeError, _("only string keys are allowed")); \
|
||||
return err; \
|
||||
}
|
||||
#define DICTKEY_UNREF \
|
||||
if (bytes != NULL) \
|
||||
Py_XDECREF(bytes);
|
||||
|
||||
- #define DICTKEY_DECL PyObject *bytes = NULL;
|
||||
-
|
||||
/*
|
||||
* Include the code shared with if_python.c
|
||||
*/
|
||||
--- 568,578 ----
|
||||
PyErr_SetString(PyExc_TypeError, _("only string keys are allowed")); \
|
||||
return err; \
|
||||
}
|
||||
+
|
||||
#define DICTKEY_UNREF \
|
||||
if (bytes != NULL) \
|
||||
Py_XDECREF(bytes);
|
||||
|
||||
/*
|
||||
* Include the code shared with if_python.c
|
||||
*/
|
||||
*** ../vim-7.3.656/src/version.c 2012-09-05 18:54:37.000000000 +0200
|
||||
--- src/version.c 2012-09-05 19:03:03.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 657,
|
||||
/**/
|
||||
|
||||
--
|
||||
Have you heard about the new Barbie doll? It's called Divorce
|
||||
Barbie. It comes with all of Ken's stuff.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
159
7.3.658
Normal file
159
7.3.658
Normal file
@ -0,0 +1,159 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.658
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.658
|
||||
Problem: NUL bytes truncate strings when converted from Python.
|
||||
Solution: Handle truncation as an error. (ZyX)
|
||||
Files: src/if_py_both.h, src/if_python3.c
|
||||
|
||||
|
||||
*** ../vim-7.3.657/src/if_py_both.h 2012-09-05 18:45:24.000000000 +0200
|
||||
--- src/if_py_both.h 2012-09-05 19:05:27.000000000 +0200
|
||||
***************
|
||||
*** 2530,2537 ****
|
||||
#if PY_MAJOR_VERSION >= 3
|
||||
else if (PyBytes_Check(obj))
|
||||
{
|
||||
! char_u *result = (char_u *) PyBytes_AsString(obj);
|
||||
|
||||
if (result == NULL)
|
||||
return -1;
|
||||
|
||||
--- 2530,2539 ----
|
||||
#if PY_MAJOR_VERSION >= 3
|
||||
else if (PyBytes_Check(obj))
|
||||
{
|
||||
! char_u *result;
|
||||
|
||||
+ if (PyString_AsStringAndSize(obj, (char **) &result, NULL) == -1)
|
||||
+ return -1;
|
||||
if (result == NULL)
|
||||
return -1;
|
||||
|
||||
***************
|
||||
*** 2549,2555 ****
|
||||
if (bytes == NULL)
|
||||
return -1;
|
||||
|
||||
! result = (char_u *) PyBytes_AsString(bytes);
|
||||
if (result == NULL)
|
||||
return -1;
|
||||
|
||||
--- 2551,2558 ----
|
||||
if (bytes == NULL)
|
||||
return -1;
|
||||
|
||||
! if(PyString_AsStringAndSize(bytes, (char **) &result, NULL) == -1)
|
||||
! return -1;
|
||||
if (result == NULL)
|
||||
return -1;
|
||||
|
||||
***************
|
||||
*** 2572,2578 ****
|
||||
if (bytes == NULL)
|
||||
return -1;
|
||||
|
||||
! result=(char_u *) PyString_AsString(bytes);
|
||||
if (result == NULL)
|
||||
return -1;
|
||||
|
||||
--- 2575,2582 ----
|
||||
if (bytes == NULL)
|
||||
return -1;
|
||||
|
||||
! if(PyString_AsStringAndSize(bytes, (char **) &result, NULL) == -1)
|
||||
! return -1;
|
||||
if (result == NULL)
|
||||
return -1;
|
||||
|
||||
***************
|
||||
*** 2587,2594 ****
|
||||
}
|
||||
else if (PyString_Check(obj))
|
||||
{
|
||||
! char_u *result = (char_u *) PyString_AsString(obj);
|
||||
|
||||
if (result == NULL)
|
||||
return -1;
|
||||
|
||||
--- 2591,2600 ----
|
||||
}
|
||||
else if (PyString_Check(obj))
|
||||
{
|
||||
! char_u *result;
|
||||
|
||||
+ if(PyString_AsStringAndSize(obj, (char **) &result, NULL) == -1)
|
||||
+ return -1;
|
||||
if (result == NULL)
|
||||
return -1;
|
||||
|
||||
*** ../vim-7.3.657/src/if_python3.c 2012-09-05 19:03:51.000000000 +0200
|
||||
--- src/if_python3.c 2012-09-05 19:05:27.000000000 +0200
|
||||
***************
|
||||
*** 85,90 ****
|
||||
--- 85,91 ----
|
||||
#define PyString_AsString(obj) PyBytes_AsString(obj)
|
||||
#define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
|
||||
#define PyString_FromString(repr) PyUnicode_FromString(repr)
|
||||
+ #define PyString_AsStringAndSize(obj, buffer, len) PyBytes_AsStringAndSize(obj, buffer, len)
|
||||
|
||||
#if defined(DYNAMIC_PYTHON3) || defined(PROTO)
|
||||
|
||||
***************
|
||||
*** 552,558 ****
|
||||
#define DICTKEY_GET(err) \
|
||||
if (PyBytes_Check(keyObject)) \
|
||||
{ \
|
||||
! if (PyBytes_AsStringAndSize(keyObject, (char **) &key, NULL) == -1) \
|
||||
return err; \
|
||||
} \
|
||||
else if (PyUnicode_Check(keyObject)) \
|
||||
--- 553,559 ----
|
||||
#define DICTKEY_GET(err) \
|
||||
if (PyBytes_Check(keyObject)) \
|
||||
{ \
|
||||
! if (PyString_AsStringAndSize(keyObject, (char **) &key, NULL) == -1) \
|
||||
return err; \
|
||||
} \
|
||||
else if (PyUnicode_Check(keyObject)) \
|
||||
***************
|
||||
*** 560,566 ****
|
||||
bytes = PyString_AsBytes(keyObject); \
|
||||
if (bytes == NULL) \
|
||||
return err; \
|
||||
! if (PyBytes_AsStringAndSize(bytes, (char **) &key, NULL) == -1) \
|
||||
return err; \
|
||||
} \
|
||||
else \
|
||||
--- 561,567 ----
|
||||
bytes = PyString_AsBytes(keyObject); \
|
||||
if (bytes == NULL) \
|
||||
return err; \
|
||||
! if (PyString_AsStringAndSize(bytes, (char **) &key, NULL) == -1) \
|
||||
return err; \
|
||||
} \
|
||||
else \
|
||||
*** ../vim-7.3.657/src/version.c 2012-09-05 19:03:51.000000000 +0200
|
||||
--- src/version.c 2012-09-05 19:07:40.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 658,
|
||||
/**/
|
||||
|
||||
--
|
||||
You know you use Vim too much when you have this alias in your
|
||||
~/.bashrc file: alias :e=/bin/vim (Eljay Love-Jensen)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
295
7.3.659
Normal file
295
7.3.659
Normal file
@ -0,0 +1,295 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.659
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.659
|
||||
Problem: Recent Python changes are not tested.
|
||||
Solution: Add tests for Python bindings. (ZyX)
|
||||
Files: src/testdir/test86.in, src/testdir/test86.ok,
|
||||
src/testdir/test87.in, src/testdir/test87.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.658/src/testdir/test86.in 2012-06-29 12:54:32.000000000 +0200
|
||||
--- src/testdir/test86.in 2012-09-05 19:11:36.000000000 +0200
|
||||
***************
|
||||
*** 176,203 ****
|
||||
:else
|
||||
: $put ='[0.0, 0.0]'
|
||||
:endif
|
||||
:"
|
||||
:" pyeval()
|
||||
:let l=pyeval('range(3)')
|
||||
:$put =string(l)
|
||||
:let d=pyeval('{"a": "b", "c": 1, "d": ["e"]}')
|
||||
:$put =sort(items(d))
|
||||
- :try
|
||||
- : let undef=pyeval('undefined_name')
|
||||
- :catch
|
||||
- : $put =v:exception[:13]
|
||||
- :endtry
|
||||
- :try
|
||||
- : let vim=pyeval('vim')
|
||||
- :catch
|
||||
- : $put =v:exception[:13]
|
||||
- :endtry
|
||||
:if has('float')
|
||||
: let f=pyeval('0.0')
|
||||
: $put =string(f)
|
||||
:else
|
||||
: $put ='0.0'
|
||||
:endif
|
||||
:endfun
|
||||
:"
|
||||
:call Test()
|
||||
--- 176,237 ----
|
||||
:else
|
||||
: $put ='[0.0, 0.0]'
|
||||
:endif
|
||||
+ :let messages=[]
|
||||
+ :py <<EOF
|
||||
+ d=vim.bindeval('{}')
|
||||
+ m=vim.bindeval('messages')
|
||||
+ try:
|
||||
+ d['abc']
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+
|
||||
+ try:
|
||||
+ d['abc']="\0"
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+
|
||||
+ try:
|
||||
+ d['abc']=vim
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+
|
||||
+ try:
|
||||
+ d['']=1
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+
|
||||
+ try:
|
||||
+ d['a\0b']=1
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+
|
||||
+ try:
|
||||
+ d[b'a\0b']=1
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+ EOF
|
||||
+ :$put =messages
|
||||
:"
|
||||
:" pyeval()
|
||||
:let l=pyeval('range(3)')
|
||||
:$put =string(l)
|
||||
:let d=pyeval('{"a": "b", "c": 1, "d": ["e"]}')
|
||||
:$put =sort(items(d))
|
||||
:if has('float')
|
||||
: let f=pyeval('0.0')
|
||||
: $put =string(f)
|
||||
:else
|
||||
: $put ='0.0'
|
||||
:endif
|
||||
+ :" Invalid values:
|
||||
+ :for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim']
|
||||
+ : try
|
||||
+ : let v=pyeval(e)
|
||||
+ : catch
|
||||
+ : let toput=e.":\t".v:exception[:13]
|
||||
+ : $put =toput
|
||||
+ : endtry
|
||||
+ :endfor
|
||||
:endfun
|
||||
:"
|
||||
:call Test()
|
||||
*** ../vim-7.3.658/src/testdir/test86.ok 2012-06-29 12:54:32.000000000 +0200
|
||||
--- src/testdir/test86.ok 2012-09-05 19:11:36.000000000 +0200
|
||||
***************
|
||||
*** 38,47 ****
|
||||
Vim(python):E725:
|
||||
Vim(python):E117:
|
||||
[0.0, 0.0]
|
||||
[0, 1, 2]
|
||||
['a', 'b']
|
||||
['c', 1]
|
||||
['d', ['e']]
|
||||
- Vim(let):E858:
|
||||
- Vim(let):E859:
|
||||
0.0
|
||||
--- 38,55 ----
|
||||
Vim(python):E725:
|
||||
Vim(python):E117:
|
||||
[0.0, 0.0]
|
||||
+ IndexError
|
||||
+ TypeError
|
||||
+ TypeError
|
||||
+ ValueError
|
||||
+ TypeError
|
||||
+ TypeError
|
||||
[0, 1, 2]
|
||||
['a', 'b']
|
||||
['c', 1]
|
||||
['d', ['e']]
|
||||
0.0
|
||||
+ "\0": Vim(let):E859:
|
||||
+ {"\0": 1}: Vim(let):E859:
|
||||
+ undefined_name: Vim(let):E858:
|
||||
+ vim: Vim(let):E859:
|
||||
*** ../vim-7.3.658/src/testdir/test87.in 2012-06-29 12:54:32.000000000 +0200
|
||||
--- src/testdir/test87.in 2012-09-05 19:11:36.000000000 +0200
|
||||
***************
|
||||
*** 176,203 ****
|
||||
:else
|
||||
: $put ='[0.0, 0.0]'
|
||||
:endif
|
||||
:"
|
||||
:" py3eval()
|
||||
:let l=py3eval('[0, 1, 2]')
|
||||
:$put =string(l)
|
||||
:let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')
|
||||
:$put =sort(items(d))
|
||||
- :try
|
||||
- : let undef=py3eval('undefined_name')
|
||||
- :catch
|
||||
- : $put =v:exception[:13]
|
||||
- :endtry
|
||||
- :try
|
||||
- : let vim=py3eval('vim')
|
||||
- :catch
|
||||
- : $put =v:exception[:13]
|
||||
- :endtry
|
||||
:if has('float')
|
||||
: let f=py3eval('0.0')
|
||||
: $put =string(f)
|
||||
:else
|
||||
: $put ='0.0'
|
||||
:endif
|
||||
:endfun
|
||||
:"
|
||||
:call Test()
|
||||
--- 176,237 ----
|
||||
:else
|
||||
: $put ='[0.0, 0.0]'
|
||||
:endif
|
||||
+ :let messages=[]
|
||||
+ :py3 <<EOF
|
||||
+ d=vim.bindeval('{}')
|
||||
+ m=vim.bindeval('messages')
|
||||
+ try:
|
||||
+ d['abc']
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+
|
||||
+ try:
|
||||
+ d['abc']="\0"
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+
|
||||
+ try:
|
||||
+ d['abc']=vim
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+
|
||||
+ try:
|
||||
+ d['']=1
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+
|
||||
+ try:
|
||||
+ d['a\0b']=1
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+
|
||||
+ try:
|
||||
+ d[b'a\0b']=1
|
||||
+ except Exception as e:
|
||||
+ m.extend([e.__class__.__name__])
|
||||
+ EOF
|
||||
+ :$put =messages
|
||||
:"
|
||||
:" py3eval()
|
||||
:let l=py3eval('[0, 1, 2]')
|
||||
:$put =string(l)
|
||||
:let d=py3eval('{"a": "b", "c": 1, "d": ["e"]}')
|
||||
:$put =sort(items(d))
|
||||
:if has('float')
|
||||
: let f=py3eval('0.0')
|
||||
: $put =string(f)
|
||||
:else
|
||||
: $put ='0.0'
|
||||
:endif
|
||||
+ :" Invalid values:
|
||||
+ :for e in ['"\0"', '{"\0": 1}', 'undefined_name', 'vim']
|
||||
+ : try
|
||||
+ : let v=py3eval(e)
|
||||
+ : catch
|
||||
+ : let toput=e.":\t".v:exception[:13]
|
||||
+ : $put =toput
|
||||
+ : endtry
|
||||
+ :endfor
|
||||
:endfun
|
||||
:"
|
||||
:call Test()
|
||||
*** ../vim-7.3.658/src/testdir/test87.ok 2012-06-29 12:54:32.000000000 +0200
|
||||
--- src/testdir/test87.ok 2012-09-05 19:11:36.000000000 +0200
|
||||
***************
|
||||
*** 38,47 ****
|
||||
Vim(py3):E725:
|
||||
Vim(py3):E117:
|
||||
[0.0, 0.0]
|
||||
[0, 1, 2]
|
||||
['a', 'b']
|
||||
['c', 1]
|
||||
['d', ['e']]
|
||||
- Vim(let):E860:
|
||||
- Vim(let):E861:
|
||||
0.0
|
||||
--- 38,55 ----
|
||||
Vim(py3):E725:
|
||||
Vim(py3):E117:
|
||||
[0.0, 0.0]
|
||||
+ IndexError
|
||||
+ TypeError
|
||||
+ TypeError
|
||||
+ ValueError
|
||||
+ TypeError
|
||||
+ TypeError
|
||||
[0, 1, 2]
|
||||
['a', 'b']
|
||||
['c', 1]
|
||||
['d', ['e']]
|
||||
0.0
|
||||
+ "\0": Vim(let):E861:
|
||||
+ {"\0": 1}: Vim(let):E861:
|
||||
+ undefined_name: Vim(let):E860:
|
||||
+ vim: Vim(let):E861:
|
||||
*** ../vim-7.3.658/src/version.c 2012-09-05 19:09:06.000000000 +0200
|
||||
--- src/version.c 2012-09-05 19:16:52.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 659,
|
||||
/**/
|
||||
|
||||
--
|
||||
DEAD PERSON: I don't want to go in the cart!
|
||||
CUSTOMER: Oh, don't be such a baby.
|
||||
MORTICIAN: I can't take him...
|
||||
DEAD PERSON: I feel fine!
|
||||
CUSTOMER: Oh, do us a favor...
|
||||
MORTICIAN: I can't.
|
||||
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/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
52
7.3.660
Normal file
52
7.3.660
Normal file
@ -0,0 +1,52 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.660
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.660
|
||||
Problem: ":help !" jumps to help for ":!".
|
||||
Solution: Adjust check for tag header line. (Andy Wokula)
|
||||
Files: src/tag.c
|
||||
|
||||
|
||||
*** ../vim-7.3.659/src/tag.c 2012-09-05 15:03:27.000000000 +0200
|
||||
--- src/tag.c 2012-09-12 18:10:01.000000000 +0200
|
||||
***************
|
||||
*** 1797,1803 ****
|
||||
*/
|
||||
if (state == TS_START)
|
||||
{
|
||||
! if (STRNCMP(lbuf, "!_TAG_", 6) <= 0)
|
||||
{
|
||||
/*
|
||||
* Read header line.
|
||||
--- 1797,1803 ----
|
||||
*/
|
||||
if (state == TS_START)
|
||||
{
|
||||
! if (STRNCMP(lbuf, "!_TAG_", 6) == 0)
|
||||
{
|
||||
/*
|
||||
* Read header line.
|
||||
*** ../vim-7.3.659/src/version.c 2012-09-05 19:17:37.000000000 +0200
|
||||
--- src/version.c 2012-09-12 18:18:30.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 660,
|
||||
/**/
|
||||
|
||||
--
|
||||
Q: How does a UNIX Guru pick up a girl?
|
||||
A: look; grep; which; eval; nice; uname; talk; date;
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
160
7.3.661
Normal file
160
7.3.661
Normal file
@ -0,0 +1,160 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.661
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.661 (after 7.3.652)
|
||||
Problem: SEGV in Python code.
|
||||
Solution: Initialize len to zero. Use the right function depending on
|
||||
version. (Maxim Philippov)
|
||||
Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
|
||||
|
||||
|
||||
*** ../vim-7.3.660/src/if_py_both.h 2012-09-05 19:09:06.000000000 +0200
|
||||
--- src/if_py_both.h 2012-09-12 19:50:07.000000000 +0200
|
||||
***************
|
||||
*** 74,80 ****
|
||||
static PyObject *
|
||||
OutputWrite(PyObject *self, PyObject *args)
|
||||
{
|
||||
! Py_ssize_t len;
|
||||
char *str = NULL;
|
||||
int error = ((OutputObject *)(self))->error;
|
||||
|
||||
--- 74,80 ----
|
||||
static PyObject *
|
||||
OutputWrite(PyObject *self, PyObject *args)
|
||||
{
|
||||
! Py_ssize_t len = 0;
|
||||
char *str = NULL;
|
||||
int error = ((OutputObject *)(self))->error;
|
||||
|
||||
*** ../vim-7.3.660/src/if_python.c 2012-09-05 19:03:51.000000000 +0200
|
||||
--- src/if_python.c 2012-09-12 19:52:10.000000000 +0200
|
||||
***************
|
||||
*** 44,51 ****
|
||||
# undef _XOPEN_SOURCE /* pyconfig.h defines it as well. */
|
||||
#endif
|
||||
|
||||
- #define PY_SSIZE_T_CLEAN
|
||||
-
|
||||
#include <Python.h>
|
||||
#if defined(MACOS) && !defined(MACOS_X_UNIX)
|
||||
# include "macglue.h"
|
||||
--- 44,49 ----
|
||||
***************
|
||||
*** 54,59 ****
|
||||
--- 52,61 ----
|
||||
#undef main /* Defined in python.h - aargh */
|
||||
#undef HAVE_FCNTL_H /* Clash with os_win32.h */
|
||||
|
||||
+ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000
|
||||
+ # define PY_SSIZE_T_CLEAN
|
||||
+ #endif
|
||||
+
|
||||
static void init_structs(void);
|
||||
|
||||
#define PyBytes_FromString PyString_FromString
|
||||
***************
|
||||
*** 358,365 ****
|
||||
--- 360,374 ----
|
||||
PYTHON_PROC *ptr;
|
||||
} python_funcname_table[] =
|
||||
{
|
||||
+ #ifndef PY_SSIZE_T_CLEAN
|
||||
{"PyArg_Parse", (PYTHON_PROC*)&dll_PyArg_Parse},
|
||||
{"PyArg_ParseTuple", (PYTHON_PROC*)&dll_PyArg_ParseTuple},
|
||||
+ {"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue},
|
||||
+ #else
|
||||
+ {"_PyArg_Parse_SizeT", (PYTHON_PROC*)&dll_PyArg_Parse},
|
||||
+ {"_PyArg_ParseTuple_SizeT", (PYTHON_PROC*)&dll_PyArg_ParseTuple},
|
||||
+ {"_Py_BuildValue_SizeT", (PYTHON_PROC*)&dll_Py_BuildValue},
|
||||
+ #endif
|
||||
{"PyMem_Free", (PYTHON_PROC*)&dll_PyMem_Free},
|
||||
{"PyMem_Malloc", (PYTHON_PROC*)&dll_PyMem_Malloc},
|
||||
{"PyDict_SetItemString", (PYTHON_PROC*)&dll_PyDict_SetItemString},
|
||||
***************
|
||||
*** 422,428 ****
|
||||
{"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv},
|
||||
{"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type},
|
||||
{"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready},
|
||||
- {"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue},
|
||||
{"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
|
||||
# if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \
|
||||
&& SIZEOF_SIZE_T != SIZEOF_INT
|
||||
--- 431,436 ----
|
||||
*** ../vim-7.3.660/src/if_python3.c 2012-09-05 19:09:06.000000000 +0200
|
||||
--- src/if_python3.c 2012-09-12 19:52:10.000000000 +0200
|
||||
***************
|
||||
*** 42,49 ****
|
||||
# undef _DEBUG
|
||||
#endif
|
||||
|
||||
- #define PY_SSIZE_T_CLEAN
|
||||
-
|
||||
#ifdef F_BLANK
|
||||
# undef F_BLANK
|
||||
#endif
|
||||
--- 42,47 ----
|
||||
***************
|
||||
*** 66,71 ****
|
||||
--- 64,73 ----
|
||||
#undef main /* Defined in python.h - aargh */
|
||||
#undef HAVE_FCNTL_H /* Clash with os_win32.h */
|
||||
|
||||
+ #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000
|
||||
+ # define PY_SSIZE_T_CLEAN
|
||||
+ #endif
|
||||
+
|
||||
static void init_structs(void);
|
||||
|
||||
/* The "surrogateescape" error handler is new in Python 3.1 */
|
||||
***************
|
||||
*** 328,334 ****
|
||||
--- 330,342 ----
|
||||
{"PySys_SetArgv", (PYTHON_PROC*)&py3_PySys_SetArgv},
|
||||
{"Py_SetPythonHome", (PYTHON_PROC*)&py3_Py_SetPythonHome},
|
||||
{"Py_Initialize", (PYTHON_PROC*)&py3_Py_Initialize},
|
||||
+ #ifndef PY_SSIZE_T_CLEAN
|
||||
{"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
|
||||
+ {"Py_BuildValue", (PYTHON_PROC*)&py3_Py_BuildValue},
|
||||
+ #else
|
||||
+ {"_PyArg_ParseTuple_SizeT", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
|
||||
+ {"_Py_BuildValue_SizeT", (PYTHON_PROC*)&py3_Py_BuildValue},
|
||||
+ #endif
|
||||
{"PyMem_Free", (PYTHON_PROC*)&py3_PyMem_Free},
|
||||
{"PyMem_Malloc", (PYTHON_PROC*)&py3_PyMem_Malloc},
|
||||
{"PyList_New", (PYTHON_PROC*)&py3_PyList_New},
|
||||
***************
|
||||
*** 364,370 ****
|
||||
{"PyObject_GetIter", (PYTHON_PROC*)&py3_PyObject_GetIter},
|
||||
{"PyLong_FromLong", (PYTHON_PROC*)&py3_PyLong_FromLong},
|
||||
{"PyDict_New", (PYTHON_PROC*)&py3_PyDict_New},
|
||||
- {"Py_BuildValue", (PYTHON_PROC*)&py3_Py_BuildValue},
|
||||
{"PyType_Ready", (PYTHON_PROC*)&py3_PyType_Ready},
|
||||
{"PyDict_SetItemString", (PYTHON_PROC*)&py3_PyDict_SetItemString},
|
||||
{"PyLong_AsLong", (PYTHON_PROC*)&py3_PyLong_AsLong},
|
||||
--- 372,377 ----
|
||||
*** ../vim-7.3.660/src/version.c 2012-09-12 18:19:39.000000000 +0200
|
||||
--- src/version.c 2012-09-12 19:53:52.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 661,
|
||||
/**/
|
||||
|
||||
--
|
||||
Courtroom Quote #19:
|
||||
Q: Doctor, how many autopsies have you performed on dead people?
|
||||
A: All my autopsies have been performed on dead people.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
81
7.3.662
Normal file
81
7.3.662
Normal file
@ -0,0 +1,81 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.662
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.662
|
||||
Problem: Can't build Ruby interface with Ruby 1.9.3.
|
||||
Solution: Add missing functions. (V. Ondruch)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.661/src/if_ruby.c 2012-04-25 12:28:05.000000000 +0200
|
||||
--- src/if_ruby.c 2012-09-18 16:31:45.000000000 +0200
|
||||
***************
|
||||
*** 178,183 ****
|
||||
--- 178,186 ----
|
||||
#define rb_hash_new dll_rb_hash_new
|
||||
#define rb_inspect dll_rb_inspect
|
||||
#define rb_int2inum dll_rb_int2inum
|
||||
+ #define rb_fix2int dll_rb_fix2int
|
||||
+ #define rb_num2int dll_rb_num2int
|
||||
+ #define rb_num2uint dll_rb_num2uint
|
||||
#define rb_lastline_get dll_rb_lastline_get
|
||||
#define rb_lastline_set dll_rb_lastline_set
|
||||
#define rb_load_protect dll_rb_load_protect
|
||||
***************
|
||||
*** 268,274 ****
|
||||
static VALUE (*dll_rb_hash_new) (void);
|
||||
static VALUE (*dll_rb_inspect) (VALUE);
|
||||
static VALUE (*dll_rb_int2inum) (long);
|
||||
! static VALUE (*dll_rb_int2inum) (long);
|
||||
static VALUE (*dll_rb_lastline_get) (void);
|
||||
static void (*dll_rb_lastline_set) (VALUE);
|
||||
static void (*dll_rb_load_protect) (VALUE, int, int*);
|
||||
--- 271,279 ----
|
||||
static VALUE (*dll_rb_hash_new) (void);
|
||||
static VALUE (*dll_rb_inspect) (VALUE);
|
||||
static VALUE (*dll_rb_int2inum) (long);
|
||||
! static long (*dll_rb_fix2int) (VALUE);
|
||||
! static long (*dll_rb_num2int) (VALUE);
|
||||
! static unsigned long (*dll_rb_num2uint) (VALUE);
|
||||
static VALUE (*dll_rb_lastline_get) (void);
|
||||
static void (*dll_rb_lastline_set) (VALUE);
|
||||
static void (*dll_rb_load_protect) (VALUE, int, int*);
|
||||
***************
|
||||
*** 377,382 ****
|
||||
--- 382,390 ----
|
||||
{"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new},
|
||||
{"rb_inspect", (RUBY_PROC*)&dll_rb_inspect},
|
||||
{"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum},
|
||||
+ {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int},
|
||||
+ {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int},
|
||||
+ {"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint},
|
||||
{"rb_lastline_get", (RUBY_PROC*)&dll_rb_lastline_get},
|
||||
{"rb_lastline_set", (RUBY_PROC*)&dll_rb_lastline_set},
|
||||
{"rb_load_protect", (RUBY_PROC*)&dll_rb_load_protect},
|
||||
*** ../vim-7.3.661/src/version.c 2012-09-12 20:21:38.000000000 +0200
|
||||
--- src/version.c 2012-09-18 16:35:53.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 662,
|
||||
/**/
|
||||
|
||||
--
|
||||
FATHER: We are here today to witness the union of two young people in the
|
||||
joyful bond of the holy wedlock. Unfortunately, one of them, my son
|
||||
Herbert, has just fallen to his death.
|
||||
[Murmurs from CROWD; the BRIDE smiles with relief, coughs.]
|
||||
"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/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
54
7.3.663
Normal file
54
7.3.663
Normal file
@ -0,0 +1,54 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.663
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.663
|
||||
Problem: End of color scheme name not clear in E185. (Aaron Lewis)
|
||||
Solution: Put the name in single quotes.
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
|
||||
*** ../vim-7.3.662/src/ex_docmd.c 2012-08-23 18:43:06.000000000 +0200
|
||||
--- src/ex_docmd.c 2012-09-14 20:49:29.000000000 +0200
|
||||
***************
|
||||
*** 6466,6472 ****
|
||||
#endif
|
||||
}
|
||||
else if (load_colors(eap->arg) == FAIL)
|
||||
! EMSG2(_("E185: Cannot find color scheme %s"), eap->arg);
|
||||
}
|
||||
|
||||
static void
|
||||
--- 6466,6472 ----
|
||||
#endif
|
||||
}
|
||||
else if (load_colors(eap->arg) == FAIL)
|
||||
! EMSG2(_("E185: Cannot find color scheme '%s'"), eap->arg);
|
||||
}
|
||||
|
||||
static void
|
||||
*** ../vim-7.3.662/src/version.c 2012-09-18 16:36:26.000000000 +0200
|
||||
--- src/version.c 2012-09-18 16:44:57.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 663,
|
||||
/**/
|
||||
|
||||
--
|
||||
Yesterday is history.
|
||||
Tomorrow is a mystery.
|
||||
Today is a gift.
|
||||
That's why it is called 'present'.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
78
7.3.664
Normal file
78
7.3.664
Normal file
@ -0,0 +1,78 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.664
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.664
|
||||
Problem: Buffer overflow in unescaping text. (Raymond Ko)
|
||||
Solution: Limit check for multi-byte character to 4 bytes.
|
||||
Files: src/mbyte.c
|
||||
|
||||
|
||||
*** ../vim-7.3.663/src/mbyte.c 2012-06-01 17:46:52.000000000 +0200
|
||||
--- src/mbyte.c 2012-09-18 17:53:05.000000000 +0200
|
||||
***************
|
||||
*** 3793,3805 ****
|
||||
mb_unescape(pp)
|
||||
char_u **pp;
|
||||
{
|
||||
! static char_u buf[MB_MAXBYTES + 1];
|
||||
! int n, m = 0;
|
||||
char_u *str = *pp;
|
||||
|
||||
/* Must translate K_SPECIAL KS_SPECIAL KE_FILLER to K_SPECIAL and CSI
|
||||
! * KS_EXTRA KE_CSI to CSI. */
|
||||
! for (n = 0; str[n] != NUL && m <= MB_MAXBYTES; ++n)
|
||||
{
|
||||
if (str[n] == K_SPECIAL
|
||||
&& str[n + 1] == KS_SPECIAL
|
||||
--- 3793,3807 ----
|
||||
mb_unescape(pp)
|
||||
char_u **pp;
|
||||
{
|
||||
! static char_u buf[6];
|
||||
! int n;
|
||||
! int m = 0;
|
||||
char_u *str = *pp;
|
||||
|
||||
/* Must translate K_SPECIAL KS_SPECIAL KE_FILLER to K_SPECIAL and CSI
|
||||
! * KS_EXTRA KE_CSI to CSI.
|
||||
! * Maximum length of a utf-8 character is 4 bytes. */
|
||||
! for (n = 0; str[n] != NUL && m < 4; ++n)
|
||||
{
|
||||
if (str[n] == K_SPECIAL
|
||||
&& str[n + 1] == KS_SPECIAL
|
||||
***************
|
||||
*** 3836,3841 ****
|
||||
--- 3838,3847 ----
|
||||
*pp = str + n + 1;
|
||||
return buf;
|
||||
}
|
||||
+
|
||||
+ /* Bail out quickly for ASCII. */
|
||||
+ if (buf[0] < 128)
|
||||
+ break;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
*** ../vim-7.3.663/src/version.c 2012-09-18 16:47:00.000000000 +0200
|
||||
--- src/version.c 2012-09-18 18:01:14.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 664,
|
||||
/**/
|
||||
|
||||
--
|
||||
There are three kinds of people: Those who can count & those who can't.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
80
7.3.665
Normal file
80
7.3.665
Normal file
@ -0,0 +1,80 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.665
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.665
|
||||
Problem: MSVC 11 is not supported.
|
||||
Solution: Recognize MSVC 11. (Raymond Ko)
|
||||
Files: src/Make_mvc.mak
|
||||
|
||||
|
||||
*** ../vim-7.3.664/src/Make_mvc.mak 2012-09-05 17:57:34.000000000 +0200
|
||||
--- src/Make_mvc.mak 2012-09-18 18:24:48.000000000 +0200
|
||||
***************
|
||||
*** 395,400 ****
|
||||
--- 395,403 ----
|
||||
!if "$(_NMAKE_VER)" == "10.00.30319.01"
|
||||
MSVCVER = 10.0
|
||||
!endif
|
||||
+ !if "$(_NMAKE_VER)" == "11.00.50727.1"
|
||||
+ MSVCVER = 11.0
|
||||
+ !endif
|
||||
!endif
|
||||
|
||||
# Abort bulding VIM if version of VC is unrecognised.
|
||||
***************
|
||||
*** 409,415 ****
|
||||
!endif
|
||||
|
||||
# Convert processor ID to MVC-compatible number
|
||||
! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0")
|
||||
!if "$(CPUNR)" == "i386"
|
||||
CPUARG = /G3
|
||||
!elseif "$(CPUNR)" == "i486"
|
||||
--- 412,418 ----
|
||||
!endif
|
||||
|
||||
# Convert processor ID to MVC-compatible number
|
||||
! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0")
|
||||
!if "$(CPUNR)" == "i386"
|
||||
CPUARG = /G3
|
||||
!elseif "$(CPUNR)" == "i486"
|
||||
***************
|
||||
*** 443,449 ****
|
||||
OPTFLAG = /Ox
|
||||
!endif
|
||||
|
||||
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0")
|
||||
# Use link time code generation if not worried about size
|
||||
!if "$(OPTIMIZE)" != "SPACE"
|
||||
OPTFLAG = $(OPTFLAG) /GL
|
||||
--- 446,452 ----
|
||||
OPTFLAG = /Ox
|
||||
!endif
|
||||
|
||||
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0")
|
||||
# Use link time code generation if not worried about size
|
||||
!if "$(OPTIMIZE)" != "SPACE"
|
||||
OPTFLAG = $(OPTFLAG) /GL
|
||||
*** ../vim-7.3.664/src/version.c 2012-09-18 18:03:33.000000000 +0200
|
||||
--- src/version.c 2012-09-18 18:26:16.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 665,
|
||||
/**/
|
||||
|
||||
--
|
||||
There are 10 kinds of people: Those who understand binary and those who don't.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
95
7.3.666
Normal file
95
7.3.666
Normal file
@ -0,0 +1,95 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.6
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.666
|
||||
Problem: With MSVC 11 Win32.mak is not found.
|
||||
Solution: Add the SDK_INCLUDE_DIR variable. (Raymond Ko)
|
||||
Files: src/Make_mvc.mak
|
||||
|
||||
|
||||
*** ../vim-7.3.665/src/Make_mvc.mak 2012-09-18 18:27:07.000000000 +0200
|
||||
--- src/Make_mvc.mak 2012-09-18 21:58:09.000000000 +0200
|
||||
***************
|
||||
*** 1,7 ****
|
||||
# Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me)
|
||||
# and Win64, using the Microsoft Visual C++ compilers. Known to work with
|
||||
# VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005),
|
||||
! # VC9 (VS2008), and VC10 (VS2010).
|
||||
#
|
||||
# To build using other Windows compilers, see INSTALLpc.txt
|
||||
#
|
||||
--- 1,7 ----
|
||||
# Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me)
|
||||
# and Win64, using the Microsoft Visual C++ compilers. Known to work with
|
||||
# VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005),
|
||||
! # VC9 (VS2008), VC10 (VS2010) and VC11 (VS2012)
|
||||
#
|
||||
# To build using other Windows compilers, see INSTALLpc.txt
|
||||
#
|
||||
***************
|
||||
*** 15,20 ****
|
||||
--- 15,23 ----
|
||||
# This will build the console version of Vim with no additional interfaces.
|
||||
# To add features, define any of the following:
|
||||
#
|
||||
+ # For MSVC 11 you need to specify where the Win32.mak file is, e.g.:
|
||||
+ # SDK_INCLUDE_DIR="C:\Program Files\Microsoft SDKs\Windows\v7.1\Include"
|
||||
+ #
|
||||
# !!!! After changing features do "nmake clean" first !!!!
|
||||
#
|
||||
# Feature Set: FEATURES=[TINY, SMALL, NORMAL, BIG, HUGE] (default is BIG)
|
||||
***************
|
||||
*** 227,233 ****
|
||||
--- 230,241 ----
|
||||
|
||||
# Get all sorts of useful, standard macros from the Platform SDK.
|
||||
|
||||
+ !ifdef SDK_INCLUDE_DIR
|
||||
+ !include $(SDK_INCLUDE_DIR)\Win32.mak
|
||||
+ !else
|
||||
!include <Win32.mak>
|
||||
+ !endif
|
||||
+
|
||||
|
||||
# Flag to turn on Win64 compatibility warnings for VC7.x and VC8.
|
||||
WP64CHECK = /Wp64
|
||||
***************
|
||||
*** 911,917 ****
|
||||
|
||||
# Report link time code generation progress if used.
|
||||
!ifdef NODEBUG
|
||||
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0")
|
||||
!if "$(OPTIMIZE)" != "SPACE"
|
||||
LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
|
||||
!endif
|
||||
--- 919,925 ----
|
||||
|
||||
# Report link time code generation progress if used.
|
||||
!ifdef NODEBUG
|
||||
! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0")
|
||||
!if "$(OPTIMIZE)" != "SPACE"
|
||||
LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
|
||||
!endif
|
||||
*** ../vim-7.3.665/src/version.c 2012-09-18 18:27:07.000000000 +0200
|
||||
--- src/version.c 2012-09-18 21:58:44.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 666,
|
||||
/**/
|
||||
|
||||
--
|
||||
Be nice to your kids... they'll be the ones choosing your nursing home.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
86
7.3.667
Normal file
86
7.3.667
Normal file
@ -0,0 +1,86 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.667
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.667
|
||||
Problem: Unused variables in Perl interface.
|
||||
Solution: Adjust #ifdefs.
|
||||
Files: src/if_perl.xs
|
||||
|
||||
|
||||
*** ../vim-7.3.666/src/if_perl.xs 2012-08-08 13:17:26.000000000 +0200
|
||||
--- src/if_perl.xs 2012-09-21 12:39:29.000000000 +0200
|
||||
***************
|
||||
*** 315,320 ****
|
||||
--- 315,323 ----
|
||||
static void (*Perl_sv_free2)(pTHX_ SV*);
|
||||
static void (*Perl_sys_init)(int* argc, char*** argv);
|
||||
static void (*Perl_sys_term)(void);
|
||||
+ static void (*Perl_call_list)(pTHX_ I32, AV*);
|
||||
+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
|
||||
+ # else
|
||||
static SV** (*Perl_ISv_ptr)(register PerlInterpreter*);
|
||||
static SV*** (*Perl_Istack_max_ptr)(register PerlInterpreter*);
|
||||
static SV*** (*Perl_Istack_base_ptr)(register PerlInterpreter*);
|
||||
***************
|
||||
*** 326,341 ****
|
||||
static I32** (*Perl_Imarkstack_max_ptr)(register PerlInterpreter*);
|
||||
static SV*** (*Perl_Istack_sp_ptr)(register PerlInterpreter*);
|
||||
static OP** (*Perl_Iop_ptr)(register PerlInterpreter*);
|
||||
- static void (*Perl_call_list)(pTHX_ I32, AV*);
|
||||
static I32* (*Perl_Iscopestack_ix_ptr)(register PerlInterpreter*);
|
||||
static AV** (*Perl_Iunitcheckav_ptr)(register PerlInterpreter*);
|
||||
#endif
|
||||
|
||||
static GV** (*Perl_Idefgv_ptr)(register PerlInterpreter*);
|
||||
static GV** (*Perl_Ierrgv_ptr)(register PerlInterpreter*);
|
||||
static SV* (*Perl_Isv_yes_ptr)(register PerlInterpreter*);
|
||||
- static void (*boot_DynaLoader)_((pTHX_ CV*));
|
||||
static perl_key* (*Perl_Gthr_key_ptr)_((pTHX));
|
||||
|
||||
/*
|
||||
* Table of name to function pointer of perl.
|
||||
--- 329,347 ----
|
||||
static I32** (*Perl_Imarkstack_max_ptr)(register PerlInterpreter*);
|
||||
static SV*** (*Perl_Istack_sp_ptr)(register PerlInterpreter*);
|
||||
static OP** (*Perl_Iop_ptr)(register PerlInterpreter*);
|
||||
static I32* (*Perl_Iscopestack_ix_ptr)(register PerlInterpreter*);
|
||||
static AV** (*Perl_Iunitcheckav_ptr)(register PerlInterpreter*);
|
||||
+ # endif
|
||||
#endif
|
||||
|
||||
+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
|
||||
+ #else
|
||||
static GV** (*Perl_Idefgv_ptr)(register PerlInterpreter*);
|
||||
static GV** (*Perl_Ierrgv_ptr)(register PerlInterpreter*);
|
||||
static SV* (*Perl_Isv_yes_ptr)(register PerlInterpreter*);
|
||||
static perl_key* (*Perl_Gthr_key_ptr)_((pTHX));
|
||||
+ #endif
|
||||
+ static void (*boot_DynaLoader)_((pTHX_ CV*));
|
||||
|
||||
/*
|
||||
* Table of name to function pointer of perl.
|
||||
*** ../vim-7.3.666/src/version.c 2012-09-18 22:00:02.000000000 +0200
|
||||
--- src/version.c 2012-09-21 12:40:57.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 667,
|
||||
/**/
|
||||
|
||||
--
|
||||
Two cows are standing together in a field. One asks the other:
|
||||
"So what do you think about this Mad Cow Disease?"
|
||||
The other replies: "That doesn't concern me. I'm a helicopter."
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
84
7.3.668
Normal file
84
7.3.668
Normal file
@ -0,0 +1,84 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.668
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.668
|
||||
Problem: Building with Perl loaded dynamically still uses static library.
|
||||
Solution: Adjust use of PL_thr_key. (Ken Takata)
|
||||
Files: src/if_perl.xs
|
||||
|
||||
|
||||
*** ../vim-7.3.667/src/if_perl.xs 2012-09-21 12:42:38.000000000 +0200
|
||||
--- src/if_perl.xs 2012-09-21 12:47:55.000000000 +0200
|
||||
***************
|
||||
*** 155,161 ****
|
||||
# define Perl_set_context dll_Perl_set_context
|
||||
# if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
|
||||
# define Perl_sv_2bool_flags dll_Perl_sv_2bool_flags
|
||||
! # define Perl_xs_apiversion_bootcheck dll_Perl_xs_apiversion_bootcheck
|
||||
# else
|
||||
# define Perl_sv_2bool dll_Perl_sv_2bool
|
||||
# endif
|
||||
--- 155,161 ----
|
||||
# define Perl_set_context dll_Perl_set_context
|
||||
# if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
|
||||
# define Perl_sv_2bool_flags dll_Perl_sv_2bool_flags
|
||||
! # define Perl_xs_apiversion_bootcheck dll_Perl_xs_apiversion_bootcheck
|
||||
# else
|
||||
# define Perl_sv_2bool dll_Perl_sv_2bool
|
||||
# endif
|
||||
***************
|
||||
*** 225,230 ****
|
||||
--- 225,233 ----
|
||||
# define Perl_call_list dll_Perl_call_list
|
||||
# define Perl_Iscopestack_ix_ptr dll_Perl_Iscopestack_ix_ptr
|
||||
# define Perl_Iunitcheckav_ptr dll_Perl_Iunitcheckav_ptr
|
||||
+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
|
||||
+ # define PL_thr_key *dll_PL_thr_key
|
||||
+ # endif
|
||||
|
||||
/*
|
||||
* Declare HANDLE for perl.dll and function pointers.
|
||||
***************
|
||||
*** 335,340 ****
|
||||
--- 338,344 ----
|
||||
#endif
|
||||
|
||||
#if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
|
||||
+ static perl_key* dll_PL_thr_key;
|
||||
#else
|
||||
static GV** (*Perl_Idefgv_ptr)(register PerlInterpreter*);
|
||||
static GV** (*Perl_Ierrgv_ptr)(register PerlInterpreter*);
|
||||
***************
|
||||
*** 453,458 ****
|
||||
--- 457,463 ----
|
||||
# endif
|
||||
#endif
|
||||
#if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
|
||||
+ {"PL_thr_key", (PERL_PROC*)&dll_PL_thr_key},
|
||||
#else
|
||||
{"Perl_Idefgv_ptr", (PERL_PROC*)&Perl_Idefgv_ptr},
|
||||
{"Perl_Ierrgv_ptr", (PERL_PROC*)&Perl_Ierrgv_ptr},
|
||||
*** ../vim-7.3.667/src/version.c 2012-09-21 12:42:38.000000000 +0200
|
||||
--- src/version.c 2012-09-21 12:49:06.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 668,
|
||||
/**/
|
||||
|
||||
--
|
||||
Michael: There is no such thing as a dump question.
|
||||
Bernard: Sure there is. For example "what is a core dump?"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
128
7.3.669
Normal file
128
7.3.669
Normal file
@ -0,0 +1,128 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.669
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.669
|
||||
Problem: When building with Cygwin loading Python dynamically fails.
|
||||
Solution: Use DLLLIBRARY instead of INSTSONAME. (Ken Takata)
|
||||
Files: src/configure.in, src/auto/configure
|
||||
|
||||
|
||||
*** ../vim-7.3.668/src/configure.in 2012-08-15 14:04:50.000000000 +0200
|
||||
--- src/configure.in 2012-09-21 12:52:32.000000000 +0200
|
||||
***************
|
||||
*** 889,894 ****
|
||||
--- 889,895 ----
|
||||
@echo "python_LIBS='$(LIBS)'"
|
||||
@echo "python_SYSLIBS='$(SYSLIBS)'"
|
||||
@echo "python_LINKFORSHARED='$(LINKFORSHARED)'"
|
||||
+ @echo "python_DLLLIBRARY='$(DLLLIBRARY)'"
|
||||
@echo "python_INSTSONAME='$(INSTSONAME)'"
|
||||
eof
|
||||
dnl -- delete the lines from make about Entering/Leaving directory
|
||||
***************
|
||||
*** 909,914 ****
|
||||
--- 910,918 ----
|
||||
fi
|
||||
])
|
||||
|
||||
+ if test "X$python_DLLLIBRARY" != "X"; then
|
||||
+ python_INSTSONAME="$python_DLLLIBRARY"
|
||||
+ fi
|
||||
PYTHON_LIBS="${vi_cv_path_python_plibs}"
|
||||
if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
|
||||
PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
|
||||
***************
|
||||
*** 1082,1087 ****
|
||||
--- 1086,1092 ----
|
||||
@echo "python3_BASEMODLIBS='$(BASEMODLIBS)'"
|
||||
@echo "python3_LIBS='$(LIBS)'"
|
||||
@echo "python3_SYSLIBS='$(SYSLIBS)'"
|
||||
+ @echo "python3_DLLLIBRARY='$(DLLLIBRARY)'"
|
||||
@echo "python3_INSTSONAME='$(INSTSONAME)'"
|
||||
eof
|
||||
dnl -- delete the lines from make about Entering/Leaving directory
|
||||
***************
|
||||
*** 1094,1099 ****
|
||||
--- 1099,1107 ----
|
||||
vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
|
||||
])
|
||||
|
||||
+ if test "X$python3_DLLLIBRARY" != "X"; then
|
||||
+ python3_INSTSONAME="$python3_DLLLIBRARY"
|
||||
+ fi
|
||||
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
|
||||
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
*** ../vim-7.3.668/src/auto/configure 2012-08-15 14:04:50.000000000 +0200
|
||||
--- src/auto/configure 2012-09-21 13:06:09.000000000 +0200
|
||||
***************
|
||||
*** 5330,5335 ****
|
||||
--- 5330,5336 ----
|
||||
@echo "python_LIBS='$(LIBS)'"
|
||||
@echo "python_SYSLIBS='$(SYSLIBS)'"
|
||||
@echo "python_LINKFORSHARED='$(LINKFORSHARED)'"
|
||||
+ @echo "python_DLLLIBRARY='$(DLLLIBRARY)'"
|
||||
@echo "python_INSTSONAME='$(INSTSONAME)'"
|
||||
eof
|
||||
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
|
||||
***************
|
||||
*** 5350,5355 ****
|
||||
--- 5351,5359 ----
|
||||
fi
|
||||
|
||||
|
||||
+ if test "X$python_DLLLIBRARY" != "X"; then
|
||||
+ python_INSTSONAME="$python_DLLLIBRARY"
|
||||
+ fi
|
||||
PYTHON_LIBS="${vi_cv_path_python_plibs}"
|
||||
if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
|
||||
PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
|
||||
***************
|
||||
*** 5633,5638 ****
|
||||
--- 5637,5643 ----
|
||||
@echo "python3_BASEMODLIBS='$(BASEMODLIBS)'"
|
||||
@echo "python3_LIBS='$(LIBS)'"
|
||||
@echo "python3_SYSLIBS='$(SYSLIBS)'"
|
||||
+ @echo "python3_DLLLIBRARY='$(DLLLIBRARY)'"
|
||||
@echo "python3_INSTSONAME='$(INSTSONAME)'"
|
||||
eof
|
||||
eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
|
||||
***************
|
||||
*** 5645,5650 ****
|
||||
--- 5650,5658 ----
|
||||
fi
|
||||
|
||||
|
||||
+ if test "X$python3_DLLLIBRARY" != "X"; then
|
||||
+ python3_INSTSONAME="$python3_DLLLIBRARY"
|
||||
+ fi
|
||||
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
|
||||
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
*** ../vim-7.3.668/src/version.c 2012-09-21 12:50:44.000000000 +0200
|
||||
--- src/version.c 2012-09-21 12:54:42.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 669,
|
||||
/**/
|
||||
|
||||
--
|
||||
TALL KNIGHT: We are now no longer the Knights Who Say Ni!
|
||||
ONE KNIGHT: Ni!
|
||||
OTHERS: Sh!
|
||||
ONE KNIGHT: (whispers) Sorry.
|
||||
"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/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
88
7.3.670
Normal file
88
7.3.670
Normal file
@ -0,0 +1,88 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.670
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.670
|
||||
Problem: Python: memory leaks when there are exceptions.
|
||||
Solution: Add DICTKEY_UNREF in the right places. (ZyX)
|
||||
Files: src/if_py_both.h
|
||||
|
||||
|
||||
*** ../vim-7.3.669/src/if_py_both.h 2012-09-12 20:21:38.000000000 +0200
|
||||
--- src/if_py_both.h 2012-09-21 13:32:13.000000000 +0200
|
||||
***************
|
||||
*** 799,812 ****
|
||||
|
||||
di = dict_find(((DictionaryObject *) (self))->dict, key, -1);
|
||||
|
||||
if (di == NULL)
|
||||
{
|
||||
PyErr_SetString(PyExc_IndexError, _("no such key in dictionary"));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- DICTKEY_UNREF
|
||||
-
|
||||
return ConvertToPyObject(&di->di_tv);
|
||||
}
|
||||
|
||||
--- 799,812 ----
|
||||
|
||||
di = dict_find(((DictionaryObject *) (self))->dict, key, -1);
|
||||
|
||||
+ DICTKEY_UNREF
|
||||
+
|
||||
if (di == NULL)
|
||||
{
|
||||
PyErr_SetString(PyExc_IndexError, _("no such key in dictionary"));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return ConvertToPyObject(&di->di_tv);
|
||||
}
|
||||
|
||||
***************
|
||||
*** 835,840 ****
|
||||
--- 835,841 ----
|
||||
|
||||
if (di == NULL)
|
||||
{
|
||||
+ DICTKEY_UNREF
|
||||
PyErr_SetString(PyExc_IndexError, _("no such key in dictionary"));
|
||||
return -1;
|
||||
}
|
||||
***************
|
||||
*** 859,864 ****
|
||||
--- 860,866 ----
|
||||
|
||||
if (dict_add(d, di) == FAIL)
|
||||
{
|
||||
+ DICTKEY_UNREF
|
||||
vim_free(di);
|
||||
PyErr_SetVim(_("failed to add key to dictionary"));
|
||||
return -1;
|
||||
*** ../vim-7.3.669/src/version.c 2012-09-21 13:26:44.000000000 +0200
|
||||
--- src/version.c 2012-09-21 13:42:43.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 670,
|
||||
/**/
|
||||
|
||||
--
|
||||
TALL KNIGHT: Firstly. You must get us another shrubbery!
|
||||
OTHER KNIGHTS: More shrubberies! More shrubberies for the ex-Knights of Ni!
|
||||
ARTHUR: Not another shrubbery -
|
||||
"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/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
311
7.3.671
Normal file
311
7.3.671
Normal file
@ -0,0 +1,311 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.671
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.671
|
||||
Problem: More Python code can be shared between Python 2 and 3.
|
||||
Solution: Move code to if_py_both.h. (ZyX)
|
||||
Files: src/if_py_both.h, src/if_python.c, src/if_python3.c
|
||||
|
||||
|
||||
*** ../vim-7.3.670/src/if_py_both.h 2012-09-21 13:43:09.000000000 +0200
|
||||
--- src/if_py_both.h 2012-09-21 13:45:02.000000000 +0200
|
||||
***************
|
||||
*** 71,76 ****
|
||||
--- 71,101 ----
|
||||
/* Output buffer management
|
||||
*/
|
||||
|
||||
+ static int
|
||||
+ OutputSetattr(PyObject *self, char *name, PyObject *val)
|
||||
+ {
|
||||
+ if (val == NULL)
|
||||
+ {
|
||||
+ PyErr_SetString(PyExc_AttributeError, _("can't delete OutputObject attributes"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ if (strcmp(name, "softspace") == 0)
|
||||
+ {
|
||||
+ if (!PyInt_Check(val))
|
||||
+ {
|
||||
+ PyErr_SetString(PyExc_TypeError, _("softspace must be an integer"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ ((OutputObject *)(self))->softspace = PyInt_AsLong(val);
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ PyErr_SetString(PyExc_AttributeError, _("invalid attribute"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
static PyObject *
|
||||
OutputWrite(PyObject *self, PyObject *args)
|
||||
{
|
||||
*** ../vim-7.3.670/src/if_python.c 2012-09-12 20:21:38.000000000 +0200
|
||||
--- src/if_python.c 2012-09-21 13:45:02.000000000 +0200
|
||||
***************
|
||||
*** 951,981 ****
|
||||
return Py_FindMethod(OutputMethods, self, name);
|
||||
}
|
||||
|
||||
- static int
|
||||
- OutputSetattr(PyObject *self, char *name, PyObject *val)
|
||||
- {
|
||||
- if (val == NULL)
|
||||
- {
|
||||
- PyErr_SetString(PyExc_AttributeError, _("can't delete OutputObject attributes"));
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
- if (strcmp(name, "softspace") == 0)
|
||||
- {
|
||||
- if (!PyInt_Check(val))
|
||||
- {
|
||||
- PyErr_SetString(PyExc_TypeError, _("softspace must be an integer"));
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
- ((OutputObject *)(self))->softspace = PyInt_AsLong(val);
|
||||
- return 0;
|
||||
- }
|
||||
-
|
||||
- PyErr_SetString(PyExc_AttributeError, _("invalid attribute"));
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
/***************/
|
||||
|
||||
static int
|
||||
--- 951,956 ----
|
||||
*** ../vim-7.3.670/src/if_python3.c 2012-09-12 20:21:38.000000000 +0200
|
||||
--- src/if_python3.c 2012-09-21 13:45:02.000000000 +0200
|
||||
***************
|
||||
*** 88,93 ****
|
||||
--- 88,96 ----
|
||||
#define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
|
||||
#define PyString_FromString(repr) PyUnicode_FromString(repr)
|
||||
#define PyString_AsStringAndSize(obj, buffer, len) PyBytes_AsStringAndSize(obj, buffer, len)
|
||||
+ #define PyInt_Check(obj) PyLong_Check(obj)
|
||||
+ #define PyInt_FromLong(i) PyLong_FromLong(i)
|
||||
+ #define PyInt_AsLong(obj) PyLong_AsLong(obj)
|
||||
|
||||
#if defined(DYNAMIC_PYTHON3) || defined(PROTO)
|
||||
|
||||
***************
|
||||
*** 586,591 ****
|
||||
--- 589,599 ----
|
||||
*/
|
||||
#include "if_py_both.h"
|
||||
|
||||
+ #define GET_ATTR_STRING(name, nameobj) \
|
||||
+ char *name = ""; \
|
||||
+ if(PyUnicode_Check(nameobj)) \
|
||||
+ name = _PyUnicode_AsString(nameobj)
|
||||
+
|
||||
#define PY3OBJ_DELETED(obj) (obj->ob_base.ob_refcnt<=0)
|
||||
|
||||
static void
|
||||
***************
|
||||
*** 923,931 ****
|
||||
static PyObject *
|
||||
OutputGetattro(PyObject *self, PyObject *nameobj)
|
||||
{
|
||||
! char *name = "";
|
||||
! if (PyUnicode_Check(nameobj))
|
||||
! name = _PyUnicode_AsString(nameobj);
|
||||
|
||||
if (strcmp(name, "softspace") == 0)
|
||||
return PyLong_FromLong(((OutputObject *)(self))->softspace);
|
||||
--- 931,937 ----
|
||||
static PyObject *
|
||||
OutputGetattro(PyObject *self, PyObject *nameobj)
|
||||
{
|
||||
! GET_ATTR_STRING(name, nameobj);
|
||||
|
||||
if (strcmp(name, "softspace") == 0)
|
||||
return PyLong_FromLong(((OutputObject *)(self))->softspace);
|
||||
***************
|
||||
*** 936,965 ****
|
||||
static int
|
||||
OutputSetattro(PyObject *self, PyObject *nameobj, PyObject *val)
|
||||
{
|
||||
! char *name = "";
|
||||
! if (PyUnicode_Check(nameobj))
|
||||
! name = _PyUnicode_AsString(nameobj);
|
||||
!
|
||||
! if (val == NULL)
|
||||
! {
|
||||
! PyErr_SetString(PyExc_AttributeError, _("can't delete OutputObject attributes"));
|
||||
! return -1;
|
||||
! }
|
||||
|
||||
! if (strcmp(name, "softspace") == 0)
|
||||
! {
|
||||
! if (!PyLong_Check(val))
|
||||
! {
|
||||
! PyErr_SetString(PyExc_TypeError, _("softspace must be an integer"));
|
||||
! return -1;
|
||||
! }
|
||||
!
|
||||
! ((OutputObject *)(self))->softspace = PyLong_AsLong(val);
|
||||
! return 0;
|
||||
! }
|
||||
!
|
||||
! PyErr_SetString(PyExc_AttributeError, _("invalid attribute"));
|
||||
! return -1;
|
||||
}
|
||||
|
||||
/***************/
|
||||
--- 942,950 ----
|
||||
static int
|
||||
OutputSetattro(PyObject *self, PyObject *nameobj, PyObject *val)
|
||||
{
|
||||
! GET_ATTR_STRING(name, nameobj);
|
||||
|
||||
! return OutputSetattr(self, name, val);
|
||||
}
|
||||
|
||||
/***************/
|
||||
***************
|
||||
*** 1091,1099 ****
|
||||
{
|
||||
BufferObject *this = (BufferObject *)(self);
|
||||
|
||||
! char *name = "";
|
||||
! if (PyUnicode_Check(nameobj))
|
||||
! name = _PyUnicode_AsString(nameobj);
|
||||
|
||||
if (CheckBuffer(this))
|
||||
return NULL;
|
||||
--- 1076,1082 ----
|
||||
{
|
||||
BufferObject *this = (BufferObject *)(self);
|
||||
|
||||
! GET_ATTR_STRING(name, nameobj);
|
||||
|
||||
if (CheckBuffer(this))
|
||||
return NULL;
|
||||
***************
|
||||
*** 1257,1265 ****
|
||||
static PyObject *
|
||||
RangeGetattro(PyObject *self, PyObject *nameobj)
|
||||
{
|
||||
! char *name = "";
|
||||
! if (PyUnicode_Check(nameobj))
|
||||
! name = _PyUnicode_AsString(nameobj);
|
||||
|
||||
if (strcmp(name, "start") == 0)
|
||||
return Py_BuildValue("n", ((RangeObject *)(self))->start - 1);
|
||||
--- 1240,1246 ----
|
||||
static PyObject *
|
||||
RangeGetattro(PyObject *self, PyObject *nameobj)
|
||||
{
|
||||
! GET_ATTR_STRING(name, nameobj);
|
||||
|
||||
if (strcmp(name, "start") == 0)
|
||||
return Py_BuildValue("n", ((RangeObject *)(self))->start - 1);
|
||||
***************
|
||||
*** 1430,1439 ****
|
||||
{
|
||||
WindowObject *this = (WindowObject *)(self);
|
||||
|
||||
! char *name = "";
|
||||
! if (PyUnicode_Check(nameobj))
|
||||
! name = _PyUnicode_AsString(nameobj);
|
||||
!
|
||||
|
||||
if (CheckWindow(this))
|
||||
return NULL;
|
||||
--- 1411,1417 ----
|
||||
{
|
||||
WindowObject *this = (WindowObject *)(self);
|
||||
|
||||
! GET_ATTR_STRING(name, nameobj);
|
||||
|
||||
if (CheckWindow(this))
|
||||
return NULL;
|
||||
***************
|
||||
*** 1461,1470 ****
|
||||
static int
|
||||
WindowSetattro(PyObject *self, PyObject *nameobj, PyObject *val)
|
||||
{
|
||||
! char *name = "";
|
||||
!
|
||||
! if (PyUnicode_Check(nameobj))
|
||||
! name = _PyUnicode_AsString(nameobj);
|
||||
|
||||
return WindowSetattr(self, name, val);
|
||||
}
|
||||
--- 1439,1445 ----
|
||||
static int
|
||||
WindowSetattro(PyObject *self, PyObject *nameobj, PyObject *val)
|
||||
{
|
||||
! GET_ATTR_STRING(name, nameobj);
|
||||
|
||||
return WindowSetattr(self, name, val);
|
||||
}
|
||||
***************
|
||||
*** 1508,1516 ****
|
||||
static PyObject *
|
||||
CurrentGetattro(PyObject *self UNUSED, PyObject *nameobj)
|
||||
{
|
||||
! char *name = "";
|
||||
! if (PyUnicode_Check(nameobj))
|
||||
! name = _PyUnicode_AsString(nameobj);
|
||||
|
||||
if (strcmp(name, "buffer") == 0)
|
||||
return (PyObject *)BufferNew(curbuf);
|
||||
--- 1483,1489 ----
|
||||
static PyObject *
|
||||
CurrentGetattro(PyObject *self UNUSED, PyObject *nameobj)
|
||||
{
|
||||
! GET_ATTR_STRING(name, nameobj);
|
||||
|
||||
if (strcmp(name, "buffer") == 0)
|
||||
return (PyObject *)BufferNew(curbuf);
|
||||
***************
|
||||
*** 1681,1689 ****
|
||||
FunctionGetattro(PyObject *self, PyObject *nameobj)
|
||||
{
|
||||
FunctionObject *this = (FunctionObject *)(self);
|
||||
! char *name = "";
|
||||
! if (PyUnicode_Check(nameobj))
|
||||
! name = _PyUnicode_AsString(nameobj);
|
||||
|
||||
if (strcmp(name, "name") == 0)
|
||||
return PyUnicode_FromString((char *)(this->name));
|
||||
--- 1654,1661 ----
|
||||
FunctionGetattro(PyObject *self, PyObject *nameobj)
|
||||
{
|
||||
FunctionObject *this = (FunctionObject *)(self);
|
||||
!
|
||||
! GET_ATTR_STRING(name, nameobj);
|
||||
|
||||
if (strcmp(name, "name") == 0)
|
||||
return PyUnicode_FromString((char *)(this->name));
|
||||
*** ../vim-7.3.670/src/version.c 2012-09-21 13:43:09.000000000 +0200
|
||||
--- src/version.c 2012-09-21 13:45:28.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 671,
|
||||
/**/
|
||||
|
||||
--
|
||||
The war between Emacs and Vi is over. Vi has won with 3 to 1.
|
||||
http://www.ssc.com/lg/issue30/raymond.html
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
699
7.3.672
Normal file
699
7.3.672
Normal file
@ -0,0 +1,699 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.672
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.672
|
||||
Problem: Not possible to lock/unlock lists in Python interface.
|
||||
Solution: Add .locked and .scope attributes. (ZyX)
|
||||
Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c,
|
||||
src/if_python3.c, src/testdir/test86.in, src/testdir/test86.ok,
|
||||
src/testdir/test87.in, src/testdir/test87.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.671/runtime/doc/if_pyth.txt 2012-06-29 12:54:32.000000000 +0200
|
||||
--- runtime/doc/if_pyth.txt 2012-09-21 13:49:14.000000000 +0200
|
||||
***************
|
||||
*** 27,33 ****
|
||||
|
||||
*:python* *:py* *E205* *E263* *E264*
|
||||
:[range]py[thon] {stmt}
|
||||
! Execute Python statement {stmt}.
|
||||
|
||||
:[range]py[thon] << {endmarker}
|
||||
{script}
|
||||
--- 27,35 ----
|
||||
|
||||
*:python* *:py* *E205* *E263* *E264*
|
||||
:[range]py[thon] {stmt}
|
||||
! Execute Python statement {stmt}. A simple check if
|
||||
! the `:python` command is working: >
|
||||
! :python print "Hello"
|
||||
|
||||
:[range]py[thon] << {endmarker}
|
||||
{script}
|
||||
***************
|
||||
*** 157,162 ****
|
||||
--- 159,184 ----
|
||||
vimlist or vimdictionary python type that are connected to original
|
||||
list or dictionary. Thus modifications to these objects imply
|
||||
modifications of the original.
|
||||
+
|
||||
+ Additionally, vimlist and vimdictionary type have read-write
|
||||
+ `.locked` attribute that returns
|
||||
+ Value Meaning ~
|
||||
+ zero Variable is not locked
|
||||
+ vim.VAR_LOCKED Variable is locked, but can be unlocked
|
||||
+ vim.VAR_FIXED Variable is locked and can’t be unlocked
|
||||
+ integer constants. If variable is not fixed, you can do
|
||||
+ `var.locked=True` to lock it and `var.locked=False` to unlock.
|
||||
+ There is no recursive locking like |:lockvar|! does. There is also
|
||||
+ no way to lock a specific key or check whether it is locked (in any
|
||||
+ case these locks are ignored by anything except |:let|: |extend()|
|
||||
+ does not care, neither does python interface).
|
||||
+
|
||||
+ Vimdictionary type also supports `.scope` attribute which is one of
|
||||
+ Value Meaning ~
|
||||
+ zero Dictionary is not a scope one
|
||||
+ vim.VAR_DEF_SCOPE Function-local or global scope dictionary
|
||||
+ vim.VAR_SCOPE Other scope dictionary
|
||||
+
|
||||
2. if expression evaluates to a function reference, then it returns
|
||||
callable vimfunction object. Use self keyword argument to assign
|
||||
|self| object for dictionary functions.
|
||||
***************
|
||||
*** 362,369 ****
|
||||
8. Python 3 *python3*
|
||||
|
||||
*:py3* *:python3*
|
||||
! The |:py3| and |:python3| commands work similar to |:python|.
|
||||
! *:py3file*
|
||||
The |:py3file| command works similar to |:pyfile|.
|
||||
|
||||
|
||||
--- 384,393 ----
|
||||
8. Python 3 *python3*
|
||||
|
||||
*:py3* *:python3*
|
||||
! The |:py3| and |:python3| commands work similar to |:python|. A simple check
|
||||
! if the `:py3` command is wrong: >
|
||||
! :py3 print("Hello")
|
||||
! < *:py3file*
|
||||
The |:py3file| command works similar to |:pyfile|.
|
||||
|
||||
|
||||
*** ../vim-7.3.671/src/if_py_both.h 2012-09-21 13:45:57.000000000 +0200
|
||||
--- src/if_py_both.h 2012-09-21 13:49:14.000000000 +0200
|
||||
***************
|
||||
*** 808,813 ****
|
||||
--- 808,851 ----
|
||||
}
|
||||
|
||||
static PyInt
|
||||
+ DictionarySetattr(DictionaryObject *self, char *name, PyObject *val)
|
||||
+ {
|
||||
+ if (val == NULL)
|
||||
+ {
|
||||
+ PyErr_SetString(PyExc_AttributeError, _("Cannot delete DictionaryObject attributes"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ if (strcmp(name, "locked") == 0)
|
||||
+ {
|
||||
+ if (self->dict->dv_lock == VAR_FIXED)
|
||||
+ {
|
||||
+ PyErr_SetString(PyExc_TypeError, _("Cannot modify fixed dictionary"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if (!PyBool_Check(val))
|
||||
+ {
|
||||
+ PyErr_SetString(PyExc_TypeError, _("Only boolean objects are allowed"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ if (val == Py_True)
|
||||
+ self->dict->dv_lock = VAR_LOCKED;
|
||||
+ else
|
||||
+ self->dict->dv_lock = 0;
|
||||
+ }
|
||||
+ return 0;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ PyErr_SetString(PyExc_AttributeError, _("Cannot set this attribute"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ static PyInt
|
||||
DictionaryLength(PyObject *self)
|
||||
{
|
||||
return ((PyInt) ((((DictionaryObject *)(self))->dict->dv_hashtab.ht_used)));
|
||||
***************
|
||||
*** 1271,1276 ****
|
||||
--- 1309,1352 ----
|
||||
return self;
|
||||
}
|
||||
|
||||
+ static int
|
||||
+ ListSetattr(ListObject *self, char *name, PyObject *val)
|
||||
+ {
|
||||
+ if (val == NULL)
|
||||
+ {
|
||||
+ PyErr_SetString(PyExc_AttributeError, _("Cannot delete DictionaryObject attributes"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ if (strcmp(name, "locked") == 0)
|
||||
+ {
|
||||
+ if (self->list->lv_lock == VAR_FIXED)
|
||||
+ {
|
||||
+ PyErr_SetString(PyExc_TypeError, _("Cannot modify fixed list"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if (!PyBool_Check(val))
|
||||
+ {
|
||||
+ PyErr_SetString(PyExc_TypeError, _("Only boolean objects are allowed"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ if (val == Py_True)
|
||||
+ self->list->lv_lock = VAR_LOCKED;
|
||||
+ else
|
||||
+ self->list->lv_lock = 0;
|
||||
+ }
|
||||
+ return 0;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ PyErr_SetString(PyExc_AttributeError, _("Cannot set this attribute"));
|
||||
+ return -1;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
static struct PyMethodDef ListMethods[] = {
|
||||
{"extend", (PyCFunction)ListConcatInPlace, METH_O, ""},
|
||||
{ NULL, NULL, 0, NULL }
|
||||
*** ../vim-7.3.671/src/if_python.c 2012-09-21 13:45:57.000000000 +0200
|
||||
--- src/if_python.c 2012-09-21 13:49:14.000000000 +0200
|
||||
***************
|
||||
*** 163,168 ****
|
||||
--- 163,169 ----
|
||||
# define PyInt_FromLong dll_PyInt_FromLong
|
||||
# define PyLong_AsLong dll_PyLong_AsLong
|
||||
# define PyLong_FromLong dll_PyLong_FromLong
|
||||
+ # define PyBool_Type (*dll_PyBool_Type)
|
||||
# define PyInt_Type (*dll_PyInt_Type)
|
||||
# define PyLong_Type (*dll_PyLong_Type)
|
||||
# define PyList_GetItem dll_PyList_GetItem
|
||||
***************
|
||||
*** 221,226 ****
|
||||
--- 222,229 ----
|
||||
# define _PyObject_NextNotImplemented (*dll__PyObject_NextNotImplemented)
|
||||
# endif
|
||||
# define _Py_NoneStruct (*dll__Py_NoneStruct)
|
||||
+ # define _Py_ZeroStruct (*dll__Py_ZeroStruct)
|
||||
+ # define _Py_TrueStruct (*dll__Py_TrueStruct)
|
||||
# define PyObject_Init dll__PyObject_Init
|
||||
# define PyObject_GetIter dll_PyObject_GetIter
|
||||
# if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02020000
|
||||
***************
|
||||
*** 263,268 ****
|
||||
--- 266,272 ----
|
||||
static PyObject*(*dll_PyInt_FromLong)(long);
|
||||
static long(*dll_PyLong_AsLong)(PyObject *);
|
||||
static PyObject*(*dll_PyLong_FromLong)(long);
|
||||
+ static PyTypeObject* dll_PyBool_Type;
|
||||
static PyTypeObject* dll_PyInt_Type;
|
||||
static PyTypeObject* dll_PyLong_Type;
|
||||
static PyObject*(*dll_PyList_GetItem)(PyObject *, PyInt);
|
||||
***************
|
||||
*** 320,325 ****
|
||||
--- 324,331 ----
|
||||
static iternextfunc dll__PyObject_NextNotImplemented;
|
||||
# endif
|
||||
static PyObject* dll__Py_NoneStruct;
|
||||
+ static PyObject* _Py_ZeroStruct;
|
||||
+ static PyObject* dll__Py_TrueStruct;
|
||||
# if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02020000
|
||||
static int (*dll_PyType_IsSubtype)(PyTypeObject *, PyTypeObject *);
|
||||
# endif
|
||||
***************
|
||||
*** 389,394 ****
|
||||
--- 395,401 ----
|
||||
{"PyInt_FromLong", (PYTHON_PROC*)&dll_PyInt_FromLong},
|
||||
{"PyLong_AsLong", (PYTHON_PROC*)&dll_PyLong_AsLong},
|
||||
{"PyLong_FromLong", (PYTHON_PROC*)&dll_PyLong_FromLong},
|
||||
+ {"PyBool_Type", (PYTHON_PROC*)&dll_PyBool_Type},
|
||||
{"PyInt_Type", (PYTHON_PROC*)&dll_PyInt_Type},
|
||||
{"PyLong_Type", (PYTHON_PROC*)&dll_PyLong_Type},
|
||||
{"PyList_GetItem", (PYTHON_PROC*)&dll_PyList_GetItem},
|
||||
***************
|
||||
*** 449,454 ****
|
||||
--- 456,463 ----
|
||||
{"_PyObject_NextNotImplemented", (PYTHON_PROC*)&dll__PyObject_NextNotImplemented},
|
||||
# endif
|
||||
{"_Py_NoneStruct", (PYTHON_PROC*)&dll__Py_NoneStruct},
|
||||
+ {"_Py_ZeroStruct", (PYTHON_PROC*)&dll__Py_ZeroStruct},
|
||||
+ {"_Py_TrueStruct", (PYTHON_PROC*)&dll__Py_TrueStruct},
|
||||
# if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02020000
|
||||
{"PyType_IsSubtype", (PYTHON_PROC*)&dll_PyType_IsSubtype},
|
||||
# endif
|
||||
***************
|
||||
*** 1563,1568 ****
|
||||
--- 1572,1581 ----
|
||||
PyDict_SetItemString(dict, "buffers", (PyObject *)(void *)&TheBufferList);
|
||||
PyDict_SetItemString(dict, "current", (PyObject *)(void *)&TheCurrent);
|
||||
PyDict_SetItemString(dict, "windows", (PyObject *)(void *)&TheWindowList);
|
||||
+ PyDict_SetItemString(dict, "VAR_LOCKED", PyInt_FromLong(VAR_LOCKED));
|
||||
+ PyDict_SetItemString(dict, "VAR_FIXED", PyInt_FromLong(VAR_FIXED));
|
||||
+ PyDict_SetItemString(dict, "VAR_SCOPE", PyInt_FromLong(VAR_SCOPE));
|
||||
+ PyDict_SetItemString(dict, "VAR_DEF_SCOPE", PyInt_FromLong(VAR_DEF_SCOPE));
|
||||
|
||||
if (PyErr_Occurred())
|
||||
return -1;
|
||||
***************
|
||||
*** 1629,1635 ****
|
||||
(destructor) DictionaryDestructor,
|
||||
(printfunc) 0,
|
||||
(getattrfunc) DictionaryGetattr,
|
||||
! (setattrfunc) 0,
|
||||
(cmpfunc) 0,
|
||||
(reprfunc) 0,
|
||||
|
||||
--- 1642,1648 ----
|
||||
(destructor) DictionaryDestructor,
|
||||
(printfunc) 0,
|
||||
(getattrfunc) DictionaryGetattr,
|
||||
! (setattrfunc) DictionarySetattr,
|
||||
(cmpfunc) 0,
|
||||
(reprfunc) 0,
|
||||
|
||||
***************
|
||||
*** 1656,1661 ****
|
||||
--- 1669,1681 ----
|
||||
static PyObject *
|
||||
DictionaryGetattr(PyObject *self, char *name)
|
||||
{
|
||||
+ DictionaryObject *this = ((DictionaryObject *) (self));
|
||||
+
|
||||
+ if (strcmp(name, "locked") == 0)
|
||||
+ return PyInt_FromLong(this->dict->dv_lock);
|
||||
+ else if (strcmp(name, "scope") == 0)
|
||||
+ return PyInt_FromLong(this->dict->dv_scope);
|
||||
+
|
||||
return Py_FindMethod(DictionaryMethods, self, name);
|
||||
}
|
||||
|
||||
***************
|
||||
*** 1687,1693 ****
|
||||
(destructor) ListDestructor,
|
||||
(printfunc) 0,
|
||||
(getattrfunc) ListGetattr,
|
||||
! (setattrfunc) 0,
|
||||
(cmpfunc) 0,
|
||||
(reprfunc) 0,
|
||||
|
||||
--- 1707,1713 ----
|
||||
(destructor) ListDestructor,
|
||||
(printfunc) 0,
|
||||
(getattrfunc) ListGetattr,
|
||||
! (setattrfunc) ListSetattr,
|
||||
(cmpfunc) 0,
|
||||
(reprfunc) 0,
|
||||
|
||||
***************
|
||||
*** 1714,1719 ****
|
||||
--- 1734,1742 ----
|
||||
static PyObject *
|
||||
ListGetattr(PyObject *self, char *name)
|
||||
{
|
||||
+ if (strcmp(name, "locked") == 0)
|
||||
+ return PyInt_FromLong(((ListObject *)(self))->list->lv_lock);
|
||||
+
|
||||
return Py_FindMethod(ListMethods, self, name);
|
||||
}
|
||||
|
||||
*** ../vim-7.3.671/src/if_python3.c 2012-09-21 13:45:57.000000000 +0200
|
||||
--- src/if_python3.c 2012-09-21 13:49:14.000000000 +0200
|
||||
***************
|
||||
*** 161,167 ****
|
||||
# define PyRun_String py3_PyRun_String
|
||||
# define PySys_SetObject py3_PySys_SetObject
|
||||
# define PySys_SetArgv py3_PySys_SetArgv
|
||||
- # define PyType_Type (*py3_PyType_Type)
|
||||
# define PyType_Ready py3_PyType_Ready
|
||||
#undef Py_BuildValue
|
||||
# define Py_BuildValue py3_Py_BuildValue
|
||||
--- 161,166 ----
|
||||
***************
|
||||
*** 170,175 ****
|
||||
--- 169,176 ----
|
||||
# define Py_Finalize py3_Py_Finalize
|
||||
# define Py_IsInitialized py3_Py_IsInitialized
|
||||
# define _Py_NoneStruct (*py3__Py_NoneStruct)
|
||||
+ # define _Py_FalseStruct (*py3__Py_FalseStruct)
|
||||
+ # define _Py_TrueStruct (*py3__Py_TrueStruct)
|
||||
# define _PyObject_NextNotImplemented (*py3__PyObject_NextNotImplemented)
|
||||
# define PyModule_AddObject py3_PyModule_AddObject
|
||||
# define PyImport_AppendInittab py3_PyImport_AppendInittab
|
||||
***************
|
||||
*** 184,191 ****
|
||||
--- 185,194 ----
|
||||
# define PyFloat_FromDouble py3_PyFloat_FromDouble
|
||||
# define PyFloat_AsDouble py3_PyFloat_AsDouble
|
||||
# define PyObject_GenericGetAttr py3_PyObject_GenericGetAttr
|
||||
+ # define PyType_Type (*py3_PyType_Type)
|
||||
# define PySlice_Type (*py3_PySlice_Type)
|
||||
# define PyFloat_Type (*py3_PyFloat_Type)
|
||||
+ # define PyBool_Type (*py3_PyBool_Type)
|
||||
# define PyErr_NewException py3_PyErr_NewException
|
||||
# ifdef Py_DEBUG
|
||||
# define _Py_NegativeRefcount py3__Py_NegativeRefcount
|
||||
***************
|
||||
*** 245,251 ****
|
||||
static PyObject* (*py3_PyImport_ImportModule)(const char *);
|
||||
static PyObject* (*py3_PyImport_AddModule)(const char *);
|
||||
static int (*py3_PyErr_BadArgument)(void);
|
||||
- static PyTypeObject* py3_PyType_Type;
|
||||
static PyObject* (*py3_PyErr_Occurred)(void);
|
||||
static PyObject* (*py3_PyModule_GetDict)(PyObject *);
|
||||
static int (*py3_PyList_SetItem)(PyObject *, Py_ssize_t, PyObject *);
|
||||
--- 248,253 ----
|
||||
***************
|
||||
*** 275,280 ****
|
||||
--- 277,284 ----
|
||||
static PyObject*(*py3__PyObject_Init)(PyObject *, PyTypeObject *);
|
||||
static iternextfunc py3__PyObject_NextNotImplemented;
|
||||
static PyObject* py3__Py_NoneStruct;
|
||||
+ static PyObject* py3__Py_FalseStruct;
|
||||
+ static PyObject* py3__Py_TrueStruct;
|
||||
static int (*py3_PyModule_AddObject)(PyObject *m, const char *name, PyObject *o);
|
||||
static int (*py3_PyImport_AppendInittab)(const char *name, PyObject* (*initfunc)(void));
|
||||
static char* (*py3__PyUnicode_AsString)(PyObject *unicode);
|
||||
***************
|
||||
*** 288,295 ****
|
||||
--- 292,301 ----
|
||||
static PyObject* (*py3_PyModule_Create2)(struct PyModuleDef* module, int module_api_version);
|
||||
static PyObject* (*py3_PyType_GenericAlloc)(PyTypeObject *type, Py_ssize_t nitems);
|
||||
static PyObject* (*py3_PyType_GenericNew)(PyTypeObject *type, PyObject *args, PyObject *kwds);
|
||||
+ static PyTypeObject* py3_PyType_Type;
|
||||
static PyTypeObject* py3_PySlice_Type;
|
||||
static PyTypeObject* py3_PyFloat_Type;
|
||||
+ static PyTypeObject* py3_PyBool_Type;
|
||||
static PyObject* (*py3_PyErr_NewException)(char *name, PyObject *base, PyObject *dict);
|
||||
static PyObject* (*py3_PyCapsule_New)(void *, char *, PyCapsule_Destructor);
|
||||
static void* (*py3_PyCapsule_GetPointer)(PyObject *, char *);
|
||||
***************
|
||||
*** 363,369 ****
|
||||
{"PyImport_ImportModule", (PYTHON_PROC*)&py3_PyImport_ImportModule},
|
||||
{"PyImport_AddModule", (PYTHON_PROC*)&py3_PyImport_AddModule},
|
||||
{"PyErr_BadArgument", (PYTHON_PROC*)&py3_PyErr_BadArgument},
|
||||
- {"PyType_Type", (PYTHON_PROC*)&py3_PyType_Type},
|
||||
{"PyErr_Occurred", (PYTHON_PROC*)&py3_PyErr_Occurred},
|
||||
{"PyModule_GetDict", (PYTHON_PROC*)&py3_PyModule_GetDict},
|
||||
{"PyList_SetItem", (PYTHON_PROC*)&py3_PyList_SetItem},
|
||||
--- 369,374 ----
|
||||
***************
|
||||
*** 386,391 ****
|
||||
--- 391,398 ----
|
||||
{"Py_IsInitialized", (PYTHON_PROC*)&py3_Py_IsInitialized},
|
||||
{"_PyObject_NextNotImplemented", (PYTHON_PROC*)&py3__PyObject_NextNotImplemented},
|
||||
{"_Py_NoneStruct", (PYTHON_PROC*)&py3__Py_NoneStruct},
|
||||
+ {"_Py_FalseStruct", (PYTHON_PROC*)&py3__Py_FalseStruct},
|
||||
+ {"_Py_TrueStruct", (PYTHON_PROC*)&py3__Py_TrueStruct},
|
||||
{"PyErr_Clear", (PYTHON_PROC*)&py3_PyErr_Clear},
|
||||
{"PyObject_Init", (PYTHON_PROC*)&py3__PyObject_Init},
|
||||
{"PyModule_AddObject", (PYTHON_PROC*)&py3_PyModule_AddObject},
|
||||
***************
|
||||
*** 400,407 ****
|
||||
--- 407,416 ----
|
||||
{"PyModule_Create2", (PYTHON_PROC*)&py3_PyModule_Create2},
|
||||
{"PyType_GenericAlloc", (PYTHON_PROC*)&py3_PyType_GenericAlloc},
|
||||
{"PyType_GenericNew", (PYTHON_PROC*)&py3_PyType_GenericNew},
|
||||
+ {"PyType_Type", (PYTHON_PROC*)&py3_PyType_Type},
|
||||
{"PySlice_Type", (PYTHON_PROC*)&py3_PySlice_Type},
|
||||
{"PyFloat_Type", (PYTHON_PROC*)&py3_PyFloat_Type},
|
||||
+ {"PyBool_Type", (PYTHON_PROC*)&py3_PyBool_Type},
|
||||
{"PyErr_NewException", (PYTHON_PROC*)&py3_PyErr_NewException},
|
||||
# ifdef Py_DEBUG
|
||||
{"_Py_NegativeRefcount", (PYTHON_PROC*)&py3__Py_NegativeRefcount},
|
||||
***************
|
||||
*** 1534,1539 ****
|
||||
--- 1543,1570 ----
|
||||
/* mp_ass_subscript */ (objobjargproc) DictionaryAssItem,
|
||||
};
|
||||
|
||||
+ static PyObject *
|
||||
+ DictionaryGetattro(PyObject *self, PyObject *nameobj)
|
||||
+ {
|
||||
+ DictionaryObject *this = ((DictionaryObject *) (self));
|
||||
+
|
||||
+ GET_ATTR_STRING(name, nameobj);
|
||||
+
|
||||
+ if (strcmp(name, "locked") == 0)
|
||||
+ return PyLong_FromLong(this->dict->dv_lock);
|
||||
+ else if (strcmp(name, "scope") == 0)
|
||||
+ return PyLong_FromLong(this->dict->dv_scope);
|
||||
+
|
||||
+ return PyObject_GenericGetAttr(self, nameobj);
|
||||
+ }
|
||||
+
|
||||
+ static int
|
||||
+ DictionarySetattro(PyObject *self, PyObject *nameobj, PyObject *val)
|
||||
+ {
|
||||
+ GET_ATTR_STRING(name, nameobj);
|
||||
+ return DictionarySetattr((DictionaryObject *) self, name, val);
|
||||
+ }
|
||||
+
|
||||
static PyTypeObject DictionaryType;
|
||||
|
||||
static void
|
||||
***************
|
||||
*** 1625,1630 ****
|
||||
--- 1656,1679 ----
|
||||
}
|
||||
}
|
||||
|
||||
+ static PyObject *
|
||||
+ ListGetattro(PyObject *self, PyObject *nameobj)
|
||||
+ {
|
||||
+ GET_ATTR_STRING(name, nameobj);
|
||||
+
|
||||
+ if (strcmp(name, "locked") == 0)
|
||||
+ return PyLong_FromLong(((ListObject *) (self))->list->lv_lock);
|
||||
+
|
||||
+ return PyObject_GenericGetAttr(self, nameobj);
|
||||
+ }
|
||||
+
|
||||
+ static int
|
||||
+ ListSetattro(PyObject *self, PyObject *nameobj, PyObject *val)
|
||||
+ {
|
||||
+ GET_ATTR_STRING(name, nameobj);
|
||||
+ return ListSetattr((ListObject *) self, name, val);
|
||||
+ }
|
||||
+
|
||||
static void
|
||||
ListDestructor(PyObject *self)
|
||||
{
|
||||
***************
|
||||
*** 1713,1718 ****
|
||||
--- 1762,1768 ----
|
||||
PyMODINIT_FUNC Py3Init_vim(void)
|
||||
{
|
||||
PyObject *mod;
|
||||
+ PyObject *tmp;
|
||||
/* The special value is removed from sys.path in Python3_Init(). */
|
||||
static wchar_t *(argv[2]) = {L"/must>not&exist/foo", NULL};
|
||||
|
||||
***************
|
||||
*** 1744,1749 ****
|
||||
--- 1794,1809 ----
|
||||
Py_INCREF((PyObject *)(void *)&TheWindowList);
|
||||
PyModule_AddObject(mod, "windows", (PyObject *)(void *)&TheWindowList);
|
||||
|
||||
+ #define ADD_INT_CONSTANT(name, value) \
|
||||
+ tmp = PyLong_FromLong(value); \
|
||||
+ Py_INCREF(tmp); \
|
||||
+ PyModule_AddObject(mod, name, tmp)
|
||||
+
|
||||
+ ADD_INT_CONSTANT("VAR_LOCKED", VAR_LOCKED);
|
||||
+ ADD_INT_CONSTANT("VAR_FIXED", VAR_FIXED);
|
||||
+ ADD_INT_CONSTANT("VAR_SCOPE", VAR_SCOPE);
|
||||
+ ADD_INT_CONSTANT("VAR_DEF_SCOPE", VAR_DEF_SCOPE);
|
||||
+
|
||||
if (PyErr_Occurred())
|
||||
return NULL;
|
||||
|
||||
***************
|
||||
*** 1899,1904 ****
|
||||
--- 1959,1966 ----
|
||||
vim_memset(&DictionaryType, 0, sizeof(DictionaryType));
|
||||
DictionaryType.tp_name = "vim.dictionary";
|
||||
DictionaryType.tp_basicsize = sizeof(DictionaryObject);
|
||||
+ DictionaryType.tp_getattro = DictionaryGetattro;
|
||||
+ DictionaryType.tp_setattro = DictionarySetattro;
|
||||
DictionaryType.tp_dealloc = DictionaryDestructor;
|
||||
DictionaryType.tp_as_mapping = &DictionaryAsMapping;
|
||||
DictionaryType.tp_flags = Py_TPFLAGS_DEFAULT;
|
||||
***************
|
||||
*** 1909,1914 ****
|
||||
--- 1971,1978 ----
|
||||
ListType.tp_name = "vim.list";
|
||||
ListType.tp_dealloc = ListDestructor;
|
||||
ListType.tp_basicsize = sizeof(ListObject);
|
||||
+ ListType.tp_getattro = ListGetattro;
|
||||
+ ListType.tp_setattro = ListSetattro;
|
||||
ListType.tp_as_sequence = &ListAsSeq;
|
||||
ListType.tp_as_mapping = &ListAsMapping;
|
||||
ListType.tp_flags = Py_TPFLAGS_DEFAULT;
|
||||
*** ../vim-7.3.671/src/testdir/test86.in 2012-09-05 19:17:37.000000000 +0200
|
||||
--- src/testdir/test86.in 2012-09-21 13:49:14.000000000 +0200
|
||||
***************
|
||||
*** 211,216 ****
|
||||
--- 211,251 ----
|
||||
m.extend([e.__class__.__name__])
|
||||
EOF
|
||||
:$put =messages
|
||||
+ :unlet messages
|
||||
+ :" locked and scope attributes
|
||||
+ :let d={} | let dl={} | lockvar dl
|
||||
+ :for s in split("d dl v: g:")
|
||||
+ : let name=tr(s, ':', 's')
|
||||
+ : execute 'py '.name.'=vim.bindeval("'.s.'")'
|
||||
+ : let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".pyeval(name.".".v:val)'), ';')
|
||||
+ : $put =toput
|
||||
+ :endfor
|
||||
+ :silent! let d.abc=1
|
||||
+ :silent! let dl.abc=1
|
||||
+ :py d.locked=True
|
||||
+ :py dl.locked=False
|
||||
+ :silent! let d.def=1
|
||||
+ :silent! let dl.def=1
|
||||
+ :put ='d:'.string(d)
|
||||
+ :put ='dl:'.string(dl)
|
||||
+ :unlet d dl
|
||||
+ :
|
||||
+ :let l=[] | let ll=[] | lockvar ll
|
||||
+ :for s in split("l ll")
|
||||
+ : let name=tr(s, ':', 's')
|
||||
+ : execute 'py '.name.'=vim.bindeval("'.s.'")'
|
||||
+ : let toput=s.' : locked:'.pyeval(name.'.locked')
|
||||
+ : $put =toput
|
||||
+ :endfor
|
||||
+ :silent! call extend(l, [0])
|
||||
+ :silent! call extend(ll, [0])
|
||||
+ :py l.locked=True
|
||||
+ :py ll.locked=False
|
||||
+ :silent! call extend(l, [1])
|
||||
+ :silent! call extend(ll, [1])
|
||||
+ :put ='l:'.string(l)
|
||||
+ :put ='ll:'.string(ll)
|
||||
+ :unlet l ll
|
||||
:"
|
||||
:" pyeval()
|
||||
:let l=pyeval('range(3)')
|
||||
***************
|
||||
*** 240,245 ****
|
||||
--- 275,281 ----
|
||||
:call garbagecollect(1)
|
||||
:"
|
||||
:/^start:/,$wq! test.out
|
||||
+ :call getchar()
|
||||
ENDTEST
|
||||
|
||||
start:
|
||||
*** ../vim-7.3.671/src/testdir/test86.ok 2012-09-05 19:17:37.000000000 +0200
|
||||
--- src/testdir/test86.ok 2012-09-21 13:49:14.000000000 +0200
|
||||
***************
|
||||
*** 44,49 ****
|
||||
--- 44,59 ----
|
||||
ValueError
|
||||
TypeError
|
||||
TypeError
|
||||
+ d : locked:0;scope:0
|
||||
+ dl : locked:1;scope:0
|
||||
+ v: : locked:2;scope:1
|
||||
+ g: : locked:0;scope:2
|
||||
+ d:{'abc': 1}
|
||||
+ dl:{'def': 1}
|
||||
+ l : locked:0
|
||||
+ ll : locked:1
|
||||
+ l:[0]
|
||||
+ ll:[1]
|
||||
[0, 1, 2]
|
||||
['a', 'b']
|
||||
['c', 1]
|
||||
*** ../vim-7.3.671/src/testdir/test87.in 2012-09-05 19:17:37.000000000 +0200
|
||||
--- src/testdir/test87.in 2012-09-21 13:49:14.000000000 +0200
|
||||
***************
|
||||
*** 211,216 ****
|
||||
--- 211,251 ----
|
||||
m.extend([e.__class__.__name__])
|
||||
EOF
|
||||
:$put =messages
|
||||
+ :unlet messages
|
||||
+ :" locked and scope attributes
|
||||
+ :let d={} | let dl={} | lockvar dl
|
||||
+ :for s in split("d dl v: g:")
|
||||
+ : let name=tr(s, ':', 's')
|
||||
+ : execute 'py3 '.name.'=vim.bindeval("'.s.'")'
|
||||
+ : let toput=s.' : '.join(map(['locked', 'scope'], 'v:val.":".py3eval(name.".".v:val)'), ';')
|
||||
+ : $put =toput
|
||||
+ :endfor
|
||||
+ :silent! let d.abc=1
|
||||
+ :silent! let dl.abc=1
|
||||
+ :py3 d.locked=True
|
||||
+ :py3 dl.locked=False
|
||||
+ :silent! let d.def=1
|
||||
+ :silent! let dl.def=1
|
||||
+ :put ='d:'.string(d)
|
||||
+ :put ='dl:'.string(dl)
|
||||
+ :unlet d dl
|
||||
+ :
|
||||
+ :let l=[] | let ll=[] | lockvar ll
|
||||
+ :for s in split("l ll")
|
||||
+ : let name=tr(s, ':', 's')
|
||||
+ : execute 'py3 '.name.'=vim.bindeval("'.s.'")'
|
||||
+ : let toput=s.' : locked:'.py3eval(name.'.locked')
|
||||
+ : $put =toput
|
||||
+ :endfor
|
||||
+ :silent! call extend(l, [0])
|
||||
+ :silent! call extend(ll, [0])
|
||||
+ :py3 l.locked=True
|
||||
+ :py3 ll.locked=False
|
||||
+ :silent! call extend(l, [1])
|
||||
+ :silent! call extend(ll, [1])
|
||||
+ :put ='l:'.string(l)
|
||||
+ :put ='ll:'.string(ll)
|
||||
+ :unlet l ll
|
||||
:"
|
||||
:" py3eval()
|
||||
:let l=py3eval('[0, 1, 2]')
|
||||
*** ../vim-7.3.671/src/testdir/test87.ok 2012-09-05 19:17:37.000000000 +0200
|
||||
--- src/testdir/test87.ok 2012-09-21 13:49:14.000000000 +0200
|
||||
***************
|
||||
*** 44,49 ****
|
||||
--- 44,59 ----
|
||||
ValueError
|
||||
TypeError
|
||||
TypeError
|
||||
+ d : locked:0;scope:0
|
||||
+ dl : locked:1;scope:0
|
||||
+ v: : locked:2;scope:1
|
||||
+ g: : locked:0;scope:2
|
||||
+ d:{'abc': 1}
|
||||
+ dl:{'def': 1}
|
||||
+ l : locked:0
|
||||
+ ll : locked:1
|
||||
+ l:[0]
|
||||
+ ll:[1]
|
||||
[0, 1, 2]
|
||||
['a', 'b']
|
||||
['c', 1]
|
||||
*** ../vim-7.3.671/src/version.c 2012-09-21 13:45:57.000000000 +0200
|
||||
--- src/version.c 2012-09-21 13:48:18.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 672,
|
||||
/**/
|
||||
|
||||
--
|
||||
Vi beats Emacs to death, and then again!
|
||||
http://linuxtoday.com/stories/5764.html
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
64
7.3.673
Normal file
64
7.3.673
Normal file
@ -0,0 +1,64 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.673
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.673
|
||||
Problem: Using "gN" while 'selection' is "exclusive" misses one character.
|
||||
(Ben Fritz)
|
||||
Solution: Check the direction when compensating for exclusive selection.
|
||||
(Christian Brabandt)
|
||||
Files: src/search.c
|
||||
|
||||
|
||||
*** ../vim-7.3.672/src/search.c 2012-09-05 12:16:39.000000000 +0200
|
||||
--- src/search.c 2012-10-03 13:28:49.000000000 +0200
|
||||
***************
|
||||
*** 4650,4657 ****
|
||||
if (VIsual_active)
|
||||
{
|
||||
redraw_curbuf_later(INVERTED); /* update the inversion */
|
||||
! if (*p_sel == 'e' && ltoreq(VIsual, curwin->w_cursor))
|
||||
! inc_cursor();
|
||||
}
|
||||
|
||||
#ifdef FEAT_FOLDING
|
||||
--- 4650,4664 ----
|
||||
if (VIsual_active)
|
||||
{
|
||||
redraw_curbuf_later(INVERTED); /* update the inversion */
|
||||
! if (*p_sel == 'e')
|
||||
! {
|
||||
! /* Correction for exclusive selection depends on the direction. */
|
||||
! if (forward && ltoreq(VIsual, curwin->w_cursor))
|
||||
! inc_cursor();
|
||||
! else if (!forward && ltoreq(curwin->w_cursor, VIsual))
|
||||
! inc(&VIsual);
|
||||
! }
|
||||
!
|
||||
}
|
||||
|
||||
#ifdef FEAT_FOLDING
|
||||
*** ../vim-7.3.672/src/version.c 2012-09-21 14:00:05.000000000 +0200
|
||||
--- src/version.c 2012-10-03 13:31:45.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 673,
|
||||
/**/
|
||||
|
||||
--
|
||||
You can be stopped by the police for biking over 65 miles per hour.
|
||||
You are not allowed to walk across a street on your hands.
|
||||
[real standing laws in Connecticut, United States of America]
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
286
7.3.674
Normal file
286
7.3.674
Normal file
@ -0,0 +1,286 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.674
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.674
|
||||
Problem: Can't compile with Lua/dyn on Cygwin.
|
||||
Solution: Adjust configure to use the right library name. (Ken Takata)
|
||||
Files: src/configure.in, src/auto/configure
|
||||
|
||||
|
||||
*** ../vim-7.3.673/src/configure.in 2012-09-21 13:26:44.000000000 +0200
|
||||
--- src/configure.in 2012-10-03 14:39:42.000000000 +0200
|
||||
***************
|
||||
*** 455,485 ****
|
||||
|
||||
LUA_INC=
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include)
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
! dnl -- try to find Lua executable
|
||||
! AC_PATH_PROG(vi_cv_path_lua, lua)
|
||||
! if test "X$vi_cv_path_lua" != "X"; then
|
||||
! dnl -- find Lua version
|
||||
! AC_CACHE_CHECK(Lua version, vi_cv_version_lua,
|
||||
! [ vi_cv_version_lua=`${vi_cv_path_lua} -e "print(_VERSION)" | sed 's/.* //'` ])
|
||||
! AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua)
|
||||
! if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then
|
||||
! AC_MSG_RESULT(yes)
|
||||
! LUA_INC=/lua$vi_cv_version_lua
|
||||
! else
|
||||
! AC_MSG_RESULT(no)
|
||||
! vi_cv_path_lua_pfx=
|
||||
! fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
! if test "X$vi_cv_version_lua" != "X"; then
|
||||
dnl Test alternate location using version
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua$vi_cv_version_lua"
|
||||
else
|
||||
--- 455,485 ----
|
||||
|
||||
LUA_INC=
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
+ dnl -- try to find Lua executable
|
||||
+ AC_PATH_PROG(vi_cv_path_lua, lua)
|
||||
+ if test "X$vi_cv_path_lua" != "X"; then
|
||||
+ dnl -- find Lua version
|
||||
+ AC_CACHE_CHECK(Lua version, vi_cv_version_lua,
|
||||
+ [ vi_cv_version_lua=`${vi_cv_path_lua} -e "print(_VERSION)" | sed 's/.* //'` ])
|
||||
+ fi
|
||||
AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include)
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
! AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua)
|
||||
! if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then
|
||||
! AC_MSG_RESULT(yes)
|
||||
! LUA_INC=/lua$vi_cv_version_lua
|
||||
! else
|
||||
! AC_MSG_RESULT(no)
|
||||
! vi_cv_path_lua_pfx=
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
! if test "X$LUA_INC" != "X"; then
|
||||
dnl Test alternate location using version
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua$vi_cv_version_lua"
|
||||
else
|
||||
***************
|
||||
*** 491,507 ****
|
||||
LUA_PRO="if_lua.pro"
|
||||
AC_DEFINE(FEAT_LUA)
|
||||
if test "$enable_luainterp" = "dynamic"; then
|
||||
! dnl Determine the SONAME for the current version, but fallback to
|
||||
! dnl liblua${vi_cv_version_lua}.so if no SONAME-versioned file is found.
|
||||
! for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
! if test -f "${vi_cv_path_lua_pfx}/lib/liblua${vi_cv_version_lua}.so.$i"; then
|
||||
! LUA_SONAME=".$i"
|
||||
! break
|
||||
! fi
|
||||
! done
|
||||
AC_DEFINE(DYNAMIC_LUA)
|
||||
LUA_LIBS=""
|
||||
! LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"liblua${vi_cv_version_lua}.so$LUA_SONAME\\\" $LUA_CFLAGS"
|
||||
fi
|
||||
fi
|
||||
if test "$fail_if_missing" = "yes" -a -z "$LUA_SRC"; then
|
||||
--- 491,512 ----
|
||||
LUA_PRO="if_lua.pro"
|
||||
AC_DEFINE(FEAT_LUA)
|
||||
if test "$enable_luainterp" = "dynamic"; then
|
||||
! if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
! vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
! else
|
||||
! dnl Determine the SONAME for the current version, but fallback to
|
||||
! dnl liblua${vi_cv_version_lua}.so if no SONAME-versioned file is found.
|
||||
! for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
! if test -f "${vi_cv_path_lua_pfx}/lib/liblua${vi_cv_version_lua}.so.$i"; then
|
||||
! LUA_SONAME=".$i"
|
||||
! break
|
||||
! fi
|
||||
! done
|
||||
! vi_cv_dll_name_lua="liblua${vi_cv_version_lua}.so$LUA_SONAME"
|
||||
! fi
|
||||
AC_DEFINE(DYNAMIC_LUA)
|
||||
LUA_LIBS=""
|
||||
! LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"${vi_cv_dll_name_lua}\\\" $LUA_CFLAGS"
|
||||
fi
|
||||
fi
|
||||
if test "$fail_if_missing" = "yes" -a -z "$LUA_SRC"; then
|
||||
*** ../vim-7.3.673/src/auto/configure 2012-09-21 13:26:44.000000000 +0200
|
||||
--- src/auto/configure 2012-10-03 14:42:13.000000000 +0200
|
||||
***************
|
||||
*** 4648,4662 ****
|
||||
|
||||
LUA_INC=
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include" >&5
|
||||
! $as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include... " >&6; }
|
||||
! if test -f $vi_cv_path_lua_pfx/include/lua.h; then
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
! $as_echo "yes" >&6; }
|
||||
! else
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
! $as_echo "no" >&6; }
|
||||
! # Extract the first word of "lua", so it can be a program name with args.
|
||||
set dummy lua; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
--- 4648,4654 ----
|
||||
|
||||
LUA_INC=
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
! # Extract the first word of "lua", so it can be a program name with args.
|
||||
set dummy lua; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
***************
|
||||
*** 4696,4703 ****
|
||||
fi
|
||||
|
||||
|
||||
! if test "X$vi_cv_path_lua" != "X"; then
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5
|
||||
$as_echo_n "checking Lua version... " >&6; }
|
||||
if test "${vi_cv_version_lua+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
--- 4688,4695 ----
|
||||
fi
|
||||
|
||||
|
||||
! if test "X$vi_cv_path_lua" != "X"; then
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking Lua version" >&5
|
||||
$as_echo_n "checking Lua version... " >&6; }
|
||||
if test "${vi_cv_version_lua+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
***************
|
||||
*** 4706,4728 ****
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_lua" >&5
|
||||
$as_echo "$vi_cv_version_lua" >&6; }
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua" >&5
|
||||
$as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua... " >&6; }
|
||||
! if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
! LUA_INC=/lua$vi_cv_version_lua
|
||||
! else
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
! vi_cv_path_lua_pfx=
|
||||
! fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
! if test "X$vi_cv_version_lua" != "X"; then
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua$vi_cv_version_lua"
|
||||
else
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua"
|
||||
--- 4698,4728 ----
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_version_lua" >&5
|
||||
$as_echo "$vi_cv_version_lua" >&6; }
|
||||
! fi
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include" >&5
|
||||
! $as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include... " >&6; }
|
||||
! if test -f $vi_cv_path_lua_pfx/include/lua.h; then
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
! $as_echo "yes" >&6; }
|
||||
! else
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
! $as_echo "no" >&6; }
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua" >&5
|
||||
$as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua... " >&6; }
|
||||
! if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
! LUA_INC=/lua$vi_cv_version_lua
|
||||
! else
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
! vi_cv_path_lua_pfx=
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "X$vi_cv_path_lua_pfx" != "X"; then
|
||||
! if test "X$LUA_INC" != "X"; then
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua$vi_cv_version_lua"
|
||||
else
|
||||
LUA_LIBS="-L${vi_cv_path_lua_pfx}/lib -llua"
|
||||
***************
|
||||
*** 4734,4749 ****
|
||||
$as_echo "#define FEAT_LUA 1" >>confdefs.h
|
||||
|
||||
if test "$enable_luainterp" = "dynamic"; then
|
||||
! for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
! if test -f "${vi_cv_path_lua_pfx}/lib/liblua${vi_cv_version_lua}.so.$i"; then
|
||||
! LUA_SONAME=".$i"
|
||||
! break
|
||||
! fi
|
||||
! done
|
||||
$as_echo "#define DYNAMIC_LUA 1" >>confdefs.h
|
||||
|
||||
LUA_LIBS=""
|
||||
! LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"liblua${vi_cv_version_lua}.so$LUA_SONAME\\\" $LUA_CFLAGS"
|
||||
fi
|
||||
fi
|
||||
if test "$fail_if_missing" = "yes" -a -z "$LUA_SRC"; then
|
||||
--- 4734,4754 ----
|
||||
$as_echo "#define FEAT_LUA 1" >>confdefs.h
|
||||
|
||||
if test "$enable_luainterp" = "dynamic"; then
|
||||
! if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
! vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
! else
|
||||
! for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
! if test -f "${vi_cv_path_lua_pfx}/lib/liblua${vi_cv_version_lua}.so.$i"; then
|
||||
! LUA_SONAME=".$i"
|
||||
! break
|
||||
! fi
|
||||
! done
|
||||
! vi_cv_dll_name_lua="liblua${vi_cv_version_lua}.so$LUA_SONAME"
|
||||
! fi
|
||||
$as_echo "#define DYNAMIC_LUA 1" >>confdefs.h
|
||||
|
||||
LUA_LIBS=""
|
||||
! LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"${vi_cv_dll_name_lua}\\\" $LUA_CFLAGS"
|
||||
fi
|
||||
fi
|
||||
if test "$fail_if_missing" = "yes" -a -z "$LUA_SRC"; then
|
||||
*** ../vim-7.3.673/src/version.c 2012-10-03 13:35:45.000000000 +0200
|
||||
--- src/version.c 2012-10-03 14:44:56.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 674,
|
||||
/**/
|
||||
|
||||
--
|
||||
The Law, in its majestic equality, forbids the rich, as well as the
|
||||
poor, to sleep under the bridges, to beg in the streets, and to steal
|
||||
bread. -- Anatole France
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
53
7.3.675
Normal file
53
7.3.675
Normal file
@ -0,0 +1,53 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.675
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.675
|
||||
Problem: Using uninitialized memory with very long file name.
|
||||
Solution: Put NUL after text when it is truncated. (ZyX)
|
||||
Files: src/buffer.c
|
||||
|
||||
|
||||
*** ../vim-7.3.674/src/buffer.c 2012-09-05 13:30:22.000000000 +0200
|
||||
--- src/buffer.c 2012-10-03 16:25:12.000000000 +0200
|
||||
***************
|
||||
*** 3058,3064 ****
|
||||
|
||||
*p++ = '"';
|
||||
if (buf_spname(curbuf) != NULL)
|
||||
! STRCPY(p, buf_spname(curbuf));
|
||||
else
|
||||
{
|
||||
if (!fullname && curbuf->b_fname != NULL)
|
||||
--- 3058,3064 ----
|
||||
|
||||
*p++ = '"';
|
||||
if (buf_spname(curbuf) != NULL)
|
||||
! vim_strncpy(p, buf_spname(curbuf), IOSIZE - (p - buffer) - 1);
|
||||
else
|
||||
{
|
||||
if (!fullname && curbuf->b_fname != NULL)
|
||||
*** ../vim-7.3.674/src/version.c 2012-10-03 14:48:03.000000000 +0200
|
||||
--- src/version.c 2012-10-03 16:29:28.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 675,
|
||||
/**/
|
||||
|
||||
--
|
||||
It is illegal to rob a bank and then shoot at the bank teller with a water
|
||||
pistol.
|
||||
[real standing law in Louisana, United States of America]
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
77
7.3.676
Normal file
77
7.3.676
Normal file
@ -0,0 +1,77 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.676
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.676
|
||||
Problem: Ruby compilation on Windows 32 bit doesn't work.
|
||||
Solution: Only use some functions for 64 bit. (Ken Takata)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.675/src/if_ruby.c 2012-09-18 16:36:26.000000000 +0200
|
||||
--- src/if_ruby.c 2012-10-03 17:55:58.000000000 +0200
|
||||
***************
|
||||
*** 178,186 ****
|
||||
--- 178,188 ----
|
||||
#define rb_hash_new dll_rb_hash_new
|
||||
#define rb_inspect dll_rb_inspect
|
||||
#define rb_int2inum dll_rb_int2inum
|
||||
+ #if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
|
||||
#define rb_fix2int dll_rb_fix2int
|
||||
#define rb_num2int dll_rb_num2int
|
||||
#define rb_num2uint dll_rb_num2uint
|
||||
+ #endif
|
||||
#define rb_lastline_get dll_rb_lastline_get
|
||||
#define rb_lastline_set dll_rb_lastline_set
|
||||
#define rb_load_protect dll_rb_load_protect
|
||||
***************
|
||||
*** 271,279 ****
|
||||
--- 273,283 ----
|
||||
static VALUE (*dll_rb_hash_new) (void);
|
||||
static VALUE (*dll_rb_inspect) (VALUE);
|
||||
static VALUE (*dll_rb_int2inum) (long);
|
||||
+ #if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
|
||||
static long (*dll_rb_fix2int) (VALUE);
|
||||
static long (*dll_rb_num2int) (VALUE);
|
||||
static unsigned long (*dll_rb_num2uint) (VALUE);
|
||||
+ #endif
|
||||
static VALUE (*dll_rb_lastline_get) (void);
|
||||
static void (*dll_rb_lastline_set) (VALUE);
|
||||
static void (*dll_rb_load_protect) (VALUE, int, int*);
|
||||
***************
|
||||
*** 382,390 ****
|
||||
--- 386,396 ----
|
||||
{"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new},
|
||||
{"rb_inspect", (RUBY_PROC*)&dll_rb_inspect},
|
||||
{"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum},
|
||||
+ #if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
|
||||
{"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int},
|
||||
{"rb_num2int", (RUBY_PROC*)&dll_rb_num2int},
|
||||
{"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint},
|
||||
+ #endif
|
||||
{"rb_lastline_get", (RUBY_PROC*)&dll_rb_lastline_get},
|
||||
{"rb_lastline_set", (RUBY_PROC*)&dll_rb_lastline_set},
|
||||
{"rb_load_protect", (RUBY_PROC*)&dll_rb_load_protect},
|
||||
*** ../vim-7.3.675/src/version.c 2012-10-03 17:12:43.000000000 +0200
|
||||
--- src/version.c 2012-10-03 17:52:11.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 676,
|
||||
/**/
|
||||
|
||||
--
|
||||
Why don't cannibals eat clowns?
|
||||
Because they taste funny.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
268
7.3.677
Normal file
268
7.3.677
Normal file
@ -0,0 +1,268 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.677
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.677
|
||||
Problem: buf_spname() is used inconsistently.
|
||||
Solution: Make the return type a char_u pointer. Check the size of the
|
||||
returned string.
|
||||
Files: src/buffer.c, src/proto/buffer.pro, src/ex_cmds2.c,
|
||||
src/ex_docmd.c, src/memline.c, src/screen.c
|
||||
|
||||
|
||||
*** ../vim-7.3.676/src/buffer.c 2012-10-03 17:12:43.000000000 +0200
|
||||
--- src/buffer.c 2012-10-03 18:14:34.000000000 +0200
|
||||
***************
|
||||
*** 2635,2641 ****
|
||||
continue;
|
||||
msg_putchar('\n');
|
||||
if (buf_spname(buf) != NULL)
|
||||
! STRCPY(NameBuff, buf_spname(buf));
|
||||
else
|
||||
home_replace(buf, buf->b_fname, NameBuff, MAXPATHL, TRUE);
|
||||
|
||||
--- 2635,2641 ----
|
||||
continue;
|
||||
msg_putchar('\n');
|
||||
if (buf_spname(buf) != NULL)
|
||||
! vim_strncpy(NameBuff, buf_spname(buf), MAXPATHL - 1);
|
||||
else
|
||||
home_replace(buf, buf->b_fname, NameBuff, MAXPATHL, TRUE);
|
||||
|
||||
***************
|
||||
*** 3350,3356 ****
|
||||
else
|
||||
{
|
||||
if (buf_spname(curbuf) != NULL)
|
||||
! i_name = (char_u *)buf_spname(curbuf);
|
||||
else /* use file name only in icon */
|
||||
i_name = gettail(curbuf->b_ffname);
|
||||
*i_str = NUL;
|
||||
--- 3350,3356 ----
|
||||
else
|
||||
{
|
||||
if (buf_spname(curbuf) != NULL)
|
||||
! i_name = buf_spname(curbuf);
|
||||
else /* use file name only in icon */
|
||||
i_name = gettail(curbuf->b_ffname);
|
||||
*i_str = NUL;
|
||||
***************
|
||||
*** 3766,3772 ****
|
||||
case STL_FILENAME:
|
||||
fillable = FALSE; /* don't change ' ' to fillchar */
|
||||
if (buf_spname(wp->w_buffer) != NULL)
|
||||
! STRCPY(NameBuff, buf_spname(wp->w_buffer));
|
||||
else
|
||||
{
|
||||
t = (opt == STL_FULLPATH) ? wp->w_buffer->b_ffname
|
||||
--- 3766,3772 ----
|
||||
case STL_FILENAME:
|
||||
fillable = FALSE; /* don't change ' ' to fillchar */
|
||||
if (buf_spname(wp->w_buffer) != NULL)
|
||||
! vim_strncpy(NameBuff, buf_spname(wp->w_buffer), MAXPATHL - 1);
|
||||
else
|
||||
{
|
||||
t = (opt == STL_FULLPATH) ? wp->w_buffer->b_ffname
|
||||
***************
|
||||
*** 5244,5250 ****
|
||||
* Return special buffer name.
|
||||
* Returns NULL when the buffer has a normal file name.
|
||||
*/
|
||||
! char *
|
||||
buf_spname(buf)
|
||||
buf_T *buf;
|
||||
{
|
||||
--- 5244,5250 ----
|
||||
* Return special buffer name.
|
||||
* Returns NULL when the buffer has a normal file name.
|
||||
*/
|
||||
! char_u *
|
||||
buf_spname(buf)
|
||||
buf_T *buf;
|
||||
{
|
||||
***************
|
||||
*** 5263,5271 ****
|
||||
goto win_found;
|
||||
win_found:
|
||||
if (win != NULL && win->w_llist_ref != NULL)
|
||||
! return _(msg_loclist);
|
||||
else
|
||||
! return _(msg_qflist);
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_QUICKFIX
|
||||
--- 5263,5271 ----
|
||||
goto win_found;
|
||||
win_found:
|
||||
if (win != NULL && win->w_llist_ref != NULL)
|
||||
! return (char_u *)_(msg_loclist);
|
||||
else
|
||||
! return (char_u *)_(msg_qflist);
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_QUICKFIX
|
||||
***************
|
||||
*** 5274,5285 ****
|
||||
if (bt_nofile(buf))
|
||||
{
|
||||
if (buf->b_sfname != NULL)
|
||||
! return (char *)buf->b_sfname;
|
||||
! return _("[Scratch]");
|
||||
}
|
||||
#endif
|
||||
if (buf->b_fname == NULL)
|
||||
! return _("[No Name]");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
--- 5274,5285 ----
|
||||
if (bt_nofile(buf))
|
||||
{
|
||||
if (buf->b_sfname != NULL)
|
||||
! return buf->b_sfname;
|
||||
! return (char_u *)_("[Scratch]");
|
||||
}
|
||||
#endif
|
||||
if (buf->b_fname == NULL)
|
||||
! return (char_u *)_("[No Name]");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
*** ../vim-7.3.676/src/proto/buffer.pro 2012-07-10 15:18:18.000000000 +0200
|
||||
--- src/proto/buffer.pro 2012-10-03 18:17:58.000000000 +0200
|
||||
***************
|
||||
*** 51,57 ****
|
||||
void do_modelines __ARGS((int flags));
|
||||
int read_viminfo_bufferlist __ARGS((vir_T *virp, int writing));
|
||||
void write_viminfo_bufferlist __ARGS((FILE *fp));
|
||||
! char *buf_spname __ARGS((buf_T *buf));
|
||||
void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr));
|
||||
linenr_T buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr));
|
||||
int buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type));
|
||||
--- 51,57 ----
|
||||
void do_modelines __ARGS((int flags));
|
||||
int read_viminfo_bufferlist __ARGS((vir_T *virp, int writing));
|
||||
void write_viminfo_bufferlist __ARGS((FILE *fp));
|
||||
! char_u *buf_spname __ARGS((buf_T *buf));
|
||||
void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr));
|
||||
linenr_T buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr));
|
||||
int buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type));
|
||||
*** ../vim-7.3.676/src/ex_cmds2.c 2012-06-29 12:57:03.000000000 +0200
|
||||
--- src/ex_cmds2.c 2012-10-03 18:15:26.000000000 +0200
|
||||
***************
|
||||
*** 1688,1695 ****
|
||||
msg_didout = FALSE;
|
||||
}
|
||||
if (EMSG2(_("E162: No write since last change for buffer \"%s\""),
|
||||
! buf_spname(buf) != NULL ? (char_u *)buf_spname(buf) :
|
||||
! buf->b_fname))
|
||||
{
|
||||
save = no_wait_return;
|
||||
no_wait_return = FALSE;
|
||||
--- 1688,1694 ----
|
||||
msg_didout = FALSE;
|
||||
}
|
||||
if (EMSG2(_("E162: No write since last change for buffer \"%s\""),
|
||||
! buf_spname(buf) != NULL ? buf_spname(buf) : buf->b_fname))
|
||||
{
|
||||
save = no_wait_return;
|
||||
no_wait_return = FALSE;
|
||||
*** ../vim-7.3.676/src/ex_docmd.c 2012-09-18 16:47:00.000000000 +0200
|
||||
--- src/ex_docmd.c 2012-10-03 18:15:47.000000000 +0200
|
||||
***************
|
||||
*** 7602,7608 ****
|
||||
msg_putchar(bufIsChanged(wp->w_buffer) ? '+' : ' ');
|
||||
msg_putchar(' ');
|
||||
if (buf_spname(wp->w_buffer) != NULL)
|
||||
! STRCPY(IObuff, buf_spname(wp->w_buffer));
|
||||
else
|
||||
home_replace(wp->w_buffer, wp->w_buffer->b_fname,
|
||||
IObuff, IOSIZE, TRUE);
|
||||
--- 7602,7608 ----
|
||||
msg_putchar(bufIsChanged(wp->w_buffer) ? '+' : ' ');
|
||||
msg_putchar(' ');
|
||||
if (buf_spname(wp->w_buffer) != NULL)
|
||||
! vim_strncpy(IObuff, buf_spname(wp->w_buffer), IOSIZE - 1);
|
||||
else
|
||||
home_replace(wp->w_buffer, wp->w_buffer->b_fname,
|
||||
IObuff, IOSIZE, TRUE);
|
||||
*** ../vim-7.3.676/src/memline.c 2011-10-26 11:44:15.000000000 +0200
|
||||
--- src/memline.c 2012-10-03 18:18:23.000000000 +0200
|
||||
***************
|
||||
*** 780,788 ****
|
||||
need_wait_return = TRUE; /* call wait_return later */
|
||||
++no_wait_return;
|
||||
(void)EMSG2(_("E303: Unable to open swap file for \"%s\", recovery impossible"),
|
||||
! buf_spname(buf) != NULL
|
||||
! ? (char_u *)buf_spname(buf)
|
||||
! : buf->b_fname);
|
||||
--no_wait_return;
|
||||
}
|
||||
|
||||
--- 780,786 ----
|
||||
need_wait_return = TRUE; /* call wait_return later */
|
||||
++no_wait_return;
|
||||
(void)EMSG2(_("E303: Unable to open swap file for \"%s\", recovery impossible"),
|
||||
! buf_spname(buf) != NULL ? buf_spname(buf) : buf->b_fname);
|
||||
--no_wait_return;
|
||||
}
|
||||
|
||||
***************
|
||||
*** 1315,1321 ****
|
||||
smsg((char_u *)_("Using swap file \"%s\""), NameBuff);
|
||||
|
||||
if (buf_spname(curbuf) != NULL)
|
||||
! STRCPY(NameBuff, buf_spname(curbuf));
|
||||
else
|
||||
home_replace(NULL, curbuf->b_ffname, NameBuff, MAXPATHL, TRUE);
|
||||
smsg((char_u *)_("Original file \"%s\""), NameBuff);
|
||||
--- 1313,1319 ----
|
||||
smsg((char_u *)_("Using swap file \"%s\""), NameBuff);
|
||||
|
||||
if (buf_spname(curbuf) != NULL)
|
||||
! vim_strncpy(NameBuff, buf_spname(curbuf), MAXPATHL - 1);
|
||||
else
|
||||
home_replace(NULL, curbuf->b_ffname, NameBuff, MAXPATHL, TRUE);
|
||||
smsg((char_u *)_("Original file \"%s\""), NameBuff);
|
||||
*** ../vim-7.3.676/src/screen.c 2012-08-23 18:55:50.000000000 +0200
|
||||
--- src/screen.c 2012-10-03 18:17:25.000000000 +0200
|
||||
***************
|
||||
*** 9876,9882 ****
|
||||
buf_T *buf;
|
||||
{
|
||||
if (buf_spname(buf) != NULL)
|
||||
! STRCPY(NameBuff, buf_spname(buf));
|
||||
else
|
||||
home_replace(buf, buf->b_fname, NameBuff, MAXPATHL, TRUE);
|
||||
trans_characters(NameBuff, MAXPATHL);
|
||||
--- 9876,9882 ----
|
||||
buf_T *buf;
|
||||
{
|
||||
if (buf_spname(buf) != NULL)
|
||||
! vim_strncpy(NameBuff, buf_spname(buf), MAXPATHL - 1);
|
||||
else
|
||||
home_replace(buf, buf->b_fname, NameBuff, MAXPATHL, TRUE);
|
||||
trans_characters(NameBuff, MAXPATHL);
|
||||
*** ../vim-7.3.676/src/version.c 2012-10-03 18:06:55.000000000 +0200
|
||||
--- src/version.c 2012-10-03 18:22:18.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 677,
|
||||
/**/
|
||||
|
||||
--
|
||||
bashian roulette:
|
||||
$ ((RANDOM%6)) || rm -rf ~
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
72
7.3.678
Normal file
72
7.3.678
Normal file
@ -0,0 +1,72 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.678
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.678
|
||||
Problem: Ruby .so name may not be correct.
|
||||
Solution: Use the LIBRUBY_SO entry from the config. (Vit Ondruch)
|
||||
Files: src/configure.in, src/auto/configure
|
||||
|
||||
|
||||
*** ../vim-7.3.677/src/configure.in 2012-10-03 14:48:03.000000000 +0200
|
||||
--- src/configure.in 2012-10-03 18:38:24.000000000 +0200
|
||||
***************
|
||||
*** 1487,1493 ****
|
||||
RUBY_PRO="if_ruby.pro"
|
||||
AC_DEFINE(FEAT_RUBY)
|
||||
if test "$enable_rubyinterp" = "dynamic"; then
|
||||
! libruby=`$vi_cv_path_ruby -r rbconfig -e 'printf "lib%s.%s\n", Config::CONFIG[["RUBY_SO_NAME"]], Config::CONFIG[["DLEXT"]]'`
|
||||
AC_DEFINE(DYNAMIC_RUBY)
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
RUBY_LIBS=
|
||||
--- 1487,1493 ----
|
||||
RUBY_PRO="if_ruby.pro"
|
||||
AC_DEFINE(FEAT_RUBY)
|
||||
if test "$enable_rubyinterp" = "dynamic"; then
|
||||
! libruby=`$vi_cv_path_ruby -r rbconfig -e 'puts Config::CONFIG[["LIBRUBY_SO"]]'`
|
||||
AC_DEFINE(DYNAMIC_RUBY)
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
RUBY_LIBS=
|
||||
*** ../vim-7.3.677/src/auto/configure 2012-10-03 14:48:03.000000000 +0200
|
||||
--- src/auto/configure 2012-10-03 18:40:48.000000000 +0200
|
||||
***************
|
||||
*** 6376,6382 ****
|
||||
$as_echo "#define FEAT_RUBY 1" >>confdefs.h
|
||||
|
||||
if test "$enable_rubyinterp" = "dynamic"; then
|
||||
! libruby=`$vi_cv_path_ruby -r rbconfig -e 'printf "lib%s.%s\n", Config::CONFIG["RUBY_SO_NAME"], Config::CONFIG["DLEXT"]'`
|
||||
$as_echo "#define DYNAMIC_RUBY 1" >>confdefs.h
|
||||
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
--- 6376,6382 ----
|
||||
$as_echo "#define FEAT_RUBY 1" >>confdefs.h
|
||||
|
||||
if test "$enable_rubyinterp" = "dynamic"; then
|
||||
! libruby=`$vi_cv_path_ruby -r rbconfig -e 'puts Config::CONFIG["LIBRUBY_SO"]'`
|
||||
$as_echo "#define DYNAMIC_RUBY 1" >>confdefs.h
|
||||
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
*** ../vim-7.3.677/src/version.c 2012-10-03 18:24:55.000000000 +0200
|
||||
--- src/version.c 2012-10-03 18:49:09.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 678,
|
||||
/**/
|
||||
|
||||
--
|
||||
Snoring is prohibited unless all bedroom windows are closed and securely
|
||||
locked.
|
||||
[real standing law in Massachusetts, United States of America]
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
230
7.3.679
Normal file
230
7.3.679
Normal file
@ -0,0 +1,230 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.679
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.679
|
||||
Problem: Ruby detection uses Config, newer Ruby versions use RbConfig.
|
||||
Solution: Detect the need to use RbConfig. (Vit Ondruch)
|
||||
Files: src/configure.in, src/auto/configure
|
||||
|
||||
|
||||
*** ../vim-7.3.678/src/configure.in 2012-10-03 18:49:55.000000000 +0200
|
||||
--- src/configure.in 2012-10-03 18:50:48.000000000 +0200
|
||||
***************
|
||||
*** 1442,1465 ****
|
||||
AC_MSG_CHECKING(Ruby version)
|
||||
if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
|
||||
AC_MSG_RESULT(OK)
|
||||
AC_MSG_CHECKING(Ruby header files)
|
||||
! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["rubyhdrdir"]] || Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null`
|
||||
if test "X$rubyhdrdir" != "X"; then
|
||||
AC_MSG_RESULT($rubyhdrdir)
|
||||
RUBY_CFLAGS="-I$rubyhdrdir"
|
||||
! rubyarch=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["arch"]]'`
|
||||
if test -d "$rubyhdrdir/$rubyarch"; then
|
||||
RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
|
||||
fi
|
||||
! rubyversion=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["ruby_version"]].gsub(/\./, "")[[0,2]]'`
|
||||
RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion"
|
||||
! rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'`
|
||||
if test "X$rubylibs" != "X"; then
|
||||
RUBY_LIBS="$rubylibs"
|
||||
fi
|
||||
! librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBYARG"]])'`
|
||||
! librubya=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBY_A"]])'`
|
||||
! rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'`
|
||||
if test -f "$rubylibdir/$librubya"; then
|
||||
librubyarg="$librubyarg"
|
||||
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
|
||||
--- 1442,1471 ----
|
||||
AC_MSG_CHECKING(Ruby version)
|
||||
if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
|
||||
AC_MSG_RESULT(OK)
|
||||
+ AC_MSG_CHECKING(Ruby rbconfig)
|
||||
+ ruby_rbconfig="RbConfig"
|
||||
+ if ! $vi_cv_path_ruby -r rbconfig -e 'RbConfig' >/dev/null 2>/dev/null; then
|
||||
+ ruby_rbconfig="Config"
|
||||
+ fi
|
||||
+ AC_MSG_RESULT($ruby_rbconfig)
|
||||
AC_MSG_CHECKING(Ruby header files)
|
||||
! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e "print $ruby_rbconfig::CONFIG[['rubyhdrdir']] || $ruby_rbconfig::CONFIG[['archdir']] || \\$hdrdir" 2>/dev/null`
|
||||
if test "X$rubyhdrdir" != "X"; then
|
||||
AC_MSG_RESULT($rubyhdrdir)
|
||||
RUBY_CFLAGS="-I$rubyhdrdir"
|
||||
! rubyarch=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['arch']]"`
|
||||
if test -d "$rubyhdrdir/$rubyarch"; then
|
||||
RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
|
||||
fi
|
||||
! rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['ruby_version']].gsub(/\./, '')[[0,2]]"`
|
||||
RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion"
|
||||
! rubylibs=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['LIBS']]"`
|
||||
if test "X$rubylibs" != "X"; then
|
||||
RUBY_LIBS="$rubylibs"
|
||||
fi
|
||||
! librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG[['LIBRUBYARG']])"`
|
||||
! librubya=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG[['LIBRUBY_A']])"`
|
||||
! rubylibdir=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG[['libdir']])"`
|
||||
if test -f "$rubylibdir/$librubya"; then
|
||||
librubyarg="$librubyarg"
|
||||
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
|
||||
***************
|
||||
*** 1472,1478 ****
|
||||
if test "X$librubyarg" != "X"; then
|
||||
RUBY_LIBS="$librubyarg $RUBY_LIBS"
|
||||
fi
|
||||
! rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'`
|
||||
if test "X$rubyldflags" != "X"; then
|
||||
dnl Ruby on Mac OS X 10.5 adds "-arch" flags but these should only
|
||||
dnl be included if requested by passing --with-mac-arch to
|
||||
--- 1478,1484 ----
|
||||
if test "X$librubyarg" != "X"; then
|
||||
RUBY_LIBS="$librubyarg $RUBY_LIBS"
|
||||
fi
|
||||
! rubyldflags=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG[['LDFLAGS']]"`
|
||||
if test "X$rubyldflags" != "X"; then
|
||||
dnl Ruby on Mac OS X 10.5 adds "-arch" flags but these should only
|
||||
dnl be included if requested by passing --with-mac-arch to
|
||||
***************
|
||||
*** 1487,1493 ****
|
||||
RUBY_PRO="if_ruby.pro"
|
||||
AC_DEFINE(FEAT_RUBY)
|
||||
if test "$enable_rubyinterp" = "dynamic"; then
|
||||
! libruby=`$vi_cv_path_ruby -r rbconfig -e 'puts Config::CONFIG[["LIBRUBY_SO"]]'`
|
||||
AC_DEFINE(DYNAMIC_RUBY)
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
RUBY_LIBS=
|
||||
--- 1493,1499 ----
|
||||
RUBY_PRO="if_ruby.pro"
|
||||
AC_DEFINE(FEAT_RUBY)
|
||||
if test "$enable_rubyinterp" = "dynamic"; then
|
||||
! libruby=`$vi_cv_path_ruby -r rbconfig -e "puts $ruby_rbconfig::CONFIG[['LIBRUBY_SO']]"`
|
||||
AC_DEFINE(DYNAMIC_RUBY)
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
RUBY_LIBS=
|
||||
*** ../vim-7.3.678/src/auto/configure 2012-10-03 18:49:55.000000000 +0200
|
||||
--- src/auto/configure 2012-10-03 18:51:38.000000000 +0200
|
||||
***************
|
||||
*** 6332,6357 ****
|
||||
if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5
|
||||
$as_echo "OK" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Ruby header files" >&5
|
||||
$as_echo_n "checking Ruby header files... " >&6; }
|
||||
! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["rubyhdrdir"] || Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null`
|
||||
if test "X$rubyhdrdir" != "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rubyhdrdir" >&5
|
||||
$as_echo "$rubyhdrdir" >&6; }
|
||||
RUBY_CFLAGS="-I$rubyhdrdir"
|
||||
! rubyarch=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["arch"]'`
|
||||
if test -d "$rubyhdrdir/$rubyarch"; then
|
||||
RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
|
||||
fi
|
||||
! rubyversion=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["ruby_version"].gsub(/\./, "")[0,2]'`
|
||||
RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion"
|
||||
! rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'`
|
||||
if test "X$rubylibs" != "X"; then
|
||||
RUBY_LIBS="$rubylibs"
|
||||
fi
|
||||
! librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG["LIBRUBYARG"])'`
|
||||
! librubya=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG["LIBRUBY_A"])'`
|
||||
! rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG["libdir"])'`
|
||||
if test -f "$rubylibdir/$librubya"; then
|
||||
librubyarg="$librubyarg"
|
||||
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
|
||||
--- 6332,6365 ----
|
||||
if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5
|
||||
$as_echo "OK" >&6; }
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Ruby rbconfig" >&5
|
||||
+ $as_echo_n "checking Ruby rbconfig... " >&6; }
|
||||
+ ruby_rbconfig="RbConfig"
|
||||
+ if ! $vi_cv_path_ruby -r rbconfig -e 'RbConfig' >/dev/null 2>/dev/null; then
|
||||
+ ruby_rbconfig="Config"
|
||||
+ fi
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ruby_rbconfig" >&5
|
||||
+ $as_echo "$ruby_rbconfig" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Ruby header files" >&5
|
||||
$as_echo_n "checking Ruby header files... " >&6; }
|
||||
! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e "print $ruby_rbconfig::CONFIG['rubyhdrdir'] || $ruby_rbconfig::CONFIG['archdir'] || \\$hdrdir" 2>/dev/null`
|
||||
if test "X$rubyhdrdir" != "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rubyhdrdir" >&5
|
||||
$as_echo "$rubyhdrdir" >&6; }
|
||||
RUBY_CFLAGS="-I$rubyhdrdir"
|
||||
! rubyarch=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['arch']"`
|
||||
if test -d "$rubyhdrdir/$rubyarch"; then
|
||||
RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
|
||||
fi
|
||||
! rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['ruby_version'].gsub(/\./, '')[0,2]"`
|
||||
RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion"
|
||||
! rubylibs=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['LIBS']"`
|
||||
if test "X$rubylibs" != "X"; then
|
||||
RUBY_LIBS="$rubylibs"
|
||||
fi
|
||||
! librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['LIBRUBYARG'])"`
|
||||
! librubya=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['LIBRUBY_A'])"`
|
||||
! rubylibdir=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['libdir'])"`
|
||||
if test -f "$rubylibdir/$librubya"; then
|
||||
librubyarg="$librubyarg"
|
||||
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
|
||||
***************
|
||||
*** 6363,6369 ****
|
||||
if test "X$librubyarg" != "X"; then
|
||||
RUBY_LIBS="$librubyarg $RUBY_LIBS"
|
||||
fi
|
||||
! rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LDFLAGS"]'`
|
||||
if test "X$rubyldflags" != "X"; then
|
||||
rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
|
||||
if test "X$rubyldflags" != "X"; then
|
||||
--- 6371,6377 ----
|
||||
if test "X$librubyarg" != "X"; then
|
||||
RUBY_LIBS="$librubyarg $RUBY_LIBS"
|
||||
fi
|
||||
! rubyldflags=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig::CONFIG['LDFLAGS']"`
|
||||
if test "X$rubyldflags" != "X"; then
|
||||
rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
|
||||
if test "X$rubyldflags" != "X"; then
|
||||
***************
|
||||
*** 6376,6382 ****
|
||||
$as_echo "#define FEAT_RUBY 1" >>confdefs.h
|
||||
|
||||
if test "$enable_rubyinterp" = "dynamic"; then
|
||||
! libruby=`$vi_cv_path_ruby -r rbconfig -e 'puts Config::CONFIG["LIBRUBY_SO"]'`
|
||||
$as_echo "#define DYNAMIC_RUBY 1" >>confdefs.h
|
||||
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
--- 6384,6390 ----
|
||||
$as_echo "#define FEAT_RUBY 1" >>confdefs.h
|
||||
|
||||
if test "$enable_rubyinterp" = "dynamic"; then
|
||||
! libruby=`$vi_cv_path_ruby -r rbconfig -e "puts $ruby_rbconfig::CONFIG['LIBRUBY_SO']"`
|
||||
$as_echo "#define DYNAMIC_RUBY 1" >>confdefs.h
|
||||
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
*** ../vim-7.3.678/src/version.c 2012-10-03 18:49:55.000000000 +0200
|
||||
--- src/version.c 2012-10-03 21:08:31.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 679,
|
||||
/**/
|
||||
|
||||
--
|
||||
Close your shells, or I'll kill -9 you
|
||||
Tomorrow I'll quota you
|
||||
Remember the disks'll always be full
|
||||
And then while I'm away
|
||||
I'll write ~ everyday
|
||||
And I'll send-pr all my buggings to you.
|
||||
[ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ]
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
70
7.3.680
Normal file
70
7.3.680
Normal file
@ -0,0 +1,70 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.680
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.680
|
||||
Problem: Some files missing in the list of distributed files.
|
||||
Solution: Add lines for new files.
|
||||
Files: Filelist
|
||||
|
||||
|
||||
*** ../vim-7.3.679/Filelist 2012-08-29 14:18:26.000000000 +0200
|
||||
--- Filelist 2012-09-21 14:53:59.000000000 +0200
|
||||
***************
|
||||
*** 261,266 ****
|
||||
--- 261,267 ----
|
||||
src/Make_mvc.mak \
|
||||
src/Make_w16.mak \
|
||||
src/bigvim.bat \
|
||||
+ src/bigvim64.bat \
|
||||
src/msvcsetup.bat \
|
||||
src/msvc2008.bat \
|
||||
src/msvc2010.bat \
|
||||
***************
|
||||
*** 352,357 ****
|
||||
--- 353,359 ----
|
||||
src/xpm/COPYRIGHT \
|
||||
src/xpm/README.txt \
|
||||
src/xpm/include/*.h \
|
||||
+ src/xpm/x64/lib/libXpm.a \
|
||||
src/xpm/x64/lib/libXpm.lib \
|
||||
src/xpm/x86/lib/libXpm.a \
|
||||
src/xpm/x86/lib/libXpm.lib \
|
||||
***************
|
||||
*** 692,697 ****
|
||||
--- 694,700 ----
|
||||
runtime/tutor/tutor.utf-8 \
|
||||
runtime/tutor/tutor.?? \
|
||||
runtime/tutor/tutor.??.* \
|
||||
+ runtime/tutor/tutor.??_??.* \
|
||||
runtime/tutor/tutor.bar \
|
||||
runtime/tutor/tutor.bar.* \
|
||||
runtime/spell/README.txt \
|
||||
*** ../vim-7.3.679/src/version.c 2012-10-03 21:09:33.000000000 +0200
|
||||
--- src/version.c 2012-10-03 21:32:38.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 680,
|
||||
/**/
|
||||
|
||||
--
|
||||
So when I saw the post to comp.editors, I rushed over to the FTP site to
|
||||
grab it. So I yank apart the tarball, light x candles, where x= the
|
||||
vim version multiplied by the md5sum of the source divided by the MAC of
|
||||
my NIC (8A3FA78155A8A1D346C3C4A), put on black robes, dim the lights,
|
||||
wave a dead chicken over the hard drive, and summon the power of GNU GCC
|
||||
with the magic words "make config ; make!".
|
||||
[Jason Spence, compiling Vim 5.0]
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
64
7.3.681
Normal file
64
7.3.681
Normal file
@ -0,0 +1,64 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.681
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.681 (after 7.3.680)
|
||||
Problem: List of distributed files picks up backup files.
|
||||
Solution: Make tutor patterns more specific.
|
||||
Files: Filelist
|
||||
|
||||
|
||||
*** ../vim-7.3.680/Filelist 2012-10-03 21:33:37.000000000 +0200
|
||||
--- Filelist 2012-10-03 21:44:29.000000000 +0200
|
||||
***************
|
||||
*** 693,702 ****
|
||||
runtime/tutor/Makefile \
|
||||
runtime/tutor/tutor.utf-8 \
|
||||
runtime/tutor/tutor.?? \
|
||||
! runtime/tutor/tutor.??.* \
|
||||
! runtime/tutor/tutor.??_??.* \
|
||||
runtime/tutor/tutor.bar \
|
||||
! runtime/tutor/tutor.bar.* \
|
||||
runtime/spell/README.txt \
|
||||
runtime/spell/??/*.diff \
|
||||
runtime/spell/??/main.aap \
|
||||
--- 693,709 ----
|
||||
runtime/tutor/Makefile \
|
||||
runtime/tutor/tutor.utf-8 \
|
||||
runtime/tutor/tutor.?? \
|
||||
! runtime/tutor/tutor.??.utf-8 \
|
||||
! runtime/tutor/tutor.??.euc \
|
||||
! runtime/tutor/tutor.??.sjis \
|
||||
! runtime/tutor/tutor.??.iso9 \
|
||||
! runtime/tutor/tutor.??.big5 \
|
||||
! runtime/tutor/tutor.??.cp1250 \
|
||||
! runtime/tutor/tutor.??.cp1251 \
|
||||
! runtime/tutor/tutor.??.cp737 \
|
||||
! runtime/tutor/tutor.??_??.utf-8 \
|
||||
runtime/tutor/tutor.bar \
|
||||
! runtime/tutor/tutor.bar.utf-8 \
|
||||
runtime/spell/README.txt \
|
||||
runtime/spell/??/*.diff \
|
||||
runtime/spell/??/main.aap \
|
||||
*** ../vim-7.3.680/src/version.c 2012-10-03 21:33:37.000000000 +0200
|
||||
--- src/version.c 2012-10-03 21:48:04.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 681,
|
||||
/**/
|
||||
|
||||
--
|
||||
Zen Microsystems: we're the om in .commmmmmmmm
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
55
7.3.682
Normal file
55
7.3.682
Normal file
@ -0,0 +1,55 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.682
|
||||
Fcc: outbox
|
||||
From: Bram Moolenaar <Bram@moolenaar.net>
|
||||
Mime-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
------------
|
||||
|
||||
Patch 7.3.682 (after 7.3.677)
|
||||
Problem: Compiler complains about incompatible types.
|
||||
Solution: Remove type casts. (hint by Danek Duvall)
|
||||
Files: src/edit.c
|
||||
|
||||
|
||||
*** ../vim-7.3.681/src/edit.c 2012-08-08 18:01:00.000000000 +0200
|
||||
--- src/edit.c 2012-10-04 22:33:22.000000000 +0200
|
||||
***************
|
||||
*** 4194,4201 ****
|
||||
ins_buf->b_fname == NULL
|
||||
? buf_spname(ins_buf)
|
||||
: ins_buf->b_sfname == NULL
|
||||
! ? (char *)ins_buf->b_fname
|
||||
! : (char *)ins_buf->b_sfname);
|
||||
(void)msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R));
|
||||
}
|
||||
else if (*e_cpt == NUL)
|
||||
--- 4194,4201 ----
|
||||
ins_buf->b_fname == NULL
|
||||
? buf_spname(ins_buf)
|
||||
: ins_buf->b_sfname == NULL
|
||||
! ? ins_buf->b_fname
|
||||
! : ins_buf->b_sfname);
|
||||
(void)msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R));
|
||||
}
|
||||
else if (*e_cpt == NUL)
|
||||
*** ../vim-7.3.681/src/version.c 2012-10-03 21:48:38.000000000 +0200
|
||||
--- src/version.c 2012-10-04 22:36:15.000000000 +0200
|
||||
***************
|
||||
*** 721,722 ****
|
||||
--- 721,724 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 682,
|
||||
/**/
|
||||
|
||||
--
|
||||
Dogs must have a permit signed by the mayor in order to congregate in groups
|
||||
of three or more on private property.
|
||||
[real standing law in Oklahoma, United States of America]
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
@ -677,3 +677,39 @@ Individual patches for Vim 7.3:
|
||||
1925 7.3.644 dead code for BeOS GUI
|
||||
2910 7.3.645 no tests for patch 7.3.625 and 7.3.637
|
||||
2353 7.3.646 undo file unusable after reloading a buffer
|
||||
5213 7.3.647 "gnd" doesn't work correctly in Visual mode
|
||||
3831 7.3.648 crash when using a very long file name
|
||||
2256 7.3.649 with 'clipboard' set to "unnamed" small deletes go to "1
|
||||
1679 7.3.650 Completing ":help \{-" gives error and messes up command line
|
||||
3120 7.3.651 Completing ":help \{-" gives error message
|
||||
2304 7.3.652 workaround for Python crash isn't perfect
|
||||
7986 7.3.653 lacking XPM support for MingW, 32 and 64 objects mixed up
|
||||
3301 7.3.654 creating Vim dictionary from Python an empty key might be used
|
||||
88812 7.3.655 64 bit MingW xpm .a file is missing
|
||||
3106 7.3.656 internal error in :pyeval
|
||||
6680 7.3.657 Python bindings silently truncate string values containing NUL
|
||||
4244 7.3.658 NUL bytes truncate strings when converted from Python
|
||||
6242 7.3.659 recent Python changes are not tested
|
||||
1448 7.3.660 ":help !" jumps to help for ":!"
|
||||
5339 7.3.661 (after 7.3.652) SEGV in Python code
|
||||
3126 7.3.662 can't build Ruby interface with Ruby 1.9.3
|
||||
1498 7.3.663 end of color scheme name not clear in E185
|
||||
2171 7.3.664 buffer overflow in unescaping multi-byte characters
|
||||
2414 7.3.665 MSVC 11 is not supported
|
||||
3195 7.3.666 Win32.mak can't be found
|
||||
3213 7.3.667 unused variables in Perl interface
|
||||
2763 7.3.668 loading Perl dynamically still uses static library
|
||||
4757 7.3.669 when building with Cygwin loading Python dynamically fails
|
||||
2318 7.3.670 tiny memory leak when throwing exception in Python
|
||||
8213 7.3.671 more Python code can be shared between Python 2 and 3
|
||||
22436 7.3.672 not possible to lock/unlock lists in Python interface
|
||||
1967 7.3.673 "gN" while 'selection' is "exclusive" misses one character
|
||||
10873 7.3.674 can't compile with Lua/dyn on Cygwin
|
||||
1597 7.3.675 accessing uninitialized memory with a very long file name
|
||||
2721 7.3.676 Ruby compilation on Windows 32 bit doesn't work
|
||||
8428 7.3.677 buf_spname() is used inconsistently
|
||||
2887 7.3.678 Ruby .so name may not be correct
|
||||
11455 7.3.679 Ruby detection uses Config, newer Ruby versions use RbConfig
|
||||
2190 7.3.680 some files missing in the list of distributed files
|
||||
2014 7.3.681 list of distributed files picks up backup files
|
||||
1791 7.3.682 (after 7.3.677) compiler complains about incompatible types
|
||||
|
93
vim.spec
93
vim.spec
@ -18,7 +18,7 @@
|
||||
#used for pre-releases:
|
||||
%define beta %{nil}
|
||||
%define vimdir vim73%{?beta}
|
||||
%define patchlevel 646
|
||||
%define patchlevel 682
|
||||
|
||||
Summary: The VIM editor
|
||||
URL: http://www.vim.org/
|
||||
@ -702,6 +702,42 @@ Patch643: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.643
|
||||
Patch644: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.644
|
||||
Patch645: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.645
|
||||
Patch646: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.646
|
||||
Patch647: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.647
|
||||
Patch648: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.648
|
||||
Patch649: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.649
|
||||
Patch650: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.650
|
||||
Patch651: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.651
|
||||
Patch652: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.652
|
||||
Patch653: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.653
|
||||
Patch654: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.654
|
||||
Patch655: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.655
|
||||
Patch656: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.656
|
||||
Patch657: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.657
|
||||
Patch658: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.658
|
||||
Patch659: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.659
|
||||
Patch660: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.660
|
||||
Patch661: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.661
|
||||
Patch662: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.662
|
||||
Patch663: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.663
|
||||
Patch664: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.664
|
||||
Patch665: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.665
|
||||
Patch666: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.666
|
||||
Patch667: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.667
|
||||
Patch668: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.668
|
||||
Patch669: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.669
|
||||
Patch670: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.670
|
||||
Patch671: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.671
|
||||
Patch672: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.672
|
||||
Patch673: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.673
|
||||
Patch674: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.674
|
||||
Patch675: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.675
|
||||
Patch676: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.676
|
||||
Patch677: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.677
|
||||
Patch678: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.678
|
||||
Patch679: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.679
|
||||
Patch680: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.680
|
||||
Patch681: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.681
|
||||
Patch682: ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.682
|
||||
|
||||
Patch3000: vim-7.3-syntax.patch
|
||||
Patch3002: vim-7.1-nowarnings.patch
|
||||
@ -1494,6 +1530,42 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk
|
||||
%patch644 -p0
|
||||
%patch645 -p0
|
||||
%patch646 -p0
|
||||
%patch647 -p0
|
||||
%patch648 -p0
|
||||
%patch649 -p0
|
||||
%patch650 -p0
|
||||
%patch651 -p0
|
||||
%patch652 -p0
|
||||
%patch653 -p0
|
||||
%patch654 -p0
|
||||
%patch655 -p0
|
||||
%patch656 -p0
|
||||
%patch657 -p0
|
||||
%patch658 -p0
|
||||
%patch659 -p0
|
||||
%patch660 -p0
|
||||
%patch661 -p0
|
||||
%patch662 -p0
|
||||
%patch663 -p0
|
||||
%patch664 -p0
|
||||
%patch665 -p0
|
||||
%patch666 -p0
|
||||
%patch667 -p0
|
||||
%patch668 -p0
|
||||
%patch669 -p0
|
||||
%patch670 -p0
|
||||
%patch671 -p0
|
||||
%patch672 -p0
|
||||
%patch673 -p0
|
||||
%patch674 -p0
|
||||
%patch675 -p0
|
||||
%patch676 -p0
|
||||
%patch677 -p0
|
||||
%patch678 -p0
|
||||
%patch679 -p0
|
||||
%patch680 -p0
|
||||
%patch681 -p0
|
||||
%patch682 -p0
|
||||
|
||||
|
||||
# install spell files
|
||||
@ -1524,7 +1596,9 @@ mv -f Makefile.tmp Makefile
|
||||
export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2"
|
||||
export CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2"
|
||||
|
||||
%configure --with-features=huge --enable-pythoninterp --enable-perlinterp \
|
||||
%configure --with-features=huge \
|
||||
--enable-pythoninterp=dynamic \
|
||||
--enable-perlinterp \
|
||||
--disable-tclinterp --with-x=yes \
|
||||
--enable-xim --enable-multibyte \
|
||||
--with-tlib=ncurses \
|
||||
@ -1542,7 +1616,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_
|
||||
--disable-selinux \
|
||||
%endif
|
||||
%if "%{withruby}" == "1"
|
||||
--enable-rubyinterp \
|
||||
--enable-rubyinterp=dynamic \
|
||||
%else
|
||||
--disable-rubyinterp \
|
||||
%endif
|
||||
@ -1551,8 +1625,11 @@ make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags}
|
||||
cp vim gvim
|
||||
make clean
|
||||
|
||||
%configure --prefix=%{_prefix} --with-features=huge --enable-pythoninterp \
|
||||
--enable-perlinterp --disable-tclinterp --with-x=no \
|
||||
%configure --prefix=%{_prefix} --with-features=huge \
|
||||
--enable-pythoninterp=dynamic \
|
||||
--enable-perlinterp \
|
||||
--disable-tclinterp \
|
||||
--with-x=no \
|
||||
--enable-gui=no --exec-prefix=%{_prefix} --enable-multibyte \
|
||||
--enable-cscope --with-modified-by="<bugzilla@redhat.com>" \
|
||||
--with-tlib=ncurses \
|
||||
@ -1568,7 +1645,7 @@ make clean
|
||||
--disable-selinux \
|
||||
%endif
|
||||
%if "%{withruby}" == "1"
|
||||
--enable-rubyinterp \
|
||||
--enable-rubyinterp=dynamic \
|
||||
%else
|
||||
--disable-rubyinterp \
|
||||
%endif
|
||||
@ -1951,6 +2028,10 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_datadir}/icons/hicolor/*/apps/*
|
||||
|
||||
%changelog
|
||||
* Fri Oct 05 2012 Karsten Hopp <karsten@redhat.com> 7.3.682-1
|
||||
- patchlevel 682
|
||||
- use --enable-rubyinterp=dynamic and --enable-pythoninterp=dynamic
|
||||
|
||||
* Mon Sep 03 2012 Karsten Hopp <karsten@redhat.com> 7.3.646-1
|
||||
- patchlevel 646
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user