merge F18

This commit is contained in:
Karsten Hopp 2012-10-15 11:45:48 +02:00
commit 0770be7b60
38 changed files with 5122 additions and 6 deletions

178
7.3.647 Normal file
View 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, &regmatch) == 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, &regmatch) == 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(&regmatch, 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(&regmatch, 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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 ///

BIN
7.3.655 Normal file

Binary file not shown.

84
7.3.656 Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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 cant 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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 ///

View File

@ -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

View File

@ -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