[patch] added debian build badge

2017-11-01 Fir de Conversatie Dominique Pellé
Hi

I see that the neovim github page has a
debian CI badge. See:
https://github.com/neovim/neovim

How about adding a similar badge in the vim
github page?  I attach a patch to do that (not tested)
which links to:
https://buildd.debian.org/status/package.php?p=vim

Debian builds on many platforms which is useful
to have a look at. It's currently using vim-8.0.1226.
Glancing at those builds logs, I see:

- failures in Test_popup_and_window_resize() on at least mips
  hppa, and sparc64 platforms, which are presumably fixed
  in vim-8.0.1241

- failures in Test_terminal_composing_unicode() and
  Test_terminal_special_chars() on hppa platform, See:
  
https://buildd.debian.org/status/fetch.php?pkg=vim&arch=hppa&ver=2%3A8.0.1226-1&stamp=1509125272&raw=0

- segfault in Test_finish_open_close() on hurd-386 platform.
  See: 
https://buildd.debian.org/status/fetch.php?pkg=vim&arch=hurd-i386&ver=2%3A8.0.1226-1&stamp=1509286549&raw=0

- segfault on alpha platform. See:
  
https://buildd.debian.org/status/fetch.php?pkg=vim&arch=alpha&ver=2%3A8.0.1226-1&stamp=1509205720&raw=0

Unfortunately, I see no stack trace when there is a
segfault so I don't know how we can investigate crashes
on hurd-386 and alphan platforms.

Regards
Dominique

-- 
-- 
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/README.md b/README.md
index 53795a7..b60b6b6 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,7 @@
 [![Coverage Status](https://coveralls.io/repos/vim/vim/badge.svg?branch=master&service=github)](https://coveralls.io/github/vim/vim?branch=master)
 [![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim)
 [![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim)
+[![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim)[![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim)
 
 
 ## What is Vim? ##


Re: Security risk of vim swap files

2017-11-01 Fir de Conversatie Ken Takata
Hi,

2017/11/1 Wed 12:32:43 UTC+9 Ken Takata wrote:
> Hi,
> 
> 2017/11/1 Wed 6:20:27 UTC+9 Bram Moolenaar wrote:
> > Hanno Böck wrote:
> > 
> > > I wanted to point out an issue here with vim swap files that make them
> > > a security problem.
> > > 
> > > By default vim creates a file with the name .filename.swp in the same
> > > directory while editing. They contain the full content of the edited
> > > file. This usually gets deleted upon exit, but not if vim crashes or
> > > gets killed (e.g. due to a reboot).
> > > 
> > > On web servers this can be a severe security risk. One can e.g. scan
> > > for web hosts that have swap files of PHP configuration files and thus
> > > expose settings like database passwords. (e.g. wget
> > > http://example.com/.wp-config.php.swp )
> > 
> > Why would a web server expose and serve such a file?  That clearly is
> > the problem, not that Vim happens to create swap files (and undo and
> > backup files, depending on your configuration).
> > 
> > You probably also create new files and copies of files that should not
> > be served.  If you care about security, the web server must always use
> > whitelisting, only serve files that were intentionally made public.
> > 
> > > In a scan of the alexa top 1 million I found ~750 instances of such
> > > files. I tried to inform affected people as best as I could. I also
> > > discovered such scans in my own web server logs, so I assume black hats
> > > are already aware of this and it's actively exploitet.
> > > 
> > > I was wondering how to best avoid this on my own servers and I first
> > > thought about saving the swap files to tmp ( with "set directory").
> > > However on multiuser systems this creates another security problem.
> > > These files are world readable, thus instead of leaking information to
> > > the world it's now leaking information to other users on the same
> > > system. Thus even if one is aware of the issue it's nontrivial to get
> > > secure settings (I've now worked around this by having per-user tmp
> > > dirs with secure permissions.)
> > > 
> > > I think vim should change the behavior of swap files:
> > > 1. they should be stored in /tmp by default
> > 
> > No, on Linux this is wiped clean on reboot.  You lose your work on a
> > system crash.
> > 
> > > 2. they should have secure permissions (tmp file security is
> > > a tricky thing and needs careful consideration to avoid symlink attacks
> > > and the like, but there are dedicated functions for this like mkstemp).
> > 
> > The permissions are the same as the original file, and that is exactly
> > how it should be.
> > 
> > > 3. Ideally they also shouldn't leak currently edited filenames (e.g.
> > > they shouldn't be called /tmp/.test.txt.swp, but more something
> > > like /tmp/.vim_swap.123782173)
> > 
> > Infeasible, Vim can't find that file when trying to recover the original
> > file.
> 
> An issue related to this (not the same) is filed as CVE-2017-1000382:
>   http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000382
>   https://security-tracker.debian.org/tracker/CVE-2017-1000382
> 
> It seems that the problem is that Vim ignores umask:
>   http://www.openwall.com/lists/oss-security/2017/10/31/15
> 
> (Similar one for Emacs:
>   http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000383 )

How about the attached patch?
This makes Vim to respect umask when creating a swapfile.
(I'm not sure this is actually needed, though.)

Regards,
Ken Takata

-- 
-- 
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.
# HG changeset patch
# Parent  8a009ace74e43d2117cc4a17600b3de60ab08de4

diff --git a/src/fileio.c b/src/fileio.c
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -509,9 +509,16 @@ readfile(
 	 * (they must not write the swapfile).
 	 * Add the "read" and "write" bits for the user, otherwise we may
 	 * not be able to write to the file ourselves.
+	 * Also respect umask.
 	 * Setting the bits is done below, after creating the swap file.
 	 */
-	swap_mode = (st.st_mode & 0644) | 0600;
+	{
+		mode_t	umask_save;
+
+		umask_save = umask(0);	/* Get current umask. */
+		(void)umask(umask_save);
+		swap_mode = (st.st_mode & 0644 & ~umask_save) | 0600;
+	}
 #endif
 #ifdef FEAT_CW_EDITOR
 	/* Get the FSSpec on MacOS


Re: Patch 8.0.1241

2017-11-01 Fir de Conversatie James McCoy
On Wed, Nov 01, 2017 at 09:22:45PM +0100, Bram Moolenaar wrote:
> That's defenitely better than an arbitrary delay.  However, I think your
> check just never matches and causes a delay of one second.

That's surprising that WaitFor() silently fails, but you are right.  I
tested this patch and it does work:

diff --git i/src/testdir/test_popup.vim w/src/testdir/test_popup.vim
index 2781aabcd..0746efc7f 100644
--- i/src/testdir/test_popup.vim
+++ w/src/testdir/test_popup.vim
@@ -637,9 +637,11 @@ func Test_popup_and_window_resize()
   if h < 15
 return
   endif
-  let g:buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], 
{'term_rows': h / 3})
+  let rows = h / 3
+  let g:buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], 
{'term_rows': rows})
   call term_sendkeys(g:buf, (h / 3 - 1)."o\")
-  call term_wait(g:buf, 500)
+  " Wait for the nested Vim to exit insert mode, where it will show the ruler
+  call WaitFor(printf('term_getline(g:buf, %d) =~ "\<%d,.*Bot"', rows, rows))
   call term_sendkeys(g:buf, "Gi\")
   call term_sendkeys(g:buf, "\")
   call term_wait(g:buf, 100)

Cheers,
-- 
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB

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

2017-11-01 Fir de Conversatie Bram Moolenaar

James McCoy wrote:

> On Tue, Oct 31, 2017 at 10:20:14PM +0100, Bram Moolenaar wrote:
> > *** ../vim-8.0.1240/src/testdir/test_popup.vim  2017-10-27 
> > 01:34:55.093306847 +0200
> > --- src/testdir/test_popup.vim  2017-10-31 22:15:48.865608389 +0100
> > ***
> > *** 639,645 
> > endif
> > let g:buf = term_start([GetVimProg(), '--clean', '-c', 'set 
> > noswapfile'], {'term_rows': h / 3})
> > call term_sendkeys(g:buf, (h / 3 - 1)."o\")
> > !   call term_wait(g:buf, 200)
> > call term_sendkeys(g:buf, "Gi\")
> > call term_sendkeys(g:buf, "\")
> > call term_wait(g:buf, 100)
> > --- 639,645 
> > endif
> > let g:buf = term_start([GetVimProg(), '--clean', '-c', 'set 
> > noswapfile'], {'term_rows': h / 3})
> > call term_sendkeys(g:buf, (h / 3 - 1)."o\")
> > !   call term_wait(g:buf, 500)
> 
> Wouldn't something more deterministic be better?  How about this?
> 
> diff --git i/src/testdir/test_popup.vim w/src/testdir/test_popup.vim
> index 2781aabcd..a4bed18d9 100644
> --- i/src/testdir/test_popup.vim
> +++ w/src/testdir/test_popup.vim
> @@ -639,7 +639,8 @@ func Test_popup_and_window_resize()
>endif
>let g:buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], 
> {'term_rows': h / 3})
>call term_sendkeys(g:buf, (h / 3 - 1)."o\")
> -  call term_wait(g:buf, 500)
> +  " Wait for the nested Vim to exit insert mode, where it will show the ruler
> +  call WaitFor(printf('term_getline(g:buf, %d) =~ "\<%d,1\>"', h, h / 3))
>call term_sendkeys(g:buf, "Gi\")
>call term_sendkeys(g:buf, "\")
>call term_wait(g:buf, 100)

That's defenitely better than an arbitrary delay.  However, I think your
check just never matches and causes a delay of one second.

-- 
Sorry, no fortune today.

 /// 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] some small fixes for the incsearch test

2017-11-01 Fir de Conversatie Christian Brabandt
Bram,
attached patch contains the fixes discussed at 
https://github.com/vim/vim/issues/2267 including some tests.

Those newly added (or changed) tests are:

- Test_search_cmdline6
  makes sure, that  will skip to the next pattern and does not skip 
  consecutive patterns
- Test_search_cmdline7
  makes sure, that  does not move the cursor, if no pattern has 
  been entered (and so does not move to the previous used pattern)
  (This might have been a feature for some people, however in #2267
  it was considered a bug, so I removed that "feature").
  Fix is courtesy of h-east
- Test_search_cmdline8
  make sure, that all windows are redrawn after leaving the commandline. 
  This makes sense, since the hlsearch pattern applies globally to all 
  windows. Fix is courtesy of haya14busa
  Note: The test does not fail on an unpatched Vim, however when run 
  interactively it works correctly. Don't know why this happens.
- Test_search_cmdline_incsearch_highlight_attr
  Fix that this does not work on Windows (as mentioned in
  https://groups.google.com/d/msg/vim_dev/YvyOOnc3KW0/wTPvl2bIBgAJ)
  It includes the fix for the test from that message.

It also throws skipped on Windows, as `term_sendkeys(...,"\")` does 
not work correctly on windows and this is needed to verify that 
Test_search_cmdline8 works correctly.

It also contains a bugfix for the documentation:

- autocmd CmdlineEnter [/\?] :set hlsearch
- autocmd CmdlineLeave [/\?] :set nohlsearch
+ autocmd CmdlineEnter /,\? :set hlsearch
+ autocmd CmdlineLeave /,\? :set nohlsearch

This does not work on Windows. Don't know why. Somehow the cmdwin-char 
for forward search seems to be `\` on a windows machine, at least this 
is what I get with
,
| au CmdlineEnter * :echomsg expand("")
`

However, this does not explain, why the pattern /,\? works. But since it 
does, I just updated the documentation. Another pattern that works would 
be `[/\\?]`

Christian
-- 
Meinungen sind wie Grundstücke: Erstens sind sie zu teuer, und
zweitens kann man nicht immer darauf bauen.
-- Dieter Hildebrandt

-- 
-- 
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.
From a1e88ac0b2fa8b2a10a730b86ce3da85104ab0f7 Mon Sep 17 00:00:00 2001
From: Christian Brabandt 
Date: Wed, 1 Nov 2017 17:01:21 +0100
Subject: [PATCH] Some small fixes for incsearch feature

---
 runtime/doc/options.txt |   4 +-
 src/ex_getln.c  |  10 +++-
 src/testdir/test_search.vim | 119 ++--
 3 files changed, 127 insertions(+), 6 deletions(-)

diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 0a07cc257..b006dc61a 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -4515,8 +4515,8 @@ A jump table for the options with a short description can be found at |Q_op|.
 	Example: >
 		augroup vimrc-incsearch-highlight
 		  autocmd!
-		  autocmd CmdlineEnter [/\?] :set hlsearch
-		  autocmd CmdlineLeave [/\?] :set nohlsearch
+		  autocmd CmdlineEnter /,\? :set hlsearch
+		  autocmd CmdlineLeave /,\? :set nohlsearch
 		augroup END
 <
 	CTRL-L can be used to add one character from after the current match
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 717a01224..027047728 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1717,12 +1717,19 @@ getcmdline(
 		pos_T  t;
 		intsearch_flags = SEARCH_NOOF;
 
+		if (ccline.cmdlen == 0)
+			goto cmdline_not_changed;
+
 		save_last_search_pattern();
 		cursor_off();
 		out_flush();
 		if (c == Ctrl_G)
 		{
 			t = match_end;
+			if (LT_POS(match_start, match_end))
+			/* start searching at the end of the match
+			 * not at the beginning of the next column */
+			(void)decl(&t);
 			search_flags += SEARCH_COL;
 		}
 		else
@@ -1945,6 +1952,7 @@ cmdline_changed:
 	{
 		i = 0;
 		SET_NO_HLSEARCH(TRUE); /* turn off previous highlight */
+		redraw_all_later(SOME_VALID);
 	}
 	else
 	{
@@ -2082,7 +2090,7 @@ returncmd:
 	curwin->w_botline = old_botline;
 	highlight_match = FALSE;
 	validate_cursor();	/* needed for TAB */
-	redraw_later(SOME_VALID);
+	redraw_all_later(SOME_VALID);
 }
 #endif
 
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index b863fcbba..ab599fe4d 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -397,6 +397,117 @@ func Test_search_cmdline5()
   bw!
 endfunc
 
+func Test_search_cmdline6()
+  " Test that consecutive matches
+  " are caught by /
+  if !exists('+incsear

[patch] Update makefiles in src/po/

2017-11-01 Fir de Conversatie Ken Takata
Hi,

There are some problems in src/po/Make_*.mak.

* Make_ming.mak doesn't work well when it is executed on msys2's bash.
* Some source files are missing from the makefiles.

Attached patches fix them.

Regards,
Ken Takata

-- 
-- 
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.
# HG changeset patch
# Parent  d9f39932dea38404dceb4421a754bdfe167ffaea

diff --git a/src/po/Make_ming.mak b/src/po/Make_ming.mak
--- a/src/po/Make_ming.mak
+++ b/src/po/Make_ming.mak
@@ -11,7 +11,11 @@
 #
 
 ifndef VIMRUNTIME
+ifeq (sh.exe, $(SHELL))
 VIMRUNTIME = ..\..\runtime
+else
+VIMRUNTIME = ../../runtime
+endif
 endif
 
 LANGUAGES = \
@@ -100,14 +104,27 @@ PACKAGE = vim
 #GETTEXT_PATH = C:/gettext-0.10.35-w32/win32/Release/
 #GETTEXT_PATH = C:/cygwin/bin/
 
+ifeq (sh.exe, $(SHELL))
 MSGFMT = set OLD_PO_FILE_INPUT=yes && $(GETTEXT_PATH)msgfmt -v
 XGETTEXT = set OLD_PO_FILE_INPUT=yes && set OLD_PO_FILE_OUTPUT=yes && $(GETTEXT_PATH)xgettext
 MSGMERGE = set OLD_PO_FILE_INPUT=yes && set OLD_PO_FILE_OUTPUT=yes && $(GETTEXT_PATH)msgmerge
+else
+MSGFMT = LANG=C OLD_PO_FILE_INPUT=yes $(GETTEXT_PATH)msgfmt -v
+XGETTEXT = LANG=C OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes $(GETTEXT_PATH)xgettext
+MSGMERGE = LANG=C OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes $(GETTEXT_PATH)msgmerge
+endif
 
+ifeq (sh.exe, $(SHELL))
 MV = move
 CP = copy
 RM = del
 MKD = mkdir
+else
+MV = mv -f
+CP = cp -f
+RM = rm -f
+MKD = mkdir -p
+endif
 
 .SUFFIXES:
 .SUFFIXES: .po .mo .pot
@@ -136,10 +153,18 @@ install:
 	$(MKD) $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES
 	$(CP) $(LANGUAGE).mo $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES\$(PACKAGE).mo
 
+ifeq (sh.exe, $(SHELL))
 install-all: all
 	FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l $(MKD) $(VIMRUNTIME)\lang\%%l
 	FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l\LC_MESSAGES $(MKD) $(VIMRUNTIME)\lang\%%l\LC_MESSAGES
 	FOR %%l IN ($(LANGUAGES)) DO @$(CP) %%l.mo $(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo
+else
+install-all: all
+	for TARGET in $(LANGUAGES); do \
+		$(MKD) $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES ; \
+		$(CP) $$TARGET.mo $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES/$(PACKAGE).mo ; \
+	done
+endif
 
 clean:
 	$(RM) *.mo
# HG changeset patch
# Parent  57916746642402e28f9d8b465aa1ab3cc24a2b46

diff --git a/src/po/Make_cyg.mak b/src/po/Make_cyg.mak
--- a/src/po/Make_cyg.mak
+++ b/src/po/Make_cyg.mak
@@ -128,11 +128,11 @@ all: $(MOFILES)
 
 first_time:
 	$(XGETTEXT) --default-domain=$(LANGUAGE) \
-		--add-comments --keyword=_ --keyword=N_ $(wildcard ../*.c) ../if_perl.xs $(wildcard ../globals.h)
+		--add-comments --keyword=_ --keyword=N_ $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h
 
 $(LANGUAGES):
 	$(XGETTEXT) --default-domain=$(PACKAGE) \
-		--add-comments --keyword=_ --keyword=N_ $(wildcard ../*.c) ../if_perl.xs $(wildcard ../globals.h)
+		--add-comments --keyword=_ --keyword=N_ $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h
 	$(MV) $(PACKAGE).po $(PACKAGE).pot
 	$(CP) $@.po $@.po.orig
 	$(MV) $@.po $@.po.old
diff --git a/src/po/Make_ming.mak b/src/po/Make_ming.mak
--- a/src/po/Make_ming.mak
+++ b/src/po/Make_ming.mak
@@ -137,11 +137,11 @@ all: $(MOFILES)
 
 first_time:
 	$(XGETTEXT) --default-domain=$(LANGUAGE) \
-		--add-comments --keyword=_ --keyword=N_ $(wildcard ../*.c) ../if_perl.xs $(wildcard ../globals.h)
+		--add-comments --keyword=_ --keyword=N_ $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h
 
 $(LANGUAGES):
 	$(XGETTEXT) --default-domain=$(PACKAGE) \
-		--add-comments --keyword=_ --keyword=N_ $(wildcard ../*.c) ../if_perl.xs $(wildcard ../globals.h)
+		--add-comments --keyword=_ --keyword=N_ $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h
 	$(MV) $(PACKAGE).po $(PACKAGE).pot
 	$(CP) $@.po $@.po.orig
 	$(MV) $@.po $@.po.old
diff --git a/src/po/Make_mvc.mak b/src/po/Make_mvc.mak
--- a/src/po/Make_mvc.mak
+++ b/src/po/Make_mvc.mak
@@ -117,7 +117,7 @@ INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUA
 all: $(MOFILES)
 
 files:
-	$(LS) $(LSFLAGS) ..\*.c ..\if_perl.xs ..\globals.h > .\files
+	$(LS) $(LSFLAGS) ..\*.c ..\if_perl.xs ..\GvimExt\gvimext.cpp ..\globals.h ..\if_py_both.h > .\files
 
 first_time: files
 	set OLD_PO_FILE_INPUT=yes


Re: Patch 8.0.1238

2017-11-01 Fir de Conversatie Christian Brabandt

On Di, 31 Okt 2017, Christian Brabandt wrote:

> 
> On So, 29 Okt 2017, Bram Moolenaar wrote:
> 
> > Patch 8.0.1238
> > Problem:Incremental search only shows one match.
> > Solution:   When 'incsearch' and and 'hlsearch' are both set highlight all
> > matches. (haya14busa, closes #2198)
> > Files:  runtime/doc/options.txt, src/ex_getln.c, src/proto/search.pro,
> > src/search.c, src/testdir/test_search.vim
> 
> It looks like the test does not work correctly on Windows. I see some 
> failures:
> https://ci.appveyor.com/project/chrisbra/vim-win32-installer/build/job/g4p49k5gh6k3nbq5
> ,
> | From test_search.vim:
> | Found errors in Test_search_cmdline_incsearch_highlight_attr(): function 
> RunTheTest[34]..Test_search_cmdline_incsearch_highlight_attr 
> | line 28: Expected not equal to 292 function 
> RunTheTest[34]..Test_search_cmdline_incsearch_highlight_attr 
> | line 29: Expected not equal to 292 function 
> RunTheTest[34]..Test_search_cmdline_incsearch_highlight_attr 
> | line 30: Expected not equal to 292
> | TEST FAILURE NMAKE : fatal error U1077: 'if' : return code '0x1'
> `
> 
> This test is now disabled for the vim-win32-installer build. Once it 
> builds again, I'll try to debug this test.

I debugged it a bit further. I think the problem is this line:
,
|  call term_sendkeys(g:buf, 'i' . join(lines, "\n") . "\gg0")
`

Sending "\" does not work. Instead it looks like it sends meta/alt 
key, e.g. it set's the high bit of the following character and therefore 
does never exit insert mode.

I don't know why this is so here is a patch, that uses a temp file as a 
workaround.


diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index b863fcbba..361df8069 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -494,13 +494,14 @@ func Test_search_cmdline_incsearch_highlight_attr()
   if h < 3
 return
   endif
-  let g:buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], 
{'term_rows': 3})
-
   " Prepare buffer text
   let lines = ['abb vim vim vi', 'vimvivim']
-  call term_sendkeys(g:buf, 'i' . join(lines, "\n") . "\gg0")
+  call writefile(lines, 'Xsearch.txt')
+  let g:buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile', 
'Xsearch.txt'], {'term_rows': 3})
+
   call term_wait(g:buf, 200)
   call assert_equal(lines[0], term_getline(g:buf, 1))
+  call assert_equal(lines[1], term_getline(g:buf, 2))

   " Get attr of normal(a0), incsearch(a1), hlsearch(a2) highlight
   call term_sendkeys(g:buf, ":set incsearch hlsearch\")
@@ -564,6 +565,7 @@ func Test_search_cmdline_incsearch_highlight_attr()
   let attr_line2 = [a0,a0,a0,a0,a0,a0,a0,a0]
   call assert_equal(attr_line1, map(term_scrape(g:buf, 1)[:len(attr_line1)-1], 
'v:val.attr'))
   call assert_equal(attr_line2, map(term_scrape(g:buf, 2)[:len(attr_line2)-1], 
'v:val.attr'))
+  call delete('Xsearch.txt')

   bwipe!
 endfunc



Christian
-- 
Hart ist Hart. Weich ist Weich. Aber immer weich ist hart.

-- 
-- 
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: vim 7.3

2017-11-01 Fir de Conversatie Christian Brabandt

On Mi, 01 Nov 2017, Tony Mechelynck wrote:

> Another thing I don't like (or maybe don't understand) in git is the
> existence of "garbage collection". On the contrary, a basic tenet of
> Mercurial philosophy is that history is frozen in stone, so if I let a
> clone stand without updating it for, let's say, a year, and then run
> "hg pull -u" or "hg fetch", Mercurial will be able to continue from
> where I left off and (barring timeouts and brownouts) get the clone
> back up to date. Once I did that with git, and when I came back after
> a year my clone was so hopelessly out of date that git didn't know how
> to update it: the only way I found to make it up to date again was to
> delete the clone and make a new one.

If I understood correctly garbage collection in git, this only affects 
any object, that is not reachable, so it should in practice not matter 
for the usual case.

> P.S. Happily for me, Christian understands both of them (or ;-) seems
> to) 

More or less :)

Christian
-- 
Der Begriff "Fortschritt" allein setzt bereits die Horizontale voraus.
Er bedeutet ein Weiterkommen und keine Höherkommen.
-- Joseph Roth

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