VIM is inserting characters when start up

2015-09-01 Fir de Conversatie Luis González
Hi All,

Using VIM version:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 25 2015 16:53:28)
Included patches: 1-801, 803-808, 810-838
Compiled by 

I found the following issue:
When I start vim for existing file, randomly insert a character 'g'.

Reading in the web https://bbs.archlinux.org/viewtopic.php?id=199362, found 
that describing similar issue but I do not use URxvt or any X term.

The issue starts when I try to enable features using my .vimrc file.
Could anyone help me to fix this?

Thanks,

Luis

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 7.4.853

2015-09-01 Fir de Conversatie Gary Johnson
On 2015-09-01, Bram Moolenaar wrote:
> Patch 7.4.853
> Problem:"zt" in diff mode does not always work properly. (Gary Johnson)
> Solution:   Don't count filler lines twice. (Christian Brabandt)
> Files:  src/move.c

>   #ifdef FEAT_DIFF
> ! /* used already contains the number of filler lines above, don't add it
> !  * again.
> !  * TODO: if filler lines above new top are to be considered as context 
> for
> !  * the current window, leave next statement commented, else hide filler
> !  * lines above cursor line, by adding them to extra */
> ! /* extra += diff_check_fill(curwin, curwin->w_cursor.lnum); */
>   #endif

Thanks for this change.  I think it would work better and as I think
"zt" should if that line was uncommented.

Even then, though, there is a bug in the behavior.  It was in
Christian's original patch, too--I just didn't notice it until I
started testing this patch.

With the cursor on the line immediately below the fill lines, "zt"
moves the line to the top of the window.  It also works when the
cursor is on the third line and farther below the fill lines.  But
when the cursor is on the second line below the fill lines, "zt"
moves the line to the middle of the window.

Here's a demonstration.

$ vimdiff -N -u NONE -c 'set foldlevel=99' +201 <(seq 200; seq 301 500) 
<(seq 500)

The cursor should be on line 201 in the left window, which contains
the text "301".  Type zt and notice that the line with "301" moves
to the top of the window.  Move the cursor down one line to the
"302" and type zt again.  This time the line moved to the center of
the window.  Move the cursor down one line to the "303", type zt
again, and notice that the line moves to the top of the window.
Typing zt on any line containing "301" or greater correctly (IMO)
moves the line to the top of the window, _except_ for the line
containing "302".

Regards,
Gary

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [patch] Fixed segfault from using regexes with clientserver

2015-09-01 Fir de Conversatie 'James Kolb' via vim_dev
On Sat, Aug 22, 2015 at 10:04 AM, Bram Moolenaar  wrote:

>
> James Kolb wrote:
>
> > On Friday, August 21, 2015 at 1:39:10 PM UTC-4, Bram Moolenaar wrote:
> > > James Kolb wrote:
> > >
> > > > The current regex code may call mch_breakcheck which can process X
> events.
> > > > One of these events could be a remote_expr that makes its own call
> into the
> > > > regex engine. This usually crashes because the regex engine isn't
> > > > reentrant. This is probably also a problem for anything else that
> runs long
> > > > enough to make breakchecks and isn't reentrant.
> > > >
> > > > This crash can usually be reproduced in linux by running vim with a
> > > > --servername argument and typing the command:
> > > > :call system("sleep 1 && vim --servername ".v:servername."
> --remote-expr
> > > > 'substitute(string(range(5000)), \"a\", \"b\", \"g\")' &") | call
> > > > substitute(string(range(5000)), '\(,.*\)\@ > > >
> > > > The attached patch fixes the problem by preventing RealWaitForChar
> from
> > > > processing X events if it is called from mch_breakcheck.
> > >
> > > Thanks for the patch.  However, I think the proper solution would be to
> > > make the regexp code reentrant.  That means getting rid of the global
> > > variables.  It's been messy like that for a long time.
> > >
> > > I think your patch fixes one specific situation, but it can happen in
> > > other situations as well.
> >
> > I agree that the regexp code should be reentrant, but I think regexes
> > are just one mine in a larger breakchecks-can-run-arbitrary-code
> > minefield.
> >
> > Most of the places that call breakchecks don't seem to assume that
> > they can call arbitrary vim commands. Commonly run functions like
> > buflist_list() or searchit(), for example, can read-after-free if
> > somebody deletes a buffer using remote-expr. Anything that calls the
> > regex engine will have the same problem that the regex engine can call
> > arbitrary commands, even if the regex engine were reentrant.
>
> OK, thus even though your patch refers to regexp, it has a wider target.
>
> I'm not sure if your patch also introduces a problem.  If we don't
> handle X events while busy doing something, the application becomes
> unresponsive from an X server point of view.  E.g. for releasing the
> selection.
>
> If we are calling breakcheck, then we do not expect all kinds of things
> to happen.  Some kind of global lock, or a queue to put postponed
> commands on would work better.  The netbeans feature already does this,
> we could build on top of it.  Specifically netbeans_parse_messages().
>

I wrote a new patch that adds queuing for clientserver similar to the
netbeans queue.

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 7633d54..5fc8014 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -8984,11 +8984,11 @@ do_sleep(msec)
 {
ui_delay(msec - done > 1000L ? 1000L : msec - done, TRUE);
ui_breakcheck();
-#ifdef FEAT_NETBEANS_INTG
-   /* Process the netbeans messages that may have been received in the
-* call to ui_breakcheck() when the GUI is in use. This may occur when
-* running a test case. */
-   netbeans_parse_messages();
+#if (defined(FEAT_NETBEANS_INTG) || defined(FEAT_CLIENTSERVER))
+   /* Process the netbeans and clientserver messages that may have been
+* received in the call to ui_breakcheck() when the GUI is in use. This
+* may occur when running a test case. */
+   parse_queued_messages();
 #endif
 }
 }
diff --git a/src/getchar.c b/src/getchar.c
index a80432f..31128ec 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -3034,9 +3034,8 @@ inchar(buf, maxlen, wait_time, tb_change_cnt)
)
 {
 
-#if defined(FEAT_NETBEANS_INTG)
-   /* Process the queued netbeans messages. */
-   netbeans_parse_messages();
+#if (defined(FEAT_NETBEANS_INTG) || defined(FEAT_CLIENTSERVER))
+   parse_queued_messages();
 #endif
 
if (got_int || (script_char = getc(scriptin[curscript])) < 0)
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 5538446..910508e 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -650,7 +650,7 @@ property_event(GtkWidget *widget,
xev.xproperty.atom = commProperty;
xev.xproperty.window = commWindow;
xev.xproperty.state = PropertyNewValue;
-   serverEventProc(GDK_WINDOW_XDISPLAY(widget->window), &xev);
+   serverEventProc(GDK_WINDOW_XDISPLAY(widget->window), &xev, 0);
 }
 return FALSE;
 }
@@ -5471,9 +5471,8 @@ gui_mch_w

Re: Patch 7.4.846

2015-09-01 Fir de Conversatie Bram Moolenaar

Christian Brabandt wrote:

> On Di, 01 Sep 2015, Bram Moolenaar wrote:
> 
> > Patch 7.4.846
> > Problem:Some GitHub users don't know how to use issues.
> > Solution:   Add a file that explains the basics of contributing.
> > Files:  Filelist, CONTRIBUTING.md
[...]
> How about to add this paragraph:
> 
> If you find a problem with the included runtime files (e.g. syntax 
> files, filetype plugins or other included VimL files), please first try 
> to contact the maintainer of that file (which is usually mentioned at 
> the top of that particular file).
> 
> The maintainer will take care of issues and send updates to Bram for 
> distribution with Vim.
> 
> If the maintainer does not react, contact the vim-dev mailinglist.

Good idea.

-- 
Wi n0t trei a h0liday in Sweden thi yer?
 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 7.4.854

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.854 (after 7.4.850)
Problem:Missing information about runtime files.
Solution:   Add section about runtime files. (Christian Brabandt)
Files:  CONTRIBUTING.md


*** ../vim-7.4.853/CONTRIBUTING.md  2015-09-01 19:50:05.697404798 +0200
--- CONTRIBUTING.md 2015-09-01 21:22:38.119765678 +0200
***
*** 37,39 
--- 37,54 
  Or open [the todo file] on GitHub to see the latest version.
  
  [the todo file]: https://github.com/vim/vim/blob/master/runtime/doc/todo.txt
+ 
+ 
+ # Syntax, indent and other runtime files
+ 
+ The latest version of these files can be obtained from the repository.
+ They are usually not updated with numbered patches.
+ 
+ If you find a problem with one of these files or have a suggestion for
+ improvement, please first try to contact the maintainer directly.
+ Look in the header of the file for the name and email address.
+ 
+ The maintainer will take care of issues and send updates to Bram for 
+ distribution with Vim.
+ 
+ If the maintainer does not react, contact the vim-dev maillist.
*** ../vim-7.4.853/src/version.c2015-09-01 20:53:20.294030821 +0200
--- src/version.c   2015-09-01 21:23:38.559133262 +0200
***
*** 743,744 
--- 743,746 
  {   /* Add new patch number below this line */
+ /**/
+ 854,
  /**/

-- 
The Characters and incidents portrayed and the names used are fictitious and
any similarity to the names, characters, or history of any person is entirely
accidental and unintentional.
  Signed RICHARD M. NIXON
 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 7.4.853

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.853
Problem:"zt" in diff mode does not always work properly. (Gary Johnson)
Solution:   Don't count filler lines twice. (Christian Brabandt)
Files:  src/move.c


*** ../vim-7.4.852/src/move.c   2015-08-11 19:13:55.142175641 +0200
--- src/move.c  2015-09-01 20:44:12.507720203 +0200
***
*** 1732,1738 
   * - at least 'scrolloff' lines above and below the cursor
   */
  validate_cheight();
! used = curwin->w_cline_height;
  if (curwin->w_cursor.lnum < curwin->w_topline)
scrolled = used;
  
--- 1732,1738 
   * - at least 'scrolloff' lines above and below the cursor
   */
  validate_cheight();
! used = curwin->w_cline_height; /* includes filler lines above */
  if (curwin->w_cursor.lnum < curwin->w_topline)
scrolled = used;
  
***
*** 1751,1760 
  new_topline = top + 1;
  
  #ifdef FEAT_DIFF
! /* count filler lines of the cursor window as context */
! i = diff_check_fill(curwin, curwin->w_cursor.lnum);
! used += i;
! extra += i;
  #endif
  
  /*
--- 1751,1762 
  new_topline = top + 1;
  
  #ifdef FEAT_DIFF
! /* used already contains the number of filler lines above, don't add it
!  * again.
!  * TODO: if filler lines above new top are to be considered as context for
!  * the current window, leave next statement commented, else hide filler
!  * lines above cursor line, by adding them to extra */
! /* extra += diff_check_fill(curwin, curwin->w_cursor.lnum); */
  #endif
  
  /*
*** ../vim-7.4.852/src/version.c2015-09-01 20:31:16.311776122 +0200
--- src/version.c   2015-09-01 20:40:44.433880446 +0200
***
*** 743,744 
--- 743,746 
  {   /* Add new patch number below this line */
+ /**/
+ 853,
  /**/

-- 
A fool must search for a greater fool to find admiration.

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 7.4.846

2015-09-01 Fir de Conversatie Kazunobu Kuriyama
>Hi Kazunobu!
>
>On Mi, 02 Sep 2015, Kazunobu Kuriyama wrote:
>
>> When CONTRIBUTING.md is converted into an HTML file, we won't see  as 
it 
>> is, because it is likely to be treated as an HTML tag.
>> 
>> So, I think, to show  literally, the line should be replaced with
>> 
>> "ahere is some text"
>> 
>> or
>> 
>> "`a`here is some text``"
>> 
>> or a mixture of them.
>
>One could also use  Tags to make nice little keys.

Indeed.  That looks better than changing fonts, which is inevitably system dep
endent and often results in a poor, ugly appearance.  Nothing can be competiti
ve with that for reading/viewing through a browser, I think.

>
>Best,
>Christian

Thanks,
Kazunobu

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 7.4.852

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.852
Problem:On MS-Windows console Vim uses ANSI APIs for keyboard input and
console output, it cannot input/output Unicode characters.
Solution:   Use Unicode APIs for console I/O. (Ken Takata, Yasuhiro Matsumoto)
Files:  src/os_win32.c, src/ui.c, runtime/doc/options.txt


*** ../vim-7.4.851/src/os_win32.c   2015-09-01 20:23:30.408603580 +0200
--- src/os_win32.c  2015-09-01 20:28:43.193363546 +0200
***
*** 213,220 
  static void standend(void);
  static void visual_bell(void);
  static void cursor_visible(BOOL fVisible);
! static BOOL write_chars(LPCSTR pchBuf, DWORD cchToWrite);
! static char_u tgetch(int *pmodifiers, char_u *pch2);
  static void create_conin(void);
  static int s_cursor_visible = TRUE;
  static int did_create_conin = FALSE;
--- 213,220 
  static void standend(void);
  static void visual_bell(void);
  static void cursor_visible(BOOL fVisible);
! static DWORD write_chars(char_u *pchBuf, DWORD cbToWrite);
! static WCHAR tgetch(int *pmodifiers, WCHAR *pch2);
  static void create_conin(void);
  static int s_cursor_visible = TRUE;
  static int did_create_conin = FALSE;
***
*** 265,279 
  if (!win8_or_later)
  {
if (nLength == -1)
!   return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents);
!   return ReadConsoleInput(hInput, lpBuffer, 1, &dwEvents);
  }
  
  if (s_dwMax == 0)
  {
if (nLength == -1)
!   return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents);
!   if (!ReadConsoleInput(hInput, s_irCache, IRSIZE, &dwEvents))
return FALSE;
s_dwIndex = 0;
s_dwMax = dwEvents;
--- 265,279 
  if (!win8_or_later)
  {
if (nLength == -1)
!   return PeekConsoleInputW(hInput, lpBuffer, 1, lpEvents);
!   return ReadConsoleInputW(hInput, lpBuffer, 1, &dwEvents);
  }
  
  if (s_dwMax == 0)
  {
if (nLength == -1)
!   return PeekConsoleInputW(hInput, lpBuffer, 1, lpEvents);
!   if (!ReadConsoleInputW(hInput, s_irCache, IRSIZE, &dwEvents))
return FALSE;
s_dwIndex = 0;
s_dwMax = dwEvents;
***
*** 868,876 
  #endif
  
  #if defined(__GNUC__) && !defined(__MINGW32__)  && !defined(__CYGWIN__)
! # define AChar AsciiChar
  #else
! # define AChar uChar.AsciiChar
  #endif
  
  /* The return code indicates key code size. */
--- 868,876 
  #endif
  
  #if defined(__GNUC__) && !defined(__MINGW32__)  && !defined(__CYGWIN__)
! # define UChar UnicodeChar
  #else
! # define UChar uChar.UnicodeChar
  #endif
  
  /* The return code indicates key code size. */
***
*** 889,900 
  
  if (s_iIsDead == 2)
  {
!   pker->AChar = (CHAR) awAnsiCode[1];
s_iIsDead = 0;
return 1;
  }
  
! if (pker->AChar != 0)
return 1;
  
  vim_memset(abKeystate, 0, sizeof (abKeystate));
--- 889,900 
  
  if (s_iIsDead == 2)
  {
!   pker->UChar = (WCHAR) awAnsiCode[1];
s_iIsDead = 0;
return 1;
  }
  
! if (pker->UChar != 0)
return 1;
  
  vim_memset(abKeystate, 0, sizeof (abKeystate));
***
*** 909,915 
  }
  
  /* Clear any pending dead keys */
! ToAscii(VK_SPACE, MapVirtualKey(VK_SPACE, 0), abKeystate, awAnsiCode, 0);
  
  if (uMods & SHIFT_PRESSED)
abKeystate[VK_SHIFT] = 0x80;
--- 909,915 
  }
  
  /* Clear any pending dead keys */
! ToUnicode(VK_SPACE, MapVirtualKey(VK_SPACE, 0), abKeystate, awAnsiCode, 
2, 0);
  
  if (uMods & SHIFT_PRESSED)
abKeystate[VK_SHIFT] = 0x80;
***
*** 922,932 
abKeystate[VK_MENU] = abKeystate[VK_RMENU] = 0x80;
  }
  
! s_iIsDead = ToAscii(pker->wVirtualKeyCode, pker->wVirtualScanCode,
!   abKeystate, awAnsiCode, 0);
  
  if (s_iIsDead > 0)
!   pker->AChar = (CHAR) awAnsiCode[0];
  
  return s_iIsDead;
  }
--- 922,932 
abKeystate[VK_MENU] = abKeystate[VK_RMENU] = 0x80;
  }
  
! s_iIsDead = ToUnicode(pker->wVirtualKeyCode, pker->wVirtualScanCode,
!   abKeystate, awAnsiCode, 2, 0);
  
  if (s_iIsDead > 0)
!   pker->UChar = (WCHAR) awAnsiCode[0];
  
  return s_iIsDead;
  }
***
*** 953,960 
  static BOOL
  decode_key_event(
  KEY_EVENT_RECORD  *pker,
! char_u*pch,
! char_u*pch2,
  int   *pmodifiers,
  BOOL  fDoPost)
  {
--- 953,960 
  static BOOL
  decode_key_event(
  KEY_EVENT_RECORD  *pker,
! WCHAR *pch,
! WCHAR *pch2,
  int   *pmodifiers,
  BOOL  fDoPost)
  {
***
*** 982,988 
  }
  
  /* special cases */
! if ((nModifs & CTRL) != 0 && (nModifs & ~CTRL) == 0 && pker->AChar == NUL)
  {
/* Ctrl-6 is Ctrl-^ */
if (pker->wVirtualKeyCode ==

Patch 7.4.851

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.851
Problem:Saving and restoring the console buffer does not work properly.
Solution:   Instead of ReadConsoleOutputA/WriteConsoleOutputA use
CreateConsoleScreenBuffer and SetConsoleActiveScreenBuffer.
(Ken Takata)
Files:  src/os_win32.c


*** ../vim-7.4.850/src/os_win32.c   2015-08-04 19:26:59.747310733 +0200
--- src/os_win32.c  2015-09-01 20:03:57.428750713 +0200
***
*** 2192,2199 
  {
  BOOL  IsValid;
  CONSOLE_SCREEN_BUFFER_INFOInfo;
! PCHAR_INFOBuffer;
! COORD BufferSize;
  } ConsoleBuffer;
  
  /*
--- 2192,2198 
  {
  BOOL  IsValid;
  CONSOLE_SCREEN_BUFFER_INFOInfo;
! HANDLEhandle;
  } ConsoleBuffer;
  
  /*
***
*** 2210,2286 
  SaveConsoleBuffer(
  ConsoleBuffer *cb)
  {
- DWORD NumCells;
- COORD BufferCoord;
- SMALL_RECT ReadRegion;
- WORD Y, Y_incr;
- 
  if (cb == NULL)
return FALSE;
  
! if (!GetConsoleScreenBufferInfo(g_hConOut, &cb->Info))
  {
cb->IsValid = FALSE;
return FALSE;
  }
  cb->IsValid = TRUE;
  
! /*
!  * Allocate a buffer large enough to hold the entire console screen
!  * buffer.  If this ConsoleBuffer structure has already been initialized
!  * with a buffer of the correct size, then just use that one.
!  */
! if (!cb->IsValid || cb->Buffer == NULL ||
!   cb->BufferSize.X != cb->Info.dwSize.X ||
!   cb->BufferSize.Y != cb->Info.dwSize.Y)
! {
!   cb->BufferSize.X = cb->Info.dwSize.X;
!   cb->BufferSize.Y = cb->Info.dwSize.Y;
!   NumCells = cb->BufferSize.X * cb->BufferSize.Y;
!   vim_free(cb->Buffer);
!   cb->Buffer = (PCHAR_INFO)alloc(NumCells * sizeof(CHAR_INFO));
!   if (cb->Buffer == NULL)
!   return FALSE;
! }
  
  /*
!  * We will now copy the console screen buffer into our buffer.
!  * ReadConsoleOutput() seems to be limited as far as how much you
!  * can read at a time.  Empirically, this number seems to be about
!  * 12000 cells (rows * columns).  Start at position (0, 0) and copy
!  * in chunks until it is all copied.  The chunks will all have the
!  * same horizontal characteristics, so initialize them now.  The
!  * height of each chunk will be (12000 / width).
   */
! BufferCoord.X = 0;
  ReadRegion.Left = 0;
! ReadRegion.Right = cb->Info.dwSize.X - 1;
! Y_incr = 12000 / cb->Info.dwSize.X;
! for (Y = 0; Y < cb->BufferSize.Y; Y += Y_incr)
  {
!   /*
!* Read into position (0, Y) in our buffer.
!*/
!   BufferCoord.Y = Y;
!   /*
!* Read the region whose top left corner is (0, Y) and whose bottom
!* right corner is (width - 1, Y + Y_incr - 1).  This should define
!* a region of size width by Y_incr.  Don't worry if this region is
!* too large for the remaining buffer; it will be cropped.
!*/
!   ReadRegion.Top = Y;
!   ReadRegion.Bottom = Y + Y_incr - 1;
!   if (!ReadConsoleOutput(g_hConOut,   /* output handle */
!   cb->Buffer, /* our buffer */
!   cb->BufferSize, /* dimensions of our buffer */
!   BufferCoord,/* offset in our buffer */
!   &ReadRegion))   /* region to save */
!   {
!   vim_free(cb->Buffer);
!   cb->Buffer = NULL;
!   return FALSE;
!   }
  }
  
  return TRUE;
  }
--- 2209,2289 
  SaveConsoleBuffer(
  ConsoleBuffer *cb)
  {
  if (cb == NULL)
return FALSE;
  
! if (!GetConsoleScreenBufferInfo(cb->handle, &cb->Info))
  {
cb->IsValid = FALSE;
return FALSE;
  }
  cb->IsValid = TRUE;
  
! return TRUE;
! }
! 
! /*
!  * CopyOldConsoleBuffer()
!  * Description:
!  *  Copies the old console buffer contents to the current console buffer.
!  *  This is used when 'restorescreen' is off.
!  * Returns:
!  *  TRUE on success
!  */
! static BOOL
! CopyOldConsoleBuffer(
! ConsoleBuffer   *cb,
! HANDLEhConOld)
! {
! COORD BufferCoord;
! COORD BufferSize;
! PCHAR_INFOBuffer;
! DWORD NumCells;
! SMALL_RECTReadRegion;
  
  /*
!  * Before copying the buffer contents, clear the current buffer, and
!  * restore the window information.  Doing this now prevents old buffer
!  * contents from "flashing" onto the screen.
   */
! ClearConsoleBuffer(cb->Info.wAttributes);
! 
! /* We only need to copy the window area, not whole buffer. */
! BufferSize.X = cb->Info.srWindow.Right - cb->Info.srWindow.Left + 1;
! BufferSize.Y = cb->Info.srWindow.Bottom - cb->Info.srWindow.Top + 1;
  ReadRegion.Left = 0

Re: Patch 7.4.846

2015-09-01 Fir de Conversatie Christian Brabandt
Hi Bram!

On Di, 01 Sep 2015, Bram Moolenaar wrote:

> Patch 7.4.846
> Problem:Some GitHub users don't know how to use issues.
> Solution:   Add a file that explains the basics of contributing.
> Files:  Filelist, CONTRIBUTING.md
> 
> 
> *** ../vim-7.4.845/Filelist   2015-07-10 19:21:45.663489149 +0200
> --- Filelist  2015-09-01 17:28:10.878424667 +0200
> ***
> *** 482,487 
> --- 482,488 
>   RT_ALL =\
>   README.txt \
>   README.md \
> + CONTRIBUTING.md \
>   runtime/bugreport.vim \
>   runtime/doc/*.awk \
>   runtime/doc/*.pl \
> *** ../vim-7.4.845/CONTRIBUTING.md2015-09-01 17:50:23.908582991 +0200
> --- CONTRIBUTING.md   2015-09-01 17:49:57.812854008 +0200
> ***
> *** 0 
> --- 1,38 
> + # Contributing to Vim
> + 
> + Patches are welcome in whatever form.
> + Discussions about patches happen on the vim-dev maillist.
> + If you create a pull request on GitHub it will be
> + forwarded to the vim-dev maillist.  You can also send your patch there
> + directly.  An attachment with a unified diff format is preferred.
> + Information about the maillist can be found [on the Vim website].
> + 
> + [on the Vim website]: http://www.vim.org/maillist.php#vim-dev
> + 
> + Please consider adding a test.  Test coverage isn't very good yet, this 
> needs
> + to improve.  Look through recent patches for examples.  The tests are 
> located
> + under "src/testdir".
> + 
> + 
> + # Reporting issues
> + 
> + We use GitHub issues, but that is not a requirement.  Writing to the Vim
> + maillist is also fine.
> + 
> + Please use the GitHub issues only for actual issues. If you are not 100% 
> sure
> + that your problem is a Vim issue, please first discuss this on the Vim user
> + maillist.  Try reproducing the problem without any plugins or settings:
> + 
> + vim -N -u NONE
> + 
> + If you report an issue, please describe exactly how to reproduce it.
> + For example, don't say "insert some text" but say what you did exactly:
> + "ahere is some text".  Ideally, the steps you list can be used to 
> write a
> + test to verify the problem is fixed.
> + 
> + Feel free to report even the smallest problem, also typos in the 
> documentation.

How about to add this paragraph:

If you find a problem with the included runtime files (e.g. syntax 
files, filetype plugins or other included VimL files), please first try 
to contact the maintainer of that file (which is usually mentioned at 
the top of that particular file).

The maintainer will take care of issues and send updates to Bram for 
distribution with Vim.

If the maintainer does not react, contact the vim-dev mailinglist.


Best,
Christian
-- 
Es gibt zwei friedliche Gewalten: Das Recht und die 
Schicklichkeit.
-- Goethe, Maximen und Reflektionen, Nr. 93

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 7.4.846

2015-09-01 Fir de Conversatie Christian Brabandt
Hi Kazunobu!

On Mi, 02 Sep 2015, Kazunobu Kuriyama wrote:

> When CONTRIBUTING.md is converted into an HTML file, we won't see  as it 
> is, because it is likely to be treated as an HTML tag.
> 
> So, I think, to show  literally, the line should be replaced with
> 
> "ahere is some text"
> 
> or
> 
> "`a`here is some text``"
> 
> or a mixture of them.

One could also use  Tags to make nice little keys.

Best,
Christian
-- 
Letzte Worte eines Fahrlehrers:
  "Die Ampel ist rot."

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 7.4.846

2015-09-01 Fir de Conversatie Bram Moolenaar

Kazunobu Kuriyama wrote:

> >Patch 7.4.846
> >Problem:Some GitHub users don't know how to use issues.
> >Solution:   Add a file that explains the basics of contributing.
> >Files:  Filelist, CONTRIBUTING.md
> >
> 
> >+ "ahere is some text".  
> 
> When CONTRIBUTING.md is converted into an HTML file, we won't see  as it 
> is, because it is likely to be treated as an HTML tag.
> 
> So, I think, to show  literally, the line should be replaced with
> 
> "ahere is some text"
> 
> or
> 
> "`a`here is some text``"
> 
> or a mixture of them.

I'll go with the < solution.  Thanks!

-- 
A year spent in artificial intelligence is enough to make one
believe in God.

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 7.4.850

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.850 (after 7.4.846)
Problem: does not show up.
Solution:   Use > and <. (Kazunobu Kuriyama)
Files:  CONTRIBUTING.md


*** ../vim-7.4.849/CONTRIBUTING.md  2015-09-01 17:50:32.476494002 +0200
--- CONTRIBUTING.md 2015-09-01 19:47:33.679001533 +0200
***
*** 27,34 
  
  If you report an issue, please describe exactly how to reproduce it.
  For example, don't say "insert some text" but say what you did exactly:
! "ahere is some text".  Ideally, the steps you list can be used to write a
! test to verify the problem is fixed.
  
  Feel free to report even the smallest problem, also typos in the 
documentation.
  
--- 27,35 
  
  If you report an issue, please describe exactly how to reproduce it.
  For example, don't say "insert some text" but say what you did exactly:
! "ahere is some text".
! Ideally, the steps you list can be used to write a test to verify the problem
! is fixed.
  
  Feel free to report even the smallest problem, also typos in the 
documentation.
  
*** ../vim-7.4.849/src/version.c2015-09-01 19:25:58.324615363 +0200
--- src/version.c   2015-09-01 19:48:54.298154726 +0200
***
*** 743,744 
--- 743,746 
  {   /* Add new patch number below this line */
+ /**/
+ 850,
  /**/

-- 
God made machine language; all the rest is the work of man.

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 7.4.846

2015-09-01 Fir de Conversatie Kazunobu Kuriyama
>Patch 7.4.846
>Problem:Some GitHub users don't know how to use issues.
>Solution:   Add a file that explains the basics of contributing.
>Files:  Filelist, CONTRIBUTING.md
>

>+ "ahere is some text".  

When CONTRIBUTING.md is converted into an HTML file, we won't see  as it 
is, because it is likely to be treated as an HTML tag.

So, I think, to show  literally, the line should be replaced with

"ahere is some text"

or

"`a`here is some text``"

or a mixture of them.

Regards,
Kazunobu Kuriyama


-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 7.4.849

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.849
Problem:Moving the cursor in Insert mode starts new undo sequence.
Solution:   Add CTRL-G U to keep the undo sequence for the following cursor
movement command. (Christian Brabandt)
Files:  runtime/doc/insert.txt, src/edit.c, src/testdir/test_mapping.in,
src/testdir/test_mapping.ok


*** ../vim-7.4.848/runtime/doc/insert.txt   2013-08-10 13:24:56.0 
+0200
--- runtime/doc/insert.txt  2015-09-01 19:00:11.780862669 +0200
***
*** 373,378 
--- 377,385 
  CTRL-\ CTRL-O like CTRL-O but don't move the cursor*i_CTRL-\_CTRL-O*
  CTRL-Lwhen 'insertmode' is set: go to Normal mode  *i_CTRL-L*
  CTRL-G u  break undo sequence, start new change*i_CTRL-G_u*
+ CTRL-G U  don't break undo with next left/right cursor *i_CTRL-G_U*
+   movement (but only if the cursor stays
+   within same the line)
  ---
  
  Note: If the cursor keys take you out of Insert mode, check the 'noesckeys'
***
*** 412,417 
--- 419,446 
  This breaks undo at each line break.  It also expands abbreviations before
  this.
  
+ An example for using CTRL-G U: >
+ 
+   inoremap   U
+   inoremap  U
+   inoremap   col('.') == match(getline('.'), '\S') + 1 ?
+\ repeat('U', col('.') - 1) :
+\ (col('.') < match(getline('.'), '\S') ?
+\ repeat('U', match(getline('.'), '\S') + 0) :
+\ repeat('U', col('.') - 1 - match(getline('.'), '\S')))
+   inoremap   repeat('U', col('$') - col('.'))
+   inoremap ( ()U
+ 
+ This makes it possible to use the cursor keys in Insert mode, without breaking
+ the undo sequence and therefore using |.| (redo) will work as expected. 
+ Also entering a text like (with the "(" mapping from above): >
+ 
+Lorem ipsum (dolor
+ 
+ will be repeatable by the |.|to the expected
+ 
+Lorem ipsum (dolor)
+ 
  Using CTRL-O splits undo: the text typed before and after it is undone
  separately.  If you want to avoid this (e.g., in a mapping) you might be able
  to use CTRL-R = |i_CTRL-R|.  E.g., to call a function: >
*** ../vim-7.4.848/src/edit.c   2015-07-28 21:17:31.526069349 +0200
--- src/edit.c  2015-09-01 19:15:52.938978211 +0200
***
*** 202,207 
--- 202,209 
  static void check_auto_format __ARGS((int));
  static void redo_literal __ARGS((int c));
  static void start_arrow __ARGS((pos_T *end_insert_pos));
+ static void start_arrow_with_change __ARGS((pos_T *end_insert_pos, int 
change));
+ static void start_arrow_common __ARGS((pos_T *end_insert_pos, int change));
  #ifdef FEAT_SPELL
  static void check_spell_redraw __ARGS((void));
  static void spell_back_to_badword __ARGS((void));
***
*** 241,251 
  #if defined(FEAT_GUI_TABLINE) || defined(PROTO)
  static void ins_tabline __ARGS((int c));
  #endif
! static void ins_left __ARGS((void));
  static void ins_home __ARGS((int c));
  static void ins_end __ARGS((int c));
  static void ins_s_left __ARGS((void));
! static void ins_right __ARGS((void));
  static void ins_s_right __ARGS((void));
  static void ins_up __ARGS((int startcol));
  static void ins_pageup __ARGS((void));
--- 243,253 
  #if defined(FEAT_GUI_TABLINE) || defined(PROTO)
  static void ins_tabline __ARGS((int c));
  #endif
! static void ins_left __ARGS((int end_change));
  static void ins_home __ARGS((int c));
  static void ins_end __ARGS((int c));
  static void ins_s_left __ARGS((void));
! static void ins_right __ARGS((int end_change));
  static void ins_s_right __ARGS((void));
  static void ins_up __ARGS((int startcol));
  static void ins_pageup __ARGS((void));
***
*** 297,302 
--- 299,306 
  
  static intdid_add_space = FALSE;  /* auto_format() added an extra space
   under the cursor */
+ static intdont_sync_undo = FALSE; /* CTRL-G U prevents syncing undo for
+  the next left/right cursor */
  
  /*
   * edit(): Start inserting text.
***
*** 767,772 
--- 771,782 
 */
if (c != K_CURSORHOLD)
lastc = c;  /* remember the previous char for CTRL-D */
+ 
+   /* After using CTRL-G U the next cursor key will not break undo. */
+   if (dont_sync_undo == MAYBE)
+   dont_sync_undo = TRUE;
+   else
+   dont_sync_undo = FALSE;
do
{
c = safe_vgetc();
***
*** 1237,1243 
if (mod_mask & (MOD_MASK_SHIFT|MOD_MASK_CTRL))
ins_s_left();
else
!   ins_left();
break;
  
case K_S_LEFT:  /*  */
--- 1247,1253 
if (mod_mask & (MOD_MASK_SHIFT|MOD_MASK_CTRL))
ins_s_left();
else
!   ins_left(dont_sync_undo == FALSE);
break;
  
case K_S_LEFT:  /*  */

Patch 7.4.848

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.848
Problem:CTRL-A on hex number in Visual block mode is incorrect.
Solution:   Account for the "0x". (Hirohito Higashi)
Files:  src/charset.c, src/testdir/test_increment.in,
src/testdir/test_increment.ok


*** ../vim-7.4.847/src/charset.c2015-07-17 13:03:42.092357617 +0200
--- src/charset.c   2015-09-01 18:42:30.984009677 +0200
***
*** 1909,1914 
--- 1909,1916 
  else if (hex != 0 || dohex > 1)
  {
/* hex */
+   if (hex != 0)
+   n += 2; /* skip over "0x" */
while (vim_isxdigit(*ptr))
{
un = 16 * un + (unsigned long)hex2nr(*ptr);
*** ../vim-7.4.847/src/testdir/test_increment.in2015-08-11 
19:36:37.050004181 +0200
--- src/testdir/test_increment.in   2015-09-01 18:39:25.813940564 +0200
***
*** 277,283 
   Expected:
   1)  and cursor is on a
   b
!
  
  
  STARTTEST
--- 277,291 
   Expected:
   1)  and cursor is on a
   b
! 
! 21) block-wise increment on part of hexadecimal
! Text:
! 0x123456
! 
!   Expected:
!   1) Ctrl-V f3 
! 0x124456
! 
  
  
  STARTTEST
***
*** 401,406 
--- 409,420 
   :.put =col('.')
  :set nrformats&vim
  
+ :" Test 21
+ :/^S21=/+,/^E21=/-y a
+ :/^E21=/+put a
+ :set nrformats&vim
+  f3 
+ 
  :" Save the report
  :/^# Test 1/,$w! test.out
  :qa!
***
*** 594,599 
--- 608,620 
  
  
  
+ # Test 21
+ S21
+ 0x123456
+ E21
+ 
+ 
+ 
  
  ENDTEST
  
*** ../vim-7.4.847/src/testdir/test_increment.ok2015-08-11 
19:36:37.050004181 +0200
--- src/testdir/test_increment.ok   2015-09-01 18:39:25.813940564 +0200
***
*** 280,285 
--- 280,293 
  1
  
  
+ # Test 21
+ S21
+ 0x123456
+ E21
+ 
+ 0x124456
+ 
+ 
  
  ENDTEST
  
*** ../vim-7.4.847/src/version.c2015-09-01 18:27:45.117248852 +0200
--- src/version.c   2015-09-01 18:38:56.586245357 +0200
***
*** 743,744 
--- 743,746 
  {   /* Add new patch number below this line */
+ /**/
+ 848,
  /**/

-- 
An SQL statement walks into a bar.  He approaches two tables
and says, "Mind if I join you?"

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 7.4.847

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.847
Problem:"vi)d" may leave a character behind.
Solution:   Skip over multi-byte character. (Christian Brabandt)
Files:  src/search.c


*** ../vim-7.4.846/src/search.c 2015-08-26 23:01:16.449677001 +0200
--- src/search.c2015-09-01 18:26:33.629994624 +0200
***
*** 3799,3805 
  if (VIsual_active)
  {
if (*p_sel == 'e')
!   ++curwin->w_cursor.col;
if (sol && gchar_cursor() != NUL)
inc(&curwin->w_cursor); /* include the line break */
VIsual = start_pos;
--- 3799,3805 
  if (VIsual_active)
  {
if (*p_sel == 'e')
!   inc(&curwin->w_cursor);
if (sol && gchar_cursor() != NUL)
inc(&curwin->w_cursor); /* include the line break */
VIsual = start_pos;
*** ../vim-7.4.846/src/version.c2015-09-01 17:50:32.480493960 +0200
--- src/version.c   2015-09-01 18:26:07.286269459 +0200
***
*** 743,744 
--- 743,746 
  {   /* Add new patch number below this line */
+ /**/
+ 847,
  /**/

-- 
Did Adam and Eve have navels?

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 7.4.846

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.846
Problem:Some GitHub users don't know how to use issues.
Solution:   Add a file that explains the basics of contributing.
Files:  Filelist, CONTRIBUTING.md


*** ../vim-7.4.845/Filelist 2015-07-10 19:21:45.663489149 +0200
--- Filelist2015-09-01 17:28:10.878424667 +0200
***
*** 482,487 
--- 482,488 
  RT_ALL =  \
README.txt \
README.md \
+   CONTRIBUTING.md \
runtime/bugreport.vim \
runtime/doc/*.awk \
runtime/doc/*.pl \
*** ../vim-7.4.845/CONTRIBUTING.md  2015-09-01 17:50:23.908582991 +0200
--- CONTRIBUTING.md 2015-09-01 17:49:57.812854008 +0200
***
*** 0 
--- 1,38 
+ # Contributing to Vim
+ 
+ Patches are welcome in whatever form.
+ Discussions about patches happen on the vim-dev maillist.
+ If you create a pull request on GitHub it will be
+ forwarded to the vim-dev maillist.  You can also send your patch there
+ directly.  An attachment with a unified diff format is preferred.
+ Information about the maillist can be found [on the Vim website].
+ 
+ [on the Vim website]: http://www.vim.org/maillist.php#vim-dev
+ 
+ Please consider adding a test.  Test coverage isn't very good yet, this needs
+ to improve.  Look through recent patches for examples.  The tests are located
+ under "src/testdir".
+ 
+ 
+ # Reporting issues
+ 
+ We use GitHub issues, but that is not a requirement.  Writing to the Vim
+ maillist is also fine.
+ 
+ Please use the GitHub issues only for actual issues. If you are not 100% sure
+ that your problem is a Vim issue, please first discuss this on the Vim user
+ maillist.  Try reproducing the problem without any plugins or settings:
+ 
+ vim -N -u NONE
+ 
+ If you report an issue, please describe exactly how to reproduce it.
+ For example, don't say "insert some text" but say what you did exactly:
+ "ahere is some text".  Ideally, the steps you list can be used to write a
+ test to verify the problem is fixed.
+ 
+ Feel free to report even the smallest problem, also typos in the 
documentation.
+ 
+ You can find known issues in the todo file: ":help todo".
+ Or open [the todo file] on GitHub to see the latest version.
+ 
+ [the todo file]: https://github.com/vim/vim/blob/master/runtime/doc/todo.txt
*** ../vim-7.4.845/src/version.c2015-09-01 16:25:28.357392851 +0200
--- src/version.c   2015-09-01 17:29:27.465629903 +0200
***
*** 743,744 
--- 743,746 
  {   /* Add new patch number below this line */
+ /**/
+ 846,
  /**/

-- 
(letter from Mark to Mike, about the film's probable certificate)
  For an 'A' we would have to: Lose as many shits as possible; Take Jesus
  Christ out, if possible; Loose "I fart in your general direction"; Lose
  "the oral sex"; Lose "oh, fuck off"; Lose "We make castanets out of your
  testicles"
 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 7.4.840

2015-09-01 Fir de Conversatie Charles Campbell
Bram Moolenaar wrote:
> Patch 7.4.840 (after 7.4.829)
> Problem:Tooltip window stays open.
> Solution:   Send a WM_CLOSE message. (Jurgen Kramer)
> Files:  src/gui_w32.c
>
>
> *** ../vim-7.4.839/src/gui_w32.c  2015-08-25 12:21:23.583957205 +0200
> --- src/gui_w32.c 2015-08-26 23:10:03.847838259 +0200
> ***
> *** 4836,4841 
> --- 4836,4842 
>   delete_tooltip(beval)
>   BalloonEval *beval;
>   {
> + PostMessage(beval->balloon, WM_CLOSE, 0, 0);
>   PostMessage(beval->balloon, WM_DESTROY, 0, 0);
>   PostMessage(beval->balloon, WM_NCDESTROY, 0, 0);
>   }
> *** ../vim-7.4.839/src/version.c  2015-08-26 23:01:16.453676957 +0200
> --- src/version.c 2015-08-26 23:11:28.262906177 +0200
> ***
> *** 743,744 
> --- 743,746 
>   {   /* Add new patch number below this line */
> + /**/
> + 840,
>   /**/
>
While we're considering tooltip windows that stay open ...

I note that when having a tooltip window open in some file, then
switching workspaces (on a gtk-using linux box - scientific linux, so I
use ctrl-alt-arrow to change workspaces), the tooltip remains displayed
in the new workspace.  Been that way forever, though -- its not some
artifact due to this patch or anything.  Moving the mouse cursor about
in the new workspace doesn't clear the tooltip, either.

Regards,
Chip Campbell

-- 
-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: o flick screen

2015-09-01 Fir de Conversatie mattn
CC: Nikolai

Could you handle this problem?

On Tuesday, September 1, 2015 at 11:25:53 PM UTC+9, Bram Moolenaar wrote:
> Yasuhiro Matsumoto wrote:
> 
> > use  instead.
> > 
> > diff --git a/runtime/ftplugin/changelog.vim b/runtime/ftplugin/changelog.vim
> > index 244245e..208cab0 100644
> > --- a/runtime/ftplugin/changelog.vim
> > +++ b/runtime/ftplugin/changelog.vim
> > @@ -223,7 +223,7 @@ if &filetype == 'changelog'
> >endfunction
> >  
> >if exists(":NewChangelogEntry") != 2
> > -noremap   o :call 
> > new_changelog_entry('')
> > +noremap   o :call 
> > new_changelog_entry('')
> >  command! -nargs=0 NewChangelogEntry call s:new_changelog_entry('')
> >endif
> 
> Did you send this to Nikolai already?
> 
> -- 
> ERIC IDLE PLAYED: THE DEAD COLLECTOR, MR BINT (A VILLAGE NE'ER-DO -WELL VERY
>   KEEN ON BURNING WITCHES), SIR ROBIN, THE GUARD WHO DOESN'T
>   HICOUGH BUT TRIES TO GET THINGS STRAIGHT, CONCORDE (SIR
>   LAUNCELOT'S TRUSTY STEED), ROGER THE SHRUBBER (A SHRUBBER),
>   BROTHER MAYNARD
>  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
> 
>  /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: o flick screen

2015-09-01 Fir de Conversatie Bram Moolenaar

Yasuhiro Matsumoto wrote:

> use  instead.
> 
> diff --git a/runtime/ftplugin/changelog.vim b/runtime/ftplugin/changelog.vim
> index 244245e..208cab0 100644
> --- a/runtime/ftplugin/changelog.vim
> +++ b/runtime/ftplugin/changelog.vim
> @@ -223,7 +223,7 @@ if &filetype == 'changelog'
>endfunction
>  
>if exists(":NewChangelogEntry") != 2
> -noremap   o :call 
> new_changelog_entry('')
> +noremap   o :call 
> new_changelog_entry('')
>  command! -nargs=0 NewChangelogEntry call s:new_changelog_entry('')
>endif

Did you send this to Nikolai already?

-- 
ERIC IDLE PLAYED: THE DEAD COLLECTOR, MR BINT (A VILLAGE NE'ER-DO -WELL VERY
  KEEN ON BURNING WITCHES), SIR ROBIN, THE GUARD WHO DOESN'T
  HICOUGH BUT TRIES TO GET THINGS STRAIGHT, CONCORDE (SIR
  LAUNCELOT'S TRUSTY STEED), ROGER THE SHRUBBER (A SHRUBBER),
  BROTHER MAYNARD
 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 7.4.845

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.845
Problem:Compiler warning for possible loss of data.
Solution:   Add a type cast. (Erich Ritz)
Files:  src/misc1.c


*** ../vim-7.4.844/src/misc1.c  2015-08-25 14:21:14.013470670 +0200
--- src/misc1.c 2015-09-01 16:23:51.378393877 +0200
***
*** 3985,3991 
len = dstlen;
vim_strncpy(dst, var, len);
dst += len;
!   dstlen -= len;
continue;
}
  #endif
--- 3985,3991 
len = dstlen;
vim_strncpy(dst, var, len);
dst += len;
!   dstlen -= (int)len;
continue;
}
  #endif
*** ../vim-7.4.844/src/version.c2015-09-01 16:04:26.706472322 +0200
--- src/version.c   2015-09-01 16:24:37.497917848 +0200
***
*** 743,744 
--- 743,746 
  {   /* Add new patch number below this line */
+ /**/
+ 845,
  /**/

-- 
MICHAEL PALIN PLAYED: 1ST SOLDIER WITH A KEEN INTEREST IN BIRDS, DENNIS, MR
  DUCK (A VILLAGE CARPENTER WHO IS ALMOST KEENER THAN
  ANYONE ELSE TO BURN WITCHES), THREE-HEADED KNIGHT, SIR
  GALAHAD, KING OF SWAMP CASTLE, BROTHER MAYNARD'S ROOMATE
 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: is# may not be failed to parse with isident+=#

2015-09-01 Fir de Conversatie Bram Moolenaar

Yasuhiro Matsumoto wrote:

> On Monday, August 31, 2015 at 7:53:37 PM UTC+9, Bram Moolenaar wrote: 
> > You can use try/catch, that also works to catch syntax errors.
> > However, after your fix it works, thus the try/catch isn't actually
> > needed.
> 
> https://gist.github.com/mattn/948cb085d6cbd745b10e
> 
> Is this okay?

Thanks, I'll include it slightly changed.

-- 
JOHN CLEESE PLAYED: SECOND SOLDIER WITH A KEEN INTEREST IN BIRDS, LARGE MAN
WITH DEAD BODY, BLACK KNIGHT, MR NEWT (A VILLAGE
BLACKSMITH INTERESTED IN BURNING WITCHES), A QUITE
EXTRAORDINARILY RUDE FRENCHMAN, TIM THE WIZARD, SIR
LAUNCELOT
 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- b...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 7.4.844

2015-09-01 Fir de Conversatie Bram Moolenaar

Patch 7.4.844
Problem:When '#' is in 'isident' the is# comparator doesn't work.
Solution:   Don't use vim_isIDc(). (Yasuhiro Matsumoto)
Files:  src/eval.c, src/testdir/test_comparators.in,
src/testdir/test_comparators.ok, src/testdir/Makefile,
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


*** ../vim-7.4.843/src/eval.c   2015-08-25 16:48:56.072640146 +0200
--- src/eval.c  2015-09-01 16:01:08.008531180 +0200
***
*** 4431,4437 
{
if (p[2] == 'n' && p[3] == 'o' && p[4] == 't')
len = 5;
!   if (!vim_isIDc(p[len]))
{
type = len == 2 ? TYPE_EQUAL : TYPE_NEQUAL;
type_is = TRUE;
--- 4431,4438 
{
if (p[2] == 'n' && p[3] == 'o' && p[4] == 't')
len = 5;
!   i = p[len];
!   if (!isalnum(i) && i != '_')
{
type = len == 2 ? TYPE_EQUAL : TYPE_NEQUAL;
type_is = TRUE;
*** ../vim-7.4.843/src/testdir/test_comparators.in  2015-09-01 
16:04:01.606732445 +0200
--- src/testdir/test_comparators.in 2015-09-01 15:55:25.584077613 +0200
***
*** 0 
--- 1,21 
+ " Test for expression comparators.   vim: set ft=vim :
+ 
+ 
+ STARTTEST
+ :so small.vim
+ :try
+ :  let oldisident=&isident
+ :  set isident+=#
+ :  if 1 is#1
+ :$put ='ok'
+ :  else
+ :$put ='ng'
+ :  endif
+ :finally
+ :  let &isident=oldisident
+ :endtry
+ :"
+ :/^marker/+1,$wq! test.out
+ ENDTEST
+ 
+ marker
*** ../vim-7.4.843/src/testdir/test_comparators.ok  2015-09-01 
16:04:01.610732403 +0200
--- src/testdir/test_comparators.ok 2015-09-01 15:55:43.527891828 +0200
***
*** 0 
--- 1 
+ ok
*** ../vim-7.4.843/src/testdir/Makefile 2015-08-11 14:26:03.594931131 +0200
--- src/testdir/Makefile2015-09-01 15:57:00.607093695 +0200
***
*** 42,47 
--- 42,48 
test_charsearch.out \
test_close_count.out \
test_command_count.out \
+   test_comparators.out \
test_erasebackword.out \
test_eval.out \
test_fixeol.out \
*** ../vim-7.4.843/src/testdir/Make_amiga.mak   2015-08-11 14:26:03.594931131 
+0200
--- src/testdir/Make_amiga.mak  2015-09-01 15:56:34.279366321 +0200
***
*** 45,50 
--- 45,51 
test_charsearch.out \
test_close_count.out \
test_command_count.out \
+   test_comparators.out \
test_erasebackword.out \
test_eval.out \
test_fixeol.out \
***
*** 198,203 
--- 199,205 
  test_charsearch.out: test_charsearch.in
  test_close_count.out: test_close_count.in
  test_command_count.out: test_command_count.in
+ test_comparators.out: test_comparators.in
  test_erasebackword.out: test_erasebackword.in
  test_eval.out: test_eval.in
  test_increment.out: test_increment.in
*** ../vim-7.4.843/src/testdir/Make_dos.mak 2015-08-11 14:26:03.594931131 
+0200
--- src/testdir/Make_dos.mak2015-09-01 15:56:40.607300797 +0200
***
*** 44,49 
--- 44,50 
test_charsearch.out \
test_close_count.out \
test_command_count.out \
+   test_comparators.out \
test_erasebackword.out \
test_eval.out \
test_fixeol.out \
*** ../vim-7.4.843/src/testdir/Make_ming.mak2015-08-11 14:26:03.594931131 
+0200
--- src/testdir/Make_ming.mak   2015-09-01 15:56:44.631259125 +0200
***
*** 66,71 
--- 66,72 
test_charsearch.out \
test_close_count.out \
test_command_count.out \
+   test_comparators.out \
test_erasebackword.out \
test_eval.out \
test_fixeol.out \
*** ../vim-7.4.843/src/testdir/Make_os2.mak 2015-08-11 14:26:03.594931131 
+0200
--- src/testdir/Make_os2.mak2015-09-01 15:56:46.683237882 +0200
***
*** 46,51 
--- 46,52 
test_charsearch.out \
test_close_count.out \
test_command_count.out \
+   test_comparators.out \
test_erasebackword.out \
test_eval.out \
test_fixeol.out \
*** ../vim-7.4.843/src/testdir/Make_vms.mms 2015-08-11 14:26:03.594931131 
+0200
--- src/testdir/Make_vms.mms2015-09-01 15:56:50.363199776 +0200
***
*** 4,10 
  # Authors:Zoltan Arpadffy, 
  # Sandor Kopanyi,  
  #
! # Last change:  2015 Aug 11
  #
  # This has been tes