Yukihiro Nakadaira | 18 Dec 11:40 2014
Picon

typo in tag for :help :si

I think that short tag for ":simalt" should be ":sim".

diff -r ab36689121ad runtime/doc/gui_w32.txt
--- a/runtime/doc/gui_w32.txt    Wed Dec 17 21:00:49 2014 +0100
+++ b/runtime/doc/gui_w32.txt    Thu Dec 18 19:31:16 2014 +0900
<at> <at> -452,7 +452,7 <at> <at>
 You can drag and drop one or more files into the Vim window, where they will
 be opened as normal.  See |drag-n-drop|.
 
-                            *:simalt* *:si*
+                            *:simalt* *:sim*
 :sim[alt] {key}        simulate pressing {key} while holding Alt pressed.
             {not in Vi} {only for Win32 versions}

--
Yukihiro Nakadaira - yukihiro.nakadaira <at> gmail.com

--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Lubos Pintes | 18 Dec 11:18 2014
Picon

How to determine the x and y position of the Vim text window on screen

Hello,
We have functions winwidth(winnr) and winheight(winnr).
I thing that winleft(winnr) and wintop(winnr), are missing. Perhaps I 
greatly overlooked something, I don't know how to determine where the 
window with concrete winnr starts.
Any help how to determine window coordinates greatly appreciated.
Thanks

-- 
--

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

mattn | 18 Dec 02:11 2014
Picon

Can't input some greek letters on vim.exe & encoding=utf-8

Hi list.

vim.exe can't handle greek characters when encoding is utf-8. ex: β

In utf-8 encoding, β is 0xCE 0xB2. 0xCE is K_NUL. But it's not a tailing byte.
K_NUL must be escaped when it is contained in input bytes. But it don't need to escape when it's a leading byte.
Below is a patch.

https://gist.github.com/783f0df279cadd04500e

- Yasuhiro Matsumoto

-- 
--

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Bram Moolenaar | 17 Dec 21:01 2014
Picon
Picon

Patch 7.4.560


Patch 7.4.560
Problem:    Memory leak using :wviminfo. Issue 296.
Solution:   Free memory when needed. (idea by Christian Brabandt)
Files:	    src/ops.c

*** ../vim-7.4.559/src/ops.c	2014-12-17 18:35:37.553795955 +0100
--- src/ops.c	2014-12-17 20:59:49.722557613 +0100
***************
*** 5663,5668 ****
--- 5663,5670 ----
      int		set_prev = FALSE;
      char_u	*str;
      char_u	**array = NULL;
+     int		new_type;
+     colnr_T	new_width;

      /* We only get here (hopefully) if line[0] == '"' */
      str = virp->vir_line + 1;
***************
*** 5695,5715 ****
      limit = 100;	/* Optimized for registers containing <= 100 lines */
      if (do_it)
      {
  	if (set_prev)
  	    y_previous = y_current;
! 	vim_free(y_current->y_array);
! 	array = y_current->y_array =
! 		       (char_u **)alloc((unsigned)(limit * sizeof(char_u *)));
  	str = skipwhite(skiptowhite(str));
  	if (STRNCMP(str, "CHAR", 4) == 0)
! 	    y_current->y_type = MCHAR;
  	else if (STRNCMP(str, "BLOCK", 5) == 0)
! 	    y_current->y_type = MBLOCK;
  	else
! 	    y_current->y_type = MLINE;
  	/* get the block width; if it's missing we get a zero, which is OK */
  	str = skipwhite(skiptowhite(str));
! 	y_current->y_width = getdigits(&str);
      }

      while (!(eof = viminfo_readline(virp))
--- 5697,5721 ----
      limit = 100;	/* Optimized for registers containing <= 100 lines */
      if (do_it)
      {
+ 	/*
+ 	 * Build the new register in array[].
+ 	 * y_array is kept as-is until done.
+ 	 * The "do_it" flag is reset when something is wrong, in which case
+ 	 * array[] needs to be freed.
+ 	 */
  	if (set_prev)
  	    y_previous = y_current;
! 	array = (char_u **)alloc((unsigned)(limit * sizeof(char_u *)));
  	str = skipwhite(skiptowhite(str));
  	if (STRNCMP(str, "CHAR", 4) == 0)
! 	    new_type = MCHAR;
  	else if (STRNCMP(str, "BLOCK", 5) == 0)
! 	    new_type = MBLOCK;
  	else
! 	    new_type = MLINE;
  	/* get the block width; if it's missing we get a zero, which is OK */
  	str = skipwhite(skiptowhite(str));
! 	new_width = getdigits(&str);
      }

      while (!(eof = viminfo_readline(virp))
***************
*** 5717,5756 ****
      {
  	if (do_it)
  	{
! 	    if (size >= limit)
  	    {
! 		y_current->y_array = (char_u **)
  			      alloc((unsigned)(limit * 2 * sizeof(char_u *)));
  		for (i = 0; i < limit; i++)
! 		    y_current->y_array[i] = array[i];
  		vim_free(array);
  		limit *= 2;
- 		array = y_current->y_array;
  	    }
  	    str = viminfo_readstring(virp, 1, TRUE);
  	    if (str != NULL)
  		array[size++] = str;
  	    else
  		do_it = FALSE;
  	}
      }
      if (do_it)
      {
  	if (size == 0)
  	{
- 	    vim_free(array);
  	    y_current->y_array = NULL;
  	}
! 	else if (size < limit)
  	{
  	    y_current->y_array =
  			(char_u **)alloc((unsigned)(size * sizeof(char_u *)));
  	    for (i = 0; i < size; i++)
! 		y_current->y_array[i] = array[i];
! 	    vim_free(array);
  	}
- 	y_current->y_size = size;
      }
      return eof;
  }

--- 5723,5788 ----
      {
  	if (do_it)
  	{
! 	    if (size == limit)
  	    {
! 		char_u **new_array = (char_u **)
  			      alloc((unsigned)(limit * 2 * sizeof(char_u *)));
+ 
+ 		if (new_array == NULL)
+ 		{
+ 		    do_it = FALSE;
+ 		    break;
+ 		}
  		for (i = 0; i < limit; i++)
! 		    new_array[i] = array[i];
  		vim_free(array);
+ 		array = new_array;
  		limit *= 2;
  	    }
  	    str = viminfo_readstring(virp, 1, TRUE);
  	    if (str != NULL)
  		array[size++] = str;
  	    else
+ 		/* error, don't store the result */
  		do_it = FALSE;
  	}
      }
      if (do_it)
      {
+ 	/* free y_array[] */
+ 	for (i = 0; i < y_current->y_size; i++)
+ 	    vim_free(y_current->y_array[i]);
+ 	vim_free(y_current->y_array);
+ 
+ 	y_current->y_type = new_type;
+ 	y_current->y_width = new_width;
+ 	y_current->y_size = size;
  	if (size == 0)
  	{
  	    y_current->y_array = NULL;
  	}
! 	else
  	{
+ 	    /* Move the lines from array[] to y_array[]. */
  	    y_current->y_array =
  			(char_u **)alloc((unsigned)(size * sizeof(char_u *)));
  	    for (i = 0; i < size; i++)
! 	    {
! 		if (y_current->y_array == NULL)
! 		    vim_free(array[i]);
! 		else
! 		    y_current->y_array[i] = array[i];
! 	    }
  	}
      }
+     else
+     {
+ 	/* Free array[] if it was filled. */
+ 	for (i = 0; i < size; i++)
+ 	    vim_free(array[i]);
+     }
+     vim_free(array);
+ 
      return eof;
  }

*** ../vim-7.4.559/src/version.c	2014-12-17 18:35:37.553795955 +0100
--- src/version.c	2014-12-17 18:56:33.810259558 +0100
***************
*** 743,744 ****
--- 743,746 ----
  {   /* Add new patch number below this line */
+ /**/
+     560,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
17. You turn on your intercom when leaving the room so you can hear if new
    e-mail arrives.

 /// Bram Moolenaar -- Bram <at> 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    ///

-- 
--

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bram Moolenaar | 17 Dec 18:35 2014
Picon
Picon

Patch 7.4.559


Patch 7.4.559
Problem:    Appending a block in the middle of a tab does not work correctly
	    when virtualedit is set.
Solution:   Decrement spaces and count, don't reset them. (James McCoy)
Files:	    src/ops.c, src/testdir/test39.in, src/testdir/test39.ok

*** ../vim-7.4.558/src/ops.c	2014-11-19 17:35:35.081446695 +0100
--- src/ops.c	2014-12-17 18:28:39.034973177 +0100
***************
*** 612,631 ****
  #ifdef FEAT_MBYTE
  	if (has_mbyte && spaces > 0)
  	{
  	    /* Avoid starting halfway a multi-byte character. */
  	    if (b_insert)
  	    {
! 		int off = (*mb_head_off)(oldp, oldp + offset + spaces);
! 		spaces -= off;
! 		count -= off;
  	    }
  	    else
  	    {
! 		int off = (*mb_off_next)(oldp, oldp + offset);
  		offset += off;
- 		spaces = 0;
- 		count = 0;
  	    }
  	}
  #endif

--- 612,631 ----
  #ifdef FEAT_MBYTE
  	if (has_mbyte && spaces > 0)
  	{
+ 	    int off;
+ 
  	    /* Avoid starting halfway a multi-byte character. */
  	    if (b_insert)
  	    {
! 		off = (*mb_head_off)(oldp, oldp + offset + spaces);
  	    }
  	    else
  	    {
! 		off = (*mb_off_next)(oldp, oldp + offset);
  		offset += off;
  	    }
+ 	    spaces -= off;
+ 	    count -= off;
  	}
  #endif

*** ../vim-7.4.558/src/testdir/test39.in	2014-12-17 14:36:10.363090985 +0100
--- src/testdir/test39.in	2014-12-17 18:27:18.151974111 +0100
***************
*** 38,48 ****
  /^C23$/
  :exe ":norm! l\<C-V>j$hhAab\<Esc>"
  :.,/^$/w >> test.out
! :" Test for Visual block insert when virtualedit=all
! :set ve=all
  :/\t\tline
  :exe ":norm! 07l\<C-V>jjIx\<Esc>"
! :set ve=
  :.,/^$/w >> test.out
  :" gUe must uppercase a whole word, also when ß changes to SS
  Gothe youtußeuu end Ypk0wgUe
--- 38,51 ----
  /^C23$/
  :exe ":norm! l\<C-V>j$hhAab\<Esc>"
  :.,/^$/w >> test.out
! :" Test for Visual block insert when virtualedit=all and utf-8 encoding
! :set ve=all enc=utf-8
  :/\t\tline
  :exe ":norm! 07l\<C-V>jjIx\<Esc>"
! :.,/^$/w >> test.out
! :" Test for Visual block append when virtualedit=all
! :exe ":norm! 012l\<C-v>jjAx\<Esc>"
! :set ve= enc=latin1
  :.,/^$/w >> test.out
  :" gUe must uppercase a whole word, also when ß changes to SS
  Gothe youtußeuu end Ypk0wgUe
*** ../vim-7.4.558/src/testdir/test39.ok	2014-08-16 18:13:00.082044726 +0200
--- src/testdir/test39.ok	2014-12-17 18:18:33.090470463 +0100
***************
*** 26,31 ****
--- 26,35 ----
         x 	line2
         x 	line3

+        x     x   line1
+        x     x   line2
+        x     x   line3
+ 
  the YOUTUSSEUU end
  - yOUSSTUSSEXu -
  THE YOUTUSSEUU END
*** ../vim-7.4.558/src/version.c	2014-12-17 17:59:26.916631344 +0100
--- src/version.c	2014-12-17 18:32:23.276199179 +0100
***************
*** 743,744 ****
--- 743,746 ----
  {   /* Add new patch number below this line */
+ /**/
+     559,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
15. Your heart races faster and beats irregularly each time you see a new WWW
    site address in print or on TV, even though you've never had heart
    problems before.

 /// Bram Moolenaar -- Bram <at> 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    ///

-- 
--

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bram Moolenaar | 17 Dec 17:59 2014
Picon
Picon

Patch 7.4.558


Patch 7.4.558
Problem:    When the X server restarts Vim may get stuck.
Solution:   Destroy the application context and create it again.  (Issue 203)
Files:	    src/os_unix.c

*** ../vim-7.4.557/src/os_unix.c	2014-12-17 14:36:10.367090935 +0100
--- src/os_unix.c	2014-12-17 17:55:23.187644328 +0100
***************
*** 1617,1622 ****
--- 1617,1633 ----
      if (xterm_dpy_was_reset)
      {
  	xterm_dpy_was_reset = FALSE;
+ 
+ # ifndef LESSTIF_VERSION
+ 	/* This has been reported to avoid Vim getting stuck. */
+ 	if (app_context != (XtAppContext)NULL)
+ 	{
+ 	    XtDestroyApplicationContext(app_context);
+ 	    app_context = (XtAppContext)NULL;
+ 	    x11_display = NULL; /* freed by XtDestroyApplicationContext() */
+ 	}
+ # endif
+ 
  	setup_term_clip();
  	get_x11_title(FALSE);
      }
*** ../vim-7.4.557/src/version.c	2014-12-17 14:47:52.870412129 +0100
--- src/version.c	2014-12-17 17:57:10.026323560 +0100
***************
*** 743,744 ****
--- 743,746 ----
  {   /* Add new patch number below this line */
+ /**/
+     558,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
14. You start introducing yourself as "Jim at I-I-Net dot net dot au"

 /// Bram Moolenaar -- Bram <at> 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    ///

-- 
--

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bram Moolenaar | 17 Dec 14:48 2014
Picon
Picon

Patch 7.4.557


Patch 7.4.557
Problem:    One more small issue.
Solution:   Update function proto.
Files:	    src/proto/window.pro

*** ../vim-7.4.556/src/proto/window.pro	2014-06-17 17:48:21.780628008 +0200
--- src/proto/window.pro	2014-11-12 15:34:22.895421553 +0100
***************
*** 75,81 ****
  void switch_buffer __ARGS((buf_T **save_curbuf, buf_T *buf));
  void restore_buffer __ARGS((buf_T *save_curbuf));
  int win_hasvertsplit __ARGS((void));
! int match_add __ARGS((win_T *wp, char_u *grp, char_u *pat, int prio, int id, list_T *pos));
  int match_delete __ARGS((win_T *wp, int id, int perr));
  void clear_matches __ARGS((win_T *wp));
  matchitem_T *get_match __ARGS((win_T *wp, int id));
--- 75,81 ----
  void switch_buffer __ARGS((buf_T **save_curbuf, buf_T *buf));
  void restore_buffer __ARGS((buf_T *save_curbuf));
  int win_hasvertsplit __ARGS((void));
! int match_add __ARGS((win_T *wp, char_u *grp, char_u *pat, int prio, int id, list_T *pos_list));
  int match_delete __ARGS((win_T *wp, int id, int perr));
  void clear_matches __ARGS((win_T *wp));
  matchitem_T *get_match __ARGS((win_T *wp, int id));
*** ../vim-7.4.556/src/version.c	2014-12-17 14:45:56.095854545 +0100
--- src/version.c	2014-12-17 14:47:19.674822175 +0100
***************
*** 743,744 ****
--- 743,746 ----
  {   /* Add new patch number below this line */
+ /**/
+     557,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
5. You find yourself brainstorming for new subjects to search.

 /// Bram Moolenaar -- Bram <at> 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    ///

-- 
--

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bram Moolenaar | 17 Dec 14:46 2014
Picon
Picon

Patch 7.4.556


Patch 7.4.556
Problem:    Failed commands in Python interface not handled correctly.
Solution:   Restore window and buffer on failure.
Files:	    src/if_py_both.h

*** ../vim-7.4.555/src/if_py_both.h	2014-08-29 13:49:48.678436915 +0200
--- src/if_py_both.h	2014-09-19 14:21:33.474404353 +0200
***************
*** 3172,3177 ****
--- 3172,3178 ----
  	    if (switch_win(&save_curwin, &save_curtab, (win_T *)from,
  			      win_find_tabpage((win_T *)from), FALSE) == FAIL)
  	    {
+ 		restore_win(save_curwin, save_curtab, TRUE);
  		if (VimTryEnd())
  		    return -1;
  		PyErr_SET_VIM(N_("problem while switching windows"));
***************
*** 4032,4040 ****
      win_T	*wp;
      tabpage_T	*tp;

!     if (find_win_for_buf(buf, &wp, &tp) == FAIL
! 	    || switch_win(save_curwinp, save_curtabp, wp, tp, TRUE) == FAIL)
  	switch_buffer(save_curbufp, buf);
  }

      static void
--- 4033,4045 ----
      win_T	*wp;
      tabpage_T	*tp;

!     if (find_win_for_buf(buf, &wp, &tp) == FAIL)
  	switch_buffer(save_curbufp, buf);
+     else if (switch_win(save_curwinp, save_curtabp, wp, tp, TRUE) == FAIL)
+     {
+ 	restore_win(*save_curwinp, *save_curtabp, TRUE);
+ 	switch_buffer(save_curbufp, buf);
+     }
  }

      static void
*** ../vim-7.4.555/src/version.c	2014-12-17 14:42:42.990240206 +0100
--- src/version.c	2014-12-17 14:44:33.304877367 +0100
***************
*** 743,744 ****
--- 743,746 ----
  {   /* Add new patch number below this line */
+ /**/
+     556,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
4. Your eyeglasses have a web site burned in on them.

 /// Bram Moolenaar -- Bram <at> 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    ///

-- 
--

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bram Moolenaar | 17 Dec 14:43 2014
Picon
Picon

Patch 7.4.555


Patch 7.4.555
Problem:    test_close_count may fail for some combination of features.
Solution:   Require normal features.
Files:	    src/testdir/test_close_count.in

*** ../vim-7.4.554/src/testdir/test_close_count.in	2014-11-27 16:22:42.746412995 +0100
--- src/testdir/test_close_count.in	2014-11-30 13:07:39.347388895 +0100
***************
*** 1,8 ****
  Tests for :[count]close! and :[count]hide     vim: set ft=vim :

  STARTTEST
  :let tests = []
- :so tiny.vim
  :for i in range(5)
  :new
  :endfor
--- 1,8 ----
  Tests for :[count]close! and :[count]hide     vim: set ft=vim :

  STARTTEST
+ :so small.vim
  :let tests = []
  :for i in range(5)
  :new
  :endfor
***************
*** 46,52 ****

  STARTTEST
  :let tests = []
- :so tiny.vim
  :for i in range(5)
  :new
  :endfor
--- 46,51 ----
***************
*** 94,100 ****

  STARTTEST
  :let tests = []
- :so tiny.vim
  :set hidden
  :for i in range(5)
  :new
--- 93,98 ----
***************
*** 123,129 ****

  STARTTEST
  :let tests = []
- :so tiny.vim
  :set hidden
  :for i in range(5)
  :new
--- 121,126 ----
*** ../vim-7.4.554/src/version.c	2014-12-17 14:41:06.083437433 +0100
--- src/version.c	2014-12-17 14:42:07.426679571 +0100
***************
*** 743,744 ****
--- 743,746 ----
  {   /* Add new patch number below this line */
+ /**/
+     555,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
3. Your bookmark takes 15 minutes to scroll from top to bottom.

 /// Bram Moolenaar -- Bram <at> 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    ///

-- 
--

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bram Moolenaar | 17 Dec 14:41 2014
Picon
Picon

Patch 7.4.554


Patch 7.4.554
Problem:    Missing part of patch 7.4.519.
Solution:   Copy back regprog after calling vim_regexec.
Files:	    src/quickfix.c

*** ../vim-7.4.553/src/quickfix.c	2014-07-23 16:33:04.075886500 +0200
--- src/quickfix.c	2014-11-19 16:21:16.404128731 +0100
***************
*** 592,597 ****
--- 592,599 ----
  restofline:
  	for ( ; fmt_ptr != NULL; fmt_ptr = fmt_ptr->next)
  	{
+ 	    int r;
+ 
  	    idx = fmt_ptr->prefix;
  	    if (multiscan && vim_strchr((char_u *)"OPQ", idx) == NULL)
  		continue;
***************
*** 607,613 ****
  	    tail = NULL;

  	    regmatch.regprog = fmt_ptr->prog;
! 	    if (vim_regexec(&regmatch, IObuff, (colnr_T)0))
  	    {
  		if ((idx == 'C' || idx == 'Z') && !multiline)
  		    continue;
--- 609,617 ----
  	    tail = NULL;

  	    regmatch.regprog = fmt_ptr->prog;
! 	    r = vim_regexec(&regmatch, IObuff, (colnr_T)0);
! 	    fmt_ptr->prog = regmatch.regprog;
! 	    if (r)
  	    {
  		if ((idx == 'C' || idx == 'Z') && !multiline)
  		    continue;
*** ../vim-7.4.553/src/version.c	2014-12-17 14:36:10.367090935 +0100
--- src/version.c	2014-12-17 14:40:51.463618087 +0100
***************
*** 743,744 ****
--- 743,746 ----
  {   /* Add new patch number below this line */
+ /**/
+     554,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
2. You kiss your girlfriend's home page.

 /// Bram Moolenaar -- Bram <at> 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    ///

-- 
--

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Bram Moolenaar | 17 Dec 14:36 2014
Picon
Picon

Patch 7.4.553


Patch 7.4.553
Problem:    Various small issues.
Solution:   Fix those issues.
Files:	    src/ex_cmds.h, src/gui.h, src/message.c, src/testdir/test39.in,
	    src/proto/eval.pro, src/proto/misc1.pro, src/proto/ops.pro,
	    src/proto/screen.pro, src/proto/window.pro. src/os_unix.c,
	    src/Make_vms.mms, src/proto/os_vms.pro, src/INSTALL

*** ../vim-7.4.552/src/ex_cmds.h	2014-12-08 04:16:26.257702950 +0100
--- src/ex_cmds.h	2014-12-17 12:41:18.536370067 +0100
***************
*** 63,69 ****
  #define ADDR_WINDOWS		1
  #define ADDR_ARGUMENTS		2
  #define ADDR_LOADED_BUFFERS	3
! #define ADDR_BUFFERS	4
  #define ADDR_TABS		5

  #ifndef DO_DECLARE_EXCMD
--- 63,69 ----
  #define ADDR_WINDOWS		1
  #define ADDR_ARGUMENTS		2
  #define ADDR_LOADED_BUFFERS	3
! #define ADDR_BUFFERS		4
  #define ADDR_TABS		5

  #ifndef DO_DECLARE_EXCMD
*** ../vim-7.4.552/src/gui.h	2013-06-17 22:22:49.000000000 +0200
--- src/gui.h	2014-11-20 22:14:04.635717128 +0100
***************
*** 41,47 ****
  # include <Events.h>
  # include <Menus.h>
  # if !(defined (TARGET_API_MAC_CARBON) && (TARGET_API_MAC_CARBON))
! #   include <Windows.h>
  # endif
  # include <Controls.h>
  /*# include <TextEdit.h>*/
--- 41,47 ----
  # include <Events.h>
  # include <Menus.h>
  # if !(defined (TARGET_API_MAC_CARBON) && (TARGET_API_MAC_CARBON))
! #  include <Windows.h>
  # endif
  # include <Controls.h>
  /*# include <TextEdit.h>*/
*** ../vim-7.4.552/src/message.c	2014-02-23 22:52:33.368764715 +0100
--- src/message.c	2014-10-31 13:43:15.075230535 +0100
***************
*** 4030,4040 ****
   * pointer for resulting string argument if "str_m" is zero (as per ISO C99).
   *
   * The return value is the number of characters which would be generated
!  * for the given input, excluding the trailing null. If this value
   * is greater or equal to "str_m", not all characters from the result
   * have been stored in str, output bytes beyond the ("str_m"-1) -th character
   * are discarded. If "str_m" is greater than zero it is guaranteed
!  * the resulting string will be null-terminated.
   */

  /*
--- 4030,4040 ----
   * pointer for resulting string argument if "str_m" is zero (as per ISO C99).
   *
   * The return value is the number of characters which would be generated
!  * for the given input, excluding the trailing NUL. If this value
   * is greater or equal to "str_m", not all characters from the result
   * have been stored in str, output bytes beyond the ("str_m"-1) -th character
   * are discarded. If "str_m" is greater than zero it is guaranteed
!  * the resulting string will be NUL-terminated.
   */

  /*
*** ../vim-7.4.552/src/testdir/test39.in	2014-08-16 18:13:00.082044726 +0200
--- src/testdir/test39.in	2014-08-16 18:22:56.418023098 +0200
***************
*** 85,90 ****
--- 85,94 ----
  cccc
  dddd

+ yaaa
+ ¿¿¿
+ bbb
+ 
  A23
  4567

*** ../vim-7.4.552/src/proto/eval.pro	2014-05-07 17:31:32.473182497 +0200
--- src/proto/eval.pro	2014-11-12 15:34:08.671587958 +0100
***************
*** 59,66 ****
  int list_append_dict __ARGS((list_T *list, dict_T *dict));
  int list_append_string __ARGS((list_T *l, char_u *str, int len));
  int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
- void vimlist_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
  void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item));
  int garbage_collect __ARGS((void));
  void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
  void set_ref_in_list __ARGS((list_T *l, int copyID));
--- 59,66 ----
  int list_append_dict __ARGS((list_T *list, dict_T *dict));
  int list_append_string __ARGS((list_T *l, char_u *str, int len));
  int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
  void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item));
+ void vimlist_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
  int garbage_collect __ARGS((void));
  void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID));
  void set_ref_in_list __ARGS((list_T *l, int copyID));
*** ../vim-7.4.552/src/proto/misc1.pro	2014-06-25 14:39:35.110348584 +0200
--- src/proto/misc1.pro	2014-11-12 15:34:16.043501712 +0100
***************
*** 5,11 ****
  int get_indent_str __ARGS((char_u *ptr, int ts, int list));
  int set_indent __ARGS((int size, int flags));
  int get_number_indent __ARGS((linenr_T lnum));
! int get_breakindent_win __ARGS((win_T *wp, char_u *ptr));
  int open_line __ARGS((int dir, int flags, int second_line_indent));
  int get_leader_len __ARGS((char_u *line, char_u **flags, int backward, int include_space));
  int get_last_leader_offset __ARGS((char_u *line, char_u **flags));
--- 5,11 ----
  int get_indent_str __ARGS((char_u *ptr, int ts, int list));
  int set_indent __ARGS((int size, int flags));
  int get_number_indent __ARGS((linenr_T lnum));
! int get_breakindent_win __ARGS((win_T *wp, char_u *line));
  int open_line __ARGS((int dir, int flags, int second_line_indent));
  int get_leader_len __ARGS((char_u *line, char_u **flags, int backward, int include_space));
  int get_last_leader_offset __ARGS((char_u *line, char_u **flags));
*** ../vim-7.4.552/src/proto/ops.pro	2014-04-29 12:15:22.860032651 +0200
--- src/proto/ops.pro	2014-11-12 15:34:17.567483882 +0100
***************
*** 55,62 ****
  char_u get_reg_type __ARGS((int regname, long *reglen));
  char_u *get_reg_contents __ARGS((int regname, int flags));
  void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append));
- void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int
yank_type, long block_len));
  void write_reg_contents_lst __ARGS((int name, char_u **strings, int maxlen, int must_append, int
yank_type, long block_len));
  void clear_oparg __ARGS((oparg_T *oap));
  void cursor_pos_info __ARGS((void));
  /* vim: set ft=c : */
--- 55,62 ----
  char_u get_reg_type __ARGS((int regname, long *reglen));
  char_u *get_reg_contents __ARGS((int regname, int flags));
  void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append));
  void write_reg_contents_lst __ARGS((int name, char_u **strings, int maxlen, int must_append, int
yank_type, long block_len));
+ void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int
yank_type, long block_len));
  void clear_oparg __ARGS((oparg_T *oap));
  void cursor_pos_info __ARGS((void));
  /* vim: set ft=c : */
*** ../vim-7.4.552/src/proto/screen.pro	2013-08-10 13:37:25.000000000 +0200
--- src/proto/screen.pro	2014-11-12 15:34:19.455461795 +0100
***************
*** 26,32 ****
  void screen_putchar __ARGS((int c, int row, int col, int attr));
  void screen_getbytes __ARGS((int row, int col, char_u *bytes, int *attrp));
  void screen_puts __ARGS((char_u *text, int row, int col, int attr));
! void screen_puts_len __ARGS((char_u *text, int len, int row, int col, int attr));
  void screen_stop_highlight __ARGS((void));
  void reset_cterm_colors __ARGS((void));
  void screen_draw_rectangle __ARGS((int row, int col, int height, int width, int invert));
--- 26,32 ----
  void screen_putchar __ARGS((int c, int row, int col, int attr));
  void screen_getbytes __ARGS((int row, int col, char_u *bytes, int *attrp));
  void screen_puts __ARGS((char_u *text, int row, int col, int attr));
! void screen_puts_len __ARGS((char_u *text, int textlen, int row, int col, int attr));
  void screen_stop_highlight __ARGS((void));
  void reset_cterm_colors __ARGS((void));
  void screen_draw_rectangle __ARGS((int row, int col, int height, int width, int invert));
*** ../vim-7.4.552/src/os_unix.c	2014-11-19 18:48:41.515814987 +0100
--- src/os_unix.c	2014-11-23 13:47:50.484703720 +0100
***************
*** 1609,1615 ****
  /*
   * If the X11 connection was lost try to restore it.
   * Helps when the X11 server was stopped and restarted while Vim was inactive
!  * (e.g. though tmux).
   */
      static void
  may_restore_clipboard()
--- 1609,1615 ----
  /*
   * If the X11 connection was lost try to restore it.
   * Helps when the X11 server was stopped and restarted while Vim was inactive
!  * (e.g. through tmux).
   */
      static void
  may_restore_clipboard()
*** ../vim-7.4.552/src/Make_vms.mms	2014-03-12 16:51:35.048792541 +0100
--- src/Make_vms.mms	2014-08-10 16:27:11.040711199 +0200
***************
*** 2,8 ****
  # Makefile for Vim on OpenVMS
  #
  # Maintainer:   Zoltan Arpadffy <arpadffy <at> polarhome.com>
! # Last change:  2014 Feb 24
  #
  # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
  # with MMS and MMK
--- 2,8 ----
  # Makefile for Vim on OpenVMS
  #
  # Maintainer:   Zoltan Arpadffy <arpadffy <at> polarhome.com>
! # Last change:  2014 Aug 10
  #
  # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
  # with MMS and MMK
***************
*** 309,315 ****
  ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
  	   $(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(SNIFF_LIB) $(RUBY_LIB)

! SRC =	blowfish.c buffer.c charset.c diff.c digraph.c edit.c eval.c ex_cmds.c ex_cmds2.c \
  	ex_docmd.c ex_eval.c ex_getln.c if_xcmdsrv.c fileio.c fold.c getchar.c \
  	hardcopy.c hashtab.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
  	misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c sha256.c\
--- 309,315 ----
  ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
  	   $(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(SNIFF_LIB) $(RUBY_LIB)

! SRC =	blowfish.c buffer.c charset.c crypt.c, crypt_zip.c diff.c digraph.c edit.c eval.c ex_cmds.c
ex_cmds2.c \
  	ex_docmd.c ex_eval.c ex_getln.c if_xcmdsrv.c fileio.c fold.c getchar.c \
  	hardcopy.c hashtab.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
  	misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c sha256.c\
***************
*** 318,324 ****
  	$(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) $(SNIFF_SRC) \
  	$(RUBY_SRC) $(HANGULIN_SRC) $(MZSCH_SRC)

! OBJ =	blowfish.obj buffer.obj charset.obj diff.obj digraph.obj edit.obj eval.obj \
  	ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj \
  	if_xcmdsrv.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj main.obj mark.obj \
  	menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
--- 318,324 ----
  	$(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) $(SNIFF_SRC) \
  	$(RUBY_SRC) $(HANGULIN_SRC) $(MZSCH_SRC)

! OBJ =	blowfish.obj buffer.obj charset.obj crypt.obj, crypt_zip.obj diff.obj digraph.obj edit.obj
eval.obj \
  	ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj \
  	if_xcmdsrv.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj main.obj mark.obj \
  	menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
*** ../vim-7.4.552/src/proto/os_vms.pro	2014-03-12 16:51:35.060792541 +0100
--- src/proto/os_vms.pro	2014-11-12 15:34:29.219347574 +0100
***************
*** 5,15 ****
  char_u *mch_getenv __ARGS((char_u *lognam));
  int mch_setenv __ARGS((char *var, char *value, int x));
  int vms_sys __ARGS((char *cmd, char *out, char *inp));
  int vms_sys_status __ARGS((int status));
  int vms_read __ARGS((char *inbuf, size_t nbytes));
- char *vms_tolower __ARGS((char *name));
  int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
  int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
  void *vms_fixfilename __ARGS((void *instring));
  void vms_remove_version __ARGS((void *fname));
  /* vim: set ft=c : */
--- 5,16 ----
  char_u *mch_getenv __ARGS((char_u *lognam));
  int mch_setenv __ARGS((char *var, char *value, int x));
  int vms_sys __ARGS((char *cmd, char *out, char *inp));
+ char *vms_tolower __ARGS((char *name));
  int vms_sys_status __ARGS((int status));
  int vms_read __ARGS((char *inbuf, size_t nbytes));
  int mch_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
  int mch_expandpath __ARGS((garray_T *gap, char_u *path, int flags));
  void *vms_fixfilename __ARGS((void *instring));
  void vms_remove_version __ARGS((void *fname));
+ int RealWaitForChar __ARGS((int fd, long msec, int *check_for_gpm));
  /* vim: set ft=c : */
*** ../vim-7.4.552/src/INSTALL	2011-05-19 12:36:17.000000000 +0200
--- src/INSTALL	2014-07-06 14:30:41.411368351 +0200
***************
*** 316,322 ****
  the `configure' script.  `configure' automatically checks for the
  source code in the directory that `configure' is in and in `..'.

!    If you have to use a `make' that does not supports the `VPATH'
  variable, you have to compile the package for one architecture at a time
  in the source code directory.  After you have installed the package for
  one architecture, use `make distclean' before reconfiguring for another
--- 316,322 ----
  the `configure' script.  `configure' automatically checks for the
  source code in the directory that `configure' is in and in `..'.

!    If you have to use a `make' that does not support the `VPATH'
  variable, you have to compile the package for one architecture at a time
  in the source code directory.  After you have installed the package for
  one architecture, use `make distclean' before reconfiguring for another
*** ../vim-7.4.552/src/version.c	2014-12-14 00:43:50.335749455 +0100
--- src/version.c	2014-12-17 12:39:41.933558755 +0100
***************
*** 743,744 ****
--- 743,746 ----
  {   /* Add new patch number below this line */
+ /**/
+     553,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
1. You actually wore a blue ribbon to protest the Communications Decency Act.

 /// Bram Moolenaar -- Bram <at> 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    ///

-- 
--

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe <at> googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Gmane