vim-7.4
This commit is contained in:
parent
4351ab2a00
commit
80fa3aaffe
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@ vim-7.2-extra.tar.gz
|
||||
vim-7.2-lang.tar.gz
|
||||
vim-7.2.tar.bz2
|
||||
/vim-7.3.tar.bz2
|
||||
/vim-7.4.tar.bz2
|
||||
|
55
7.3.001
55
7.3.001
@ -1,55 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.001
|
||||
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.001
|
||||
Problem: When editing "src/main.c" and 'path' set to "./proto",
|
||||
":find e<C-D" shows ./proto/eval.pro instead of eval.pro.
|
||||
Solution: Check for path separator when comparing names. (Nazri Ramliy)
|
||||
Files: src/misc1.c
|
||||
|
||||
|
||||
*** ../vim-7.3.000/src/misc1.c 2010-08-15 21:57:27.000000000 +0200
|
||||
--- src/misc1.c 2010-08-16 20:43:25.000000000 +0200
|
||||
***************
|
||||
*** 9317,9323 ****
|
||||
continue; /* it's different when it's shorter */
|
||||
|
||||
rival = other_paths[j] + other_path_len - candidate_len;
|
||||
! if (fnamecmp(maybe_unique, rival) == 0)
|
||||
return FALSE; /* match */
|
||||
}
|
||||
|
||||
--- 9317,9324 ----
|
||||
continue; /* it's different when it's shorter */
|
||||
|
||||
rival = other_paths[j] + other_path_len - candidate_len;
|
||||
! if (fnamecmp(maybe_unique, rival) == 0
|
||||
! && (rival == other_paths[j] || vim_ispathsep(*(rival - 1))))
|
||||
return FALSE; /* match */
|
||||
}
|
||||
|
||||
*** ../vim-7.3.000/src/version.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/version.c 2010-08-16 20:53:09.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 1,
|
||||
/**/
|
||||
|
||||
|
||||
--
|
||||
From "know your smileys":
|
||||
(:-# Said something he shouldn't have
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
55
7.3.002
55
7.3.002
@ -1,55 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.002
|
||||
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.002
|
||||
Problem: ":find" completion doesn't work when halfway an environment
|
||||
variable. (Dominique Pelle)
|
||||
Solution: Only use in-path completion when expanding file names. (Nazri
|
||||
Ramliy)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
|
||||
*** ../vim-7.3.001/src/ex_docmd.c 2010-08-15 21:57:27.000000000 +0200
|
||||
--- src/ex_docmd.c 2010-08-16 20:51:22.000000000 +0200
|
||||
***************
|
||||
*** 3465,3471 ****
|
||||
case CMD_find:
|
||||
case CMD_sfind:
|
||||
case CMD_tabfind:
|
||||
! xp->xp_context = EXPAND_FILES_IN_PATH;
|
||||
break;
|
||||
case CMD_cd:
|
||||
case CMD_chdir:
|
||||
--- 3465,3472 ----
|
||||
case CMD_find:
|
||||
case CMD_sfind:
|
||||
case CMD_tabfind:
|
||||
! if (xp->xp_context == EXPAND_FILES)
|
||||
! xp->xp_context = EXPAND_FILES_IN_PATH;
|
||||
break;
|
||||
case CMD_cd:
|
||||
case CMD_chdir:
|
||||
*** ../vim-7.3.001/src/version.c 2010-08-16 21:46:12.000000000 +0200
|
||||
--- src/version.c 2010-08-16 22:33:13.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 2,
|
||||
/**/
|
||||
|
||||
--
|
||||
Warning label on a superhero Halloween costume:
|
||||
"Caution: Cape does not enable user to fly."
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
45
7.3.003
45
7.3.003
@ -1,45 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.003
|
||||
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.1.003
|
||||
Problem: Crash with specific BufWritePost autocmd. (Peter Odding)
|
||||
Solution: Don't free the quickfix title twice. (Lech Lorens)
|
||||
Files: src/quickfix.c
|
||||
|
||||
|
||||
*** ../vim-7.3.002/src/quickfix.c 2010-08-15 21:57:26.000000000 +0200
|
||||
--- src/quickfix.c 2010-08-16 21:15:44.000000000 +0200
|
||||
***************
|
||||
*** 2125,2130 ****
|
||||
--- 2125,2131 ----
|
||||
--qi->qf_lists[idx].qf_count;
|
||||
}
|
||||
vim_free(qi->qf_lists[idx].qf_title);
|
||||
+ qi->qf_lists[idx].qf_title = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
*** ../vim-7.3.002/src/version.c 2010-08-16 22:33:55.000000000 +0200
|
||||
--- src/version.c 2010-08-17 20:23:05.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 3,
|
||||
/**/
|
||||
|
||||
--
|
||||
From "know your smileys":
|
||||
:-X My lips are sealed
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
44
7.3.004
44
7.3.004
@ -1,44 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.004
|
||||
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.004
|
||||
Problem: Crash when using very long regexp. (Peter Odding)
|
||||
Solution: Reset reg_toolong. (Carlo Teubner)
|
||||
Files: src/regexp.c
|
||||
|
||||
|
||||
*** ../vim-7.3.003/src/regexp.c 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/regexp.c 2010-09-14 10:51:22.000000000 +0200
|
||||
***************
|
||||
*** 3538,3543 ****
|
||||
--- 3538,3544 ----
|
||||
|
||||
regline = line;
|
||||
reglnum = 0;
|
||||
+ reg_toolong = FALSE;
|
||||
|
||||
/* Simplest case: Anchored match need be tried only once. */
|
||||
if (prog->reganch)
|
||||
*** ../vim-7.3.003/src/version.c 2010-08-17 20:23:18.000000000 +0200
|
||||
--- src/version.c 2010-09-14 10:52:09.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 4,
|
||||
/**/
|
||||
|
||||
--
|
||||
I have a watch cat! Just break in and she'll watch.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
96
7.3.005
96
7.3.005
@ -1,96 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.005
|
||||
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.005
|
||||
Problem: Crash when using undotree(). (Christian Brabandt)
|
||||
Solution: Increase the list reference count. Add a test for undotree()
|
||||
(Lech Lorens)
|
||||
Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in
|
||||
|
||||
|
||||
*** ../vim-7.3.004/src/eval.c 2010-08-15 21:57:26.000000000 +0200
|
||||
--- src/eval.c 2010-09-14 12:43:04.000000000 +0200
|
||||
***************
|
||||
*** 7075,7081 ****
|
||||
}
|
||||
|
||||
/*
|
||||
! * Add a list entry to dictionary "d".
|
||||
* Returns FAIL when out of memory and when key already exists.
|
||||
*/
|
||||
int
|
||||
--- 7075,7081 ----
|
||||
}
|
||||
|
||||
/*
|
||||
! * Add a list entry to dictionary "d".
|
||||
* Returns FAIL when out of memory and when key already exists.
|
||||
*/
|
||||
int
|
||||
***************
|
||||
*** 7097,7102 ****
|
||||
--- 7097,7103 ----
|
||||
dictitem_free(item);
|
||||
return FAIL;
|
||||
}
|
||||
+ ++list->lv_refcount;
|
||||
return OK;
|
||||
}
|
||||
|
||||
*** ../vim-7.3.004/src/testdir/Makefile 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/Makefile 2010-09-14 12:38:56.000000000 +0200
|
||||
***************
|
||||
*** 44,50 ****
|
||||
$(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
|
||||
|
||||
clean:
|
||||
! -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.pid* viminfo
|
||||
|
||||
test1.out: test1.in
|
||||
-rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo
|
||||
--- 44,50 ----
|
||||
$(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
|
||||
|
||||
clean:
|
||||
! -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.* viminfo
|
||||
|
||||
test1.out: test1.in
|
||||
-rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo
|
||||
*** ../vim-7.3.004/src/testdir/test61.in 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test61.in 2010-09-14 12:38:56.000000000 +0200
|
||||
***************
|
||||
*** 4,9 ****
|
||||
--- 4,13 ----
|
||||
Also tests :earlier and :later.
|
||||
|
||||
STARTTEST
|
||||
+ :echo undotree().entries
|
||||
+ ENDTEST
|
||||
+
|
||||
+ STARTTEST
|
||||
:" Delete three characters and undo
|
||||
Gx:set ul=100
|
||||
x:set ul=100
|
||||
*** ../vim-7.3.004/src/version.c 2010-09-14 10:55:24.000000000 +0200
|
||||
--- src/version.c 2010-09-14 12:39:59.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 5,
|
||||
/**/
|
||||
|
||||
--
|
||||
I'm writing a book. I've got the page numbers done.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
117
7.3.006
117
7.3.006
@ -1,117 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.006
|
||||
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.006
|
||||
Problem: Can't build some multi-byte code with C89.
|
||||
Solution: Move code to after declarations. (Joachim Schmitz)
|
||||
Files: src/mbyte.c, src/spell.c
|
||||
|
||||
|
||||
*** ../vim-7.3.005/src/mbyte.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/mbyte.c 2010-09-18 13:32:40.000000000 +0200
|
||||
***************
|
||||
*** 5167,5182 ****
|
||||
void
|
||||
xim_set_preedit()
|
||||
{
|
||||
- if (xic == NULL)
|
||||
- return;
|
||||
-
|
||||
- xim_set_focus(TRUE);
|
||||
-
|
||||
XVaNestedList attr_list;
|
||||
XRectangle spot_area;
|
||||
XPoint over_spot;
|
||||
int line_space;
|
||||
|
||||
if (!xim_has_focus)
|
||||
{
|
||||
/* hide XIM cursor */
|
||||
--- 5167,5182 ----
|
||||
void
|
||||
xim_set_preedit()
|
||||
{
|
||||
XVaNestedList attr_list;
|
||||
XRectangle spot_area;
|
||||
XPoint over_spot;
|
||||
int line_space;
|
||||
|
||||
+ if (xic == NULL)
|
||||
+ return;
|
||||
+
|
||||
+ xim_set_focus(TRUE);
|
||||
+
|
||||
if (!xim_has_focus)
|
||||
{
|
||||
/* hide XIM cursor */
|
||||
***************
|
||||
*** 5554,5565 ****
|
||||
void
|
||||
xim_set_status_area()
|
||||
{
|
||||
- if (xic == NULL)
|
||||
- return;
|
||||
-
|
||||
XVaNestedList preedit_list = 0, status_list = 0, list = 0;
|
||||
XRectangle pre_area, status_area;
|
||||
|
||||
if (input_style & XIMStatusArea)
|
||||
{
|
||||
if (input_style & XIMPreeditArea)
|
||||
--- 5554,5565 ----
|
||||
void
|
||||
xim_set_status_area()
|
||||
{
|
||||
XVaNestedList preedit_list = 0, status_list = 0, list = 0;
|
||||
XRectangle pre_area, status_area;
|
||||
|
||||
+ if (xic == NULL)
|
||||
+ return;
|
||||
+
|
||||
if (input_style & XIMStatusArea)
|
||||
{
|
||||
if (input_style & XIMPreeditArea)
|
||||
*** ../vim-7.3.005/src/spell.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/spell.c 2010-09-18 13:34:11.000000000 +0200
|
||||
***************
|
||||
*** 4679,4685 ****
|
||||
buf_T *buf;
|
||||
char_u fname[MAXPATHL];
|
||||
|
||||
! /* Go through all buffers and handle 'spelllang'. */ //<VN>
|
||||
for (buf = firstbuf; buf != NULL; buf = buf->b_next)
|
||||
ga_clear(&buf->b_s.b_langp);
|
||||
|
||||
--- 4679,4685 ----
|
||||
buf_T *buf;
|
||||
char_u fname[MAXPATHL];
|
||||
|
||||
! /* Go through all buffers and handle 'spelllang'. <VN> */
|
||||
for (buf = firstbuf; buf != NULL; buf = buf->b_next)
|
||||
ga_clear(&buf->b_s.b_langp);
|
||||
|
||||
*** ../vim-7.3.005/src/version.c 2010-09-14 12:47:30.000000000 +0200
|
||||
--- src/version.c 2010-09-18 13:34:23.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 6,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
163. You go outside for the fresh air (at -30 degrees) but open the
|
||||
window first to hear new mail arrive.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
187
7.3.007
187
7.3.007
@ -1,187 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.007
|
||||
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.007
|
||||
Problem: Python code defines global "buffer". Re-implements a grow-array.
|
||||
Solution: Use a grow-array instead of coding the same functionality. Handle
|
||||
out-of-memory situation properly.
|
||||
Files: src/if_py_both.h
|
||||
|
||||
|
||||
*** ../vim-7.3.006/src/if_py_both.h 2010-08-15 21:57:27.000000000 +0200
|
||||
--- src/if_py_both.h 2010-09-21 16:00:54.000000000 +0200
|
||||
***************
|
||||
*** 34,39 ****
|
||||
--- 34,40 ----
|
||||
static PyObject *OutputWrite(PyObject *, PyObject *);
|
||||
static PyObject *OutputWritelines(PyObject *, PyObject *);
|
||||
|
||||
+ /* Function to write a line, points to either msg() or emsg(). */
|
||||
typedef void (*writefn)(char_u *);
|
||||
static void writer(writefn fn, char_u *str, PyInt n);
|
||||
|
||||
***************
|
||||
*** 122,173 ****
|
||||
return Py_None;
|
||||
}
|
||||
|
||||
! static char_u *buffer = NULL;
|
||||
! static PyInt buffer_len = 0;
|
||||
! static PyInt buffer_size = 0;
|
||||
!
|
||||
static writefn old_fn = NULL;
|
||||
|
||||
static void
|
||||
- buffer_ensure(PyInt n)
|
||||
- {
|
||||
- PyInt new_size;
|
||||
- char_u *new_buffer;
|
||||
-
|
||||
- if (n < buffer_size)
|
||||
- return;
|
||||
-
|
||||
- new_size = buffer_size;
|
||||
- while (new_size < n)
|
||||
- new_size += 80;
|
||||
-
|
||||
- if (new_size != buffer_size)
|
||||
- {
|
||||
- new_buffer = alloc((unsigned)new_size);
|
||||
- if (new_buffer == NULL)
|
||||
- return;
|
||||
-
|
||||
- if (buffer)
|
||||
- {
|
||||
- memcpy(new_buffer, buffer, buffer_len);
|
||||
- vim_free(buffer);
|
||||
- }
|
||||
-
|
||||
- buffer = new_buffer;
|
||||
- buffer_size = new_size;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- static void
|
||||
PythonIO_Flush(void)
|
||||
{
|
||||
! if (old_fn && buffer_len)
|
||||
{
|
||||
! buffer[buffer_len] = 0;
|
||||
! old_fn(buffer);
|
||||
}
|
||||
!
|
||||
! buffer_len = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
--- 123,141 ----
|
||||
return Py_None;
|
||||
}
|
||||
|
||||
! /* Buffer IO, we write one whole line at a time. */
|
||||
! static garray_T io_ga = {0, 0, 1, 80, NULL};
|
||||
static writefn old_fn = NULL;
|
||||
|
||||
static void
|
||||
PythonIO_Flush(void)
|
||||
{
|
||||
! if (old_fn != NULL && io_ga.ga_len > 0)
|
||||
{
|
||||
! ((char_u *)io_ga.ga_data)[io_ga.ga_len] = NUL;
|
||||
! old_fn((char_u *)io_ga.ga_data);
|
||||
}
|
||||
! io_ga.ga_len = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
***************
|
||||
*** 175,204 ****
|
||||
{
|
||||
char_u *ptr;
|
||||
|
||||
! if (fn != old_fn && old_fn != NULL)
|
||||
PythonIO_Flush();
|
||||
-
|
||||
old_fn = fn;
|
||||
|
||||
while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL)
|
||||
{
|
||||
PyInt len = ptr - str;
|
||||
|
||||
! buffer_ensure(buffer_len + len + 1);
|
||||
|
||||
! memcpy(buffer + buffer_len, str, len);
|
||||
! buffer_len += len;
|
||||
! buffer[buffer_len] = 0;
|
||||
! fn(buffer);
|
||||
str = ptr + 1;
|
||||
n -= len + 1;
|
||||
! buffer_len = 0;
|
||||
}
|
||||
|
||||
! /* Put the remaining text into the buffer for later printing */
|
||||
! buffer_ensure(buffer_len + n + 1);
|
||||
! memcpy(buffer + buffer_len, str, n);
|
||||
! buffer_len += n;
|
||||
}
|
||||
|
||||
/***************/
|
||||
--- 143,176 ----
|
||||
{
|
||||
char_u *ptr;
|
||||
|
||||
! /* Flush when switching output function. */
|
||||
! if (fn != old_fn)
|
||||
PythonIO_Flush();
|
||||
old_fn = fn;
|
||||
|
||||
+ /* Write each NL separated line. Text after the last NL is kept for
|
||||
+ * writing later. */
|
||||
while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL)
|
||||
{
|
||||
PyInt len = ptr - str;
|
||||
|
||||
! if (ga_grow(&io_ga, len + 1) == FAIL)
|
||||
! break;
|
||||
|
||||
! mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len);
|
||||
! ((char *)io_ga.ga_data)[io_ga.ga_len + len] = NUL;
|
||||
! fn((char_u *)io_ga.ga_data);
|
||||
str = ptr + 1;
|
||||
n -= len + 1;
|
||||
! io_ga.ga_len = 0;
|
||||
}
|
||||
|
||||
! /* Put the remaining text into io_ga for later printing. */
|
||||
! if (n > 0 && ga_grow(&io_ga, n + 1) == OK)
|
||||
! {
|
||||
! mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n);
|
||||
! io_ga.ga_len += n;
|
||||
! }
|
||||
}
|
||||
|
||||
/***************/
|
||||
*** ../vim-7.3.006/src/version.c 2010-09-18 13:36:41.000000000 +0200
|
||||
--- src/version.c 2010-09-21 16:49:13.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 7,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
180. You maintain more than six e-mail addresses.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
439
7.3.008
439
7.3.008
@ -1,439 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.008
|
||||
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.008
|
||||
Problem: 'cursorbind' is kept in places where 'scrollbind' is reset.
|
||||
Solution: Reset 'cursorbind'.
|
||||
Files: src/buffer.c, src/diff.c, src/ex_cmds.c, src/ex_cmds2.c,
|
||||
src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, src/macros.h,
|
||||
src/quickfix.c, src/search.c, src/tag.c, src/window.c
|
||||
|
||||
|
||||
*** ../vim-7.3.007/src/buffer.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/buffer.c 2010-09-21 16:54:19.000000000 +0200
|
||||
***************
|
||||
*** 1288,1296 ****
|
||||
/* Go to the other buffer. */
|
||||
set_curbuf(buf, action);
|
||||
|
||||
! #if defined(FEAT_LISTCMDS) && defined(FEAT_SCROLLBIND)
|
||||
if (action == DOBUF_SPLIT)
|
||||
! curwin->w_p_scb = FALSE; /* reset 'scrollbind' */
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
|
||||
--- 1288,1299 ----
|
||||
/* Go to the other buffer. */
|
||||
set_curbuf(buf, action);
|
||||
|
||||
! #if defined(FEAT_LISTCMDS) \
|
||||
! && (defined(FEAT_SCROLLBIND) || defined(FEAT_CURSORBIND))
|
||||
if (action == DOBUF_SPLIT)
|
||||
! {
|
||||
! RESET_BINDING(curwin); /* reset 'scrollbind' and 'cursorbind' */
|
||||
! }
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
|
||||
***************
|
||||
*** 1917,1925 ****
|
||||
tabpage_new();
|
||||
else if (win_split(0, 0) == FAIL) /* Open in a new window */
|
||||
return FAIL;
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! # endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
--- 1920,1926 ----
|
||||
tabpage_new();
|
||||
else if (win_split(0, 0) == FAIL) /* Open in a new window */
|
||||
return FAIL;
|
||||
! RESET_BINDING(curwin);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*** ../vim-7.3.007/src/diff.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/diff.c 2010-09-21 16:14:07.000000000 +0200
|
||||
***************
|
||||
*** 1127,1137 ****
|
||||
# endif
|
||||
|
||||
wp->w_p_diff = TRUE;
|
||||
#ifdef FEAT_CURSORBIND
|
||||
- /* Use cursorbind if it's available */
|
||||
wp->w_p_crb = TRUE;
|
||||
#endif
|
||||
- wp->w_p_scb = TRUE;
|
||||
wp->w_p_wrap = FALSE;
|
||||
# ifdef FEAT_FOLDING
|
||||
curwin = wp;
|
||||
--- 1127,1139 ----
|
||||
# endif
|
||||
|
||||
wp->w_p_diff = TRUE;
|
||||
+ /* Use 'scrollbind' and 'cursorbind' when available */
|
||||
+ #ifdef FEAT_SCROLLBIND
|
||||
+ wp->w_p_scb = TRUE;
|
||||
+ #endif
|
||||
#ifdef FEAT_CURSORBIND
|
||||
wp->w_p_crb = TRUE;
|
||||
#endif
|
||||
wp->w_p_wrap = FALSE;
|
||||
# ifdef FEAT_FOLDING
|
||||
curwin = wp;
|
||||
***************
|
||||
*** 1177,1186 ****
|
||||
{
|
||||
/* Set 'diff', 'scrollbind' off and 'wrap' on. */
|
||||
wp->w_p_diff = FALSE;
|
||||
! #ifdef FEAT_CURSORBIND
|
||||
! wp->w_p_crb = FALSE;
|
||||
! #endif
|
||||
! wp->w_p_scb = FALSE;
|
||||
wp->w_p_wrap = TRUE;
|
||||
#ifdef FEAT_FOLDING
|
||||
curwin = wp;
|
||||
--- 1179,1185 ----
|
||||
{
|
||||
/* Set 'diff', 'scrollbind' off and 'wrap' on. */
|
||||
wp->w_p_diff = FALSE;
|
||||
! RESET_BINDING(wp);
|
||||
wp->w_p_wrap = TRUE;
|
||||
#ifdef FEAT_FOLDING
|
||||
curwin = wp;
|
||||
*** ../vim-7.3.007/src/ex_cmds.c 2010-08-15 21:57:26.000000000 +0200
|
||||
--- src/ex_cmds.c 2010-09-21 16:15:07.000000000 +0200
|
||||
***************
|
||||
*** 3498,3506 ****
|
||||
curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */
|
||||
curwin->w_p_nu = 0; /* no line numbers */
|
||||
curwin->w_p_rnu = 0; /* no relative line numbers */
|
||||
! #ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE; /* no scroll binding */
|
||||
! #endif
|
||||
#ifdef FEAT_ARABIC
|
||||
curwin->w_p_arab = FALSE; /* no arabic mode */
|
||||
#endif
|
||||
--- 3498,3504 ----
|
||||
curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */
|
||||
curwin->w_p_nu = 0; /* no line numbers */
|
||||
curwin->w_p_rnu = 0; /* no relative line numbers */
|
||||
! RESET_BINDING(curwin); /* no scroll or cursor binding */
|
||||
#ifdef FEAT_ARABIC
|
||||
curwin->w_p_arab = FALSE; /* no arabic mode */
|
||||
#endif
|
||||
***************
|
||||
*** 5471,5479 ****
|
||||
return FALSE;
|
||||
curwin->w_p_pvw = TRUE;
|
||||
curwin->w_p_wfh = TRUE;
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE; /* don't take over 'scrollbind' */
|
||||
! # endif
|
||||
# ifdef FEAT_DIFF
|
||||
curwin->w_p_diff = FALSE; /* no 'diff' */
|
||||
# endif
|
||||
--- 5469,5476 ----
|
||||
return FALSE;
|
||||
curwin->w_p_pvw = TRUE;
|
||||
curwin->w_p_wfh = TRUE;
|
||||
! RESET_BINDING(curwin); /* don't take over 'scrollbind'
|
||||
! and 'cursorbind' */
|
||||
# ifdef FEAT_DIFF
|
||||
curwin->w_p_diff = FALSE; /* no 'diff' */
|
||||
# endif
|
||||
*** ../vim-7.3.007/src/ex_cmds2.c 2010-08-15 21:57:31.000000000 +0200
|
||||
--- src/ex_cmds2.c 2010-09-21 16:15:17.000000000 +0200
|
||||
***************
|
||||
*** 2165,2173 ****
|
||||
{
|
||||
if (win_split(0, 0) == FAIL)
|
||||
return;
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! # endif
|
||||
}
|
||||
else
|
||||
#endif
|
||||
--- 2165,2171 ----
|
||||
{
|
||||
if (win_split(0, 0) == FAIL)
|
||||
return;
|
||||
! RESET_BINDING(curwin);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
*** ../vim-7.3.007/src/ex_docmd.c 2010-08-16 22:33:55.000000000 +0200
|
||||
--- src/ex_docmd.c 2010-09-21 16:15:39.000000000 +0200
|
||||
***************
|
||||
*** 6898,6906 ****
|
||||
# ifdef FEAT_WINDOWS
|
||||
if (win_split(0, 0) == FAIL)
|
||||
return;
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! # endif
|
||||
|
||||
/* When splitting the window, create a new alist. Otherwise the
|
||||
* existing one is overwritten. */
|
||||
--- 6898,6904 ----
|
||||
# ifdef FEAT_WINDOWS
|
||||
if (win_split(0, 0) == FAIL)
|
||||
return;
|
||||
! RESET_BINDING(curwin);
|
||||
|
||||
/* When splitting the window, create a new alist. Otherwise the
|
||||
* existing one is overwritten. */
|
||||
***************
|
||||
*** 7300,7306 ****
|
||||
|| cmdmod.browse
|
||||
# endif
|
||||
)
|
||||
! curwin->w_p_scb = FALSE;
|
||||
else
|
||||
do_check_scrollbind(FALSE);
|
||||
# endif
|
||||
--- 7298,7306 ----
|
||||
|| cmdmod.browse
|
||||
# endif
|
||||
)
|
||||
! {
|
||||
! RESET_BINDING(curwin);
|
||||
! }
|
||||
else
|
||||
do_check_scrollbind(FALSE);
|
||||
# endif
|
||||
*** ../vim-7.3.007/src/ex_getln.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/ex_getln.c 2010-09-21 16:15:55.000000000 +0200
|
||||
***************
|
||||
*** 6147,6155 ****
|
||||
curwin->w_p_rl = cmdmsg_rl;
|
||||
cmdmsg_rl = FALSE;
|
||||
# endif
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! # endif
|
||||
|
||||
# ifdef FEAT_AUTOCMD
|
||||
/* Do execute autocommands for setting the filetype (load syntax). */
|
||||
--- 6147,6153 ----
|
||||
curwin->w_p_rl = cmdmsg_rl;
|
||||
cmdmsg_rl = FALSE;
|
||||
# endif
|
||||
! RESET_BINDING(curwin);
|
||||
|
||||
# ifdef FEAT_AUTOCMD
|
||||
/* Do execute autocommands for setting the filetype (load syntax). */
|
||||
*** ../vim-7.3.007/src/if_cscope.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/if_cscope.c 2010-09-21 16:16:26.000000000 +0200
|
||||
***************
|
||||
*** 1274,1282 ****
|
||||
{
|
||||
win_split(postponed_split > 0 ? postponed_split : 0,
|
||||
postponed_split_flags);
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! # endif
|
||||
postponed_split = 0;
|
||||
}
|
||||
# endif
|
||||
--- 1274,1280 ----
|
||||
{
|
||||
win_split(postponed_split > 0 ? postponed_split : 0,
|
||||
postponed_split_flags);
|
||||
! RESET_BINDING(curwin);
|
||||
postponed_split = 0;
|
||||
}
|
||||
# endif
|
||||
*** ../vim-7.3.007/src/macros.h 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/macros.h 2010-09-21 16:13:10.000000000 +0200
|
||||
***************
|
||||
*** 285,287 ****
|
||||
--- 285,301 ----
|
||||
#else
|
||||
# define DO_AUTOCHDIR
|
||||
#endif
|
||||
+
|
||||
+ #if defined(FEAT_SCROLLBIND) && defined(FEAT_CURSORBIND)
|
||||
+ # define RESET_BINDING(wp) (wp)->w_p_scb = FALSE; (wp)->w_p_crb = FALSE
|
||||
+ #else
|
||||
+ # if defined(FEAT_SCROLLBIND)
|
||||
+ # define RESET_BINDING(wp) (wp)->w_p_scb = FALSE
|
||||
+ # else
|
||||
+ # if defined(FEAT_CURSORBIND)
|
||||
+ # define RESET_BINDING(wp) (wp)->w_p_crb = FALSE
|
||||
+ # else
|
||||
+ # define RESET_BINDING(wp)
|
||||
+ # endif
|
||||
+ # endif
|
||||
+ #endif
|
||||
*** ../vim-7.3.007/src/quickfix.c 2010-08-17 20:23:18.000000000 +0200
|
||||
--- src/quickfix.c 2010-09-21 16:17:17.000000000 +0200
|
||||
***************
|
||||
*** 1656,1664 ****
|
||||
opened_window = TRUE; /* close it when fail */
|
||||
p_swb = empty_option; /* don't split again */
|
||||
swb_flags = 0;
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! # endif
|
||||
if (ll_ref != NULL)
|
||||
{
|
||||
/* The new window should use the location list from the
|
||||
--- 1656,1662 ----
|
||||
opened_window = TRUE; /* close it when fail */
|
||||
p_swb = empty_option; /* don't split again */
|
||||
swb_flags = 0;
|
||||
! RESET_BINDING(curwin);
|
||||
if (ll_ref != NULL)
|
||||
{
|
||||
/* The new window should use the location list from the
|
||||
***************
|
||||
*** 2334,2342 ****
|
||||
win_goto(lastwin);
|
||||
if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL)
|
||||
return; /* not enough room for window */
|
||||
! #ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! #endif
|
||||
|
||||
if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow)
|
||||
{
|
||||
--- 2332,2338 ----
|
||||
win_goto(lastwin);
|
||||
if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL)
|
||||
return; /* not enough room for window */
|
||||
! RESET_BINDING(curwin);
|
||||
|
||||
if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow)
|
||||
{
|
||||
*** ../vim-7.3.007/src/search.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/search.c 2010-09-21 16:17:28.000000000 +0200
|
||||
***************
|
||||
*** 5075,5083 ****
|
||||
if (win_split(0, 0) == FAIL)
|
||||
#endif
|
||||
break;
|
||||
! #ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! #endif
|
||||
}
|
||||
if (depth == -1)
|
||||
{
|
||||
--- 5075,5081 ----
|
||||
if (win_split(0, 0) == FAIL)
|
||||
#endif
|
||||
break;
|
||||
! RESET_BINDING(curwin);
|
||||
}
|
||||
if (depth == -1)
|
||||
{
|
||||
*** ../vim-7.3.007/src/tag.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/tag.c 2010-09-21 16:17:51.000000000 +0200
|
||||
***************
|
||||
*** 3143,3151 ****
|
||||
{
|
||||
win_split(postponed_split > 0 ? postponed_split : 0,
|
||||
postponed_split_flags);
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! # endif
|
||||
}
|
||||
#endif
|
||||
|
||||
--- 3143,3149 ----
|
||||
{
|
||||
win_split(postponed_split > 0 ? postponed_split : 0,
|
||||
postponed_split_flags);
|
||||
! RESET_BINDING(curwin);
|
||||
}
|
||||
#endif
|
||||
|
||||
*** ../vim-7.3.007/src/window.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/window.c 2010-09-21 16:18:44.000000000 +0200
|
||||
***************
|
||||
*** 525,533 ****
|
||||
setpcmark();
|
||||
if (win_split(0, 0) == OK)
|
||||
{
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! # endif
|
||||
(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
|
||||
ECMD_HIDE, NULL);
|
||||
if (nchar == 'F' && lnum >= 0)
|
||||
--- 525,531 ----
|
||||
setpcmark();
|
||||
if (win_split(0, 0) == OK)
|
||||
{
|
||||
! RESET_BINDING(curwin);
|
||||
(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
|
||||
ECMD_HIDE, NULL);
|
||||
if (nchar == 'F' && lnum >= 0)
|
||||
***************
|
||||
*** 3277,3285 ****
|
||||
if (aucmd_win != NULL)
|
||||
{
|
||||
win_init_some(aucmd_win, curwin);
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! aucmd_win->w_p_scb = FALSE;
|
||||
! # endif
|
||||
new_frame(aucmd_win);
|
||||
}
|
||||
}
|
||||
--- 3275,3281 ----
|
||||
if (aucmd_win != NULL)
|
||||
{
|
||||
win_init_some(aucmd_win, curwin);
|
||||
! RESET_BINDING(aucmd_win);
|
||||
new_frame(aucmd_win);
|
||||
}
|
||||
}
|
||||
***************
|
||||
*** 3320,3329 ****
|
||||
/* First window in new tab page, initialize it from "oldwin". */
|
||||
win_init(curwin, oldwin, 0);
|
||||
|
||||
! # ifdef FEAT_SCROLLBIND
|
||||
! /* We don't want scroll-binding in the first window. */
|
||||
! curwin->w_p_scb = FALSE;
|
||||
! # endif
|
||||
}
|
||||
#endif
|
||||
|
||||
--- 3316,3323 ----
|
||||
/* First window in new tab page, initialize it from "oldwin". */
|
||||
win_init(curwin, oldwin, 0);
|
||||
|
||||
! /* We don't want cursor- and scroll-binding in the first window. */
|
||||
! RESET_BINDING(curwin);
|
||||
}
|
||||
#endif
|
||||
|
||||
*** ../vim-7.3.007/src/version.c 2010-09-21 16:49:29.000000000 +0200
|
||||
--- src/version.c 2010-09-21 16:53:16.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 8,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
181. You make up words that go with the "happy tune" your modem makes
|
||||
while dialing your ISP.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
99
7.3.009
99
7.3.009
@ -1,99 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.009
|
||||
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.009
|
||||
Problem: Win32: Crash on Windows when using a bad argument for strftime().
|
||||
(Christian Brabandt)
|
||||
Solution: Use the bad_param_handler(). (Mike Williams)
|
||||
Files: src/os_win32.c
|
||||
|
||||
|
||||
*** ../vim-7.3.008/src/os_win32.c 2010-08-15 21:57:27.000000000 +0200
|
||||
--- src/os_win32.c 2010-09-21 17:02:54.000000000 +0200
|
||||
***************
|
||||
*** 1615,1620 ****
|
||||
--- 1615,1649 ----
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+ #if ((defined(__MINGW32__) || defined (__CYGWIN32__)) && \
|
||||
+ __MSVCRT_VERSION__ >= 0x800) || (defined(_MSC_VER) && _MSC_VER >= 1400)
|
||||
+ /*
|
||||
+ * Bad parameter handler.
|
||||
+ *
|
||||
+ * Certain MS CRT functions will intentionally crash when passed invalid
|
||||
+ * parameters to highlight possible security holes. Setting this function as
|
||||
+ * the bad parameter handler will prevent the crash.
|
||||
+ *
|
||||
+ * In debug builds the parameters contain CRT information that might help track
|
||||
+ * down the source of a problem, but in non-debug builds the arguments are all
|
||||
+ * NULL/0. Debug builds will also produce assert dialogs from the CRT, it is
|
||||
+ * worth allowing these to make debugging of issues easier.
|
||||
+ */
|
||||
+ static void
|
||||
+ bad_param_handler(const wchar_t *expression,
|
||||
+ const wchar_t *function,
|
||||
+ const wchar_t *file,
|
||||
+ unsigned int line,
|
||||
+ uintptr_t pReserved)
|
||||
+ {
|
||||
+ }
|
||||
+
|
||||
+ # define SET_INVALID_PARAM_HANDLER \
|
||||
+ ((void)_set_invalid_parameter_handler(bad_param_handler))
|
||||
+ #else
|
||||
+ # define SET_INVALID_PARAM_HANDLER
|
||||
+ #endif
|
||||
+
|
||||
#ifdef FEAT_GUI_W32
|
||||
|
||||
/*
|
||||
***************
|
||||
*** 1627,1632 ****
|
||||
--- 1656,1664 ----
|
||||
extern int _fmode;
|
||||
#endif
|
||||
|
||||
+ /* Silently handle invalid parameters to CRT functions */
|
||||
+ SET_INVALID_PARAM_HANDLER;
|
||||
+
|
||||
/* Let critical errors result in a failure, not in a dialog box. Required
|
||||
* for the timestamp test to work on removed floppies. */
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||
***************
|
||||
*** 2103,2108 ****
|
||||
--- 2135,2143 ----
|
||||
extern int _fmode;
|
||||
#endif
|
||||
|
||||
+ /* Silently handle invalid parameters to CRT functions */
|
||||
+ SET_INVALID_PARAM_HANDLER;
|
||||
+
|
||||
/* Let critical errors result in a failure, not in a dialog box. Required
|
||||
* for the timestamp test to work on removed floppies. */
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||
*** ../vim-7.3.008/src/version.c 2010-09-21 16:56:29.000000000 +0200
|
||||
--- src/version.c 2010-09-21 17:27:36.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 9,
|
||||
/**/
|
||||
|
||||
--
|
||||
Wizards had always known that the act of observation changed the thing that
|
||||
was observed, and sometimes forgot that it also changed the observer too.
|
||||
Terry Pratchett - Interesting times
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
167
7.3.010
167
7.3.010
@ -1,167 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.010
|
||||
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.010
|
||||
Problem: Mac GUI: Missing break statements.
|
||||
Solution: Add the break statements. (Dominique Pelle)
|
||||
Files: src/gui_mac.c
|
||||
|
||||
|
||||
*** ../vim-7.3.009/src/gui_mac.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/gui_mac.c 2010-09-21 17:33:13.000000000 +0200
|
||||
***************
|
||||
*** 1480,1486 ****
|
||||
*
|
||||
* Returns the index inside the menu wher
|
||||
*/
|
||||
! short /* Shoulde we return MenuItemIndex? */
|
||||
gui_mac_get_menu_item_index(vimmenu_T *pMenu)
|
||||
{
|
||||
short index;
|
||||
--- 1480,1486 ----
|
||||
*
|
||||
* Returns the index inside the menu wher
|
||||
*/
|
||||
! short /* Should we return MenuItemIndex? */
|
||||
gui_mac_get_menu_item_index(vimmenu_T *pMenu)
|
||||
{
|
||||
short index;
|
||||
***************
|
||||
*** 1823,1829 ****
|
||||
p.h += gui.scrollbar_width;
|
||||
if (gui.which_scrollbars[SBAR_RIGHT])
|
||||
p.h += gui.scrollbar_width;
|
||||
! /* ideal height is as heigh as we can get */
|
||||
p.v = 15 * 1024;
|
||||
|
||||
thePart = IsWindowInStandardState(whichWindow, &p, &r)
|
||||
--- 1823,1829 ----
|
||||
p.h += gui.scrollbar_width;
|
||||
if (gui.which_scrollbars[SBAR_RIGHT])
|
||||
p.h += gui.scrollbar_width;
|
||||
! /* ideal height is as high as we can get */
|
||||
p.v = 15 * 1024;
|
||||
|
||||
thePart = IsWindowInStandardState(whichWindow, &p, &r)
|
||||
***************
|
||||
*** 4481,4487 ****
|
||||
* event arrives. No need to check for input_buf_full because we are
|
||||
* returning as soon as it contains a single char.
|
||||
*/
|
||||
! /* TODO: reduce wtime accordinly??? */
|
||||
if (wtime > -1)
|
||||
sleeppyTick = 60 * wtime / 1000;
|
||||
else
|
||||
--- 4481,4487 ----
|
||||
* event arrives. No need to check for input_buf_full because we are
|
||||
* returning as soon as it contains a single char.
|
||||
*/
|
||||
! /* TODO: reduce wtime accordingly??? */
|
||||
if (wtime > -1)
|
||||
sleeppyTick = 60 * wtime / 1000;
|
||||
else
|
||||
***************
|
||||
*** 5723,5735 ****
|
||||
iconDITL = GetResource('DITL', 131);
|
||||
switch (type)
|
||||
{
|
||||
! case VIM_GENERIC: useIcon = kNoteIcon;
|
||||
! case VIM_ERROR: useIcon = kStopIcon;
|
||||
! case VIM_WARNING: useIcon = kCautionIcon;
|
||||
! case VIM_INFO: useIcon = kNoteIcon;
|
||||
! case VIM_QUESTION: useIcon = kNoteIcon;
|
||||
! default: useIcon = kStopIcon;
|
||||
! };
|
||||
AppendDITL(theDialog, iconDITL, overlayDITL);
|
||||
ReleaseResource(iconDITL);
|
||||
GetDialogItem(theDialog, iconItm.idx, &itemType, &itemHandle, &box);
|
||||
--- 5723,5735 ----
|
||||
iconDITL = GetResource('DITL', 131);
|
||||
switch (type)
|
||||
{
|
||||
! case VIM_GENERIC:
|
||||
! case VIM_INFO:
|
||||
! case VIM_QUESTION: useIcon = kNoteIcon; break;
|
||||
! case VIM_WARNING: useIcon = kCautionIcon; break;
|
||||
! case VIM_ERROR: useIcon = kStopIcon; break;
|
||||
! default: useIcon = kStopIcon;
|
||||
! }
|
||||
AppendDITL(theDialog, iconDITL, overlayDITL);
|
||||
ReleaseResource(iconDITL);
|
||||
GetDialogItem(theDialog, iconItm.idx, &itemType, &itemHandle, &box);
|
||||
***************
|
||||
*** 5892,5898 ****
|
||||
|
||||
return itemHit;
|
||||
/*
|
||||
! * Usefull thing which could be used
|
||||
* SetDialogTimeout(): Auto click a button after timeout
|
||||
* SetDialogTracksCursor() : Get the I-beam cursor over input box
|
||||
* MoveDialogItem(): Probably better than SetDialogItem
|
||||
--- 5892,5898 ----
|
||||
|
||||
return itemHit;
|
||||
/*
|
||||
! * Useful thing which could be used
|
||||
* SetDialogTimeout(): Auto click a button after timeout
|
||||
* SetDialogTracksCursor() : Get the I-beam cursor over input box
|
||||
* MoveDialogItem(): Probably better than SetDialogItem
|
||||
***************
|
||||
*** 6100,6106 ****
|
||||
#endif
|
||||
|
||||
/*
|
||||
! * Transfered from os_mac.c for MacOS X using os_unix.c prep work
|
||||
*/
|
||||
|
||||
int
|
||||
--- 6100,6106 ----
|
||||
#endif
|
||||
|
||||
/*
|
||||
! * Transferred from os_mac.c for MacOS X using os_unix.c prep work
|
||||
*/
|
||||
|
||||
int
|
||||
***************
|
||||
*** 6543,6549 ****
|
||||
static ControlRef dataBrowser = NULL;
|
||||
|
||||
// when the tabline is hidden, vim doesn't call update_tabline(). When
|
||||
! // the tabline is shown again, show_tabline() is called before upate_tabline(),
|
||||
// and because of this, the tab labels and vims internal tabs are out of sync
|
||||
// for a very short time. to prevent inconsistent state, we store the labels
|
||||
// of the tabs, not pointers to the tabs (which are invalid for a short time).
|
||||
--- 6543,6549 ----
|
||||
static ControlRef dataBrowser = NULL;
|
||||
|
||||
// when the tabline is hidden, vim doesn't call update_tabline(). When
|
||||
! // the tabline is shown again, show_tabline() is called before update_tabline(),
|
||||
// and because of this, the tab labels and vims internal tabs are out of sync
|
||||
// for a very short time. to prevent inconsistent state, we store the labels
|
||||
// of the tabs, not pointers to the tabs (which are invalid for a short time).
|
||||
*** ../vim-7.3.009/src/version.c 2010-09-21 17:29:19.000000000 +0200
|
||||
--- src/version.c 2010-09-21 17:33:22.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 10,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
182. You may not know what is happening in the world, but you know
|
||||
every bit of net-gossip there is.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
290
7.3.011
290
7.3.011
@ -1,290 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.011
|
||||
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.011
|
||||
Problem: X11 clipboard doesn't work in Athena/Motif GUI. First selection
|
||||
after a shell command doesn't work.
|
||||
Solution: When using the GUI use XtLastTimestampProcessed() instead of
|
||||
changing a property. (partly by Toni Ronkko)
|
||||
When executing a shell command disown the selection.
|
||||
Files: src/ui.c, src/os_unix.c
|
||||
|
||||
|
||||
*** ../vim-7.3.010/src/ui.c 2010-08-15 21:57:31.000000000 +0200
|
||||
--- src/ui.c 2010-09-21 22:08:22.000000000 +0200
|
||||
***************
|
||||
*** 469,475 ****
|
||||
*/
|
||||
#ifdef FEAT_X11
|
||||
/* Always own the selection, we might have lost it without being
|
||||
! * notified. */
|
||||
if (cbd->available)
|
||||
{
|
||||
int was_owned = cbd->owned;
|
||||
--- 469,475 ----
|
||||
*/
|
||||
#ifdef FEAT_X11
|
||||
/* Always own the selection, we might have lost it without being
|
||||
! * notified, e.g. during a ":sh" command. */
|
||||
if (cbd->available)
|
||||
{
|
||||
int was_owned = cbd->owned;
|
||||
***************
|
||||
*** 1944,1953 ****
|
||||
*/
|
||||
|
||||
static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *));
|
||||
-
|
||||
static void clip_x11_lose_ownership_cb __ARGS((Widget, Atom *));
|
||||
-
|
||||
static void clip_x11_timestamp_cb __ARGS((Widget w, XtPointer n, XEvent *event, Boolean *cont));
|
||||
|
||||
/*
|
||||
* Property callback to get a timestamp for XtOwnSelection.
|
||||
--- 1944,1952 ----
|
||||
*/
|
||||
|
||||
static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *));
|
||||
static void clip_x11_lose_ownership_cb __ARGS((Widget, Atom *));
|
||||
static void clip_x11_timestamp_cb __ARGS((Widget w, XtPointer n, XEvent *event, Boolean *cont));
|
||||
+ static void clip_x11_request_selection_cb __ARGS((Widget, XtPointer, Atom *, Atom *, XtPointer, long_u *, int *));
|
||||
|
||||
/*
|
||||
* Property callback to get a timestamp for XtOwnSelection.
|
||||
***************
|
||||
*** 1985,1992 ****
|
||||
return;
|
||||
|
||||
/* Get the selection, using the event timestamp. */
|
||||
! XtOwnSelection(w, xproperty->atom, xproperty->time,
|
||||
! clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
--- 1984,2000 ----
|
||||
return;
|
||||
|
||||
/* Get the selection, using the event timestamp. */
|
||||
! if (XtOwnSelection(w, xproperty->atom, xproperty->time,
|
||||
! clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb,
|
||||
! NULL) == OK)
|
||||
! {
|
||||
! /* Set the "owned" flag now, there may have been a call to
|
||||
! * lose_ownership_cb in between. */
|
||||
! if (xproperty->atom == clip_plus.sel_atom)
|
||||
! clip_plus.owned = TRUE;
|
||||
! else
|
||||
! clip_star.owned = TRUE;
|
||||
! }
|
||||
}
|
||||
|
||||
void
|
||||
***************
|
||||
*** 1997,2004 ****
|
||||
/*(XtEventHandler)*/clip_x11_timestamp_cb, (XtPointer)NULL);
|
||||
}
|
||||
|
||||
- static void clip_x11_request_selection_cb __ARGS((Widget, XtPointer, Atom *, Atom *, XtPointer, long_u *, int *));
|
||||
-
|
||||
static void
|
||||
clip_x11_request_selection_cb(w, success, sel_atom, type, value, length,
|
||||
format)
|
||||
--- 2005,2010 ----
|
||||
***************
|
||||
*** 2336,2342 ****
|
||||
|
||||
void
|
||||
clip_x11_lose_selection(myShell, cbd)
|
||||
! Widget myShell;
|
||||
VimClipboard *cbd;
|
||||
{
|
||||
XtDisownSelection(myShell, cbd->sel_atom, CurrentTime);
|
||||
--- 2342,2348 ----
|
||||
|
||||
void
|
||||
clip_x11_lose_selection(myShell, cbd)
|
||||
! Widget myShell;
|
||||
VimClipboard *cbd;
|
||||
{
|
||||
XtDisownSelection(myShell, cbd->sel_atom, CurrentTime);
|
||||
***************
|
||||
*** 2344,2357 ****
|
||||
|
||||
int
|
||||
clip_x11_own_selection(myShell, cbd)
|
||||
! Widget myShell;
|
||||
VimClipboard *cbd;
|
||||
{
|
||||
! /* Get the time by a zero-length append, clip_x11_timestamp_cb will be
|
||||
! * called with the current timestamp. */
|
||||
! if (!XChangeProperty(XtDisplay(myShell), XtWindow(myShell), cbd->sel_atom,
|
||||
! timestamp_atom, 32, PropModeAppend, NULL, 0))
|
||||
return FAIL;
|
||||
/* Flush is required in a terminal as nothing else is doing it. */
|
||||
XFlush(XtDisplay(myShell));
|
||||
return OK;
|
||||
--- 2350,2378 ----
|
||||
|
||||
int
|
||||
clip_x11_own_selection(myShell, cbd)
|
||||
! Widget myShell;
|
||||
VimClipboard *cbd;
|
||||
{
|
||||
! /* When using the GUI we have proper timestamps, use the one of the last
|
||||
! * event. When in the console we don't get events (the terminal gets
|
||||
! * them), Get the time by a zero-length append, clip_x11_timestamp_cb will
|
||||
! * be called with the current timestamp. */
|
||||
! #ifdef FEAT_GUI
|
||||
! if (gui.in_use)
|
||||
! {
|
||||
! if (XtOwnSelection(myShell, cbd->sel_atom,
|
||||
! XtLastTimestampProcessed(XtDisplay(myShell)),
|
||||
! clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb,
|
||||
! NULL) == False)
|
||||
return FAIL;
|
||||
+ }
|
||||
+ else
|
||||
+ #endif
|
||||
+ {
|
||||
+ if (!XChangeProperty(XtDisplay(myShell), XtWindow(myShell),
|
||||
+ cbd->sel_atom, timestamp_atom, 32, PropModeAppend, NULL, 0))
|
||||
+ return FAIL;
|
||||
+ }
|
||||
/* Flush is required in a terminal as nothing else is doing it. */
|
||||
XFlush(XtDisplay(myShell));
|
||||
return OK;
|
||||
*** ../vim-7.3.010/src/os_unix.c 2010-08-15 21:57:30.000000000 +0200
|
||||
--- src/os_unix.c 2010-09-21 21:59:25.000000000 +0200
|
||||
***************
|
||||
*** 1123,1128 ****
|
||||
--- 1123,1152 ----
|
||||
}
|
||||
#endif
|
||||
|
||||
+ # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
+ static void loose_clipboard __ARGS((void));
|
||||
+
|
||||
+ /*
|
||||
+ * Called when Vim is going to sleep or execute a shell command.
|
||||
+ * We can't respond to requests for the X selections. Lose them, otherwise
|
||||
+ * other applications will hang. But first copy the text to cut buffer 0.
|
||||
+ */
|
||||
+ static void
|
||||
+ loose_clipboard()
|
||||
+ {
|
||||
+ if (clip_star.owned || clip_plus.owned)
|
||||
+ {
|
||||
+ x11_export_final_selection();
|
||||
+ if (clip_star.owned)
|
||||
+ clip_lose_selection(&clip_star);
|
||||
+ if (clip_plus.owned)
|
||||
+ clip_lose_selection(&clip_plus);
|
||||
+ if (x11_display != NULL)
|
||||
+ XFlush(x11_display);
|
||||
+ }
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
/*
|
||||
* If the machine has job control, use it to suspend the program,
|
||||
* otherwise fake it by starting a new shell.
|
||||
***************
|
||||
*** 1137,1155 ****
|
||||
out_flush(); /* needed to disable mouse on some systems */
|
||||
|
||||
# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
! /* Since we are going to sleep, we can't respond to requests for the X
|
||||
! * selections. Lose them, otherwise other applications will hang. But
|
||||
! * first copy the text to cut buffer 0. */
|
||||
! if (clip_star.owned || clip_plus.owned)
|
||||
! {
|
||||
! x11_export_final_selection();
|
||||
! if (clip_star.owned)
|
||||
! clip_lose_selection(&clip_star);
|
||||
! if (clip_plus.owned)
|
||||
! clip_lose_selection(&clip_plus);
|
||||
! if (x11_display != NULL)
|
||||
! XFlush(x11_display);
|
||||
! }
|
||||
# endif
|
||||
|
||||
# if defined(_REENTRANT) && defined(SIGCONT)
|
||||
--- 1161,1167 ----
|
||||
out_flush(); /* needed to disable mouse on some systems */
|
||||
|
||||
# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
! loose_clipboard();
|
||||
# endif
|
||||
|
||||
# if defined(_REENTRANT) && defined(SIGCONT)
|
||||
***************
|
||||
*** 3706,3711 ****
|
||||
--- 3718,3727 ----
|
||||
if (options & SHELL_COOKED)
|
||||
settmode(TMODE_COOK); /* set to normal mode */
|
||||
|
||||
+ # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
+ loose_clipboard();
|
||||
+ # endif
|
||||
+
|
||||
# ifdef __EMX__
|
||||
if (cmd == NULL)
|
||||
x = system(""); /* this starts an interactive shell in emx */
|
||||
***************
|
||||
*** 3814,3826 ****
|
||||
# endif
|
||||
int did_settmode = FALSE; /* settmode(TMODE_RAW) called */
|
||||
|
||||
out_flush();
|
||||
if (options & SHELL_COOKED)
|
||||
settmode(TMODE_COOK); /* set to normal mode */
|
||||
|
||||
! newcmd = vim_strsave(p_sh);
|
||||
! if (newcmd == NULL) /* out of memory */
|
||||
! goto error;
|
||||
|
||||
/*
|
||||
* Do this loop twice:
|
||||
--- 3830,3846 ----
|
||||
# endif
|
||||
int did_settmode = FALSE; /* settmode(TMODE_RAW) called */
|
||||
|
||||
+ newcmd = vim_strsave(p_sh);
|
||||
+ if (newcmd == NULL) /* out of memory */
|
||||
+ goto error;
|
||||
+
|
||||
out_flush();
|
||||
if (options & SHELL_COOKED)
|
||||
settmode(TMODE_COOK); /* set to normal mode */
|
||||
|
||||
! # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
! loose_clipboard();
|
||||
! # endif
|
||||
|
||||
/*
|
||||
* Do this loop twice:
|
||||
*** ../vim-7.3.010/src/version.c 2010-09-21 17:34:26.000000000 +0200
|
||||
--- src/version.c 2010-09-21 20:45:02.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 11,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
184. You no longer ask prospective dates what their sign is, instead
|
||||
your line is "Hi, what's your URL?"
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
71
7.3.012
71
7.3.012
@ -1,71 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.012
|
||||
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.012
|
||||
Problem: Problems building with MingW.
|
||||
Solution: Adjust the MingW makefiles. (Jon)
|
||||
Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak
|
||||
|
||||
|
||||
*** ../vim-7.3.011/src/Make_ming.mak 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/Make_ming.mak 2010-09-29 12:32:13.000000000 +0200
|
||||
***************
|
||||
*** 303,309 ****
|
||||
endif
|
||||
endif
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
! WINDRES := $(CROSS_COMPILE)windres
|
||||
|
||||
#>>>>> end of choices
|
||||
###########################################################################
|
||||
--- 303,309 ----
|
||||
endif
|
||||
endif
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -
|
||||
|
||||
#>>>>> end of choices
|
||||
###########################################################################
|
||||
*** ../vim-7.3.011/src/GvimExt/Make_ming.mak 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/GvimExt/Make_ming.mak 2010-09-29 12:31:07.000000000 +0200
|
||||
***************
|
||||
*** 33,39 ****
|
||||
endif
|
||||
endif
|
||||
CXX := $(CROSS_COMPILE)g++
|
||||
! WINDRES := $(CROSS_COMPILE)windres
|
||||
LIBS := -luuid
|
||||
RES := gvimext.res
|
||||
DEFFILE = gvimext_ming.def
|
||||
--- 33,39 ----
|
||||
endif
|
||||
endif
|
||||
CXX := $(CROSS_COMPILE)g++
|
||||
! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -
|
||||
LIBS := -luuid
|
||||
RES := gvimext.res
|
||||
DEFFILE = gvimext_ming.def
|
||||
*** ../vim-7.3.011/src/version.c 2010-09-21 22:09:28.000000000 +0200
|
||||
--- src/version.c 2010-09-29 12:36:42.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 12,
|
||||
/**/
|
||||
|
||||
--
|
||||
If evolution theories are correct, humans will soon grow a third
|
||||
hand for operating the mouse.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
208
7.3.013
208
7.3.013
@ -1,208 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.013
|
||||
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.013
|
||||
Problem: Dynamic loading with Ruby doesn't work for 1.9.2.
|
||||
Solution: Handle rb_str2cstr differently. Also support dynamic loading on
|
||||
Unix. (Jon Maken)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.012/src/if_ruby.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/if_ruby.c 2010-09-29 12:49:50.000000000 +0200
|
||||
***************
|
||||
*** 4,9 ****
|
||||
--- 4,10 ----
|
||||
*
|
||||
* Ruby interface by Shugo Maeda
|
||||
* with improvements by SegPhault (Ryan Paul)
|
||||
+ * with improvements by Jon Maken
|
||||
*
|
||||
* Do ":help uganda" in Vim to read copying and usage conditions.
|
||||
* Do ":help credits" in Vim to see a list of people who contributed.
|
||||
***************
|
||||
*** 26,37 ****
|
||||
# define RUBYEXTERN extern
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This is tricky. In ruby.h there is (inline) function rb_class_of()
|
||||
* definition. This function use these variables. But we want function to
|
||||
* use dll_* variables.
|
||||
*/
|
||||
- #ifdef DYNAMIC_RUBY
|
||||
# define rb_cFalseClass (*dll_rb_cFalseClass)
|
||||
# define rb_cFixnum (*dll_rb_cFixnum)
|
||||
# define rb_cNilClass (*dll_rb_cNilClass)
|
||||
--- 27,38 ----
|
||||
# define RUBYEXTERN extern
|
||||
#endif
|
||||
|
||||
+ #ifdef DYNAMIC_RUBY
|
||||
/*
|
||||
* This is tricky. In ruby.h there is (inline) function rb_class_of()
|
||||
* definition. This function use these variables. But we want function to
|
||||
* use dll_* variables.
|
||||
*/
|
||||
# define rb_cFalseClass (*dll_rb_cFalseClass)
|
||||
# define rb_cFixnum (*dll_rb_cFixnum)
|
||||
# define rb_cNilClass (*dll_rb_cNilClass)
|
||||
***************
|
||||
*** 46,53 ****
|
||||
--- 47,67 ----
|
||||
*/
|
||||
# define RUBY_EXPORT
|
||||
# endif
|
||||
+
|
||||
+ #if !(defined(WIN32) || defined(_WIN64))
|
||||
+ # include <dlfcn.h>
|
||||
+ # define HANDLE void*
|
||||
+ # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
|
||||
+ # define symbol_from_dll dlsym
|
||||
+ # define close_dll dlclose
|
||||
+ #else
|
||||
+ # define load_dll LoadLibrary
|
||||
+ # define symbol_from_dll GetProcAddress
|
||||
+ # define close_dll FreeLibrary
|
||||
#endif
|
||||
|
||||
+ #endif /* ifdef DYNAMIC_RUBY */
|
||||
+
|
||||
/* suggested by Ariya Mizutani */
|
||||
#if (_MSC_VER == 1200)
|
||||
# undef _WIN32_WINNT
|
||||
***************
|
||||
*** 166,172 ****
|
||||
#define rb_obj_as_string dll_rb_obj_as_string
|
||||
#define rb_obj_id dll_rb_obj_id
|
||||
#define rb_raise dll_rb_raise
|
||||
- #define rb_str2cstr dll_rb_str2cstr
|
||||
#define rb_str_cat dll_rb_str_cat
|
||||
#define rb_str_concat dll_rb_str_concat
|
||||
#define rb_str_new dll_rb_str_new
|
||||
--- 180,185 ----
|
||||
***************
|
||||
*** 178,187 ****
|
||||
--- 191,203 ----
|
||||
# define rb_str_new2 dll_rb_str_new2
|
||||
#endif
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
+ # define rb_string_value dll_rb_string_value
|
||||
# define rb_string_value_ptr dll_rb_string_value_ptr
|
||||
# define rb_float_new dll_rb_float_new
|
||||
# define rb_ary_new dll_rb_ary_new
|
||||
# define rb_ary_push dll_rb_ary_push
|
||||
+ #else
|
||||
+ # define rb_str2cstr dll_rb_str2cstr
|
||||
#endif
|
||||
#ifdef RUBY19_OR_LATER
|
||||
# define rb_errinfo dll_rb_errinfo
|
||||
***************
|
||||
*** 246,252 ****
|
||||
--- 262,272 ----
|
||||
static VALUE (*dll_rb_obj_as_string) (VALUE);
|
||||
static VALUE (*dll_rb_obj_id) (VALUE);
|
||||
static void (*dll_rb_raise) (VALUE, const char*, ...);
|
||||
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
+ static VALUE (*dll_rb_string_value) (volatile VALUE*);
|
||||
+ #else
|
||||
static char *(*dll_rb_str2cstr) (VALUE,int*);
|
||||
+ #endif
|
||||
static VALUE (*dll_rb_str_cat) (VALUE, const char*, long);
|
||||
static VALUE (*dll_rb_str_concat) (VALUE, VALUE);
|
||||
static VALUE (*dll_rb_str_new) (const char*, long);
|
||||
***************
|
||||
*** 347,353 ****
|
||||
--- 367,377 ----
|
||||
{"rb_obj_as_string", (RUBY_PROC*)&dll_rb_obj_as_string},
|
||||
{"rb_obj_id", (RUBY_PROC*)&dll_rb_obj_id},
|
||||
{"rb_raise", (RUBY_PROC*)&dll_rb_raise},
|
||||
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
+ {"rb_string_value", (RUBY_PROC*)&dll_rb_string_value},
|
||||
+ #else
|
||||
{"rb_str2cstr", (RUBY_PROC*)&dll_rb_str2cstr},
|
||||
+ #endif
|
||||
{"rb_str_cat", (RUBY_PROC*)&dll_rb_str_cat},
|
||||
{"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat},
|
||||
{"rb_str_new", (RUBY_PROC*)&dll_rb_str_new},
|
||||
***************
|
||||
*** 399,405 ****
|
||||
{
|
||||
if (hinstRuby)
|
||||
{
|
||||
! FreeLibrary(hinstRuby);
|
||||
hinstRuby = 0;
|
||||
}
|
||||
}
|
||||
--- 423,429 ----
|
||||
{
|
||||
if (hinstRuby)
|
||||
{
|
||||
! close_dll(hinstRuby);
|
||||
hinstRuby = 0;
|
||||
}
|
||||
}
|
||||
***************
|
||||
*** 416,422 ****
|
||||
|
||||
if (hinstRuby)
|
||||
return OK;
|
||||
! hinstRuby = LoadLibrary(libname);
|
||||
if (!hinstRuby)
|
||||
{
|
||||
if (verbose)
|
||||
--- 440,446 ----
|
||||
|
||||
if (hinstRuby)
|
||||
return OK;
|
||||
! hinstRuby = load_dll(libname);
|
||||
if (!hinstRuby)
|
||||
{
|
||||
if (verbose)
|
||||
***************
|
||||
*** 426,435 ****
|
||||
|
||||
for (i = 0; ruby_funcname_table[i].ptr; ++i)
|
||||
{
|
||||
! if (!(*ruby_funcname_table[i].ptr = GetProcAddress(hinstRuby,
|
||||
ruby_funcname_table[i].name)))
|
||||
{
|
||||
! FreeLibrary(hinstRuby);
|
||||
hinstRuby = 0;
|
||||
if (verbose)
|
||||
EMSG2(_(e_loadfunc), ruby_funcname_table[i].name);
|
||||
--- 450,459 ----
|
||||
|
||||
for (i = 0; ruby_funcname_table[i].ptr; ++i)
|
||||
{
|
||||
! if (!(*ruby_funcname_table[i].ptr = symbol_from_dll(hinstRuby,
|
||||
ruby_funcname_table[i].name)))
|
||||
{
|
||||
! close_dll(hinstRuby);
|
||||
hinstRuby = 0;
|
||||
if (verbose)
|
||||
EMSG2(_(e_loadfunc), ruby_funcname_table[i].name);
|
||||
*** ../vim-7.3.012/src/version.c 2010-09-29 12:37:53.000000000 +0200
|
||||
--- src/version.c 2010-09-29 13:00:42.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 13,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
223. You set up a web-cam as your home's security system.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
87
7.3.014
87
7.3.014
@ -1,87 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.014
|
||||
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.014
|
||||
Problem: Ending a line in a backslash inside an ":append" or ":insert"
|
||||
command in Ex mode doesn't work properly. (Ray Frush)
|
||||
Solution: Halve the number of backslashes, only insert a NUL after an odd
|
||||
number of backslashes.
|
||||
Files: src/ex_getln.c
|
||||
|
||||
|
||||
*** ../vim-7.3.013/src/ex_getln.c 2010-09-21 16:56:29.000000000 +0200
|
||||
--- src/ex_getln.c 2010-09-29 15:47:56.000000000 +0200
|
||||
***************
|
||||
*** 2342,2356 ****
|
||||
windgoto(msg_row, msg_col);
|
||||
pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len;
|
||||
|
||||
! /* we are done when a NL is entered, but not when it comes after a
|
||||
! * backslash */
|
||||
! if (line_ga.ga_len > 0 && pend[-1] == '\n'
|
||||
! && (line_ga.ga_len <= 1 || pend[-2] != '\\'))
|
||||
! {
|
||||
! --line_ga.ga_len;
|
||||
! --pend;
|
||||
! *pend = NUL;
|
||||
! break;
|
||||
}
|
||||
}
|
||||
|
||||
--- 2342,2372 ----
|
||||
windgoto(msg_row, msg_col);
|
||||
pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len;
|
||||
|
||||
! /* We are done when a NL is entered, but not when it comes after an
|
||||
! * odd number of backslashes, that results in a NUL. */
|
||||
! if (line_ga.ga_len > 0 && pend[-1] == '\n')
|
||||
! {
|
||||
! int bcount = 0;
|
||||
!
|
||||
! while (line_ga.ga_len - 2 >= bcount && pend[-2 - bcount] == '\\')
|
||||
! ++bcount;
|
||||
!
|
||||
! if (bcount > 0)
|
||||
! {
|
||||
! /* Halve the number of backslashes: "\NL" -> "NUL", "\\NL" ->
|
||||
! * "\NL", etc. */
|
||||
! line_ga.ga_len -= (bcount + 1) / 2;
|
||||
! pend -= (bcount + 1) / 2;
|
||||
! pend[-1] = '\n';
|
||||
! }
|
||||
!
|
||||
! if ((bcount & 1) == 0)
|
||||
! {
|
||||
! --line_ga.ga_len;
|
||||
! --pend;
|
||||
! *pend = NUL;
|
||||
! break;
|
||||
! }
|
||||
}
|
||||
}
|
||||
|
||||
*** ../vim-7.3.013/src/version.c 2010-09-29 13:02:48.000000000 +0200
|
||||
--- src/version.c 2010-09-29 15:45:57.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 14,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
224. You set up your own Web page. You set up a Web page for each
|
||||
of your kids... and your pets.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
68
7.3.015
68
7.3.015
@ -1,68 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.015
|
||||
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.015
|
||||
Problem: Test is using error message that no longer exists.
|
||||
Solution: Change E106 to E121. (Dominique Pelle)
|
||||
Files: src/testdir/test49.vim
|
||||
|
||||
|
||||
*** ../vim-7.3.014/src/testdir/test49.vim 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test49.vim 2010-09-29 16:52:06.000000000 +0200
|
||||
***************
|
||||
*** 1,6 ****
|
||||
" Vim script language tests
|
||||
" Author: Servatius Brandt <Servatius.Brandt@fujitsu-siemens.com>
|
||||
! " Last Change: 2006 Apr 28
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test environment {{{1
|
||||
--- 1,6 ----
|
||||
" Vim script language tests
|
||||
" Author: Servatius Brandt <Servatius.Brandt@fujitsu-siemens.com>
|
||||
! " Last Change: 2010 Sep 29
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test environment {{{1
|
||||
***************
|
||||
*** 8711,8717 ****
|
||||
endif
|
||||
else
|
||||
if cmd == "let"
|
||||
! let match = MATCH(0, thrmsg, 'E106', "Unknown variable")
|
||||
elseif cmd == "unlet"
|
||||
let match = MATCH(0, thrmsg, 'E108', "No such variable")
|
||||
endif
|
||||
--- 8711,8717 ----
|
||||
endif
|
||||
else
|
||||
if cmd == "let"
|
||||
! let match = MATCH(0, thrmsg, 'E121', "Undefined variable")
|
||||
elseif cmd == "unlet"
|
||||
let match = MATCH(0, thrmsg, 'E108', "No such variable")
|
||||
endif
|
||||
*** ../vim-7.3.014/src/version.c 2010-09-29 15:50:14.000000000 +0200
|
||||
--- src/version.c 2010-09-29 16:55:03.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 15,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
228. You spend Saturday night making the counter on your home page
|
||||
pass that 2000 mark.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
240
7.3.016
240
7.3.016
@ -1,240 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.016
|
||||
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.016
|
||||
Problem: Netbeans doesn't work under Athena.
|
||||
Solution: Support Athena, just like Motif. (Xavier de Gaye)
|
||||
Files: runtime/doc/netbeans.txt, src/gui.c, src/main.c, src/netbeans.c
|
||||
|
||||
|
||||
*** ../vim-7.3.015/runtime/doc/netbeans.txt 2010-08-15 21:57:13.000000000 +0200
|
||||
--- runtime/doc/netbeans.txt 2010-09-29 17:13:43.000000000 +0200
|
||||
***************
|
||||
*** 1,4 ****
|
||||
! *netbeans.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
--- 1,4 ----
|
||||
! *netbeans.txt* For Vim version 7.3. Last change: 2010 Aug 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
***************
|
||||
*** 118,124 ****
|
||||
uncommenting a line with "--disable-netbeans" in the Makefile.
|
||||
|
||||
Currently the NetBeans interface is supported by Vim running in a terminal and
|
||||
! by GVim when it is run with one of the following GUIs: GTK, GNOME, and Motif.
|
||||
|
||||
If Motif support is required the user must supply XPM libraries. See
|
||||
|workshop-xpm| for details on obtaining the latest version of XPM.
|
||||
--- 118,125 ----
|
||||
uncommenting a line with "--disable-netbeans" in the Makefile.
|
||||
|
||||
Currently the NetBeans interface is supported by Vim running in a terminal and
|
||||
! by GVim when it is run with one of the following GUIs: GTK, GNOME, Windows,
|
||||
! Athena and Motif.
|
||||
|
||||
If Motif support is required the user must supply XPM libraries. See
|
||||
|workshop-xpm| for details on obtaining the latest version of XPM.
|
||||
*** ../vim-7.3.015/src/gui.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/gui.c 2010-09-29 17:13:43.000000000 +0200
|
||||
***************
|
||||
*** 2352,2358 ****
|
||||
if (draw_sign)
|
||||
/* Draw the sign on top of the spaces. */
|
||||
gui_mch_drawsign(gui.row, col, gui.highlight_mask);
|
||||
! # if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_MOTIF) \
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32))
|
||||
if (multi_sign)
|
||||
netbeans_draw_multisign_indicator(gui.row);
|
||||
--- 2352,2358 ----
|
||||
if (draw_sign)
|
||||
/* Draw the sign on top of the spaces. */
|
||||
gui_mch_drawsign(gui.row, col, gui.highlight_mask);
|
||||
! # if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_X11) \
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32))
|
||||
if (multi_sign)
|
||||
netbeans_draw_multisign_indicator(gui.row);
|
||||
*** ../vim-7.3.015/src/main.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/main.c 2010-09-29 17:13:43.000000000 +0200
|
||||
***************
|
||||
*** 940,946 ****
|
||||
if (netbeansArg != NULL && strncmp("-nb", netbeansArg, 3) == 0)
|
||||
{
|
||||
# ifdef FEAT_GUI
|
||||
! # if !defined(FEAT_GUI_MOTIF) && !defined(FEAT_GUI_GTK) \
|
||||
&& !defined(FEAT_GUI_W32)
|
||||
if (gui.in_use)
|
||||
{
|
||||
--- 940,946 ----
|
||||
if (netbeansArg != NULL && strncmp("-nb", netbeansArg, 3) == 0)
|
||||
{
|
||||
# ifdef FEAT_GUI
|
||||
! # if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
|
||||
&& !defined(FEAT_GUI_W32)
|
||||
if (gui.in_use)
|
||||
{
|
||||
*** ../vim-7.3.015/src/netbeans.c 2010-08-15 21:57:26.000000000 +0200
|
||||
--- src/netbeans.c 2010-09-29 17:13:43.000000000 +0200
|
||||
***************
|
||||
*** 87,93 ****
|
||||
static void nb_init_graphics __ARGS((void));
|
||||
static void coloncmd __ARGS((char *cmd, ...));
|
||||
static void nb_set_curbuf __ARGS((buf_T *buf));
|
||||
! #ifdef FEAT_GUI_MOTIF
|
||||
static void messageFromNetbeans __ARGS((XtPointer, int *, XtInputId *));
|
||||
#endif
|
||||
#ifdef FEAT_GUI_GTK
|
||||
--- 87,93 ----
|
||||
static void nb_init_graphics __ARGS((void));
|
||||
static void coloncmd __ARGS((char *cmd, ...));
|
||||
static void nb_set_curbuf __ARGS((buf_T *buf));
|
||||
! #ifdef FEAT_GUI_X11
|
||||
static void messageFromNetbeans __ARGS((XtPointer, int *, XtInputId *));
|
||||
#endif
|
||||
#ifdef FEAT_GUI_GTK
|
||||
***************
|
||||
*** 112,118 ****
|
||||
static NBSOCK nbsock = -1; /* socket fd for Netbeans connection */
|
||||
#define NETBEANS_OPEN (nbsock != -1)
|
||||
|
||||
! #ifdef FEAT_GUI_MOTIF
|
||||
static XtInputId inputHandler = (XtInputId)NULL; /* Cookie for input */
|
||||
#endif
|
||||
#ifdef FEAT_GUI_GTK
|
||||
--- 112,118 ----
|
||||
static NBSOCK nbsock = -1; /* socket fd for Netbeans connection */
|
||||
#define NETBEANS_OPEN (nbsock != -1)
|
||||
|
||||
! #ifdef FEAT_GUI_X11
|
||||
static XtInputId inputHandler = (XtInputId)NULL; /* Cookie for input */
|
||||
#endif
|
||||
#ifdef FEAT_GUI_GTK
|
||||
***************
|
||||
*** 143,149 ****
|
||||
|
||||
netbeans_send_disconnect();
|
||||
|
||||
! #ifdef FEAT_GUI_MOTIF
|
||||
if (inputHandler != (XtInputId)NULL)
|
||||
{
|
||||
XtRemoveInput(inputHandler);
|
||||
--- 143,149 ----
|
||||
|
||||
netbeans_send_disconnect();
|
||||
|
||||
! #ifdef FEAT_GUI_X11
|
||||
if (inputHandler != (XtInputId)NULL)
|
||||
{
|
||||
XtRemoveInput(inputHandler);
|
||||
***************
|
||||
*** 700,706 ****
|
||||
/*
|
||||
* Read a command from netbeans.
|
||||
*/
|
||||
! #ifdef FEAT_GUI_MOTIF
|
||||
static void
|
||||
messageFromNetbeans(XtPointer clientData UNUSED,
|
||||
int *unused1 UNUSED,
|
||||
--- 700,706 ----
|
||||
/*
|
||||
* Read a command from netbeans.
|
||||
*/
|
||||
! #ifdef FEAT_GUI_X11
|
||||
static void
|
||||
messageFromNetbeans(XtPointer clientData UNUSED,
|
||||
int *unused1 UNUSED,
|
||||
***************
|
||||
*** 2937,2943 ****
|
||||
if (!NB_HAS_GUI || !NETBEANS_OPEN)
|
||||
return;
|
||||
|
||||
! # ifdef FEAT_GUI_MOTIF
|
||||
/* tell notifier we are interested in being called
|
||||
* when there is input on the editor connection socket
|
||||
*/
|
||||
--- 2937,2943 ----
|
||||
if (!NB_HAS_GUI || !NETBEANS_OPEN)
|
||||
return;
|
||||
|
||||
! # ifdef FEAT_GUI_X11
|
||||
/* tell notifier we are interested in being called
|
||||
* when there is input on the editor connection socket
|
||||
*/
|
||||
***************
|
||||
*** 3027,3033 ****
|
||||
}
|
||||
}
|
||||
|
||||
! #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_W32) || defined(PROTO)
|
||||
/*
|
||||
* Tell netbeans that the window was moved or resized.
|
||||
*/
|
||||
--- 3027,3033 ----
|
||||
}
|
||||
}
|
||||
|
||||
! #if defined(FEAT_GUI_X11) || defined(FEAT_GUI_W32) || defined(PROTO)
|
||||
/*
|
||||
* Tell netbeans that the window was moved or resized.
|
||||
*/
|
||||
***************
|
||||
*** 3458,3464 ****
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
! #if defined(FEAT_GUI_MOTIF) || defined(PROTO)
|
||||
/*
|
||||
* We have multiple signs to draw at the same location. Draw the
|
||||
* multi-sign indicator instead. This is the Motif version.
|
||||
--- 3458,3464 ----
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
! #if defined(FEAT_GUI_X11) || defined(PROTO)
|
||||
/*
|
||||
* We have multiple signs to draw at the same location. Draw the
|
||||
* multi-sign indicator instead. This is the Motif version.
|
||||
***************
|
||||
*** 3487,3493 ****
|
||||
XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+3, y++);
|
||||
XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y);
|
||||
}
|
||||
! #endif /* FEAT_GUI_MOTIF */
|
||||
|
||||
#if defined(FEAT_GUI_GTK) && !defined(PROTO)
|
||||
/*
|
||||
--- 3487,3493 ----
|
||||
XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+3, y++);
|
||||
XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y);
|
||||
}
|
||||
! #endif /* FEAT_GUI_X11 */
|
||||
|
||||
#if defined(FEAT_GUI_GTK) && !defined(PROTO)
|
||||
/*
|
||||
*** ../vim-7.3.015/src/version.c 2010-09-29 16:55:45.000000000 +0200
|
||||
--- src/version.c 2010-09-29 17:14:47.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 16,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
229. You spend so much time thinking what to add on this list.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
124
7.3.017
124
7.3.017
@ -1,124 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.017
|
||||
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.017
|
||||
Problem: smatch reports errors.
|
||||
Solution: Fix the reported errors. (Dominique Pelle)
|
||||
Files: src/spell.c, src/syntax.c
|
||||
|
||||
|
||||
*** ../vim-7.3.016/src/spell.c 2010-09-18 13:36:41.000000000 +0200
|
||||
--- src/spell.c 2010-09-29 18:25:09.000000000 +0200
|
||||
***************
|
||||
*** 4951,4957 ****
|
||||
char_u *si_info; /* info text chars or NULL */
|
||||
int si_region_count; /* number of regions supported (1 when there
|
||||
are no regions) */
|
||||
! char_u si_region_name[16]; /* region names; used only if
|
||||
* si_region_count > 1) */
|
||||
|
||||
garray_T si_rep; /* list of fromto_T entries from REP lines */
|
||||
--- 4951,4957 ----
|
||||
char_u *si_info; /* info text chars or NULL */
|
||||
int si_region_count; /* number of regions supported (1 when there
|
||||
are no regions) */
|
||||
! char_u si_region_name[17]; /* region names; used only if
|
||||
* si_region_count > 1) */
|
||||
|
||||
garray_T si_rep; /* list of fromto_T entries from REP lines */
|
||||
***************
|
||||
*** 9530,9536 ****
|
||||
if (aspath)
|
||||
/* Use directory of an entry with path, e.g., for
|
||||
* "/dir/lg.utf-8.spl" use "/dir". */
|
||||
! vim_strncpy(buf, curbuf->b_s.b_p_spl, lstart - curbuf->b_s.b_p_spl - 1);
|
||||
else
|
||||
/* Copy the path from 'runtimepath' to buf[]. */
|
||||
copy_option_part(&rtp, buf, MAXPATHL, ",");
|
||||
--- 9530,9537 ----
|
||||
if (aspath)
|
||||
/* Use directory of an entry with path, e.g., for
|
||||
* "/dir/lg.utf-8.spl" use "/dir". */
|
||||
! vim_strncpy(buf, curbuf->b_s.b_p_spl,
|
||||
! lstart - curbuf->b_s.b_p_spl - 1);
|
||||
else
|
||||
/* Copy the path from 'runtimepath' to buf[]. */
|
||||
copy_option_part(&rtp, buf, MAXPATHL, ",");
|
||||
***************
|
||||
*** 9539,9551 ****
|
||||
/* Use the first language name from 'spelllang' and the
|
||||
* encoding used in the first loaded .spl file. */
|
||||
if (aspath)
|
||||
! vim_strncpy(buf, curbuf->b_s.b_p_spl, lend - curbuf->b_s.b_p_spl);
|
||||
else
|
||||
{
|
||||
/* Create the "spell" directory if it doesn't exist yet. */
|
||||
l = (int)STRLEN(buf);
|
||||
vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell");
|
||||
! if (!filewritable(buf) != 2)
|
||||
vim_mkdir(buf, 0755);
|
||||
|
||||
l = (int)STRLEN(buf);
|
||||
--- 9540,9553 ----
|
||||
/* Use the first language name from 'spelllang' and the
|
||||
* encoding used in the first loaded .spl file. */
|
||||
if (aspath)
|
||||
! vim_strncpy(buf, curbuf->b_s.b_p_spl,
|
||||
! lend - curbuf->b_s.b_p_spl);
|
||||
else
|
||||
{
|
||||
/* Create the "spell" directory if it doesn't exist yet. */
|
||||
l = (int)STRLEN(buf);
|
||||
vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell");
|
||||
! if (filewritable(buf) != 2)
|
||||
vim_mkdir(buf, 0755);
|
||||
|
||||
l = (int)STRLEN(buf);
|
||||
*** ../vim-7.3.016/src/syntax.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/syntax.c 2010-09-29 18:28:26.000000000 +0200
|
||||
***************
|
||||
*** 7600,7609 ****
|
||||
/*
|
||||
* Copy characters from arg[] to buf[], translating <> codes.
|
||||
*/
|
||||
! for (p = arg, off = 0; off < 100 && *p; )
|
||||
{
|
||||
len = trans_special(&p, buf + off, FALSE);
|
||||
! if (len) /* recognized special char */
|
||||
off += len;
|
||||
else /* copy as normal char */
|
||||
buf[off++] = *p++;
|
||||
--- 7600,7609 ----
|
||||
/*
|
||||
* Copy characters from arg[] to buf[], translating <> codes.
|
||||
*/
|
||||
! for (p = arg, off = 0; off < 100 - 6 && *p; )
|
||||
{
|
||||
len = trans_special(&p, buf + off, FALSE);
|
||||
! if (len > 0) /* recognized special char */
|
||||
off += len;
|
||||
else /* copy as normal char */
|
||||
buf[off++] = *p++;
|
||||
*** ../vim-7.3.016/src/version.c 2010-09-29 17:26:57.000000000 +0200
|
||||
--- src/version.c 2010-09-29 17:47:27.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 17,
|
||||
/**/
|
||||
|
||||
--
|
||||
A computer without Windows is like a fish without a bicycle.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
74
7.3.018
74
7.3.018
@ -1,74 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.018
|
||||
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.018 (after 7.3.012)
|
||||
Problem: Missing argument to windres in MingW makefiles.
|
||||
Solution: Add the argument that was wrapped in the patch. (Jon Maken)
|
||||
Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak
|
||||
|
||||
|
||||
*** ../vim-7.3.017/src/Make_ming.mak 2010-09-29 12:37:53.000000000 +0200
|
||||
--- src/Make_ming.mak 2010-09-29 18:37:08.000000000 +0200
|
||||
***************
|
||||
*** 303,309 ****
|
||||
endif
|
||||
endif
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -
|
||||
|
||||
#>>>>> end of choices
|
||||
###########################################################################
|
||||
--- 303,309 ----
|
||||
endif
|
||||
endif
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED
|
||||
|
||||
#>>>>> end of choices
|
||||
###########################################################################
|
||||
*** ../vim-7.3.017/src/GvimExt/Make_ming.mak 2010-09-29 12:37:53.000000000 +0200
|
||||
--- src/GvimExt/Make_ming.mak 2010-09-29 18:36:39.000000000 +0200
|
||||
***************
|
||||
*** 33,39 ****
|
||||
endif
|
||||
endif
|
||||
CXX := $(CROSS_COMPILE)g++
|
||||
! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -
|
||||
LIBS := -luuid
|
||||
RES := gvimext.res
|
||||
DEFFILE = gvimext_ming.def
|
||||
--- 33,39 ----
|
||||
endif
|
||||
endif
|
||||
CXX := $(CROSS_COMPILE)g++
|
||||
! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED
|
||||
LIBS := -luuid
|
||||
RES := gvimext.res
|
||||
DEFFILE = gvimext_ming.def
|
||||
*** ../vim-7.3.017/src/version.c 2010-09-29 18:32:47.000000000 +0200
|
||||
--- src/version.c 2010-09-29 18:41:53.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 18,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
231. You sprinkle Carpet Fresh on the rugs and put your vacuum cleaner
|
||||
in the front doorway permanently so it always looks like you are
|
||||
actually attempting to do something about that mess that has amassed
|
||||
since you discovered the Internet.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
55
7.3.019
55
7.3.019
@ -1,55 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.019
|
||||
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.019
|
||||
Problem: ":nbstart" can fail silently.
|
||||
Solution: Give an error when netbeans is not supported by the GUI. (Xavier
|
||||
de Gaye)
|
||||
Files: src/netbeans.c
|
||||
|
||||
|
||||
*** ../vim-7.3.018/src/netbeans.c 2010-09-29 17:26:57.000000000 +0200
|
||||
--- src/netbeans.c 2010-09-29 17:35:37.000000000 +0200
|
||||
***************
|
||||
*** 2773,2778 ****
|
||||
--- 2773,2788 ----
|
||||
ex_nbstart(eap)
|
||||
exarg_T *eap;
|
||||
{
|
||||
+ #ifdef FEAT_GUI
|
||||
+ # if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
|
||||
+ && !defined(FEAT_GUI_W32)
|
||||
+ if (gui.in_use)
|
||||
+ {
|
||||
+ EMSG(_("E838: netbeans is not supported with this GUI"));
|
||||
+ return;
|
||||
+ }
|
||||
+ # endif
|
||||
+ #endif
|
||||
netbeans_open((char *)eap->arg, FALSE);
|
||||
}
|
||||
|
||||
*** ../vim-7.3.018/src/version.c 2010-09-29 18:42:25.000000000 +0200
|
||||
--- src/version.c 2010-09-30 21:02:03.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 19,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
233. You start dreaming about web pages...in html.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
131
7.3.020
131
7.3.020
@ -1,131 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.020
|
||||
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.020
|
||||
Problem: Cursor position wrong when joining multiple lines and
|
||||
'formatoptions' contains "a". (Moshe Kamensky)
|
||||
Solution: Adjust cursor position for skipped indent. (Carlo Teubner)
|
||||
Files: src/ops.c, src/testdir/test68.in, src/testdir/test68.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.019/src/ops.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/ops.c 2010-10-09 17:00:35.000000000 +0200
|
||||
***************
|
||||
*** 4153,4161 ****
|
||||
int save_undo;
|
||||
{
|
||||
char_u *curr = NULL;
|
||||
char_u *cend;
|
||||
char_u *newp;
|
||||
! char_u *spaces; /* number of spaces inserte before a line */
|
||||
int endcurr1 = NUL;
|
||||
int endcurr2 = NUL;
|
||||
int currsize = 0; /* size of the current line */
|
||||
--- 4153,4162 ----
|
||||
int save_undo;
|
||||
{
|
||||
char_u *curr = NULL;
|
||||
+ char_u *curr_start = NULL;
|
||||
char_u *cend;
|
||||
char_u *newp;
|
||||
! char_u *spaces; /* number of spaces inserted before a line */
|
||||
int endcurr1 = NUL;
|
||||
int endcurr2 = NUL;
|
||||
int currsize = 0; /* size of the current line */
|
||||
***************
|
||||
*** 4181,4187 ****
|
||||
*/
|
||||
for (t = 0; t < count; ++t)
|
||||
{
|
||||
! curr = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
|
||||
if (insert_space && t > 0)
|
||||
{
|
||||
curr = skipwhite(curr);
|
||||
--- 4182,4188 ----
|
||||
*/
|
||||
for (t = 0; t < count; ++t)
|
||||
{
|
||||
! curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
|
||||
if (insert_space && t > 0)
|
||||
{
|
||||
curr = skipwhite(curr);
|
||||
***************
|
||||
*** 4265,4274 ****
|
||||
copy_spaces(cend, (size_t)(spaces[t]));
|
||||
}
|
||||
mark_col_adjust(curwin->w_cursor.lnum + t, (colnr_T)0, (linenr_T)-t,
|
||||
! (long)(cend - newp + spaces[t]));
|
||||
if (t == 0)
|
||||
break;
|
||||
! curr = ml_get((linenr_T)(curwin->w_cursor.lnum + t - 1));
|
||||
if (insert_space && t > 1)
|
||||
curr = skipwhite(curr);
|
||||
currsize = (int)STRLEN(curr);
|
||||
--- 4266,4275 ----
|
||||
copy_spaces(cend, (size_t)(spaces[t]));
|
||||
}
|
||||
mark_col_adjust(curwin->w_cursor.lnum + t, (colnr_T)0, (linenr_T)-t,
|
||||
! (long)(cend - newp + spaces[t] - (curr - curr_start)));
|
||||
if (t == 0)
|
||||
break;
|
||||
! curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t - 1));
|
||||
if (insert_space && t > 1)
|
||||
curr = skipwhite(curr);
|
||||
currsize = (int)STRLEN(curr);
|
||||
*** ../vim-7.3.019/src/testdir/test68.in 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test68.in 2010-10-09 16:53:02.000000000 +0200
|
||||
***************
|
||||
*** 51,56 ****
|
||||
--- 51,67 ----
|
||||
}
|
||||
|
||||
STARTTEST
|
||||
+ /^{/+2
|
||||
+ :set tw& fo=a
|
||||
+ I^^
|
||||
+ ENDTEST
|
||||
+
|
||||
+ {
|
||||
+ 1aa
|
||||
+ 2bb
|
||||
+ }
|
||||
+
|
||||
+ STARTTEST
|
||||
:g/^STARTTEST/.,/^ENDTEST/d
|
||||
:1;/^Results/,$wq! test.out
|
||||
ENDTEST
|
||||
*** ../vim-7.3.019/src/testdir/test68.ok 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test68.ok 2010-10-09 16:53:02.000000000 +0200
|
||||
***************
|
||||
*** 33,35 ****
|
||||
--- 33,38 ----
|
||||
#a b
|
||||
}
|
||||
|
||||
+
|
||||
+ { 1aa ^^2bb }
|
||||
+
|
||||
*** ../vim-7.3.019/src/version.c 2010-09-30 21:03:13.000000000 +0200
|
||||
--- src/version.c 2010-10-09 17:05:31.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 20,
|
||||
/**/
|
||||
|
||||
--
|
||||
Did you hear about the new 3 million dollar West Virginia State Lottery?
|
||||
The winner gets 3 dollars a year for a million years.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
70
7.3.021
70
7.3.021
@ -1,70 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.021
|
||||
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.021
|
||||
Problem: Conflict for defining Boolean in Mac header files.
|
||||
Solution: Define NO_X11_INCLUDES. (Rainer Muller)
|
||||
Files: src/os_macosx.m, src/vim.h
|
||||
|
||||
|
||||
*** ../vim-7.3.020/src/os_macosx.m 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/os_macosx.m 2010-10-10 17:01:55.000000000 +0200
|
||||
***************
|
||||
*** 15,20 ****
|
||||
--- 15,24 ----
|
||||
Error: MACOS 9 is no longer supported in Vim 7
|
||||
#endif
|
||||
|
||||
+ /* Avoid a conflict for the definition of Boolean between Mac header files and
|
||||
+ * X11 header files. */
|
||||
+ #define NO_X11_INCLUDES
|
||||
+
|
||||
#include "vim.h"
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
*** ../vim-7.3.020/src/vim.h 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/vim.h 2010-10-10 17:02:56.000000000 +0200
|
||||
***************
|
||||
*** 192,199 ****
|
||||
#endif
|
||||
|
||||
#ifdef NO_X11_INCLUDES
|
||||
! /* In os_mac_conv.c NO_X11_INCLUDES is defined to avoid X11 headers.
|
||||
! * Disable all X11 related things to avoid conflicts. */
|
||||
# ifdef FEAT_X11
|
||||
# undef FEAT_X11
|
||||
# endif
|
||||
--- 192,199 ----
|
||||
#endif
|
||||
|
||||
#ifdef NO_X11_INCLUDES
|
||||
! /* In os_mac_conv.c and os_macosx.m NO_X11_INCLUDES is defined to avoid
|
||||
! * X11 headers. Disable all X11 related things to avoid conflicts. */
|
||||
# ifdef FEAT_X11
|
||||
# undef FEAT_X11
|
||||
# endif
|
||||
*** ../vim-7.3.020/src/version.c 2010-10-09 17:21:42.000000000 +0200
|
||||
--- src/version.c 2010-10-10 17:05:19.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 21,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
259. When you enter your name in the AltaVista search engine, the top ten
|
||||
matches do indeed refer to you.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
54
7.3.022
54
7.3.022
@ -1,54 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.022
|
||||
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.022
|
||||
Problem: When opening a new window the 'spellcapcheck' option is cleared.
|
||||
Solution: Copy the correct option value. (Christian Brabandt)
|
||||
Files: src/option.c
|
||||
|
||||
|
||||
*** ../vim-7.3.021/src/option.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/option.c 2010-10-13 13:48:46.000000000 +0200
|
||||
***************
|
||||
*** 10011,10017 ****
|
||||
buf->b_p_smc = p_smc;
|
||||
#endif
|
||||
#ifdef FEAT_SPELL
|
||||
! buf->b_s.b_p_spc = vim_strsave(p_spf);
|
||||
(void)compile_cap_prog(&buf->b_s);
|
||||
buf->b_s.b_p_spf = vim_strsave(p_spf);
|
||||
buf->b_s.b_p_spl = vim_strsave(p_spl);
|
||||
--- 10011,10017 ----
|
||||
buf->b_p_smc = p_smc;
|
||||
#endif
|
||||
#ifdef FEAT_SPELL
|
||||
! buf->b_s.b_p_spc = vim_strsave(p_spc);
|
||||
(void)compile_cap_prog(&buf->b_s);
|
||||
buf->b_s.b_p_spf = vim_strsave(p_spf);
|
||||
buf->b_s.b_p_spl = vim_strsave(p_spl);
|
||||
*** ../vim-7.3.021/src/version.c 2010-10-10 17:08:28.000000000 +0200
|
||||
--- src/version.c 2010-10-13 14:02:08.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 22,
|
||||
/**/
|
||||
|
||||
--
|
||||
GALAHAD: Camelot ...
|
||||
LAUNCELOT: Camelot ...
|
||||
GAWAIN: It's only a model.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
69
7.3.023
69
7.3.023
@ -1,69 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.023
|
||||
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.023
|
||||
Problem: External program may hang when it tries to write to the tty.
|
||||
Solution: Don't close the slave tty until after the child exits. (Nikola
|
||||
Knezevic)
|
||||
Files: src/os_unix.c
|
||||
|
||||
|
||||
*** ../vim-7.3.022/src/os_unix.c 2010-09-21 22:09:28.000000000 +0200
|
||||
--- src/os_unix.c 2010-10-13 16:17:33.000000000 +0200
|
||||
***************
|
||||
*** 4168,4174 ****
|
||||
# ifdef FEAT_GUI
|
||||
if (pty_master_fd >= 0)
|
||||
{
|
||||
- close(pty_slave_fd); /* close slave side of pty */
|
||||
fromshell_fd = pty_master_fd;
|
||||
toshell_fd = dup(pty_master_fd);
|
||||
}
|
||||
--- 4168,4173 ----
|
||||
***************
|
||||
*** 4637,4642 ****
|
||||
--- 4636,4649 ----
|
||||
break;
|
||||
}
|
||||
|
||||
+ # ifdef FEAT_GUI
|
||||
+ /* Close slave side of pty. Only do this after the child has
|
||||
+ * exited, otherwise the child may hang when it tries to write on
|
||||
+ * the pty. */
|
||||
+ if (pty_master_fd >= 0)
|
||||
+ close(pty_slave_fd);
|
||||
+ # endif
|
||||
+
|
||||
/* Make sure the child that writes to the external program is
|
||||
* dead. */
|
||||
if (wpid > 0)
|
||||
*** ../vim-7.3.022/src/version.c 2010-10-13 14:05:29.000000000 +0200
|
||||
--- src/version.c 2010-10-13 16:20:48.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 23,
|
||||
/**/
|
||||
|
||||
--
|
||||
We're knights of the Round Table
|
||||
Our shows are formidable
|
||||
But many times
|
||||
We're given rhymes
|
||||
That are quite unsingable
|
||||
We're opera mad in Camelot
|
||||
We sing from the diaphragm a lot.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
115
7.3.024
115
7.3.024
@ -1,115 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.024
|
||||
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.024
|
||||
Problem: Named signs do not use a negative number as intended.
|
||||
Solution: Fix the numbering of named signs. (Xavier de Gaye)
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
|
||||
*** ../vim-7.3.023/src/ex_cmds.c 2010-09-21 16:56:29.000000000 +0200
|
||||
--- src/ex_cmds.c 2010-10-13 16:37:18.000000000 +0200
|
||||
***************
|
||||
*** 6670,6680 ****
|
||||
sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T));
|
||||
if (sp == NULL)
|
||||
return;
|
||||
- if (sp_prev == NULL)
|
||||
- first_sign = sp;
|
||||
- else
|
||||
- sp_prev->sn_next = sp;
|
||||
- sp->sn_name = vim_strnsave(arg, (int)(p - arg));
|
||||
|
||||
/* If the name is a number use that for the typenr,
|
||||
* otherwise use a negative number. */
|
||||
--- 6670,6675 ----
|
||||
***************
|
||||
*** 6687,6699 ****
|
||||
|
||||
for (lp = first_sign; lp != NULL; lp = lp->sn_next)
|
||||
{
|
||||
! if (lp->sn_typenr == last_sign_typenr)
|
||||
{
|
||||
--last_sign_typenr;
|
||||
if (last_sign_typenr == 0)
|
||||
last_sign_typenr = MAX_TYPENR;
|
||||
if (last_sign_typenr == start)
|
||||
{
|
||||
EMSG(_("E612: Too many signs defined"));
|
||||
return;
|
||||
}
|
||||
--- 6682,6695 ----
|
||||
|
||||
for (lp = first_sign; lp != NULL; lp = lp->sn_next)
|
||||
{
|
||||
! if (lp->sn_typenr == -last_sign_typenr)
|
||||
{
|
||||
--last_sign_typenr;
|
||||
if (last_sign_typenr == 0)
|
||||
last_sign_typenr = MAX_TYPENR;
|
||||
if (last_sign_typenr == start)
|
||||
{
|
||||
+ vim_free(sp);
|
||||
EMSG(_("E612: Too many signs defined"));
|
||||
return;
|
||||
}
|
||||
***************
|
||||
*** 6702,6711 ****
|
||||
}
|
||||
}
|
||||
|
||||
! sp->sn_typenr = last_sign_typenr--;
|
||||
! if (last_sign_typenr == 0)
|
||||
last_sign_typenr = MAX_TYPENR; /* wrap around */
|
||||
}
|
||||
}
|
||||
|
||||
/* set values for a defined sign. */
|
||||
--- 6698,6714 ----
|
||||
}
|
||||
}
|
||||
|
||||
! sp->sn_typenr = -last_sign_typenr;
|
||||
! if (--last_sign_typenr == 0)
|
||||
last_sign_typenr = MAX_TYPENR; /* wrap around */
|
||||
}
|
||||
+
|
||||
+ /* add the new sign to the list of signs */
|
||||
+ if (sp_prev == NULL)
|
||||
+ first_sign = sp;
|
||||
+ else
|
||||
+ sp_prev->sn_next = sp;
|
||||
+ sp->sn_name = vim_strnsave(arg, (int)(p - arg));
|
||||
}
|
||||
|
||||
/* set values for a defined sign. */
|
||||
*** ../vim-7.3.023/src/version.c 2010-10-13 16:22:05.000000000 +0200
|
||||
--- src/version.c 2010-10-13 16:42:14.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 24,
|
||||
/**/
|
||||
|
||||
--
|
||||
In war we're tough and able.
|
||||
Quite indefatigable
|
||||
Between our quests
|
||||
We sequin vests
|
||||
And impersonate Clark Gable
|
||||
It's a busy life in Camelot.
|
||||
I have to push the pram a lot.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
136
7.3.025
136
7.3.025
@ -1,136 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.025
|
||||
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.025
|
||||
Problem: ":mksession" does not square brackets escape file name properly.
|
||||
Solution: Improve escapging of file names. (partly by Peter Odding)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
|
||||
*** ../vim-7.3.024/src/ex_docmd.c 2010-09-21 16:56:29.000000000 +0200
|
||||
--- src/ex_docmd.c 2010-10-13 17:39:17.000000000 +0200
|
||||
***************
|
||||
*** 10708,10714 ****
|
||||
* Write a file name to the session file.
|
||||
* Takes care of the "slash" option in 'sessionoptions' and escapes special
|
||||
* characters.
|
||||
! * Returns FAIL if writing fails.
|
||||
*/
|
||||
static int
|
||||
ses_put_fname(fd, name, flagp)
|
||||
--- 10708,10714 ----
|
||||
* Write a file name to the session file.
|
||||
* Takes care of the "slash" option in 'sessionoptions' and escapes special
|
||||
* characters.
|
||||
! * Returns FAIL if writing fails or out of memory.
|
||||
*/
|
||||
static int
|
||||
ses_put_fname(fd, name, flagp)
|
||||
***************
|
||||
*** 10717,10765 ****
|
||||
unsigned *flagp;
|
||||
{
|
||||
char_u *sname;
|
||||
int retval = OK;
|
||||
- int c;
|
||||
|
||||
sname = home_replace_save(NULL, name);
|
||||
! if (sname != NULL)
|
||||
! name = sname;
|
||||
! while (*name != NUL)
|
||||
! {
|
||||
! #ifdef FEAT_MBYTE
|
||||
! {
|
||||
! int l;
|
||||
|
||||
! if (has_mbyte && (l = (*mb_ptr2len)(name)) > 1)
|
||||
! {
|
||||
! /* copy a multibyte char */
|
||||
! while (--l >= 0)
|
||||
! {
|
||||
! if (putc(*name, fd) != *name)
|
||||
! retval = FAIL;
|
||||
! ++name;
|
||||
! }
|
||||
! continue;
|
||||
! }
|
||||
! }
|
||||
! #endif
|
||||
! c = *name++;
|
||||
! if (c == '\\' && (*flagp & SSOP_SLASH))
|
||||
! /* change a backslash to a forward slash */
|
||||
! c = '/';
|
||||
! else if ((vim_strchr(escape_chars, c) != NULL
|
||||
! #ifdef BACKSLASH_IN_FILENAME
|
||||
! && c != '\\'
|
||||
! #endif
|
||||
! ) || c == '#' || c == '%')
|
||||
! {
|
||||
! /* escape a special character with a backslash */
|
||||
! if (putc('\\', fd) != '\\')
|
||||
! retval = FAIL;
|
||||
! }
|
||||
! if (putc(c, fd) != c)
|
||||
! retval = FAIL;
|
||||
}
|
||||
vim_free(sname);
|
||||
return retval;
|
||||
}
|
||||
|
||||
--- 10717,10748 ----
|
||||
unsigned *flagp;
|
||||
{
|
||||
char_u *sname;
|
||||
+ char_u *p;
|
||||
int retval = OK;
|
||||
|
||||
sname = home_replace_save(NULL, name);
|
||||
! if (sname == NULL)
|
||||
! return FAIL;
|
||||
|
||||
! if (*flagp & SSOP_SLASH)
|
||||
! {
|
||||
! /* change all backslashes to forward slashes */
|
||||
! for (p = sname; *p != NUL; mb_ptr_adv(p))
|
||||
! if (*p == '\\')
|
||||
! *p = '/';
|
||||
}
|
||||
+
|
||||
+ /* escapse special characters */
|
||||
+ p = vim_strsave_fnameescape(sname, FALSE);
|
||||
vim_free(sname);
|
||||
+ if (p == NULL)
|
||||
+ return FAIL;
|
||||
+
|
||||
+ /* write the result */
|
||||
+ if (fputs((char *)p, fd) < 0)
|
||||
+ retval = FAIL;
|
||||
+
|
||||
+ vim_free(p);
|
||||
return retval;
|
||||
}
|
||||
|
||||
*** ../vim-7.3.024/src/version.c 2010-10-13 16:44:17.000000000 +0200
|
||||
--- src/version.c 2010-10-13 17:49:15.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 25,
|
||||
/**/
|
||||
|
||||
--
|
||||
"Time flies like an arrow". So I put an arrow on my desk, now
|
||||
awaiting one of these time flies showing up.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
61
7.3.026
61
7.3.026
@ -1,61 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.026
|
||||
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.026
|
||||
Problem: CTRL-] in a help file doesn't always work. (Tony Mechelynck)
|
||||
Solution: Don't escape special characters. (Carlo Teubner)
|
||||
Files: src/normal.c
|
||||
|
||||
|
||||
*** ../vim-7.3.025/src/normal.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/normal.c 2010-10-13 18:01:03.000000000 +0200
|
||||
***************
|
||||
*** 5666,5673 ****
|
||||
else if (cmdchar == '#')
|
||||
aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\");
|
||||
else if (tag_cmd)
|
||||
! /* Don't escape spaces and Tabs in a tag with a backslash */
|
||||
! aux_ptr = (char_u *)"\\|\"\n[";
|
||||
else
|
||||
aux_ptr = (char_u *)"\\|\"\n*?[";
|
||||
|
||||
--- 5666,5678 ----
|
||||
else if (cmdchar == '#')
|
||||
aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\");
|
||||
else if (tag_cmd)
|
||||
! {
|
||||
! if (curbuf->b_help)
|
||||
! /* ":help" handles unescaped argument */
|
||||
! aux_ptr = (char_u *)"";
|
||||
! else
|
||||
! aux_ptr = (char_u *)"\\|\"\n[";
|
||||
! }
|
||||
else
|
||||
aux_ptr = (char_u *)"\\|\"\n*?[";
|
||||
|
||||
*** ../vim-7.3.025/src/version.c 2010-10-13 17:50:02.000000000 +0200
|
||||
--- src/version.c 2010-10-13 18:04:54.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 26,
|
||||
/**/
|
||||
|
||||
--
|
||||
MAN: Fetchez la vache!
|
||||
GUARD: Quoi?
|
||||
MAN: Fetchez la vache!
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
88
7.3.027
88
7.3.027
@ -1,88 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.027
|
||||
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.027
|
||||
Problem: Opening a file on a network share is very slow.
|
||||
Solution: When fixing file name case append "\*" to directory, server and
|
||||
network share names. (David Anderson, John Beckett)
|
||||
Files: src/os_win32.c
|
||||
|
||||
|
||||
*** ../vim-7.3.026/src/os_win32.c 2010-09-21 17:29:19.000000000 +0200
|
||||
--- src/os_win32.c 2010-10-13 20:31:32.000000000 +0200
|
||||
***************
|
||||
*** 2308,2319 ****
|
||||
--- 2308,2321 ----
|
||||
int len)
|
||||
{
|
||||
char szTrueName[_MAX_PATH + 2];
|
||||
+ char szTrueNameTemp[_MAX_PATH + 2];
|
||||
char *ptrue, *ptruePrev;
|
||||
char *porig, *porigPrev;
|
||||
int flen;
|
||||
WIN32_FIND_DATA fb;
|
||||
HANDLE hFind;
|
||||
int c;
|
||||
+ int slen;
|
||||
|
||||
flen = (int)STRLEN(name);
|
||||
if (flen == 0 || flen > _MAX_PATH)
|
||||
***************
|
||||
*** 2358,2369 ****
|
||||
}
|
||||
*ptrue = NUL;
|
||||
|
||||
/* Skip "", "." and "..". */
|
||||
if (ptrue > ptruePrev
|
||||
&& (ptruePrev[0] != '.'
|
||||
|| (ptruePrev[1] != NUL
|
||||
&& (ptruePrev[1] != '.' || ptruePrev[2] != NUL)))
|
||||
! && (hFind = FindFirstFile(szTrueName, &fb))
|
||||
!= INVALID_HANDLE_VALUE)
|
||||
{
|
||||
c = *porig;
|
||||
--- 2360,2378 ----
|
||||
}
|
||||
*ptrue = NUL;
|
||||
|
||||
+ /* To avoid a slow failure append "\*" when searching a directory,
|
||||
+ * server or network share. */
|
||||
+ STRCPY(szTrueNameTemp, szTrueName);
|
||||
+ slen = strlen(szTrueNameTemp);
|
||||
+ if (*porig == psepc && slen + 2 < _MAX_PATH)
|
||||
+ STRCPY(szTrueNameTemp + slen, "\\*");
|
||||
+
|
||||
/* Skip "", "." and "..". */
|
||||
if (ptrue > ptruePrev
|
||||
&& (ptruePrev[0] != '.'
|
||||
|| (ptruePrev[1] != NUL
|
||||
&& (ptruePrev[1] != '.' || ptruePrev[2] != NUL)))
|
||||
! && (hFind = FindFirstFile(szTrueNameTemp, &fb))
|
||||
!= INVALID_HANDLE_VALUE)
|
||||
{
|
||||
c = *porig;
|
||||
*** ../vim-7.3.026/src/version.c 2010-10-13 18:06:42.000000000 +0200
|
||||
--- src/version.c 2010-10-13 20:37:00.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 27,
|
||||
/**/
|
||||
|
||||
--
|
||||
A cow comes flying over the battlements, lowing aggressively. The cow
|
||||
lands on GALAHAD'S PAGE, squashing him completely.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
179
7.3.028
179
7.3.028
@ -1,179 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.028
|
||||
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.028 (after 7.3.024)
|
||||
Problem: Signs don't show up. (Charles Campbell)
|
||||
Solution: Don't use negative numbers. Also assign a number to signs that
|
||||
have a name of all digits to avoid using a sign number twice.
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
|
||||
*** ../vim-7.3.027/src/ex_cmds.c 2010-10-13 16:44:17.000000000 +0200
|
||||
--- src/ex_cmds.c 2010-10-14 20:59:04.000000000 +0200
|
||||
***************
|
||||
*** 6569,6575 ****
|
||||
};
|
||||
|
||||
static sign_T *first_sign = NULL;
|
||||
! static int last_sign_typenr = MAX_TYPENR; /* is decremented */
|
||||
|
||||
static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd));
|
||||
static void sign_list_defined __ARGS((sign_T *sp));
|
||||
--- 6569,6575 ----
|
||||
};
|
||||
|
||||
static sign_T *first_sign = NULL;
|
||||
! static int next_sign_typenr = 1;
|
||||
|
||||
static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd));
|
||||
static void sign_list_defined __ARGS((sign_T *sp));
|
||||
***************
|
||||
*** 6651,6659 ****
|
||||
--- 6651,6664 ----
|
||||
EMSG(_("E156: Missing sign name"));
|
||||
else
|
||||
{
|
||||
+ /* Isolate the sign name. If it's a number skip leading zeroes,
|
||||
+ * so that "099" and "99" are the same sign. But keep "0". */
|
||||
p = skiptowhite(arg);
|
||||
if (*p != NUL)
|
||||
*p++ = NUL;
|
||||
+ while (arg[0] == '0' && arg[1] != NUL)
|
||||
+ ++arg;
|
||||
+
|
||||
sp_prev = NULL;
|
||||
for (sp = first_sign; sp != NULL; sp = sp->sn_next)
|
||||
{
|
||||
***************
|
||||
*** 6666,6706 ****
|
||||
/* ":sign define {name} ...": define a sign */
|
||||
if (sp == NULL)
|
||||
{
|
||||
/* Allocate a new sign. */
|
||||
sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T));
|
||||
if (sp == NULL)
|
||||
return;
|
||||
|
||||
! /* If the name is a number use that for the typenr,
|
||||
! * otherwise use a negative number. */
|
||||
! if (VIM_ISDIGIT(*arg))
|
||||
! sp->sn_typenr = atoi((char *)arg);
|
||||
! else
|
||||
{
|
||||
! sign_T *lp;
|
||||
! int start = last_sign_typenr;
|
||||
!
|
||||
! for (lp = first_sign; lp != NULL; lp = lp->sn_next)
|
||||
{
|
||||
! if (lp->sn_typenr == -last_sign_typenr)
|
||||
{
|
||||
! --last_sign_typenr;
|
||||
! if (last_sign_typenr == 0)
|
||||
! last_sign_typenr = MAX_TYPENR;
|
||||
! if (last_sign_typenr == start)
|
||||
! {
|
||||
! vim_free(sp);
|
||||
! EMSG(_("E612: Too many signs defined"));
|
||||
! return;
|
||||
! }
|
||||
! lp = first_sign;
|
||||
! continue;
|
||||
}
|
||||
}
|
||||
|
||||
! sp->sn_typenr = -last_sign_typenr;
|
||||
! if (--last_sign_typenr == 0)
|
||||
! last_sign_typenr = MAX_TYPENR; /* wrap around */
|
||||
}
|
||||
|
||||
/* add the new sign to the list of signs */
|
||||
--- 6671,6715 ----
|
||||
/* ":sign define {name} ...": define a sign */
|
||||
if (sp == NULL)
|
||||
{
|
||||
+ sign_T *lp;
|
||||
+ int start = next_sign_typenr;
|
||||
+
|
||||
/* Allocate a new sign. */
|
||||
sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T));
|
||||
if (sp == NULL)
|
||||
return;
|
||||
|
||||
! /* Check that next_sign_typenr is not already being used.
|
||||
! * This only happens after wrapping around. Hopefully
|
||||
! * another one got deleted and we can use its number. */
|
||||
! for (lp = first_sign; lp != NULL; )
|
||||
{
|
||||
! if (lp->sn_typenr == next_sign_typenr)
|
||||
{
|
||||
! ++next_sign_typenr;
|
||||
! if (next_sign_typenr == MAX_TYPENR)
|
||||
! next_sign_typenr = 1;
|
||||
! if (next_sign_typenr == start)
|
||||
{
|
||||
! vim_free(sp);
|
||||
! EMSG(_("E612: Too many signs defined"));
|
||||
! return;
|
||||
}
|
||||
+ lp = first_sign; /* start all over */
|
||||
+ continue;
|
||||
}
|
||||
+ lp = lp->sn_next;
|
||||
+ }
|
||||
+
|
||||
+ sp->sn_typenr = next_sign_typenr;
|
||||
+ if (++next_sign_typenr == MAX_TYPENR)
|
||||
+ next_sign_typenr = 1; /* wrap around */
|
||||
|
||||
! sp->sn_name = vim_strsave(arg);
|
||||
! if (sp->sn_name == NULL) /* out of memory */
|
||||
! {
|
||||
! vim_free(sp);
|
||||
! return;
|
||||
}
|
||||
|
||||
/* add the new sign to the list of signs */
|
||||
***************
|
||||
*** 6708,6714 ****
|
||||
first_sign = sp;
|
||||
else
|
||||
sp_prev->sn_next = sp;
|
||||
- sp->sn_name = vim_strnsave(arg, (int)(p - arg));
|
||||
}
|
||||
|
||||
/* set values for a defined sign. */
|
||||
--- 6717,6722 ----
|
||||
***************
|
||||
*** 6886,6891 ****
|
||||
--- 6894,6901 ----
|
||||
arg = skiptowhite(arg);
|
||||
if (*arg != NUL)
|
||||
*arg++ = NUL;
|
||||
+ while (sign_name[0] == '0' && sign_name[1] != NUL)
|
||||
+ ++sign_name;
|
||||
}
|
||||
else if (STRNCMP(arg, "file=", 5) == 0)
|
||||
{
|
||||
*** ../vim-7.3.027/src/version.c 2010-10-13 20:37:37.000000000 +0200
|
||||
--- src/version.c 2010-10-14 20:50:54.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 28,
|
||||
/**/
|
||||
|
||||
--
|
||||
This is an airconditioned room, do not open Windows.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
177
7.3.029
177
7.3.029
@ -1,177 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.029
|
||||
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.029
|
||||
Problem: ":sort n" sorts lines without a number as number zero. (Beeyawned)
|
||||
Solution: Make lines without a number sort before lines with a number. Also
|
||||
fix sorting negative numbers.
|
||||
Files: src/ex_cmds.c, src/testdir/test57.in, src/testdir/test57.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.028/src/ex_cmds.c 2010-10-14 21:29:31.000000000 +0200
|
||||
--- src/ex_cmds.c 2010-10-15 20:04:25.000000000 +0200
|
||||
***************
|
||||
*** 323,329 ****
|
||||
/* When sorting numbers "start_col_nr" is the number, not the column
|
||||
* number. */
|
||||
if (sort_nr)
|
||||
! result = l1.start_col_nr - l2.start_col_nr;
|
||||
else
|
||||
{
|
||||
/* We need to copy one line into "sortbuf1", because there is no
|
||||
--- 323,330 ----
|
||||
/* When sorting numbers "start_col_nr" is the number, not the column
|
||||
* number. */
|
||||
if (sort_nr)
|
||||
! result = l1.start_col_nr == l2.start_col_nr ? 0
|
||||
! : l1.start_col_nr > l2.start_col_nr ? 1 : -1;
|
||||
else
|
||||
{
|
||||
/* We need to copy one line into "sortbuf1", because there is no
|
||||
***************
|
||||
*** 482,488 ****
|
||||
* of the match, by temporarily terminating the string there */
|
||||
s2 = s + end_col;
|
||||
c = *s2;
|
||||
! (*s2) = 0;
|
||||
/* Sorting on number: Store the number itself. */
|
||||
p = s + start_col;
|
||||
if (sort_hex)
|
||||
--- 483,489 ----
|
||||
* of the match, by temporarily terminating the string there */
|
||||
s2 = s + end_col;
|
||||
c = *s2;
|
||||
! *s2 = NUL;
|
||||
/* Sorting on number: Store the number itself. */
|
||||
p = s + start_col;
|
||||
if (sort_hex)
|
||||
***************
|
||||
*** 491,499 ****
|
||||
s = skiptodigit(p);
|
||||
if (s > p && s[-1] == '-')
|
||||
--s; /* include preceding negative sign */
|
||||
! vim_str2nr(s, NULL, NULL, sort_oct, sort_hex,
|
||||
! &nrs[lnum - eap->line1].start_col_nr, NULL);
|
||||
! (*s2) = c;
|
||||
}
|
||||
else
|
||||
{
|
||||
--- 492,504 ----
|
||||
s = skiptodigit(p);
|
||||
if (s > p && s[-1] == '-')
|
||||
--s; /* include preceding negative sign */
|
||||
! if (*s == NUL)
|
||||
! /* empty line should sort before any number */
|
||||
! nrs[lnum - eap->line1].start_col_nr = -MAXLNUM;
|
||||
! else
|
||||
! vim_str2nr(s, NULL, NULL, sort_oct, sort_hex,
|
||||
! &nrs[lnum - eap->line1].start_col_nr, NULL);
|
||||
! *s2 = c;
|
||||
}
|
||||
else
|
||||
{
|
||||
***************
|
||||
*** 6556,6563 ****
|
||||
struct sign
|
||||
{
|
||||
sign_T *sn_next; /* next sign in list */
|
||||
! int sn_typenr; /* type number of sign (negative if not equal
|
||||
! to name) */
|
||||
char_u *sn_name; /* name of sign */
|
||||
char_u *sn_icon; /* name of pixmap */
|
||||
#ifdef FEAT_SIGN_ICONS
|
||||
--- 6561,6567 ----
|
||||
struct sign
|
||||
{
|
||||
sign_T *sn_next; /* next sign in list */
|
||||
! int sn_typenr; /* type number of sign */
|
||||
char_u *sn_name; /* name of sign */
|
||||
char_u *sn_icon; /* name of pixmap */
|
||||
#ifdef FEAT_SIGN_ICONS
|
||||
*** ../vim-7.3.028/src/testdir/test57.in 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test57.in 2010-10-15 20:12:23.000000000 +0200
|
||||
***************
|
||||
*** 53,67 ****
|
||||
t02: numeric
|
||||
abc
|
||||
ab
|
||||
- a
|
||||
a321
|
||||
a123
|
||||
a122
|
||||
b321
|
||||
b123
|
||||
c123d
|
||||
123b
|
||||
c321d
|
||||
b322b
|
||||
b321
|
||||
b321b
|
||||
--- 53,71 ----
|
||||
t02: numeric
|
||||
abc
|
||||
ab
|
||||
a321
|
||||
a123
|
||||
a122
|
||||
+ a
|
||||
+ x-22
|
||||
b321
|
||||
b123
|
||||
+
|
||||
c123d
|
||||
+ -24
|
||||
123b
|
||||
c321d
|
||||
+ 0
|
||||
b322b
|
||||
b321
|
||||
b321b
|
||||
*** ../vim-7.3.028/src/testdir/test57.ok 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test57.ok 2010-10-15 20:11:42.000000000 +0200
|
||||
***************
|
||||
*** 21,26 ****
|
||||
--- 21,30 ----
|
||||
a
|
||||
|
||||
|
||||
+
|
||||
+ -24
|
||||
+ x-22
|
||||
+ 0
|
||||
a122
|
||||
a123
|
||||
b123
|
||||
*** ../vim-7.3.028/src/version.c 2010-10-14 21:29:31.000000000 +0200
|
||||
--- src/version.c 2010-10-15 20:13:52.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 29,
|
||||
/**/
|
||||
|
||||
--
|
||||
When danger reared its ugly head,
|
||||
He bravely turned his tail and fled
|
||||
Yes, Brave Sir Robin turned about
|
||||
And gallantly he chickened out
|
||||
Bravely taking to his feet
|
||||
He beat a very brave retreat
|
||||
Bravest of the brave Sir Robin
|
||||
Petrified of being dead
|
||||
Soiled his pants then brave Sir Robin
|
||||
Turned away and fled.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
366
7.3.030
366
7.3.030
@ -1,366 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.030
|
||||
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.030
|
||||
Problem: Cannot store Dict and List in viminfo file.
|
||||
Solution: Add support for this. (Christian Brabandt)
|
||||
Files: runtime/doc/options.txt, src/eval.c, src/testdir/Make_amiga.mak,
|
||||
src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
|
||||
src/testdir/Make_os2.mak, src/testdir/Make_vms.mms,
|
||||
src/testdir/Makefile, src/testdir/main.aap, src/testdir/test74.in,
|
||||
src/testdir/test74.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.029/runtime/doc/options.txt 2010-08-15 21:57:17.000000000 +0200
|
||||
--- runtime/doc/options.txt 2010-10-20 17:41:18.000000000 +0200
|
||||
***************
|
||||
*** 7530,7537 ****
|
||||
! When included, save and restore global variables that start
|
||||
with an uppercase letter, and don't contain a lowercase
|
||||
letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
|
||||
! and "_K_L_M" are not. Only String and Number types are
|
||||
! stored.
|
||||
" Maximum number of lines saved for each register. Old name of
|
||||
the '<' item, with the disadvantage that you need to put a
|
||||
backslash before the ", otherwise it will be recognized as the
|
||||
--- 7530,7538 ----
|
||||
! When included, save and restore global variables that start
|
||||
with an uppercase letter, and don't contain a lowercase
|
||||
letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
|
||||
! and "_K_L_M" are not. Nested List and Dict items may not be
|
||||
! read back correctly, you end up with a string representation
|
||||
! instead.
|
||||
" Maximum number of lines saved for each register. Old name of
|
||||
the '<' item, with the disadvantage that you need to put a
|
||||
backslash before the ", otherwise it will be recognized as the
|
||||
*** ../vim-7.3.029/src/eval.c 2010-09-14 12:47:30.000000000 +0200
|
||||
--- src/eval.c 2010-10-20 16:25:54.000000000 +0200
|
||||
***************
|
||||
*** 22520,22537 ****
|
||||
if (tab != NULL)
|
||||
{
|
||||
*tab++ = '\0'; /* isolate the variable name */
|
||||
! if (*tab == 'S') /* string var */
|
||||
! type = VAR_STRING;
|
||||
#ifdef FEAT_FLOAT
|
||||
! else if (*tab == 'F')
|
||||
! type = VAR_FLOAT;
|
||||
#endif
|
||||
|
||||
tab = vim_strchr(tab, '\t');
|
||||
if (tab != NULL)
|
||||
{
|
||||
tv.v_type = type;
|
||||
! if (type == VAR_STRING)
|
||||
tv.vval.v_string = viminfo_readstring(virp,
|
||||
(int)(tab - virp->vir_line + 1), TRUE);
|
||||
#ifdef FEAT_FLOAT
|
||||
--- 22520,22540 ----
|
||||
if (tab != NULL)
|
||||
{
|
||||
*tab++ = '\0'; /* isolate the variable name */
|
||||
! switch (*tab)
|
||||
! {
|
||||
! case 'S': type = VAR_STRING; break;
|
||||
#ifdef FEAT_FLOAT
|
||||
! case 'F': type = VAR_FLOAT; break;
|
||||
#endif
|
||||
+ case 'D': type = VAR_DICT; break;
|
||||
+ case 'L': type = VAR_LIST; break;
|
||||
+ }
|
||||
|
||||
tab = vim_strchr(tab, '\t');
|
||||
if (tab != NULL)
|
||||
{
|
||||
tv.v_type = type;
|
||||
! if (type == VAR_STRING || type == VAR_DICT || type == VAR_LIST)
|
||||
tv.vval.v_string = viminfo_readstring(virp,
|
||||
(int)(tab - virp->vir_line + 1), TRUE);
|
||||
#ifdef FEAT_FLOAT
|
||||
***************
|
||||
*** 22540,22548 ****
|
||||
#endif
|
||||
else
|
||||
tv.vval.v_number = atol((char *)tab + 1);
|
||||
set_var(virp->vir_line + 1, &tv, FALSE);
|
||||
! if (type == VAR_STRING)
|
||||
vim_free(tv.vval.v_string);
|
||||
}
|
||||
}
|
||||
}
|
||||
--- 22543,22569 ----
|
||||
#endif
|
||||
else
|
||||
tv.vval.v_number = atol((char *)tab + 1);
|
||||
+ if (type == VAR_DICT || type == VAR_LIST)
|
||||
+ {
|
||||
+ typval_T *etv = eval_expr(tv.vval.v_string, NULL);
|
||||
+
|
||||
+ if (etv == NULL)
|
||||
+ /* Failed to parse back the dict or list, use it as a
|
||||
+ * string. */
|
||||
+ tv.v_type = VAR_STRING;
|
||||
+ else
|
||||
+ {
|
||||
+ vim_free(tv.vval.v_string);
|
||||
+ tv = *etv;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
set_var(virp->vir_line + 1, &tv, FALSE);
|
||||
!
|
||||
! if (tv.v_type == VAR_STRING)
|
||||
vim_free(tv.vval.v_string);
|
||||
+ else if (tv.v_type == VAR_DICT || tv.v_type == VAR_LIST)
|
||||
+ clear_tv(&tv);
|
||||
}
|
||||
}
|
||||
}
|
||||
***************
|
||||
*** 22584,22591 ****
|
||||
case VAR_STRING: s = "STR"; break;
|
||||
case VAR_NUMBER: s = "NUM"; break;
|
||||
#ifdef FEAT_FLOAT
|
||||
! case VAR_FLOAT: s = "FLO"; break;
|
||||
#endif
|
||||
default: continue;
|
||||
}
|
||||
fprintf(fp, "!%s\t%s\t", this_var->di_key, s);
|
||||
--- 22605,22614 ----
|
||||
case VAR_STRING: s = "STR"; break;
|
||||
case VAR_NUMBER: s = "NUM"; break;
|
||||
#ifdef FEAT_FLOAT
|
||||
! case VAR_FLOAT: s = "FLO"; break;
|
||||
#endif
|
||||
+ case VAR_DICT: s = "DIC"; break;
|
||||
+ case VAR_LIST: s = "LIS"; break;
|
||||
default: continue;
|
||||
}
|
||||
fprintf(fp, "!%s\t%s\t", this_var->di_key, s);
|
||||
*** ../vim-7.3.029/src/testdir/Make_amiga.mak 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/Make_amiga.mak 2010-10-20 16:27:19.000000000 +0200
|
||||
***************
|
||||
*** 27,33 ****
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 27,33 ----
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out test74.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
***************
|
||||
*** 120,122 ****
|
||||
--- 120,123 ----
|
||||
test71.out: test71.in
|
||||
test72.out: test72.in
|
||||
test73.out: test73.in
|
||||
+ test74.out: test74.in
|
||||
*** ../vim-7.3.029/src/testdir/Make_dos.mak 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/Make_dos.mak 2010-10-20 16:13:35.000000000 +0200
|
||||
***************
|
||||
*** 27,33 ****
|
||||
test30.out test31.out test32.out test33.out test34.out \
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
! test68.out test69.out test71.out test72.out test73.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 27,34 ----
|
||||
test30.out test31.out test32.out test33.out test34.out \
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
! test68.out test69.out test71.out test72.out test73.out \
|
||||
! test74.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.029/src/testdir/Make_ming.mak 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/Make_ming.mak 2010-10-20 16:26:54.000000000 +0200
|
||||
***************
|
||||
*** 47,53 ****
|
||||
test30.out test31.out test32.out test33.out test34.out \
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
! test68.out test69.out test71.out test72.out test72.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 47,54 ----
|
||||
test30.out test31.out test32.out test33.out test34.out \
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
! test68.out test69.out test71.out test72.out test73.out \
|
||||
! test74.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.029/src/testdir/Make_os2.mak 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/Make_os2.mak 2010-10-20 16:13:35.000000000 +0200
|
||||
***************
|
||||
*** 27,33 ****
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 27,33 ----
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out test74.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
*** ../vim-7.3.029/src/testdir/Make_vms.mms 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/Make_vms.mms 2010-10-20 16:13:35.000000000 +0200
|
||||
***************
|
||||
*** 74,80 ****
|
||||
test56.out test57.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
! test71.out test72.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
--- 74,80 ----
|
||||
test56.out test57.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
! test71.out test72.out test74.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
*** ../vim-7.3.029/src/testdir/Makefile 2010-09-14 12:47:30.000000000 +0200
|
||||
--- src/testdir/Makefile 2010-10-20 16:13:35.000000000 +0200
|
||||
***************
|
||||
*** 10,15 ****
|
||||
--- 10,16 ----
|
||||
# This will make testing about 10 times as slow.
|
||||
# VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --log-file=valgrind.$*
|
||||
|
||||
+
|
||||
SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
|
||||
test7.out test8.out test9.out test10.out test11.out \
|
||||
test12.out test13.out test14.out test15.out test17.out \
|
||||
***************
|
||||
*** 23,29 ****
|
||||
test54.out test55.out test56.out test57.out test58.out \
|
||||
test59.out test60.out test61.out test62.out test63.out \
|
||||
test64.out test65.out test66.out test67.out test68.out \
|
||||
! test69.out test70.out test71.out test72.out test73.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
--- 24,31 ----
|
||||
test54.out test55.out test56.out test57.out test58.out \
|
||||
test59.out test60.out test61.out test62.out test63.out \
|
||||
test64.out test65.out test66.out test67.out test68.out \
|
||||
! test69.out test70.out test71.out test72.out test73.out \
|
||||
! test74.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
*** ../vim-7.3.029/src/testdir/main.aap 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/main.aap 2010-10-20 16:13:35.000000000 +0200
|
||||
***************
|
||||
*** 13,19 ****
|
||||
test33.out test34.out test35.out test36.out test37.out
|
||||
test38.out test39.out test40.out test41.out test42.out
|
||||
test43.out test44.out test45.out test46.out test47.out
|
||||
! test48.out test49.out
|
||||
|
||||
ScriptsGUI = test16.out
|
||||
|
||||
--- 13,19 ----
|
||||
test33.out test34.out test35.out test36.out test37.out
|
||||
test38.out test39.out test40.out test41.out test42.out
|
||||
test43.out test44.out test45.out test46.out test47.out
|
||||
! test48.out test49.out test74.out
|
||||
|
||||
ScriptsGUI = test16.out
|
||||
|
||||
*** ../vim-7.3.029/src/testdir/test74.in 2010-10-20 17:41:30.000000000 +0200
|
||||
--- src/testdir/test74.in 2010-10-20 17:37:52.000000000 +0200
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,36 ----
|
||||
+ " Tests for storing global variables in the .viminfo file vim: set ft=vim:
|
||||
+
|
||||
+ STARTTEST
|
||||
+ :so small.vim
|
||||
+ :" Do all test in a separate window to avoid E211 when we recursively
|
||||
+ :" delete the Xfind directory during cleanup
|
||||
+ :"
|
||||
+ :" This will cause a few errors, do it silently.
|
||||
+ :set visualbell
|
||||
+ :set nocp viminfo+=!,nviminfo
|
||||
+ :let MY_GLOBAL_DICT={'foo': 1, 'bar': 0, 'longvarible': 1000}
|
||||
+ :" store a really long list, so line wrapping will occur in viminfo file
|
||||
+ :let MY_GLOBAL_LIST=range(1,100)
|
||||
+ :wv! Xviminfo
|
||||
+ :unlet MY_GLOBAL_DICT
|
||||
+ :unlet MY_GLOBAL_LIST
|
||||
+ :rv! Xviminfo
|
||||
+ :call delete('Xviminfo')
|
||||
+ :if exists("MY_GLOBAL_DICT")
|
||||
+ :redir >> test.out
|
||||
+ :echo MY_GLOBAL_DICT
|
||||
+ :redir end
|
||||
+ :endif
|
||||
+ :if exists("MY_GLOBAL_LIST")
|
||||
+ :redir >> test.out
|
||||
+ :echo MY_GLOBAL_LIST
|
||||
+ :redir end
|
||||
+ :endif
|
||||
+ :redir >> test.out
|
||||
+ :echo "foobar"
|
||||
+ :redir end
|
||||
+ :endif
|
||||
+ :qa!
|
||||
+ ENDTEST
|
||||
+
|
||||
+ eof
|
||||
*** ../vim-7.3.029/src/testdir/test74.ok 2010-10-20 17:41:30.000000000 +0200
|
||||
--- src/testdir/test74.ok 2010-10-20 17:36:57.000000000 +0200
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,5 ----
|
||||
+
|
||||
+ {'foo': 1, 'longvarible': 1000, 'bar': 0}
|
||||
+ [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
|
||||
+
|
||||
+ foobar
|
||||
*** ../vim-7.3.029/src/version.c 2010-10-15 20:20:00.000000000 +0200
|
||||
--- src/version.c 2010-10-20 17:23:54.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 30,
|
||||
/**/
|
||||
|
||||
--
|
||||
Not too long ago, cut and paste was done with scissors and glue...
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
121
7.3.031
121
7.3.031
@ -1,121 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.031
|
||||
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.031
|
||||
Problem: Can't pass the X window ID to another application.
|
||||
Solution: Add v:windowid. (Christian J. Robinson, Lech Lorens)
|
||||
Files: runtime/doc/eval.txt, src/eval.c, src/gui.c, src/vim.h,
|
||||
src/os_unix.c
|
||||
|
||||
|
||||
*** ../vim-7.3.030/runtime/doc/eval.txt 2010-08-15 21:57:15.000000000 +0200
|
||||
--- runtime/doc/eval.txt 2010-10-20 19:11:03.000000000 +0200
|
||||
***************
|
||||
*** 1657,1662 ****
|
||||
--- 1657,1667 ----
|
||||
*v:warningmsg* *warningmsg-variable*
|
||||
v:warningmsg Last given warning message. It's allowed to set this variable.
|
||||
|
||||
+ *v:windowid* *windowid-variable*
|
||||
+ v:windowid When any X11 based GUI is running or when running in a
|
||||
+ terminal and Vim connects to the X server (|-X|) this will be
|
||||
+ set to the window ID. Otherwise the value is zero.
|
||||
+
|
||||
==============================================================================
|
||||
4. Builtin Functions *functions*
|
||||
|
||||
*** ../vim-7.3.030/src/eval.c 2010-10-20 17:44:01.000000000 +0200
|
||||
--- src/eval.c 2010-10-20 18:48:40.000000000 +0200
|
||||
***************
|
||||
*** 362,367 ****
|
||||
--- 362,368 ----
|
||||
{VV_NAME("operator", VAR_STRING), VV_RO},
|
||||
{VV_NAME("searchforward", VAR_NUMBER), 0},
|
||||
{VV_NAME("oldfiles", VAR_LIST), 0},
|
||||
+ {VV_NAME("windowid", VAR_NUMBER), VV_RO},
|
||||
};
|
||||
|
||||
/* shorthand */
|
||||
*** ../vim-7.3.030/src/gui.c 2010-09-29 17:26:57.000000000 +0200
|
||||
--- src/gui.c 2010-10-20 19:15:56.000000000 +0200
|
||||
***************
|
||||
*** 105,112 ****
|
||||
--- 105,122 ----
|
||||
|
||||
#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
|
||||
if (gui.in_use)
|
||||
+ {
|
||||
+ # ifdef FEAT_EVAL
|
||||
+ Window x11_window;
|
||||
+ Display *x11_display;
|
||||
+
|
||||
+ if (gui_get_x11_windis(&x11_window, &x11_display) == OK)
|
||||
+ set_vim_var_nr(VV_WINDOWID, (long)x11_window);
|
||||
+ # endif
|
||||
+
|
||||
/* Display error messages in a dialog now. */
|
||||
display_errors();
|
||||
+ }
|
||||
#endif
|
||||
|
||||
#if defined(MAY_FORK) && !defined(__QNXNTO__)
|
||||
*** ../vim-7.3.030/src/vim.h 2010-10-10 17:08:28.000000000 +0200
|
||||
--- src/vim.h 2010-10-20 18:48:40.000000000 +0200
|
||||
***************
|
||||
*** 1842,1848 ****
|
||||
#define VV_OP 52
|
||||
#define VV_SEARCHFORWARD 53
|
||||
#define VV_OLDFILES 54
|
||||
! #define VV_LEN 55 /* number of v: vars */
|
||||
|
||||
#ifdef FEAT_CLIPBOARD
|
||||
|
||||
--- 1842,1849 ----
|
||||
#define VV_OP 52
|
||||
#define VV_SEARCHFORWARD 53
|
||||
#define VV_OLDFILES 54
|
||||
! #define VV_WINDOWID 55
|
||||
! #define VV_LEN 56 /* number of v: vars */
|
||||
|
||||
#ifdef FEAT_CLIPBOARD
|
||||
|
||||
*** ../vim-7.3.030/src/os_unix.c 2010-10-13 16:22:05.000000000 +0200
|
||||
--- src/os_unix.c 2010-10-20 19:15:46.000000000 +0200
|
||||
***************
|
||||
*** 1738,1743 ****
|
||||
--- 1738,1748 ----
|
||||
}
|
||||
if (x11_window == 0 || x11_display == NULL)
|
||||
return (result = FAIL);
|
||||
+
|
||||
+ # ifdef FEAT_EVAL
|
||||
+ set_vim_var_nr(VV_WINDOWID, (long)x11_window);
|
||||
+ # endif
|
||||
+
|
||||
return (result = OK);
|
||||
}
|
||||
|
||||
*** ../vim-7.3.030/src/version.c 2010-10-20 17:44:01.000000000 +0200
|
||||
--- src/version.c 2010-10-20 19:11:31.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 31,
|
||||
/**/
|
||||
|
||||
--
|
||||
What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics'
|
||||
meaning 'bloodsucking creatures'.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
704
7.3.032
704
7.3.032
@ -1,704 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.032
|
||||
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.032
|
||||
Problem: maparg() doesn't return the flags, such as <buffer>, <script>,
|
||||
<silent>. These are needed to save and restore a mapping.
|
||||
Solution: Improve maparg(). (also by Christian Brabandt)
|
||||
Files: runtime/doc/eval.txt, src/eval.c, src/getchar.c, src/gui_w48.c, src/message.c, src/proto/getchar.pro, src/proto/message.pro, src/structs.h src/testdir/test75.in, src/testdir/test75.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.031/runtime/doc/eval.txt 2010-10-20 19:17:43.000000000 +0200
|
||||
--- runtime/doc/eval.txt 2010-10-20 19:44:41.000000000 +0200
|
||||
***************
|
||||
*** 1827,1833 ****
|
||||
log( {expr}) Float natural logarithm (base e) of {expr}
|
||||
log10( {expr}) Float logarithm of Float {expr} to base 10
|
||||
map( {expr}, {string}) List/Dict change each item in {expr} to {expr}
|
||||
! maparg( {name}[, {mode} [, {abbr}]])
|
||||
String rhs of mapping {name} in mode {mode}
|
||||
mapcheck( {name}[, {mode} [, {abbr}]])
|
||||
String check for mappings matching {name}
|
||||
--- 1827,1833 ----
|
||||
log( {expr}) Float natural logarithm (base e) of {expr}
|
||||
log10( {expr}) Float logarithm of Float {expr} to base 10
|
||||
map( {expr}, {string}) List/Dict change each item in {expr} to {expr}
|
||||
! maparg( {name}[, {mode} [, {abbr} [, {dict}]]])
|
||||
String rhs of mapping {name} in mode {mode}
|
||||
mapcheck( {name}[, {mode} [, {abbr}]])
|
||||
String check for mappings matching {name}
|
||||
***************
|
||||
*** 3971,3993 ****
|
||||
further items in {expr} are processed.
|
||||
|
||||
|
||||
! maparg({name}[, {mode} [, {abbr}]]) *maparg()*
|
||||
! Return the rhs of mapping {name} in mode {mode}. When there
|
||||
! is no mapping for {name}, an empty String is returned.
|
||||
{mode} can be one of these strings:
|
||||
"n" Normal
|
||||
! "v" Visual
|
||||
"o" Operator-pending
|
||||
"i" Insert
|
||||
"c" Cmd-line
|
||||
"l" langmap |language-mapping|
|
||||
"" Normal, Visual and Operator-pending
|
||||
When {mode} is omitted, the modes for "" are used.
|
||||
When {abbr} is there and it is non-zero use abbreviations
|
||||
instead of mappings.
|
||||
! The {name} can have special key names, like in the ":map"
|
||||
! command. The returned String has special characters
|
||||
! translated like in the output of the ":map" command listing.
|
||||
The mappings local to the current buffer are checked first,
|
||||
then the global mappings.
|
||||
This function can be used to map a key even when it's already
|
||||
--- 3972,4022 ----
|
||||
further items in {expr} are processed.
|
||||
|
||||
|
||||
! maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
! When {dict} is omitted or zero: Return the rhs of mapping
|
||||
! {name} in mode {mode}. The returned String has special
|
||||
! characters translated like in the output of the ":map" command
|
||||
! listing.
|
||||
!
|
||||
! When there is no mapping for {name}, an empty String is
|
||||
! returned.
|
||||
!
|
||||
! The {name} can have special key names, like in the ":map"
|
||||
! command.
|
||||
!
|
||||
{mode} can be one of these strings:
|
||||
"n" Normal
|
||||
! "v" Visual (including Select)
|
||||
"o" Operator-pending
|
||||
"i" Insert
|
||||
"c" Cmd-line
|
||||
+ "s" Select
|
||||
+ "x" Visual
|
||||
"l" langmap |language-mapping|
|
||||
"" Normal, Visual and Operator-pending
|
||||
When {mode} is omitted, the modes for "" are used.
|
||||
+
|
||||
When {abbr} is there and it is non-zero use abbreviations
|
||||
instead of mappings.
|
||||
!
|
||||
! When {dict} is there and it is non-zero return a dictionary
|
||||
! containing all the information of the mapping with the
|
||||
! following items:
|
||||
! "lhs" The {lhs} of the mapping.
|
||||
! "rhs" The {rhs} of the mapping as typed.
|
||||
! "silent" 1 for a |:map-silent| mapping, else 0.
|
||||
! "noremap" 1 if the {rhs} of the mapping is remappable.
|
||||
! "expr" 1 for an expression mapping (|:map-<expr>|).
|
||||
! "buffer" 1 for a buffer local mapping (|:map-local|).
|
||||
! "mode" Modes for which the mapping is defined. In
|
||||
! addition to the modes mentioned above, these
|
||||
! characters will be used:
|
||||
! " " Normal, Visual and Operator-pending
|
||||
! "!" Insert and Commandline mode
|
||||
! (|mapmpde-ic|)
|
||||
! "sid" the Script local ID, used for <sid> mappings
|
||||
! (|<SID>|)
|
||||
!
|
||||
The mappings local to the current buffer are checked first,
|
||||
then the global mappings.
|
||||
This function can be used to map a key even when it's already
|
||||
*** ../vim-7.3.031/src/eval.c 2010-10-20 19:17:43.000000000 +0200
|
||||
--- src/eval.c 2010-10-20 21:15:55.000000000 +0200
|
||||
***************
|
||||
*** 7804,7810 ****
|
||||
{"log10", 1, 1, f_log10},
|
||||
#endif
|
||||
{"map", 2, 2, f_map},
|
||||
! {"maparg", 1, 3, f_maparg},
|
||||
{"mapcheck", 1, 3, f_mapcheck},
|
||||
{"match", 2, 4, f_match},
|
||||
{"matchadd", 2, 4, f_matchadd},
|
||||
--- 7804,7810 ----
|
||||
{"log10", 1, 1, f_log10},
|
||||
#endif
|
||||
{"map", 2, 2, f_map},
|
||||
! {"maparg", 1, 4, f_maparg},
|
||||
{"mapcheck", 1, 3, f_mapcheck},
|
||||
{"match", 2, 4, f_match},
|
||||
{"matchadd", 2, 4, f_matchadd},
|
||||
***************
|
||||
*** 13292,13299 ****
|
||||
char_u *keys_buf = NULL;
|
||||
char_u *rhs;
|
||||
int mode;
|
||||
- garray_T ga;
|
||||
int abbr = FALSE;
|
||||
|
||||
/* return empty string for failure */
|
||||
rettv->v_type = VAR_STRING;
|
||||
--- 13292,13301 ----
|
||||
char_u *keys_buf = NULL;
|
||||
char_u *rhs;
|
||||
int mode;
|
||||
int abbr = FALSE;
|
||||
+ int get_dict = FALSE;
|
||||
+ mapblock_T *mp;
|
||||
+ int buffer_local;
|
||||
|
||||
/* return empty string for failure */
|
||||
rettv->v_type = VAR_STRING;
|
||||
***************
|
||||
*** 13307,13313 ****
|
||||
--- 13309,13319 ----
|
||||
{
|
||||
which = get_tv_string_buf_chk(&argvars[1], buf);
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
+ {
|
||||
abbr = get_tv_number(&argvars[2]);
|
||||
+ if (argvars[3].v_type != VAR_UNKNOWN)
|
||||
+ get_dict = get_tv_number(&argvars[3]);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
which = (char_u *)"";
|
||||
***************
|
||||
*** 13317,13335 ****
|
||||
mode = get_map_mode(&which, 0);
|
||||
|
||||
keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, FALSE);
|
||||
! rhs = check_map(keys, mode, exact, FALSE, abbr);
|
||||
vim_free(keys_buf);
|
||||
- if (rhs != NULL)
|
||||
- {
|
||||
- ga_init(&ga);
|
||||
- ga.ga_itemsize = 1;
|
||||
- ga.ga_growsize = 40;
|
||||
|
||||
! while (*rhs != NUL)
|
||||
! ga_concat(&ga, str2special(&rhs, FALSE));
|
||||
|
||||
! ga_append(&ga, NUL);
|
||||
! rettv->vval.v_string = (char_u *)ga.ga_data;
|
||||
}
|
||||
}
|
||||
|
||||
--- 13323,13356 ----
|
||||
mode = get_map_mode(&which, 0);
|
||||
|
||||
keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, FALSE);
|
||||
! rhs = check_map(keys, mode, exact, FALSE, abbr, &mp, &buffer_local);
|
||||
vim_free(keys_buf);
|
||||
|
||||
! if (!get_dict)
|
||||
! {
|
||||
! /* Return a string. */
|
||||
! if (rhs != NULL)
|
||||
! rettv->vval.v_string = str2special_save(rhs, FALSE);
|
||||
!
|
||||
! }
|
||||
! else if (rettv_dict_alloc(rettv) != FAIL && rhs != NULL)
|
||||
! {
|
||||
! /* Return a dictionary. */
|
||||
! char_u *lhs = str2special_save(mp->m_keys, TRUE);
|
||||
! char_u *mapmode = map_mode_to_chars(mp->m_mode);
|
||||
! dict_T *dict = rettv->vval.v_dict;
|
||||
!
|
||||
! dict_add_nr_str(dict, "lhs", 0L, lhs);
|
||||
! dict_add_nr_str(dict, "rhs", 0L, mp->m_orig_str);
|
||||
! dict_add_nr_str(dict, "noremap", mp->m_noremap ? 1L : 0L , NULL);
|
||||
! dict_add_nr_str(dict, "expr", mp->m_expr ? 1L : 0L, NULL);
|
||||
! dict_add_nr_str(dict, "silent", mp->m_silent ? 1L : 0L, NULL);
|
||||
! dict_add_nr_str(dict, "sid", (long)mp->m_script_ID, NULL);
|
||||
! dict_add_nr_str(dict, "buffer", (long)buffer_local, NULL);
|
||||
! dict_add_nr_str(dict, "mode", 0L, mapmode);
|
||||
|
||||
! vim_free(lhs);
|
||||
! vim_free(mapmode);
|
||||
}
|
||||
}
|
||||
|
||||
*** ../vim-7.3.031/src/getchar.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/getchar.c 2010-10-20 21:16:24.000000000 +0200
|
||||
***************
|
||||
*** 3168,3173 ****
|
||||
--- 3168,3174 ----
|
||||
int expr = FALSE;
|
||||
#endif
|
||||
int noremap;
|
||||
+ char_u *orig_rhs;
|
||||
|
||||
keys = arg;
|
||||
map_table = maphash;
|
||||
***************
|
||||
*** 3266,3271 ****
|
||||
--- 3267,3273 ----
|
||||
}
|
||||
if (*p != NUL)
|
||||
*p++ = NUL;
|
||||
+
|
||||
p = skipwhite(p);
|
||||
rhs = p;
|
||||
hasarg = (*rhs != NUL);
|
||||
***************
|
||||
*** 3290,3295 ****
|
||||
--- 3292,3298 ----
|
||||
keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, special);
|
||||
if (hasarg)
|
||||
{
|
||||
+ orig_rhs = rhs;
|
||||
if (STRICMP(rhs, "<nop>") == 0) /* "<Nop>" means nothing */
|
||||
rhs = (char_u *)"";
|
||||
else
|
||||
***************
|
||||
*** 3298,3304 ****
|
||||
|
||||
#ifdef FEAT_FKMAP
|
||||
/*
|
||||
! * when in right-to-left mode and alternate keymap option set,
|
||||
* reverse the character flow in the rhs in Farsi.
|
||||
*/
|
||||
if (p_altkeymap && curwin->w_p_rl)
|
||||
--- 3301,3307 ----
|
||||
|
||||
#ifdef FEAT_FKMAP
|
||||
/*
|
||||
! * When in right-to-left mode and alternate keymap option set,
|
||||
* reverse the character flow in the rhs in Farsi.
|
||||
*/
|
||||
if (p_altkeymap && curwin->w_p_rl)
|
||||
***************
|
||||
*** 3556,3561 ****
|
||||
--- 3559,3566 ----
|
||||
}
|
||||
vim_free(mp->m_str);
|
||||
mp->m_str = newstr;
|
||||
+ vim_free(mp->m_orig_str);
|
||||
+ mp->m_orig_str = vim_strsave(orig_rhs);
|
||||
mp->m_noremap = noremap;
|
||||
mp->m_silent = silent;
|
||||
mp->m_mode = mode;
|
||||
***************
|
||||
*** 3633,3642 ****
|
||||
--- 3638,3649 ----
|
||||
|
||||
mp->m_keys = vim_strsave(keys);
|
||||
mp->m_str = vim_strsave(rhs);
|
||||
+ mp->m_orig_str = vim_strsave(orig_rhs);
|
||||
if (mp->m_keys == NULL || mp->m_str == NULL)
|
||||
{
|
||||
vim_free(mp->m_keys);
|
||||
vim_free(mp->m_str);
|
||||
+ vim_free(mp->m_orig_str);
|
||||
vim_free(mp);
|
||||
retval = 4; /* no mem */
|
||||
goto theend;
|
||||
***************
|
||||
*** 3682,3687 ****
|
||||
--- 3689,3695 ----
|
||||
mp = *mpp;
|
||||
vim_free(mp->m_keys);
|
||||
vim_free(mp->m_str);
|
||||
+ vim_free(mp->m_orig_str);
|
||||
*mpp = mp->m_next;
|
||||
vim_free(mp);
|
||||
}
|
||||
***************
|
||||
*** 3851,3862 ****
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
showmap(mp, local)
|
||||
mapblock_T *mp;
|
||||
int local; /* TRUE for buffer-local map */
|
||||
{
|
||||
! int len = 1;
|
||||
|
||||
if (msg_didout || msg_silent != 0)
|
||||
{
|
||||
--- 3859,3915 ----
|
||||
}
|
||||
}
|
||||
|
||||
+ /*
|
||||
+ * Return characters to represent the map mode in an allocated string.
|
||||
+ * Returns NULL when out of memory.
|
||||
+ */
|
||||
+ char_u *
|
||||
+ map_mode_to_chars(mode)
|
||||
+ int mode;
|
||||
+ {
|
||||
+ garray_T mapmode;
|
||||
+
|
||||
+ ga_init2(&mapmode, 1, 7);
|
||||
+
|
||||
+ if ((mode & (INSERT + CMDLINE)) == INSERT + CMDLINE)
|
||||
+ ga_append(&mapmode, '!'); /* :map! */
|
||||
+ else if (mode & INSERT)
|
||||
+ ga_append(&mapmode, 'i'); /* :imap */
|
||||
+ else if (mode & LANGMAP)
|
||||
+ ga_append(&mapmode, 'l'); /* :lmap */
|
||||
+ else if (mode & CMDLINE)
|
||||
+ ga_append(&mapmode, 'c'); /* :cmap */
|
||||
+ else if ((mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING))
|
||||
+ == NORMAL + VISUAL + SELECTMODE + OP_PENDING)
|
||||
+ ga_append(&mapmode, ' '); /* :map */
|
||||
+ else
|
||||
+ {
|
||||
+ if (mode & NORMAL)
|
||||
+ ga_append(&mapmode, 'n'); /* :nmap */
|
||||
+ if (mode & OP_PENDING)
|
||||
+ ga_append(&mapmode, 'o'); /* :omap */
|
||||
+ if ((mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE)
|
||||
+ ga_append(&mapmode, 'v'); /* :vmap */
|
||||
+ else
|
||||
+ {
|
||||
+ if (mode & VISUAL)
|
||||
+ ga_append(&mapmode, 'x'); /* :xmap */
|
||||
+ if (mode & SELECTMODE)
|
||||
+ ga_append(&mapmode, 's'); /* :smap */
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ ga_append(&mapmode, NUL);
|
||||
+ return (char_u *)mapmode.ga_data;
|
||||
+ }
|
||||
+
|
||||
static void
|
||||
showmap(mp, local)
|
||||
mapblock_T *mp;
|
||||
int local; /* TRUE for buffer-local map */
|
||||
{
|
||||
! int len = 1;
|
||||
! char_u *mapchars;
|
||||
|
||||
if (msg_didout || msg_silent != 0)
|
||||
{
|
||||
***************
|
||||
*** 3864,3912 ****
|
||||
if (got_int) /* 'q' typed at MORE prompt */
|
||||
return;
|
||||
}
|
||||
! if ((mp->m_mode & (INSERT + CMDLINE)) == INSERT + CMDLINE)
|
||||
! msg_putchar('!'); /* :map! */
|
||||
! else if (mp->m_mode & INSERT)
|
||||
! msg_putchar('i'); /* :imap */
|
||||
! else if (mp->m_mode & LANGMAP)
|
||||
! msg_putchar('l'); /* :lmap */
|
||||
! else if (mp->m_mode & CMDLINE)
|
||||
! msg_putchar('c'); /* :cmap */
|
||||
! else if ((mp->m_mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING))
|
||||
! == NORMAL + VISUAL + SELECTMODE + OP_PENDING)
|
||||
! msg_putchar(' '); /* :map */
|
||||
! else
|
||||
{
|
||||
! len = 0;
|
||||
! if (mp->m_mode & NORMAL)
|
||||
! {
|
||||
! msg_putchar('n'); /* :nmap */
|
||||
! ++len;
|
||||
! }
|
||||
! if (mp->m_mode & OP_PENDING)
|
||||
! {
|
||||
! msg_putchar('o'); /* :omap */
|
||||
! ++len;
|
||||
! }
|
||||
! if ((mp->m_mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE)
|
||||
! {
|
||||
! msg_putchar('v'); /* :vmap */
|
||||
! ++len;
|
||||
! }
|
||||
! else
|
||||
! {
|
||||
! if (mp->m_mode & VISUAL)
|
||||
! {
|
||||
! msg_putchar('x'); /* :xmap */
|
||||
! ++len;
|
||||
! }
|
||||
! if (mp->m_mode & SELECTMODE)
|
||||
! {
|
||||
! msg_putchar('s'); /* :smap */
|
||||
! ++len;
|
||||
! }
|
||||
! }
|
||||
}
|
||||
while (++len <= 3)
|
||||
msg_putchar(' ');
|
||||
|
||||
--- 3917,3931 ----
|
||||
if (got_int) /* 'q' typed at MORE prompt */
|
||||
return;
|
||||
}
|
||||
!
|
||||
! mapchars = map_mode_to_chars(mp->m_mode);
|
||||
! if (mapchars != NULL)
|
||||
{
|
||||
! msg_puts(mapchars);
|
||||
! len = STRLEN(mapchars);
|
||||
! vim_free(mapchars);
|
||||
}
|
||||
+
|
||||
while (++len <= 3)
|
||||
msg_putchar(' ');
|
||||
|
||||
***************
|
||||
*** 3931,3938 ****
|
||||
msg_putchar(' ');
|
||||
|
||||
/* Use FALSE below if we only want things like <Up> to show up as such on
|
||||
! * the rhs, and not M-x etc, TRUE gets both -- webb
|
||||
! */
|
||||
if (*mp->m_str == NUL)
|
||||
msg_puts_attr((char_u *)"<Nop>", hl_attr(HLF_8));
|
||||
else
|
||||
--- 3950,3956 ----
|
||||
msg_putchar(' ');
|
||||
|
||||
/* Use FALSE below if we only want things like <Up> to show up as such on
|
||||
! * the rhs, and not M-x etc, TRUE gets both -- webb */
|
||||
if (*mp->m_str == NUL)
|
||||
msg_puts_attr((char_u *)"<Nop>", hl_attr(HLF_8));
|
||||
else
|
||||
***************
|
||||
*** 4995,5013 ****
|
||||
sourcing_name = save_name;
|
||||
}
|
||||
|
||||
! #ifdef FEAT_EVAL
|
||||
/*
|
||||
! * Check the string "keys" against the lhs of all mappings
|
||||
! * Return pointer to rhs of mapping (mapblock->m_str)
|
||||
! * NULL otherwise
|
||||
*/
|
||||
char_u *
|
||||
! check_map(keys, mode, exact, ign_mod, abbr)
|
||||
char_u *keys;
|
||||
int mode;
|
||||
int exact; /* require exact match */
|
||||
int ign_mod; /* ignore preceding modifier */
|
||||
int abbr; /* do abbreviations */
|
||||
{
|
||||
int hash;
|
||||
int len, minlen;
|
||||
--- 5013,5033 ----
|
||||
sourcing_name = save_name;
|
||||
}
|
||||
|
||||
! #if defined(FEAT_EVAL) || defined(PROTO)
|
||||
/*
|
||||
! * Check the string "keys" against the lhs of all mappings.
|
||||
! * Return pointer to rhs of mapping (mapblock->m_str).
|
||||
! * NULL when no mapping found.
|
||||
*/
|
||||
char_u *
|
||||
! check_map(keys, mode, exact, ign_mod, abbr, mp_ptr, local_ptr)
|
||||
char_u *keys;
|
||||
int mode;
|
||||
int exact; /* require exact match */
|
||||
int ign_mod; /* ignore preceding modifier */
|
||||
int abbr; /* do abbreviations */
|
||||
+ mapblock_T **mp_ptr; /* return: pointer to mapblock or NULL */
|
||||
+ int *local_ptr; /* return: buffer-local mapping or NULL */
|
||||
{
|
||||
int hash;
|
||||
int len, minlen;
|
||||
***************
|
||||
*** 5062,5068 ****
|
||||
--- 5082,5094 ----
|
||||
minlen = mp->m_keylen - 3;
|
||||
}
|
||||
if (STRNCMP(s, keys, minlen) == 0)
|
||||
+ {
|
||||
+ if (mp_ptr != NULL)
|
||||
+ *mp_ptr = mp;
|
||||
+ if (local_ptr != NULL)
|
||||
+ *local_ptr = local;
|
||||
return mp->m_str;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
*** ../vim-7.3.031/src/gui_w48.c 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/gui_w48.c 2010-10-20 20:29:20.000000000 +0200
|
||||
***************
|
||||
*** 1810,1816 ****
|
||||
* mapped we want to use the mapping instead. */
|
||||
if (vk == VK_F10
|
||||
&& gui.menu_is_active
|
||||
! && check_map(k10, State, FALSE, TRUE, FALSE) == NULL)
|
||||
break;
|
||||
#endif
|
||||
if (GetKeyState(VK_SHIFT) & 0x8000)
|
||||
--- 1810,1817 ----
|
||||
* mapped we want to use the mapping instead. */
|
||||
if (vk == VK_F10
|
||||
&& gui.menu_is_active
|
||||
! && check_map(k10, State, FALSE, TRUE, FALSE,
|
||||
! NULL, NULL) == NULL)
|
||||
break;
|
||||
#endif
|
||||
if (GetKeyState(VK_SHIFT) & 0x8000)
|
||||
***************
|
||||
*** 1924,1930 ****
|
||||
/* Check for <F10>: Default effect is to select the menu. When <F10> is
|
||||
* mapped we need to stop it here to avoid strange effects (e.g., for the
|
||||
* key-up event) */
|
||||
! if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE, FALSE) == NULL)
|
||||
#endif
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
--- 1925,1932 ----
|
||||
/* Check for <F10>: Default effect is to select the menu. When <F10> is
|
||||
* mapped we need to stop it here to avoid strange effects (e.g., for the
|
||||
* key-up event) */
|
||||
! if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE, FALSE,
|
||||
! NULL, NULL) == NULL)
|
||||
#endif
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
*** ../vim-7.3.031/src/message.c 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/message.c 2010-10-20 20:31:33.000000000 +0200
|
||||
***************
|
||||
*** 1477,1482 ****
|
||||
--- 1477,1503 ----
|
||||
return retval;
|
||||
}
|
||||
|
||||
+ #if defined(FEAT_EVAL) || defined(PROTO)
|
||||
+ /*
|
||||
+ * Return the lhs or rhs of a mapping, with the key codes turned into printable
|
||||
+ * strings, in an allocated string.
|
||||
+ */
|
||||
+ char_u *
|
||||
+ str2special_save(str, is_lhs)
|
||||
+ char_u *str;
|
||||
+ int is_lhs; /* TRUE for lhs, FALSE for rhs */
|
||||
+ {
|
||||
+ garray_T ga;
|
||||
+ char_u *p = str;
|
||||
+
|
||||
+ ga_init2(&ga, 1, 40);
|
||||
+ while (*p != NUL)
|
||||
+ ga_concat(&ga, str2special(&p, is_lhs));
|
||||
+ ga_append(&ga, NUL);
|
||||
+ return (char_u *)ga.ga_data;
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
/*
|
||||
* Return the printable string for the key codes at "*sp".
|
||||
* Used for translating the lhs or rhs of a mapping to printable chars.
|
||||
*** ../vim-7.3.031/src/proto/getchar.pro 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/proto/getchar.pro 2010-10-20 21:06:01.000000000 +0200
|
||||
***************
|
||||
*** 51,56 ****
|
||||
--- 51,57 ----
|
||||
int get_map_mode __ARGS((char_u **cmdp, int forceit));
|
||||
void map_clear __ARGS((char_u *cmdp, char_u *arg, int forceit, int abbr));
|
||||
void map_clear_int __ARGS((buf_T *buf, int mode, int local, int abbr));
|
||||
+ char_u *map_mode_to_chars __ARGS((int mode));
|
||||
int map_to_exists __ARGS((char_u *str, char_u *modechars, int abbr));
|
||||
int map_to_exists_mode __ARGS((char_u *rhs, int mode, int abbr));
|
||||
char_u *set_context_in_map_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit, int isabbrev, int isunmap, cmdidx_T cmdidx));
|
||||
***************
|
||||
*** 61,67 ****
|
||||
int makemap __ARGS((FILE *fd, buf_T *buf));
|
||||
int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
|
||||
void check_map_keycodes __ARGS((void));
|
||||
! char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr));
|
||||
void init_mappings __ARGS((void));
|
||||
void add_map __ARGS((char_u *map, int mode));
|
||||
/* vim: set ft=c : */
|
||||
--- 62,68 ----
|
||||
int makemap __ARGS((FILE *fd, buf_T *buf));
|
||||
int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
|
||||
void check_map_keycodes __ARGS((void));
|
||||
! char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr, mapblock_T **mp_ptr, int *local_ptr));
|
||||
void init_mappings __ARGS((void));
|
||||
void add_map __ARGS((char_u *map, int mode));
|
||||
/* vim: set ft=c : */
|
||||
*** ../vim-7.3.031/src/proto/message.pro 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/proto/message.pro 2010-10-20 20:31:25.000000000 +0200
|
||||
***************
|
||||
*** 33,38 ****
|
||||
--- 33,39 ----
|
||||
int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr));
|
||||
void msg_make __ARGS((char_u *arg));
|
||||
int msg_outtrans_special __ARGS((char_u *strstart, int from));
|
||||
+ char_u *str2special_save __ARGS((char_u *str, int is_lhs));
|
||||
char_u *str2special __ARGS((char_u **sp, int from));
|
||||
void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len));
|
||||
void msg_prt_line __ARGS((char_u *s, int list));
|
||||
*** ../vim-7.3.031/src/structs.h 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/structs.h 2010-10-20 20:23:38.000000000 +0200
|
||||
***************
|
||||
*** 979,987 ****
|
||||
struct mapblock
|
||||
{
|
||||
mapblock_T *m_next; /* next mapblock in list */
|
||||
! char_u *m_keys; /* mapped from */
|
||||
int m_keylen; /* strlen(m_keys) */
|
||||
! char_u *m_str; /* mapped to */
|
||||
int m_mode; /* valid mode */
|
||||
int m_noremap; /* if non-zero no re-mapping for m_str */
|
||||
char m_silent; /* <silent> used, don't echo commands */
|
||||
--- 979,988 ----
|
||||
struct mapblock
|
||||
{
|
||||
mapblock_T *m_next; /* next mapblock in list */
|
||||
! char_u *m_keys; /* mapped from, lhs */
|
||||
int m_keylen; /* strlen(m_keys) */
|
||||
! char_u *m_str; /* mapped to, rhs */
|
||||
! char_u *m_orig_str; /* rhs as entered by the user */
|
||||
int m_mode; /* valid mode */
|
||||
int m_noremap; /* if non-zero no re-mapping for m_str */
|
||||
char m_silent; /* <silent> used, don't echo commands */
|
||||
*** ../vim-7.3.031/src/testdir/test75.in 2010-10-20 21:13:30.000000000 +0200
|
||||
--- src/testdir/test75.in 2010-10-20 20:54:04.000000000 +0200
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,16 ----
|
||||
+ " Tests for functions.
|
||||
+
|
||||
+ STARTTEST
|
||||
+ :so small.vim
|
||||
+ :" Test maparg() with a string result
|
||||
+ :map foo<C-V> is<F4>foo
|
||||
+ :vnoremap <script> <buffer> <expr> <silent> bar isbar
|
||||
+ :call append('$', maparg('foo<C-V>'))
|
||||
+ :call append('$', string(maparg('foo<C-V>', '', 0, 1)))
|
||||
+ :call append('$', string(maparg('bar', '', 0, 1)))
|
||||
+ :"
|
||||
+ :/^eof/+1,$w! test.out
|
||||
+ :qa!
|
||||
+ ENDTEST
|
||||
+
|
||||
+ eof
|
||||
*** ../vim-7.3.031/src/testdir/test75.ok 2010-10-20 21:13:30.000000000 +0200
|
||||
--- src/testdir/test75.ok 2010-10-20 20:54:08.000000000 +0200
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,3 ----
|
||||
+ is<F4>foo
|
||||
+ {'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'expr': 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0}
|
||||
+ {'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'expr': 1, 'sid': 0, 'rhs': 'isbar', 'buffer': 1}
|
||||
*** ../vim-7.3.031/src/version.c 2010-10-20 19:17:43.000000000 +0200
|
||||
--- src/version.c 2010-10-20 21:13:18.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 32,
|
||||
/**/
|
||||
|
||||
--
|
||||
Not too long ago, compress was something you did to garbage...
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
49
7.3.033
49
7.3.033
@ -1,49 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.033
|
||||
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.033 (after 7.3.032)
|
||||
Problem: Can't build without FEAT_LOCALMAP.
|
||||
Solution: Add an #ifdef. (John Marriott)
|
||||
Files: src/getchar.c
|
||||
|
||||
|
||||
*** ../vim-7.3.032/src/getchar.c 2010-10-20 21:22:17.000000000 +0200
|
||||
--- src/getchar.c 2010-10-22 22:09:40.000000000 +0200
|
||||
***************
|
||||
*** 5086,5092 ****
|
||||
--- 5086,5096 ----
|
||||
if (mp_ptr != NULL)
|
||||
*mp_ptr = mp;
|
||||
if (local_ptr != NULL)
|
||||
+ #ifdef FEAT_LOCALMAP
|
||||
*local_ptr = local;
|
||||
+ #else
|
||||
+ *local_ptr = 0;
|
||||
+ #endif
|
||||
return mp->m_str;
|
||||
}
|
||||
}
|
||||
*** ../vim-7.3.032/src/version.c 2010-10-20 21:22:17.000000000 +0200
|
||||
--- src/version.c 2010-10-22 21:18:30.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 33,
|
||||
/**/
|
||||
|
||||
--
|
||||
Futility Factor: No experiment is ever a complete failure - it can always
|
||||
serve as a negative example.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
431
7.3.034
431
7.3.034
@ -1,431 +0,0 @@
|
||||
To: vim-dev@vim.org
|
||||
Subject: Patch 7.3.034
|
||||
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.034
|
||||
Problem: Win32: may be loading .dll from the wrong directory.
|
||||
Solution: Go to the Vim executable directory when opening a library.
|
||||
Files: src/gui_w32.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs,
|
||||
src/if_python.c, src/if_python3.c, src/if_ruby.c, src/mbyte.c,
|
||||
src/os_mswin.c, src/os_win32.c, src/proto/os_win32.pro
|
||||
|
||||
|
||||
*** ../vim-7.3.033/src/gui_w32.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/gui_w32.c 2010-10-22 21:49:27.000000000 +0200
|
||||
***************
|
||||
*** 1260,1266 ****
|
||||
|
||||
/* try and load the user32.dll library and get the entry points for
|
||||
* multi-monitor-support. */
|
||||
! if ((user32_lib = LoadLibrary("User32.dll")) != NULL)
|
||||
{
|
||||
pMonitorFromWindow = (TMonitorFromWindow)GetProcAddress(user32_lib,
|
||||
"MonitorFromWindow");
|
||||
--- 1260,1266 ----
|
||||
|
||||
/* try and load the user32.dll library and get the entry points for
|
||||
* multi-monitor-support. */
|
||||
! if ((user32_lib = vimLoadLib("User32.dll")) != NULL)
|
||||
{
|
||||
pMonitorFromWindow = (TMonitorFromWindow)GetProcAddress(user32_lib,
|
||||
"MonitorFromWindow");
|
||||
***************
|
||||
*** 4188,4194 ****
|
||||
static void
|
||||
dyn_imm_load(void)
|
||||
{
|
||||
! hLibImm = LoadLibrary("imm32.dll");
|
||||
if (hLibImm == NULL)
|
||||
return;
|
||||
|
||||
--- 4188,4194 ----
|
||||
static void
|
||||
dyn_imm_load(void)
|
||||
{
|
||||
! hLibImm = vimLoadLib("imm32.dll");
|
||||
if (hLibImm == NULL)
|
||||
return;
|
||||
|
||||
*** ../vim-7.3.033/src/if_lua.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/if_lua.c 2010-10-22 21:49:39.000000000 +0200
|
||||
***************
|
||||
*** 49,55 ****
|
||||
# define symbol_from_dll dlsym
|
||||
# define close_dll dlclose
|
||||
#else
|
||||
! # define load_dll LoadLibrary
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# define close_dll FreeLibrary
|
||||
#endif
|
||||
--- 49,55 ----
|
||||
# define symbol_from_dll dlsym
|
||||
# define close_dll dlclose
|
||||
#else
|
||||
! # define load_dll vimLoadLib
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# define close_dll FreeLibrary
|
||||
#endif
|
||||
*** ../vim-7.3.033/src/if_mzsch.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/if_mzsch.c 2010-10-22 21:49:53.000000000 +0200
|
||||
***************
|
||||
*** 556,563 ****
|
||||
|
||||
if (hMzGC && hMzSch)
|
||||
return OK;
|
||||
! hMzSch = LoadLibrary(sch_dll);
|
||||
! hMzGC = LoadLibrary(gc_dll);
|
||||
|
||||
if (!hMzSch)
|
||||
{
|
||||
--- 556,563 ----
|
||||
|
||||
if (hMzGC && hMzSch)
|
||||
return OK;
|
||||
! hMzSch = vimLoadLib(sch_dll);
|
||||
! hMzGC = vimLoadLib(gc_dll);
|
||||
|
||||
if (!hMzSch)
|
||||
{
|
||||
*** ../vim-7.3.033/src/if_perl.xs 2010-08-15 21:57:30.000000000 +0200
|
||||
--- src/if_perl.xs 2010-10-22 21:53:06.000000000 +0200
|
||||
***************
|
||||
*** 106,112 ****
|
||||
#define close_dll dlclose
|
||||
#else
|
||||
#define PERL_PROC FARPROC
|
||||
! #define load_dll LoadLibrary
|
||||
#define symbol_from_dll GetProcAddress
|
||||
#define close_dll FreeLibrary
|
||||
#endif
|
||||
--- 106,112 ----
|
||||
#define close_dll dlclose
|
||||
#else
|
||||
#define PERL_PROC FARPROC
|
||||
! #define load_dll vimLoadLib
|
||||
#define symbol_from_dll GetProcAddress
|
||||
#define close_dll FreeLibrary
|
||||
#endif
|
||||
*** ../vim-7.3.033/src/if_python.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/if_python.c 2010-10-22 21:49:57.000000000 +0200
|
||||
***************
|
||||
*** 110,116 ****
|
||||
# define close_dll dlclose
|
||||
# define symbol_from_dll dlsym
|
||||
# else
|
||||
! # define load_dll LoadLibrary
|
||||
# define close_dll FreeLibrary
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# endif
|
||||
--- 110,116 ----
|
||||
# define close_dll dlclose
|
||||
# define symbol_from_dll dlsym
|
||||
# else
|
||||
! # define load_dll vimLoadLib
|
||||
# define close_dll FreeLibrary
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# endif
|
||||
*** ../vim-7.3.033/src/if_python3.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/if_python3.c 2010-10-22 21:50:01.000000000 +0200
|
||||
***************
|
||||
*** 88,94 ****
|
||||
# define close_dll dlclose
|
||||
# define symbol_from_dll dlsym
|
||||
# else
|
||||
! # define load_dll LoadLibrary
|
||||
# define close_dll FreeLibrary
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# endif
|
||||
--- 88,94 ----
|
||||
# define close_dll dlclose
|
||||
# define symbol_from_dll dlsym
|
||||
# else
|
||||
! # define load_dll vimLoadLib
|
||||
# define close_dll FreeLibrary
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# endif
|
||||
*** ../vim-7.3.033/src/if_ruby.c 2010-09-29 13:02:48.000000000 +0200
|
||||
--- src/if_ruby.c 2010-10-22 21:50:04.000000000 +0200
|
||||
***************
|
||||
*** 55,61 ****
|
||||
# define symbol_from_dll dlsym
|
||||
# define close_dll dlclose
|
||||
#else
|
||||
! # define load_dll LoadLibrary
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# define close_dll FreeLibrary
|
||||
#endif
|
||||
--- 55,61 ----
|
||||
# define symbol_from_dll dlsym
|
||||
# define close_dll dlclose
|
||||
#else
|
||||
! # define load_dll vimLoadLib
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# define close_dll FreeLibrary
|
||||
#endif
|
||||
*** ../vim-7.3.033/src/mbyte.c 2010-09-18 13:36:41.000000000 +0200
|
||||
--- src/mbyte.c 2010-10-22 21:50:09.000000000 +0200
|
||||
***************
|
||||
*** 4159,4169 ****
|
||||
{
|
||||
if (hIconvDLL != 0 && hMsvcrtDLL != 0)
|
||||
return TRUE;
|
||||
! hIconvDLL = LoadLibrary(DYNAMIC_ICONV_DLL);
|
||||
if (hIconvDLL == 0) /* sometimes it's called libiconv.dll */
|
||||
! hIconvDLL = LoadLibrary(DYNAMIC_ICONV_DLL_ALT);
|
||||
if (hIconvDLL != 0)
|
||||
! hMsvcrtDLL = LoadLibrary(DYNAMIC_MSVCRT_DLL);
|
||||
if (hIconvDLL == 0 || hMsvcrtDLL == 0)
|
||||
{
|
||||
/* Only give the message when 'verbose' is set, otherwise it might be
|
||||
--- 4159,4169 ----
|
||||
{
|
||||
if (hIconvDLL != 0 && hMsvcrtDLL != 0)
|
||||
return TRUE;
|
||||
! hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL);
|
||||
if (hIconvDLL == 0) /* sometimes it's called libiconv.dll */
|
||||
! hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT);
|
||||
if (hIconvDLL != 0)
|
||||
! hMsvcrtDLL = vimLoadLib(DYNAMIC_MSVCRT_DLL);
|
||||
if (hIconvDLL == 0 || hMsvcrtDLL == 0)
|
||||
{
|
||||
/* Only give the message when 'verbose' is set, otherwise it might be
|
||||
*** ../vim-7.3.033/src/os_mswin.c 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/os_mswin.c 2010-10-22 22:03:26.000000000 +0200
|
||||
***************
|
||||
*** 817,823 ****
|
||||
--- 817,827 ----
|
||||
BOOL fRunTimeLinkSuccess = FALSE;
|
||||
|
||||
// Get a handle to the DLL module.
|
||||
+ # ifdef WIN16
|
||||
hinstLib = LoadLibrary(libname);
|
||||
+ # else
|
||||
+ hinstLib = vimLoadLib(libname);
|
||||
+ # endif
|
||||
|
||||
// If the handle is valid, try to get the function address.
|
||||
if (hinstLib != NULL)
|
||||
*** ../vim-7.3.033/src/os_win32.c 2010-10-13 20:37:37.000000000 +0200
|
||||
--- src/os_win32.c 2010-10-23 13:16:55.000000000 +0200
|
||||
***************
|
||||
*** 206,247 ****
|
||||
static int suppress_winsize = 1; /* don't fiddle with console */
|
||||
#endif
|
||||
|
||||
static void
|
||||
get_exe_name(void)
|
||||
{
|
||||
! char temp[256];
|
||||
! static int did_set_PATH = FALSE;
|
||||
|
||||
if (exe_name == NULL)
|
||||
{
|
||||
/* store the name of the executable, may be used for $VIM */
|
||||
! GetModuleFileName(NULL, temp, 255);
|
||||
if (*temp != NUL)
|
||||
exe_name = FullName_save((char_u *)temp, FALSE);
|
||||
}
|
||||
|
||||
! if (!did_set_PATH && exe_name != NULL)
|
||||
{
|
||||
! char_u *p;
|
||||
! char_u *newpath;
|
||||
!
|
||||
! /* Append our starting directory to $PATH, so that when doing "!xxd"
|
||||
! * it's found in our starting directory. Needed because SearchPath()
|
||||
! * also looks there. */
|
||||
! p = mch_getenv("PATH");
|
||||
! newpath = alloc((unsigned)(STRLEN(p) + STRLEN(exe_name) + 2));
|
||||
! if (newpath != NULL)
|
||||
! {
|
||||
! STRCPY(newpath, p);
|
||||
! STRCAT(newpath, ";");
|
||||
! vim_strncpy(newpath + STRLEN(newpath), exe_name,
|
||||
! gettail_sep(exe_name) - exe_name);
|
||||
! vim_setenv((char_u *)"PATH", newpath);
|
||||
! vim_free(newpath);
|
||||
}
|
||||
|
||||
! did_set_PATH = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(DYNAMIC_GETTEXT) || defined(PROTO)
|
||||
--- 206,268 ----
|
||||
static int suppress_winsize = 1; /* don't fiddle with console */
|
||||
#endif
|
||||
|
||||
+ static char_u *exe_path = NULL;
|
||||
+
|
||||
static void
|
||||
get_exe_name(void)
|
||||
{
|
||||
! char temp[MAXPATHL];
|
||||
! char_u *p;
|
||||
|
||||
if (exe_name == NULL)
|
||||
{
|
||||
/* store the name of the executable, may be used for $VIM */
|
||||
! GetModuleFileName(NULL, temp, MAXPATHL - 1);
|
||||
if (*temp != NUL)
|
||||
exe_name = FullName_save((char_u *)temp, FALSE);
|
||||
}
|
||||
|
||||
! if (exe_path == NULL && exe_name != NULL)
|
||||
{
|
||||
! exe_path = vim_strnsave(exe_name, gettail_sep(exe_name) - exe_name);
|
||||
! if (exe_path != NULL)
|
||||
! {
|
||||
! /* Append our starting directory to $PATH, so that when doing
|
||||
! * "!xxd" it's found in our starting directory. Needed because
|
||||
! * SearchPath() also looks there. */
|
||||
! p = mch_getenv("PATH");
|
||||
! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL);
|
||||
! {
|
||||
! STRCPY(temp, p);
|
||||
! STRCAT(temp, ";");
|
||||
! STRCAT(temp, exe_path);
|
||||
! vim_setenv((char_u *)"PATH", temp);
|
||||
! }
|
||||
}
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Load library "name".
|
||||
+ */
|
||||
+ HINSTANCE
|
||||
+ vimLoadLib(char *name)
|
||||
+ {
|
||||
+ HINSTANCE dll = NULL;
|
||||
+ char old_dir[MAXPATHL];
|
||||
|
||||
! if (exe_path == NULL)
|
||||
! get_exe_name();
|
||||
! if (exe_path != NULL && mch_dirname(old_dir, MAXPATHL) == OK)
|
||||
! {
|
||||
! /* Change directory to where the executable is, both to make sure we
|
||||
! * find a .dll there and to avoid looking for a .dll in the current
|
||||
! * directory. */
|
||||
! mch_chdir(exe_path);
|
||||
! dll = LoadLibrary(name);
|
||||
! mch_chdir(old_dir);
|
||||
}
|
||||
+ return dll;
|
||||
}
|
||||
|
||||
#if defined(DYNAMIC_GETTEXT) || defined(PROTO)
|
||||
***************
|
||||
*** 254,260 ****
|
||||
static char *null_libintl_bindtextdomain(const char *, const char *);
|
||||
static char *null_libintl_bind_textdomain_codeset(const char *, const char *);
|
||||
|
||||
! static HINSTANCE hLibintlDLL = 0;
|
||||
char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext;
|
||||
char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain;
|
||||
char *(*dyn_libintl_bindtextdomain)(const char *, const char *)
|
||||
--- 275,281 ----
|
||||
static char *null_libintl_bindtextdomain(const char *, const char *);
|
||||
static char *null_libintl_bind_textdomain_codeset(const char *, const char *);
|
||||
|
||||
! static HINSTANCE hLibintlDLL = NULL;
|
||||
char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext;
|
||||
char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain;
|
||||
char *(*dyn_libintl_bindtextdomain)(const char *, const char *)
|
||||
***************
|
||||
*** 282,307 ****
|
||||
if (hLibintlDLL)
|
||||
return 1;
|
||||
/* Load gettext library (libintl.dll) */
|
||||
! hLibintlDLL = LoadLibrary(libname != NULL ? libname : GETTEXT_DLL);
|
||||
if (!hLibintlDLL)
|
||||
{
|
||||
! char_u dirname[_MAX_PATH];
|
||||
!
|
||||
! /* Try using the path from gvim.exe to find the .dll there. */
|
||||
! get_exe_name();
|
||||
! STRCPY(dirname, exe_name);
|
||||
! STRCPY(gettail(dirname), GETTEXT_DLL);
|
||||
! hLibintlDLL = LoadLibrary((char *)dirname);
|
||||
! if (!hLibintlDLL)
|
||||
{
|
||||
! if (p_verbose > 0)
|
||||
! {
|
||||
! verbose_enter();
|
||||
! EMSG2(_(e_loadlib), GETTEXT_DLL);
|
||||
! verbose_leave();
|
||||
! }
|
||||
! return 0;
|
||||
}
|
||||
}
|
||||
for (i = 0; libintl_entry[i].name != NULL
|
||||
&& libintl_entry[i].ptr != NULL; ++i)
|
||||
--- 303,318 ----
|
||||
if (hLibintlDLL)
|
||||
return 1;
|
||||
/* Load gettext library (libintl.dll) */
|
||||
! hLibintlDLL = vimLoadLib(libname != NULL ? libname : GETTEXT_DLL);
|
||||
if (!hLibintlDLL)
|
||||
{
|
||||
! if (p_verbose > 0)
|
||||
{
|
||||
! verbose_enter();
|
||||
! EMSG2(_(e_loadlib), GETTEXT_DLL);
|
||||
! verbose_leave();
|
||||
}
|
||||
+ return 0;
|
||||
}
|
||||
for (i = 0; libintl_entry[i].name != NULL
|
||||
&& libintl_entry[i].ptr != NULL; ++i)
|
||||
***************
|
||||
*** 430,436 ****
|
||||
* Seems like a lot of overhead to load/unload ADVAPI32.DLL each
|
||||
* time we verify security...
|
||||
*/
|
||||
! advapi_lib = LoadLibrary("ADVAPI32.DLL");
|
||||
if (advapi_lib != NULL)
|
||||
{
|
||||
pSetNamedSecurityInfo = (PSNSECINFO)GetProcAddress(advapi_lib,
|
||||
--- 441,447 ----
|
||||
* Seems like a lot of overhead to load/unload ADVAPI32.DLL each
|
||||
* time we verify security...
|
||||
*/
|
||||
! advapi_lib = vimLoadLib("ADVAPI32.DLL");
|
||||
if (advapi_lib != NULL)
|
||||
{
|
||||
pSetNamedSecurityInfo = (PSNSECINFO)GetProcAddress(advapi_lib,
|
||||
*** ../vim-7.3.033/src/proto/os_win32.pro 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/proto/os_win32.pro 2010-10-22 22:05:35.000000000 +0200
|
||||
***************
|
||||
*** 1,4 ****
|
||||
--- 1,5 ----
|
||||
/* os_win32.c */
|
||||
+ HINSTANCE vimLoadLib __ARGS((char *name));
|
||||
int dyn_libintl_init __ARGS((char *libname));
|
||||
void dyn_libintl_end __ARGS((void));
|
||||
void PlatformId __ARGS((void));
|
||||
*** ../vim-7.3.033/src/version.c 2010-10-22 22:13:47.000000000 +0200
|
||||
--- src/version.c 2010-10-23 13:55:21.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 34,
|
||||
/**/
|
||||
|
||||
--
|
||||
This is the polymorph virus! Follow these instructions carefully:
|
||||
1. Send this message to everybody you know.
|
||||
2. Format your harddisk.
|
||||
Thank you for your cooperation in spreading the most powerful virus ever!
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
58
7.3.035
58
7.3.035
@ -1,58 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.035
|
||||
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.035 (after 7.3.034)
|
||||
Problem: Stray semicolon after if statement. (Hari G)
|
||||
Solution: Remove the semicolon.
|
||||
Files: src/os_win32.c
|
||||
|
||||
|
||||
*** ../vim-7.3.034/src/os_win32.c 2010-10-23 14:02:48.000000000 +0200
|
||||
--- src/os_win32.c 2010-10-24 14:31:04.000000000 +0200
|
||||
***************
|
||||
*** 231,237 ****
|
||||
* "!xxd" it's found in our starting directory. Needed because
|
||||
* SearchPath() also looks there. */
|
||||
p = mch_getenv("PATH");
|
||||
! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL);
|
||||
{
|
||||
STRCPY(temp, p);
|
||||
STRCAT(temp, ";");
|
||||
--- 231,237 ----
|
||||
* "!xxd" it's found in our starting directory. Needed because
|
||||
* SearchPath() also looks there. */
|
||||
p = mch_getenv("PATH");
|
||||
! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL)
|
||||
{
|
||||
STRCPY(temp, p);
|
||||
STRCAT(temp, ";");
|
||||
*** ../vim-7.3.034/src/version.c 2010-10-23 14:02:48.000000000 +0200
|
||||
--- src/version.c 2010-10-24 14:32:04.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 35,
|
||||
/**/
|
||||
|
||||
--
|
||||
[clop clop]
|
||||
ARTHUR: Old woman!
|
||||
DENNIS: Man!
|
||||
ARTHUR: Man, sorry. What knight lives in that castle over there?
|
||||
DENNIS: I'm thirty seven.
|
||||
ARTHUR: What?
|
||||
DENNIS: I'm thirty seven -- I'm not old!
|
||||
The Quest for the Holy Grail (Monty Python)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
68
7.3.036
68
7.3.036
@ -1,68 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.036
|
||||
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.036
|
||||
Problem: Win32 GUI: When building without menus, the font for dialogs and
|
||||
tab page headers also changes.
|
||||
Solution: Define USE_SYSMENU_FONT always. (Harig G.)
|
||||
Files: src/gui_w32.c
|
||||
|
||||
|
||||
*** ../vim-7.3.035/src/gui_w32.c 2010-10-23 14:02:48.000000000 +0200
|
||||
--- src/gui_w32.c 2010-10-25 20:29:15.000000000 +0200
|
||||
***************
|
||||
*** 289,301 ****
|
||||
|
||||
#ifdef FEAT_MENU
|
||||
static UINT s_menu_id = 100;
|
||||
|
||||
/*
|
||||
* Use the system font for dialogs and tear-off menus. Remove this line to
|
||||
* use DLG_FONT_NAME.
|
||||
*/
|
||||
! # define USE_SYSMENU_FONT
|
||||
! #endif
|
||||
|
||||
#define VIM_NAME "vim"
|
||||
#define VIM_CLASS "Vim"
|
||||
--- 289,301 ----
|
||||
|
||||
#ifdef FEAT_MENU
|
||||
static UINT s_menu_id = 100;
|
||||
+ #endif
|
||||
|
||||
/*
|
||||
* Use the system font for dialogs and tear-off menus. Remove this line to
|
||||
* use DLG_FONT_NAME.
|
||||
*/
|
||||
! #define USE_SYSMENU_FONT
|
||||
|
||||
#define VIM_NAME "vim"
|
||||
#define VIM_CLASS "Vim"
|
||||
*** ../vim-7.3.035/src/version.c 2010-10-24 14:33:38.000000000 +0200
|
||||
--- src/version.c 2010-10-27 12:14:39.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 36,
|
||||
/**/
|
||||
|
||||
--
|
||||
ARTHUR: Bloody peasant!
|
||||
DENNIS: Oh, what a give away. Did you hear that, did you hear that, eh?
|
||||
That's what I'm on about -- did you see him repressing me, you saw it
|
||||
didn't you?
|
||||
The Quest for the Holy Grail (Monty Python)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
137
7.3.037
137
7.3.037
@ -1,137 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.037
|
||||
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.037
|
||||
Problem: Compiler warnings for loss of data. (Mike Williams)
|
||||
Solution: Add type casts.
|
||||
Files: src/if_py_both.h, src/getchar.c, src/os_win32.c
|
||||
|
||||
|
||||
*** ../vim-7.3.036/src/if_py_both.h 2010-09-21 16:49:29.000000000 +0200
|
||||
--- src/if_py_both.h 2010-10-25 20:37:07.000000000 +0200
|
||||
***************
|
||||
*** 154,160 ****
|
||||
{
|
||||
PyInt len = ptr - str;
|
||||
|
||||
! if (ga_grow(&io_ga, len + 1) == FAIL)
|
||||
break;
|
||||
|
||||
mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len);
|
||||
--- 154,160 ----
|
||||
{
|
||||
PyInt len = ptr - str;
|
||||
|
||||
! if (ga_grow(&io_ga, (int)(len + 1)) == FAIL)
|
||||
break;
|
||||
|
||||
mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len);
|
||||
***************
|
||||
*** 166,175 ****
|
||||
}
|
||||
|
||||
/* Put the remaining text into io_ga for later printing. */
|
||||
! if (n > 0 && ga_grow(&io_ga, n + 1) == OK)
|
||||
{
|
||||
mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n);
|
||||
! io_ga.ga_len += n;
|
||||
}
|
||||
}
|
||||
|
||||
--- 166,175 ----
|
||||
}
|
||||
|
||||
/* Put the remaining text into io_ga for later printing. */
|
||||
! if (n > 0 && ga_grow(&io_ga, (int)(n + 1)) == OK)
|
||||
{
|
||||
mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n);
|
||||
! io_ga.ga_len += (int)n;
|
||||
}
|
||||
}
|
||||
|
||||
*** ../vim-7.3.036/src/getchar.c 2010-10-22 22:13:47.000000000 +0200
|
||||
--- src/getchar.c 2010-10-25 20:39:31.000000000 +0200
|
||||
***************
|
||||
*** 3922,3928 ****
|
||||
if (mapchars != NULL)
|
||||
{
|
||||
msg_puts(mapchars);
|
||||
! len = STRLEN(mapchars);
|
||||
vim_free(mapchars);
|
||||
}
|
||||
|
||||
--- 3922,3928 ----
|
||||
if (mapchars != NULL)
|
||||
{
|
||||
msg_puts(mapchars);
|
||||
! len = (int)STRLEN(mapchars);
|
||||
vim_free(mapchars);
|
||||
}
|
||||
|
||||
*** ../vim-7.3.036/src/os_win32.c 2010-10-24 14:33:38.000000000 +0200
|
||||
--- src/os_win32.c 2010-10-25 20:38:49.000000000 +0200
|
||||
***************
|
||||
*** 224,230 ****
|
||||
|
||||
if (exe_path == NULL && exe_name != NULL)
|
||||
{
|
||||
! exe_path = vim_strnsave(exe_name, gettail_sep(exe_name) - exe_name);
|
||||
if (exe_path != NULL)
|
||||
{
|
||||
/* Append our starting directory to $PATH, so that when doing
|
||||
--- 224,231 ----
|
||||
|
||||
if (exe_path == NULL && exe_name != NULL)
|
||||
{
|
||||
! exe_path = vim_strnsave(exe_name,
|
||||
! (int)(gettail_sep(exe_name) - exe_name));
|
||||
if (exe_path != NULL)
|
||||
{
|
||||
/* Append our starting directory to $PATH, so that when doing
|
||||
***************
|
||||
*** 2374,2380 ****
|
||||
/* To avoid a slow failure append "\*" when searching a directory,
|
||||
* server or network share. */
|
||||
STRCPY(szTrueNameTemp, szTrueName);
|
||||
! slen = strlen(szTrueNameTemp);
|
||||
if (*porig == psepc && slen + 2 < _MAX_PATH)
|
||||
STRCPY(szTrueNameTemp + slen, "\\*");
|
||||
|
||||
--- 2375,2381 ----
|
||||
/* To avoid a slow failure append "\*" when searching a directory,
|
||||
* server or network share. */
|
||||
STRCPY(szTrueNameTemp, szTrueName);
|
||||
! slen = (int)strlen(szTrueNameTemp);
|
||||
if (*porig == psepc && slen + 2 < _MAX_PATH)
|
||||
STRCPY(szTrueNameTemp + slen, "\\*");
|
||||
|
||||
*** ../vim-7.3.036/src/version.c 2010-10-27 12:15:28.000000000 +0200
|
||||
--- src/version.c 2010-10-27 12:16:53.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 37,
|
||||
/**/
|
||||
|
||||
--
|
||||
ARTHUR: You fight with the strength of many men, Sir knight.
|
||||
I am Arthur, King of the Britons. [pause]
|
||||
I seek the finest and the bravest knights in the land to join me
|
||||
in my Court of Camelot. [pause]
|
||||
You have proved yourself worthy; will you join me? [pause]
|
||||
You make me sad. So be it. Come, Patsy.
|
||||
BLACK KNIGHT: None shall pass.
|
||||
The Quest for the Holy Grail (Monty Python)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
76
7.3.038
76
7.3.038
@ -1,76 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.038
|
||||
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.038
|
||||
Problem: v:windowid isn't set on MS-Windows.
|
||||
Solution: Set it to the window handle. (Chris Sutcliffe)
|
||||
Files: runtime/doc/eval.txt, src/gui_w32.c
|
||||
|
||||
|
||||
*** ../vim-7.3.037/runtime/doc/eval.txt 2010-10-20 21:22:17.000000000 +0200
|
||||
--- runtime/doc/eval.txt 2010-10-27 12:23:37.000000000 +0200
|
||||
***************
|
||||
*** 1660,1666 ****
|
||||
*v:windowid* *windowid-variable*
|
||||
v:windowid When any X11 based GUI is running or when running in a
|
||||
terminal and Vim connects to the X server (|-X|) this will be
|
||||
! set to the window ID. Otherwise the value is zero.
|
||||
|
||||
==============================================================================
|
||||
4. Builtin Functions *functions*
|
||||
--- 1660,1670 ----
|
||||
*v:windowid* *windowid-variable*
|
||||
v:windowid When any X11 based GUI is running or when running in a
|
||||
terminal and Vim connects to the X server (|-X|) this will be
|
||||
! set to the window ID.
|
||||
! When an MS-Windows GUI is running this will be set to the
|
||||
! window handle.
|
||||
! Otherwise the value is zero.
|
||||
! Note: for windows inside Vim use |winnr()|.
|
||||
|
||||
==============================================================================
|
||||
4. Builtin Functions *functions*
|
||||
*** ../vim-7.3.037/src/gui_w32.c 2010-10-27 12:15:28.000000000 +0200
|
||||
--- src/gui_w32.c 2010-10-27 12:21:22.000000000 +0200
|
||||
***************
|
||||
*** 1573,1578 ****
|
||||
--- 1573,1583 ----
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+ #ifdef FEAT_EVAL
|
||||
+ /* set the v:windowid variable */
|
||||
+ set_vim_var_nr(VV_WINDOWID, (long)s_hwnd);
|
||||
+ #endif
|
||||
+
|
||||
theend:
|
||||
/* Display any pending error messages */
|
||||
display_errors();
|
||||
*** ../vim-7.3.037/src/version.c 2010-10-27 12:17:54.000000000 +0200
|
||||
--- src/version.c 2010-10-27 12:24:38.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 38,
|
||||
/**/
|
||||
|
||||
--
|
||||
ARTHUR: What?
|
||||
BLACK KNIGHT: None shall pass.
|
||||
ARTHUR: I have no quarrel with you, good Sir knight, but I must cross
|
||||
this bridge.
|
||||
BLACK KNIGHT: Then you shall die.
|
||||
The Quest for the Holy Grail (Monty Python)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
90
7.3.039
90
7.3.039
@ -1,90 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.039
|
||||
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.039
|
||||
Problem: Crash when using skk.vim plugin.
|
||||
Solution: Get length of expression evaluation result only after checking for
|
||||
NULL. (Noriaki Yagi, Dominique Pelle)
|
||||
Files: src/ex_getln.c
|
||||
|
||||
|
||||
*** ../vim-7.3.038/src/ex_getln.c 2010-09-29 15:50:14.000000000 +0200
|
||||
--- src/ex_getln.c 2010-10-27 12:42:00.000000000 +0200
|
||||
***************
|
||||
*** 688,711 ****
|
||||
p = get_expr_line();
|
||||
--textlock;
|
||||
restore_cmdline(&save_ccline);
|
||||
- len = (int)STRLEN(p);
|
||||
|
||||
! if (p != NULL && realloc_cmdbuff(len + 1) == OK)
|
||||
{
|
||||
! ccline.cmdlen = len;
|
||||
! STRCPY(ccline.cmdbuff, p);
|
||||
! vim_free(p);
|
||||
!
|
||||
! /* Restore the cursor or use the position set with
|
||||
! * set_cmdline_pos(). */
|
||||
! if (new_cmdpos > ccline.cmdlen)
|
||||
! ccline.cmdpos = ccline.cmdlen;
|
||||
! else
|
||||
! ccline.cmdpos = new_cmdpos;
|
||||
!
|
||||
! KeyTyped = FALSE; /* Don't do p_wc completion. */
|
||||
! redrawcmd();
|
||||
! goto cmdline_changed;
|
||||
}
|
||||
}
|
||||
beep_flush();
|
||||
--- 688,714 ----
|
||||
p = get_expr_line();
|
||||
--textlock;
|
||||
restore_cmdline(&save_ccline);
|
||||
|
||||
! if (p != NULL)
|
||||
{
|
||||
! len = (int)STRLEN(p);
|
||||
! if (realloc_cmdbuff(len + 1) == OK)
|
||||
! {
|
||||
! ccline.cmdlen = len;
|
||||
! STRCPY(ccline.cmdbuff, p);
|
||||
! vim_free(p);
|
||||
!
|
||||
! /* Restore the cursor or use the position set with
|
||||
! * set_cmdline_pos(). */
|
||||
! if (new_cmdpos > ccline.cmdlen)
|
||||
! ccline.cmdpos = ccline.cmdlen;
|
||||
! else
|
||||
! ccline.cmdpos = new_cmdpos;
|
||||
!
|
||||
! KeyTyped = FALSE; /* Don't do p_wc completion. */
|
||||
! redrawcmd();
|
||||
! goto cmdline_changed;
|
||||
! }
|
||||
}
|
||||
}
|
||||
beep_flush();
|
||||
*** ../vim-7.3.038/src/version.c 2010-10-27 12:33:12.000000000 +0200
|
||||
--- src/version.c 2010-10-27 12:43:40.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 39,
|
||||
/**/
|
||||
|
||||
--
|
||||
"Hegel was right when he said that we learn from history that man can
|
||||
never learn anything from history." (George Bernard Shaw)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
48
7.3.040
48
7.3.040
@ -1,48 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.040
|
||||
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.040
|
||||
Problem: Comparing strings while ignoring case goes beyond end of the
|
||||
string when there are illegal bytes. (Dominique Pelle)
|
||||
Solution: Explicitly check for illegal bytes.
|
||||
Files: src/mbyte.c
|
||||
|
||||
|
||||
*** ../vim-7.3.039/src/mbyte.c 2010-10-23 14:02:48.000000000 +0200
|
||||
--- src/mbyte.c 2010-10-27 13:34:16.000000000 +0200
|
||||
***************
|
||||
*** 3124,3129 ****
|
||||
--- 3124,3132 ----
|
||||
/* If one of the two characters is incomplete return -1. */
|
||||
if (incomplete || i + utf_byte2len(s2[i]) > n)
|
||||
return -1;
|
||||
+ /* Don't case-fold illegal bytes or truncated characters. */
|
||||
+ if (utf_ptr2len(s1 + i) < l || utf_ptr2len(s2 + i) < l)
|
||||
+ return -1;
|
||||
cdiff = utf_fold(utf_ptr2char(s1 + i))
|
||||
- utf_fold(utf_ptr2char(s2 + i));
|
||||
if (cdiff != 0)
|
||||
*** ../vim-7.3.039/src/version.c 2010-10-27 12:58:19.000000000 +0200
|
||||
--- src/version.c 2010-10-27 13:25:16.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 40,
|
||||
/**/
|
||||
|
||||
--
|
||||
With sufficient thrust, pigs fly just fine.
|
||||
-- RFC 1925
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
57
7.3.041
57
7.3.041
@ -1,57 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.041
|
||||
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.041
|
||||
Problem: Compiler warning for accessing mediumVersion. (Tony Mechelynck)
|
||||
Solution: Use the pointer instead of the array itself. (Dominique Pelle)
|
||||
Files: src/version.c
|
||||
|
||||
|
||||
*** ../vim-7.3.040/src/version.c 2010-10-27 13:37:39.000000000 +0200
|
||||
--- src/version.c 2010-10-27 15:58:26.000000000 +0200
|
||||
***************
|
||||
*** 1342,1350 ****
|
||||
if (highest_patch())
|
||||
{
|
||||
/* Check for 9.9x or 9.9xx, alpha/beta version */
|
||||
! if (isalpha((int)mediumVersion[3]))
|
||||
{
|
||||
! if (isalpha((int)mediumVersion[4]))
|
||||
sprintf((char *)vers + 5, ".%d%s", highest_patch(),
|
||||
mediumVersion + 5);
|
||||
else
|
||||
--- 1344,1352 ----
|
||||
if (highest_patch())
|
||||
{
|
||||
/* Check for 9.9x or 9.9xx, alpha/beta version */
|
||||
! if (isalpha((int)vers[3]))
|
||||
{
|
||||
! if (isalpha((int)vers[4]))
|
||||
sprintf((char *)vers + 5, ".%d%s", highest_patch(),
|
||||
mediumVersion + 5);
|
||||
else
|
||||
*** ../vim-7.3.040/src/version.c 2010-10-27 13:37:39.000000000 +0200
|
||||
--- src/version.c 2010-10-27 15:58:26.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 41,
|
||||
/**/
|
||||
|
||||
--
|
||||
ARTHUR: I command you as King of the Britons to stand aside!
|
||||
BLACK KNIGHT: I move for no man.
|
||||
The Quest for the Holy Grail (Monty Python)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
65
7.3.042
65
7.3.042
@ -1,65 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.042
|
||||
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.042
|
||||
Problem: No spell highlighting when re-using an empty buffer.
|
||||
Solution: Clear the spell checking info only when clearing the options for a
|
||||
buffer. (James Vega)
|
||||
Files: src/buffer.c
|
||||
|
||||
|
||||
*** ../vim-7.3.041/src/buffer.c 2010-09-21 16:56:29.000000000 +0200
|
||||
--- src/buffer.c 2010-10-27 16:09:26.000000000 +0200
|
||||
***************
|
||||
*** 639,644 ****
|
||||
--- 639,647 ----
|
||||
{
|
||||
clear_wininfo(buf); /* including window-local options */
|
||||
free_buf_options(buf, TRUE);
|
||||
+ #ifdef FEAT_SPELL
|
||||
+ ga_clear(&buf->b_s.b_langp);
|
||||
+ #endif
|
||||
}
|
||||
#ifdef FEAT_EVAL
|
||||
vars_clear(&buf->b_vars.dv_hashtab); /* free all internal variables */
|
||||
***************
|
||||
*** 661,669 ****
|
||||
vim_free(buf->b_start_fenc);
|
||||
buf->b_start_fenc = NULL;
|
||||
#endif
|
||||
- #ifdef FEAT_SPELL
|
||||
- ga_clear(&buf->b_s.b_langp);
|
||||
- #endif
|
||||
}
|
||||
|
||||
/*
|
||||
--- 664,669 ----
|
||||
*** ../vim-7.3.041/src/version.c 2010-10-27 16:01:17.000000000 +0200
|
||||
--- src/version.c 2010-10-27 16:10:33.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 42,
|
||||
/**/
|
||||
|
||||
--
|
||||
BLACK KNIGHT: I move for no man.
|
||||
ARTHUR: So be it!
|
||||
[hah] [parry thrust]
|
||||
[ARTHUR chops the BLACK KNIGHT's left arm off]
|
||||
ARTHUR: Now stand aside, worthy adversary.
|
||||
BLACK KNIGHT: 'Tis but a scratch.
|
||||
The Quest for the Holy Grail (Monty Python)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
460
7.3.043
460
7.3.043
@ -1,460 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.043
|
||||
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.043
|
||||
Problem: Can't load Ruby dynamically on Unix.
|
||||
Solution: Adjust the configure script. (James Vega)
|
||||
Files: src/Makefile, src/config.h.in, src/configure.in,
|
||||
src/auto/configure, src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.042/src/Makefile 2010-08-16 21:59:00.000000000 +0200
|
||||
--- src/Makefile 2010-10-27 16:46:41.000000000 +0200
|
||||
***************
|
||||
*** 414,425 ****
|
||||
--- 414,429 ----
|
||||
# However, this may still cause problems, such as "import termios" failing.
|
||||
# Build two separate versions of Vim in that case.
|
||||
#CONF_OPT_PYTHON = --enable-pythoninterp
|
||||
+ #CONF_OPT_PYTHON = --enable-pythoninterp=dynamic
|
||||
#CONF_OPT_PYTHON3 = --enable-python3interp
|
||||
+ #CONF_OPT_PYTHON3 = --enable-python3interp=dynamic
|
||||
|
||||
# RUBY
|
||||
# Uncomment this when you want to include the Ruby interface.
|
||||
+ # First one for static linking, second one for loading when used.
|
||||
# Note: you need the development package (e.g., ruby1.9.1-dev on Ubuntu).
|
||||
#CONF_OPT_RUBY = --enable-rubyinterp
|
||||
+ #CONF_OPT_RUBY = --enable-rubyinterp=dynamic
|
||||
#CONF_OPT_RUBY = --enable-rubyinterp --with-ruby-command=ruby1.9.1
|
||||
|
||||
# TCL
|
||||
***************
|
||||
*** 1047,1054 ****
|
||||
INSTALL_DATA = cp
|
||||
INSTALL_DATA_R = cp -r
|
||||
|
||||
! ### Program to run on installed binary
|
||||
#STRIP = strip
|
||||
|
||||
### Permissions for binaries {{{1
|
||||
BINMOD = 755
|
||||
--- 1051,1059 ----
|
||||
INSTALL_DATA = cp
|
||||
INSTALL_DATA_R = cp -r
|
||||
|
||||
! ### Program to run on installed binary. Use the second one to disable strip.
|
||||
#STRIP = strip
|
||||
+ #STRIP = /bin/true
|
||||
|
||||
### Permissions for binaries {{{1
|
||||
BINMOD = 755
|
||||
***************
|
||||
*** 1321,1327 ****
|
||||
.SUFFIXES: .c .o .pro
|
||||
|
||||
PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS)
|
||||
! POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(RUBY_CFLAGS) $(EXTRA_DEFS)
|
||||
|
||||
ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(POST_DEFS)
|
||||
|
||||
--- 1326,1332 ----
|
||||
.SUFFIXES: .c .o .pro
|
||||
|
||||
PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS)
|
||||
! POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(EXTRA_DEFS)
|
||||
|
||||
ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(POST_DEFS)
|
||||
|
||||
***************
|
||||
*** 1329,1335 ****
|
||||
# with "-E".
|
||||
OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS)
|
||||
|
||||
! LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca
|
||||
|
||||
LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
|
||||
|
||||
--- 1334,1340 ----
|
||||
# with "-E".
|
||||
OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS)
|
||||
|
||||
! LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(RUBY_CFLAGS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca
|
||||
|
||||
LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
|
||||
|
||||
***************
|
||||
*** 2532,2538 ****
|
||||
$(CCC) $(PYTHON3_CFLAGS) $(PYTHON3_CFLAGS_EXTRA) -o $@ if_python3.c
|
||||
|
||||
objects/if_ruby.o: if_ruby.c
|
||||
! $(CCC) -o $@ if_ruby.c
|
||||
|
||||
objects/if_sniff.o: if_sniff.c
|
||||
$(CCC) -o $@ if_sniff.c
|
||||
--- 2537,2543 ----
|
||||
$(CCC) $(PYTHON3_CFLAGS) $(PYTHON3_CFLAGS_EXTRA) -o $@ if_python3.c
|
||||
|
||||
objects/if_ruby.o: if_ruby.c
|
||||
! $(CCC) $(RUBY_CFLAGS) -o $@ if_ruby.c
|
||||
|
||||
objects/if_sniff.o: if_sniff.c
|
||||
$(CCC) -o $@ if_sniff.c
|
||||
*** ../vim-7.3.042/src/config.h.in 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/config.h.in 2010-10-27 16:21:24.000000000 +0200
|
||||
***************
|
||||
*** 349,354 ****
|
||||
--- 349,357 ----
|
||||
/* Define if you want to include the Ruby interpreter. */
|
||||
#undef FEAT_RUBY
|
||||
|
||||
+ /* Define for linking via dlopen() or LoadLibrary() */
|
||||
+ #undef DYNAMIC_RUBY
|
||||
+
|
||||
/* Define if you want to include the Tcl interpreter. */
|
||||
#undef FEAT_TCL
|
||||
|
||||
*** ../vim-7.3.042/src/configure.in 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/configure.in 2010-10-27 16:20:53.000000000 +0200
|
||||
***************
|
||||
*** 1299,1308 ****
|
||||
|
||||
AC_MSG_CHECKING(--enable-rubyinterp argument)
|
||||
AC_ARG_ENABLE(rubyinterp,
|
||||
! [ --enable-rubyinterp Include Ruby interpreter.], ,
|
||||
[enable_rubyinterp="no"])
|
||||
AC_MSG_RESULT($enable_rubyinterp)
|
||||
! if test "$enable_rubyinterp" = "yes"; then
|
||||
AC_MSG_CHECKING(--with-ruby-command argument)
|
||||
AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)],
|
||||
RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD),
|
||||
--- 1299,1308 ----
|
||||
|
||||
AC_MSG_CHECKING(--enable-rubyinterp argument)
|
||||
AC_ARG_ENABLE(rubyinterp,
|
||||
! [ --enable-rubyinterp[=OPTS] Include Ruby interpreter. [default=no] [OPTS=no/yes/dynamic]], ,
|
||||
[enable_rubyinterp="no"])
|
||||
AC_MSG_RESULT($enable_rubyinterp)
|
||||
! if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
|
||||
AC_MSG_CHECKING(--with-ruby-command argument)
|
||||
AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)],
|
||||
RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD),
|
||||
***************
|
||||
*** 1360,1365 ****
|
||||
--- 1360,1371 ----
|
||||
RUBY_OBJ="objects/if_ruby.o"
|
||||
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=
|
||||
+ fi
|
||||
else
|
||||
AC_MSG_RESULT(not found; disabling Ruby)
|
||||
fi
|
||||
*** ../vim-7.3.042/src/auto/configure 2010-08-15 21:57:27.000000000 +0200
|
||||
--- src/auto/configure 2010-10-27 16:28:10.000000000 +0200
|
||||
***************
|
||||
*** 1427,1433 ****
|
||||
--enable-pythoninterp=OPTS Include Python interpreter. default=no OPTS=no/yes/dynamic
|
||||
--enable-python3interp=OPTS Include Python3 interpreter. default=no OPTS=no/yes/dynamic
|
||||
--enable-tclinterp Include Tcl interpreter.
|
||||
! --enable-rubyinterp Include Ruby interpreter.
|
||||
--enable-cscope Include cscope interface.
|
||||
--enable-workshop Include Sun Visual Workshop support.
|
||||
--disable-netbeans Disable NetBeans integration support.
|
||||
--- 1427,1433 ----
|
||||
--enable-pythoninterp=OPTS Include Python interpreter. default=no OPTS=no/yes/dynamic
|
||||
--enable-python3interp=OPTS Include Python3 interpreter. default=no OPTS=no/yes/dynamic
|
||||
--enable-tclinterp Include Tcl interpreter.
|
||||
! --enable-rubyinterp=OPTS Include Ruby interpreter. default=no OPTS=no/yes/dynamic
|
||||
--enable-cscope Include cscope interface.
|
||||
--enable-workshop Include Sun Visual Workshop support.
|
||||
--disable-netbeans Disable NetBeans integration support.
|
||||
***************
|
||||
*** 6103,6109 ****
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_rubyinterp" >&5
|
||||
$as_echo "$enable_rubyinterp" >&6; }
|
||||
! if test "$enable_rubyinterp" = "yes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-ruby-command argument" >&5
|
||||
$as_echo_n "checking --with-ruby-command argument... " >&6; }
|
||||
|
||||
--- 6103,6109 ----
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_rubyinterp" >&5
|
||||
$as_echo "$enable_rubyinterp" >&6; }
|
||||
! if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-ruby-command argument" >&5
|
||||
$as_echo_n "checking --with-ruby-command argument... " >&6; }
|
||||
|
||||
***************
|
||||
*** 6209,6214 ****
|
||||
--- 6209,6221 ----
|
||||
RUBY_PRO="if_ruby.pro"
|
||||
$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"
|
||||
+ RUBY_LIBS=
|
||||
+ fi
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found; disabling Ruby" >&5
|
||||
$as_echo "not found; disabling Ruby" >&6; }
|
||||
*** ../vim-7.3.042/src/if_ruby.c 2010-10-23 14:02:48.000000000 +0200
|
||||
--- src/if_ruby.c 2010-10-27 16:40:27.000000000 +0200
|
||||
***************
|
||||
*** 14,19 ****
|
||||
--- 14,21 ----
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
+ #include "auto/config.h"
|
||||
+
|
||||
#ifdef _WIN32
|
||||
# if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
|
||||
# define NT
|
||||
***************
|
||||
*** 48,60 ****
|
||||
# define RUBY_EXPORT
|
||||
# endif
|
||||
|
||||
! #if !(defined(WIN32) || defined(_WIN64))
|
||||
# include <dlfcn.h>
|
||||
! # define HANDLE void*
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
|
||||
# define symbol_from_dll dlsym
|
||||
# define close_dll dlclose
|
||||
#else
|
||||
# define load_dll vimLoadLib
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# define close_dll FreeLibrary
|
||||
--- 50,64 ----
|
||||
# define RUBY_EXPORT
|
||||
# endif
|
||||
|
||||
! #ifndef WIN3264
|
||||
# include <dlfcn.h>
|
||||
! # define HINSTANCE void*
|
||||
! # define RUBY_PROC void*
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
|
||||
# define symbol_from_dll dlsym
|
||||
# define close_dll dlclose
|
||||
#else
|
||||
+ # define RUBY_PROC FARPROC
|
||||
# define load_dll vimLoadLib
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# define close_dll FreeLibrary
|
||||
***************
|
||||
*** 174,180 ****
|
||||
--- 178,186 ----
|
||||
#define rb_lastline_get dll_rb_lastline_get
|
||||
#define rb_lastline_set dll_rb_lastline_set
|
||||
#define rb_load_protect dll_rb_load_protect
|
||||
+ #ifndef RUBY19_OR_LATER
|
||||
#define rb_num2long dll_rb_num2long
|
||||
+ #endif
|
||||
#define rb_num2ulong dll_rb_num2ulong
|
||||
#define rb_obj_alloc dll_rb_obj_alloc
|
||||
#define rb_obj_as_string dll_rb_obj_as_string
|
||||
***************
|
||||
*** 186,191 ****
|
||||
--- 192,200 ----
|
||||
#ifdef rb_str_new2
|
||||
/* Ruby may #define rb_str_new2 to use rb_str_new_cstr. */
|
||||
# define need_rb_str_new_cstr 1
|
||||
+ /* Ruby's headers #define rb_str_new_cstr to make use of GCC's
|
||||
+ * __builtin_constant_p extension. */
|
||||
+ # undef rb_str_new_cstr
|
||||
# define rb_str_new_cstr dll_rb_str_new_cstr
|
||||
#else
|
||||
# define rb_str_new2 dll_rb_str_new2
|
||||
***************
|
||||
*** 206,214 ****
|
||||
#endif
|
||||
#define ruby_init dll_ruby_init
|
||||
#define ruby_init_loadpath dll_ruby_init_loadpath
|
||||
! #define NtInitialize dll_NtInitialize
|
||||
! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
! # define rb_w32_snprintf dll_rb_w32_snprintf
|
||||
#endif
|
||||
|
||||
#ifdef RUBY19_OR_LATER
|
||||
--- 215,225 ----
|
||||
#endif
|
||||
#define ruby_init dll_ruby_init
|
||||
#define ruby_init_loadpath dll_ruby_init_loadpath
|
||||
! #ifdef WIN3264
|
||||
! # define NtInitialize dll_NtInitialize
|
||||
! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
! # define rb_w32_snprintf dll_rb_w32_snprintf
|
||||
! # endif
|
||||
#endif
|
||||
|
||||
#ifdef RUBY19_OR_LATER
|
||||
***************
|
||||
*** 283,289 ****
|
||||
--- 294,305 ----
|
||||
#endif
|
||||
static void (*dll_ruby_init) (void);
|
||||
static void (*dll_ruby_init_loadpath) (void);
|
||||
+ #ifdef WIN3264
|
||||
static void (*dll_NtInitialize) (int*, char***);
|
||||
+ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
+ static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...);
|
||||
+ # endif
|
||||
+ #endif
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
static char * (*dll_rb_string_value_ptr) (volatile VALUE*);
|
||||
static VALUE (*dll_rb_float_new) (double);
|
||||
***************
|
||||
*** 293,301 ****
|
||||
#ifdef RUBY19_OR_LATER
|
||||
static VALUE (*dll_rb_int2big)(SIGNED_VALUE);
|
||||
#endif
|
||||
- #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
- static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...);
|
||||
- #endif
|
||||
|
||||
#ifdef RUBY19_OR_LATER
|
||||
static void (*dll_ruby_script) (const char*);
|
||||
--- 309,314 ----
|
||||
***************
|
||||
*** 317,328 ****
|
||||
}
|
||||
#endif
|
||||
|
||||
! static HINSTANCE hinstRuby = 0; /* Instance of ruby.dll */
|
||||
|
||||
/*
|
||||
* Table of name to function pointer of ruby.
|
||||
*/
|
||||
- #define RUBY_PROC FARPROC
|
||||
static struct
|
||||
{
|
||||
char *name;
|
||||
--- 330,340 ----
|
||||
}
|
||||
#endif
|
||||
|
||||
! static HINSTANCE hinstRuby = NULL; /* Instance of ruby.dll */
|
||||
|
||||
/*
|
||||
* Table of name to function pointer of ruby.
|
||||
*/
|
||||
static struct
|
||||
{
|
||||
char *name;
|
||||
***************
|
||||
*** 387,401 ****
|
||||
#endif
|
||||
{"ruby_init", (RUBY_PROC*)&dll_ruby_init},
|
||||
{"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
|
||||
{
|
||||
! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19
|
||||
"NtInitialize",
|
||||
! #else
|
||||
"ruby_sysinit",
|
||||
! #endif
|
||||
(RUBY_PROC*)&dll_NtInitialize},
|
||||
! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
{"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf},
|
||||
#endif
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
{"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr},
|
||||
--- 399,415 ----
|
||||
#endif
|
||||
{"ruby_init", (RUBY_PROC*)&dll_ruby_init},
|
||||
{"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
|
||||
+ #ifdef WIN3264
|
||||
{
|
||||
! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19
|
||||
"NtInitialize",
|
||||
! # else
|
||||
"ruby_sysinit",
|
||||
! # endif
|
||||
(RUBY_PROC*)&dll_NtInitialize},
|
||||
! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
{"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf},
|
||||
+ # endif
|
||||
#endif
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
{"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr},
|
||||
***************
|
||||
*** 424,430 ****
|
||||
if (hinstRuby)
|
||||
{
|
||||
close_dll(hinstRuby);
|
||||
! hinstRuby = 0;
|
||||
}
|
||||
}
|
||||
|
||||
--- 438,444 ----
|
||||
if (hinstRuby)
|
||||
{
|
||||
close_dll(hinstRuby);
|
||||
! hinstRuby = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
***************
|
||||
*** 454,460 ****
|
||||
ruby_funcname_table[i].name)))
|
||||
{
|
||||
close_dll(hinstRuby);
|
||||
! hinstRuby = 0;
|
||||
if (verbose)
|
||||
EMSG2(_(e_loadfunc), ruby_funcname_table[i].name);
|
||||
return FAIL;
|
||||
--- 468,474 ----
|
||||
ruby_funcname_table[i].name)))
|
||||
{
|
||||
close_dll(hinstRuby);
|
||||
! hinstRuby = NULL;
|
||||
if (verbose)
|
||||
EMSG2(_(e_loadfunc), ruby_funcname_table[i].name);
|
||||
return FAIL;
|
||||
***************
|
||||
*** 936,944 ****
|
||||
return line ? vim_str2rb_enc_str(line) : Qnil;
|
||||
}
|
||||
rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
|
||||
- #ifndef __GNUC__
|
||||
return Qnil; /* For stop warning */
|
||||
- #endif
|
||||
}
|
||||
|
||||
static VALUE buffer_aref(VALUE self, VALUE num)
|
||||
--- 950,956 ----
|
||||
*** ../vim-7.3.042/src/version.c 2010-10-27 16:17:56.000000000 +0200
|
||||
--- src/version.c 2010-10-27 16:45:28.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 43,
|
||||
/**/
|
||||
|
||||
--
|
||||
ARTHUR: A scratch? Your arm's off!
|
||||
BLACK KNIGHT: No, it isn't.
|
||||
ARTHUR: Well, what's that then?
|
||||
BLACK KNIGHT: I've had worse.
|
||||
The Quest for the Holy Grail (Monty Python)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
58
7.3.044
58
7.3.044
@ -1,58 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.044
|
||||
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.044
|
||||
Problem: The preview window opened by the popup menu is larger than
|
||||
specified with 'previewheight'. (Benjamin Haskell)
|
||||
Solution: Use 'previewheight' if it's set and smaller.
|
||||
Files: src/popupmnu.c
|
||||
|
||||
|
||||
*** ../vim-7.3.043/src/popupmnu.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/popupmnu.c 2010-10-27 17:04:31.000000000 +0200
|
||||
***************
|
||||
*** 558,565 ****
|
||||
win_T *curwin_save = curwin;
|
||||
int res = OK;
|
||||
|
||||
! /* Open a preview window. 3 lines by default. */
|
||||
g_do_tagpreview = 3;
|
||||
resized = prepare_tagpreview(FALSE);
|
||||
g_do_tagpreview = 0;
|
||||
|
||||
--- 558,568 ----
|
||||
win_T *curwin_save = curwin;
|
||||
int res = OK;
|
||||
|
||||
! /* Open a preview window. 3 lines by default. Prefer
|
||||
! * 'previewheight' if set and smaller. */
|
||||
g_do_tagpreview = 3;
|
||||
+ if (p_pvh > 0 && p_pvh < g_do_tagpreview)
|
||||
+ g_do_tagpreview = p_pvh;
|
||||
resized = prepare_tagpreview(FALSE);
|
||||
g_do_tagpreview = 0;
|
||||
|
||||
*** ../vim-7.3.043/src/version.c 2010-10-27 16:49:41.000000000 +0200
|
||||
--- src/version.c 2010-10-27 17:08:37.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 44,
|
||||
/**/
|
||||
|
||||
--
|
||||
"It's so simple to be wise. Just think of something stupid to say
|
||||
and then don't say it." -- Sam Levenson
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
57
7.3.045
57
7.3.045
@ -1,57 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.045
|
||||
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.045
|
||||
Problem: Compiler warning for uninitialized variable.
|
||||
Solution: Initialize the variable always.
|
||||
Files: src/getchar.c
|
||||
|
||||
|
||||
*** ../vim-7.3.044/src/getchar.c 2010-10-27 12:17:54.000000000 +0200
|
||||
--- src/getchar.c 2010-10-27 17:28:45.000000000 +0200
|
||||
***************
|
||||
*** 3290,3298 ****
|
||||
*/
|
||||
if (haskey)
|
||||
keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, special);
|
||||
if (hasarg)
|
||||
{
|
||||
- orig_rhs = rhs;
|
||||
if (STRICMP(rhs, "<nop>") == 0) /* "<Nop>" means nothing */
|
||||
rhs = (char_u *)"";
|
||||
else
|
||||
--- 3290,3298 ----
|
||||
*/
|
||||
if (haskey)
|
||||
keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, special);
|
||||
+ orig_rhs = rhs;
|
||||
if (hasarg)
|
||||
{
|
||||
if (STRICMP(rhs, "<nop>") == 0) /* "<Nop>" means nothing */
|
||||
rhs = (char_u *)"";
|
||||
else
|
||||
*** ../vim-7.3.044/src/version.c 2010-10-27 17:11:11.000000000 +0200
|
||||
--- src/version.c 2010-10-27 17:30:11.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 45,
|
||||
/**/
|
||||
|
||||
--
|
||||
MARTHA'S WAY: Don't throw out all that leftover wine. Freeze into ice cubes
|
||||
for future use in casseroles and sauces.
|
||||
MY WAY: What leftover wine?
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
76
7.3.046
76
7.3.046
@ -1,76 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.046
|
||||
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.046 (after 7.3.043)
|
||||
Problem: Can't build Ruby on MS-Windows.
|
||||
Solution: Add #ifdef, don't use WIN3264 before including vim.h.
|
||||
Files: src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.045/src/if_ruby.c 2010-10-27 16:49:41.000000000 +0200
|
||||
--- src/if_ruby.c 2010-10-27 17:37:05.000000000 +0200
|
||||
***************
|
||||
*** 14,20 ****
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
! #include "auto/config.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
# if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
|
||||
--- 14,22 ----
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
! #ifdef HAVE_CONFIG_H
|
||||
! # include "auto/config.h"
|
||||
! #endif
|
||||
|
||||
#ifdef _WIN32
|
||||
# if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
|
||||
***************
|
||||
*** 50,56 ****
|
||||
# define RUBY_EXPORT
|
||||
# endif
|
||||
|
||||
! #ifndef WIN3264
|
||||
# include <dlfcn.h>
|
||||
# define HINSTANCE void*
|
||||
# define RUBY_PROC void*
|
||||
--- 52,58 ----
|
||||
# define RUBY_EXPORT
|
||||
# endif
|
||||
|
||||
! #if !(defined(WIN32) || defined(_WIN64))
|
||||
# include <dlfcn.h>
|
||||
# define HINSTANCE void*
|
||||
# define RUBY_PROC void*
|
||||
*** ../vim-7.3.045/src/version.c 2010-10-27 17:39:00.000000000 +0200
|
||||
--- src/version.c 2010-10-27 17:39:59.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 46,
|
||||
/**/
|
||||
|
||||
--
|
||||
BLACK KNIGHT: Come on you pansy!
|
||||
[hah] [parry thrust]
|
||||
[ARTHUR chops the BLACK KNIGHT's right arm off]
|
||||
ARTHUR: Victory is mine! [kneeling]
|
||||
We thank thee Lord, that in thy merc-
|
||||
[Black Knight kicks Arthur in the head while he is praying]
|
||||
The Quest for the Holy Grail (Monty Python)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
172
7.3.047
172
7.3.047
@ -1,172 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.047
|
||||
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.047 (after 7.3.032)
|
||||
Problem: Missing makefile updates for test 75.
|
||||
Solution: Update the makefiles.
|
||||
Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
|
||||
src/testdir/Makefile, src/testdir/Make_ming.mak,
|
||||
src/testdir/Make_os2.mak, src/testdir/Make_vms.mms
|
||||
|
||||
|
||||
*** ../vim-7.3.046/src/testdir/Make_amiga.mak 2010-10-20 17:44:01.000000000 +0200
|
||||
--- src/testdir/Make_amiga.mak 2010-10-20 20:43:25.000000000 +0200
|
||||
***************
|
||||
*** 27,33 ****
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out test74.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 27,33 ----
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out test74.out test75.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
***************
|
||||
*** 121,123 ****
|
||||
--- 121,124 ----
|
||||
test72.out: test72.in
|
||||
test73.out: test73.in
|
||||
test74.out: test74.in
|
||||
+ test75.out: test75.in
|
||||
*** ../vim-7.3.046/src/testdir/Make_dos.mak 2010-10-20 17:44:01.000000000 +0200
|
||||
--- src/testdir/Make_dos.mak 2010-10-20 20:43:48.000000000 +0200
|
||||
***************
|
||||
*** 28,34 ****
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
! test74.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 28,34 ----
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
! test74.out test75.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.046/src/testdir/Makefile 2010-10-20 17:44:01.000000000 +0200
|
||||
--- src/testdir/Makefile 2010-10-20 20:44:10.000000000 +0200
|
||||
***************
|
||||
*** 25,31 ****
|
||||
test59.out test60.out test61.out test62.out test63.out \
|
||||
test64.out test65.out test66.out test67.out test68.out \
|
||||
test69.out test70.out test71.out test72.out test73.out \
|
||||
! test74.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
--- 25,31 ----
|
||||
test59.out test60.out test61.out test62.out test63.out \
|
||||
test64.out test65.out test66.out test67.out test68.out \
|
||||
test69.out test70.out test71.out test72.out test73.out \
|
||||
! test74.out test75.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
*** ../vim-7.3.046/src/testdir/Make_ming.mak 2010-10-20 17:44:01.000000000 +0200
|
||||
--- src/testdir/Make_ming.mak 2010-10-20 20:43:53.000000000 +0200
|
||||
***************
|
||||
*** 48,54 ****
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
! test74.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 48,54 ----
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
! test74.out test75.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.046/src/testdir/Make_os2.mak 2010-10-20 17:44:01.000000000 +0200
|
||||
--- src/testdir/Make_os2.mak 2010-10-20 20:44:00.000000000 +0200
|
||||
***************
|
||||
*** 27,33 ****
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out test74.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 27,33 ----
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out test74.out test75.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
*** ../vim-7.3.046/src/testdir/Make_vms.mms 2010-10-20 17:44:01.000000000 +0200
|
||||
--- src/testdir/Make_vms.mms 2010-10-20 20:44:05.000000000 +0200
|
||||
***************
|
||||
*** 4,10 ****
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
! # Last change: 2010 Aug 04
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
--- 4,10 ----
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
! # Last change: 2010 Oct 20
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
***************
|
||||
*** 74,80 ****
|
||||
test56.out test57.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
! test71.out test72.out test74.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
--- 74,80 ----
|
||||
test56.out test57.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
! test71.out test72.out test74.out test75.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
*** ../vim-7.3.046/src/version.c 2010-10-27 17:40:53.000000000 +0200
|
||||
--- src/version.c 2010-10-27 18:34:20.000000000 +0200
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 47,
|
||||
/**/
|
||||
|
||||
--
|
||||
5 out of 4 people have trouble with fractions.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
109
7.3.048
109
7.3.048
@ -1,109 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.048
|
||||
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.048
|
||||
Problem: ":earlier 1f" doesn't work after loading undo file.
|
||||
Solution: Set b_u_save_nr_cur when loading an undo file. (Christian
|
||||
Brabandt)
|
||||
Fix only showing time in ":undolist"
|
||||
Files: src/undo.c
|
||||
|
||||
|
||||
*** ../vim-7.3.047/src/undo.c 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/undo.c 2010-11-03 19:26:38.000000000 +0100
|
||||
***************
|
||||
*** 1861,1866 ****
|
||||
--- 1861,1867 ----
|
||||
curbuf->b_u_seq_cur = seq_cur;
|
||||
curbuf->b_u_time_cur = seq_time;
|
||||
curbuf->b_u_save_nr_last = last_save_nr;
|
||||
+ curbuf->b_u_save_nr_cur = last_save_nr;
|
||||
|
||||
curbuf->b_u_synced = TRUE;
|
||||
vim_free(uhp_table);
|
||||
***************
|
||||
*** 2794,2800 ****
|
||||
uhp->uh_time);
|
||||
if (uhp->uh_save_nr > 0)
|
||||
{
|
||||
! while (STRLEN(IObuff) < 32)
|
||||
STRCAT(IObuff, " ");
|
||||
vim_snprintf_add((char *)IObuff, IOSIZE,
|
||||
" %3ld", uhp->uh_save_nr);
|
||||
--- 2795,2801 ----
|
||||
uhp->uh_time);
|
||||
if (uhp->uh_save_nr > 0)
|
||||
{
|
||||
! while (STRLEN(IObuff) < 33)
|
||||
STRCAT(IObuff, " ");
|
||||
vim_snprintf_add((char *)IObuff, IOSIZE,
|
||||
" %3ld", uhp->uh_save_nr);
|
||||
***************
|
||||
*** 2849,2855 ****
|
||||
sort_strings((char_u **)ga.ga_data, ga.ga_len);
|
||||
|
||||
msg_start();
|
||||
! msg_puts_attr((char_u *)_("number changes time saved"),
|
||||
hl_attr(HLF_T));
|
||||
for (i = 0; i < ga.ga_len && !got_int; ++i)
|
||||
{
|
||||
--- 2850,2856 ----
|
||||
sort_strings((char_u **)ga.ga_data, ga.ga_len);
|
||||
|
||||
msg_start();
|
||||
! msg_puts_attr((char_u *)_("number changes when saved"),
|
||||
hl_attr(HLF_T));
|
||||
for (i = 0; i < ga.ga_len && !got_int; ++i)
|
||||
{
|
||||
***************
|
||||
*** 2879,2885 ****
|
||||
if (time(NULL) - tt >= 100)
|
||||
{
|
||||
curtime = localtime(&tt);
|
||||
! (void)strftime((char *)buf, buflen, "%H:%M:%S", curtime);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
--- 2880,2894 ----
|
||||
if (time(NULL) - tt >= 100)
|
||||
{
|
||||
curtime = localtime(&tt);
|
||||
! if (time(NULL) - tt < (60L * 60L * 12L))
|
||||
! /* within 12 hours */
|
||||
! (void)strftime((char *)buf, buflen, "%H:%M:%S", curtime);
|
||||
! else if (time(NULL) - tt < (60L * 60L * 24L * 180L))
|
||||
! /* within 6 months */
|
||||
! (void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime);
|
||||
! else
|
||||
! /* long ago */
|
||||
! (void)strftime((char *)buf, buflen, "%y/%m/%d %H:%M:%S", curtime);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
*** ../vim-7.3.047/src/version.c 2010-10-27 18:36:32.000000000 +0200
|
||||
--- src/version.c 2010-11-03 19:27:07.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 48,
|
||||
/**/
|
||||
|
||||
--
|
||||
TIM: To the north there lies a cave, the cave of Caerbannog, wherein, carved
|
||||
in mystic runes, upon the very living rock, the last words of Olfin
|
||||
Bedwere of Rheged make plain the last resting place of the most Holy
|
||||
Grail.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
495
7.3.049
495
7.3.049
@ -1,495 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.049
|
||||
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.049
|
||||
Problem: PLT has rebranded their Scheme to Racket.
|
||||
Solution: Add support for Racket 5.x. (Sergey Khorev)
|
||||
Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
|
||||
src/auto/configure, src/configure.in, src/if_mzsch.c
|
||||
|
||||
|
||||
*** ../vim-7.3.048/src/Make_cyg.mak 2010-08-15 21:57:27.000000000 +0200
|
||||
--- src/Make_cyg.mak 2010-11-03 21:50:42.000000000 +0100
|
||||
***************
|
||||
*** 1,6 ****
|
||||
#
|
||||
# Makefile for VIM on Win32, using Cygnus gcc
|
||||
! # Last updated by Dan Sharp. Last Change: 2010 Feb 24
|
||||
#
|
||||
# Also read INSTALLpc.txt!
|
||||
#
|
||||
--- 1,6 ----
|
||||
#
|
||||
# Makefile for VIM on Win32, using Cygnus gcc
|
||||
! # Last updated by Dan Sharp. Last Change: 2010 Nov 03
|
||||
#
|
||||
# Also read INSTALLpc.txt!
|
||||
#
|
||||
***************
|
||||
*** 27,32 ****
|
||||
--- 27,33 ----
|
||||
# MZSCHEME_VER define to version of MzScheme being used (209_000)
|
||||
# DYNAMIC_MZSCHEME no or yes: use yes to load the MzScheme DLLs dynamically (yes)
|
||||
# MZSCHEME_DLLS path to MzScheme DLLs (libmzgc and libmzsch), for "static" build.
|
||||
+ # MZSCHEME_USE_RACKET define to use "racket" instead of "mzsch".
|
||||
# LUA define to path to Lua dir to get Lua support (not defined)
|
||||
# LUA_VER define to version of Lua being used (51)
|
||||
# DYNAMIC_LUA no or yes: use yes to load the Lua DLL dynamically (yes)
|
||||
***************
|
||||
*** 254,269 ****
|
||||
MZSCHEME_GENERATE_BASE=no
|
||||
endif
|
||||
|
||||
ifeq (yes, $(DYNAMIC_MZSCHEME))
|
||||
! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
else
|
||||
ifndef MZSCHEME_DLLS
|
||||
MZSCHEME_DLLS = $(MZSCHEME)
|
||||
endif
|
||||
ifeq (yes,$(MZSCHEME_PRECISE_GC))
|
||||
! MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER)
|
||||
else
|
||||
! MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
|
||||
endif
|
||||
EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
|
||||
endif
|
||||
--- 255,276 ----
|
||||
MZSCHEME_GENERATE_BASE=no
|
||||
endif
|
||||
|
||||
+ ifndef MZSCHEME_USE_RACKET
|
||||
+ MZSCHEME_MAIN_LIB=mzsch
|
||||
+ else
|
||||
+ MZSCHEME_MAIN_LIB=racket
|
||||
+ endif
|
||||
+
|
||||
ifeq (yes, $(DYNAMIC_MZSCHEME))
|
||||
! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
else
|
||||
ifndef MZSCHEME_DLLS
|
||||
MZSCHEME_DLLS = $(MZSCHEME)
|
||||
endif
|
||||
ifeq (yes,$(MZSCHEME_PRECISE_GC))
|
||||
! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
|
||||
else
|
||||
! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
|
||||
endif
|
||||
EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
|
||||
endif
|
||||
*** ../vim-7.3.048/src/Make_ming.mak 2010-09-29 18:42:25.000000000 +0200
|
||||
--- src/Make_ming.mak 2010-11-03 21:48:14.000000000 +0100
|
||||
***************
|
||||
*** 141,151 ****
|
||||
MZSCHEME_GENERATE_BASE=no
|
||||
endif
|
||||
|
||||
ifeq (no,$(DYNAMIC_MZSCHEME))
|
||||
ifeq (yes,$(MZSCHEME_PRECISE_GC))
|
||||
! MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER)
|
||||
else
|
||||
! MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
|
||||
endif
|
||||
# the modern MinGW can dynamically link to dlls directly.
|
||||
# point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
|
||||
--- 141,157 ----
|
||||
MZSCHEME_GENERATE_BASE=no
|
||||
endif
|
||||
|
||||
+ ifndef MZSCHEME_USE_RACKET
|
||||
+ MZSCHEME_MAIN_LIB=mzsch
|
||||
+ else
|
||||
+ MZSCHEME_MAIN_LIB=racket
|
||||
+ endif
|
||||
+
|
||||
ifeq (no,$(DYNAMIC_MZSCHEME))
|
||||
ifeq (yes,$(MZSCHEME_PRECISE_GC))
|
||||
! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
|
||||
else
|
||||
! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
|
||||
endif
|
||||
# the modern MinGW can dynamically link to dlls directly.
|
||||
# point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
|
||||
***************
|
||||
*** 343,349 ****
|
||||
ifdef MZSCHEME
|
||||
CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
|
||||
ifeq (yes, $(DYNAMIC_MZSCHEME))
|
||||
! CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
endif
|
||||
endif
|
||||
|
||||
--- 349,355 ----
|
||||
ifdef MZSCHEME
|
||||
CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
|
||||
ifeq (yes, $(DYNAMIC_MZSCHEME))
|
||||
! CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
endif
|
||||
endif
|
||||
|
||||
*** ../vim-7.3.048/src/Make_mvc.mak 2010-08-15 21:57:27.000000000 +0200
|
||||
--- src/Make_mvc.mak 2010-11-03 21:48:14.000000000 +0100
|
||||
***************
|
||||
*** 705,716 ****
|
||||
MZSCHEME_VER = 205_000
|
||||
!endif
|
||||
CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I $(MZSCHEME)\include
|
||||
! !if EXIST("$(MZSCHEME)\collects\scheme\base.ss")
|
||||
! # for MzScheme 4.x we need to include byte code for basic Scheme stuff
|
||||
MZSCHEME_EXTRA_DEP = mzscheme_base.c
|
||||
CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE
|
||||
!endif
|
||||
! !if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib") \
|
||||
&& !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib")
|
||||
!message Building with Precise GC
|
||||
MZSCHEME_PRECISE_GC = yes
|
||||
--- 705,722 ----
|
||||
MZSCHEME_VER = 205_000
|
||||
!endif
|
||||
CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I $(MZSCHEME)\include
|
||||
! !if EXIST("$(MZSCHEME)\collects\scheme\base.ss") \
|
||||
! || EXIST("$(MZSCHEME)\collects\scheme\base.rkt")
|
||||
! # for MzScheme >= 4 we need to include byte code for basic Scheme stuff
|
||||
MZSCHEME_EXTRA_DEP = mzscheme_base.c
|
||||
CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE
|
||||
!endif
|
||||
! !if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib")
|
||||
! MZSCHEME_MAIN_LIB=mzsch
|
||||
! !else
|
||||
! MZSCHEME_MAIN_LIB=racket
|
||||
! !endif
|
||||
! !if EXIST("$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib") \
|
||||
&& !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib")
|
||||
!message Building with Precise GC
|
||||
MZSCHEME_PRECISE_GC = yes
|
||||
***************
|
||||
*** 722,728 ****
|
||||
!endif
|
||||
!message MzScheme DLLs will be loaded dynamically
|
||||
CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME \
|
||||
! -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" \
|
||||
-DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
!else
|
||||
!if "$(MZSCHEME_DEBUG)" == "yes"
|
||||
--- 728,734 ----
|
||||
!endif
|
||||
!message MzScheme DLLs will be loaded dynamically
|
||||
CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME \
|
||||
! -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" \
|
||||
-DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
!else
|
||||
!if "$(MZSCHEME_DEBUG)" == "yes"
|
||||
***************
|
||||
*** 730,739 ****
|
||||
!endif
|
||||
!if "$(MZSCHEME_PRECISE_GC)" == "yes"
|
||||
# Precise GC does not use separate dll
|
||||
! MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib
|
||||
!else
|
||||
MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib \
|
||||
! $(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib
|
||||
!endif
|
||||
!endif
|
||||
MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj
|
||||
--- 736,745 ----
|
||||
!endif
|
||||
!if "$(MZSCHEME_PRECISE_GC)" == "yes"
|
||||
# Precise GC does not use separate dll
|
||||
! MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib
|
||||
!else
|
||||
MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib \
|
||||
! $(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib
|
||||
!endif
|
||||
!endif
|
||||
MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj
|
||||
*** ../vim-7.3.048/src/auto/configure 2010-10-27 16:49:41.000000000 +0200
|
||||
--- src/auto/configure 2010-11-03 21:53:09.000000000 +0100
|
||||
***************
|
||||
*** 4862,4877 ****
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/plt/" >&5
|
||||
! $as_echo_n "checking if scheme.h can be found in /usr/include/plt/... " >&6; }
|
||||
! if test -f /usr/include/plt/scheme.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
! SCHEME_INC=/usr/include/plt
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
! vi_cv_path_mzscheme_pfx=
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
--- 4862,4897 ----
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket" >&5
|
||||
! $as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket... " >&6; }
|
||||
! if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
! SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/plt/" >&5
|
||||
! $as_echo_n "checking if scheme.h can be found in /usr/include/plt/... " >&6; }
|
||||
! if test -f /usr/include/plt/scheme.h; then
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
! $as_echo "yes" >&6; }
|
||||
! SCHEME_INC=/usr/include/plt
|
||||
! else
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
! $as_echo "no" >&6; }
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/racket/" >&5
|
||||
! $as_echo_n "checking if scheme.h can be found in /usr/include/racket/... " >&6; }
|
||||
! if test -f /usr/include/racket/scheme.h; then
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
! $as_echo "yes" >&6; }
|
||||
! SCHEME_INC=/usr/include/racket
|
||||
! else
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
! $as_echo "no" >&6; }
|
||||
! vi_cv_path_mzscheme_pfx=
|
||||
! fi
|
||||
! fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
***************
|
||||
*** 4883,4894 ****
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
|
||||
else
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
else
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
|
||||
fi
|
||||
--- 4903,4924 ----
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then
|
||||
! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"
|
||||
! MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then
|
||||
! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
|
||||
! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
|
||||
else
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
+ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then
|
||||
+ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m"
|
||||
+ MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
+ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then
|
||||
+ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc"
|
||||
else
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
|
||||
fi
|
||||
***************
|
||||
*** 4901,4910 ****
|
||||
fi
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
|
||||
SCHEME_COLLECTS=lib/plt/
|
||||
fi
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
|
||||
! MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
! MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
|
||||
MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
|
||||
fi
|
||||
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
|
||||
--- 4931,4950 ----
|
||||
fi
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
|
||||
SCHEME_COLLECTS=lib/plt/
|
||||
+ else
|
||||
+ if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
|
||||
+ SCHEME_COLLECTS=lib/racket/
|
||||
+ fi
|
||||
fi
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
|
||||
! MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
! else
|
||||
! if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
|
||||
! MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
! fi
|
||||
! fi
|
||||
! if test "X$MZSCHEME_EXTRA" != "X" ; then
|
||||
! MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
|
||||
MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
|
||||
fi
|
||||
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
|
||||
*** ../vim-7.3.048/src/configure.in 2010-10-27 16:49:41.000000000 +0200
|
||||
--- src/configure.in 2010-11-03 21:48:14.000000000 +0100
|
||||
***************
|
||||
*** 568,580 ****
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
! AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/)
|
||||
! if test -f /usr/include/plt/scheme.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
! SCHEME_INC=/usr/include/plt
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
! vi_cv_path_mzscheme_pfx=
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
--- 568,594 ----
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
! AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket)
|
||||
! if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
! SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
! AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/)
|
||||
! if test -f /usr/include/plt/scheme.h; then
|
||||
! AC_MSG_RESULT(yes)
|
||||
! SCHEME_INC=/usr/include/plt
|
||||
! else
|
||||
! AC_MSG_RESULT(no)
|
||||
! AC_MSG_CHECKING(if scheme.h can be found in /usr/include/racket/)
|
||||
! if test -f /usr/include/racket/scheme.h; then
|
||||
! AC_MSG_RESULT(yes)
|
||||
! SCHEME_INC=/usr/include/racket
|
||||
! else
|
||||
! AC_MSG_RESULT(no)
|
||||
! vi_cv_path_mzscheme_pfx=
|
||||
! fi
|
||||
! fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
***************
|
||||
*** 586,598 ****
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
|
||||
else
|
||||
dnl Using shared objects
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
else
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
|
||||
fi
|
||||
--- 600,622 ----
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then
|
||||
! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"
|
||||
! MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then
|
||||
! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
|
||||
! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
|
||||
else
|
||||
dnl Using shared objects
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
+ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then
|
||||
+ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m"
|
||||
+ MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
+ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then
|
||||
+ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc"
|
||||
else
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
|
||||
fi
|
||||
***************
|
||||
*** 607,616 ****
|
||||
fi
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
|
||||
SCHEME_COLLECTS=lib/plt/
|
||||
fi
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
|
||||
- dnl need to generate bytecode for MzScheme base
|
||||
MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
|
||||
MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
|
||||
fi
|
||||
--- 631,650 ----
|
||||
fi
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
|
||||
SCHEME_COLLECTS=lib/plt/
|
||||
+ else
|
||||
+ if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
|
||||
+ SCHEME_COLLECTS=lib/racket/
|
||||
+ fi
|
||||
fi
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
|
||||
MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
+ else
|
||||
+ if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
|
||||
+ MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
+ fi
|
||||
+ fi
|
||||
+ if test "X$MZSCHEME_EXTRA" != "X" ; then
|
||||
+ dnl need to generate bytecode for MzScheme base
|
||||
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
|
||||
MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
|
||||
fi
|
||||
*** ../vim-7.3.048/src/if_mzsch.c 2010-10-23 14:02:48.000000000 +0200
|
||||
--- src/if_mzsch.c 2010-11-03 21:48:14.000000000 +0100
|
||||
***************
|
||||
*** 794,802 ****
|
||||
--- 794,809 ----
|
||||
#endif
|
||||
}
|
||||
|
||||
+ #if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
|
||||
+ static __declspec(thread) void *tls_space;
|
||||
+ #endif
|
||||
+
|
||||
void
|
||||
mzscheme_main(void)
|
||||
{
|
||||
+ #if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
|
||||
+ scheme_register_tls_space(&tls_space, 0);
|
||||
+ #endif
|
||||
#if defined(MZ_PRECISE_GC) && MZSCHEME_VERSION_MAJOR >= 400
|
||||
/* use trampoline for precise GC in MzScheme >= 4.x */
|
||||
scheme_main_setup(TRUE, mzscheme_env_main, 0, NULL);
|
||||
*** ../vim-7.3.048/src/version.c 2010-11-03 19:32:36.000000000 +0100
|
||||
--- src/version.c 2010-11-03 21:57:04.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 49,
|
||||
/**/
|
||||
|
||||
--
|
||||
TIM: But follow only if you are men of valour. For the entrance to this cave
|
||||
is guarded by a monster, a creature so foul and cruel that no man yet has
|
||||
fought with it and lived. Bones of full fifty men lie strewn about its
|
||||
lair ...
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
199
7.3.050
199
7.3.050
@ -1,199 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.050
|
||||
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.050
|
||||
Problem: The link script is clumsy.
|
||||
Solution: Use the --as-needed linker option if available. (Kirill A.
|
||||
Shutemov)
|
||||
Files: src/Makefile, src/auto/configure, src/config.mk.in,
|
||||
src/configure.in, src/link.sh
|
||||
|
||||
|
||||
*** ../vim-7.3.049/src/Makefile 2010-10-27 16:49:41.000000000 +0200
|
||||
--- src/Makefile 2010-11-03 22:26:45.000000000 +0100
|
||||
***************
|
||||
*** 1700,1706 ****
|
||||
$(CCC) version.c -o objects/version.o
|
||||
@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
|
||||
-o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \
|
||||
! MAKE="$(MAKE)" sh $(srcdir)/link.sh
|
||||
|
||||
xxd/xxd$(EXEEXT): xxd/xxd.c
|
||||
cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" \
|
||||
--- 1700,1707 ----
|
||||
$(CCC) version.c -o objects/version.o
|
||||
@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
|
||||
-o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \
|
||||
! MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
|
||||
! sh $(srcdir)/link.sh
|
||||
|
||||
xxd/xxd$(EXEEXT): xxd/xxd.c
|
||||
cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" \
|
||||
*** ../vim-7.3.049/src/auto/configure 2010-11-03 21:59:23.000000000 +0100
|
||||
--- src/auto/configure 2010-11-03 22:28:03.000000000 +0100
|
||||
***************
|
||||
*** 593,598 ****
|
||||
--- 593,599 ----
|
||||
|
||||
ac_subst_vars='LTLIBOBJS
|
||||
LIBOBJS
|
||||
+ LINK_AS_NEEDED
|
||||
DEPEND_CFLAGS_FILTER
|
||||
MAKEMO
|
||||
MSGFMT
|
||||
***************
|
||||
*** 12404,12409 ****
|
||||
--- 12405,12427 ----
|
||||
fi
|
||||
|
||||
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --as-needed support" >&5
|
||||
+ $as_echo_n "checking linker --as-needed support... " >&6; }
|
||||
+ LINK_AS_NEEDED=
|
||||
+ # Check if linker supports --as-needed and --no-as-needed options
|
||||
+ if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then
|
||||
+ LDFLAGS="$LDFLAGS -Wl,--as-needed"
|
||||
+ LINK_AS_NEEDED=yes
|
||||
+ fi
|
||||
+ if test "$LINK_AS_NEEDED" = yes; 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; }
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
ac_config_files="$ac_config_files auto/config.mk:config.mk.in"
|
||||
|
||||
cat >confcache <<\_ACEOF
|
||||
*** ../vim-7.3.049/src/config.mk.in 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/config.mk.in 2010-11-03 22:26:24.000000000 +0100
|
||||
***************
|
||||
*** 30,35 ****
|
||||
--- 30,36 ----
|
||||
CPP = @CPP@
|
||||
CPP_MM = @CPP_MM@
|
||||
DEPEND_CFLAGS_FILTER = @DEPEND_CFLAGS_FILTER@
|
||||
+ LINK_AS_NEEDED = @LINK_AS_NEEDED@
|
||||
X_CFLAGS = @X_CFLAGS@
|
||||
X_LIBS_DIR = @X_LIBS@
|
||||
X_PRE_LIBS = @X_PRE_LIBS@
|
||||
*** ../vim-7.3.049/src/configure.in 2010-11-03 21:59:23.000000000 +0100
|
||||
--- src/configure.in 2010-11-03 22:26:16.000000000 +0100
|
||||
***************
|
||||
*** 3527,3532 ****
|
||||
--- 3527,3549 ----
|
||||
fi
|
||||
AC_SUBST(DEPEND_CFLAGS_FILTER)
|
||||
|
||||
+ dnl link.sh tries to avoid overlinking in a hackish way.
|
||||
+ dnl At least GNU ld supports --as-needed which provides the same functionality
|
||||
+ dnl at linker level. Let's use it.
|
||||
+ AC_MSG_CHECKING(linker --as-needed support)
|
||||
+ LINK_AS_NEEDED=
|
||||
+ # Check if linker supports --as-needed and --no-as-needed options
|
||||
+ if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then
|
||||
+ LDFLAGS="$LDFLAGS -Wl,--as-needed"
|
||||
+ LINK_AS_NEEDED=yes
|
||||
+ fi
|
||||
+ if test "$LINK_AS_NEEDED" = yes; then
|
||||
+ AC_MSG_RESULT(yes)
|
||||
+ else
|
||||
+ AC_MSG_RESULT(no)
|
||||
+ fi
|
||||
+ AC_SUBST(LINK_AS_NEEDED)
|
||||
+
|
||||
dnl write output files
|
||||
AC_OUTPUT(auto/config.mk:config.mk.in)
|
||||
|
||||
*** ../vim-7.3.049/src/link.sh 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/link.sh 2010-11-03 22:26:08.000000000 +0100
|
||||
***************
|
||||
*** 5,11 ****
|
||||
# libraries when they exist, but this doesn't mean they are needed for Vim.
|
||||
#
|
||||
# Author: Bram Moolenaar
|
||||
! # Last change: 2006 Sep 26
|
||||
# License: Public domain
|
||||
#
|
||||
# Warning: This fails miserably if the linker doesn't return an error code!
|
||||
--- 5,11 ----
|
||||
# libraries when they exist, but this doesn't mean they are needed for Vim.
|
||||
#
|
||||
# Author: Bram Moolenaar
|
||||
! # Last change: 2010 Nov 03
|
||||
# License: Public domain
|
||||
#
|
||||
# Warning: This fails miserably if the linker doesn't return an error code!
|
||||
***************
|
||||
*** 16,26 ****
|
||||
echo "$LINK " >link.cmd
|
||||
exit_value=0
|
||||
|
||||
#
|
||||
# If auto/link.sed already exists, use it. We assume a previous run of
|
||||
# link.sh has found the correct set of libraries.
|
||||
#
|
||||
- if test -f auto/link.sed; then
|
||||
echo "link.sh: The file 'auto/link.sed' exists, which is going to be used now."
|
||||
echo "link.sh: If linking fails, try deleting the auto/link.sed file."
|
||||
echo "link.sh: If this fails too, try creating an empty auto/link.sed file."
|
||||
--- 16,38 ----
|
||||
echo "$LINK " >link.cmd
|
||||
exit_value=0
|
||||
|
||||
+ if test "$LINK_AS_NEEDED" = yes; then
|
||||
+ echo "link.sh: \$LINK_AS_NEEDED set to 'yes': invoking linker directly."
|
||||
+ cat link.cmd
|
||||
+ if sh link.cmd; then
|
||||
+ exit_value=0
|
||||
+ echo "link.sh: Linked fine"
|
||||
+ else
|
||||
+ exit_value=$?
|
||||
+ echo "link.sh: Linking failed"
|
||||
+ fi
|
||||
+ else
|
||||
+ if test -f auto/link.sed; then
|
||||
+
|
||||
#
|
||||
# If auto/link.sed already exists, use it. We assume a previous run of
|
||||
# link.sh has found the correct set of libraries.
|
||||
#
|
||||
echo "link.sh: The file 'auto/link.sed' exists, which is going to be used now."
|
||||
echo "link.sh: If linking fails, try deleting the auto/link.sed file."
|
||||
echo "link.sh: If this fails too, try creating an empty auto/link.sed file."
|
||||
***************
|
||||
*** 124,129 ****
|
||||
--- 136,143 ----
|
||||
fi
|
||||
fi
|
||||
|
||||
+ fi
|
||||
+
|
||||
#
|
||||
# cleanup
|
||||
#
|
||||
*** ../vim-7.3.049/src/version.c 2010-11-03 21:59:23.000000000 +0100
|
||||
--- src/version.c 2010-11-03 22:30:17.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 50,
|
||||
/**/
|
||||
|
||||
--
|
||||
Save the plankton - eat a whale.
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
111
7.3.051
111
7.3.051
@ -1,111 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.051
|
||||
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.051
|
||||
Problem: Crash when $PATH is empty.
|
||||
Solution: Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto)
|
||||
Files: src/ex_getln.c, src/os_win32.c
|
||||
|
||||
|
||||
*** ../vim-7.3.050/src/ex_getln.c 2010-10-27 12:58:19.000000000 +0200
|
||||
--- src/ex_getln.c 2010-11-10 15:31:33.000000000 +0100
|
||||
***************
|
||||
*** 4747,4753 ****
|
||||
--- 4747,4757 ----
|
||||
|| (pat[1] == '.' && vim_ispathsep(pat[2])))))
|
||||
path = (char_u *)".";
|
||||
else
|
||||
+ {
|
||||
path = vim_getenv((char_u *)"PATH", &mustfree);
|
||||
+ if (path == NULL)
|
||||
+ path = (char_u *)"";
|
||||
+ }
|
||||
|
||||
/*
|
||||
* Go over all directories in $PATH. Expand matches in that directory and
|
||||
*** ../vim-7.3.050/src/os_win32.c 2010-10-27 12:17:54.000000000 +0200
|
||||
--- src/os_win32.c 2010-11-10 15:30:36.000000000 +0100
|
||||
***************
|
||||
*** 211,223 ****
|
||||
static void
|
||||
get_exe_name(void)
|
||||
{
|
||||
! char temp[MAXPATHL];
|
||||
char_u *p;
|
||||
|
||||
if (exe_name == NULL)
|
||||
{
|
||||
/* store the name of the executable, may be used for $VIM */
|
||||
! GetModuleFileName(NULL, temp, MAXPATHL - 1);
|
||||
if (*temp != NUL)
|
||||
exe_name = FullName_save((char_u *)temp, FALSE);
|
||||
}
|
||||
--- 211,226 ----
|
||||
static void
|
||||
get_exe_name(void)
|
||||
{
|
||||
! /* Maximum length of $PATH is more than MAXPATHL. 8191 is often mentioned
|
||||
! * as the maximum length that works (plus a NUL byte). */
|
||||
! #define MAX_ENV_PATH_LEN 8192
|
||||
! char temp[MAX_ENV_PATH_LEN];
|
||||
char_u *p;
|
||||
|
||||
if (exe_name == NULL)
|
||||
{
|
||||
/* store the name of the executable, may be used for $VIM */
|
||||
! GetModuleFileName(NULL, temp, MAX_ENV_PATH_LEN - 1);
|
||||
if (*temp != NUL)
|
||||
exe_name = FullName_save((char_u *)temp, FALSE);
|
||||
}
|
||||
***************
|
||||
*** 232,241 ****
|
||||
* "!xxd" it's found in our starting directory. Needed because
|
||||
* SearchPath() also looks there. */
|
||||
p = mch_getenv("PATH");
|
||||
! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL)
|
||||
{
|
||||
! STRCPY(temp, p);
|
||||
! STRCAT(temp, ";");
|
||||
STRCAT(temp, exe_path);
|
||||
vim_setenv((char_u *)"PATH", temp);
|
||||
}
|
||||
--- 235,250 ----
|
||||
* "!xxd" it's found in our starting directory. Needed because
|
||||
* SearchPath() also looks there. */
|
||||
p = mch_getenv("PATH");
|
||||
! if (p == NULL
|
||||
! || STRLEN(p) + STRLEN(exe_path) + 2 < MAX_ENV_PATH_LEN)
|
||||
{
|
||||
! if (p == NULL || *p == NUL)
|
||||
! temp[0] = NUL;
|
||||
! else
|
||||
! {
|
||||
! STRCPY(temp, p);
|
||||
! STRCAT(temp, ";");
|
||||
! }
|
||||
STRCAT(temp, exe_path);
|
||||
vim_setenv((char_u *)"PATH", temp);
|
||||
}
|
||||
*** ../vim-7.3.050/src/version.c 2010-11-03 22:32:18.000000000 +0100
|
||||
--- src/version.c 2010-11-10 15:34:43.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 51,
|
||||
/**/
|
||||
|
||||
--
|
||||
SIGFUN -- signature too funny (core dumped)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
345
7.3.052
345
7.3.052
@ -1,345 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.052
|
||||
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.052
|
||||
Problem: When 'completefunc' opens a new window all kinds of errors follow.
|
||||
(Xavier Deguillard)
|
||||
Solution: When 'completefunc' goes to another window or buffer and when it
|
||||
deletes text abort completion. Add a test for 'completefunc'.
|
||||
Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
|
||||
src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
|
||||
src/testdir/Make_vms.mms, src/testdir/Makefile,
|
||||
src/testdir/test76.in, src/testdir/test76.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.051/src/edit.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/edit.c 2010-11-10 16:50:12.000000000 +0100
|
||||
***************
|
||||
*** 58,63 ****
|
||||
--- 58,67 ----
|
||||
};
|
||||
|
||||
static char e_hitend[] = N_("Hit end of paragraph");
|
||||
+ #ifdef FEAT_COMPL_FUNC
|
||||
+ static char e_complwin[] = N_("E839: Completion function changed window");
|
||||
+ static char e_compldel[] = N_("E840: Completion function deleted text");
|
||||
+ #endif
|
||||
|
||||
/*
|
||||
* Structure used to store one match for insert completion.
|
||||
***************
|
||||
*** 3833,3838 ****
|
||||
--- 3837,3844 ----
|
||||
char_u *args[2];
|
||||
char_u *funcname;
|
||||
pos_T pos;
|
||||
+ win_T *curwin_save;
|
||||
+ buf_T *curbuf_save;
|
||||
|
||||
funcname = (type == CTRL_X_FUNCTION) ? curbuf->b_p_cfu : curbuf->b_p_ofu;
|
||||
if (*funcname == NUL)
|
||||
***************
|
||||
*** 3843,3855 ****
|
||||
args[1] = base;
|
||||
|
||||
pos = curwin->w_cursor;
|
||||
matchlist = call_func_retlist(funcname, 2, args, FALSE);
|
||||
curwin->w_cursor = pos; /* restore the cursor position */
|
||||
! if (matchlist == NULL)
|
||||
! return;
|
||||
|
||||
! ins_compl_add_list(matchlist);
|
||||
! list_unref(matchlist);
|
||||
}
|
||||
#endif /* FEAT_COMPL_FUNC */
|
||||
|
||||
--- 3849,3875 ----
|
||||
args[1] = base;
|
||||
|
||||
pos = curwin->w_cursor;
|
||||
+ curwin_save = curwin;
|
||||
+ curbuf_save = curbuf;
|
||||
matchlist = call_func_retlist(funcname, 2, args, FALSE);
|
||||
+ if (curwin_save != curwin || curbuf_save != curbuf)
|
||||
+ {
|
||||
+ EMSG(_(e_complwin));
|
||||
+ goto theend;
|
||||
+ }
|
||||
curwin->w_cursor = pos; /* restore the cursor position */
|
||||
! check_cursor();
|
||||
! if (!equalpos(curwin->w_cursor, pos))
|
||||
! {
|
||||
! EMSG(_(e_compldel));
|
||||
! goto theend;
|
||||
! }
|
||||
! if (matchlist != NULL)
|
||||
! ins_compl_add_list(matchlist);
|
||||
|
||||
! theend:
|
||||
! if (matchlist != NULL)
|
||||
! list_unref(matchlist);
|
||||
}
|
||||
#endif /* FEAT_COMPL_FUNC */
|
||||
|
||||
***************
|
||||
*** 4994,4999 ****
|
||||
--- 5014,5021 ----
|
||||
int col;
|
||||
char_u *funcname;
|
||||
pos_T pos;
|
||||
+ win_T *curwin_save;
|
||||
+ buf_T *curbuf_save;
|
||||
|
||||
/* Call 'completefunc' or 'omnifunc' and get pattern length as a
|
||||
* string */
|
||||
***************
|
||||
*** 5009,5016 ****
|
||||
--- 5031,5051 ----
|
||||
args[0] = (char_u *)"1";
|
||||
args[1] = NULL;
|
||||
pos = curwin->w_cursor;
|
||||
+ curwin_save = curwin;
|
||||
+ curbuf_save = curbuf;
|
||||
col = call_func_retnr(funcname, 2, args, FALSE);
|
||||
+ if (curwin_save != curwin || curbuf_save != curbuf)
|
||||
+ {
|
||||
+ EMSG(_(e_complwin));
|
||||
+ return FAIL;
|
||||
+ }
|
||||
curwin->w_cursor = pos; /* restore the cursor position */
|
||||
+ check_cursor();
|
||||
+ if (!equalpos(curwin->w_cursor, pos))
|
||||
+ {
|
||||
+ EMSG(_(e_compldel));
|
||||
+ return FAIL;
|
||||
+ }
|
||||
|
||||
if (col < 0)
|
||||
col = curs_col;
|
||||
*** ../vim-7.3.051/src/testdir/Make_amiga.mak 2010-10-27 18:36:32.000000000 +0200
|
||||
--- src/testdir/Make_amiga.mak 2010-11-10 15:48:30.000000000 +0100
|
||||
***************
|
||||
*** 27,33 ****
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out test74.out test75.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 27,34 ----
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out test74.out test75.out \
|
||||
! test76.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
***************
|
||||
*** 122,124 ****
|
||||
--- 123,126 ----
|
||||
test73.out: test73.in
|
||||
test74.out: test74.in
|
||||
test75.out: test75.in
|
||||
+ test76.out: test76.in
|
||||
*** ../vim-7.3.051/src/testdir/Make_dos.mak 2010-10-27 18:36:32.000000000 +0200
|
||||
--- src/testdir/Make_dos.mak 2010-11-10 15:48:38.000000000 +0100
|
||||
***************
|
||||
*** 28,34 ****
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
! test74.out test75.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 28,34 ----
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
! test74.out test75.out test76.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.051/src/testdir/Make_ming.mak 2010-10-27 18:36:32.000000000 +0200
|
||||
--- src/testdir/Make_ming.mak 2010-11-10 15:48:53.000000000 +0100
|
||||
***************
|
||||
*** 48,54 ****
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
! test74.out test75.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
--- 48,54 ----
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
! test74.out test75.out test76.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
*** ../vim-7.3.051/src/testdir/Make_os2.mak 2010-10-27 18:36:32.000000000 +0200
|
||||
--- src/testdir/Make_os2.mak 2010-11-10 15:49:10.000000000 +0100
|
||||
***************
|
||||
*** 27,33 ****
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out test74.out test75.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
--- 27,34 ----
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
! test71.out test72.out test73.out test74.out test75.out \
|
||||
! test76.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
*** ../vim-7.3.051/src/testdir/Make_vms.mms 2010-10-27 18:36:32.000000000 +0200
|
||||
--- src/testdir/Make_vms.mms 2010-11-10 15:49:32.000000000 +0100
|
||||
***************
|
||||
*** 4,10 ****
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
! # Last change: 2010 Oct 20
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
--- 4,10 ----
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
! # Last change: 2010 Nov 10
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
***************
|
||||
*** 74,80 ****
|
||||
test56.out test57.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
! test71.out test72.out test74.out test75.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
--- 74,80 ----
|
||||
test56.out test57.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
! test71.out test72.out test74.out test75.out test76.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
*** ../vim-7.3.051/src/testdir/Makefile 2010-10-27 18:36:32.000000000 +0200
|
||||
--- src/testdir/Makefile 2010-11-10 15:47:32.000000000 +0100
|
||||
***************
|
||||
*** 25,31 ****
|
||||
test59.out test60.out test61.out test62.out test63.out \
|
||||
test64.out test65.out test66.out test67.out test68.out \
|
||||
test69.out test70.out test71.out test72.out test73.out \
|
||||
! test74.out test75.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
--- 25,31 ----
|
||||
test59.out test60.out test61.out test62.out test63.out \
|
||||
test64.out test65.out test66.out test67.out test68.out \
|
||||
test69.out test70.out test71.out test72.out test73.out \
|
||||
! test74.out test75.out test76.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
*** ../vim-7.3.051/src/testdir/test76.in 2010-11-10 16:51:45.000000000 +0100
|
||||
--- src/testdir/test76.in 2010-11-10 16:38:45.000000000 +0100
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,46 ----
|
||||
+ Tests for completefunc/omnifunc. vim: set ft=vim :
|
||||
+
|
||||
+ STARTTEST
|
||||
+ :"Test that nothing happens if the 'completefunc' opens
|
||||
+ :"a new window (no completion, no crash)
|
||||
+ :so small.vim
|
||||
+ :function! DummyCompleteOne(findstart, base)
|
||||
+ : if a:findstart
|
||||
+ : return 0
|
||||
+ : else
|
||||
+ : wincmd n
|
||||
+ : return ['onedef', 'oneDEF']
|
||||
+ : endif
|
||||
+ :endfunction
|
||||
+ :setlocal completefunc=DummyCompleteOne
|
||||
+ /^one
|
||||
+ A:q!
|
||||
+ :function! DummyCompleteTwo(findstart, base)
|
||||
+ : if a:findstart
|
||||
+ : wincmd n
|
||||
+ : return 0
|
||||
+ : else
|
||||
+ : return ['twodef', 'twoDEF']
|
||||
+ : endif
|
||||
+ :endfunction
|
||||
+ :setlocal completefunc=DummyCompleteTwo
|
||||
+ /^two
|
||||
+ A:q!
|
||||
+ :"Test that 'completefunc' works when it's OK.
|
||||
+ :function! DummyCompleteThree(findstart, base)
|
||||
+ : if a:findstart
|
||||
+ : return 0
|
||||
+ : else
|
||||
+ : return ['threedef', 'threeDEF']
|
||||
+ : endif
|
||||
+ :endfunction
|
||||
+ :setlocal completefunc=DummyCompleteThree
|
||||
+ /^three
|
||||
+ A:/^+++/,/^three/w! test.out
|
||||
+ :qa!
|
||||
+ ENDTEST
|
||||
+
|
||||
+ +++
|
||||
+ one
|
||||
+ two
|
||||
+ three
|
||||
*** ../vim-7.3.051/src/testdir/test76.ok 2010-11-10 16:51:45.000000000 +0100
|
||||
--- src/testdir/test76.ok 2010-11-10 16:38:58.000000000 +0100
|
||||
***************
|
||||
*** 0 ****
|
||||
--- 1,4 ----
|
||||
+ +++
|
||||
+
|
||||
+ two
|
||||
+ threeDEF
|
||||
*** ../vim-7.3.051/src/version.c 2010-11-10 15:37:00.000000000 +0100
|
||||
--- src/version.c 2010-11-10 16:40:29.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 52,
|
||||
/**/
|
||||
|
||||
--
|
||||
BRIDGEKEEPER: What is the air-speed velocity of an unladen swallow?
|
||||
ARTHUR: What do you mean? An African or European swallow?
|
||||
BRIDGEKEEPER: Er ... I don't know that ... Aaaaarrrrrrggghhh!
|
||||
BRIDGEKEEPER is cast into the gorge.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
89
7.3.053
89
7.3.053
@ -1,89 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.053
|
||||
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.053
|
||||
Problem: complete() function doesn't reset complete direction. Can't use
|
||||
an empty string in the list of matches.
|
||||
Solution: Set compl_direction to FORWARD. Add "empty" key to allow empty
|
||||
words. (Kikuchan)
|
||||
Files: src/edit.c
|
||||
|
||||
|
||||
*** ../vim-7.3.052/src/edit.c 2010-11-10 16:54:16.000000000 +0100
|
||||
--- src/edit.c 2010-11-10 17:03:23.000000000 +0100
|
||||
***************
|
||||
*** 2662,2667 ****
|
||||
--- 2662,2668 ----
|
||||
if (stop_arrow() == FAIL)
|
||||
return;
|
||||
|
||||
+ compl_direction = FORWARD;
|
||||
if (startcol > curwin->w_cursor.col)
|
||||
startcol = curwin->w_cursor.col;
|
||||
compl_col = startcol;
|
||||
***************
|
||||
*** 3909,3914 ****
|
||||
--- 3910,3916 ----
|
||||
char_u *word;
|
||||
int icase = FALSE;
|
||||
int adup = FALSE;
|
||||
+ int aempty = FALSE;
|
||||
char_u *(cptext[CPT_COUNT]);
|
||||
|
||||
if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
|
||||
***************
|
||||
*** 3926,3938 ****
|
||||
icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase");
|
||||
if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL)
|
||||
adup = get_dict_number(tv->vval.v_dict, (char_u *)"dup");
|
||||
}
|
||||
else
|
||||
{
|
||||
word = get_tv_string_chk(tv);
|
||||
vim_memset(cptext, 0, sizeof(cptext));
|
||||
}
|
||||
! if (word == NULL || *word == NUL)
|
||||
return FAIL;
|
||||
return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup);
|
||||
}
|
||||
--- 3928,3942 ----
|
||||
icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase");
|
||||
if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL)
|
||||
adup = get_dict_number(tv->vval.v_dict, (char_u *)"dup");
|
||||
+ if (get_dict_string(tv->vval.v_dict, (char_u *)"empty", FALSE) != NULL)
|
||||
+ aempty = get_dict_number(tv->vval.v_dict, (char_u *)"empty");
|
||||
}
|
||||
else
|
||||
{
|
||||
word = get_tv_string_chk(tv);
|
||||
vim_memset(cptext, 0, sizeof(cptext));
|
||||
}
|
||||
! if (word == NULL || (!aempty && *word == NUL))
|
||||
return FAIL;
|
||||
return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup);
|
||||
}
|
||||
*** ../vim-7.3.052/src/version.c 2010-11-10 16:54:16.000000000 +0100
|
||||
--- src/version.c 2010-11-10 17:10:39.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 53,
|
||||
/**/
|
||||
|
||||
--
|
||||
BEDEVERE: How do you know so much about swallows?
|
||||
ARTHUR: Well you have to know these things when you're a king, you know.
|
||||
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
112
7.3.054
112
7.3.054
@ -1,112 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.054
|
||||
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.054
|
||||
Problem: Can define a user command for :Print, but it doesn't work. (Aaron
|
||||
Thoma)
|
||||
Solution: Let user command :Print overrule the builtin command (Christian
|
||||
Brabandt) Disallow :X and :Next as a user defined command.
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
|
||||
*** ../vim-7.3.053/src/ex_docmd.c 2010-10-13 17:50:02.000000000 +0200
|
||||
--- src/ex_docmd.c 2010-11-10 18:33:18.000000000 +0100
|
||||
***************
|
||||
*** 2871,2878 ****
|
||||
}
|
||||
|
||||
#ifdef FEAT_USR_CMDS
|
||||
! /* Look for a user defined command as a last resort */
|
||||
! if (eap->cmdidx == CMD_SIZE && *eap->cmd >= 'A' && *eap->cmd <= 'Z')
|
||||
{
|
||||
/* User defined commands may contain digits. */
|
||||
while (ASCII_ISALNUM(*p))
|
||||
--- 2871,2880 ----
|
||||
}
|
||||
|
||||
#ifdef FEAT_USR_CMDS
|
||||
! /* Look for a user defined command as a last resort. Let ":Print" be
|
||||
! * overruled by a user defined command. */
|
||||
! if ((eap->cmdidx == CMD_SIZE || eap->cmdidx == CMD_Print)
|
||||
! && *eap->cmd >= 'A' && *eap->cmd <= 'Z')
|
||||
{
|
||||
/* User defined commands may contain digits. */
|
||||
while (ASCII_ISALNUM(*p))
|
||||
***************
|
||||
*** 5588,5593 ****
|
||||
--- 5590,5596 ----
|
||||
int compl = EXPAND_NOTHING;
|
||||
char_u *compl_arg = NULL;
|
||||
int has_attr = (eap->arg[0] == '-');
|
||||
+ int name_len;
|
||||
|
||||
p = eap->arg;
|
||||
|
||||
***************
|
||||
*** 5613,5618 ****
|
||||
--- 5616,5622 ----
|
||||
return;
|
||||
}
|
||||
end = p;
|
||||
+ name_len = (int)(end - name);
|
||||
|
||||
/* If there is nothing after the name, and no attributes were specified,
|
||||
* we are listing commands
|
||||
***************
|
||||
*** 5627,5632 ****
|
||||
--- 5631,5643 ----
|
||||
EMSG(_("E183: User defined commands must start with an uppercase letter"));
|
||||
return;
|
||||
}
|
||||
+ else if ((name_len == 1 && *name == 'X')
|
||||
+ || (name_len <= 4
|
||||
+ && STRNCMP(name, "Next", name_len > 4 ? 4 : name_len) == 0))
|
||||
+ {
|
||||
+ EMSG(_("E841: Reserved name, cannot be used for user defined command"));
|
||||
+ return;
|
||||
+ }
|
||||
else
|
||||
uc_add_command(name, end - name, p, argt, def, flags, compl, compl_arg,
|
||||
eap->forceit);
|
||||
***************
|
||||
*** 9394,9400 ****
|
||||
ex_ptag(eap)
|
||||
exarg_T *eap;
|
||||
{
|
||||
! g_do_tagpreview = p_pvh;
|
||||
ex_tag_cmd(eap, cmdnames[eap->cmdidx].cmd_name + 1);
|
||||
}
|
||||
|
||||
--- 9405,9411 ----
|
||||
ex_ptag(eap)
|
||||
exarg_T *eap;
|
||||
{
|
||||
! g_do_tagpreview = p_pvh; /* will be reset to 0 in ex_tag_cmd() */
|
||||
ex_tag_cmd(eap, cmdnames[eap->cmdidx].cmd_name + 1);
|
||||
}
|
||||
|
||||
*** ../vim-7.3.053/src/version.c 2010-11-10 17:11:29.000000000 +0100
|
||||
--- src/version.c 2010-11-10 18:58:28.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 54,
|
||||
/**/
|
||||
|
||||
--
|
||||
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/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
359
7.3.055
359
7.3.055
@ -1,359 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.055
|
||||
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.055
|
||||
Problem: Recursively nested lists and dictionaries cause a near-endless
|
||||
loop when comparing them with a copy. (ZyX)
|
||||
Solution: Limit recursiveness in a way that non-recursive structures can
|
||||
still be nested very deep.
|
||||
Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok
|
||||
|
||||
|
||||
*** ../vim-7.3.054/src/eval.c 2010-10-20 21:22:17.000000000 +0200
|
||||
--- src/eval.c 2010-11-10 20:02:57.000000000 +0100
|
||||
***************
|
||||
*** 434,442 ****
|
||||
static void listitem_free __ARGS((listitem_T *item));
|
||||
static void listitem_remove __ARGS((list_T *l, listitem_T *item));
|
||||
static long list_len __ARGS((list_T *l));
|
||||
! static int list_equal __ARGS((list_T *l1, list_T *l2, int ic));
|
||||
! static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic));
|
||||
! static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic));
|
||||
static listitem_T *list_find __ARGS((list_T *l, long n));
|
||||
static long list_find_nr __ARGS((list_T *l, long idx, int *errorp));
|
||||
static long list_idx_of_item __ARGS((list_T *l, listitem_T *item));
|
||||
--- 434,442 ----
|
||||
static void listitem_free __ARGS((listitem_T *item));
|
||||
static void listitem_remove __ARGS((list_T *l, listitem_T *item));
|
||||
static long list_len __ARGS((list_T *l));
|
||||
! static int list_equal __ARGS((list_T *l1, list_T *l2, int ic, int recursive));
|
||||
! static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic, int recursive));
|
||||
! static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic, int recursive));
|
||||
static listitem_T *list_find __ARGS((list_T *l, long n));
|
||||
static long list_find_nr __ARGS((list_T *l, long idx, int *errorp));
|
||||
static long list_idx_of_item __ARGS((list_T *l, listitem_T *item));
|
||||
***************
|
||||
*** 4350,4356 ****
|
||||
else
|
||||
{
|
||||
/* Compare two Lists for being equal or unequal. */
|
||||
! n1 = list_equal(rettv->vval.v_list, var2.vval.v_list, ic);
|
||||
if (type == TYPE_NEQUAL)
|
||||
n1 = !n1;
|
||||
}
|
||||
--- 4350,4357 ----
|
||||
else
|
||||
{
|
||||
/* Compare two Lists for being equal or unequal. */
|
||||
! n1 = list_equal(rettv->vval.v_list, var2.vval.v_list,
|
||||
! ic, FALSE);
|
||||
if (type == TYPE_NEQUAL)
|
||||
n1 = !n1;
|
||||
}
|
||||
***************
|
||||
*** 4379,4385 ****
|
||||
else
|
||||
{
|
||||
/* Compare two Dictionaries for being equal or unequal. */
|
||||
! n1 = dict_equal(rettv->vval.v_dict, var2.vval.v_dict, ic);
|
||||
if (type == TYPE_NEQUAL)
|
||||
n1 = !n1;
|
||||
}
|
||||
--- 4380,4387 ----
|
||||
else
|
||||
{
|
||||
/* Compare two Dictionaries for being equal or unequal. */
|
||||
! n1 = dict_equal(rettv->vval.v_dict, var2.vval.v_dict,
|
||||
! ic, FALSE);
|
||||
if (type == TYPE_NEQUAL)
|
||||
n1 = !n1;
|
||||
}
|
||||
***************
|
||||
*** 5914,5923 ****
|
||||
* Return TRUE when two lists have exactly the same values.
|
||||
*/
|
||||
static int
|
||||
! list_equal(l1, l2, ic)
|
||||
list_T *l1;
|
||||
list_T *l2;
|
||||
int ic; /* ignore case for strings */
|
||||
{
|
||||
listitem_T *item1, *item2;
|
||||
|
||||
--- 5916,5926 ----
|
||||
* Return TRUE when two lists have exactly the same values.
|
||||
*/
|
||||
static int
|
||||
! list_equal(l1, l2, ic, recursive)
|
||||
list_T *l1;
|
||||
list_T *l2;
|
||||
int ic; /* ignore case for strings */
|
||||
+ int recursive; /* TRUE when used recursively */
|
||||
{
|
||||
listitem_T *item1, *item2;
|
||||
|
||||
***************
|
||||
*** 5931,5937 ****
|
||||
for (item1 = l1->lv_first, item2 = l2->lv_first;
|
||||
item1 != NULL && item2 != NULL;
|
||||
item1 = item1->li_next, item2 = item2->li_next)
|
||||
! if (!tv_equal(&item1->li_tv, &item2->li_tv, ic))
|
||||
return FALSE;
|
||||
return item1 == NULL && item2 == NULL;
|
||||
}
|
||||
--- 5934,5940 ----
|
||||
for (item1 = l1->lv_first, item2 = l2->lv_first;
|
||||
item1 != NULL && item2 != NULL;
|
||||
item1 = item1->li_next, item2 = item2->li_next)
|
||||
! if (!tv_equal(&item1->li_tv, &item2->li_tv, ic, recursive))
|
||||
return FALSE;
|
||||
return item1 == NULL && item2 == NULL;
|
||||
}
|
||||
***************
|
||||
*** 5953,5962 ****
|
||||
* Return TRUE when two dictionaries have exactly the same key/values.
|
||||
*/
|
||||
static int
|
||||
! dict_equal(d1, d2, ic)
|
||||
dict_T *d1;
|
||||
dict_T *d2;
|
||||
int ic; /* ignore case for strings */
|
||||
{
|
||||
hashitem_T *hi;
|
||||
dictitem_T *item2;
|
||||
--- 5956,5966 ----
|
||||
* Return TRUE when two dictionaries have exactly the same key/values.
|
||||
*/
|
||||
static int
|
||||
! dict_equal(d1, d2, ic, recursive)
|
||||
dict_T *d1;
|
||||
dict_T *d2;
|
||||
int ic; /* ignore case for strings */
|
||||
+ int recursive; /* TRUE when used recursively */
|
||||
{
|
||||
hashitem_T *hi;
|
||||
dictitem_T *item2;
|
||||
***************
|
||||
*** 5977,5983 ****
|
||||
item2 = dict_find(d2, hi->hi_key, -1);
|
||||
if (item2 == NULL)
|
||||
return FALSE;
|
||||
! if (!tv_equal(&HI2DI(hi)->di_tv, &item2->di_tv, ic))
|
||||
return FALSE;
|
||||
--todo;
|
||||
}
|
||||
--- 5981,5987 ----
|
||||
item2 = dict_find(d2, hi->hi_key, -1);
|
||||
if (item2 == NULL)
|
||||
return FALSE;
|
||||
! if (!tv_equal(&HI2DI(hi)->di_tv, &item2->di_tv, ic, recursive))
|
||||
return FALSE;
|
||||
--todo;
|
||||
}
|
||||
***************
|
||||
*** 5985,6025 ****
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return TRUE if "tv1" and "tv2" have the same value.
|
||||
* Compares the items just like "==" would compare them, but strings and
|
||||
* numbers are different. Floats and numbers are also different.
|
||||
*/
|
||||
static int
|
||||
! tv_equal(tv1, tv2, ic)
|
||||
typval_T *tv1;
|
||||
typval_T *tv2;
|
||||
! int ic; /* ignore case */
|
||||
{
|
||||
char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN];
|
||||
char_u *s1, *s2;
|
||||
! static int recursive = 0; /* cach recursive loops */
|
||||
int r;
|
||||
|
||||
if (tv1->v_type != tv2->v_type)
|
||||
return FALSE;
|
||||
/* Catch lists and dicts that have an endless loop by limiting
|
||||
! * recursiveness to 1000. We guess they are equal then. */
|
||||
! if (recursive >= 1000)
|
||||
return TRUE;
|
||||
|
||||
switch (tv1->v_type)
|
||||
{
|
||||
case VAR_LIST:
|
||||
! ++recursive;
|
||||
! r = list_equal(tv1->vval.v_list, tv2->vval.v_list, ic);
|
||||
! --recursive;
|
||||
return r;
|
||||
|
||||
case VAR_DICT:
|
||||
! ++recursive;
|
||||
! r = dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic);
|
||||
! --recursive;
|
||||
return r;
|
||||
|
||||
case VAR_FUNC:
|
||||
--- 5989,6042 ----
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+ static int tv_equal_recurse_limit;
|
||||
+
|
||||
/*
|
||||
* Return TRUE if "tv1" and "tv2" have the same value.
|
||||
* Compares the items just like "==" would compare them, but strings and
|
||||
* numbers are different. Floats and numbers are also different.
|
||||
*/
|
||||
static int
|
||||
! tv_equal(tv1, tv2, ic, recursive)
|
||||
typval_T *tv1;
|
||||
typval_T *tv2;
|
||||
! int ic; /* ignore case */
|
||||
! int recursive; /* TRUE when used recursively */
|
||||
{
|
||||
char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN];
|
||||
char_u *s1, *s2;
|
||||
! static int recursive_cnt = 0; /* catch recursive loops */
|
||||
int r;
|
||||
|
||||
if (tv1->v_type != tv2->v_type)
|
||||
return FALSE;
|
||||
+
|
||||
/* Catch lists and dicts that have an endless loop by limiting
|
||||
! * recursiveness to a limit. We guess they are equal then.
|
||||
! * A fixed limit has the problem of still taking an awful long time.
|
||||
! * Reduce the limit every time running into it. That should work fine for
|
||||
! * deeply linked structures that are not recursively linked and catch
|
||||
! * recursiveness quickly. */
|
||||
! if (!recursive)
|
||||
! tv_equal_recurse_limit = 1000;
|
||||
! if (recursive_cnt >= tv_equal_recurse_limit)
|
||||
! {
|
||||
! --tv_equal_recurse_limit;
|
||||
return TRUE;
|
||||
+ }
|
||||
|
||||
switch (tv1->v_type)
|
||||
{
|
||||
case VAR_LIST:
|
||||
! ++recursive_cnt;
|
||||
! r = list_equal(tv1->vval.v_list, tv2->vval.v_list, ic, TRUE);
|
||||
! --recursive_cnt;
|
||||
return r;
|
||||
|
||||
case VAR_DICT:
|
||||
! ++recursive_cnt;
|
||||
! r = dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic, TRUE);
|
||||
! --recursive_cnt;
|
||||
return r;
|
||||
|
||||
case VAR_FUNC:
|
||||
***************
|
||||
*** 9391,9397 ****
|
||||
}
|
||||
|
||||
for ( ; li != NULL; li = li->li_next)
|
||||
! if (tv_equal(&li->li_tv, &argvars[1], ic))
|
||||
++n;
|
||||
}
|
||||
}
|
||||
--- 9408,9414 ----
|
||||
}
|
||||
|
||||
for ( ; li != NULL; li = li->li_next)
|
||||
! if (tv_equal(&li->li_tv, &argvars[1], ic, FALSE))
|
||||
++n;
|
||||
}
|
||||
}
|
||||
***************
|
||||
*** 9418,9424 ****
|
||||
if (!HASHITEM_EMPTY(hi))
|
||||
{
|
||||
--todo;
|
||||
! if (tv_equal(&HI2DI(hi)->di_tv, &argvars[1], ic))
|
||||
++n;
|
||||
}
|
||||
}
|
||||
--- 9435,9441 ----
|
||||
if (!HASHITEM_EMPTY(hi))
|
||||
{
|
||||
--todo;
|
||||
! if (tv_equal(&HI2DI(hi)->di_tv, &argvars[1], ic, FALSE))
|
||||
++n;
|
||||
}
|
||||
}
|
||||
***************
|
||||
*** 12574,12580 ****
|
||||
}
|
||||
|
||||
for ( ; item != NULL; item = item->li_next, ++idx)
|
||||
! if (tv_equal(&item->li_tv, &argvars[1], ic))
|
||||
{
|
||||
rettv->vval.v_number = idx;
|
||||
break;
|
||||
--- 12591,12597 ----
|
||||
}
|
||||
|
||||
for ( ; item != NULL; item = item->li_next, ++idx)
|
||||
! if (tv_equal(&item->li_tv, &argvars[1], ic, FALSE))
|
||||
{
|
||||
rettv->vval.v_number = idx;
|
||||
break;
|
||||
*** ../vim-7.3.054/src/testdir/test55.in 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test55.in 2010-11-10 20:15:27.000000000 +0100
|
||||
***************
|
||||
*** 342,348 ****
|
||||
--- 342,359 ----
|
||||
:$put =(d == d)
|
||||
:$put =(l != deepcopy(l))
|
||||
:$put =(d != deepcopy(d))
|
||||
+ :"
|
||||
+ :" compare complex recursively linked list and dict
|
||||
+ :let l = []
|
||||
+ :call add(l, l)
|
||||
+ :let dict4 = {"l": l}
|
||||
+ :call add(dict4.l, dict4)
|
||||
+ :let lcopy = deepcopy(l)
|
||||
+ :let dict4copy = deepcopy(dict4)
|
||||
+ :$put =(l == lcopy)
|
||||
+ :$put =(dict4 == dict4copy)
|
||||
:endfun
|
||||
+ :"
|
||||
:call Test(1, 2, [3, 4], {5: 6}) " This may take a while
|
||||
:"
|
||||
:delfunc Test
|
||||
*** ../vim-7.3.054/src/testdir/test55.ok 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/testdir/test55.ok 2010-11-10 20:16:37.000000000 +0100
|
||||
***************
|
||||
*** 109,111 ****
|
||||
--- 109,113 ----
|
||||
1
|
||||
0
|
||||
0
|
||||
+ 1
|
||||
+ 1
|
||||
*** ../vim-7.3.054/src/version.c 2010-11-10 18:59:50.000000000 +0100
|
||||
--- src/version.c 2010-11-10 20:10:51.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 55,
|
||||
/**/
|
||||
|
||||
--
|
||||
A special law prohibits unmarried women from parachuting on Sunday or she
|
||||
shall risk arrest, fine, and/or jailing.
|
||||
[real standing law in Florida, United States of America]
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
542
7.3.056
542
7.3.056
@ -1,542 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.056
|
||||
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.056
|
||||
Problem: "getline" argument in do_cmdline() shadows global.
|
||||
Solution: Rename the argument.
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
|
||||
*** ../vim-7.3.055/src/ex_docmd.c 2010-11-10 18:59:50.000000000 +0100
|
||||
--- src/ex_docmd.c 2010-11-16 11:24:40.000000000 +0100
|
||||
***************
|
||||
*** 733,739 ****
|
||||
* do_cmdline(): execute one Ex command line
|
||||
*
|
||||
* 1. Execute "cmdline" when it is not NULL.
|
||||
! * If "cmdline" is NULL, or more lines are needed, getline() is used.
|
||||
* 2. Split up in parts separated with '|'.
|
||||
*
|
||||
* This function can be called recursively!
|
||||
--- 733,739 ----
|
||||
* do_cmdline(): execute one Ex command line
|
||||
*
|
||||
* 1. Execute "cmdline" when it is not NULL.
|
||||
! * If "cmdline" is NULL, or more lines are needed, fgetline() is used.
|
||||
* 2. Split up in parts separated with '|'.
|
||||
*
|
||||
* This function can be called recursively!
|
||||
***************
|
||||
*** 741,747 ****
|
||||
* flags:
|
||||
* DOCMD_VERBOSE - The command will be included in the error message.
|
||||
* DOCMD_NOWAIT - Don't call wait_return() and friends.
|
||||
! * DOCMD_REPEAT - Repeat execution until getline() returns NULL.
|
||||
* DOCMD_KEYTYPED - Don't reset KeyTyped.
|
||||
* DOCMD_EXCRESET - Reset the exception environment (used for debugging).
|
||||
* DOCMD_KEEPLINE - Store first typed line (for repeating with ".").
|
||||
--- 741,747 ----
|
||||
* flags:
|
||||
* DOCMD_VERBOSE - The command will be included in the error message.
|
||||
* DOCMD_NOWAIT - Don't call wait_return() and friends.
|
||||
! * DOCMD_REPEAT - Repeat execution until fgetline() returns NULL.
|
||||
* DOCMD_KEYTYPED - Don't reset KeyTyped.
|
||||
* DOCMD_EXCRESET - Reset the exception environment (used for debugging).
|
||||
* DOCMD_KEEPLINE - Store first typed line (for repeating with ".").
|
||||
***************
|
||||
*** 749,763 ****
|
||||
* return FAIL if cmdline could not be executed, OK otherwise
|
||||
*/
|
||||
int
|
||||
! do_cmdline(cmdline, getline, cookie, flags)
|
||||
char_u *cmdline;
|
||||
! char_u *(*getline) __ARGS((int, void *, int));
|
||||
! void *cookie; /* argument for getline() */
|
||||
int flags;
|
||||
{
|
||||
char_u *next_cmdline; /* next cmd to execute */
|
||||
char_u *cmdline_copy = NULL; /* copy of cmd line */
|
||||
! int used_getline = FALSE; /* used "getline" to obtain command */
|
||||
static int recursive = 0; /* recursive depth */
|
||||
int msg_didout_before_start = 0;
|
||||
int count = 0; /* line number count */
|
||||
--- 749,763 ----
|
||||
* return FAIL if cmdline could not be executed, OK otherwise
|
||||
*/
|
||||
int
|
||||
! do_cmdline(cmdline, fgetline, cookie, flags)
|
||||
char_u *cmdline;
|
||||
! char_u *(*fgetline) __ARGS((int, void *, int));
|
||||
! void *cookie; /* argument for fgetline() */
|
||||
int flags;
|
||||
{
|
||||
char_u *next_cmdline; /* next cmd to execute */
|
||||
char_u *cmdline_copy = NULL; /* copy of cmd line */
|
||||
! int used_getline = FALSE; /* used "fgetline" to obtain command */
|
||||
static int recursive = 0; /* recursive depth */
|
||||
int msg_didout_before_start = 0;
|
||||
int count = 0; /* line number count */
|
||||
***************
|
||||
*** 775,788 ****
|
||||
struct msglist **saved_msg_list = NULL;
|
||||
struct msglist *private_msg_list;
|
||||
|
||||
! /* "getline" and "cookie" passed to do_one_cmd() */
|
||||
char_u *(*cmd_getline) __ARGS((int, void *, int));
|
||||
void *cmd_cookie;
|
||||
struct loop_cookie cmd_loop_cookie;
|
||||
void *real_cookie;
|
||||
int getline_is_func;
|
||||
#else
|
||||
! # define cmd_getline getline
|
||||
# define cmd_cookie cookie
|
||||
#endif
|
||||
static int call_depth = 0; /* recursiveness */
|
||||
--- 775,788 ----
|
||||
struct msglist **saved_msg_list = NULL;
|
||||
struct msglist *private_msg_list;
|
||||
|
||||
! /* "fgetline" and "cookie" passed to do_one_cmd() */
|
||||
char_u *(*cmd_getline) __ARGS((int, void *, int));
|
||||
void *cmd_cookie;
|
||||
struct loop_cookie cmd_loop_cookie;
|
||||
void *real_cookie;
|
||||
int getline_is_func;
|
||||
#else
|
||||
! # define cmd_getline fgetline
|
||||
# define cmd_cookie cookie
|
||||
#endif
|
||||
static int call_depth = 0; /* recursiveness */
|
||||
***************
|
||||
*** 822,831 ****
|
||||
cstack.cs_lflags = 0;
|
||||
ga_init2(&lines_ga, (int)sizeof(wcmd_T), 10);
|
||||
|
||||
! real_cookie = getline_cookie(getline, cookie);
|
||||
|
||||
/* Inside a function use a higher nesting level. */
|
||||
! getline_is_func = getline_equal(getline, cookie, get_func_line);
|
||||
if (getline_is_func && ex_nesting_level == func_level(real_cookie))
|
||||
++ex_nesting_level;
|
||||
|
||||
--- 822,831 ----
|
||||
cstack.cs_lflags = 0;
|
||||
ga_init2(&lines_ga, (int)sizeof(wcmd_T), 10);
|
||||
|
||||
! real_cookie = getline_cookie(fgetline, cookie);
|
||||
|
||||
/* Inside a function use a higher nesting level. */
|
||||
! getline_is_func = getline_equal(fgetline, cookie, get_func_line);
|
||||
if (getline_is_func && ex_nesting_level == func_level(real_cookie))
|
||||
++ex_nesting_level;
|
||||
|
||||
***************
|
||||
*** 837,843 ****
|
||||
breakpoint = func_breakpoint(real_cookie);
|
||||
dbg_tick = func_dbg_tick(real_cookie);
|
||||
}
|
||||
! else if (getline_equal(getline, cookie, getsourceline))
|
||||
{
|
||||
fname = sourcing_name;
|
||||
breakpoint = source_breakpoint(real_cookie);
|
||||
--- 837,843 ----
|
||||
breakpoint = func_breakpoint(real_cookie);
|
||||
dbg_tick = func_dbg_tick(real_cookie);
|
||||
}
|
||||
! else if (getline_equal(fgetline, cookie, getsourceline))
|
||||
{
|
||||
fname = sourcing_name;
|
||||
breakpoint = source_breakpoint(real_cookie);
|
||||
***************
|
||||
*** 881,887 ****
|
||||
* KeyTyped is only set when calling vgetc(). Reset it here when not
|
||||
* calling vgetc() (sourced command lines).
|
||||
*/
|
||||
! if (!(flags & DOCMD_KEYTYPED) && !getline_equal(getline, cookie, getexline))
|
||||
KeyTyped = FALSE;
|
||||
|
||||
/*
|
||||
--- 881,888 ----
|
||||
* KeyTyped is only set when calling vgetc(). Reset it here when not
|
||||
* calling vgetc() (sourced command lines).
|
||||
*/
|
||||
! if (!(flags & DOCMD_KEYTYPED)
|
||||
! && !getline_equal(fgetline, cookie, getexline))
|
||||
KeyTyped = FALSE;
|
||||
|
||||
/*
|
||||
***************
|
||||
*** 894,900 ****
|
||||
do
|
||||
{
|
||||
#ifdef FEAT_EVAL
|
||||
! getline_is_func = getline_equal(getline, cookie, get_func_line);
|
||||
#endif
|
||||
|
||||
/* stop skipping cmds for an error msg after all endif/while/for */
|
||||
--- 895,901 ----
|
||||
do
|
||||
{
|
||||
#ifdef FEAT_EVAL
|
||||
! getline_is_func = getline_equal(fgetline, cookie, get_func_line);
|
||||
#endif
|
||||
|
||||
/* stop skipping cmds for an error msg after all endif/while/for */
|
||||
***************
|
||||
*** 909,915 ****
|
||||
|
||||
/*
|
||||
* 1. If repeating a line in a loop, get a line from lines_ga.
|
||||
! * 2. If no line given: Get an allocated line with getline().
|
||||
* 3. If a line is given: Make a copy, so we can mess with it.
|
||||
*/
|
||||
|
||||
--- 910,916 ----
|
||||
|
||||
/*
|
||||
* 1. If repeating a line in a loop, get a line from lines_ga.
|
||||
! * 2. If no line given: Get an allocated line with fgetline().
|
||||
* 3. If a line is given: Make a copy, so we can mess with it.
|
||||
*/
|
||||
|
||||
***************
|
||||
*** 938,949 ****
|
||||
}
|
||||
#ifdef FEAT_PROFILE
|
||||
else if (do_profiling == PROF_YES
|
||||
! && getline_equal(getline, cookie, getsourceline))
|
||||
script_line_end();
|
||||
#endif
|
||||
|
||||
/* Check if a sourced file hit a ":finish" command. */
|
||||
! if (source_finished(getline, cookie))
|
||||
{
|
||||
retval = FAIL;
|
||||
break;
|
||||
--- 939,950 ----
|
||||
}
|
||||
#ifdef FEAT_PROFILE
|
||||
else if (do_profiling == PROF_YES
|
||||
! && getline_equal(fgetline, cookie, getsourceline))
|
||||
script_line_end();
|
||||
#endif
|
||||
|
||||
/* Check if a sourced file hit a ":finish" command. */
|
||||
! if (source_finished(fgetline, cookie))
|
||||
{
|
||||
retval = FAIL;
|
||||
break;
|
||||
***************
|
||||
*** 954,960 ****
|
||||
&& *dbg_tick != debug_tick)
|
||||
{
|
||||
*breakpoint = dbg_find_breakpoint(
|
||||
! getline_equal(getline, cookie, getsourceline),
|
||||
fname, sourcing_lnum);
|
||||
*dbg_tick = debug_tick;
|
||||
}
|
||||
--- 955,961 ----
|
||||
&& *dbg_tick != debug_tick)
|
||||
{
|
||||
*breakpoint = dbg_find_breakpoint(
|
||||
! getline_equal(fgetline, cookie, getsourceline),
|
||||
fname, sourcing_lnum);
|
||||
*dbg_tick = debug_tick;
|
||||
}
|
||||
***************
|
||||
*** 969,975 ****
|
||||
dbg_breakpoint(fname, sourcing_lnum);
|
||||
/* Find next breakpoint. */
|
||||
*breakpoint = dbg_find_breakpoint(
|
||||
! getline_equal(getline, cookie, getsourceline),
|
||||
fname, sourcing_lnum);
|
||||
*dbg_tick = debug_tick;
|
||||
}
|
||||
--- 970,976 ----
|
||||
dbg_breakpoint(fname, sourcing_lnum);
|
||||
/* Find next breakpoint. */
|
||||
*breakpoint = dbg_find_breakpoint(
|
||||
! getline_equal(fgetline, cookie, getsourceline),
|
||||
fname, sourcing_lnum);
|
||||
*dbg_tick = debug_tick;
|
||||
}
|
||||
***************
|
||||
*** 978,984 ****
|
||||
{
|
||||
if (getline_is_func)
|
||||
func_line_start(real_cookie);
|
||||
! else if (getline_equal(getline, cookie, getsourceline))
|
||||
script_line_start();
|
||||
}
|
||||
# endif
|
||||
--- 979,985 ----
|
||||
{
|
||||
if (getline_is_func)
|
||||
func_line_start(real_cookie);
|
||||
! else if (getline_equal(fgetline, cookie, getsourceline))
|
||||
script_line_start();
|
||||
}
|
||||
# endif
|
||||
***************
|
||||
*** 987,993 ****
|
||||
if (cstack.cs_looplevel > 0)
|
||||
{
|
||||
/* Inside a while/for loop we need to store the lines and use them
|
||||
! * again. Pass a different "getline" function to do_one_cmd()
|
||||
* below, so that it stores lines in or reads them from
|
||||
* "lines_ga". Makes it possible to define a function inside a
|
||||
* while/for loop. */
|
||||
--- 988,994 ----
|
||||
if (cstack.cs_looplevel > 0)
|
||||
{
|
||||
/* Inside a while/for loop we need to store the lines and use them
|
||||
! * again. Pass a different "fgetline" function to do_one_cmd()
|
||||
* below, so that it stores lines in or reads them from
|
||||
* "lines_ga". Makes it possible to define a function inside a
|
||||
* while/for loop. */
|
||||
***************
|
||||
*** 995,1021 ****
|
||||
cmd_cookie = (void *)&cmd_loop_cookie;
|
||||
cmd_loop_cookie.lines_gap = &lines_ga;
|
||||
cmd_loop_cookie.current_line = current_line;
|
||||
! cmd_loop_cookie.getline = getline;
|
||||
cmd_loop_cookie.cookie = cookie;
|
||||
cmd_loop_cookie.repeating = (current_line < lines_ga.ga_len);
|
||||
}
|
||||
else
|
||||
{
|
||||
! cmd_getline = getline;
|
||||
cmd_cookie = cookie;
|
||||
}
|
||||
#endif
|
||||
|
||||
! /* 2. If no line given, get an allocated line with getline(). */
|
||||
if (next_cmdline == NULL)
|
||||
{
|
||||
/*
|
||||
* Need to set msg_didout for the first line after an ":if",
|
||||
* otherwise the ":if" will be overwritten.
|
||||
*/
|
||||
! if (count == 1 && getline_equal(getline, cookie, getexline))
|
||||
msg_didout = TRUE;
|
||||
! if (getline == NULL || (next_cmdline = getline(':', cookie,
|
||||
#ifdef FEAT_EVAL
|
||||
cstack.cs_idx < 0 ? 0 : (cstack.cs_idx + 1) * 2
|
||||
#else
|
||||
--- 996,1022 ----
|
||||
cmd_cookie = (void *)&cmd_loop_cookie;
|
||||
cmd_loop_cookie.lines_gap = &lines_ga;
|
||||
cmd_loop_cookie.current_line = current_line;
|
||||
! cmd_loop_cookie.getline = fgetline;
|
||||
cmd_loop_cookie.cookie = cookie;
|
||||
cmd_loop_cookie.repeating = (current_line < lines_ga.ga_len);
|
||||
}
|
||||
else
|
||||
{
|
||||
! cmd_getline = fgetline;
|
||||
cmd_cookie = cookie;
|
||||
}
|
||||
#endif
|
||||
|
||||
! /* 2. If no line given, get an allocated line with fgetline(). */
|
||||
if (next_cmdline == NULL)
|
||||
{
|
||||
/*
|
||||
* Need to set msg_didout for the first line after an ":if",
|
||||
* otherwise the ":if" will be overwritten.
|
||||
*/
|
||||
! if (count == 1 && getline_equal(fgetline, cookie, getexline))
|
||||
msg_didout = TRUE;
|
||||
! if (fgetline == NULL || (next_cmdline = fgetline(':', cookie,
|
||||
#ifdef FEAT_EVAL
|
||||
cstack.cs_idx < 0 ? 0 : (cstack.cs_idx + 1) * 2
|
||||
#else
|
||||
***************
|
||||
*** 1142,1148 ****
|
||||
* If the command was typed, remember it for the ':' register.
|
||||
* Do this AFTER executing the command to make :@: work.
|
||||
*/
|
||||
! if (getline_equal(getline, cookie, getexline)
|
||||
&& new_last_cmdline != NULL)
|
||||
{
|
||||
vim_free(last_cmdline);
|
||||
--- 1143,1149 ----
|
||||
* If the command was typed, remember it for the ':' register.
|
||||
* Do this AFTER executing the command to make :@: work.
|
||||
*/
|
||||
! if (getline_equal(fgetline, cookie, getexline)
|
||||
&& new_last_cmdline != NULL)
|
||||
{
|
||||
vim_free(last_cmdline);
|
||||
***************
|
||||
*** 1163,1169 ****
|
||||
#ifdef FEAT_EVAL
|
||||
/* reset did_emsg for a function that is not aborted by an error */
|
||||
if (did_emsg && !force_abort
|
||||
! && getline_equal(getline, cookie, get_func_line)
|
||||
&& !func_has_abort(real_cookie))
|
||||
did_emsg = FALSE;
|
||||
|
||||
--- 1164,1170 ----
|
||||
#ifdef FEAT_EVAL
|
||||
/* reset did_emsg for a function that is not aborted by an error */
|
||||
if (did_emsg && !force_abort
|
||||
! && getline_equal(fgetline, cookie, get_func_line)
|
||||
&& !func_has_abort(real_cookie))
|
||||
did_emsg = FALSE;
|
||||
|
||||
***************
|
||||
*** 1202,1208 ****
|
||||
if (breakpoint != NULL)
|
||||
{
|
||||
*breakpoint = dbg_find_breakpoint(
|
||||
! getline_equal(getline, cookie, getsourceline),
|
||||
fname,
|
||||
((wcmd_T *)lines_ga.ga_data)[current_line].lnum-1);
|
||||
*dbg_tick = debug_tick;
|
||||
--- 1203,1209 ----
|
||||
if (breakpoint != NULL)
|
||||
{
|
||||
*breakpoint = dbg_find_breakpoint(
|
||||
! getline_equal(fgetline, cookie, getsourceline),
|
||||
fname,
|
||||
((wcmd_T *)lines_ga.ga_data)[current_line].lnum-1);
|
||||
*dbg_tick = debug_tick;
|
||||
***************
|
||||
*** 1296,1303 ****
|
||||
#endif
|
||||
)
|
||||
&& !(did_emsg && used_getline
|
||||
! && (getline_equal(getline, cookie, getexmodeline)
|
||||
! || getline_equal(getline, cookie, getexline)))
|
||||
&& (next_cmdline != NULL
|
||||
#ifdef FEAT_EVAL
|
||||
|| cstack.cs_idx >= 0
|
||||
--- 1297,1304 ----
|
||||
#endif
|
||||
)
|
||||
&& !(did_emsg && used_getline
|
||||
! && (getline_equal(fgetline, cookie, getexmodeline)
|
||||
! || getline_equal(fgetline, cookie, getexline)))
|
||||
&& (next_cmdline != NULL
|
||||
#ifdef FEAT_EVAL
|
||||
|| cstack.cs_idx >= 0
|
||||
***************
|
||||
*** 1316,1324 ****
|
||||
* unclosed conditional.
|
||||
*/
|
||||
if (!got_int && !did_throw
|
||||
! && ((getline_equal(getline, cookie, getsourceline)
|
||||
! && !source_finished(getline, cookie))
|
||||
! || (getline_equal(getline, cookie, get_func_line)
|
||||
&& !func_has_ended(real_cookie))))
|
||||
{
|
||||
if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY)
|
||||
--- 1317,1325 ----
|
||||
* unclosed conditional.
|
||||
*/
|
||||
if (!got_int && !did_throw
|
||||
! && ((getline_equal(fgetline, cookie, getsourceline)
|
||||
! && !source_finished(fgetline, cookie))
|
||||
! || (getline_equal(fgetline, cookie, get_func_line)
|
||||
&& !func_has_ended(real_cookie))))
|
||||
{
|
||||
if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY)
|
||||
***************
|
||||
*** 1354,1360 ****
|
||||
/* If a missing ":endtry", ":endwhile", ":endfor", or ":endif" or a memory
|
||||
* lack was reported above and the error message is to be converted to an
|
||||
* exception, do this now after rewinding the cstack. */
|
||||
! do_errthrow(&cstack, getline_equal(getline, cookie, get_func_line)
|
||||
? (char_u *)"endfunction" : (char_u *)NULL);
|
||||
|
||||
if (trylevel == 0)
|
||||
--- 1355,1361 ----
|
||||
/* If a missing ":endtry", ":endwhile", ":endfor", or ":endif" or a memory
|
||||
* lack was reported above and the error message is to be converted to an
|
||||
* exception, do this now after rewinding the cstack. */
|
||||
! do_errthrow(&cstack, getline_equal(fgetline, cookie, get_func_line)
|
||||
? (char_u *)"endfunction" : (char_u *)NULL);
|
||||
|
||||
if (trylevel == 0)
|
||||
***************
|
||||
*** 1449,1457 ****
|
||||
*/
|
||||
if (did_throw)
|
||||
need_rethrow = TRUE;
|
||||
! if ((getline_equal(getline, cookie, getsourceline)
|
||||
&& ex_nesting_level > source_level(real_cookie))
|
||||
! || (getline_equal(getline, cookie, get_func_line)
|
||||
&& ex_nesting_level > func_level(real_cookie) + 1))
|
||||
{
|
||||
if (!did_throw)
|
||||
--- 1450,1458 ----
|
||||
*/
|
||||
if (did_throw)
|
||||
need_rethrow = TRUE;
|
||||
! if ((getline_equal(fgetline, cookie, getsourceline)
|
||||
&& ex_nesting_level > source_level(real_cookie))
|
||||
! || (getline_equal(fgetline, cookie, get_func_line)
|
||||
&& ex_nesting_level > func_level(real_cookie) + 1))
|
||||
{
|
||||
if (!did_throw)
|
||||
***************
|
||||
*** 1460,1475 ****
|
||||
else
|
||||
{
|
||||
/* When leaving a function, reduce nesting level. */
|
||||
! if (getline_equal(getline, cookie, get_func_line))
|
||||
--ex_nesting_level;
|
||||
/*
|
||||
* Go to debug mode when returning from a function in which we are
|
||||
* single-stepping.
|
||||
*/
|
||||
! if ((getline_equal(getline, cookie, getsourceline)
|
||||
! || getline_equal(getline, cookie, get_func_line))
|
||||
&& ex_nesting_level + 1 <= debug_break_level)
|
||||
! do_debug(getline_equal(getline, cookie, getsourceline)
|
||||
? (char_u *)_("End of sourced file")
|
||||
: (char_u *)_("End of function"));
|
||||
}
|
||||
--- 1461,1476 ----
|
||||
else
|
||||
{
|
||||
/* When leaving a function, reduce nesting level. */
|
||||
! if (getline_equal(fgetline, cookie, get_func_line))
|
||||
--ex_nesting_level;
|
||||
/*
|
||||
* Go to debug mode when returning from a function in which we are
|
||||
* single-stepping.
|
||||
*/
|
||||
! if ((getline_equal(fgetline, cookie, getsourceline)
|
||||
! || getline_equal(fgetline, cookie, get_func_line))
|
||||
&& ex_nesting_level + 1 <= debug_break_level)
|
||||
! do_debug(getline_equal(fgetline, cookie, getsourceline)
|
||||
? (char_u *)_("End of sourced file")
|
||||
: (char_u *)_("End of function"));
|
||||
}
|
||||
*** ../vim-7.3.055/src/version.c 2010-11-16 11:28:33.000000000 +0100
|
||||
--- src/version.c 2010-11-16 11:27:09.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 56,
|
||||
/**/
|
||||
|
||||
--
|
||||
Lawmakers made it obligatory for everybody to take at least one bath
|
||||
each week -- on Saturday night.
|
||||
[real standing law in Vermont, 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 ///
|
62
7.3.057
62
7.3.057
@ -1,62 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.057
|
||||
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.057
|
||||
Problem: Segfault with command line abbreviation. (Randy Morris)
|
||||
Solution: Don't retrigger the abbreviation when abandoning the command line.
|
||||
Continue editing the command line after the error.
|
||||
Files: src/ex_getln.c
|
||||
|
||||
|
||||
*** ../vim-7.3.056/src/ex_getln.c 2010-11-10 15:37:00.000000000 +0100
|
||||
--- src/ex_getln.c 2010-11-16 14:03:09.000000000 +0100
|
||||
***************
|
||||
*** 712,718 ****
|
||||
}
|
||||
}
|
||||
beep_flush();
|
||||
! c = ESC;
|
||||
}
|
||||
#endif
|
||||
else
|
||||
--- 712,722 ----
|
||||
}
|
||||
}
|
||||
beep_flush();
|
||||
! got_int = FALSE; /* don't abandon the command line */
|
||||
! did_emsg = FALSE;
|
||||
! emsg_on_display = FALSE;
|
||||
! redrawcmd();
|
||||
! goto cmdline_not_changed;
|
||||
}
|
||||
#endif
|
||||
else
|
||||
*** ../vim-7.3.056/src/version.c 2010-11-16 11:29:30.000000000 +0100
|
||||
--- src/version.c 2010-11-16 14:04:25.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 57,
|
||||
/**/
|
||||
|
||||
--
|
||||
FROG: How you English say: I one more time, mac, I unclog my nose towards
|
||||
you, sons of a window-dresser, so, you think you could out-clever us
|
||||
French fellows with your silly knees-bent creeping about advancing
|
||||
behaviour. (blows a raspberry) I wave my private parts at your aunties,
|
||||
you brightly-coloured, mealy-templed, cranberry-smelling, electric
|
||||
donkey-bottom biters.
|
||||
"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 ///
|
158
7.3.058
158
7.3.058
@ -1,158 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.058
|
||||
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.058
|
||||
Problem: Error "code converter not found" when loading Ruby script.
|
||||
Solution: Load Gem module. (Yasuhiro Matsumoto)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.057/src/if_ruby.c 2010-10-27 17:40:53.000000000 +0200
|
||||
--- src/if_ruby.c 2010-11-16 14:37:48.000000000 +0100
|
||||
***************
|
||||
*** 229,234 ****
|
||||
--- 229,237 ----
|
||||
# define rb_enc_find_index dll_rb_enc_find_index
|
||||
# define rb_enc_find dll_rb_enc_find
|
||||
# define rb_enc_str_new dll_rb_enc_str_new
|
||||
+ # define rb_intern2 dll_rb_intern2
|
||||
+ # define rb_const_remove dll_rb_const_remove
|
||||
+ # define Init_prelude dll_Init_prelude
|
||||
# define rb_sprintf dll_rb_sprintf
|
||||
# define ruby_init_stack dll_ruby_init_stack
|
||||
#endif
|
||||
***************
|
||||
*** 317,322 ****
|
||||
--- 320,328 ----
|
||||
static int (*dll_rb_enc_find_index) (const char*);
|
||||
static rb_encoding* (*dll_rb_enc_find) (const char*);
|
||||
static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
|
||||
+ static ID (*dll_rb_intern2) (const char*, long);
|
||||
+ static void (*dll_Init_prelude) (void);
|
||||
+ static VALUE (*dll_rb_const_remove) (VALUE, ID);
|
||||
static VALUE (*dll_rb_sprintf) (const char*, ...);
|
||||
static void (*ruby_init_stack)(VALUE*);
|
||||
#endif
|
||||
***************
|
||||
*** 425,430 ****
|
||||
--- 431,439 ----
|
||||
{"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
|
||||
{"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
|
||||
{"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
|
||||
+ {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
|
||||
+ {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
|
||||
+ {"Init_prelude", (RUBY_PROC*)&dll_Init_prelude},
|
||||
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
|
||||
{"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
|
||||
#endif
|
||||
***************
|
||||
*** 662,667 ****
|
||||
--- 671,682 ----
|
||||
ruby_io_init();
|
||||
#ifdef RUBY19_OR_LATER
|
||||
rb_enc_find_index("encdb");
|
||||
+
|
||||
+ /* This avoids the error "Encoding::ConverterNotFoundError: code
|
||||
+ * converter not found (UTF-16LE to ASCII-8BIT)". */
|
||||
+ rb_define_module("Gem");
|
||||
+ Init_prelude();
|
||||
+ rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
|
||||
#endif
|
||||
ruby_vim_init();
|
||||
ruby_initialized = 1;
|
||||
***************
|
||||
*** 946,958 ****
|
||||
|
||||
static VALUE get_buffer_line(buf_T *buf, linenr_T n)
|
||||
{
|
||||
! if (n > 0 && n <= buf->b_ml.ml_line_count)
|
||||
! {
|
||||
! char *line = (char *)ml_get_buf(buf, n, FALSE);
|
||||
! return line ? vim_str2rb_enc_str(line) : Qnil;
|
||||
! }
|
||||
! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
|
||||
! return Qnil; /* For stop warning */
|
||||
}
|
||||
|
||||
static VALUE buffer_aref(VALUE self, VALUE num)
|
||||
--- 961,969 ----
|
||||
|
||||
static VALUE get_buffer_line(buf_T *buf, linenr_T n)
|
||||
{
|
||||
! if (n <= 0 || n > buf->b_ml.ml_line_count)
|
||||
! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
|
||||
! return vim_str2rb_enc_str((char *)ml_get_buf(buf, n, FALSE));
|
||||
}
|
||||
|
||||
static VALUE buffer_aref(VALUE self, VALUE num)
|
||||
***************
|
||||
*** 991,999 ****
|
||||
else
|
||||
{
|
||||
rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
|
||||
- #ifndef __GNUC__
|
||||
- return Qnil; /* For stop warning */
|
||||
- #endif
|
||||
}
|
||||
return str;
|
||||
}
|
||||
--- 1002,1007 ----
|
||||
***************
|
||||
*** 1048,1054 ****
|
||||
long n = NUM2LONG(num);
|
||||
aco_save_T aco;
|
||||
|
||||
! if (line == NULL) {
|
||||
rb_raise(rb_eIndexError, "NULL line");
|
||||
}
|
||||
else if (n >= 0 && n <= buf->b_ml.ml_line_count)
|
||||
--- 1056,1063 ----
|
||||
long n = NUM2LONG(num);
|
||||
aco_save_T aco;
|
||||
|
||||
! if (line == NULL)
|
||||
! {
|
||||
rb_raise(rb_eIndexError, "NULL line");
|
||||
}
|
||||
else if (n >= 0 && n <= buf->b_ml.ml_line_count)
|
||||
***************
|
||||
*** 1072,1078 ****
|
||||
|
||||
update_curbuf(NOT_VALID);
|
||||
}
|
||||
! else {
|
||||
rb_raise(rb_eIndexError, "line number %ld out of range", n);
|
||||
}
|
||||
return str;
|
||||
--- 1081,1088 ----
|
||||
|
||||
update_curbuf(NOT_VALID);
|
||||
}
|
||||
! else
|
||||
! {
|
||||
rb_raise(rb_eIndexError, "line number %ld out of range", n);
|
||||
}
|
||||
return str;
|
||||
*** ../vim-7.3.057/src/version.c 2010-11-16 14:05:48.000000000 +0100
|
||||
--- src/version.c 2010-11-16 14:44:42.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 58,
|
||||
/**/
|
||||
|
||||
--
|
||||
SIGIRO -- irony detected (iron core dumped)
|
||||
|
||||
/// 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 ///
|
116
7.3.059
116
7.3.059
@ -1,116 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.059
|
||||
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.059
|
||||
Problem: Netbeans: Problem with recursively handling messages for Athena
|
||||
and Motif.
|
||||
Solution: Call netbeans_parse_messages() in the main loop, like it's done
|
||||
for GTK. (Xavier de Gaye)
|
||||
Files: src/gui_x11.c, src/netbeans.c
|
||||
|
||||
|
||||
*** ../vim-7.3.058/src/gui_x11.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/gui_x11.c 2010-11-16 14:53:18.000000000 +0100
|
||||
***************
|
||||
*** 2895,2900 ****
|
||||
--- 2895,2905 ----
|
||||
focus = gui.in_focus;
|
||||
}
|
||||
|
||||
+ #if defined(FEAT_NETBEANS_INTG)
|
||||
+ /* Process any queued netbeans messages. */
|
||||
+ netbeans_parse_messages();
|
||||
+ #endif
|
||||
+
|
||||
/*
|
||||
* Don't use gui_mch_update() because then we will spin-lock until a
|
||||
* char arrives, instead we use XtAppProcessEvent() to hang until an
|
||||
*** ../vim-7.3.058/src/netbeans.c 2010-09-30 21:03:13.000000000 +0200
|
||||
--- src/netbeans.c 2010-11-16 14:52:55.000000000 +0100
|
||||
***************
|
||||
*** 726,734 ****
|
||||
static char_u *buf = NULL;
|
||||
int len = 0;
|
||||
int readlen = 0;
|
||||
- #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
|
||||
- static int level = 0;
|
||||
- #endif
|
||||
#ifdef HAVE_SELECT
|
||||
struct timeval tval;
|
||||
fd_set rfds;
|
||||
--- 726,731 ----
|
||||
***************
|
||||
*** 744,756 ****
|
||||
return;
|
||||
}
|
||||
|
||||
- #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
|
||||
- /* recursion guard; this will be called from the X event loop at unknown
|
||||
- * moments */
|
||||
- if (NB_HAS_GUI)
|
||||
- ++level;
|
||||
- #endif
|
||||
-
|
||||
/* Allocate a buffer to read into. */
|
||||
if (buf == NULL)
|
||||
{
|
||||
--- 741,746 ----
|
||||
***************
|
||||
*** 803,823 ****
|
||||
return; /* don't try to parse it */
|
||||
}
|
||||
|
||||
! #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_W32)
|
||||
! /* Let the main loop handle messages. */
|
||||
! if (NB_HAS_GUI)
|
||||
! {
|
||||
! # ifdef FEAT_GUI_GTK
|
||||
! if (gtk_main_level() > 0)
|
||||
! gtk_main_quit();
|
||||
! # else
|
||||
! /* Parse the messages now, but avoid recursion. */
|
||||
! if (level == 1)
|
||||
! netbeans_parse_messages();
|
||||
!
|
||||
! --level;
|
||||
! # endif
|
||||
! }
|
||||
#endif
|
||||
}
|
||||
|
||||
--- 793,801 ----
|
||||
return; /* don't try to parse it */
|
||||
}
|
||||
|
||||
! #if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK)
|
||||
! if (NB_HAS_GUI && gtk_main_level() > 0)
|
||||
! gtk_main_quit();
|
||||
#endif
|
||||
}
|
||||
|
||||
*** ../vim-7.3.058/src/version.c 2010-11-16 14:46:14.000000000 +0100
|
||||
--- src/version.c 2010-11-16 14:50:57.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 59,
|
||||
/**/
|
||||
|
||||
|
||||
--
|
||||
ARTHUR: If you do not open these doors, we will take this castle by force ...
|
||||
[A bucket of slops land on ARTHUR. He tries to retain his dignity.]
|
||||
"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 ///
|
227
7.3.060
227
7.3.060
@ -1,227 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.060
|
||||
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.060
|
||||
Problem: Netbeans: crash when socket is disconnected unexpectedly.
|
||||
Solution: Don't cleanup when a read fails, put a message in the queue and
|
||||
disconnect later. (Xavier de Gaye)
|
||||
Files: src/netbeans.c
|
||||
|
||||
|
||||
*** ../vim-7.3.059/src/netbeans.c 2010-11-16 15:04:51.000000000 +0100
|
||||
--- src/netbeans.c 2010-11-16 15:48:36.000000000 +0100
|
||||
***************
|
||||
*** 135,148 ****
|
||||
static int needupdate = 0;
|
||||
static int inAtomic = 0;
|
||||
|
||||
static void
|
||||
! netbeans_close(void)
|
||||
{
|
||||
- if (!NETBEANS_OPEN)
|
||||
- return;
|
||||
-
|
||||
- netbeans_send_disconnect();
|
||||
-
|
||||
#ifdef FEAT_GUI_X11
|
||||
if (inputHandler != (XtInputId)NULL)
|
||||
{
|
||||
--- 135,146 ----
|
||||
static int needupdate = 0;
|
||||
static int inAtomic = 0;
|
||||
|
||||
+ /*
|
||||
+ * Close the socket and remove the input handlers.
|
||||
+ */
|
||||
static void
|
||||
! nb_close_socket(void)
|
||||
{
|
||||
#ifdef FEAT_GUI_X11
|
||||
if (inputHandler != (XtInputId)NULL)
|
||||
{
|
||||
***************
|
||||
*** 167,179 ****
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
bevalServers &= ~BEVAL_NETBEANS;
|
||||
#endif
|
||||
|
||||
- sock_close(nbsock);
|
||||
- nbsock = -1;
|
||||
-
|
||||
needupdate = 0;
|
||||
inAtomic = 0;
|
||||
nb_free();
|
||||
--- 165,191 ----
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+ sock_close(nbsock);
|
||||
+ nbsock = -1;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Close the connection and cleanup.
|
||||
+ * May be called when nb_close_socket() was called earlier.
|
||||
+ */
|
||||
+ static void
|
||||
+ netbeans_close(void)
|
||||
+ {
|
||||
+ if (NETBEANS_OPEN)
|
||||
+ {
|
||||
+ netbeans_send_disconnect();
|
||||
+ nb_close_socket();
|
||||
+ }
|
||||
+
|
||||
#ifdef FEAT_BEVAL
|
||||
bevalServers &= ~BEVAL_NETBEANS;
|
||||
#endif
|
||||
|
||||
needupdate = 0;
|
||||
inAtomic = 0;
|
||||
nb_free();
|
||||
***************
|
||||
*** 632,640 ****
|
||||
char_u *p;
|
||||
queue_T *node;
|
||||
|
||||
- if (!NETBEANS_OPEN)
|
||||
- return;
|
||||
-
|
||||
while (head.next != NULL && head.next != &head)
|
||||
{
|
||||
node = head.next;
|
||||
--- 644,649 ----
|
||||
***************
|
||||
*** 720,725 ****
|
||||
--- 729,736 ----
|
||||
}
|
||||
#endif
|
||||
|
||||
+ #define DETACH_MSG "DETACH\n"
|
||||
+
|
||||
void
|
||||
netbeans_read()
|
||||
{
|
||||
***************
|
||||
*** 780,801 ****
|
||||
break; /* did read everything that's available */
|
||||
}
|
||||
|
||||
if (readlen <= 0)
|
||||
{
|
||||
! /* read error or didn't read anything */
|
||||
! netbeans_close();
|
||||
! nbdebug(("messageFromNetbeans: Error in read() from socket\n"));
|
||||
if (len < 0)
|
||||
{
|
||||
nbdebug(("read from Netbeans socket\n"));
|
||||
PERROR(_("read from Netbeans socket"));
|
||||
}
|
||||
- return; /* don't try to parse it */
|
||||
}
|
||||
|
||||
#if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK)
|
||||
if (NB_HAS_GUI && gtk_main_level() > 0)
|
||||
! gtk_main_quit();
|
||||
#endif
|
||||
}
|
||||
|
||||
--- 791,822 ----
|
||||
break; /* did read everything that's available */
|
||||
}
|
||||
|
||||
+ /* Reading a socket disconnection (readlen == 0), or a socket error. */
|
||||
if (readlen <= 0)
|
||||
{
|
||||
! /* Queue a "DETACH" netbeans message in the command queue in order to
|
||||
! * terminate the netbeans session later. Do not end the session here
|
||||
! * directly as we may be running in the context of a call to
|
||||
! * netbeans_parse_messages():
|
||||
! * netbeans_parse_messages
|
||||
! * -> autocmd triggered while processing the netbeans cmd
|
||||
! * -> ui_breakcheck
|
||||
! * -> gui event loop or select loop
|
||||
! * -> netbeans_read()
|
||||
! */
|
||||
! save((char_u *)DETACH_MSG, strlen(DETACH_MSG));
|
||||
! nb_close_socket();
|
||||
!
|
||||
if (len < 0)
|
||||
{
|
||||
nbdebug(("read from Netbeans socket\n"));
|
||||
PERROR(_("read from Netbeans socket"));
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK)
|
||||
if (NB_HAS_GUI && gtk_main_level() > 0)
|
||||
! gtk_main_quit();
|
||||
#endif
|
||||
}
|
||||
|
||||
***************
|
||||
*** 1164,1169 ****
|
||||
--- 1185,1194 ----
|
||||
|
||||
nbdebug(("REP %d: <none>\n", cmdno));
|
||||
|
||||
+ /* Avoid printing an annoying error message. */
|
||||
+ if (!NETBEANS_OPEN)
|
||||
+ return;
|
||||
+
|
||||
sprintf(reply, "%d\n", cmdno);
|
||||
nb_send(reply, "nb_reply_nil");
|
||||
}
|
||||
***************
|
||||
*** 2753,2763 ****
|
||||
{
|
||||
#ifdef FEAT_GUI
|
||||
# if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
|
||||
! && !defined(FEAT_GUI_W32)
|
||||
if (gui.in_use)
|
||||
{
|
||||
! EMSG(_("E838: netbeans is not supported with this GUI"));
|
||||
! return;
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
--- 2778,2788 ----
|
||||
{
|
||||
#ifdef FEAT_GUI
|
||||
# if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
|
||||
! && !defined(FEAT_GUI_W32)
|
||||
if (gui.in_use)
|
||||
{
|
||||
! EMSG(_("E838: netbeans is not supported with this GUI"));
|
||||
! return;
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
*** ../vim-7.3.059/src/version.c 2010-11-16 15:04:51.000000000 +0100
|
||||
--- src/version.c 2010-11-16 15:22:39.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 60,
|
||||
/**/
|
||||
|
||||
--
|
||||
Another bucket of what can only be described as human ordure hits ARTHUR.
|
||||
ARTHUR: ... Right! (to the KNIGHTS) That settles it!
|
||||
"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 ///
|
89
7.3.061
89
7.3.061
@ -1,89 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.061
|
||||
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.061
|
||||
Problem: Remote ":drop" does not respect 'autochdir'. (Peter Odding)
|
||||
Solution: Don't restore the directory when 'autochdir' is set. (Benjamin
|
||||
Fritz)
|
||||
Files: src/main.c
|
||||
|
||||
|
||||
*** ../vim-7.3.060/src/main.c 2010-09-29 17:26:57.000000000 +0200
|
||||
--- src/main.c 2010-11-16 16:16:11.000000000 +0100
|
||||
***************
|
||||
*** 3817,3822 ****
|
||||
--- 3817,3824 ----
|
||||
/* Check if we have at least one argument. */
|
||||
if (filec <= 0)
|
||||
mainerr_arg_missing((char_u *)filev[-1]);
|
||||
+
|
||||
+ /* Temporarily cd to the current directory to handle relative file names. */
|
||||
if (mch_dirname(cwd, MAXPATHL) != OK)
|
||||
return NULL;
|
||||
if ((p = vim_strsave_escaped_ext(cwd,
|
||||
***************
|
||||
*** 3858,3870 ****
|
||||
ga_concat(&ga, p);
|
||||
vim_free(p);
|
||||
}
|
||||
/* The :drop commands goes to Insert mode when 'insertmode' is set, use
|
||||
* CTRL-\ CTRL-N again. */
|
||||
! ga_concat(&ga, (char_u *)"|if exists('*inputrestore')|call inputrestore()|endif<CR>");
|
||||
! ga_concat(&ga, (char_u *)"<C-\\><C-N>:cd -");
|
||||
if (sendReply)
|
||||
! ga_concat(&ga, (char_u *)"<CR>:call SetupRemoteReplies()");
|
||||
! ga_concat(&ga, (char_u *)"<CR>:");
|
||||
if (inicmd != NULL)
|
||||
{
|
||||
/* Can't use <CR> after "inicmd", because an "startinsert" would cause
|
||||
--- 3860,3879 ----
|
||||
ga_concat(&ga, p);
|
||||
vim_free(p);
|
||||
}
|
||||
+ ga_concat(&ga, (char_u *)"|if exists('*inputrestore')|call inputrestore()|endif<CR>");
|
||||
+
|
||||
/* The :drop commands goes to Insert mode when 'insertmode' is set, use
|
||||
* CTRL-\ CTRL-N again. */
|
||||
! ga_concat(&ga, (char_u *)"<C-\\><C-N>");
|
||||
!
|
||||
! /* Switch back to the correct current directory (prior to temporary path
|
||||
! * switch) unless 'autochdir' is set, in which case it will already be
|
||||
! * correct after the :drop command. */
|
||||
! ga_concat(&ga, (char_u *)":if !exists('+acd')||!&acd|cd -|endif<CR>");
|
||||
!
|
||||
if (sendReply)
|
||||
! ga_concat(&ga, (char_u *)":call SetupRemoteReplies()<CR>");
|
||||
! ga_concat(&ga, (char_u *)":");
|
||||
if (inicmd != NULL)
|
||||
{
|
||||
/* Can't use <CR> after "inicmd", because an "startinsert" would cause
|
||||
*** ../vim-7.3.060/src/version.c 2010-11-16 15:48:57.000000000 +0100
|
||||
--- src/version.c 2010-11-16 16:19:58.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 61,
|
||||
/**/
|
||||
|
||||
--
|
||||
BEDEVERE: Stand by for attack!!
|
||||
[CUT TO enormous army forming up. Trebuchets, rows of PIKEMEN, siege
|
||||
towers, pennants flying, shouts of "Stand by for attack!" Traditional
|
||||
army build-up shots. The shouts echo across the ranks of the army.
|
||||
We see various groups reacting, and stirring themselves in readiness.]
|
||||
ARTHUR: Who are they?
|
||||
BEDEVERE: Oh, just some friends!
|
||||
"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 ///
|
609
7.3.062
609
7.3.062
@ -1,609 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.062
|
||||
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.062
|
||||
Problem: Python doesn't work properly when installed in another directory
|
||||
than expected.
|
||||
Solution: Figure out home directory in configure and use Py_SetPythonHome()
|
||||
at runtime. (Roland Puntaier)
|
||||
Files: src/configure.in, src/auto/configure, src/if_python.c,
|
||||
src/if_python3.c
|
||||
|
||||
|
||||
*** ../vim-7.3.061/src/configure.in 2010-11-03 22:32:18.000000000 +0100
|
||||
--- src/configure.in 2010-11-16 17:47:36.000000000 +0100
|
||||
***************
|
||||
*** 891,899 ****
|
||||
|
||||
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}"
|
||||
else
|
||||
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}"
|
||||
fi
|
||||
PYTHON_SRC="if_python.c"
|
||||
dnl For Mac OSX 10.2 config.o is included in the Python library.
|
||||
--- 891,899 ----
|
||||
|
||||
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}\\\""
|
||||
else
|
||||
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
|
||||
fi
|
||||
PYTHON_SRC="if_python.c"
|
||||
dnl For Mac OSX 10.2 config.o is included in the Python library.
|
||||
***************
|
||||
*** 905,911 ****
|
||||
if test "${vi_cv_var_python_version}" = "1.4"; then
|
||||
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
|
||||
fi
|
||||
! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
|
||||
|
||||
dnl On FreeBSD linking with "-pthread" is required to use threads.
|
||||
dnl _THREAD_SAFE must be used for compiling then.
|
||||
--- 905,911 ----
|
||||
if test "${vi_cv_var_python_version}" = "1.4"; then
|
||||
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
|
||||
fi
|
||||
! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
|
||||
|
||||
dnl On FreeBSD linking with "-pthread" is required to use threads.
|
||||
dnl _THREAD_SAFE must be used for compiling then.
|
||||
***************
|
||||
*** 1063,1071 ****
|
||||
|
||||
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}"
|
||||
else
|
||||
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}"
|
||||
fi
|
||||
PYTHON3_SRC="if_python3.c"
|
||||
dnl For Mac OSX 10.2 config.o is included in the Python library.
|
||||
--- 1063,1071 ----
|
||||
|
||||
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} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
else
|
||||
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
fi
|
||||
PYTHON3_SRC="if_python3.c"
|
||||
dnl For Mac OSX 10.2 config.o is included in the Python library.
|
||||
***************
|
||||
*** 1143,1151 ****
|
||||
if test "$python_ok" = yes && test "$python3_ok" = yes; then
|
||||
AC_DEFINE(DYNAMIC_PYTHON)
|
||||
AC_DEFINE(DYNAMIC_PYTHON3)
|
||||
! AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL)
|
||||
cflags_save=$CFLAGS
|
||||
! CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
|
||||
ldflags_save=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
AC_RUN_IFELSE([
|
||||
--- 1143,1151 ----
|
||||
if test "$python_ok" = yes && test "$python3_ok" = yes; then
|
||||
AC_DEFINE(DYNAMIC_PYTHON)
|
||||
AC_DEFINE(DYNAMIC_PYTHON3)
|
||||
! AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python)
|
||||
cflags_save=$CFLAGS
|
||||
! CFLAGS="$CFLAGS $PYTHON_CFLAGS"
|
||||
ldflags_save=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
AC_RUN_IFELSE([
|
||||
***************
|
||||
*** 1156,1170 ****
|
||||
* Only the first pyhton version used will be switched on.
|
||||
*/
|
||||
|
||||
! int no_rtl_global_needed_for(char *python_instsoname)
|
||||
{
|
||||
int needed = 0;
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
|
||||
if (pylib != 0)
|
||||
{
|
||||
void (*init)(void) = dlsym(pylib, "Py_Initialize");
|
||||
int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
|
||||
void (*final)(void) = dlsym(pylib, "Py_Finalize");
|
||||
(*init)();
|
||||
needed = (*simple)("import termios") == -1;
|
||||
(*final)();
|
||||
--- 1156,1172 ----
|
||||
* Only the first pyhton version used will be switched on.
|
||||
*/
|
||||
|
||||
! int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
|
||||
{
|
||||
int needed = 0;
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
|
||||
if (pylib != 0)
|
||||
{
|
||||
+ void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome");
|
||||
void (*init)(void) = dlsym(pylib, "Py_Initialize");
|
||||
int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
|
||||
void (*final)(void) = dlsym(pylib, "Py_Finalize");
|
||||
+ (*pfx)(prefix);
|
||||
(*init)();
|
||||
needed = (*simple)("import termios") == -1;
|
||||
(*final)();
|
||||
***************
|
||||
*** 1176,1188 ****
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int not_needed = 0;
|
||||
! if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0"))
|
||||
not_needed = 1;
|
||||
return !not_needed;
|
||||
}],
|
||||
[AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
|
||||
CFLAGS=$cflags_save
|
||||
LDFLAGS=$ldflags_save
|
||||
PYTHON_SRC="if_python.c"
|
||||
PYTHON_OBJ="objects/if_python.o"
|
||||
PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
|
||||
--- 1178,1237 ----
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int not_needed = 0;
|
||||
! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
|
||||
not_needed = 1;
|
||||
return !not_needed;
|
||||
}],
|
||||
[AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
|
||||
+
|
||||
CFLAGS=$cflags_save
|
||||
LDFLAGS=$ldflags_save
|
||||
+
|
||||
+ AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python3)
|
||||
+ cflags_save=$CFLAGS
|
||||
+ CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
|
||||
+ ldflags_save=$LDFLAGS
|
||||
+ LDFLAGS="$LDFLAGS -ldl"
|
||||
+ AC_RUN_IFELSE([
|
||||
+ #include <dlfcn.h>
|
||||
+ #include <wchar.h>
|
||||
+ /* If this program fails, then RTLD_GLOBAL is needed.
|
||||
+ * RTLD_GLOBAL will be used and then it is not possible to
|
||||
+ * have both python versions enabled in the same vim instance.
|
||||
+ * Only the first pyhton version used will be switched on.
|
||||
+ */
|
||||
+
|
||||
+ int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
|
||||
+ {
|
||||
+ int needed = 0;
|
||||
+ void* pylib = dlopen(python_instsoname, RTLD_LAZY);
|
||||
+ if (pylib != 0)
|
||||
+ {
|
||||
+ void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome");
|
||||
+ void (*init)(void) = dlsym(pylib, "Py_Initialize");
|
||||
+ int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
|
||||
+ void (*final)(void) = dlsym(pylib, "Py_Finalize");
|
||||
+ (*pfx)(prefix);
|
||||
+ (*init)();
|
||||
+ needed = (*simple)("import termios") == -1;
|
||||
+ (*final)();
|
||||
+ dlclose(pylib);
|
||||
+ }
|
||||
+ return !needed;
|
||||
+ }
|
||||
+
|
||||
+ int main(int argc, char** argv)
|
||||
+ {
|
||||
+ int not_needed = 0;
|
||||
+ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
|
||||
+ not_needed = 1;
|
||||
+ return !not_needed;
|
||||
+ }],
|
||||
+ [AC_MSG_RESULT(yes);AC_DEFINE(PY3_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)])
|
||||
+
|
||||
+ CFLAGS=$cflags_save
|
||||
+ LDFLAGS=$ldflags_save
|
||||
+
|
||||
PYTHON_SRC="if_python.c"
|
||||
PYTHON_OBJ="objects/if_python.o"
|
||||
PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
|
||||
*** ../vim-7.3.061/src/auto/configure 2010-11-03 22:32:18.000000000 +0100
|
||||
--- src/auto/configure 2010-11-16 17:47:42.000000000 +0100
|
||||
***************
|
||||
*** 5326,5334 ****
|
||||
|
||||
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}"
|
||||
else
|
||||
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}"
|
||||
fi
|
||||
PYTHON_SRC="if_python.c"
|
||||
if test "x$MACOSX" = "xyes"; then
|
||||
--- 5326,5334 ----
|
||||
|
||||
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}\\\""
|
||||
else
|
||||
! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
|
||||
fi
|
||||
PYTHON_SRC="if_python.c"
|
||||
if test "x$MACOSX" = "xyes"; then
|
||||
***************
|
||||
*** 5339,5345 ****
|
||||
if test "${vi_cv_var_python_version}" = "1.4"; then
|
||||
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
|
||||
fi
|
||||
! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
|
||||
$as_echo_n "checking if -pthread should be used... " >&6; }
|
||||
--- 5339,5345 ----
|
||||
if test "${vi_cv_var_python_version}" = "1.4"; then
|
||||
PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
|
||||
fi
|
||||
! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5
|
||||
$as_echo_n "checking if -pthread should be used... " >&6; }
|
||||
***************
|
||||
*** 5601,5609 ****
|
||||
|
||||
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}"
|
||||
else
|
||||
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}"
|
||||
fi
|
||||
PYTHON3_SRC="if_python3.c"
|
||||
if test "x$MACOSX" = "xyes"; then
|
||||
--- 5601,5609 ----
|
||||
|
||||
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} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
else
|
||||
! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
fi
|
||||
PYTHON3_SRC="if_python3.c"
|
||||
if test "x$MACOSX" = "xyes"; then
|
||||
***************
|
||||
*** 5708,5717 ****
|
||||
|
||||
$as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h
|
||||
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL" >&5
|
||||
! $as_echo_n "checking whether we can do without RTLD_GLOBAL... " >&6; }
|
||||
cflags_save=$CFLAGS
|
||||
! CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
|
||||
ldflags_save=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
if test "$cross_compiling" = yes; then :
|
||||
--- 5708,5717 ----
|
||||
|
||||
$as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h
|
||||
|
||||
! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL for Python" >&5
|
||||
! $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python... " >&6; }
|
||||
cflags_save=$CFLAGS
|
||||
! CFLAGS="$CFLAGS $PYTHON_CFLAGS"
|
||||
ldflags_save=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
if test "$cross_compiling" = yes; then :
|
||||
***************
|
||||
*** 5730,5744 ****
|
||||
* Only the first pyhton version used will be switched on.
|
||||
*/
|
||||
|
||||
! int no_rtl_global_needed_for(char *python_instsoname)
|
||||
{
|
||||
int needed = 0;
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
|
||||
if (pylib != 0)
|
||||
{
|
||||
void (*init)(void) = dlsym(pylib, "Py_Initialize");
|
||||
int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
|
||||
void (*final)(void) = dlsym(pylib, "Py_Finalize");
|
||||
(*init)();
|
||||
needed = (*simple)("import termios") == -1;
|
||||
(*final)();
|
||||
--- 5730,5746 ----
|
||||
* Only the first pyhton version used will be switched on.
|
||||
*/
|
||||
|
||||
! int no_rtl_global_needed_for(char *python_instsoname, char *prefix)
|
||||
{
|
||||
int needed = 0;
|
||||
void* pylib = dlopen(python_instsoname, RTLD_LAZY);
|
||||
if (pylib != 0)
|
||||
{
|
||||
+ void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome");
|
||||
void (*init)(void) = dlsym(pylib, "Py_Initialize");
|
||||
int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
|
||||
void (*final)(void) = dlsym(pylib, "Py_Finalize");
|
||||
+ (*pfx)(prefix);
|
||||
(*init)();
|
||||
needed = (*simple)("import termios") == -1;
|
||||
(*final)();
|
||||
***************
|
||||
*** 5750,5756 ****
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int not_needed = 0;
|
||||
! if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0"))
|
||||
not_needed = 1;
|
||||
return !not_needed;
|
||||
}
|
||||
--- 5752,5758 ----
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int not_needed = 0;
|
||||
! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}"))
|
||||
not_needed = 1;
|
||||
return !not_needed;
|
||||
}
|
||||
***************
|
||||
*** 5767,5774 ****
|
||||
--- 5769,5844 ----
|
||||
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
fi
|
||||
|
||||
+
|
||||
CFLAGS=$cflags_save
|
||||
LDFLAGS=$ldflags_save
|
||||
+
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL for Python3" >&5
|
||||
+ $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python3... " >&6; }
|
||||
+ cflags_save=$CFLAGS
|
||||
+ CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
|
||||
+ ldflags_save=$LDFLAGS
|
||||
+ LDFLAGS="$LDFLAGS -ldl"
|
||||
+ if test "$cross_compiling" = yes; then :
|
||||
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
+ as_fn_error "cannot run test program while cross compiling
|
||||
+ See \`config.log' for more details." "$LINENO" 5; }
|
||||
+ else
|
||||
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
+ /* end confdefs.h. */
|
||||
+
|
||||
+ #include <dlfcn.h>
|
||||
+ #include <wchar.h>
|
||||
+ /* If this program fails, then RTLD_GLOBAL is needed.
|
||||
+ * RTLD_GLOBAL will be used and then it is not possible to
|
||||
+ * have both python versions enabled in the same vim instance.
|
||||
+ * Only the first pyhton version used will be switched on.
|
||||
+ */
|
||||
+
|
||||
+ int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix)
|
||||
+ {
|
||||
+ int needed = 0;
|
||||
+ void* pylib = dlopen(python_instsoname, RTLD_LAZY);
|
||||
+ if (pylib != 0)
|
||||
+ {
|
||||
+ void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome");
|
||||
+ void (*init)(void) = dlsym(pylib, "Py_Initialize");
|
||||
+ int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString");
|
||||
+ void (*final)(void) = dlsym(pylib, "Py_Finalize");
|
||||
+ (*pfx)(prefix);
|
||||
+ (*init)();
|
||||
+ needed = (*simple)("import termios") == -1;
|
||||
+ (*final)();
|
||||
+ dlclose(pylib);
|
||||
+ }
|
||||
+ return !needed;
|
||||
+ }
|
||||
+
|
||||
+ int main(int argc, char** argv)
|
||||
+ {
|
||||
+ int not_needed = 0;
|
||||
+ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}"))
|
||||
+ not_needed = 1;
|
||||
+ return !not_needed;
|
||||
+ }
|
||||
+ _ACEOF
|
||||
+ if ac_fn_c_try_run "$LINENO"; then :
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
+ $as_echo "yes" >&6; };$as_echo "#define PY3_NO_RTLD_GLOBAL 1" >>confdefs.h
|
||||
+
|
||||
+ else
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
+ $as_echo "no" >&6; }
|
||||
+ fi
|
||||
+ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ CFLAGS=$cflags_save
|
||||
+ LDFLAGS=$ldflags_save
|
||||
+
|
||||
PYTHON_SRC="if_python.c"
|
||||
PYTHON_OBJ="objects/if_python.o"
|
||||
PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
|
||||
*** ../vim-7.3.061/src/if_python.c 2010-10-23 14:02:48.000000000 +0200
|
||||
--- src/if_python.c 2010-11-16 17:07:00.000000000 +0100
|
||||
***************
|
||||
*** 102,108 ****
|
||||
# include <dlfcn.h>
|
||||
# define FARPROC void*
|
||||
# define HINSTANCE void*
|
||||
! # ifdef PY_NO_RTLD_GLOBAL
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY)
|
||||
# else
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
|
||||
--- 102,108 ----
|
||||
# include <dlfcn.h>
|
||||
# define FARPROC void*
|
||||
# define HINSTANCE void*
|
||||
! # if defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY)
|
||||
# else
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
|
||||
***************
|
||||
*** 168,173 ****
|
||||
--- 168,174 ----
|
||||
# define Py_BuildValue dll_Py_BuildValue
|
||||
# define Py_FindMethod dll_Py_FindMethod
|
||||
# define Py_InitModule4 dll_Py_InitModule4
|
||||
+ # define Py_SetPythonHome dll_Py_SetPythonHome
|
||||
# define Py_Initialize dll_Py_Initialize
|
||||
# define Py_Finalize dll_Py_Finalize
|
||||
# define Py_IsInitialized dll_Py_IsInitialized
|
||||
***************
|
||||
*** 226,231 ****
|
||||
--- 227,233 ----
|
||||
static PyObject*(*dll_Py_BuildValue)(char *, ...);
|
||||
static PyObject*(*dll_Py_FindMethod)(struct PyMethodDef[], PyObject *, char *);
|
||||
static PyObject*(*dll_Py_InitModule4)(char *, struct PyMethodDef *, char *, PyObject *, int);
|
||||
+ static void(*dll_Py_SetPythonHome)(char *home);
|
||||
static void(*dll_Py_Initialize)(void);
|
||||
static void(*dll_Py_Finalize)(void);
|
||||
static int(*dll_Py_IsInitialized)(void);
|
||||
***************
|
||||
*** 310,315 ****
|
||||
--- 312,318 ----
|
||||
# else
|
||||
{"Py_InitModule4", (PYTHON_PROC*)&dll_Py_InitModule4},
|
||||
# endif
|
||||
+ {"Py_SetPythonHome", (PYTHON_PROC*)&dll_Py_SetPythonHome},
|
||||
{"Py_Initialize", (PYTHON_PROC*)&dll_Py_Initialize},
|
||||
{"Py_Finalize", (PYTHON_PROC*)&dll_Py_Finalize},
|
||||
{"Py_IsInitialized", (PYTHON_PROC*)&dll_Py_IsInitialized},
|
||||
***************
|
||||
*** 349,355 ****
|
||||
{
|
||||
int i;
|
||||
|
||||
! #if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON3)
|
||||
/* Can't have Python and Python3 loaded at the same time.
|
||||
* It cause a crash, because RTLD_GLOBAL is needed for
|
||||
* standard C extension libraries of one or both python versions. */
|
||||
--- 352,358 ----
|
||||
{
|
||||
int i;
|
||||
|
||||
! #if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3)
|
||||
/* Can't have Python and Python3 loaded at the same time.
|
||||
* It cause a crash, because RTLD_GLOBAL is needed for
|
||||
* standard C extension libraries of one or both python versions. */
|
||||
***************
|
||||
*** 543,548 ****
|
||||
--- 546,555 ----
|
||||
}
|
||||
#endif
|
||||
|
||||
+ #ifdef PYTHON_HOME
|
||||
+ Py_SetPythonHome(PYTHON_HOME);
|
||||
+ #endif
|
||||
+
|
||||
init_structs();
|
||||
|
||||
#if !defined(MACOS) || defined(MACOS_X_UNIX)
|
||||
*** ../vim-7.3.061/src/if_python3.c 2010-10-23 14:02:48.000000000 +0200
|
||||
--- src/if_python3.c 2010-11-16 17:07:26.000000000 +0100
|
||||
***************
|
||||
*** 80,86 ****
|
||||
# include <dlfcn.h>
|
||||
# define FARPROC void*
|
||||
# define HINSTANCE void*
|
||||
! # ifdef PY_NO_RTLD_GLOBAL
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY)
|
||||
# else
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
|
||||
--- 80,86 ----
|
||||
# include <dlfcn.h>
|
||||
# define FARPROC void*
|
||||
# define HINSTANCE void*
|
||||
! # if defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY)
|
||||
# else
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
|
||||
***************
|
||||
*** 132,137 ****
|
||||
--- 132,138 ----
|
||||
# define PyType_Ready py3_PyType_Ready
|
||||
#undef Py_BuildValue
|
||||
# define Py_BuildValue py3_Py_BuildValue
|
||||
+ # define Py_SetPythonHome py3_Py_SetPythonHome
|
||||
# define Py_Initialize py3_Py_Initialize
|
||||
# define Py_Finalize py3_Py_Finalize
|
||||
# define Py_IsInitialized py3_Py_IsInitialized
|
||||
***************
|
||||
*** 170,175 ****
|
||||
--- 171,177 ----
|
||||
* Pointers for dynamic link
|
||||
*/
|
||||
static int (*py3_PySys_SetArgv)(int, wchar_t **);
|
||||
+ static void (*py3_Py_SetPythonHome)(wchar_t *home);
|
||||
static void (*py3_Py_Initialize)(void);
|
||||
static PyObject* (*py3_PyList_New)(Py_ssize_t size);
|
||||
static PyGILState_STATE (*py3_PyGILState_Ensure)(void);
|
||||
***************
|
||||
*** 254,259 ****
|
||||
--- 256,262 ----
|
||||
} py3_funcname_table[] =
|
||||
{
|
||||
{"PySys_SetArgv", (PYTHON_PROC*)&py3_PySys_SetArgv},
|
||||
+ {"Py_SetPythonHome", (PYTHON_PROC*)&py3_Py_SetPythonHome},
|
||||
{"Py_Initialize", (PYTHON_PROC*)&py3_Py_Initialize},
|
||||
{"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple},
|
||||
{"PyList_New", (PYTHON_PROC*)&py3_PyList_New},
|
||||
***************
|
||||
*** 336,342 ****
|
||||
int i;
|
||||
void *ucs_from_string, *ucs_from_string_and_size;
|
||||
|
||||
! # if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON)
|
||||
/* Can't have Python and Python3 loaded at the same time.
|
||||
* It cause a crash, because RTLD_GLOBAL is needed for
|
||||
* standard C extension libraries of one or both python versions. */
|
||||
--- 339,345 ----
|
||||
int i;
|
||||
void *ucs_from_string, *ucs_from_string_and_size;
|
||||
|
||||
! # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON)
|
||||
/* Can't have Python and Python3 loaded at the same time.
|
||||
* It cause a crash, because RTLD_GLOBAL is needed for
|
||||
* standard C extension libraries of one or both python versions. */
|
||||
***************
|
||||
*** 539,544 ****
|
||||
--- 542,552 ----
|
||||
|
||||
init_structs();
|
||||
|
||||
+
|
||||
+ #ifdef PYTHON3_HOME
|
||||
+ Py_SetPythonHome(PYTHON3_HOME);
|
||||
+ #endif
|
||||
+
|
||||
/* initialise threads */
|
||||
PyEval_InitThreads();
|
||||
|
||||
*** ../vim-7.3.061/src/version.c 2010-11-16 16:25:46.000000000 +0100
|
||||
--- src/version.c 2010-11-16 17:12:40.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 62,
|
||||
/**/
|
||||
|
||||
--
|
||||
ARTHUR: CHARGE!
|
||||
[The mighty ARMY charges. Thundering noise of feet. Clatter of coconuts.
|
||||
Shouts etc. Suddenly there is a wail of a siren and a couple of police
|
||||
cars roar round in front of the charging ARMY and the POLICE leap out and
|
||||
stop them. TWO POLICEMAN and the HISTORIAN'S WIFE. Black Marias skid up
|
||||
behind them.]
|
||||
HISTORIAN'S WIFE: They're the ones, I'm sure.
|
||||
"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 ///
|
59
7.3.063
59
7.3.063
@ -1,59 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.063
|
||||
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.063
|
||||
Problem: Win32: Running a filter command makes Vim lose focus.
|
||||
Solution: Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu)
|
||||
Files: src/os_win32.c
|
||||
|
||||
|
||||
*** ../vim-7.3.062/src/os_win32.c 2010-11-10 15:37:00.000000000 +0100
|
||||
--- src/os_win32.c 2010-11-24 12:31:46.000000000 +0100
|
||||
***************
|
||||
*** 3185,3193 ****
|
||||
* It's nicer to run a filter command in a minimized window, but in
|
||||
* Windows 95 this makes the command MUCH slower. We can't do it under
|
||||
* Win32s either as it stops the synchronous spawn workaround working.
|
||||
*/
|
||||
if ((options & SHELL_DOOUT) && !mch_windows95() && !gui_is_win32s())
|
||||
! si.wShowWindow = SW_SHOWMINIMIZED;
|
||||
else
|
||||
si.wShowWindow = SW_SHOWNORMAL;
|
||||
si.cbReserved2 = 0;
|
||||
--- 3185,3194 ----
|
||||
* It's nicer to run a filter command in a minimized window, but in
|
||||
* Windows 95 this makes the command MUCH slower. We can't do it under
|
||||
* Win32s either as it stops the synchronous spawn workaround working.
|
||||
+ * Don't activate the window to keep focus on Vim.
|
||||
*/
|
||||
if ((options & SHELL_DOOUT) && !mch_windows95() && !gui_is_win32s())
|
||||
! si.wShowWindow = SW_SHOWMINNOACTIVE;
|
||||
else
|
||||
si.wShowWindow = SW_SHOWNORMAL;
|
||||
si.cbReserved2 = 0;
|
||||
*** ../vim-7.3.062/src/version.c 2010-11-16 19:25:56.000000000 +0100
|
||||
--- src/version.c 2010-11-24 12:32:52.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 63,
|
||||
/**/
|
||||
|
||||
--
|
||||
SOLDIER: Where did you get the coconuts?
|
||||
ARTHUR: Through ... We found them.
|
||||
SOLDIER: Found them? In Mercea. The coconut's tropical!
|
||||
"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 ///
|
72
7.3.064
72
7.3.064
@ -1,72 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.064
|
||||
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.064
|
||||
Problem: Win32: ":dis +" shows nothing, but "+p does insert text.
|
||||
Solution: Display the * register, since that's what will be inserted.
|
||||
(Christian Brabandt)
|
||||
Files: src/globals.h, src/ops.c
|
||||
|
||||
|
||||
*** ../vim-7.3.063/src/globals.h 2010-08-15 21:57:27.000000000 +0200
|
||||
--- src/globals.h 2010-11-24 14:06:47.000000000 +0100
|
||||
***************
|
||||
*** 510,515 ****
|
||||
--- 510,516 ----
|
||||
EXTERN VimClipboard clip_plus; /* CLIPBOARD selection in X11 */
|
||||
# else
|
||||
# define clip_plus clip_star /* there is only one clipboard */
|
||||
+ # define ONE_CLIPBOARD
|
||||
# endif
|
||||
EXTERN int clip_unnamed INIT(= FALSE);
|
||||
EXTERN int clip_autoselect INIT(= FALSE);
|
||||
*** ../vim-7.3.063/src/ops.c 2010-10-09 17:21:42.000000000 +0200
|
||||
--- src/ops.c 2010-11-24 14:26:25.000000000 +0100
|
||||
***************
|
||||
*** 3979,3985 ****
|
||||
for (i = -1; i < NUM_REGISTERS && !got_int; ++i)
|
||||
{
|
||||
name = get_register_name(i);
|
||||
! if (arg != NULL && vim_strchr(arg, name) == NULL)
|
||||
continue; /* did not ask for this register */
|
||||
|
||||
#ifdef FEAT_CLIPBOARD
|
||||
--- 3979,3990 ----
|
||||
for (i = -1; i < NUM_REGISTERS && !got_int; ++i)
|
||||
{
|
||||
name = get_register_name(i);
|
||||
! if (arg != NULL && vim_strchr(arg, name) == NULL
|
||||
! #ifdef ONE_CLIPBOARD
|
||||
! /* Star register and plus register contain the same thing. */
|
||||
! && (name != '*' || vim_strchr(arg, '+') == NULL)
|
||||
! #endif
|
||||
! )
|
||||
continue; /* did not ask for this register */
|
||||
|
||||
#ifdef FEAT_CLIPBOARD
|
||||
*** ../vim-7.3.063/src/version.c 2010-11-24 12:35:14.000000000 +0100
|
||||
--- src/version.c 2010-11-24 14:24:03.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 64,
|
||||
/**/
|
||||
|
||||
--
|
||||
FIRST SOLDIER: So they wouldn't be able to bring a coconut back anyway.
|
||||
SECOND SOLDIER: Wait a minute! Suppose two swallows carried it together?
|
||||
FIRST SOLDIER: No, they'd have to have it on a line.
|
||||
"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 ///
|
120
7.3.065
120
7.3.065
@ -1,120 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.065
|
||||
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.065
|
||||
Problem: Can't get current line number in a source file.
|
||||
Solution: Add the <slnum> item, similar to <sfile>.
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
|
||||
*** ../vim-7.3.064/src/ex_docmd.c 2010-11-16 11:29:30.000000000 +0100
|
||||
--- src/ex_docmd.c 2010-11-24 15:41:51.000000000 +0100
|
||||
***************
|
||||
*** 9538,9554 ****
|
||||
#define SPEC_CFILE 4
|
||||
"<sfile>", /* ":so" file name */
|
||||
#define SPEC_SFILE 5
|
||||
#ifdef FEAT_AUTOCMD
|
||||
"<afile>", /* autocommand file name */
|
||||
! # define SPEC_AFILE 6
|
||||
"<abuf>", /* autocommand buffer number */
|
||||
! # define SPEC_ABUF 7
|
||||
"<amatch>", /* autocommand match name */
|
||||
! # define SPEC_AMATCH 8
|
||||
#endif
|
||||
#ifdef FEAT_CLIENTSERVER
|
||||
"<client>"
|
||||
! # define SPEC_CLIENT 9
|
||||
#endif
|
||||
};
|
||||
|
||||
--- 9538,9560 ----
|
||||
#define SPEC_CFILE 4
|
||||
"<sfile>", /* ":so" file name */
|
||||
#define SPEC_SFILE 5
|
||||
+ "<slnum>", /* ":so" file line number */
|
||||
+ #define SPEC_SLNUM 6
|
||||
#ifdef FEAT_AUTOCMD
|
||||
"<afile>", /* autocommand file name */
|
||||
! # define SPEC_AFILE 7
|
||||
"<abuf>", /* autocommand buffer number */
|
||||
! # define SPEC_ABUF 8
|
||||
"<amatch>", /* autocommand match name */
|
||||
! # define SPEC_AMATCH 9
|
||||
#endif
|
||||
#ifdef FEAT_CLIENTSERVER
|
||||
"<client>"
|
||||
! # ifdef FEAT_AUTOCMD
|
||||
! # define SPEC_CLIENT 10
|
||||
! # else
|
||||
! # define SPEC_CLIENT 7
|
||||
! # endif
|
||||
#endif
|
||||
};
|
||||
|
||||
***************
|
||||
*** 9573,9578 ****
|
||||
--- 9579,9585 ----
|
||||
* '<cWORD>' to WORD under the cursor
|
||||
* '<cfile>' to path name under the cursor
|
||||
* '<sfile>' to sourced file name
|
||||
+ * '<slnum>' to sourced file line number
|
||||
* '<afile>' to file name for autocommand
|
||||
* '<abuf>' to buffer number for autocommand
|
||||
* '<amatch>' to matching name for autocommand
|
||||
***************
|
||||
*** 9604,9613 ****
|
||||
#ifdef FEAT_MODIFY_FNAME
|
||||
int skip_mod = FALSE;
|
||||
#endif
|
||||
-
|
||||
- #if defined(FEAT_AUTOCMD) || defined(FEAT_CLIENTSERVER)
|
||||
char_u strbuf[30];
|
||||
- #endif
|
||||
|
||||
*errormsg = NULL;
|
||||
if (escaped != NULL)
|
||||
--- 9611,9617 ----
|
||||
***************
|
||||
*** 9796,9801 ****
|
||||
--- 9800,9814 ----
|
||||
return NULL;
|
||||
}
|
||||
break;
|
||||
+ case SPEC_SLNUM: /* line in file for ":so" command */
|
||||
+ if (sourcing_name == NULL || sourcing_lnum == 0)
|
||||
+ {
|
||||
+ *errormsg = (char_u *)_("E842: no line number to use for \"<slnum>\"");
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ sprintf((char *)strbuf, "%ld", (long)sourcing_lnum);
|
||||
+ result = strbuf;
|
||||
+ break;
|
||||
#if defined(FEAT_CLIENTSERVER)
|
||||
case SPEC_CLIENT: /* Source of last submitted input */
|
||||
sprintf((char *)strbuf, PRINTF_HEX_LONG_U,
|
||||
*** ../vim-7.3.064/src/version.c 2010-11-24 14:28:53.000000000 +0100
|
||||
--- src/version.c 2010-11-24 15:49:57.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 65,
|
||||
/**/
|
||||
|
||||
|
||||
--
|
||||
If you don't get everything you want, think of
|
||||
everything you didn't get and don't want.
|
||||
|
||||
/// 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 ///
|
90
7.3.066
90
7.3.066
@ -1,90 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.066
|
||||
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.066
|
||||
Problem: Crash when changing to another window while in a :vimgrep command.
|
||||
(Christian Brabandt)
|
||||
Solution: When wiping out the dummy before, remove it from aucmd_win.
|
||||
Files: src/quickfix.c
|
||||
|
||||
|
||||
*** ../vim-7.3.065/src/quickfix.c 2010-09-21 16:56:29.000000000 +0200
|
||||
--- src/quickfix.c 2010-11-24 16:27:40.000000000 +0100
|
||||
***************
|
||||
*** 3432,3437 ****
|
||||
--- 3432,3438 ----
|
||||
char_u *fname;
|
||||
{
|
||||
buf_T *newbuf;
|
||||
+ buf_T *newbuf_to_wipe = NULL;
|
||||
int failed = TRUE;
|
||||
aco_save_T aco;
|
||||
|
||||
***************
|
||||
*** 3468,3482 ****
|
||||
failed = FALSE;
|
||||
if (curbuf != newbuf)
|
||||
{
|
||||
! /* Bloody autocommands changed the buffer! */
|
||||
! if (buf_valid(newbuf))
|
||||
! wipe_buffer(newbuf, FALSE);
|
||||
newbuf = curbuf;
|
||||
}
|
||||
}
|
||||
|
||||
/* restore curwin/curbuf and a few other things */
|
||||
aucmd_restbuf(&aco);
|
||||
}
|
||||
|
||||
if (!buf_valid(newbuf))
|
||||
--- 3469,3487 ----
|
||||
failed = FALSE;
|
||||
if (curbuf != newbuf)
|
||||
{
|
||||
! /* Bloody autocommands changed the buffer! Can happen when
|
||||
! * using netrw and editing a remote file. Use the current
|
||||
! * buffer instead, delete the dummy one after restoring the
|
||||
! * window stuff. */
|
||||
! newbuf_to_wipe = newbuf;
|
||||
newbuf = curbuf;
|
||||
}
|
||||
}
|
||||
|
||||
/* restore curwin/curbuf and a few other things */
|
||||
aucmd_restbuf(&aco);
|
||||
+ if (newbuf_to_wipe != NULL && buf_valid(newbuf_to_wipe))
|
||||
+ wipe_buffer(newbuf_to_wipe, FALSE);
|
||||
}
|
||||
|
||||
if (!buf_valid(newbuf))
|
||||
*** ../vim-7.3.065/src/version.c 2010-11-24 15:50:54.000000000 +0100
|
||||
--- src/version.c 2010-11-24 16:30:44.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 66,
|
||||
/**/
|
||||
|
||||
--
|
||||
CART DRIVER: Bring out your dead!
|
||||
We follow the cart through a wretched, impoverished plague-ridden village.
|
||||
A few starved mongrels run about in the mud scavenging. In the open
|
||||
doorway of one house perhaps we jug glimpse a pair of legs dangling from
|
||||
the ceiling. In another doorway an OLD WOMAN is beating a cat against a
|
||||
wall rather like one does with a mat. The cart passes round a dead donkey
|
||||
or cow in the mud. And a MAN tied to a cart is being hammered to death by
|
||||
four NUNS with huge mallets.
|
||||
"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 ///
|
68
7.3.067
68
7.3.067
@ -1,68 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.067
|
||||
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.067 (after 7.3.058)
|
||||
Problem: Ruby: Init_prelude is not always available.
|
||||
Solution: Remove use of Init_prelude. (Yasuhiro Matsumoto)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.066/src/if_ruby.c 2010-11-16 14:46:14.000000000 +0100
|
||||
--- src/if_ruby.c 2010-11-24 16:53:06.000000000 +0100
|
||||
***************
|
||||
*** 231,237 ****
|
||||
# define rb_enc_str_new dll_rb_enc_str_new
|
||||
# define rb_intern2 dll_rb_intern2
|
||||
# define rb_const_remove dll_rb_const_remove
|
||||
- # define Init_prelude dll_Init_prelude
|
||||
# define rb_sprintf dll_rb_sprintf
|
||||
# define ruby_init_stack dll_ruby_init_stack
|
||||
#endif
|
||||
--- 231,236 ----
|
||||
***************
|
||||
*** 433,439 ****
|
||||
{"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
|
||||
{"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
|
||||
{"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
|
||||
- {"Init_prelude", (RUBY_PROC*)&dll_Init_prelude},
|
||||
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
|
||||
{"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
|
||||
#endif
|
||||
--- 432,437 ----
|
||||
***************
|
||||
*** 675,681 ****
|
||||
/* This avoids the error "Encoding::ConverterNotFoundError: code
|
||||
* converter not found (UTF-16LE to ASCII-8BIT)". */
|
||||
rb_define_module("Gem");
|
||||
- Init_prelude();
|
||||
rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
|
||||
#endif
|
||||
ruby_vim_init();
|
||||
--- 673,678 ----
|
||||
*** ../vim-7.3.066/src/version.c 2010-11-24 16:31:55.000000000 +0100
|
||||
--- src/version.c 2010-11-24 16:53:35.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 67,
|
||||
/**/
|
||||
|
||||
--
|
||||
CART DRIVER: Bring out your dead!
|
||||
LARGE MAN: Here's one!
|
||||
CART DRIVER: Ninepence.
|
||||
BODY: I'm not dead!
|
||||
"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 ///
|
50
7.3.068
50
7.3.068
@ -1,50 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.068
|
||||
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.068
|
||||
Problem: Using freed memory when doing ":saveas" and an autocommand sets
|
||||
'autochdir'. (Kevin Klement)
|
||||
Solution: Get the value of fname again after executing autocommands.
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
|
||||
*** ../vim-7.3.067/src/ex_cmds.c 2010-10-15 20:20:00.000000000 +0200
|
||||
--- src/ex_cmds.c 2010-11-24 17:53:07.000000000 +0100
|
||||
***************
|
||||
*** 2705,2710 ****
|
||||
--- 2705,2714 ----
|
||||
TRUE);
|
||||
do_modelines(0);
|
||||
}
|
||||
+
|
||||
+ /* Autocommands may have changed buffer names, esp. when
|
||||
+ * 'autochdir' is set. */
|
||||
+ fname = curbuf->b_sfname;
|
||||
#endif
|
||||
}
|
||||
|
||||
*** ../vim-7.3.067/src/version.c 2010-11-24 17:03:34.000000000 +0100
|
||||
--- src/version.c 2010-11-24 17:55:11.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 68,
|
||||
/**/
|
||||
|
||||
--
|
||||
I used to wonder about the meaning of life. But I looked it
|
||||
up in the dictionary under "L" and there it was - the meaning
|
||||
of life. It was less than I expected. - Dogbert
|
||||
|
||||
/// 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 ///
|
49
7.3.069
49
7.3.069
@ -1,49 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.069
|
||||
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.069
|
||||
Problem: GTK: pressing Enter in inputdialog() doesn't work like clicking OK
|
||||
as documented.
|
||||
Solution: call gtk_entry_set_activates_default(). (Britton Kerin)
|
||||
Files: src/gui_gtk.c
|
||||
|
||||
|
||||
*** ../vim-7.3.068/src/gui_gtk.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/gui_gtk.c 2010-11-24 18:44:21.000000000 +0100
|
||||
***************
|
||||
*** 1287,1292 ****
|
||||
--- 1287,1295 ----
|
||||
entry = gtk_entry_new();
|
||||
gtk_widget_show(entry);
|
||||
|
||||
+ /* Make Enter work like pressing OK. */
|
||||
+ gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
|
||||
+
|
||||
text = CONVERT_TO_UTF8(textfield);
|
||||
gtk_entry_set_text(GTK_ENTRY(entry), (const char *)text);
|
||||
CONVERT_TO_UTF8_FREE(text);
|
||||
*** ../vim-7.3.068/src/version.c 2010-11-24 17:59:27.000000000 +0100
|
||||
--- src/version.c 2010-11-24 18:46:39.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 69,
|
||||
/**/
|
||||
|
||||
--
|
||||
Why I like vim:
|
||||
> I like VIM because, when I ask a question in this newsgroup, I get a
|
||||
> one-line answer. With xemacs, I get a 1Kb lisp script with bugs in it ;-)
|
||||
|
||||
/// 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.070
53
7.3.070
@ -1,53 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.070
|
||||
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.070
|
||||
Problem: Can set environment variables in the sandbox, could be abused.
|
||||
Solution: Disallow it.
|
||||
Files: src/eval.c
|
||||
|
||||
|
||||
*** ../vim-7.3.069/src/eval.c 2010-11-10 20:31:24.000000000 +0100
|
||||
--- src/eval.c 2010-12-02 14:42:31.000000000 +0100
|
||||
***************
|
||||
*** 2326,2332 ****
|
||||
else if (endchars != NULL
|
||||
&& vim_strchr(endchars, *skipwhite(arg)) == NULL)
|
||||
EMSG(_(e_letunexp));
|
||||
! else
|
||||
{
|
||||
c1 = name[len];
|
||||
name[len] = NUL;
|
||||
--- 2326,2332 ----
|
||||
else if (endchars != NULL
|
||||
&& vim_strchr(endchars, *skipwhite(arg)) == NULL)
|
||||
EMSG(_(e_letunexp));
|
||||
! else if (!check_secure())
|
||||
{
|
||||
c1 = name[len];
|
||||
name[len] = NUL;
|
||||
*** ../vim-7.3.069/src/version.c 2010-11-24 18:48:08.000000000 +0100
|
||||
--- src/version.c 2010-12-02 14:46:44.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 70,
|
||||
/**/
|
||||
|
||||
--
|
||||
The only way the average employee can speak to an executive is by taking a
|
||||
second job as a golf caddie.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// 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 ///
|
65
7.3.071
65
7.3.071
@ -1,65 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.071
|
||||
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.071
|
||||
Problem: Editing a file in a window that's in diff mode resets 'diff'
|
||||
but not cursor binding.
|
||||
Solution: Reset cursor binding in two more places.
|
||||
Files: src/quickfix.c, src/option.c
|
||||
|
||||
|
||||
*** ../vim-7.3.070/src/quickfix.c 2010-11-24 16:31:55.000000000 +0100
|
||||
--- src/quickfix.c 2010-12-02 15:02:00.000000000 +0100
|
||||
***************
|
||||
*** 2359,2364 ****
|
||||
--- 2359,2365 ----
|
||||
set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
|
||||
OPT_LOCAL);
|
||||
set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL);
|
||||
+ RESET_BINDING(curwin);
|
||||
#ifdef FEAT_DIFF
|
||||
curwin->w_p_diff = FALSE;
|
||||
#endif
|
||||
*** ../vim-7.3.070/src/option.c 2010-10-13 14:05:29.000000000 +0200
|
||||
--- src/option.c 2010-12-02 15:12:02.000000000 +0100
|
||||
***************
|
||||
*** 9756,9761 ****
|
||||
--- 9759,9767 ----
|
||||
#ifdef FEAT_SCROLLBIND
|
||||
to->wo_scb = from->wo_scb;
|
||||
#endif
|
||||
+ #ifdef FEAT_CURSORBIND
|
||||
+ to->wo_crb = from->wo_crb;
|
||||
+ #endif
|
||||
#ifdef FEAT_SPELL
|
||||
to->wo_spell = from->wo_spell;
|
||||
#endif
|
||||
*** ../vim-7.3.070/src/version.c 2010-12-02 14:47:56.000000000 +0100
|
||||
--- src/version.c 2010-12-02 15:31:12.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 71,
|
||||
/**/
|
||||
|
||||
--
|
||||
A salesperson says: Translation:
|
||||
"backward compatible" Old technology
|
||||
"Premium" Overpriced
|
||||
"Can't keep it on the shelf" Unavailable
|
||||
"Stands alone" Piece of shit
|
||||
"Proprietary" Incompatible
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// 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.072
295
7.3.072
@ -1,295 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.072
|
||||
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.072
|
||||
Problem: Can't complete file names while ignoring case.
|
||||
Solution: Add 'wildignorecase'.
|
||||
Files: src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/option.c,
|
||||
src/option.h, src/vim.h, runtime/doc/options.txt
|
||||
|
||||
|
||||
*** ../vim-7.3.071/src/ex_docmd.c 2010-11-24 15:50:54.000000000 +0100
|
||||
--- src/ex_docmd.c 2010-12-02 15:58:10.000000000 +0100
|
||||
***************
|
||||
*** 4524,4535 ****
|
||||
else /* n == 2 */
|
||||
{
|
||||
expand_T xpc;
|
||||
|
||||
ExpandInit(&xpc);
|
||||
xpc.xp_context = EXPAND_FILES;
|
||||
p = ExpandOne(&xpc, eap->arg, NULL,
|
||||
! WILD_LIST_NOTFOUND|WILD_ADD_SLASH,
|
||||
! WILD_EXPAND_FREE);
|
||||
if (p == NULL)
|
||||
return FAIL;
|
||||
}
|
||||
--- 4524,4537 ----
|
||||
else /* n == 2 */
|
||||
{
|
||||
expand_T xpc;
|
||||
+ int options = WILD_LIST_NOTFOUND|WILD_ADD_SLASH;
|
||||
|
||||
ExpandInit(&xpc);
|
||||
xpc.xp_context = EXPAND_FILES;
|
||||
+ if (p_wic)
|
||||
+ options += WILD_ICASE;
|
||||
p = ExpandOne(&xpc, eap->arg, NULL,
|
||||
! options, WILD_EXPAND_FREE);
|
||||
if (p == NULL)
|
||||
return FAIL;
|
||||
}
|
||||
*** ../vim-7.3.071/src/ex_getln.c 2010-11-16 14:05:48.000000000 +0100
|
||||
--- src/ex_getln.c 2010-11-28 15:07:49.000000000 +0100
|
||||
***************
|
||||
*** 3339,3348 ****
|
||||
p2 = NULL;
|
||||
else
|
||||
{
|
||||
p2 = ExpandOne(xp, p1,
|
||||
vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len),
|
||||
! WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE
|
||||
! |options, type);
|
||||
vim_free(p1);
|
||||
/* longest match: make sure it is not shorter, happens with :help */
|
||||
if (p2 != NULL && type == WILD_LONGEST)
|
||||
--- 3339,3352 ----
|
||||
p2 = NULL;
|
||||
else
|
||||
{
|
||||
+ int use_options = options |
|
||||
+ WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE;
|
||||
+
|
||||
+ if (p_wic)
|
||||
+ use_options += WILD_ICASE;
|
||||
p2 = ExpandOne(xp, p1,
|
||||
vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len),
|
||||
! use_options, type);
|
||||
vim_free(p1);
|
||||
/* longest match: make sure it is not shorter, happens with :help */
|
||||
if (p2 != NULL && type == WILD_LONGEST)
|
||||
***************
|
||||
*** 3428,3433 ****
|
||||
--- 3432,3438 ----
|
||||
* options = WILD_KEEP_ALL: don't remove 'wildignore' entries
|
||||
* options = WILD_SILENT: don't print warning messages
|
||||
* options = WILD_ESCAPE: put backslash before special chars
|
||||
+ * options = WILD_ICASE: ignore case for files
|
||||
*
|
||||
* The variables xp->xp_context and xp->xp_backslash must have been set!
|
||||
*/
|
||||
***************
|
||||
*** 4361,4366 ****
|
||||
--- 4366,4372 ----
|
||||
char_u ***matches; /* return: array of pointers to matches */
|
||||
{
|
||||
char_u *file_str = NULL;
|
||||
+ int options = WILD_ADD_SLASH|WILD_SILENT;
|
||||
|
||||
if (xp->xp_context == EXPAND_UNSUCCESSFUL)
|
||||
{
|
||||
***************
|
||||
*** 4379,4387 ****
|
||||
if (file_str == NULL)
|
||||
return EXPAND_UNSUCCESSFUL;
|
||||
|
||||
/* find all files that match the description */
|
||||
! if (ExpandFromContext(xp, file_str, matchcount, matches,
|
||||
! WILD_ADD_SLASH|WILD_SILENT) == FAIL)
|
||||
{
|
||||
*matchcount = 0;
|
||||
*matches = NULL;
|
||||
--- 4385,4395 ----
|
||||
if (file_str == NULL)
|
||||
return EXPAND_UNSUCCESSFUL;
|
||||
|
||||
+ if (p_wic)
|
||||
+ options += WILD_ICASE;
|
||||
+
|
||||
/* find all files that match the description */
|
||||
! if (ExpandFromContext(xp, file_str, matchcount, matches, options) == FAIL)
|
||||
{
|
||||
*matchcount = 0;
|
||||
*matches = NULL;
|
||||
***************
|
||||
*** 4433,4439 ****
|
||||
char_u *pat;
|
||||
int *num_file;
|
||||
char_u ***file;
|
||||
! int options;
|
||||
{
|
||||
#ifdef FEAT_CMDL_COMPL
|
||||
regmatch_T regmatch;
|
||||
--- 4441,4447 ----
|
||||
char_u *pat;
|
||||
int *num_file;
|
||||
char_u ***file;
|
||||
! int options; /* EW_ flags */
|
||||
{
|
||||
#ifdef FEAT_CMDL_COMPL
|
||||
regmatch_T regmatch;
|
||||
***************
|
||||
*** 4487,4492 ****
|
||||
--- 4495,4503 ----
|
||||
flags |= (EW_FILE | EW_PATH);
|
||||
else
|
||||
flags = (flags | EW_DIR) & ~EW_FILE;
|
||||
+ if (options & WILD_ICASE)
|
||||
+ flags |= EW_ICASE;
|
||||
+
|
||||
/* Expand wildcards, supporting %:h and the like. */
|
||||
ret = expand_wildcards_eval(&pat, num_file, file, flags);
|
||||
if (free_pat)
|
||||
*** ../vim-7.3.071/src/misc1.c 2010-08-16 21:46:12.000000000 +0200
|
||||
--- src/misc1.c 2010-11-28 15:02:57.000000000 +0100
|
||||
***************
|
||||
*** 9161,9167 ****
|
||||
#ifdef CASE_INSENSITIVE_FILENAME
|
||||
regmatch.rm_ic = TRUE; /* Behave like Terminal.app */
|
||||
#else
|
||||
! regmatch.rm_ic = FALSE; /* Don't ever ignore case */
|
||||
#endif
|
||||
regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
|
||||
vim_free(pat);
|
||||
--- 9161,9170 ----
|
||||
#ifdef CASE_INSENSITIVE_FILENAME
|
||||
regmatch.rm_ic = TRUE; /* Behave like Terminal.app */
|
||||
#else
|
||||
! if (flags & EW_ICASE)
|
||||
! regmatch.rm_ic = TRUE; /* 'wildignorecase' set */
|
||||
! else
|
||||
! regmatch.rm_ic = FALSE; /* Don't ignore case */
|
||||
#endif
|
||||
regmatch.regprog = vim_regcomp(pat, RE_MAGIC);
|
||||
vim_free(pat);
|
||||
***************
|
||||
*** 9643,9649 ****
|
||||
if (paths == NULL)
|
||||
return 0;
|
||||
|
||||
! files = globpath(paths, pattern, 0);
|
||||
vim_free(paths);
|
||||
if (files == NULL)
|
||||
return 0;
|
||||
--- 9646,9652 ----
|
||||
if (paths == NULL)
|
||||
return 0;
|
||||
|
||||
! files = globpath(paths, pattern, (flags & EW_ICASE) ? WILD_ICASE : 0);
|
||||
vim_free(paths);
|
||||
if (files == NULL)
|
||||
return 0;
|
||||
*** ../vim-7.3.071/src/option.c 2010-12-02 15:33:10.000000000 +0100
|
||||
--- src/option.c 2010-12-02 15:12:02.000000000 +0100
|
||||
***************
|
||||
*** 2740,2746 ****
|
||||
(char_u *)&p_wc, PV_NONE,
|
||||
{(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
|
||||
SCRIPTID_INIT},
|
||||
! {"wildcharm", "wcm", P_NUM|P_VI_DEF,
|
||||
(char_u *)&p_wcm, PV_NONE,
|
||||
{(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
|
||||
--- 2740,2746 ----
|
||||
(char_u *)&p_wc, PV_NONE,
|
||||
{(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}
|
||||
SCRIPTID_INIT},
|
||||
! {"wildcharm", "wcm", P_NUM|P_VI_DEF,
|
||||
(char_u *)&p_wcm, PV_NONE,
|
||||
{(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
|
||||
***************
|
||||
*** 2750,2755 ****
|
||||
--- 2750,2758 ----
|
||||
(char_u *)NULL, PV_NONE,
|
||||
#endif
|
||||
{(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
|
||||
+ {"wildignorecase", "wic", P_BOOL|P_VI_DEF,
|
||||
+ (char_u *)&p_wic, PV_NONE,
|
||||
+ {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"wildmenu", "wmnu", P_BOOL|P_VI_DEF,
|
||||
#ifdef FEAT_WILDMENU
|
||||
(char_u *)&p_wmnu, PV_NONE,
|
||||
*** ../vim-7.3.071/src/option.h 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/option.h 2010-11-28 14:29:18.000000000 +0100
|
||||
***************
|
||||
*** 872,877 ****
|
||||
--- 872,878 ----
|
||||
EXTERN char_u *p_ww; /* 'whichwrap' */
|
||||
EXTERN long p_wc; /* 'wildchar' */
|
||||
EXTERN long p_wcm; /* 'wildcharm' */
|
||||
+ EXTERN long p_wic; /* 'wildignorecase' */
|
||||
EXTERN char_u *p_wim; /* 'wildmode' */
|
||||
#ifdef FEAT_WILDMENU
|
||||
EXTERN int p_wmnu; /* 'wildmenu' */
|
||||
*** ../vim-7.3.071/src/vim.h 2010-10-20 19:17:43.000000000 +0200
|
||||
--- src/vim.h 2010-11-28 14:49:02.000000000 +0100
|
||||
***************
|
||||
*** 798,803 ****
|
||||
--- 798,804 ----
|
||||
#define WILD_KEEP_ALL 32
|
||||
#define WILD_SILENT 64
|
||||
#define WILD_ESCAPE 128
|
||||
+ #define WILD_ICASE 256
|
||||
|
||||
/* Flags for expand_wildcards() */
|
||||
#define EW_DIR 0x01 /* include directory names */
|
||||
***************
|
||||
*** 808,813 ****
|
||||
--- 809,815 ----
|
||||
#define EW_SILENT 0x20 /* don't print "1 returned" from shell */
|
||||
#define EW_EXEC 0x40 /* executable files */
|
||||
#define EW_PATH 0x80 /* search in 'path' too */
|
||||
+ #define EW_ICASE 0x100 /* ignore case */
|
||||
/* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND
|
||||
* is used when executing commands and EW_SILENT for interactive expanding. */
|
||||
|
||||
*** ../vim-7.3.071/runtime/doc/options.txt 2010-10-20 17:44:01.000000000 +0200
|
||||
--- runtime/doc/options.txt 2010-12-02 11:15:01.000000000 +0100
|
||||
***************
|
||||
*** 7748,7753 ****
|
||||
--- 7756,7772 ----
|
||||
a pattern from the list. This avoids problems when a future version
|
||||
uses another default.
|
||||
|
||||
+
|
||||
+ *'wildignorecase* *'wic'* *'nowildignorecase* *'nowic'*
|
||||
+ 'wildignorecase' 'wic' boolean (default off)
|
||||
+ global
|
||||
+ {not in Vi}
|
||||
+ When set case is ignored when completing file names and directories.
|
||||
+ Has no effect on systems where file name case is generally ignored.
|
||||
+ Does not apply when the shell is used to expand wildcards, which
|
||||
+ happens when there are special characters.
|
||||
+
|
||||
+
|
||||
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
|
||||
'wildmenu' 'wmnu' boolean (default off)
|
||||
global
|
||||
*** ../vim-7.3.071/src/version.c 2010-12-02 15:33:10.000000000 +0100
|
||||
--- src/version.c 2010-12-02 15:57:14.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 72,
|
||||
/**/
|
||||
|
||||
--
|
||||
I recommend ordering large cargo containers of paper towels to make up
|
||||
whatever budget underruns you have. Paper products are always useful and they
|
||||
have the advantage of being completely flushable if you need to make room in
|
||||
the storage area later.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// 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 ///
|
92
7.3.073
92
7.3.073
@ -1,92 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.073
|
||||
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.073
|
||||
Problem: Double free memory when netbeans command follows DETACH.
|
||||
Solution: Only free the node when owned. (Xavier de Gaye)
|
||||
Files: src/netbeans.c
|
||||
|
||||
|
||||
*** ../vim-7.3.072/src/netbeans.c 2010-11-16 15:48:57.000000000 +0100
|
||||
--- src/netbeans.c 2010-12-02 16:59:11.000000000 +0100
|
||||
***************
|
||||
*** 643,648 ****
|
||||
--- 643,649 ----
|
||||
{
|
||||
char_u *p;
|
||||
queue_T *node;
|
||||
+ int own_node;
|
||||
|
||||
while (head.next != NULL && head.next != &head)
|
||||
{
|
||||
***************
|
||||
*** 681,700 ****
|
||||
*p++ = NUL;
|
||||
if (*p == NUL)
|
||||
{
|
||||
head.next = node->next;
|
||||
node->next->prev = node->prev;
|
||||
}
|
||||
|
||||
/* now, parse and execute the commands */
|
||||
nb_parse_cmd(node->buffer);
|
||||
|
||||
! if (*p == NUL)
|
||||
{
|
||||
/* buffer finished, dispose of the node and buffer */
|
||||
vim_free(node->buffer);
|
||||
vim_free(node);
|
||||
}
|
||||
! else
|
||||
{
|
||||
/* more follows, move to the start */
|
||||
STRMOVE(node->buffer, p);
|
||||
--- 682,706 ----
|
||||
*p++ = NUL;
|
||||
if (*p == NUL)
|
||||
{
|
||||
+ own_node = TRUE;
|
||||
head.next = node->next;
|
||||
node->next->prev = node->prev;
|
||||
}
|
||||
+ else
|
||||
+ own_node = FALSE;
|
||||
|
||||
/* now, parse and execute the commands */
|
||||
nb_parse_cmd(node->buffer);
|
||||
|
||||
! if (own_node)
|
||||
{
|
||||
/* buffer finished, dispose of the node and buffer */
|
||||
vim_free(node->buffer);
|
||||
vim_free(node);
|
||||
}
|
||||
! /* Check that "head" wasn't changed under our fingers, e.g. when a
|
||||
! * DETACH command was handled. */
|
||||
! else if (head.next == node)
|
||||
{
|
||||
/* more follows, move to the start */
|
||||
STRMOVE(node->buffer, p);
|
||||
*** ../vim-7.3.072/src/version.c 2010-12-02 16:01:23.000000000 +0100
|
||||
--- src/version.c 2010-12-02 17:00:29.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 73,
|
||||
/**/
|
||||
|
||||
--
|
||||
If the Universe is constantly expanding, why can't I ever find a parking space?
|
||||
|
||||
/// 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 ///
|
235
7.3.074
235
7.3.074
@ -1,235 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.074
|
||||
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.074
|
||||
Problem: Can't use the "+ register like "* for yank and put.
|
||||
Solution: Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov)
|
||||
Files: runtime/doc/options.txt, src/eval.c, src/globals.h, src/ops.c,
|
||||
src/option.c
|
||||
|
||||
|
||||
*** ../vim-7.3.073/runtime/doc/options.txt 2010-12-02 16:01:23.000000000 +0100
|
||||
--- runtime/doc/options.txt 2010-12-02 21:22:48.000000000 +0100
|
||||
***************
|
||||
*** 1434,1439 ****
|
||||
--- 1434,1448 ----
|
||||
explicitly accessed using the "* notation. Also see
|
||||
|gui-clipboard|.
|
||||
|
||||
+ unnamedplus A variant of "unnamed" flag which uses the clipboard
|
||||
+ register '+' (|quoteplus|) instead of register '*' for
|
||||
+ all operations except yank. Yank shall copy the text
|
||||
+ into register '+' and also into '*' when "unnamed" is
|
||||
+ included.
|
||||
+ Only available with the |+x11| feature.
|
||||
+ Availability can be checked with: >
|
||||
+ if has('unnamedplus')
|
||||
+ <
|
||||
autoselect Works like the 'a' flag in 'guioptions': If present,
|
||||
then whenever Visual mode is started, or the Visual
|
||||
area extended, Vim tries to become the owner of the
|
||||
*** ../vim-7.3.073/src/eval.c 2010-12-02 14:47:56.000000000 +0100
|
||||
--- src/eval.c 2010-12-02 17:30:23.000000000 +0100
|
||||
***************
|
||||
*** 12135,12140 ****
|
||||
--- 12139,12147 ----
|
||||
#ifdef FEAT_TOOLBAR
|
||||
"toolbar",
|
||||
#endif
|
||||
+ #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
+ "unnamedplus",
|
||||
+ #endif
|
||||
#ifdef FEAT_USR_CMDS
|
||||
"user-commands", /* was accidentally included in 5.4 */
|
||||
"user_commands",
|
||||
*** ../vim-7.3.073/src/globals.h 2010-11-24 14:28:53.000000000 +0100
|
||||
--- src/globals.h 2010-12-02 20:07:42.000000000 +0100
|
||||
***************
|
||||
*** 512,518 ****
|
||||
# define clip_plus clip_star /* there is only one clipboard */
|
||||
# define ONE_CLIPBOARD
|
||||
# endif
|
||||
! EXTERN int clip_unnamed INIT(= FALSE);
|
||||
EXTERN int clip_autoselect INIT(= FALSE);
|
||||
EXTERN int clip_autoselectml INIT(= FALSE);
|
||||
EXTERN int clip_html INIT(= FALSE);
|
||||
--- 512,522 ----
|
||||
# define clip_plus clip_star /* there is only one clipboard */
|
||||
# define ONE_CLIPBOARD
|
||||
# endif
|
||||
!
|
||||
! #define CLIP_UNNAMED 1
|
||||
! #define CLIP_UNNAMED_PLUS 2
|
||||
! EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
|
||||
!
|
||||
EXTERN int clip_autoselect INIT(= FALSE);
|
||||
EXTERN int clip_autoselectml INIT(= FALSE);
|
||||
EXTERN int clip_html INIT(= FALSE);
|
||||
*** ../vim-7.3.073/src/ops.c 2010-11-24 14:28:53.000000000 +0100
|
||||
--- src/ops.c 2010-12-02 21:33:04.000000000 +0100
|
||||
***************
|
||||
*** 1584,1592 ****
|
||||
adjust_clip_reg(rp)
|
||||
int *rp;
|
||||
{
|
||||
! /* If no reg. specified, and "unnamed" is in 'clipboard', use '*' reg. */
|
||||
! if (*rp == 0 && clip_unnamed)
|
||||
! *rp = '*';
|
||||
if (!clip_star.available && *rp == '*')
|
||||
*rp = 0;
|
||||
if (!clip_plus.available && *rp == '+')
|
||||
--- 1584,1594 ----
|
||||
adjust_clip_reg(rp)
|
||||
int *rp;
|
||||
{
|
||||
! /* If no reg. specified, and "unnamed" or "unnamedplus" is in 'clipboard',
|
||||
! * use '*' or '+' reg, respectively. "unnamedplus" prevails. */
|
||||
! if (*rp == 0 && clip_unnamed != 0)
|
||||
! *rp = ((clip_unnamed & CLIP_UNNAMED_PLUS) && clip_plus.available)
|
||||
! ? '+' : '*';
|
||||
if (!clip_star.available && *rp == '*')
|
||||
*rp = 0;
|
||||
if (!clip_plus.available && *rp == '+')
|
||||
***************
|
||||
*** 2842,2847 ****
|
||||
--- 2844,2850 ----
|
||||
char_u *p;
|
||||
char_u *pnew;
|
||||
struct block_def bd;
|
||||
+ int did_star = FALSE;
|
||||
|
||||
/* check for read-only register */
|
||||
if (oap->regname != 0 && !valid_yank_reg(oap->regname, TRUE))
|
||||
***************
|
||||
*** 3115,3121 ****
|
||||
*/
|
||||
if (clip_star.available
|
||||
&& (curr == &(y_regs[STAR_REGISTER])
|
||||
! || (!deleting && oap->regname == 0 && clip_unnamed)))
|
||||
{
|
||||
if (curr != &(y_regs[STAR_REGISTER]))
|
||||
/* Copy the text from register 0 to the clipboard register. */
|
||||
--- 3118,3125 ----
|
||||
*/
|
||||
if (clip_star.available
|
||||
&& (curr == &(y_regs[STAR_REGISTER])
|
||||
! || (!deleting && oap->regname == 0
|
||||
! && (clip_unnamed & CLIP_UNNAMED))))
|
||||
{
|
||||
if (curr != &(y_regs[STAR_REGISTER]))
|
||||
/* Copy the text from register 0 to the clipboard register. */
|
||||
***************
|
||||
*** 3123,3128 ****
|
||||
--- 3127,3133 ----
|
||||
|
||||
clip_own_selection(&clip_star);
|
||||
clip_gen_set_selection(&clip_star);
|
||||
+ did_star = TRUE;
|
||||
}
|
||||
|
||||
# ifdef FEAT_X11
|
||||
***************
|
||||
*** 3130,3141 ****
|
||||
* If we were yanking to the '+' register, send result to selection.
|
||||
* Also copy to the '*' register, in case auto-select is off.
|
||||
*/
|
||||
! else if (clip_plus.available && curr == &(y_regs[PLUS_REGISTER]))
|
||||
{
|
||||
/* No need to copy to * register upon 'unnamed' now - see below */
|
||||
clip_own_selection(&clip_plus);
|
||||
clip_gen_set_selection(&clip_plus);
|
||||
! if (!clip_isautosel())
|
||||
{
|
||||
copy_yank_reg(&(y_regs[STAR_REGISTER]));
|
||||
clip_own_selection(&clip_star);
|
||||
--- 3135,3153 ----
|
||||
* If we were yanking to the '+' register, send result to selection.
|
||||
* Also copy to the '*' register, in case auto-select is off.
|
||||
*/
|
||||
! if (clip_plus.available
|
||||
! && (curr == &(y_regs[PLUS_REGISTER])
|
||||
! || (!deleting && oap->regname == 0
|
||||
! && (clip_unnamed & CLIP_UNNAMED_PLUS))))
|
||||
{
|
||||
+ if (curr != &(y_regs[PLUS_REGISTER]))
|
||||
+ /* Copy the text from register 0 to the clipboard register. */
|
||||
+ copy_yank_reg(&(y_regs[PLUS_REGISTER]));
|
||||
+
|
||||
/* No need to copy to * register upon 'unnamed' now - see below */
|
||||
clip_own_selection(&clip_plus);
|
||||
clip_gen_set_selection(&clip_plus);
|
||||
! if (!clip_isautosel() && !did_star)
|
||||
{
|
||||
copy_yank_reg(&(y_regs[STAR_REGISTER]));
|
||||
clip_own_selection(&clip_star);
|
||||
*** ../vim-7.3.073/src/option.c 2010-12-02 16:01:23.000000000 +0100
|
||||
--- src/option.c 2010-12-02 21:41:32.000000000 +0100
|
||||
***************
|
||||
*** 7307,7313 ****
|
||||
static char_u *
|
||||
check_clipboard_option()
|
||||
{
|
||||
! int new_unnamed = FALSE;
|
||||
int new_autoselect = FALSE;
|
||||
int new_autoselectml = FALSE;
|
||||
int new_html = FALSE;
|
||||
--- 7307,7313 ----
|
||||
static char_u *
|
||||
check_clipboard_option()
|
||||
{
|
||||
! int new_unnamed = 0;
|
||||
int new_autoselect = FALSE;
|
||||
int new_autoselectml = FALSE;
|
||||
int new_html = FALSE;
|
||||
***************
|
||||
*** 7319,7327 ****
|
||||
{
|
||||
if (STRNCMP(p, "unnamed", 7) == 0 && (p[7] == ',' || p[7] == NUL))
|
||||
{
|
||||
! new_unnamed = TRUE;
|
||||
p += 7;
|
||||
}
|
||||
else if (STRNCMP(p, "autoselect", 10) == 0
|
||||
&& (p[10] == ',' || p[10] == NUL))
|
||||
{
|
||||
--- 7319,7333 ----
|
||||
{
|
||||
if (STRNCMP(p, "unnamed", 7) == 0 && (p[7] == ',' || p[7] == NUL))
|
||||
{
|
||||
! new_unnamed |= CLIP_UNNAMED;
|
||||
p += 7;
|
||||
}
|
||||
+ else if (STRNCMP(p, "unnamedplus", 11) == 0
|
||||
+ && (p[11] == ',' || p[11] == NUL))
|
||||
+ {
|
||||
+ new_unnamed |= CLIP_UNNAMED_PLUS;
|
||||
+ p += 11;
|
||||
+ }
|
||||
else if (STRNCMP(p, "autoselect", 10) == 0
|
||||
&& (p[10] == ',' || p[10] == NUL))
|
||||
{
|
||||
*** ../vim-7.3.073/src/version.c 2010-12-02 17:09:48.000000000 +0100
|
||||
--- src/version.c 2010-12-02 21:34:40.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 74,
|
||||
/**/
|
||||
|
||||
--
|
||||
The budget process was invented by an alien race of sadistic beings who
|
||||
resemble large cats.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// 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 ///
|
132
7.3.075
132
7.3.075
@ -1,132 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.075
|
||||
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.075 (after 7.3.072)
|
||||
Problem: Missing part of 'wildignorecase'
|
||||
Solution: Also adjust expand()
|
||||
Files: src/eval.c
|
||||
|
||||
|
||||
*** ../vim-7.3.074/src/eval.c 2010-12-02 21:43:10.000000000 +0100
|
||||
--- src/eval.c 2010-12-02 17:30:23.000000000 +0100
|
||||
***************
|
||||
*** 9876,9882 ****
|
||||
char_u *s;
|
||||
int len;
|
||||
char_u *errormsg;
|
||||
! int flags = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
|
||||
expand_T xpc;
|
||||
int error = FALSE;
|
||||
|
||||
--- 9876,9882 ----
|
||||
char_u *s;
|
||||
int len;
|
||||
char_u *errormsg;
|
||||
! int options = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
|
||||
expand_T xpc;
|
||||
int error = FALSE;
|
||||
|
||||
***************
|
||||
*** 9894,9905 ****
|
||||
* for 'wildignore' and don't put matches for 'suffixes' at the end. */
|
||||
if (argvars[1].v_type != VAR_UNKNOWN
|
||||
&& get_tv_number_chk(&argvars[1], &error))
|
||||
! flags |= WILD_KEEP_ALL;
|
||||
if (!error)
|
||||
{
|
||||
ExpandInit(&xpc);
|
||||
xpc.xp_context = EXPAND_FILES;
|
||||
! rettv->vval.v_string = ExpandOne(&xpc, s, NULL, flags, WILD_ALL);
|
||||
}
|
||||
else
|
||||
rettv->vval.v_string = NULL;
|
||||
--- 9894,9907 ----
|
||||
* for 'wildignore' and don't put matches for 'suffixes' at the end. */
|
||||
if (argvars[1].v_type != VAR_UNKNOWN
|
||||
&& get_tv_number_chk(&argvars[1], &error))
|
||||
! options |= WILD_KEEP_ALL;
|
||||
if (!error)
|
||||
{
|
||||
ExpandInit(&xpc);
|
||||
xpc.xp_context = EXPAND_FILES;
|
||||
! if (p_wic)
|
||||
! options += WILD_ICASE;
|
||||
! rettv->vval.v_string = ExpandOne(&xpc, s, NULL, options, WILD_ALL);
|
||||
}
|
||||
else
|
||||
rettv->vval.v_string = NULL;
|
||||
***************
|
||||
*** 11672,11678 ****
|
||||
typval_T *argvars;
|
||||
typval_T *rettv;
|
||||
{
|
||||
! int flags = WILD_SILENT|WILD_USE_NL;
|
||||
expand_T xpc;
|
||||
int error = FALSE;
|
||||
|
||||
--- 11674,11680 ----
|
||||
typval_T *argvars;
|
||||
typval_T *rettv;
|
||||
{
|
||||
! int options = WILD_SILENT|WILD_USE_NL;
|
||||
expand_T xpc;
|
||||
int error = FALSE;
|
||||
|
||||
***************
|
||||
*** 11680,11693 ****
|
||||
* for 'wildignore' and don't put matches for 'suffixes' at the end. */
|
||||
if (argvars[1].v_type != VAR_UNKNOWN
|
||||
&& get_tv_number_chk(&argvars[1], &error))
|
||||
! flags |= WILD_KEEP_ALL;
|
||||
rettv->v_type = VAR_STRING;
|
||||
if (!error)
|
||||
{
|
||||
ExpandInit(&xpc);
|
||||
xpc.xp_context = EXPAND_FILES;
|
||||
rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
|
||||
! NULL, flags, WILD_ALL);
|
||||
}
|
||||
else
|
||||
rettv->vval.v_string = NULL;
|
||||
--- 11682,11697 ----
|
||||
* for 'wildignore' and don't put matches for 'suffixes' at the end. */
|
||||
if (argvars[1].v_type != VAR_UNKNOWN
|
||||
&& get_tv_number_chk(&argvars[1], &error))
|
||||
! options |= WILD_KEEP_ALL;
|
||||
rettv->v_type = VAR_STRING;
|
||||
if (!error)
|
||||
{
|
||||
ExpandInit(&xpc);
|
||||
xpc.xp_context = EXPAND_FILES;
|
||||
+ if (p_wic)
|
||||
+ options += WILD_ICASE;
|
||||
rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
|
||||
! NULL, options, WILD_ALL);
|
||||
}
|
||||
else
|
||||
rettv->vval.v_string = NULL;
|
||||
*** ../vim-7.3.074/src/version.c 2010-12-02 21:43:10.000000000 +0100
|
||||
--- src/version.c 2010-12-02 21:43:59.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 75,
|
||||
/**/
|
||||
|
||||
--
|
||||
Engineers will go without food and hygiene for days to solve a problem.
|
||||
(Other times just because they forgot.)
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// 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 ///
|
203
7.3.076
203
7.3.076
@ -1,203 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.076
|
||||
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.076
|
||||
Problem: Clang warnings for dead code.
|
||||
Solution: Remove it. (Carlo Teubner)
|
||||
Files: src/gui_gtk.c, src/if_ruby.c, src/misc2.c, src/netbeans.c,
|
||||
src/spell.c
|
||||
|
||||
|
||||
*** ../vim-7.3.075/src/gui_gtk.c 2010-11-24 18:48:08.000000000 +0100
|
||||
--- src/gui_gtk.c 2010-12-08 12:25:17.000000000 +0100
|
||||
***************
|
||||
*** 1798,1804 ****
|
||||
char_u *repl_text;
|
||||
gboolean direction_down;
|
||||
SharedFindReplace *sfr;
|
||||
- int rc;
|
||||
|
||||
flags = (int)(long)data; /* avoid a lint warning here */
|
||||
|
||||
--- 1798,1803 ----
|
||||
***************
|
||||
*** 1824,1830 ****
|
||||
|
||||
repl_text = CONVERT_FROM_UTF8(repl_text);
|
||||
find_text = CONVERT_FROM_UTF8(find_text);
|
||||
! rc = gui_do_findrepl(flags, find_text, repl_text, direction_down);
|
||||
CONVERT_FROM_UTF8_FREE(repl_text);
|
||||
CONVERT_FROM_UTF8_FREE(find_text);
|
||||
}
|
||||
--- 1823,1829 ----
|
||||
|
||||
repl_text = CONVERT_FROM_UTF8(repl_text);
|
||||
find_text = CONVERT_FROM_UTF8(find_text);
|
||||
! gui_do_findrepl(flags, find_text, repl_text, direction_down);
|
||||
CONVERT_FROM_UTF8_FREE(repl_text);
|
||||
CONVERT_FROM_UTF8_FREE(find_text);
|
||||
}
|
||||
*** ../vim-7.3.075/src/if_ruby.c 2010-11-24 17:03:34.000000000 +0100
|
||||
--- src/if_ruby.c 2010-12-08 12:30:38.000000000 +0100
|
||||
***************
|
||||
*** 586,594 ****
|
||||
if (u_save(eap->line1 - 1, eap->line2 + 1) != OK)
|
||||
return;
|
||||
for (i = eap->line1; i <= eap->line2; i++) {
|
||||
! VALUE line, oldline;
|
||||
|
||||
! line = oldline = vim_str2rb_enc_str((char *)ml_get(i));
|
||||
rb_lastline_set(line);
|
||||
eval_enc_string_protect((char *) eap->arg, &state);
|
||||
if (state) {
|
||||
--- 586,594 ----
|
||||
if (u_save(eap->line1 - 1, eap->line2 + 1) != OK)
|
||||
return;
|
||||
for (i = eap->line1; i <= eap->line2; i++) {
|
||||
! VALUE line;
|
||||
|
||||
! line = vim_str2rb_enc_str((char *)ml_get(i));
|
||||
rb_lastline_set(line);
|
||||
eval_enc_string_protect((char *) eap->arg, &state);
|
||||
if (state) {
|
||||
*** ../vim-7.3.075/src/misc2.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/misc2.c 2010-12-08 12:42:44.000000000 +0100
|
||||
***************
|
||||
*** 200,206 ****
|
||||
}
|
||||
#endif
|
||||
|
||||
- idx = -1;
|
||||
ptr = line;
|
||||
while (col <= wcol && *ptr != NUL)
|
||||
{
|
||||
--- 200,205 ----
|
||||
***************
|
||||
*** 1223,1229 ****
|
||||
#endif
|
||||
|
||||
/*
|
||||
! * copy a string into newly allocated memory
|
||||
*/
|
||||
char_u *
|
||||
vim_strsave(string)
|
||||
--- 1222,1228 ----
|
||||
#endif
|
||||
|
||||
/*
|
||||
! * Copy "string" into newly allocated memory.
|
||||
*/
|
||||
char_u *
|
||||
vim_strsave(string)
|
||||
***************
|
||||
*** 1239,1244 ****
|
||||
--- 1238,1249 ----
|
||||
return p;
|
||||
}
|
||||
|
||||
+ /*
|
||||
+ * Copy up to "len" bytes of "string" into newly allocated memory and
|
||||
+ * terminate with a NUL.
|
||||
+ * The allocated memory always has size "len + 1", also when "string" is
|
||||
+ * shorter.
|
||||
+ */
|
||||
char_u *
|
||||
vim_strnsave(string, len)
|
||||
char_u *string;
|
||||
*** ../vim-7.3.075/src/netbeans.c 2010-12-02 17:09:48.000000000 +0100
|
||||
--- src/netbeans.c 2010-12-08 12:43:57.000000000 +0100
|
||||
***************
|
||||
*** 960,966 ****
|
||||
keyQ_T *key_node = keyHead.next;
|
||||
queue_T *cmd_node = head.next;
|
||||
nbbuf_T buf;
|
||||
- buf_T *bufp;
|
||||
int i;
|
||||
|
||||
/* free the netbeans buffer list */
|
||||
--- 960,965 ----
|
||||
***************
|
||||
*** 969,975 ****
|
||||
buf = buf_list[i];
|
||||
vim_free(buf.displayname);
|
||||
vim_free(buf.signmap);
|
||||
! if ((bufp=buf.bufp) != NULL)
|
||||
{
|
||||
buf.bufp->b_netbeans_file = FALSE;
|
||||
buf.bufp->b_was_netbeans_file = FALSE;
|
||||
--- 968,974 ----
|
||||
buf = buf_list[i];
|
||||
vim_free(buf.displayname);
|
||||
vim_free(buf.signmap);
|
||||
! if (buf.bufp != NULL)
|
||||
{
|
||||
buf.bufp->b_netbeans_file = FALSE;
|
||||
buf.bufp->b_was_netbeans_file = FALSE;
|
||||
*** ../vim-7.3.075/src/spell.c 2010-09-29 18:32:47.000000000 +0200
|
||||
--- src/spell.c 2010-12-08 12:47:13.000000000 +0100
|
||||
***************
|
||||
*** 9839,9848 ****
|
||||
{
|
||||
/* be quick for ASCII */
|
||||
if (wp->w_s->b_spell_ismw[*p])
|
||||
- {
|
||||
s = p + 1; /* skip a mid-word character */
|
||||
- l = MB_BYTE2LEN(*s);
|
||||
- }
|
||||
}
|
||||
else
|
||||
{
|
||||
--- 9839,9845 ----
|
||||
***************
|
||||
*** 9850,9859 ****
|
||||
if (c < 256 ? wp->w_s->b_spell_ismw[c]
|
||||
: (wp->w_s->b_spell_ismw_mb != NULL
|
||||
&& vim_strchr(wp->w_s->b_spell_ismw_mb, c) != NULL))
|
||||
- {
|
||||
s = p + l;
|
||||
- l = MB_BYTE2LEN(*s);
|
||||
- }
|
||||
}
|
||||
|
||||
c = mb_ptr2char(s);
|
||||
--- 9847,9853 ----
|
||||
***************
|
||||
*** 13813,13823 ****
|
||||
su->su_sfmaxscore = cleanup_suggestions(gap,
|
||||
su->su_sfmaxscore, SUG_CLEAN_COUNT(su));
|
||||
else
|
||||
- {
|
||||
- i = su->su_maxscore;
|
||||
su->su_maxscore = cleanup_suggestions(gap,
|
||||
su->su_maxscore, SUG_CLEAN_COUNT(su));
|
||||
- }
|
||||
}
|
||||
}
|
||||
}
|
||||
--- 13807,13814 ----
|
||||
*** ../vim-7.3.075/src/version.c 2010-12-02 21:44:35.000000000 +0100
|
||||
--- src/version.c 2010-12-08 13:10:00.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 76,
|
||||
/**/
|
||||
|
||||
--
|
||||
Never enter the boss's office unless it's absolutely necessary. Every boss
|
||||
saves one corner of the desk for useless assignments that are doled out like
|
||||
Halloween candy to each visitor.
|
||||
(Scott Adams - The Dilbert principle)
|
||||
|
||||
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||||
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||||
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||||
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|
134
7.3.077
134
7.3.077
@ -1,134 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.077
|
||||
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.077
|
||||
Problem: When updating crypt of swapfile fails there is no error message.
|
||||
(Carlo Teubner)
|
||||
Solution: Add the error message.
|
||||
Files: src/memline.c
|
||||
|
||||
|
||||
*** ../vim-7.3.076/src/memline.c 2010-08-15 21:57:31.000000000 +0200
|
||||
--- src/memline.c 2010-12-08 12:39:10.000000000 +0100
|
||||
***************
|
||||
*** 582,587 ****
|
||||
--- 582,590 ----
|
||||
idx = ip->ip_index + 1; /* go to next index */
|
||||
page_count = 1;
|
||||
}
|
||||
+
|
||||
+ if (error > 0)
|
||||
+ EMSG(_("E843: Error while updating swap file crypt"));
|
||||
}
|
||||
|
||||
mfp->mf_old_key = NULL;
|
||||
***************
|
||||
*** 2384,2390 ****
|
||||
* Make a copy of the line if necessary.
|
||||
*/
|
||||
/*
|
||||
! * get a pointer to a (read-only copy of a) line
|
||||
*
|
||||
* On failure an error message is given and IObuff is returned (to avoid
|
||||
* having to check for error everywhere).
|
||||
--- 2387,2393 ----
|
||||
* Make a copy of the line if necessary.
|
||||
*/
|
||||
/*
|
||||
! * Return a pointer to a (read-only copy of a) line.
|
||||
*
|
||||
* On failure an error message is given and IObuff is returned (to avoid
|
||||
* having to check for error everywhere).
|
||||
***************
|
||||
*** 2397,2403 ****
|
||||
}
|
||||
|
||||
/*
|
||||
! * ml_get_pos: get pointer to position 'pos'
|
||||
*/
|
||||
char_u *
|
||||
ml_get_pos(pos)
|
||||
--- 2400,2406 ----
|
||||
}
|
||||
|
||||
/*
|
||||
! * Return pointer to position "pos".
|
||||
*/
|
||||
char_u *
|
||||
ml_get_pos(pos)
|
||||
***************
|
||||
*** 2407,2413 ****
|
||||
}
|
||||
|
||||
/*
|
||||
! * ml_get_curline: get pointer to cursor line.
|
||||
*/
|
||||
char_u *
|
||||
ml_get_curline()
|
||||
--- 2410,2416 ----
|
||||
}
|
||||
|
||||
/*
|
||||
! * Return pointer to cursor line.
|
||||
*/
|
||||
char_u *
|
||||
ml_get_curline()
|
||||
***************
|
||||
*** 2416,2422 ****
|
||||
}
|
||||
|
||||
/*
|
||||
! * ml_get_cursor: get pointer to cursor position
|
||||
*/
|
||||
char_u *
|
||||
ml_get_cursor()
|
||||
--- 2419,2425 ----
|
||||
}
|
||||
|
||||
/*
|
||||
! * Return pointer to cursor position.
|
||||
*/
|
||||
char_u *
|
||||
ml_get_cursor()
|
||||
***************
|
||||
*** 2426,2432 ****
|
||||
}
|
||||
|
||||
/*
|
||||
! * get a pointer to a line in a specific buffer
|
||||
*
|
||||
* "will_change": if TRUE mark the buffer dirty (chars in the line will be
|
||||
* changed)
|
||||
--- 2429,2435 ----
|
||||
}
|
||||
|
||||
/*
|
||||
! * Return a pointer to a line in a specific buffer
|
||||
*
|
||||
* "will_change": if TRUE mark the buffer dirty (chars in the line will be
|
||||
* changed)
|
||||
*** ../vim-7.3.076/src/version.c 2010-12-08 13:11:15.000000000 +0100
|
||||
--- src/version.c 2010-12-08 13:15:44.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 77,
|
||||
/**/
|
||||
|
||||
--
|
||||
An operatingsystem is just a name you give to the rest of bloating
|
||||
idiosyncratic machine-based-features you left out of your editor.
|
||||
(author unknown)
|
||||
|
||||
/// 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 ///
|
58
7.3.078
58
7.3.078
@ -1,58 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.078
|
||||
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.078
|
||||
Problem: Warning for unused variable.
|
||||
Solution: Adjuste #ifdefs.
|
||||
Files: src/ops.c
|
||||
|
||||
|
||||
*** ../vim-7.3.077/src/ops.c 2010-12-02 21:43:10.000000000 +0100
|
||||
--- src/ops.c 2010-12-08 14:21:48.000000000 +0100
|
||||
***************
|
||||
*** 2844,2850 ****
|
||||
--- 2844,2852 ----
|
||||
char_u *p;
|
||||
char_u *pnew;
|
||||
struct block_def bd;
|
||||
+ #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
int did_star = FALSE;
|
||||
+ #endif
|
||||
|
||||
/* check for read-only register */
|
||||
if (oap->regname != 0 && !valid_yank_reg(oap->regname, TRUE))
|
||||
***************
|
||||
*** 3127,3133 ****
|
||||
--- 3129,3137 ----
|
||||
|
||||
clip_own_selection(&clip_star);
|
||||
clip_gen_set_selection(&clip_star);
|
||||
+ # ifdef FEAT_X11
|
||||
did_star = TRUE;
|
||||
+ # endif
|
||||
}
|
||||
|
||||
# ifdef FEAT_X11
|
||||
*** ../vim-7.3.077/src/version.c 2010-12-08 13:16:58.000000000 +0100
|
||||
--- src/version.c 2010-12-08 14:22:42.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 78,
|
||||
/**/
|
||||
|
||||
--
|
||||
A)bort, R)etry, D)o it right this time
|
||||
|
||||
/// 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 ///
|
50
7.3.079
50
7.3.079
@ -1,50 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.079
|
||||
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.079
|
||||
Problem: Duplicate lines in makefile.
|
||||
Solution: Remove the lines. (Hong Xu)
|
||||
Files: src/Make_mvc.mak
|
||||
|
||||
|
||||
*** ../vim-7.3.078/src/Make_mvc.mak 2010-11-03 21:59:23.000000000 +0100
|
||||
--- src/Make_mvc.mak 2010-12-08 14:53:16.000000000 +0100
|
||||
***************
|
||||
*** 380,388 ****
|
||||
!if "$(_NMAKE_VER)" == "10.00.30319.01"
|
||||
MSVCVER = 10.0
|
||||
!endif
|
||||
- !if "$(_NMAKE_VER)" == "9.00.30729.01"
|
||||
- MSVCVER = 9.0
|
||||
- !endif
|
||||
!endif
|
||||
|
||||
# Abort bulding VIM if version of VC is unrecognised.
|
||||
--- 380,385 ----
|
||||
*** ../vim-7.3.078/src/version.c 2010-12-08 14:23:08.000000000 +0100
|
||||
--- src/version.c 2010-12-08 14:54:02.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 79,
|
||||
/**/
|
||||
|
||||
--
|
||||
login: yes
|
||||
password: I don't know, please tell me
|
||||
password is incorrect
|
||||
login: yes
|
||||
password: incorrect
|
||||
|
||||
/// 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 ///
|
205
7.3.080
205
7.3.080
@ -1,205 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.080
|
||||
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.080
|
||||
Problem: Spell doesn't work on VMS.
|
||||
Solution: Use different file names. (Zoltan Bartos, Zoltan Arpadffy)
|
||||
Files: src/spell.c
|
||||
|
||||
|
||||
*** ../vim-7.3.079/src/spell.c 2010-12-08 13:11:15.000000000 +0100
|
||||
--- src/spell.c 2010-12-08 17:01:13.000000000 +0100
|
||||
***************
|
||||
*** 327,332 ****
|
||||
--- 327,342 ----
|
||||
typedef long idx_T;
|
||||
#endif
|
||||
|
||||
+ #ifdef VMS
|
||||
+ # define SPL_FNAME_TMPL "%s_%s.spl"
|
||||
+ # define SPL_FNAME_ADD "_add."
|
||||
+ # define SPL_FNAME_ASCII "_ascii."
|
||||
+ #else
|
||||
+ # define SPL_FNAME_TMPL "%s.%s.spl"
|
||||
+ # define SPL_FNAME_ADD ".add."
|
||||
+ # define SPL_FNAME_ASCII ".ascii."
|
||||
+ #endif
|
||||
+
|
||||
/* Flags used for a word. Only the lowest byte can be used, the region byte
|
||||
* comes above it. */
|
||||
#define WF_REGION 0x01 /* region byte follows */
|
||||
***************
|
||||
*** 2471,2484 ****
|
||||
* Find the first spell file for "lang" in 'runtimepath' and load it.
|
||||
*/
|
||||
vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
|
||||
! "spell/%s.%s.spl", lang, spell_enc());
|
||||
r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
|
||||
|
||||
if (r == FAIL && *sl.sl_lang != NUL)
|
||||
{
|
||||
/* Try loading the ASCII version. */
|
||||
vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
|
||||
! "spell/%s.ascii.spl", lang);
|
||||
r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
--- 2481,2504 ----
|
||||
* Find the first spell file for "lang" in 'runtimepath' and load it.
|
||||
*/
|
||||
vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
|
||||
! #ifdef VMS
|
||||
! "spell/%s_%s.spl",
|
||||
! #else
|
||||
! "spell/%s.%s.spl",
|
||||
! #endif
|
||||
! lang, spell_enc());
|
||||
r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
|
||||
|
||||
if (r == FAIL && *sl.sl_lang != NUL)
|
||||
{
|
||||
/* Try loading the ASCII version. */
|
||||
vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5,
|
||||
! #ifdef VMS
|
||||
! "spell/%s_ascii.spl",
|
||||
! #else
|
||||
! "spell/%s.ascii.spl",
|
||||
! #endif
|
||||
! lang);
|
||||
r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl);
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
***************
|
||||
*** 2496,2502 ****
|
||||
|
||||
if (r == FAIL)
|
||||
{
|
||||
! smsg((char_u *)_("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""),
|
||||
lang, spell_enc(), lang);
|
||||
}
|
||||
else if (sl.sl_slang != NULL)
|
||||
--- 2516,2527 ----
|
||||
|
||||
if (r == FAIL)
|
||||
{
|
||||
! smsg((char_u *)
|
||||
! #ifdef VMS
|
||||
! _("Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""),
|
||||
! #else
|
||||
! _("Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""),
|
||||
! #endif
|
||||
lang, spell_enc(), lang);
|
||||
}
|
||||
else if (sl.sl_slang != NULL)
|
||||
***************
|
||||
*** 2530,2536 ****
|
||||
int_wordlist_spl(fname)
|
||||
char_u *fname;
|
||||
{
|
||||
! vim_snprintf((char *)fname, MAXPATHL, "%s.%s.spl",
|
||||
int_wordlist, spell_enc());
|
||||
}
|
||||
|
||||
--- 2555,2561 ----
|
||||
int_wordlist_spl(fname)
|
||||
char_u *fname;
|
||||
{
|
||||
! vim_snprintf((char *)fname, MAXPATHL, SPL_FNAME_TMPL,
|
||||
int_wordlist, spell_enc());
|
||||
}
|
||||
|
||||
***************
|
||||
*** 2785,2792 ****
|
||||
if (lp->sl_fname == NULL)
|
||||
goto endFAIL;
|
||||
|
||||
! /* Check for .add.spl. */
|
||||
! lp->sl_add = strstr((char *)gettail(fname), ".add.") != NULL;
|
||||
}
|
||||
else
|
||||
lp = old_lp;
|
||||
--- 2810,2817 ----
|
||||
if (lp->sl_fname == NULL)
|
||||
goto endFAIL;
|
||||
|
||||
! /* Check for .add.spl (_add.spl for VMS). */
|
||||
! lp->sl_add = strstr((char *)gettail(fname), SPL_FNAME_ADD) != NULL;
|
||||
}
|
||||
else
|
||||
lp = old_lp;
|
||||
***************
|
||||
*** 9109,9116 ****
|
||||
/* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
|
||||
innames = &fnames[0];
|
||||
incount = 1;
|
||||
! vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0],
|
||||
! spin.si_ascii ? (char_u *)"ascii" : spell_enc());
|
||||
}
|
||||
else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
|
||||
{
|
||||
--- 9134,9141 ----
|
||||
/* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */
|
||||
innames = &fnames[0];
|
||||
incount = 1;
|
||||
! vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL,
|
||||
! fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
|
||||
}
|
||||
else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0)
|
||||
{
|
||||
***************
|
||||
*** 9119,9133 ****
|
||||
}
|
||||
else
|
||||
/* Name should be language, make the file name from it. */
|
||||
! vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0],
|
||||
! spin.si_ascii ? (char_u *)"ascii" : spell_enc());
|
||||
|
||||
/* Check for .ascii.spl. */
|
||||
! if (strstr((char *)gettail(wfname), ".ascii.") != NULL)
|
||||
spin.si_ascii = TRUE;
|
||||
|
||||
/* Check for .add.spl. */
|
||||
! if (strstr((char *)gettail(wfname), ".add.") != NULL)
|
||||
spin.si_add = TRUE;
|
||||
}
|
||||
|
||||
--- 9144,9158 ----
|
||||
}
|
||||
else
|
||||
/* Name should be language, make the file name from it. */
|
||||
! vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL,
|
||||
! fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc());
|
||||
|
||||
/* Check for .ascii.spl. */
|
||||
! if (strstr((char *)gettail(wfname), SPL_FNAME_ASCII) != NULL)
|
||||
spin.si_ascii = TRUE;
|
||||
|
||||
/* Check for .add.spl. */
|
||||
! if (strstr((char *)gettail(wfname), SPL_FNAME_ADD) != NULL)
|
||||
spin.si_add = TRUE;
|
||||
}
|
||||
|
||||
*** ../vim-7.3.079/src/version.c 2010-12-08 14:54:58.000000000 +0100
|
||||
--- src/version.c 2010-12-08 16:58:03.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 80,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
5. You find yourself brainstorming for new subjects to search.
|
||||
|
||||
/// 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.081
84
7.3.081
@ -1,84 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.081
|
||||
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.081
|
||||
Problem: Non-printable characters in 'statusline' cause trouble. (ZyX)
|
||||
Solution: Use transstr(). (partly by Caio Ariede)
|
||||
Files: src/screen.c
|
||||
|
||||
|
||||
*** ../vim-7.3.080/src/screen.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/screen.c 2010-12-08 19:27:20.000000000 +0100
|
||||
***************
|
||||
*** 3405,3413 ****
|
||||
# endif
|
||||
)
|
||||
{
|
||||
! int_u text_sign;
|
||||
# ifdef FEAT_SIGN_ICONS
|
||||
! int_u icon_sign;
|
||||
# endif
|
||||
|
||||
/* Draw two cells with the sign value or blank. */
|
||||
--- 3405,3413 ----
|
||||
# endif
|
||||
)
|
||||
{
|
||||
! int text_sign;
|
||||
# ifdef FEAT_SIGN_ICONS
|
||||
! int icon_sign;
|
||||
# endif
|
||||
|
||||
/* Draw two cells with the sign value or blank. */
|
||||
***************
|
||||
*** 6522,6529 ****
|
||||
stl, use_sandbox,
|
||||
fillchar, maxwidth, hltab, tabtab);
|
||||
vim_free(stl);
|
||||
- len = (int)STRLEN(buf);
|
||||
|
||||
while (width < maxwidth && len < (int)sizeof(buf) - 1)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
--- 6522,6538 ----
|
||||
stl, use_sandbox,
|
||||
fillchar, maxwidth, hltab, tabtab);
|
||||
vim_free(stl);
|
||||
|
||||
+ /* Make all characters printable. */
|
||||
+ p = transstr(buf);
|
||||
+ if (p != NULL)
|
||||
+ {
|
||||
+ vim_strncpy(buf, p, sizeof(buf) - 1);
|
||||
+ vim_free(p);
|
||||
+ }
|
||||
+
|
||||
+ /* fill up with "fillchar" */
|
||||
+ len = (int)STRLEN(buf);
|
||||
while (width < maxwidth && len < (int)sizeof(buf) - 1)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
*** ../vim-7.3.080/src/version.c 2010-12-08 17:09:27.000000000 +0100
|
||||
--- src/version.c 2010-12-08 19:31:40.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 81,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
6. You refuse to go to a vacation spot with no electricity and no phone lines.
|
||||
|
||||
/// 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 ///
|
51
7.3.082
51
7.3.082
@ -1,51 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.082
|
||||
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.082
|
||||
Problem: Leaking file descriptor when hostname doesn't exist.
|
||||
Solution: Remove old debugging lines.
|
||||
Files: src/netbeans.c
|
||||
|
||||
|
||||
*** ../vim-7.3.081/src/netbeans.c 2010-12-08 13:11:15.000000000 +0100
|
||||
--- src/netbeans.c 2010-12-17 12:13:32.000000000 +0100
|
||||
***************
|
||||
*** 323,334 ****
|
||||
server.sin_port = htons(port);
|
||||
if ((host = gethostbyname(hostname)) == NULL)
|
||||
{
|
||||
- if (mch_access(hostname, R_OK) >= 0)
|
||||
- {
|
||||
- /* DEBUG: input file */
|
||||
- sd = mch_open(hostname, O_RDONLY, 0);
|
||||
- goto theend;
|
||||
- }
|
||||
nbdebug(("error in gethostbyname() in netbeans_connect()\n"));
|
||||
PERROR("gethostbyname() in netbeans_connect()");
|
||||
goto theend;
|
||||
--- 323,328 ----
|
||||
*** ../vim-7.3.081/src/version.c 2010-12-08 19:56:52.000000000 +0100
|
||||
--- src/version.c 2010-12-17 12:17:11.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 82,
|
||||
/**/
|
||||
|
||||
--
|
||||
How To Keep A Healthy Level Of Insanity:
|
||||
1. At lunch time, sit in your parked car with sunglasses on and point
|
||||
a hair dryer at passing cars. See if they slow down.
|
||||
|
||||
/// 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 ///
|
362
7.3.083
362
7.3.083
@ -1,362 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.083
|
||||
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.083
|
||||
Problem: When a read() or write() is interrupted by a signal it fails.
|
||||
Solution: Add read_eintr() and write_eintr().
|
||||
Files: src/fileio.c, src/proto/fileio.pro, src/memfile.c, src/memline.c,
|
||||
src/os_unix.c, src/undo.c, src/vim.h
|
||||
|
||||
|
||||
*** ../vim-7.3.082/src/fileio.c 2010-08-15 21:57:26.000000000 +0200
|
||||
--- src/fileio.c 2010-12-17 16:04:30.000000000 +0100
|
||||
***************
|
||||
*** 918,924 ****
|
||||
{
|
||||
/* Read the first line (and a bit more). Immediately rewind to
|
||||
* the start of the file. If the read() fails "len" is -1. */
|
||||
! len = vim_read(fd, firstline, 80);
|
||||
lseek(fd, (off_t)0L, SEEK_SET);
|
||||
for (p = firstline; p < firstline + len; ++p)
|
||||
if (*p >= 0x80)
|
||||
--- 918,924 ----
|
||||
{
|
||||
/* Read the first line (and a bit more). Immediately rewind to
|
||||
* the start of the file. If the read() fails "len" is -1. */
|
||||
! len = read_eintr(fd, firstline, 80);
|
||||
lseek(fd, (off_t)0L, SEEK_SET);
|
||||
for (p = firstline; p < firstline + len; ++p)
|
||||
if (*p >= 0x80)
|
||||
***************
|
||||
*** 1373,1379 ****
|
||||
/*
|
||||
* Read bytes from the file.
|
||||
*/
|
||||
! size = vim_read(fd, ptr, size);
|
||||
}
|
||||
|
||||
if (size <= 0)
|
||||
--- 1373,1379 ----
|
||||
/*
|
||||
* Read bytes from the file.
|
||||
*/
|
||||
! size = read_eintr(fd, ptr, size);
|
||||
}
|
||||
|
||||
if (size <= 0)
|
||||
***************
|
||||
*** 4000,4006 ****
|
||||
#ifdef HAS_BW_FLAGS
|
||||
write_info.bw_flags = FIO_NOCONVERT;
|
||||
#endif
|
||||
! while ((write_info.bw_len = vim_read(fd, copybuf,
|
||||
BUFSIZE)) > 0)
|
||||
{
|
||||
if (buf_write_bytes(&write_info) == FAIL)
|
||||
--- 4000,4006 ----
|
||||
#ifdef HAS_BW_FLAGS
|
||||
write_info.bw_flags = FIO_NOCONVERT;
|
||||
#endif
|
||||
! while ((write_info.bw_len = read_eintr(fd, copybuf,
|
||||
BUFSIZE)) > 0)
|
||||
{
|
||||
if (buf_write_bytes(&write_info) == FAIL)
|
||||
***************
|
||||
*** 4813,4819 ****
|
||||
#ifdef HAS_BW_FLAGS
|
||||
write_info.bw_flags = FIO_NOCONVERT;
|
||||
#endif
|
||||
! while ((write_info.bw_len = vim_read(fd, smallbuf,
|
||||
SMBUFSIZE)) > 0)
|
||||
if (buf_write_bytes(&write_info) == FAIL)
|
||||
break;
|
||||
--- 4813,4819 ----
|
||||
#ifdef HAS_BW_FLAGS
|
||||
write_info.bw_flags = FIO_NOCONVERT;
|
||||
#endif
|
||||
! while ((write_info.bw_len = read_eintr(fd, smallbuf,
|
||||
SMBUFSIZE)) > 0)
|
||||
if (buf_write_bytes(&write_info) == FAIL)
|
||||
break;
|
||||
***************
|
||||
*** 5330,5336 ****
|
||||
|
||||
/*
|
||||
* Call write() to write a number of bytes to the file.
|
||||
! * Also handles encryption and 'encoding' conversion.
|
||||
*
|
||||
* Return FAIL for failure, OK otherwise.
|
||||
*/
|
||||
--- 5330,5336 ----
|
||||
|
||||
/*
|
||||
* Call write() to write a number of bytes to the file.
|
||||
! * Handles encryption and 'encoding' conversion.
|
||||
*
|
||||
* Return FAIL for failure, OK otherwise.
|
||||
*/
|
||||
***************
|
||||
*** 5702,5717 ****
|
||||
crypt_encode(buf, len, buf);
|
||||
#endif
|
||||
|
||||
! /* Repeat the write(), it may be interrupted by a signal. */
|
||||
! while (len > 0)
|
||||
! {
|
||||
! wlen = vim_write(ip->bw_fd, buf, len);
|
||||
! if (wlen <= 0) /* error! */
|
||||
! return FAIL;
|
||||
! len -= wlen;
|
||||
! buf += wlen;
|
||||
! }
|
||||
! return OK;
|
||||
}
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
--- 5702,5709 ----
|
||||
crypt_encode(buf, len, buf);
|
||||
#endif
|
||||
|
||||
! wlen = write_eintr(ip->bw_fd, buf, len);
|
||||
! return (wlen < len) ? FAIL : OK;
|
||||
}
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
***************
|
||||
*** 6662,6669 ****
|
||||
return -1;
|
||||
}
|
||||
|
||||
! while ((n = vim_read(fd_in, buffer, BUFSIZE)) > 0)
|
||||
! if (vim_write(fd_out, buffer, n) != n)
|
||||
{
|
||||
errmsg = _("E208: Error writing to \"%s\"");
|
||||
break;
|
||||
--- 6654,6661 ----
|
||||
return -1;
|
||||
}
|
||||
|
||||
! while ((n = read_eintr(fd_in, buffer, BUFSIZE)) > 0)
|
||||
! if (write_eintr(fd_out, buffer, n) != n)
|
||||
{
|
||||
errmsg = _("E208: Error writing to \"%s\"");
|
||||
break;
|
||||
***************
|
||||
*** 10304,10306 ****
|
||||
--- 10296,10350 ----
|
||||
}
|
||||
return reg_pat;
|
||||
}
|
||||
+
|
||||
+ #if defined(EINTR) || defined(PROTO)
|
||||
+ /*
|
||||
+ * Version of read() that retries when interrupted by EINTR (possibly
|
||||
+ * by a SIGWINCH).
|
||||
+ */
|
||||
+ long
|
||||
+ read_eintr(fd, buf, bufsize)
|
||||
+ int fd;
|
||||
+ void *buf;
|
||||
+ size_t bufsize;
|
||||
+ {
|
||||
+ long ret;
|
||||
+
|
||||
+ for (;;)
|
||||
+ {
|
||||
+ ret = vim_read(fd, buf, bufsize);
|
||||
+ if (ret >= 0 || errno != EINTR)
|
||||
+ break;
|
||||
+ }
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * Version of write() that retries when interrupted by EINTR (possibly
|
||||
+ * by a SIGWINCH).
|
||||
+ */
|
||||
+ long
|
||||
+ write_eintr(fd, buf, bufsize)
|
||||
+ int fd;
|
||||
+ void *buf;
|
||||
+ size_t bufsize;
|
||||
+ {
|
||||
+ long ret = 0;
|
||||
+ long wlen;
|
||||
+
|
||||
+ /* Repeat the write() so long it didn't fail, other than being interrupted
|
||||
+ * by a signal. */
|
||||
+ while (ret < (long)bufsize)
|
||||
+ {
|
||||
+ wlen = vim_write(fd, buf + ret, bufsize - ret);
|
||||
+ if (wlen < 0)
|
||||
+ {
|
||||
+ if (errno != EINTR)
|
||||
+ break;
|
||||
+ }
|
||||
+ else
|
||||
+ ret += wlen;
|
||||
+ }
|
||||
+ return ret;
|
||||
+ }
|
||||
+ #endif
|
||||
*** ../vim-7.3.082/src/proto/fileio.pro 2010-08-15 21:57:28.000000000 +0200
|
||||
--- src/proto/fileio.pro 2010-12-17 15:01:26.000000000 +0100
|
||||
***************
|
||||
*** 54,57 ****
|
||||
--- 54,59 ----
|
||||
int match_file_pat __ARGS((char_u *pattern, regprog_T *prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs));
|
||||
int match_file_list __ARGS((char_u *list, char_u *sfname, char_u *ffname));
|
||||
char_u *file_pat_to_reg_pat __ARGS((char_u *pat, char_u *pat_end, char *allow_dirs, int no_bslash));
|
||||
+ long read_eintr __ARGS((int fd, void *buf, size_t bufsize));
|
||||
+ long write_eintr __ARGS((int fd, void *buf, size_t bufsize));
|
||||
/* vim: set ft=c : */
|
||||
*** ../vim-7.3.082/src/memfile.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/memfile.c 2010-12-17 16:02:54.000000000 +0100
|
||||
***************
|
||||
*** 1049,1055 ****
|
||||
PERROR(_("E294: Seek error in swap file read"));
|
||||
return FAIL;
|
||||
}
|
||||
! if ((unsigned)vim_read(mfp->mf_fd, hp->bh_data, size) != size)
|
||||
{
|
||||
PERROR(_("E295: Read error in swap file"));
|
||||
return FAIL;
|
||||
--- 1049,1055 ----
|
||||
PERROR(_("E294: Seek error in swap file read"));
|
||||
return FAIL;
|
||||
}
|
||||
! if ((unsigned)read_eintr(mfp->mf_fd, hp->bh_data, size) != size)
|
||||
{
|
||||
PERROR(_("E295: Read error in swap file"));
|
||||
return FAIL;
|
||||
***************
|
||||
*** 1168,1174 ****
|
||||
}
|
||||
#endif
|
||||
|
||||
! if ((unsigned)vim_write(mfp->mf_fd, data, size) != size)
|
||||
result = FAIL;
|
||||
|
||||
#ifdef FEAT_CRYPT
|
||||
--- 1168,1174 ----
|
||||
}
|
||||
#endif
|
||||
|
||||
! if ((unsigned)write_eintr(mfp->mf_fd, data, size) != size)
|
||||
result = FAIL;
|
||||
|
||||
#ifdef FEAT_CRYPT
|
||||
*** ../vim-7.3.082/src/memline.c 2010-12-08 13:16:58.000000000 +0100
|
||||
--- src/memline.c 2010-12-17 15:46:49.000000000 +0100
|
||||
***************
|
||||
*** 2062,2068 ****
|
||||
fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
|
||||
if (fd >= 0)
|
||||
{
|
||||
! if (read(fd, (char *)&b0, sizeof(b0)) == sizeof(b0))
|
||||
{
|
||||
if (STRNCMP(b0.b0_version, "VIM 3.0", 7) == 0)
|
||||
{
|
||||
--- 2062,2068 ----
|
||||
fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
|
||||
if (fd >= 0)
|
||||
{
|
||||
! if (read_eintr(fd, &b0, sizeof(b0)) == sizeof(b0))
|
||||
{
|
||||
if (STRNCMP(b0.b0_version, "VIM 3.0", 7) == 0)
|
||||
{
|
||||
***************
|
||||
*** 4392,4398 ****
|
||||
fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
|
||||
if (fd >= 0)
|
||||
{
|
||||
! if (read(fd, (char *)&b0, sizeof(b0)) == sizeof(b0))
|
||||
{
|
||||
/*
|
||||
* If the swapfile has the same directory as the
|
||||
--- 4392,4398 ----
|
||||
fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0);
|
||||
if (fd >= 0)
|
||||
{
|
||||
! if (read_eintr(fd, &b0, sizeof(b0)) == sizeof(b0))
|
||||
{
|
||||
/*
|
||||
* If the swapfile has the same directory as the
|
||||
*** ../vim-7.3.082/src/os_unix.c 2010-10-20 19:17:43.000000000 +0200
|
||||
--- src/os_unix.c 2010-12-17 16:17:43.000000000 +0100
|
||||
***************
|
||||
*** 4454,4460 ****
|
||||
++noread_cnt;
|
||||
while (RealWaitForChar(fromshell_fd, 10L, NULL))
|
||||
{
|
||||
! len = read(fromshell_fd, (char *)buffer
|
||||
# ifdef FEAT_MBYTE
|
||||
+ buffer_off, (size_t)(BUFLEN - buffer_off)
|
||||
# else
|
||||
--- 4454,4460 ----
|
||||
++noread_cnt;
|
||||
while (RealWaitForChar(fromshell_fd, 10L, NULL))
|
||||
{
|
||||
! len = read_eintr(fromshell_fd, buffer
|
||||
# ifdef FEAT_MBYTE
|
||||
+ buffer_off, (size_t)(BUFLEN - buffer_off)
|
||||
# else
|
||||
*** ../vim-7.3.082/src/undo.c 2010-11-03 19:32:36.000000000 +0100
|
||||
--- src/undo.c 2010-12-17 15:39:24.000000000 +0100
|
||||
***************
|
||||
*** 1386,1392 ****
|
||||
char_u mbuf[UF_START_MAGIC_LEN];
|
||||
int len;
|
||||
|
||||
! len = vim_read(fd, mbuf, UF_START_MAGIC_LEN);
|
||||
close(fd);
|
||||
if (len < UF_START_MAGIC_LEN
|
||||
|| memcmp(mbuf, UF_START_MAGIC, UF_START_MAGIC_LEN) != 0)
|
||||
--- 1386,1392 ----
|
||||
char_u mbuf[UF_START_MAGIC_LEN];
|
||||
int len;
|
||||
|
||||
! len = read_eintr(fd, mbuf, UF_START_MAGIC_LEN);
|
||||
close(fd);
|
||||
if (len < UF_START_MAGIC_LEN
|
||||
|| memcmp(mbuf, UF_START_MAGIC, UF_START_MAGIC_LEN) != 0)
|
||||
*** ../vim-7.3.082/src/vim.h 2010-12-02 16:01:23.000000000 +0100
|
||||
--- src/vim.h 2010-12-17 14:55:04.000000000 +0100
|
||||
***************
|
||||
*** 1642,1647 ****
|
||||
--- 1642,1652 ----
|
||||
# define USE_INPUT_BUF
|
||||
#endif
|
||||
|
||||
+ #ifndef EINTR
|
||||
+ # define read_eintr(fd, buf, count) vim_read((fd), (buf), (count))
|
||||
+ # define write_eintr(fd, buf, count) vim_write((fd), (buf), (count))
|
||||
+ #endif
|
||||
+
|
||||
#ifdef MSWIN
|
||||
/* On MS-Windows the third argument isn't size_t. This matters for Win64,
|
||||
* where sizeof(size_t)==8, not 4 */
|
||||
*** ../vim-7.3.082/src/version.c 2010-12-17 12:19:14.000000000 +0100
|
||||
--- src/version.c 2010-12-17 16:10:58.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 83,
|
||||
/**/
|
||||
|
||||
--
|
||||
How To Keep A Healthy Level Of Insanity:
|
||||
9. As often as possible, skip rather than walk.
|
||||
|
||||
/// 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 ///
|
123
7.3.084
123
7.3.084
@ -1,123 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.084
|
||||
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.084
|
||||
Problem: When splitting the window, the new one scrolls with the cursor at
|
||||
the top.
|
||||
Solution: Compute w_fraction before setting the new height.
|
||||
Files: src/window.c
|
||||
|
||||
|
||||
*** ../vim-7.3.083/src/window.c 2010-09-21 16:56:29.000000000 +0200
|
||||
--- src/window.c 2010-12-17 17:09:51.000000000 +0100
|
||||
***************
|
||||
*** 70,76 ****
|
||||
#endif /* FEAT_WINDOWS */
|
||||
|
||||
static win_T *win_alloc __ARGS((win_T *after, int hidden));
|
||||
! static void win_new_height __ARGS((win_T *, int));
|
||||
|
||||
#define URL_SLASH 1 /* path_is_url() has found "://" */
|
||||
#define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */
|
||||
--- 70,77 ----
|
||||
#endif /* FEAT_WINDOWS */
|
||||
|
||||
static win_T *win_alloc __ARGS((win_T *after, int hidden));
|
||||
! static void set_fraction __ARGS((win_T *wp));
|
||||
! static void win_new_height __ARGS((win_T *wp, int height));
|
||||
|
||||
#define URL_SLASH 1 /* path_is_url() has found "://" */
|
||||
#define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */
|
||||
***************
|
||||
*** 983,992 ****
|
||||
--- 984,999 ----
|
||||
else
|
||||
frame_append(curfrp, frp);
|
||||
|
||||
+ /* Set w_fraction now so that the cursor keeps the same relative
|
||||
+ * vertical position. */
|
||||
+ set_fraction(oldwin);
|
||||
+ wp->w_fraction = oldwin->w_fraction;
|
||||
+
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
if (flags & WSP_VERT)
|
||||
{
|
||||
wp->w_p_scr = curwin->w_p_scr;
|
||||
+
|
||||
if (need_status)
|
||||
{
|
||||
win_new_height(oldwin, oldwin->w_height - 1);
|
||||
***************
|
||||
*** 5453,5458 ****
|
||||
--- 5460,5478 ----
|
||||
|
||||
#endif /* FEAT_WINDOWS */
|
||||
|
||||
+ #define FRACTION_MULT 16384L
|
||||
+
|
||||
+ /*
|
||||
+ * Set wp->w_fraction for the current w_wrow and w_height.
|
||||
+ */
|
||||
+ static void
|
||||
+ set_fraction(wp)
|
||||
+ win_T *wp;
|
||||
+ {
|
||||
+ wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
|
||||
+ + FRACTION_MULT / 2) / (long)wp->w_height;
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Set the height of a window.
|
||||
* This takes care of the things inside the window, not what happens to the
|
||||
***************
|
||||
*** 5465,5471 ****
|
||||
{
|
||||
linenr_T lnum;
|
||||
int sline, line_size;
|
||||
- #define FRACTION_MULT 16384L
|
||||
|
||||
/* Don't want a negative height. Happens when splitting a tiny window.
|
||||
* Will equalize heights soon to fix it. */
|
||||
--- 5485,5490 ----
|
||||
***************
|
||||
*** 5475,5482 ****
|
||||
return; /* nothing to do */
|
||||
|
||||
if (wp->w_wrow != wp->w_prev_fraction_row && wp->w_height > 0)
|
||||
! wp->w_fraction = ((long)wp->w_wrow * FRACTION_MULT
|
||||
! + FRACTION_MULT / 2) / (long)wp->w_height;
|
||||
|
||||
wp->w_height = height;
|
||||
wp->w_skipcol = 0;
|
||||
--- 5494,5500 ----
|
||||
return; /* nothing to do */
|
||||
|
||||
if (wp->w_wrow != wp->w_prev_fraction_row && wp->w_height > 0)
|
||||
! set_fraction(wp);
|
||||
|
||||
wp->w_height = height;
|
||||
wp->w_skipcol = 0;
|
||||
*** ../vim-7.3.083/src/version.c 2010-12-17 16:27:10.000000000 +0100
|
||||
--- src/version.c 2010-12-17 17:14:19.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 84,
|
||||
/**/
|
||||
|
||||
--
|
||||
How To Keep A Healthy Level Of Insanity:
|
||||
12. Sing along at the opera.
|
||||
|
||||
/// 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 ///
|
313
7.3.085
313
7.3.085
@ -1,313 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.085
|
||||
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.085 (after 7.3.083)
|
||||
Problem: Inconsistency with preproc symbols. void * computation.
|
||||
Solution: Include vimio.h from vim.h. Add type cast.
|
||||
Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/fileio.c,
|
||||
src/if_cscope.c, src/if_sniff.c, src/main.c, src/memfile.c,
|
||||
src/memline.c, src/netbeans.c, src/os_msdos.c, src/os_mswin.c,
|
||||
src/os_win16.c, src/os_win32.c, src/spell.c, src/tag.c,
|
||||
src/undo.c, src/vim.h
|
||||
|
||||
|
||||
*** ../vim-7.3.084/src/eval.c 2010-12-02 21:44:35.000000000 +0100
|
||||
--- src/eval.c 2010-12-17 17:45:37.000000000 +0100
|
||||
***************
|
||||
*** 10,18 ****
|
||||
/*
|
||||
* eval.c: Expression evaluation.
|
||||
*/
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for mch_open(), must be before vim.h */
|
||||
- #endif
|
||||
|
||||
#include "vim.h"
|
||||
|
||||
--- 10,15 ----
|
||||
*** ../vim-7.3.084/src/ex_cmds.c 2010-11-24 17:59:27.000000000 +0100
|
||||
--- src/ex_cmds.c 2010-12-17 17:46:09.000000000 +0100
|
||||
***************
|
||||
*** 11,20 ****
|
||||
* ex_cmds.c: some functions for command line commands
|
||||
*/
|
||||
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for mch_open(), must be before vim.h */
|
||||
- #endif
|
||||
-
|
||||
#include "vim.h"
|
||||
#include "version.h"
|
||||
|
||||
--- 11,16 ----
|
||||
*** ../vim-7.3.084/src/ex_cmds2.c 2010-09-21 16:56:29.000000000 +0200
|
||||
--- src/ex_cmds2.c 2010-12-17 17:46:26.000000000 +0100
|
||||
***************
|
||||
*** 11,20 ****
|
||||
* ex_cmds2.c: some more functions for command line commands
|
||||
*/
|
||||
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for mch_open(), must be before vim.h */
|
||||
- #endif
|
||||
-
|
||||
#include "vim.h"
|
||||
#include "version.h"
|
||||
|
||||
--- 11,16 ----
|
||||
*** ../vim-7.3.084/src/fileio.c 2010-12-17 16:27:09.000000000 +0100
|
||||
--- src/fileio.c 2010-12-17 17:52:42.000000000 +0100
|
||||
***************
|
||||
*** 11,24 ****
|
||||
* fileio.c: read from and write to a file
|
||||
*/
|
||||
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for lseek(), must be before vim.h */
|
||||
- #endif
|
||||
-
|
||||
- #if defined __EMX__
|
||||
- # include "vimio.h" /* for mktemp(), CJW 1997-12-03 */
|
||||
- #endif
|
||||
-
|
||||
#include "vim.h"
|
||||
|
||||
#if defined(__TANDEM) || defined(__MINT__)
|
||||
--- 11,16 ----
|
||||
***************
|
||||
*** 10336,10342 ****
|
||||
* by a signal. */
|
||||
while (ret < (long)bufsize)
|
||||
{
|
||||
! wlen = vim_write(fd, buf + ret, bufsize - ret);
|
||||
if (wlen < 0)
|
||||
{
|
||||
if (errno != EINTR)
|
||||
--- 10328,10334 ----
|
||||
* by a signal. */
|
||||
while (ret < (long)bufsize)
|
||||
{
|
||||
! wlen = vim_write(fd, (char *)buf + ret, bufsize - ret);
|
||||
if (wlen < 0)
|
||||
{
|
||||
if (errno != EINTR)
|
||||
*** ../vim-7.3.084/src/if_cscope.c 2010-09-21 16:56:29.000000000 +0200
|
||||
--- src/if_cscope.c 2010-12-17 17:47:02.000000000 +0100
|
||||
***************
|
||||
*** 20,28 ****
|
||||
#include <sys/stat.h>
|
||||
#if defined(UNIX)
|
||||
# include <sys/wait.h>
|
||||
- #else
|
||||
- /* not UNIX, must be WIN32 */
|
||||
- # include "vimio.h"
|
||||
#endif
|
||||
#include "if_cscope.h"
|
||||
|
||||
--- 20,25 ----
|
||||
*** ../vim-7.3.084/src/if_sniff.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/if_sniff.c 2010-12-17 17:47:20.000000000 +0100
|
||||
***************
|
||||
*** 9,15 ****
|
||||
|
||||
#ifdef WIN32
|
||||
# include <stdio.h>
|
||||
- # include "vimio.h"
|
||||
# include <process.h>
|
||||
# include <string.h>
|
||||
# include <assert.h>
|
||||
--- 9,14 ----
|
||||
*** ../vim-7.3.084/src/main.c 2010-11-16 16:25:46.000000000 +0100
|
||||
--- src/main.c 2010-12-17 17:47:41.000000000 +0100
|
||||
***************
|
||||
*** 7,16 ****
|
||||
* See README.txt for an overview of the Vim source code.
|
||||
*/
|
||||
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for close() and dup() */
|
||||
- #endif
|
||||
-
|
||||
#define EXTERN
|
||||
#include "vim.h"
|
||||
|
||||
--- 7,12 ----
|
||||
*** ../vim-7.3.084/src/memfile.c 2010-12-17 16:27:10.000000000 +0100
|
||||
--- src/memfile.c 2010-12-17 17:47:54.000000000 +0100
|
||||
***************
|
||||
*** 32,41 ****
|
||||
* file is opened.
|
||||
*/
|
||||
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for lseek(), must be before vim.h */
|
||||
- #endif
|
||||
-
|
||||
#include "vim.h"
|
||||
|
||||
/*
|
||||
--- 32,37 ----
|
||||
*** ../vim-7.3.084/src/memline.c 2010-12-17 16:27:10.000000000 +0100
|
||||
--- src/memline.c 2010-12-17 17:48:06.000000000 +0100
|
||||
***************
|
||||
*** 42,51 ****
|
||||
* mf_get().
|
||||
*/
|
||||
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for mch_open(), must be before vim.h */
|
||||
- #endif
|
||||
-
|
||||
#include "vim.h"
|
||||
|
||||
#ifndef UNIX /* it's in os_unix.h for Unix */
|
||||
--- 42,47 ----
|
||||
*** ../vim-7.3.084/src/netbeans.c 2010-12-17 12:19:14.000000000 +0100
|
||||
--- src/netbeans.c 2010-12-17 17:48:19.000000000 +0100
|
||||
***************
|
||||
*** 16,25 ****
|
||||
* See ":help netbeans-protocol" for explanation.
|
||||
*/
|
||||
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for mch_open(), must be before vim.h */
|
||||
- #endif
|
||||
-
|
||||
#include "vim.h"
|
||||
|
||||
#if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
|
||||
--- 16,21 ----
|
||||
*** ../vim-7.3.084/src/os_msdos.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/os_msdos.c 2010-12-17 17:48:40.000000000 +0100
|
||||
***************
|
||||
*** 21,27 ****
|
||||
* Some functions are also used for Win16 (MS-Windows 3.1).
|
||||
*/
|
||||
|
||||
- #include "vimio.h"
|
||||
#include "vim.h"
|
||||
|
||||
#include <conio.h>
|
||||
--- 21,26 ----
|
||||
*** ../vim-7.3.084/src/os_mswin.c 2010-10-23 14:02:48.000000000 +0200
|
||||
--- src/os_mswin.c 2010-12-17 17:48:51.000000000 +0100
|
||||
***************
|
||||
*** 22,28 ****
|
||||
# endif
|
||||
#endif
|
||||
|
||||
- #include "vimio.h"
|
||||
#include "vim.h"
|
||||
|
||||
#ifdef WIN16
|
||||
--- 22,27 ----
|
||||
*** ../vim-7.3.084/src/os_win16.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/os_win16.c 2010-12-17 17:49:02.000000000 +0100
|
||||
***************
|
||||
*** 20,26 ****
|
||||
# pragma warn -obs
|
||||
#endif
|
||||
|
||||
- #include "vimio.h"
|
||||
#include "vim.h"
|
||||
|
||||
#include <dos.h>
|
||||
--- 20,25 ----
|
||||
*** ../vim-7.3.084/src/os_win32.c 2010-11-24 12:35:14.000000000 +0100
|
||||
--- src/os_win32.c 2010-12-17 17:49:11.000000000 +0100
|
||||
***************
|
||||
*** 20,26 ****
|
||||
* Roger Knobbe <rogerk@wonderware.com> did the initial port of Vim 3.0.
|
||||
*/
|
||||
|
||||
- #include "vimio.h"
|
||||
#include "vim.h"
|
||||
|
||||
#ifdef FEAT_MZSCHEME
|
||||
--- 20,25 ----
|
||||
*** ../vim-7.3.084/src/spell.c 2010-12-08 17:09:27.000000000 +0100
|
||||
--- src/spell.c 2010-12-17 17:49:24.000000000 +0100
|
||||
***************
|
||||
*** 303,312 ****
|
||||
* few bytes as possible, see offset2bytes())
|
||||
*/
|
||||
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for lseek(), must be before vim.h */
|
||||
- #endif
|
||||
-
|
||||
#include "vim.h"
|
||||
|
||||
#if defined(FEAT_SPELL) || defined(PROTO)
|
||||
--- 303,308 ----
|
||||
*** ../vim-7.3.084/src/tag.c 2010-09-21 16:56:29.000000000 +0200
|
||||
--- src/tag.c 2010-12-17 17:49:35.000000000 +0100
|
||||
***************
|
||||
*** 11,20 ****
|
||||
* Code to handle tags and the tag stack
|
||||
*/
|
||||
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for lseek(), must be before vim.h */
|
||||
- #endif
|
||||
-
|
||||
#include "vim.h"
|
||||
|
||||
/*
|
||||
--- 11,16 ----
|
||||
*** ../vim-7.3.084/src/undo.c 2010-12-17 16:27:10.000000000 +0100
|
||||
--- src/undo.c 2010-12-17 17:49:59.000000000 +0100
|
||||
***************
|
||||
*** 81,90 ****
|
||||
#define UH_MAGIC 0x18dade /* value for uh_magic when in use */
|
||||
#define UE_MAGIC 0xabc123 /* value for ue_magic when in use */
|
||||
|
||||
- #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64)
|
||||
- # include "vimio.h" /* for vim_read(), must be before vim.h */
|
||||
- #endif
|
||||
-
|
||||
#include "vim.h"
|
||||
|
||||
static void u_unch_branch __ARGS((u_header_T *uhp));
|
||||
--- 81,86 ----
|
||||
*** ../vim-7.3.084/src/vim.h 2010-12-17 16:27:10.000000000 +0100
|
||||
--- src/vim.h 2010-12-17 17:51:43.000000000 +0100
|
||||
***************
|
||||
*** 27,32 ****
|
||||
--- 27,37 ----
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+ #if defined(MSDOS) || defined(WIN16) || defined(WIN32) || defined(_WIN64) \
|
||||
+ || defined(__EMX__)
|
||||
+ # include "vimio.h"
|
||||
+ #endif
|
||||
+
|
||||
/* ============ the header file puzzle (ca. 50-100 pieces) ========= */
|
||||
|
||||
#ifdef HAVE_CONFIG_H /* GNU autoconf (or something else) was here */
|
||||
*** ../vim-7.3.084/src/version.c 2010-12-17 17:35:05.000000000 +0100
|
||||
--- src/version.c 2010-12-17 17:55:39.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 85,
|
||||
/**/
|
||||
|
||||
--
|
||||
How To Keep A Healthy Level Of Insanity:
|
||||
14. Put mosquito netting around your work area. Play a tape of jungle
|
||||
sounds all day.
|
||||
|
||||
/// 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 ///
|
138
7.3.086
138
7.3.086
@ -1,138 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.086
|
||||
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.086
|
||||
Problem: When using a mapping with an expression and there was no count,
|
||||
v:count has the value of the previous command. (ZyX)
|
||||
Solution: Also set v:count and v:count1 before getting the character that
|
||||
could be a command or a count.
|
||||
Files: src/normal.c
|
||||
|
||||
|
||||
*** ../vim-7.3.085/src/normal.c 2010-10-13 18:06:42.000000000 +0200
|
||||
--- src/normal.c 2010-12-17 18:46:56.000000000 +0100
|
||||
***************
|
||||
*** 25,30 ****
|
||||
--- 25,33 ----
|
||||
static int restart_VIsual_select = 0;
|
||||
#endif
|
||||
|
||||
+ #ifdef FEAT_EVAL
|
||||
+ static void set_vcount_ca __ARGS((cmdarg_T *cap, int *set_prevcount));
|
||||
+ #endif
|
||||
static int
|
||||
# ifdef __BORLANDC__
|
||||
_RTLENTRYF
|
||||
***************
|
||||
*** 648,653 ****
|
||||
--- 651,664 ----
|
||||
dont_scroll = FALSE; /* allow scrolling here */
|
||||
#endif
|
||||
|
||||
+ #ifdef FEAT_EVAL
|
||||
+ /* Set v:count here, when called from main() and not a stuffed
|
||||
+ * command, so that v:count can be used in an expression mapping
|
||||
+ * when there is no count. */
|
||||
+ if (toplevel && stuff_empty())
|
||||
+ set_vcount_ca(&ca, &set_prevcount);
|
||||
+ #endif
|
||||
+
|
||||
/*
|
||||
* Get the command character from the user.
|
||||
*/
|
||||
***************
|
||||
*** 725,739 ****
|
||||
* command, so that v:count can be used in an expression mapping
|
||||
* right after the count. */
|
||||
if (toplevel && stuff_empty())
|
||||
! {
|
||||
! long count = ca.count0;
|
||||
!
|
||||
! /* multiply with ca.opcount the same way as below */
|
||||
! if (ca.opcount != 0)
|
||||
! count = ca.opcount * (count == 0 ? 1 : count);
|
||||
! set_vcount(count, count == 0 ? 1 : count, set_prevcount);
|
||||
! set_prevcount = FALSE; /* only set v:prevcount once */
|
||||
! }
|
||||
#endif
|
||||
if (ctrl_w)
|
||||
{
|
||||
--- 736,742 ----
|
||||
* command, so that v:count can be used in an expression mapping
|
||||
* right after the count. */
|
||||
if (toplevel && stuff_empty())
|
||||
! set_vcount_ca(&ca, &set_prevcount);
|
||||
#endif
|
||||
if (ctrl_w)
|
||||
{
|
||||
***************
|
||||
*** 1386,1391 ****
|
||||
--- 1389,1414 ----
|
||||
opcount = ca.opcount;
|
||||
}
|
||||
|
||||
+ #ifdef FEAT_EVAL
|
||||
+ /*
|
||||
+ * Set v:count and v:count1 according to "cap".
|
||||
+ * Set v:prevcount only when "set_prevcount" is TRUE.
|
||||
+ */
|
||||
+ static void
|
||||
+ set_vcount_ca(cap, set_prevcount)
|
||||
+ cmdarg_T *cap;
|
||||
+ int *set_prevcount;
|
||||
+ {
|
||||
+ long count = cap->count0;
|
||||
+
|
||||
+ /* multiply with cap->opcount the same way as above */
|
||||
+ if (cap->opcount != 0)
|
||||
+ count = cap->opcount * (count == 0 ? 1 : count);
|
||||
+ set_vcount(count, count == 0 ? 1 : count, *set_prevcount);
|
||||
+ *set_prevcount = FALSE; /* only set v:prevcount once */
|
||||
+ }
|
||||
+ #endif
|
||||
+
|
||||
/*
|
||||
* Handle an operator after visual mode or when the movement is finished
|
||||
*/
|
||||
***************
|
||||
*** 8529,8535 ****
|
||||
else
|
||||
curwin->w_curswant = 0;
|
||||
/* keep curswant at the column where we wanted to go, not where
|
||||
! we ended; differs if line is too short */
|
||||
curwin->w_set_curswant = FALSE;
|
||||
}
|
||||
|
||||
--- 8552,8558 ----
|
||||
else
|
||||
curwin->w_curswant = 0;
|
||||
/* keep curswant at the column where we wanted to go, not where
|
||||
! * we ended; differs if line is too short */
|
||||
curwin->w_set_curswant = FALSE;
|
||||
}
|
||||
|
||||
*** ../vim-7.3.085/src/version.c 2010-12-17 18:06:00.000000000 +0100
|
||||
--- src/version.c 2010-12-17 18:51:20.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 86,
|
||||
/**/
|
||||
|
||||
--
|
||||
How To Keep A Healthy Level Of Insanity:
|
||||
15. Five days in advance, tell your friends you can't attend their
|
||||
party because you're not in the mood.
|
||||
|
||||
/// 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 ///
|
152
7.3.087
152
7.3.087
@ -1,152 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.087
|
||||
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.087
|
||||
Problem: EINTR is not always defined.
|
||||
Solution: Include errno.h in vim.h.
|
||||
Files: src/if_cscope.c, src/if_tcl.c, src/integration.c, src/memline.c,
|
||||
src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h,
|
||||
src/workshop.c
|
||||
|
||||
|
||||
*** ../vim-7.3.086/src/if_cscope.c 2010-12-17 18:06:00.000000000 +0100
|
||||
--- src/if_cscope.c 2010-12-17 20:06:01.000000000 +0100
|
||||
***************
|
||||
*** 13,20 ****
|
||||
|
||||
#if defined(FEAT_CSCOPE) || defined(PROTO)
|
||||
|
||||
- #include <string.h>
|
||||
- #include <errno.h>
|
||||
#include <assert.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
--- 13,18 ----
|
||||
*** ../vim-7.3.086/src/if_tcl.c 2010-08-15 21:57:27.000000000 +0200
|
||||
--- src/if_tcl.c 2010-12-17 20:06:56.000000000 +0100
|
||||
***************
|
||||
*** 74,80 ****
|
||||
#endif
|
||||
|
||||
#include <tcl.h>
|
||||
- #include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
typedef struct
|
||||
--- 74,79 ----
|
||||
*** ../vim-7.3.086/src/integration.c 2010-08-15 21:57:29.000000000 +0200
|
||||
--- src/integration.c 2010-12-17 20:07:12.000000000 +0100
|
||||
***************
|
||||
*** 33,39 ****
|
||||
#include <sys/un.h>
|
||||
#endif
|
||||
|
||||
- #include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/param.h>
|
||||
--- 33,38 ----
|
||||
*** ../vim-7.3.086/src/memline.c 2010-12-17 18:06:00.000000000 +0100
|
||||
--- src/memline.c 2010-12-17 20:07:31.000000000 +0100
|
||||
***************
|
||||
*** 52,61 ****
|
||||
# include <proto/dos.h> /* for Open() and Close() */
|
||||
#endif
|
||||
|
||||
- #ifdef HAVE_ERRNO_H
|
||||
- # include <errno.h>
|
||||
- #endif
|
||||
-
|
||||
typedef struct block0 ZERO_BL; /* contents of the first block */
|
||||
typedef struct pointer_block PTR_BL; /* contents of a pointer block */
|
||||
typedef struct data_block DATA_BL; /* contents of a data block */
|
||||
--- 52,57 ----
|
||||
*** ../vim-7.3.086/src/os_mswin.c 2010-12-17 18:06:00.000000000 +0100
|
||||
--- src/os_mswin.c 2010-12-17 20:08:14.000000000 +0100
|
||||
***************
|
||||
*** 30,36 ****
|
||||
# include <string.h>
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
- #include <errno.h>
|
||||
#include <signal.h>
|
||||
#include <limits.h>
|
||||
#include <process.h>
|
||||
--- 30,35 ----
|
||||
*** ../vim-7.3.086/src/os_win16.c 2010-12-17 18:06:00.000000000 +0100
|
||||
--- src/os_win16.c 2010-12-17 20:08:53.000000000 +0100
|
||||
***************
|
||||
*** 25,31 ****
|
||||
#include <dos.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
- #include <errno.h>
|
||||
#include <signal.h>
|
||||
#include <limits.h>
|
||||
#include <process.h>
|
||||
--- 25,30 ----
|
||||
*** ../vim-7.3.086/src/os_win32.c 2010-12-17 18:06:00.000000000 +0100
|
||||
--- src/os_win32.c 2010-12-17 20:09:18.000000000 +0100
|
||||
***************
|
||||
*** 27,33 ****
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
- #include <errno.h>
|
||||
#include <signal.h>
|
||||
#include <limits.h>
|
||||
#include <process.h>
|
||||
--- 27,32 ----
|
||||
*** ../vim-7.3.086/src/vim.h 2010-12-17 18:06:00.000000000 +0100
|
||||
--- src/vim.h 2010-12-17 20:09:56.000000000 +0100
|
||||
***************
|
||||
*** 480,485 ****
|
||||
--- 480,490 ----
|
||||
# include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
+ #if defined(HAVE_ERRNO_H) || defined(DJGPP) || defined(WIN16) \
|
||||
+ || defined(WIN32) || defined(_WIN64) || defined(__EMX__)
|
||||
+ # include <errno.h>
|
||||
+ #endif
|
||||
+
|
||||
/*
|
||||
* Allow other (non-unix) systems to configure themselves now
|
||||
* These are also in os_unix.h, because osdef.sh needs them there.
|
||||
*** ../vim-7.3.086/src/workshop.c 2010-08-15 21:57:26.000000000 +0200
|
||||
--- src/workshop.c 2010-12-17 20:09:31.000000000 +0100
|
||||
***************
|
||||
*** 16,22 ****
|
||||
#include <sys/types.h>
|
||||
#include <netdb.h>
|
||||
#include <netinet/in.h>
|
||||
- #include <errno.h>
|
||||
#include <sys/socket.h>
|
||||
#ifdef HAVE_LIBGEN_H
|
||||
# include <libgen.h>
|
||||
--- 16,21 ----
|
||||
*** ../vim-7.3.086/src/version.c 2010-12-17 18:52:56.000000000 +0100
|
||||
--- src/version.c 2010-12-17 20:14:49.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 87,
|
||||
/**/
|
||||
|
||||
--
|
||||
How To Keep A Healthy Level Of Insanity:
|
||||
17. When the money comes out the ATM, scream "I won!, I won! 3rd
|
||||
time this week!!!!!"
|
||||
|
||||
/// 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 ///
|
152
7.3.088
152
7.3.088
@ -1,152 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.088
|
||||
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.088
|
||||
Problem: Ruby can't load Gems sometimes, may cause a crash.
|
||||
Solution: Undefine off_t. Use ruby_process_options(). (Yasuhiro Matsumoto)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
|
||||
*** ../vim-7.3.087/src/if_ruby.c 2010-12-08 13:11:15.000000000 +0100
|
||||
--- src/if_ruby.c 2010-12-24 12:18:31.000000000 +0100
|
||||
***************
|
||||
*** 90,95 ****
|
||||
--- 90,96 ----
|
||||
# include <ruby/encoding.h>
|
||||
#endif
|
||||
|
||||
+ #undef off_t /* ruby defines off_t as _int64, Mingw uses long */
|
||||
#undef EXTERN
|
||||
#undef _
|
||||
|
||||
***************
|
||||
*** 229,238 ****
|
||||
# define rb_enc_find_index dll_rb_enc_find_index
|
||||
# define rb_enc_find dll_rb_enc_find
|
||||
# define rb_enc_str_new dll_rb_enc_str_new
|
||||
- # define rb_intern2 dll_rb_intern2
|
||||
- # define rb_const_remove dll_rb_const_remove
|
||||
# define rb_sprintf dll_rb_sprintf
|
||||
# define ruby_init_stack dll_ruby_init_stack
|
||||
#endif
|
||||
|
||||
/*
|
||||
--- 230,239 ----
|
||||
# define rb_enc_find_index dll_rb_enc_find_index
|
||||
# define rb_enc_find dll_rb_enc_find
|
||||
# define rb_enc_str_new dll_rb_enc_str_new
|
||||
# define rb_sprintf dll_rb_sprintf
|
||||
+ # define rb_require dll_rb_require
|
||||
# define ruby_init_stack dll_ruby_init_stack
|
||||
+ # define ruby_process_options dll_ruby_process_options
|
||||
#endif
|
||||
|
||||
/*
|
||||
***************
|
||||
*** 319,329 ****
|
||||
static int (*dll_rb_enc_find_index) (const char*);
|
||||
static rb_encoding* (*dll_rb_enc_find) (const char*);
|
||||
static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
|
||||
- static ID (*dll_rb_intern2) (const char*, long);
|
||||
- static void (*dll_Init_prelude) (void);
|
||||
- static VALUE (*dll_rb_const_remove) (VALUE, ID);
|
||||
static VALUE (*dll_rb_sprintf) (const char*, ...);
|
||||
static void (*ruby_init_stack)(VALUE*);
|
||||
#endif
|
||||
|
||||
#ifdef RUBY19_OR_LATER
|
||||
--- 320,329 ----
|
||||
static int (*dll_rb_enc_find_index) (const char*);
|
||||
static rb_encoding* (*dll_rb_enc_find) (const char*);
|
||||
static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
|
||||
static VALUE (*dll_rb_sprintf) (const char*, ...);
|
||||
+ static VALUE (*dll_rb_require) (const char*);
|
||||
static void (*ruby_init_stack)(VALUE*);
|
||||
+ static void* (*ruby_process_options)(int, char**);
|
||||
#endif
|
||||
|
||||
#ifdef RUBY19_OR_LATER
|
||||
***************
|
||||
*** 430,439 ****
|
||||
{"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
|
||||
{"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
|
||||
{"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
|
||||
- {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
|
||||
- {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
|
||||
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
|
||||
{"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
|
||||
#endif
|
||||
{"", NULL},
|
||||
};
|
||||
--- 430,439 ----
|
||||
{"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
|
||||
{"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
|
||||
{"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
|
||||
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
|
||||
+ {"rb_require", (RUBY_PROC*)&dll_rb_require},
|
||||
{"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
|
||||
+ {"ruby_process_options", (RUBY_PROC*)&dll_ruby_process_options},
|
||||
#endif
|
||||
{"", NULL},
|
||||
};
|
||||
***************
|
||||
*** 663,680 ****
|
||||
ruby_init();
|
||||
}
|
||||
#ifdef RUBY19_OR_LATER
|
||||
ruby_script("vim-ruby");
|
||||
! #endif
|
||||
ruby_init_loadpath();
|
||||
- ruby_io_init();
|
||||
- #ifdef RUBY19_OR_LATER
|
||||
- rb_enc_find_index("encdb");
|
||||
-
|
||||
- /* This avoids the error "Encoding::ConverterNotFoundError: code
|
||||
- * converter not found (UTF-16LE to ASCII-8BIT)". */
|
||||
- rb_define_module("Gem");
|
||||
- rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
|
||||
#endif
|
||||
ruby_vim_init();
|
||||
ruby_initialized = 1;
|
||||
#ifdef DYNAMIC_RUBY
|
||||
--- 663,678 ----
|
||||
ruby_init();
|
||||
}
|
||||
#ifdef RUBY19_OR_LATER
|
||||
+ {
|
||||
+ int dummy_argc = 2;
|
||||
+ char *dummy_argv[] = {"vim-ruby", "-e0"};
|
||||
+ ruby_process_options(dummy_argc, dummy_argv);
|
||||
+ }
|
||||
ruby_script("vim-ruby");
|
||||
! #else
|
||||
ruby_init_loadpath();
|
||||
#endif
|
||||
+ ruby_io_init();
|
||||
ruby_vim_init();
|
||||
ruby_initialized = 1;
|
||||
#ifdef DYNAMIC_RUBY
|
||||
*** ../vim-7.3.087/src/version.c 2010-12-17 20:23:56.000000000 +0100
|
||||
--- src/version.c 2010-12-24 13:38:51.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 88,
|
||||
/**/
|
||||
|
||||
--
|
||||
It is hard to understand how a cemetery raised its burial
|
||||
cost and blamed it on the cost of living.
|
||||
|
||||
/// 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.089
52
7.3.089
@ -1,52 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.089
|
||||
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.089
|
||||
Problem: Compiler warning on 64 bit MS-Windows.
|
||||
Solution: Add type cast. (Mike Williams)
|
||||
Files: src/netbeans.c
|
||||
|
||||
|
||||
*** ../vim-7.3.088/src/netbeans.c 2010-12-17 18:06:00.000000000 +0100
|
||||
--- src/netbeans.c 2010-12-17 20:21:05.000000000 +0100
|
||||
***************
|
||||
*** 800,806 ****
|
||||
* -> gui event loop or select loop
|
||||
* -> netbeans_read()
|
||||
*/
|
||||
! save((char_u *)DETACH_MSG, strlen(DETACH_MSG));
|
||||
nb_close_socket();
|
||||
|
||||
if (len < 0)
|
||||
--- 800,806 ----
|
||||
* -> gui event loop or select loop
|
||||
* -> netbeans_read()
|
||||
*/
|
||||
! save((char_u *)DETACH_MSG, (int)strlen(DETACH_MSG));
|
||||
nb_close_socket();
|
||||
|
||||
if (len < 0)
|
||||
*** ../vim-7.3.088/src/version.c 2010-12-24 13:39:29.000000000 +0100
|
||||
--- src/version.c 2010-12-24 13:59:03.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 89,
|
||||
/**/
|
||||
|
||||
--
|
||||
The 50-50-90 rule: Anytime you have a 50-50 chance of getting
|
||||
something right, there's a 90% probability you'll get it wrong.
|
||||
|
||||
/// 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.090
68
7.3.090
@ -1,68 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.090
|
||||
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.090
|
||||
Problem: Wrong help text for Cscope.
|
||||
Solution: Adjust the help text for "t". (Dominique Pelle)
|
||||
Files: src/if_cscope.c
|
||||
|
||||
|
||||
*** ../vim-7.3.089/src/if_cscope.c 2010-12-17 20:23:56.000000000 +0100
|
||||
--- src/if_cscope.c 2010-12-30 11:35:37.000000000 +0100
|
||||
***************
|
||||
*** 1346,1352 ****
|
||||
" g: Find this definition\n"
|
||||
" i: Find files #including this file\n"
|
||||
" s: Find this C symbol\n"
|
||||
! " t: Find assignments to\n"));
|
||||
|
||||
cmdp++;
|
||||
}
|
||||
--- 1346,1352 ----
|
||||
" g: Find this definition\n"
|
||||
" i: Find files #including this file\n"
|
||||
" s: Find this C symbol\n"
|
||||
! " t: Find this text string\n"));
|
||||
|
||||
cmdp++;
|
||||
}
|
||||
***************
|
||||
*** 1657,1663 ****
|
||||
/*
|
||||
* PRIVATE: cs_make_vim_style_matches
|
||||
*
|
||||
! * convert the cscope output into into a ctags style entry (as might be found
|
||||
* in a ctags tags file). there's one catch though: cscope doesn't tell you
|
||||
* the type of the tag you are looking for. for example, in Darren Hiebert's
|
||||
* ctags (the one that comes with vim), #define's use a line number to find the
|
||||
--- 1657,1663 ----
|
||||
/*
|
||||
* PRIVATE: cs_make_vim_style_matches
|
||||
*
|
||||
! * convert the cscope output into a ctags style entry (as might be found
|
||||
* in a ctags tags file). there's one catch though: cscope doesn't tell you
|
||||
* the type of the tag you are looking for. for example, in Darren Hiebert's
|
||||
* ctags (the one that comes with vim), #define's use a line number to find the
|
||||
*** ../vim-7.3.089/src/version.c 2010-12-24 14:00:09.000000000 +0100
|
||||
--- src/version.c 2010-12-30 11:36:33.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 90,
|
||||
/**/
|
||||
|
||||
--
|
||||
ERROR 047: Keyboard not found. Press RETURN to continue.
|
||||
|
||||
/// 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 ///
|
321
7.3.091
321
7.3.091
@ -1,321 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.091
|
||||
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.091
|
||||
Problem: "vim -w foo" writes special key codes for removed escape
|
||||
sequences. (Josh Triplett)
|
||||
Solution: Don't write K_IGNORE codes.
|
||||
Files: src/getchar.c, src/misc1.c, src/term.c, src/vim.h
|
||||
|
||||
|
||||
*** ../vim-7.3.090/src/getchar.c 2010-10-27 17:39:00.000000000 +0200
|
||||
--- src/getchar.c 2010-12-30 12:16:36.000000000 +0100
|
||||
***************
|
||||
*** 1506,1514 ****
|
||||
}
|
||||
}
|
||||
|
||||
- #define KL_PART_KEY -1 /* keylen value for incomplete key-code */
|
||||
- #define KL_PART_MAP -2 /* keylen value for incomplete mapping */
|
||||
-
|
||||
/*
|
||||
* Get the next input character.
|
||||
* Can return a special key or a multi-byte character.
|
||||
--- 1506,1511 ----
|
||||
***************
|
||||
*** 2171,2177 ****
|
||||
if (!timedout)
|
||||
{
|
||||
/* break at a partly match */
|
||||
! keylen = KL_PART_MAP;
|
||||
break;
|
||||
}
|
||||
}
|
||||
--- 2168,2174 ----
|
||||
if (!timedout)
|
||||
{
|
||||
/* break at a partly match */
|
||||
! keylen = KEYLEN_PART_MAP;
|
||||
break;
|
||||
}
|
||||
}
|
||||
***************
|
||||
*** 2192,2198 ****
|
||||
|
||||
/* If no partly match found, use the longest full
|
||||
* match. */
|
||||
! if (keylen != KL_PART_MAP)
|
||||
{
|
||||
mp = mp_match;
|
||||
keylen = mp_match_len;
|
||||
--- 2189,2195 ----
|
||||
|
||||
/* If no partly match found, use the longest full
|
||||
* match. */
|
||||
! if (keylen != KEYLEN_PART_MAP)
|
||||
{
|
||||
mp = mp_match;
|
||||
keylen = mp_match_len;
|
||||
***************
|
||||
*** 2230,2236 ****
|
||||
}
|
||||
/* Need more chars for partly match. */
|
||||
if (mlen == typebuf.tb_len)
|
||||
! keylen = KL_PART_KEY;
|
||||
else if (max_mlen < mlen)
|
||||
/* no match, may have to check for termcode at
|
||||
* next character */
|
||||
--- 2227,2233 ----
|
||||
}
|
||||
/* Need more chars for partly match. */
|
||||
if (mlen == typebuf.tb_len)
|
||||
! keylen = KEYLEN_PART_KEY;
|
||||
else if (max_mlen < mlen)
|
||||
/* no match, may have to check for termcode at
|
||||
* next character */
|
||||
***************
|
||||
*** 2238,2244 ****
|
||||
}
|
||||
|
||||
if ((mp == NULL || max_mlen >= mp_match_len)
|
||||
! && keylen != KL_PART_MAP)
|
||||
{
|
||||
int save_keylen = keylen;
|
||||
|
||||
--- 2235,2241 ----
|
||||
}
|
||||
|
||||
if ((mp == NULL || max_mlen >= mp_match_len)
|
||||
! && keylen != KEYLEN_PART_MAP)
|
||||
{
|
||||
int save_keylen = keylen;
|
||||
|
||||
***************
|
||||
*** 2264,2271 ****
|
||||
/* If no termcode matched but 'pastetoggle'
|
||||
* matched partially it's like an incomplete key
|
||||
* sequence. */
|
||||
! if (keylen == 0 && save_keylen == KL_PART_KEY)
|
||||
! keylen = KL_PART_KEY;
|
||||
|
||||
/*
|
||||
* When getting a partial match, but the last
|
||||
--- 2261,2268 ----
|
||||
/* If no termcode matched but 'pastetoggle'
|
||||
* matched partially it's like an incomplete key
|
||||
* sequence. */
|
||||
! if (keylen == 0 && save_keylen == KEYLEN_PART_KEY)
|
||||
! keylen = KEYLEN_PART_KEY;
|
||||
|
||||
/*
|
||||
* When getting a partial match, but the last
|
||||
***************
|
||||
*** 2302,2308 ****
|
||||
continue;
|
||||
}
|
||||
if (*s == NUL) /* need more characters */
|
||||
! keylen = KL_PART_KEY;
|
||||
}
|
||||
if (keylen >= 0)
|
||||
#endif
|
||||
--- 2299,2305 ----
|
||||
continue;
|
||||
}
|
||||
if (*s == NUL) /* need more characters */
|
||||
! keylen = KEYLEN_PART_KEY;
|
||||
}
|
||||
if (keylen >= 0)
|
||||
#endif
|
||||
***************
|
||||
*** 2339,2345 ****
|
||||
if (keylen > 0) /* full matching terminal code */
|
||||
{
|
||||
#if defined(FEAT_GUI) && defined(FEAT_MENU)
|
||||
! if (typebuf.tb_buf[typebuf.tb_off] == K_SPECIAL
|
||||
&& typebuf.tb_buf[typebuf.tb_off + 1]
|
||||
== KS_MENU)
|
||||
{
|
||||
--- 2336,2343 ----
|
||||
if (keylen > 0) /* full matching terminal code */
|
||||
{
|
||||
#if defined(FEAT_GUI) && defined(FEAT_MENU)
|
||||
! if (typebuf.tb_len >= 2
|
||||
! && typebuf.tb_buf[typebuf.tb_off] == K_SPECIAL
|
||||
&& typebuf.tb_buf[typebuf.tb_off + 1]
|
||||
== KS_MENU)
|
||||
{
|
||||
***************
|
||||
*** 2381,2387 ****
|
||||
/* Partial match: get some more characters. When a
|
||||
* matching mapping was found use that one. */
|
||||
if (mp == NULL || keylen < 0)
|
||||
! keylen = KL_PART_KEY;
|
||||
else
|
||||
keylen = mp_match_len;
|
||||
}
|
||||
--- 2379,2385 ----
|
||||
/* Partial match: get some more characters. When a
|
||||
* matching mapping was found use that one. */
|
||||
if (mp == NULL || keylen < 0)
|
||||
! keylen = KEYLEN_PART_KEY;
|
||||
else
|
||||
keylen = mp_match_len;
|
||||
}
|
||||
***************
|
||||
*** 2553,2559 ****
|
||||
#endif
|
||||
&& typebuf.tb_maplen == 0
|
||||
&& (State & INSERT)
|
||||
! && (p_timeout || (keylen == KL_PART_KEY && p_ttimeout))
|
||||
&& (c = inchar(typebuf.tb_buf + typebuf.tb_off
|
||||
+ typebuf.tb_len, 3, 25L,
|
||||
typebuf.tb_change_cnt)) == 0)
|
||||
--- 2551,2558 ----
|
||||
#endif
|
||||
&& typebuf.tb_maplen == 0
|
||||
&& (State & INSERT)
|
||||
! && (p_timeout
|
||||
! || (keylen == KEYLEN_PART_KEY && p_ttimeout))
|
||||
&& (c = inchar(typebuf.tb_buf + typebuf.tb_off
|
||||
+ typebuf.tb_len, 3, 25L,
|
||||
typebuf.tb_change_cnt)) == 0)
|
||||
***************
|
||||
*** 2783,2791 ****
|
||||
? 0
|
||||
: ((typebuf.tb_len == 0
|
||||
|| !(p_timeout || (p_ttimeout
|
||||
! && keylen == KL_PART_KEY)))
|
||||
? -1L
|
||||
! : ((keylen == KL_PART_KEY && p_ttm >= 0)
|
||||
? p_ttm
|
||||
: p_tm)), typebuf.tb_change_cnt);
|
||||
|
||||
--- 2782,2790 ----
|
||||
? 0
|
||||
: ((typebuf.tb_len == 0
|
||||
|| !(p_timeout || (p_ttimeout
|
||||
! && keylen == KEYLEN_PART_KEY)))
|
||||
? -1L
|
||||
! : ((keylen == KEYLEN_PART_KEY && p_ttm >= 0)
|
||||
? p_ttm
|
||||
: p_tm)), typebuf.tb_change_cnt);
|
||||
|
||||
*** ../vim-7.3.090/src/misc1.c 2010-12-02 16:01:23.000000000 +0100
|
||||
--- src/misc1.c 2010-12-30 12:28:59.000000000 +0100
|
||||
***************
|
||||
*** 3114,3123 ****
|
||||
&& (!p_ttimeout || waited * 100L < (p_ttm < 0 ? p_tm : p_ttm)))
|
||||
continue;
|
||||
|
||||
! /* found a termcode: adjust length */
|
||||
! if (n > 0)
|
||||
len = n;
|
||||
! if (len == 0) /* nothing typed yet */
|
||||
continue;
|
||||
|
||||
/* Handle modifier and/or special key code. */
|
||||
--- 3114,3124 ----
|
||||
&& (!p_ttimeout || waited * 100L < (p_ttm < 0 ? p_tm : p_ttm)))
|
||||
continue;
|
||||
|
||||
! if (n == KEYLEN_REMOVED) /* key code removed */
|
||||
! continue;
|
||||
! if (n > 0) /* found a termcode: adjust length */
|
||||
len = n;
|
||||
! if (len == 0) /* nothing typed yet */
|
||||
continue;
|
||||
|
||||
/* Handle modifier and/or special key code. */
|
||||
*** ../vim-7.3.090/src/term.c 2010-08-15 21:57:32.000000000 +0200
|
||||
--- src/term.c 2010-12-30 12:14:48.000000000 +0100
|
||||
***************
|
||||
*** 3828,3833 ****
|
||||
--- 3831,3837 ----
|
||||
* Check from typebuf.tb_buf[typebuf.tb_off] to typebuf.tb_buf[typebuf.tb_off
|
||||
* + max_offset].
|
||||
* Return 0 for no match, -1 for partial match, > 0 for full match.
|
||||
+ * Return KEYLEN_REMOVED when a key code was deleted.
|
||||
* With a match, the match is removed, the replacement code is inserted in
|
||||
* typebuf.tb_buf[] and the number of characters in typebuf.tb_buf[] is
|
||||
* returned.
|
||||
***************
|
||||
*** 3845,3850 ****
|
||||
--- 3849,3855 ----
|
||||
int slen = 0; /* init for GCC */
|
||||
int modslen;
|
||||
int len;
|
||||
+ int retval = 0;
|
||||
int offset;
|
||||
char_u key_name[2];
|
||||
int modifiers;
|
||||
***************
|
||||
*** 4940,4945 ****
|
||||
--- 4945,4957 ----
|
||||
#endif
|
||||
string[new_slen++] = key_name[1];
|
||||
}
|
||||
+ else if (new_slen == 0 && key_name[0] == KS_EXTRA
|
||||
+ && key_name[1] == KE_IGNORE)
|
||||
+ {
|
||||
+ /* Do not put K_IGNORE into the buffer, do return KEYLEN_REMOVED
|
||||
+ * to indicate what happened. */
|
||||
+ retval = KEYLEN_REMOVED;
|
||||
+ }
|
||||
else
|
||||
{
|
||||
string[new_slen++] = K_SPECIAL;
|
||||
***************
|
||||
*** 4976,4982 ****
|
||||
(size_t)(buflen - offset));
|
||||
mch_memmove(buf + offset, string, (size_t)new_slen);
|
||||
}
|
||||
! return (len + extra + offset);
|
||||
}
|
||||
|
||||
return 0; /* no match found */
|
||||
--- 4988,4994 ----
|
||||
(size_t)(buflen - offset));
|
||||
mch_memmove(buf + offset, string, (size_t)new_slen);
|
||||
}
|
||||
! return retval == 0 ? (len + extra + offset) : retval;
|
||||
}
|
||||
|
||||
return 0; /* no match found */
|
||||
*** ../vim-7.3.090/src/vim.h 2010-12-17 20:23:56.000000000 +0100
|
||||
--- src/vim.h 2010-12-30 12:06:45.000000000 +0100
|
||||
***************
|
||||
*** 2211,2214 ****
|
||||
--- 2211,2218 ----
|
||||
#define MSCR_LEFT -1
|
||||
#define MSCR_RIGHT -2
|
||||
|
||||
+ #define KEYLEN_PART_KEY -1 /* keylen value for incomplete key-code */
|
||||
+ #define KEYLEN_PART_MAP -2 /* keylen value for incomplete mapping */
|
||||
+ #define KEYLEN_REMOVED 9999 /* keylen value for removed sequence */
|
||||
+
|
||||
#endif /* VIM__H */
|
||||
*** ../vim-7.3.090/src/version.c 2010-12-30 11:41:05.000000000 +0100
|
||||
--- src/version.c 2010-12-30 12:24:56.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 91,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
56. You leave the modem speaker on after connecting because you think it
|
||||
sounds like the ocean wind...the perfect soundtrack for "surfing the net".
|
||||
|
||||
/// 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 ///
|
62
7.3.092
62
7.3.092
@ -1,62 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.092
|
||||
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.092
|
||||
Problem: Resizing the window when exiting.
|
||||
Solution: Don't resize when exiting.
|
||||
Files: src/term.c
|
||||
|
||||
|
||||
*** ../vim-7.3.091/src/term.c 2010-12-30 12:30:26.000000000 +0100
|
||||
--- src/term.c 2010-12-30 12:14:48.000000000 +0100
|
||||
***************
|
||||
*** 3053,3062 ****
|
||||
int old_Rows = Rows;
|
||||
int old_Columns = Columns;
|
||||
|
||||
! (void)ui_get_shellsize();
|
||||
! check_shellsize();
|
||||
! if (old_Rows != Rows || old_Columns != Columns)
|
||||
! shell_resized();
|
||||
}
|
||||
|
||||
/*
|
||||
--- 3053,3065 ----
|
||||
int old_Rows = Rows;
|
||||
int old_Columns = Columns;
|
||||
|
||||
! if (!exiting)
|
||||
! {
|
||||
! (void)ui_get_shellsize();
|
||||
! check_shellsize();
|
||||
! if (old_Rows != Rows || old_Columns != Columns)
|
||||
! shell_resized();
|
||||
! }
|
||||
}
|
||||
|
||||
/*
|
||||
*** ../vim-7.3.091/src/version.c 2010-12-30 12:30:26.000000000 +0100
|
||||
--- src/version.c 2010-12-30 14:47:04.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 92,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
57. You begin to wonder how on earth your service provider is allowed to call
|
||||
200 hours per month "unlimited."
|
||||
|
||||
/// 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 ///
|
201
7.3.093
201
7.3.093
@ -1,201 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.093
|
||||
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.093
|
||||
Problem: New DLL dependencies in MingW with gcc 4.5.0.
|
||||
Solution: Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen)
|
||||
Files: src/GvimExt/Make_ming.mak, src/Make_ming.mak
|
||||
|
||||
|
||||
*** ../vim-7.3.092/src/GvimExt/Make_ming.mak 2010-09-29 18:42:25.000000000 +0200
|
||||
--- src/GvimExt/Make_ming.mak 2010-12-30 14:42:51.000000000 +0100
|
||||
***************
|
||||
*** 17,22 ****
|
||||
--- 17,33 ----
|
||||
# check also the executables
|
||||
MINGWOLD = no
|
||||
|
||||
+ # Link against the shared versions of libgcc/libstdc++ by default. Set
|
||||
+ # STATIC_STDCPLUS to "yes" to link against static versions instead.
|
||||
+ STATIC_STDCPLUS=no
|
||||
+ #STATIC_STDCPLUS=yes
|
||||
+
|
||||
+ # Note: -static-libstdc++ is not available until gcc 4.5.x.
|
||||
+ LDFLAGS += -shared
|
||||
+ ifeq (yes, $(STATIC_STDCPLUS))
|
||||
+ LDFLAGS += -static-libgcc -static-libstdc++
|
||||
+ endif
|
||||
+
|
||||
ifeq ($(CROSS),yes)
|
||||
DEL = rm
|
||||
ifeq ($(MINGWOLD),yes)
|
||||
***************
|
||||
*** 33,39 ****
|
||||
endif
|
||||
endif
|
||||
CXX := $(CROSS_COMPILE)g++
|
||||
! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED
|
||||
LIBS := -luuid
|
||||
RES := gvimext.res
|
||||
DEFFILE = gvimext_ming.def
|
||||
--- 44,52 ----
|
||||
endif
|
||||
endif
|
||||
CXX := $(CROSS_COMPILE)g++
|
||||
! WINDRES := $(CROSS_COMPILE)windres
|
||||
! WINDRES_CXX = $(CXX)
|
||||
! WINDRES_FLAGS = --preprocessor="$(WINDRES_CXX) -E -xc" -DRC_INVOKED
|
||||
LIBS := -luuid
|
||||
RES := gvimext.res
|
||||
DEFFILE = gvimext_ming.def
|
||||
***************
|
||||
*** 46,52 ****
|
||||
all: all-before $(DLL) all-after
|
||||
|
||||
$(DLL): $(OBJ) $(RES) $(DEFFILE)
|
||||
! $(CXX) -shared $(CXXFLAGS) -s -o $@ \
|
||||
-Wl,--enable-auto-image-base \
|
||||
-Wl,--enable-auto-import \
|
||||
-Wl,--whole-archive \
|
||||
--- 59,65 ----
|
||||
all: all-before $(DLL) all-after
|
||||
|
||||
$(DLL): $(OBJ) $(RES) $(DEFFILE)
|
||||
! $(CXX) $(LDFLAGS) $(CXXFLAGS) -s -o $@ \
|
||||
-Wl,--enable-auto-image-base \
|
||||
-Wl,--enable-auto-import \
|
||||
-Wl,--whole-archive \
|
||||
***************
|
||||
*** 58,64 ****
|
||||
$(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
|
||||
|
||||
$(RES): gvimext_ming.rc
|
||||
! $(WINDRES) --input-format=rc --output-format=coff -DMING $? -o $@
|
||||
|
||||
clean: clean-custom
|
||||
-$(DEL) $(OBJ) $(RES) $(DLL)
|
||||
--- 71,77 ----
|
||||
$(CXX) $(CXXFLAGS) -DFEAT_GETTEXT -c $? -o $@
|
||||
|
||||
$(RES): gvimext_ming.rc
|
||||
! $(WINDRES) $(WINDRES_FLAGS) --input-format=rc --output-format=coff -DMING $? -o $@
|
||||
|
||||
clean: clean-custom
|
||||
-$(DEL) $(OBJ) $(RES) $(DLL)
|
||||
*** ../vim-7.3.092/src/Make_ming.mak 2010-11-03 21:59:23.000000000 +0100
|
||||
--- src/Make_ming.mak 2010-12-30 14:42:51.000000000 +0100
|
||||
***************
|
||||
*** 56,61 ****
|
||||
--- 56,67 ----
|
||||
NETBEANS=$(GUI)
|
||||
|
||||
|
||||
+ # Link against the shared version of libstdc++ by default. Set
|
||||
+ # STATIC_STDCPLUS to "yes" to link against static version instead.
|
||||
+ ifndef STATIC_STDCPLUS
|
||||
+ STATIC_STDCPLUS=no
|
||||
+ endif
|
||||
+
|
||||
# If the user doesn't want gettext, undefine it.
|
||||
ifeq (no, $(GETTEXT))
|
||||
GETTEXT=
|
||||
***************
|
||||
*** 309,320 ****
|
||||
endif
|
||||
endif
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED
|
||||
|
||||
#>>>>> end of choices
|
||||
###########################################################################
|
||||
|
||||
CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
|
||||
|
||||
ifdef GETTEXT
|
||||
DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
|
||||
--- 315,328 ----
|
||||
endif
|
||||
endif
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
! WINDRES := $(CROSS_COMPILE)windres
|
||||
! WINDRES_CC = $(CC)
|
||||
|
||||
#>>>>> end of choices
|
||||
###########################################################################
|
||||
|
||||
CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
|
||||
+ WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
|
||||
|
||||
ifdef GETTEXT
|
||||
DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
|
||||
***************
|
||||
*** 577,584 ****
|
||||
endif
|
||||
|
||||
ifeq (yes, $(OLE))
|
||||
! LIB += -loleaut32 -lstdc++
|
||||
OBJ += $(OUTDIR)/if_ole.o
|
||||
endif
|
||||
|
||||
ifeq (yes, $(MBYTE))
|
||||
--- 585,597 ----
|
||||
endif
|
||||
|
||||
ifeq (yes, $(OLE))
|
||||
! LIB += -loleaut32
|
||||
OBJ += $(OUTDIR)/if_ole.o
|
||||
+ ifeq (yes, $(STATIC_STDCPLUS))
|
||||
+ LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
|
||||
+ else
|
||||
+ LIB += -lstdc++
|
||||
+ endif
|
||||
endif
|
||||
|
||||
ifeq (yes, $(MBYTE))
|
||||
***************
|
||||
*** 656,665 ****
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
$(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h
|
||||
! $(WINDRES) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
|
||||
|
||||
$(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
|
||||
! $(WINDRES) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
|
||||
|
||||
$(OUTDIR):
|
||||
$(MKDIR) $(OUTDIR)
|
||||
--- 669,678 ----
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
$(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h
|
||||
! $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) vim.rc $(OUTDIR)/vimres.res
|
||||
|
||||
$(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
|
||||
! $(WINDRES) $(WINDRES_FLAGS) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
|
||||
|
||||
$(OUTDIR):
|
||||
$(MKDIR) $(OUTDIR)
|
||||
*** ../vim-7.3.092/src/version.c 2010-12-30 14:47:32.000000000 +0100
|
||||
--- src/version.c 2010-12-30 14:48:34.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 93,
|
||||
/**/
|
||||
|
||||
--
|
||||
Creating the world with Emacs: M-x let-there-be-light
|
||||
Creating the world with Vim: :make world
|
||||
|
||||
/// 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.094
70
7.3.094
@ -1,70 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.094
|
||||
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.094
|
||||
Problem: Using abs() requires type cast to int.
|
||||
Solution: Use labs() so that the value remains long. (Hong Xu)
|
||||
Files: src/screen.c
|
||||
|
||||
|
||||
*** ../vim-7.3.093/src/screen.c 2010-12-08 19:56:52.000000000 +0100
|
||||
--- src/screen.c 2010-12-30 14:54:08.000000000 +0100
|
||||
***************
|
||||
*** 2317,2323 ****
|
||||
num = (long)lnum;
|
||||
else
|
||||
/* 'relativenumber', don't use negative numbers */
|
||||
! num = (long)abs((int)get_cursor_rel_lnum(wp, lnum));
|
||||
|
||||
sprintf((char *)buf, "%*ld ", w, num);
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
--- 2317,2323 ----
|
||||
num = (long)lnum;
|
||||
else
|
||||
/* 'relativenumber', don't use negative numbers */
|
||||
! num = labs((long)get_cursor_rel_lnum(wp, lnum));
|
||||
|
||||
sprintf((char *)buf, "%*ld ", w, num);
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
***************
|
||||
*** 3475,3482 ****
|
||||
num = (long)lnum;
|
||||
else
|
||||
/* 'relativenumber', don't use negative numbers */
|
||||
! num = (long)abs((int)get_cursor_rel_lnum(wp,
|
||||
! lnum));
|
||||
|
||||
sprintf((char *)extra, "%*ld ",
|
||||
number_width(wp), num);
|
||||
--- 3475,3481 ----
|
||||
num = (long)lnum;
|
||||
else
|
||||
/* 'relativenumber', don't use negative numbers */
|
||||
! num = labs((long)get_cursor_rel_lnum(wp, lnum));
|
||||
|
||||
sprintf((char *)extra, "%*ld ",
|
||||
number_width(wp), num);
|
||||
*** ../vim-7.3.093/src/version.c 2010-12-30 14:50:46.000000000 +0100
|
||||
--- src/version.c 2010-12-30 14:56:32.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 94,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
58. You turn on your computer and turn off your wife.
|
||||
|
||||
/// 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.095
70
7.3.095
@ -1,70 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.095
|
||||
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.095
|
||||
Problem: Win32: In Chinese tear-off menu doesn't work. (Weasley)
|
||||
Solution: Use menu_name_equal(). (Alex Jakushev)
|
||||
Files: src/menu.c
|
||||
|
||||
|
||||
*** ../vim-7.3.094/src/menu.c 2010-08-15 21:57:25.000000000 +0200
|
||||
--- src/menu.c 2011-01-04 17:41:38.000000000 +0100
|
||||
***************
|
||||
*** 1512,1519 ****
|
||||
{
|
||||
#ifdef FEAT_MULTI_LANG
|
||||
if (menu->en_name != NULL
|
||||
! && (menu_namecmp(name,menu->en_name)
|
||||
! || menu_namecmp(name,menu->en_dname)))
|
||||
return TRUE;
|
||||
#endif
|
||||
return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname);
|
||||
--- 1512,1519 ----
|
||||
{
|
||||
#ifdef FEAT_MULTI_LANG
|
||||
if (menu->en_name != NULL
|
||||
! && (menu_namecmp(name, menu->en_name)
|
||||
! || menu_namecmp(name, menu->en_dname)))
|
||||
return TRUE;
|
||||
#endif
|
||||
return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname);
|
||||
***************
|
||||
*** 2342,2348 ****
|
||||
|
||||
while (menu != NULL)
|
||||
{
|
||||
! if (STRCMP(name, menu->name) == 0 || STRCMP(name, menu->dname) == 0)
|
||||
{
|
||||
if (menu->children == NULL)
|
||||
{
|
||||
--- 2342,2348 ----
|
||||
|
||||
while (menu != NULL)
|
||||
{
|
||||
! if (menu_name_equal(name, menu))
|
||||
{
|
||||
if (menu->children == NULL)
|
||||
{
|
||||
*** ../vim-7.3.094/src/version.c 2010-12-30 14:57:03.000000000 +0100
|
||||
--- src/version.c 2011-01-04 17:43:41.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 95,
|
||||
/**/
|
||||
|
||||
--
|
||||
If your nose runs, and your feet smell, you might be upside down.
|
||||
|
||||
/// 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 ///
|
97
7.3.096
97
7.3.096
@ -1,97 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.096
|
||||
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.096
|
||||
Problem: "gvim -nb" is not interruptable. Leaking file descriptor on
|
||||
netbeans connection error.
|
||||
Solution: Check for CTRL-C typed. Free file descriptor. (Xavier de Gaye)
|
||||
Files: src/netbeans.c
|
||||
|
||||
|
||||
*** ../vim-7.3.095/src/netbeans.c 2010-12-24 14:00:09.000000000 +0100
|
||||
--- src/netbeans.c 2011-01-04 18:00:35.000000000 +0100
|
||||
***************
|
||||
*** 321,326 ****
|
||||
--- 321,327 ----
|
||||
{
|
||||
nbdebug(("error in gethostbyname() in netbeans_connect()\n"));
|
||||
PERROR("gethostbyname() in netbeans_connect()");
|
||||
+ sock_close(sd);
|
||||
goto theend;
|
||||
}
|
||||
memcpy((char *)&server.sin_addr, host->h_addr, host->h_length);
|
||||
***************
|
||||
*** 370,384 ****
|
||||
|| (errno == EINTR)))
|
||||
{
|
||||
nbdebug(("retrying...\n"));
|
||||
! sleep(5);
|
||||
! if (!doabort)
|
||||
{
|
||||
! ui_breakcheck();
|
||||
! if (got_int)
|
||||
! {
|
||||
! errno = EINTR;
|
||||
! break;
|
||||
! }
|
||||
}
|
||||
if (connect(sd, (struct sockaddr *)&server,
|
||||
sizeof(server)) == 0)
|
||||
--- 371,382 ----
|
||||
|| (errno == EINTR)))
|
||||
{
|
||||
nbdebug(("retrying...\n"));
|
||||
! mch_delay(3000L, TRUE);
|
||||
! ui_breakcheck();
|
||||
! if (got_int)
|
||||
{
|
||||
! errno = EINTR;
|
||||
! break;
|
||||
}
|
||||
if (connect(sd, (struct sockaddr *)&server,
|
||||
sizeof(server)) == 0)
|
||||
***************
|
||||
*** 393,398 ****
|
||||
--- 391,397 ----
|
||||
/* Get here when the server can't be found. */
|
||||
nbdebug(("Cannot connect to Netbeans #2\n"));
|
||||
PERROR(_("Cannot connect to Netbeans #2"));
|
||||
+ sock_close(sd);
|
||||
if (doabort)
|
||||
getout(1);
|
||||
goto theend;
|
||||
***************
|
||||
*** 403,408 ****
|
||||
--- 402,408 ----
|
||||
{
|
||||
nbdebug(("Cannot connect to Netbeans\n"));
|
||||
PERROR(_("Cannot connect to Netbeans"));
|
||||
+ sock_close(sd);
|
||||
if (doabort)
|
||||
getout(1);
|
||||
goto theend;
|
||||
*** ../vim-7.3.095/src/version.c 2011-01-04 17:49:25.000000000 +0100
|
||||
--- src/version.c 2011-01-04 18:09:46.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 96,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
85. Choice between paying Compuserve bill and paying for kids education
|
||||
is a no brainer -- although a bit painful for your kids.
|
||||
|
||||
/// 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.097
54
7.3.097
@ -1,54 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.097
|
||||
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.097
|
||||
Problem: Using ":call" inside "if 0" does not see that a function returns a
|
||||
Dict and gives error for "." as string concatenation.
|
||||
Solution: Use eval0() to skip over the expression. (Yasuhiro Matsumoto)
|
||||
Files: src/eval.c
|
||||
|
||||
|
||||
*** ../vim-7.3.096/src/eval.c 2010-12-17 18:06:00.000000000 +0100
|
||||
--- src/eval.c 2011-01-04 18:54:27.000000000 +0100
|
||||
***************
|
||||
*** 3335,3340 ****
|
||||
--- 3335,3349 ----
|
||||
int failed = FALSE;
|
||||
funcdict_T fudi;
|
||||
|
||||
+ if (eap->skip)
|
||||
+ {
|
||||
+ /* trans_function_name() doesn't work well when skipping, use eval0()
|
||||
+ * instead to skip to any following command, e.g. for:
|
||||
+ * :if 0 | call dict.foo().bar() | endif */
|
||||
+ eval0(eap->arg, &rettv, &eap->nextcmd, FALSE);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
tofree = trans_function_name(&arg, eap->skip, TFN_INT, &fudi);
|
||||
if (fudi.fd_newkey != NULL)
|
||||
{
|
||||
*** ../vim-7.3.096/src/version.c 2011-01-04 18:11:39.000000000 +0100
|
||||
--- src/version.c 2011-01-04 19:00:21.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 97,
|
||||
/**/
|
||||
|
||||
--
|
||||
hundred-and-one symptoms of being an internet addict:
|
||||
86. E-mail Deficiency Depression (EDD) forces you to e-mail yourself.
|
||||
|
||||
/// 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 ///
|
61
7.3.098
61
7.3.098
@ -1,61 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.098
|
||||
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.098
|
||||
Problem: Function that ignores error still causes called_emsg to be set.
|
||||
E.g. when expand() fails the status line is disabled.
|
||||
Solution: Move check for emsg_not_now() up. (James Vega)
|
||||
Files: src/message.c
|
||||
|
||||
|
||||
*** ../vim-7.3.097/src/message.c 2010-10-20 21:22:17.000000000 +0200
|
||||
--- src/message.c 2011-01-04 19:19:04.000000000 +0100
|
||||
***************
|
||||
*** 569,574 ****
|
||||
--- 569,578 ----
|
||||
int severe;
|
||||
#endif
|
||||
|
||||
+ /* Skip this if not giving error messages at the moment. */
|
||||
+ if (emsg_not_now())
|
||||
+ return TRUE;
|
||||
+
|
||||
called_emsg = TRUE;
|
||||
ex_exitval = 1;
|
||||
|
||||
***************
|
||||
*** 581,590 ****
|
||||
emsg_severe = FALSE;
|
||||
#endif
|
||||
|
||||
- /* Skip this if not giving error messages at the moment. */
|
||||
- if (emsg_not_now())
|
||||
- return TRUE;
|
||||
-
|
||||
if (!emsg_off || vim_strchr(p_debug, 't') != NULL)
|
||||
{
|
||||
#ifdef FEAT_EVAL
|
||||
--- 585,590 ----
|
||||
*** ../vim-7.3.097/src/version.c 2011-01-04 19:03:22.000000000 +0100
|
||||
--- src/version.c 2011-01-04 19:24:30.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 98,
|
||||
/**/
|
||||
|
||||
--
|
||||
Ed's Radiator Shop: The Best Place in Town to Take a Leak.
|
||||
|
||||
/// 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.099
54
7.3.099
@ -1,54 +0,0 @@
|
||||
To: vim_dev@googlegroups.com
|
||||
Subject: Patch 7.3.099
|
||||
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.099
|
||||
Problem: Crash when splitting a window with zero height. (Yukihiro
|
||||
Nakadaira)
|
||||
Solution: Don't set the fraction in a window with zero height.
|
||||
Files: src/window.c
|
||||
|
||||
|
||||
*** ../vim-7.3.098/src/window.c 2010-12-17 17:35:05.000000000 +0100
|
||||
--- src/window.c 2011-01-08 14:41:32.000000000 +0100
|
||||
***************
|
||||
*** 986,992 ****
|
||||
|
||||
/* Set w_fraction now so that the cursor keeps the same relative
|
||||
* vertical position. */
|
||||
! set_fraction(oldwin);
|
||||
wp->w_fraction = oldwin->w_fraction;
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
--- 986,993 ----
|
||||
|
||||
/* Set w_fraction now so that the cursor keeps the same relative
|
||||
* vertical position. */
|
||||
! if (oldwin->w_height > 0)
|
||||
! set_fraction(oldwin);
|
||||
wp->w_fraction = oldwin->w_fraction;
|
||||
|
||||
#ifdef FEAT_VERTSPLIT
|
||||
*** ../vim-7.3.098/src/version.c 2011-01-04 19:25:46.000000000 +0100
|
||||
--- src/version.c 2011-01-08 14:44:02.000000000 +0100
|
||||
***************
|
||||
*** 716,717 ****
|
||||
--- 716,719 ----
|
||||
{ /* Add new patch number below this line */
|
||||
+ /**/
|
||||
+ 99,
|
||||
/**/
|
||||
|
||||
--
|
||||
From "know your smileys":
|
||||
8-O "Omigod!!" (done "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 ///
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user