Re: improving Vim - Kickstarter - brainstorming - goals - who wants to join?

2013-11-28 Thread Bram Moolenaar

Michael Jarvis wrote:

> On Monday, November 25, 2013 7:26:42 AM UTC-6, MarcWeber wrote:
> > I've been complaining about Vim related issues for a long time,
> > 
> > I think its time to stop complaining and just fix it.
> > 
> > 
> > 
> > Join by providing feedback:
> > 
> > http://mawercer.de/vim.php
> > 
> > 
> > 
> > or adding additional issues to be fixed here:
> > 
> > http://vim-wiki.mawercer.de/wiki/topic/in-which-way-does-vim-suck.html
> > 
> > 
> > 
> > The idea is to create a kickstarter project to funding all work.
> > 
> > IMHO Vim is worth keeping alive, and that means we must find a way
> > 
> > to move Vim into the future.
> > 
> > 
> > 
> > If this requires writing a new language, because C lacks abstracktions,
> > 
> > and C++ is complex, then that's the task to be done IMHO.
> 
> 
> Personally I think that rewriting in a new language would mean that
> it's not Vim any more. If you want to create a Vim-like IDE, written
> in another language, with more functionality, then it would be a new
> product. Maybe call it Vim++, or SuperVim, or something similar, but
> it should be a fork of Vim and not a total rewrite of the current
> editor.  
> 
> I think Vim is wonderful as it is for my purposes, and it's currently
> the "default" Vi on many many Linux computers across the world. We
> don't want to change that by starting over, even if we do try to
> re-use some of the code.
> 
> This article from Joel Spolsky sums up why I think rewriting would be
> a bad idea:  http://www.joelonsoftware.com/articles/fog69.html

Correct.  Vim overtook Elvis, because the author of Elvis decided to do
a complete rewrite.  After a couple of years of development something
came out that didn't quite work and was missing features.

I do think that C is an old language and writing high level code in it
is tough.  Especially when it needs to be portable.  A possible way out
is to write code in Zimbu, which compiles into C, so that parts can be
(re)written in Zimbu while still using existing code in C.  But Zimbu
isn't ready yet...


-- 
Often you're less important than your furniture.  If you think about it, you
can get fired but your furniture stays behind, gainfully employed at the
company that didn't need _you_ anymore.
(Scott Adams - The Dilbert principle)

 /// 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/groups/opt_out.


Re: [patch][bugfix] ftplugin/python.vim

2013-11-28 Thread Bram Moolenaar

Hirohito Higashi wrote:

> Hi Christian,
> 
> 2013/11/27(Wed) 0:10:35 UTC+9 Christian Brabandt:
> > I don't have anything to contribute except for this part of the patch:
> > 
> > 
> > 
> > > +if has("gui_win32") && !exists("b:browsefilter")
> > 
> > > +let b:browsefilter = "Python Files (*.py)\t*.py\n" .
> > 
> > > +\ "All Files (*.*)\t*.*\n"
> > 
> > > +endif
> > 
> > 
> > 
> > BTW: b:browsefilter is also supported by the GTK Gui. You can check by
> > 
> > :echo has("browsefilter")
> Oh! That's right. Thanks for your advice.
> I update a patch.

I think we do want to check if b:browsefilter already exists.  It means
that another plugin has already set it, thus we should leave it alone.

if has("browsefilter") && !exists("b:browsefilter")
let b:browsefilter = "Python Files (*.py)\t*.py\n" .
   \ "All Files (*.*)\t*.*\n"
endif

Any reason you move Python_jump() further down?  Not executing the
"finish" appears the fix needed.

-- 
login: yes
password: I don't know, please tell me
password is incorrect
login: yes
password: incorrect

 /// 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/groups/opt_out.


Re: [patch] Option to show indent level with 'expandtab' and 'list' option

2013-11-28 Thread Bram Moolenaar

Harig wrote:

> The attached patch adds a 'listchars' option 'lsp' which marks leading
> space at 'shiftwidth' with the defined characer so that you can follow
> the indent level in a bit too much nested code when you also have
> 'expandtab' option set and use spaces for indentation (e.g. Python
> code in many repos enforce a 'spaces only indenting' policy).

I can't help but reading "lsp" as Lisp...

Can you attach a screenshot, so that we can see what the effect is
without rebuilding Vim?

The change to Make_mvc.mak seems unrelated.

I guess that most users would prefer highlighting the character, rather
than replacing it with a printable character.
I'm not sure this can already done with a :match.  Might be tricky.
It does seem very useful to highlight the indent every 'sw', especially
for Python.  It would clearly show code blocks.


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

 /// 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/groups/opt_out.


Patch 7.4.104

2013-11-28 Thread Bram Moolenaar

Patch 7.4.104
Problem:":help s/\_" reports an internal error. (John Beckett)
Solution:   Check for NUL and invalid character classes.
Files:  src/regexp_nfa.c


*** ../vim-7.4.103/src/regexp_nfa.c 2013-11-21 16:03:35.0 +0100
--- src/regexp_nfa.c2013-11-28 14:05:34.0 +0100
***
*** 239,245 
--- 239,247 
  NFA_UPPER, NFA_NUPPER
  };
  
+ static char_u e_nul_found[] = N_("E865: (NFA) Regexp end encountered 
prematurely");
  static char_u e_misplaced[] = N_("E866: (NFA regexp) Misplaced %c");
+ static char_u e_ill_char_class[] = N_("E877: (NFA regexp) Invalid character 
class: %ld");
  
  /* NFA regexp \ze operator encountered. */
  static int nfa_has_zend;
***
*** 1137,1143 
  switch (c)
  {
case NUL:
!   EMSG_RET_FAIL(_("E865: (NFA) Regexp end encountered prematurely"));
  
case Magic('^'):
EMIT(NFA_BOL);
--- 1139,1145 
  switch (c)
  {
case NUL:
!   EMSG_RET_FAIL(_(e_nul_found));
  
case Magic('^'):
EMIT(NFA_BOL);
***
*** 1160,1165 
--- 1162,1170 
  
case Magic('_'):
c = no_Magic(getchr());
+   if (c == NUL)
+   EMSG_RET_FAIL(_(e_nul_found));
+ 
if (c == '^')   /* "\_^" is start-of-line */
{
EMIT(NFA_BOL);
***
*** 1216,1221 
--- 1221,1232 
p = vim_strchr(classchars, no_Magic(c));
if (p == NULL)
{
+   if (extra == NFA_ADD_NL)
+   {
+   EMSGN(_(e_ill_char_class), c);
+   rc_did_emsg = TRUE;
+   return FAIL;
+   }
EMSGN("INTERNAL: Unknown character class char: %ld", c);
return FAIL;
}
***
*** 4733,4739 
  
default:
/* should not be here :P */
!   EMSGN("E877: (NFA regexp) Invalid character class: %ld", class);
return FAIL;
  }
  return FAIL;
--- 4744,4750 
  
default:
/* should not be here :P */
!   EMSGN(_(e_ill_char_class), class);
return FAIL;
  }
  return FAIL;
*** ../vim-7.4.103/src/version.c2013-11-21 18:13:26.0 +0100
--- src/version.c   2013-11-28 14:06:59.0 +0100
***
*** 740,741 
--- 740,743 
  {   /* Add new patch number below this line */
+ /**/
+ 104,
  /**/

-- 
Everybody wants to go to heaven, but nobody wants to die.

 /// 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/groups/opt_out.


Patch 7.4.105

2013-11-28 Thread Bram Moolenaar

Patch 7.4.105
Problem:Completing a tag pattern may give an error for invalid pattern.
Solution:   Suppress the error, just return no matches.
Files:  src/tag.c


*** ../vim-7.4.104/src/tag.c2013-11-08 04:30:06.0 +0100
--- src/tag.c   2013-11-28 14:27:38.0 +0100
***
*** 1326,1331 
--- 1326,1332 
  int   match_no_ic = 0;/* matches with rm_ic == FALSE */
  int   match_re;   /* match with regexp */
  int   matchoff = 0;
+ int   save_emsg_off;
  
  #ifdef FEAT_EMACS_TAGS
  /*
***
*** 1442,1448 
--- 1443,1452 
  if (p_tl != 0 && orgpat.len > p_tl)   /* adjust for 
'taglength' */
orgpat.len = p_tl;
  
+ save_emsg_off = emsg_off;
+ emsg_off = TRUE;  /* don't want error for invalid RE here */
  prepare_pats(&orgpat, has_re);
+ emsg_off = save_emsg_off;
  if (has_re && orgpat.regmatch.regprog == NULL)
goto findtag_end;
  
*** ../vim-7.4.104/src/version.c2013-11-28 14:20:11.0 +0100
--- src/version.c   2013-11-28 14:30:35.0 +0100
***
*** 740,741 
--- 740,743 
  {   /* Add new patch number below this line */
+ /**/
+ 105,
  /**/

-- 
The goal of science is to build better mousetraps.
The goal of nature is to build better mice.

 /// 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/groups/opt_out.


Re: [patch][bugfix] ftplugin/python.vim

2013-11-28 Thread h_east
Hi Bram,

2013/11/28(Thu) 20:46:55 UTC+9 Bram Moolenaar:
> Hirohito Higashi wrote:
> 
> 
> 
> > Hi Christian,
> 
> > 
> 
> > 2013/11/27(Wed) 0:10:35 UTC+9 Christian Brabandt:
> 
> > > I don't have anything to contribute except for this part of the patch:
> 
> > > 
> 
> > > 
> 
> > > 
> 
> > > > +if has("gui_win32") && !exists("b:browsefilter")
> 
> > > 
> 
> > > > +let b:browsefilter = "Python Files (*.py)\t*.py\n" .
> 
> > > 
> 
> > > > +\ "All Files (*.*)\t*.*\n"
> 
> > > 
> 
> > > > +endif
> 
> > > 
> 
> > > 
> 
> > > 
> 
> > > BTW: b:browsefilter is also supported by the GTK Gui. You can check by
> 
> > > 
> 
> > > :echo has("browsefilter")
> 
> > Oh! That's right. Thanks for your advice.
> 
> > I update a patch.
> 
> 
> 
> I think we do want to check if b:browsefilter already exists.  It means
> 
> that another plugin has already set it, thus we should leave it alone.
> 
> 
> 
> if has("browsefilter") && !exists("b:browsefilter")
> 
> let b:browsefilter = "Python Files (*.py)\t*.py\n" .
> 
>  \ "All Files (*.*)\t*.*\n"
> 
> endif
> 
> 
> 
> Any reason you move Python_jump() further down?  Not executing the
> 
> "finish" appears the fix needed.

Thanks. I update patch simply.
Please check this again. 

Oh!! It is already fixed in rev.5510:d7d7bac1a163 :-)

Thank you Bram.

Best regards,
Hirohito Higashi

> 
> 
> 
> -- 
> 
> login: yes
> 
> password: I don't know, please tell me
> 
> password is incorrect
> 
> login: yes
> 
> password: incorrect
> 
> 
> 
>  /// 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/groups/opt_out.


Patch 7.4.106

2013-11-28 Thread Bram Moolenaar

Patch 7.4.106
Problem:Can't build with Ruby using Cygwin.
Solution:   Fix library name in makefile. (Steve Hall)
Files:  src/Make_cyg.mak


*** ../vim-7.4.105/src/Make_cyg.mak 2013-09-19 20:48:59.0 +0200
--- src/Make_cyg.mak2013-11-28 16:29:52.0 +0100
***
*** 1,6 
  #
  # Makefile for VIM on Win32, using Cygnus gcc
! # Last updated by Dan Sharp.  Last Change: 2013 Sep 19
  #
  # Also read INSTALLpc.txt!
  #
--- 1,6 
  #
  # Makefile for VIM on Win32, using Cygnus gcc
! # Last updated by Dan Sharp.  Last Change: 2013 Nov 28
  #
  # Also read INSTALLpc.txt!
  #
***
*** 272,278 
  DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
  DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
  else
! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME).lib
  endif
  endif
  
--- 272,278 
  DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
  DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
  else
! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME)
  endif
  endif
  
*** ../vim-7.4.105/src/version.c2013-11-28 14:36:24.0 +0100
--- src/version.c   2013-11-28 16:29:25.0 +0100
***
*** 740,741 
--- 740,743 
  {   /* Add new patch number below this line */
+ /**/
+ 106,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
7. You finally do take that vacation, but only after buying a cellular modem
   and a laptop.

 /// 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/groups/opt_out.


Patch 7.4.107

2013-11-28 Thread Bram Moolenaar

Patch 7.4.107
Problem:Python: When vim.eval() encounters a Vim error, a try/catch in the
Python code doesn't catch it. (Yggdroot Chen)
Solution:   Throw exceptions on errors in vim.eval(). (ZyX)
Files:  src/ex_eval.c, src/if_py_both.h, src/proto/ex_eval.pro,
src/testdir/test86.in, src/testdir/test86.ok,
src/testdir/test87.in, src/testdir/test87.ok


*** ../vim-7.4.106/src/ex_eval.c2013-06-08 15:50:28.0 +0200
--- src/ex_eval.c   2013-11-28 16:59:09.0 +0100
***
*** 321,326 
--- 321,337 
  }
  
  /*
+  * Free global "*msg_list" and the messages it contains, then set "*msg_list"
+  * to NULL.
+  */
+ void
+ free_global_msglist()
+ {
+ free_msglist(*msg_list);
+ *msg_list = NULL;
+ }
+ 
+ /*
   * Throw the message specified in the call to cause_errthrow() above as an
   * error exception.  If cstack is NULL, postpone the throw until do_cmdline()
   * has returned (see do_one_cmd()).
***
*** 410,475 
  return TRUE;
  }
  
- 
  /*
!  * Throw a new exception.  Return FAIL when out of memory or it was tried to
!  * throw an illegal user exception.  "value" is the exception string for a 
user
!  * or interrupt exception, or points to a message list in case of an error
!  * exception.
   */
! static int
! throw_exception(value, type, cmdname)
  void  *value;
  int   type;
  char_u*cmdname;
  {
! except_T  *excp;
! char_u*p, *mesg, *val;
  int   cmdlen;
! 
! /*
!  * Disallow faking Interrupt or error exceptions as user exceptions.  They
!  * would be treated differently from real interrupt or error exceptions 
when
!  * no active try block is found, see do_cmdline().
!  */
! if (type == ET_USER)
! {
!   if (STRNCMP((char_u *)value, "Vim", 3) == 0 &&
!   (((char_u *)value)[3] == NUL || ((char_u *)value)[3] == ':' ||
!((char_u *)value)[3] == '('))
!   {
!   EMSG(_("E608: Cannot :throw exceptions with 'Vim' prefix"));
!   goto fail;
!   }
! }
! 
! excp = (except_T *)alloc((unsigned)sizeof(except_T));
! if (excp == NULL)
!   goto nomem;
  
  if (type == ET_ERROR)
  {
!   /* Store the original message and prefix the exception value with
!* "Vim:" or, if a command name is given, "Vim(cmdname):". */
!   excp->messages = (struct msglist *)value;
!   mesg = excp->messages->throw_msg;
if (cmdname != NULL && *cmdname != NUL)
{
cmdlen = (int)STRLEN(cmdname);
!   excp->value = vim_strnsave((char_u *)"Vim(",
   4 + cmdlen + 2 + (int)STRLEN(mesg));
!   if (excp->value == NULL)
!   goto nomem;
!   STRCPY(&excp->value[4], cmdname);
!   STRCPY(&excp->value[4 + cmdlen], "):");
!   val = excp->value + 4 + cmdlen + 2;
}
else
{
!   excp->value = vim_strnsave((char_u *)"Vim:", 4 + (int)STRLEN(mesg));
!   if (excp->value == NULL)
!   goto nomem;
!   val = excp->value + 4;
}
  
/* msg_add_fname may have been used to prefix the message with a file
--- 421,461 
  return TRUE;
  }
  
  /*
!  * Get an exception message that is to be stored in current_exception->value.
   */
! char_u *
! get_exception_string(value, type, cmdname, should_free)
  void  *value;
  int   type;
  char_u*cmdname;
+ int   *should_free;
  {
! char_u*ret, *mesg;
  int   cmdlen;
! char_u*p, *val;
  
  if (type == ET_ERROR)
  {
!   *should_free = FALSE;
!   mesg = ((struct msglist *)value)->throw_msg;
if (cmdname != NULL && *cmdname != NUL)
{
cmdlen = (int)STRLEN(cmdname);
!   ret = vim_strnsave((char_u *)"Vim(",
   4 + cmdlen + 2 + (int)STRLEN(mesg));
!   if (ret == NULL)
!   return ret;
!   STRCPY(&ret[4], cmdname);
!   STRCPY(&ret[4 + cmdlen], "):");
!   val = ret + 4 + cmdlen + 2;
}
else
{
!   ret = vim_strnsave((char_u *)"Vim:", 4 + (int)STRLEN(mesg));
!   if (ret == NULL)
!   return ret;
!   val = ret + 4;
}
  
/* msg_add_fname may have been used to prefix the message with a file
***
*** 506,519 
}
  }
  else
!   excp->value = value;
  
  excp->type = type;
  excp->throw_name = vim_strsave(sourcing_name == NULL
  ? (char_u *)"" : sourcing_name);
  if (excp->throw_name == NULL)
  {
!   if (type == ET_ERROR)
vim_free(excp->value);
goto nomem;
  }
--- 492,556 
}
  }
  else
! {
!   *should_free = FALSE;
!   ret = (char_

Patch 7.4.108

2013-11-28 Thread Bram Moolenaar

Patch 7.4.108
Problem:"zG" and "zW" leave temp files around on MS-Windows.
Solution:   Delete the temp files when exiting. (Ken Takata)
Files:  src/memline.c, src/proto/spell.pro, src/spell.c


*** ../vim-7.4.107/src/memline.c2013-11-04 02:53:46.0 +0100
--- src/memline.c   2013-11-28 17:27:06.0 +0100
***
*** 841,848 
  for (buf = firstbuf; buf != NULL; buf = buf->b_next)
ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0
 || vim_strchr(p_cpo, CPO_PRESERVE) == NULL));
  #ifdef TEMPDIRNAMES
! vim_deltempdir(); /* delete created temp directory */
  #endif
  }
  
--- 841,851 
  for (buf = firstbuf; buf != NULL; buf = buf->b_next)
ml_close(buf, del_file && ((buf->b_flags & BF_PRESERVED) == 0
 || vim_strchr(p_cpo, CPO_PRESERVE) == NULL));
+ #ifdef FEAT_SPELL
+ spell_delete_wordlist();  /* delete the internal wordlist */
+ #endif
  #ifdef TEMPDIRNAMES
! vim_deltempdir(); /* delete created temp directory */
  #endif
  }
  
*** ../vim-7.4.107/src/proto/spell.pro  2013-08-10 13:37:26.0 +0200
--- src/proto/spell.pro 2013-11-28 17:25:59.0 +0100
***
*** 3,8 
--- 3,9 
  int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, 
hlf_T *attrp));
  void spell_cat_line __ARGS((char_u *buf, char_u *line, int maxlen));
  char_u *did_set_spelllang __ARGS((win_T *wp));
+ void spell_delete_wordlist __ARGS((void));
  void spell_free_all __ARGS((void));
  void spell_reload __ARGS((void));
  int spell_check_msm __ARGS((void));
*** ../vim-7.4.107/src/spell.c  2013-11-21 17:42:26.0 +0100
--- src/spell.c 2013-11-28 17:25:59.0 +0100
***
*** 2180,2188 
  char_u*endp;
  hlf_T attr;
  int   len;
! # ifdef FEAT_SYN_HL
  int   has_syntax = syntax_present(wp);
! # endif
  int   col;
  int   can_spell;
  char_u*buf = NULL;
--- 2180,2188 
  char_u*endp;
  hlf_T attr;
  int   len;
! #ifdef FEAT_SYN_HL
  int   has_syntax = syntax_present(wp);
! #endif
  int   col;
  int   can_spell;
  char_u*buf = NULL;
***
*** 2280,2286 
 : p - buf)
  > wp->w_cursor.col)))
{
! # ifdef FEAT_SYN_HL
if (has_syntax)
{
col = (int)(p - buf);
--- 2280,2286 
 : p - buf)
  > wp->w_cursor.col)))
{
! #ifdef FEAT_SYN_HL
if (has_syntax)
{
col = (int)(p - buf);
***
*** 4701,4707 
  return flags;
  }
  
! # if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO)
  /*
   * Free all languages.
   */
--- 4701,4725 
  return flags;
  }
  
! /*
!  * Delete the internal wordlist and its .spl file.
!  */
! void
! spell_delete_wordlist()
! {
! char_ufname[MAXPATHL];
! 
! if (int_wordlist != NULL)
! {
!   mch_remove(int_wordlist);
!   int_wordlist_spl(fname);
!   mch_remove(fname);
!   vim_free(int_wordlist);
!   int_wordlist = NULL;
! }
! }
! 
! #if defined(FEAT_MBYTE) || defined(EXITFREE) || defined(PROTO)
  /*
   * Free all languages.
   */
***
*** 4710,4716 
  {
  slang_T   *slang;
  buf_T *buf;
- char_ufname[MAXPATHL];
  
  /* Go through all buffers and handle 'spelllang'.  */
  for (buf = firstbuf; buf != NULL; buf = buf->b_next)
--- 4728,4733 
***
*** 4723,4746 
slang_free(slang);
  }
  
! if (int_wordlist != NULL)
! {
!   /* Delete the internal wordlist and its .spl file */
!   mch_remove(int_wordlist);
!   int_wordlist_spl(fname);
!   mch_remove(fname);
!   vim_free(int_wordlist);
!   int_wordlist = NULL;
! }
  
  vim_free(repl_to);
  repl_to = NULL;
  vim_free(repl_from);
  repl_from = NULL;
  }
! # endif
  
! # if defined(FEAT_MBYTE) || defined(PROTO)
  /*
   * Clear all spelling tables and reload them.
   * Used after 'encoding' is set and when ":mkspell" was used.
--- 4740,4755 
slang_free(slang);
  }
  
! spell_delete_wordlist();
  
  vim_free(repl_to);
  repl_to = NULL;
  vim_free(repl_from);
  repl_from = NULL;
  }
! #endif
  
! #if defined(FEAT_MBYTE) || defined(PROTO)
  /*
   * Clear all spelling tables and reload them.
   * Used after 'encoding' is set and when ":mkspell" was used.
***
*** 4773,4779 
}
  }
  }
! # endif
  
  /*
   * Reload the spell file "fname" 

Re: [patch] Option to show indent level with 'expandtab' and 'list' option

2013-11-28 Thread Yggdroot Chen
在 2013年11月27日星期三UTC+8下午2时56分58秒,hari.g写道:
> Hi,
> 
> The attached patch adds a 'listchars' option 'lsp' which marks leading space 
> at 'shiftwidth' with the defined characer so that you can follow the indent 
> level in a bit too much nested code when you also have 'expandtab' option set 
> and use spaces for indentation (e.g. Python code in many repos enforce a 
> 'spaces only indenting' policy).
> 
> --
> hari.g

I think lsp character had better only show at leading spaces.

-- 
-- 
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/groups/opt_out.


Re: Issue 183 in vim: "[[2;2R" printed in messages area on BufEnter shell command

2013-11-28 Thread vim


Comment #1 on issue 183 by brammool...@gmail.com: "[[2;2R" printed in  
messages area on BufEnter shell command

http://code.google.com/p/vim/issues/detail?id=183

You should put "set nocp" in the script, otherwise the terminal version  
isn't requested.


Despite that, I can't reproduce the problem on Ubuntu.  Tried xterm and  
urxvt.

This might be a race condition.

--
You received this message because this project is configured to send all  
issue notifications to this address.

You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
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/groups/opt_out.


Patch 7.4.109

2013-11-28 Thread Bram Moolenaar

Patch 7.4.109
Problem:ColorScheme autocommand matches with the current buffer name.
Solution:   Match with the colorscheme name. (Christian Brabandt)
Files:  runtime/doc/autocmd.txt, src/fileio.c, src/syntax.c


*** ../vim-7.4.108/runtime/doc/autocmd.txt  2013-08-10 13:24:52.0 
+0200
--- runtime/doc/autocmd.txt 2013-11-28 18:44:20.0 +0100
***
*** 480,485 
--- 480,491 
|cmdwin-char|
*ColorScheme*
  ColorScheme   After loading a color scheme. |:colorscheme|
+   The pattern is matched against the
+   colorscheme name.  can be used for the
+   name of the actual file where this option was
+   set, and  for the new colorscheme
+   name.
+ 
  
*CompleteDone*
  CompleteDone  After Insert mode completion is done.  Either
*** ../vim-7.4.108/src/fileio.c 2013-11-12 18:09:20.0 +0100
--- src/fileio.c2013-11-28 18:44:20.0 +0100
***
*** 9330,9336 
   */
  if (fname_io == NULL)
  {
!   if (fname != NULL && *fname != NUL)
autocmd_fname = fname;
else if (buf != NULL)
autocmd_fname = buf->b_ffname;
--- 9330,9338 
   */
  if (fname_io == NULL)
  {
!   if (event == EVENT_COLORSCHEME)
!   autocmd_fname = NULL;
!   else if (fname != NULL && *fname != NUL)
autocmd_fname = fname;
else if (buf != NULL)
autocmd_fname = buf->b_ffname;
***
*** 9383,9396 
  else
  {
sfname = vim_strsave(fname);
!   /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID or
!* QuickFixCmd* */
if (event == EVENT_FILETYPE
|| event == EVENT_SYNTAX
|| event == EVENT_FUNCUNDEFINED
|| event == EVENT_REMOTEREPLY
|| event == EVENT_SPELLFILEMISSING
|| event == EVENT_QUICKFIXCMDPRE
|| event == EVENT_QUICKFIXCMDPOST)
fname = vim_strsave(fname);
else
--- 9385,9399 
  else
  {
sfname = vim_strsave(fname);
!   /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID,
!* ColorScheme or QuickFixCmd* */
if (event == EVENT_FILETYPE
|| event == EVENT_SYNTAX
|| event == EVENT_FUNCUNDEFINED
|| event == EVENT_REMOTEREPLY
|| event == EVENT_SPELLFILEMISSING
|| event == EVENT_QUICKFIXCMDPRE
+   || event == EVENT_COLORSCHEME
|| event == EVENT_QUICKFIXCMDPOST)
fname = vim_strsave(fname);
else
*** ../vim-7.4.108/src/syntax.c 2013-06-08 16:10:08.0 +0200
--- src/syntax.c2013-11-28 18:44:20.0 +0100
***
*** 7071,7077 
retval = source_runtime(buf, FALSE);
vim_free(buf);
  #ifdef FEAT_AUTOCMD
!   apply_autocmds(EVENT_COLORSCHEME, NULL, NULL, FALSE, curbuf);
  #endif
  }
  recursive = FALSE;
--- 7071,7077 
retval = source_runtime(buf, FALSE);
vim_free(buf);
  #ifdef FEAT_AUTOCMD
!   apply_autocmds(EVENT_COLORSCHEME, name, curbuf->b_fname, FALSE, curbuf);
  #endif
  }
  recursive = FALSE;
*** ../vim-7.4.108/src/version.c2013-11-28 17:41:41.0 +0100
--- src/version.c   2013-11-28 18:48:42.0 +0100
***
*** 740,741 
--- 740,743 
  {   /* Add new patch number below this line */
+ /**/
+ 109,
  /**/

-- 
"How is your new girlfriend?"
"90-60-90 man!"
"What, pale purple?"

 /// 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/groups/opt_out.


Re: Issue 183 in vim: "[[2;2R" printed in messages area on BufEnter shell command

2013-11-28 Thread vim


Comment #2 on issue 183 by pbris...@gmail.com: "[[2;2R" printed in messages  
area on BufEnter shell command

http://code.google.com/p/vim/issues/detail?id=183

My bad on nocp, figured that out further down the ML thread but copied the  
wrong example into this issue.


FWIW, this reproduces most reliably if it's the first thing I do in a fresh  
terminal.


--
You received this message because this project is configured to send all  
issue notifications to this address.

You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
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/groups/opt_out.


Patch 7.4.110

2013-11-28 Thread Bram Moolenaar

Patch 7.4.110
Problem:"gUgn" cannot be repeeated. (Dimitar Dimitrov)
Solution:   Don't put "gn" in a different order in the redo buffer.  Restore
'wrapscan' when the pattern isn't found. (Christian Wellenbrock)
Files:  src/normal.c, src/search.c, src/test53.in, src/test53.ok


*** ../vim-7.4.109/src/normal.c 2013-11-04 01:41:11.0 +0100
--- src/normal.c2013-11-28 19:02:45.0 +0100
***
*** 962,972 
  #ifdef FEAT_CMDL_INFO
need_flushbuf |= add_to_showcmd(ca.nchar);
  #endif
-   /* For "gn" from redo, need to get one more char to determine the
-* operator */
if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`'
!  || ca.nchar == Ctrl_BSL
! || ((ca.nchar == 'n' || ca.nchar == 'N') && !stuff_empty()))
{
cp = &ca.extra_char;/* need to get a third character */
if (ca.nchar != 'r')
--- 962,969 
  #ifdef FEAT_CMDL_INFO
need_flushbuf |= add_to_showcmd(ca.nchar);
  #endif
if (ca.nchar == 'r' || ca.nchar == '\'' || ca.nchar == '`'
!  || ca.nchar == Ctrl_BSL)
{
cp = &ca.extra_char;/* need to get a third character */
if (ca.nchar != 'r')
***
*** 1797,1806 
 * otherwise it might be the second char of the operator. */
if (cap->cmdchar == 'g' && (cap->nchar == 'n'
|| cap->nchar == 'N'))
!   /* "gn" and "gN" are a bit different */
!   prep_redo(oap->regname, 0L, NUL, cap->cmdchar, cap->nchar,
!   get_op_char(oap->op_type),
!   get_extra_op_char(oap->op_type));
else if (cap->cmdchar != ':')
prep_redo(oap->regname, 0L, NUL, 'v',
get_op_char(oap->op_type),
--- 1794,1802 
 * otherwise it might be the second char of the operator. */
if (cap->cmdchar == 'g' && (cap->nchar == 'n'
|| cap->nchar == 'N'))
!   prep_redo(oap->regname, cap->count0,
!   get_op_char(oap->op_type), 
get_extra_op_char(oap->op_type),
!   oap->motion_force, cap->cmdchar, cap->nchar);
else if (cap->cmdchar != ':')
prep_redo(oap->regname, 0L, NUL, 'v',
get_op_char(oap->op_type),
*** ../vim-7.4.109/src/search.c 2013-11-08 04:30:06.0 +0100
--- src/search.c2013-11-28 19:05:16.0 +0100
***
*** 4544,4550 
  /* Is the pattern is zero-width? */
  one_char = is_one_char(spats[last_idx].pat);
  if (one_char == -1)
!   return FAIL;  /* invalid pattern */
  
  /*
   * The trick is to first search backwards and then search forward again,
--- 4544,4553 
  /* Is the pattern is zero-width? */
  one_char = is_one_char(spats[last_idx].pat);
  if (one_char == -1)
! {
!   p_ws = old_p_ws;
!   return FAIL;  /* pattern not found */
! }
  
  /*
   * The trick is to first search backwards and then search forward again,
*** ../vim-7.4.109/src/version.c2013-11-28 18:53:47.0 +0100
--- src/version.c   2013-11-28 19:20:29.0 +0100
***
*** 740,741 
--- 740,743 
  {   /* Add new patch number below this line */
+ /**/
+ 110,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
10. And even your night dreams are in HTML.

 /// 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/groups/opt_out.


Re: ActivePerl 5.18.1 fails to compile

2013-11-28 Thread tux.
Konovalov, Vadim schrob am Donnerstag, 28. November 2013 um 07:18 Zeit:

> "Correct" solution is to use supported compiler that understand
> "long long", such as mingw.

> What compiler you're using  BTW?

MSVC 2010, has never been a problem for all previous ActivePerl
versions...

Any "better" solution?



-- 
Ridi Pagliaccio, sul tuo amore infranto! Ridi del duol che t'avvelena
il cor!

-- 
-- 
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/groups/opt_out.


Linker error: COFF: file invalid or corrupt

2013-11-28 Thread David Fishburn
I believe I compiled 7.4 last on Nov 11th.

I just did my usual .cmd file to fetch and build Vim and it failed.
So I deleted my vim directory and refetched and ran my usual process.

Compiles fine, but linker error:

...

cl -c /W3 /nologo  -I. -Iproto -DHAVE_PATHDEF -DWIN32
-DFEAT_CSCOPE -D
FEAT_NETBEANS_INTG   -DFEAT_XPM_W32   -DWINVER=0x0400 -D_WIN32_WINNT=0x0400
 /Fo
.\ObjGOLYHi386/ /Ox /GL -DNDEBUG  /Zl /MT -DFEAT_OLE -DFEAT_GUI_W32
-DDYNAMIC_IC
ONV -DDYNAMIC_GETTEXT -DFEAT_PYTHON -DDYNAMIC_PYTHON
 -DDYNAMIC_PYTHON_DLL=\"pyt
hon27.dll\" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3
 -DDYNAMIC_PYTHON3_DLL=\"python33.d
ll\" -DFEAT_PERL -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl510.dll\"
-DFEAT_HUGE /
Fd.\ObjGOLYHi386/ /Zi 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 fileio.c fold.c
getchar.
c hardcopy.c hashtab.c main.c mark.c mbyte.c memfile.c memline.c menu.c
message.
c misc1.c misc2.c move.c normal.c ops.c option.c os_mswin.c winclip.c
os_win32.c
 popupmnu.c quickfix.c regexp.c screen.c search.c sha256.c spell.c syntax.c
tag.
c term.c ui.c undo.c window.c gui.c gui_beval.c gui_w32.c os_w32exe.c
if_cscope.
c netbeans.c
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
fileio.c
fold.c
getchar.c
hardcopy.c
hashtab.c
main.c
mark.c
mbyte.c
Compiling...
memfile.c
memline.c
menu.c
message.c
misc1.c
misc2.c
move.c
normal.c
ops.c
option.c
os_mswin.c
winclip.c
os_win32.c
popupmnu.c
quickfix.c
regexp.c
screen.c
search.c
sha256.c
spell.c
Compiling...
syntax.c
tag.c
term.c
ui.c
undo.c
window.c
gui.c
gui_beval.c
gui_w32.c
os_w32exe.c
if_cscope.c
netbeans.c
cl -c /W3 /nologo  -I. -Iproto -DHAVE_PATHDEF -DWIN32
-DFEAT_CSCOPE -D
FEAT_NETBEANS_INTG   -DFEAT_XPM_W32   -DWINVER=0x0400 -D_WIN32_WINNT=0x0400
 /Fo
.\ObjGOLYHi386/ /Ox /GL -DNDEBUG  /Zl /MT -DFEAT_OLE -DFEAT_GUI_W32
-DDYNAMIC_IC
ONV -DDYNAMIC_GETTEXT -DFEAT_PYTHON -DDYNAMIC_PYTHON
 -DDYNAMIC_PYTHON_DLL=\"pyt
hon27.dll\" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3
 -DDYNAMIC_PYTHON3_DLL=\"python33.d
ll\" -DFEAT_PERL -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl510.dll\"
-DFEAT_HUGE /
Fd.\ObjGOLYHi386/ /Zi if_ole.cpp
if_ole.cpp
cl -c /W3 /nologo  -I. -Iproto -DHAVE_PATHDEF -DWIN32
-DFEAT_CSCOPE -D
FEAT_NETBEANS_INTG   -DFEAT_XPM_W32   -DWINVER=0x0400 -D_WIN32_WINNT=0x0400
 /Fo
.\ObjGOLYHi386/ /Ox /GL -DNDEBUG  /Zl /MT -DFEAT_OLE -DFEAT_GUI_W32
-DDYNAMIC_IC
ONV -DDYNAMIC_GETTEXT -DFEAT_PYTHON -DDYNAMIC_PYTHON
 -DDYNAMIC_PYTHON_DLL=\"pyt
hon27.dll\" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3
 -DDYNAMIC_PYTHON3_DLL=\"python33.d
ll\" -DFEAT_PERL -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl510.dll\"
-DFEAT_HUGE /
Fd.\ObjGOLYHi386/ /Zi version.c
version.c
link /RELEASE /nologo /subsystem:windows /LTCG:STATUS -out:gvim.exe
.\Ob
jGOLYHi386\blowfish.obj  .\ObjGOLYHi386\buffer.obj
 .\ObjGOLYHi386\charset.obj
.\ObjGOLYHi386\diff.obj  .\ObjGOLYHi386\digraph.obj
 .\ObjGOLYHi386\edit.obj  .\
ObjGOLYHi386\eval.obj  .\ObjGOLYHi386\ex_cmds.obj
 .\ObjGOLYHi386\ex_cmds2.obj
.\ObjGOLYHi386\ex_docmd.obj  .\ObjGOLYHi386\ex_eval.obj
 .\ObjGOLYHi386\ex_getln
.obj  .\ObjGOLYHi386\fileio.obj  .\ObjGOLYHi386\fold.obj
 .\ObjGOLYHi386\getchar
.obj  .\ObjGOLYHi386\hardcopy.obj  .\ObjGOLYHi386\hashtab.obj
 .\ObjGOLYHi386\ma
in.obj  .\ObjGOLYHi386\mark.obj  .\ObjGOLYHi386\mbyte.obj
 .\ObjGOLYHi386\memfil
e.obj  .\ObjGOLYHi386\memline.obj  .\ObjGOLYHi386\menu.obj
 .\ObjGOLYHi386\messa
ge.obj  .\ObjGOLYHi386\misc1.obj  .\ObjGOLYHi386\misc2.obj
 .\ObjGOLYHi386\move.
obj  .\ObjGOLYHi386\normal.obj  .\ObjGOLYHi386\ops.obj
 .\ObjGOLYHi386\option.ob
j  .\ObjGOLYHi386\os_mswin.obj  .\ObjGOLYHi386\winclip.obj
 .\ObjGOLYHi386\os_wi
n32.obj  .\ObjGOLYHi386\pathdef.obj  .\ObjGOLYHi386\popupmnu.obj
 .\ObjGOLYHi386
\quickfix.obj  .\ObjGOLYHi386\regexp.obj  .\ObjGOLYHi386\screen.obj
 .\ObjGOLYHi
386\search.obj  .\ObjGOLYHi386\sha256.obj  .\ObjGOLYHi386\spell.obj
 .\ObjGOLYHi
386\syntax.obj  .\ObjGOLYHi386\tag.obj  .\ObjGOLYHi386\term.obj
 .\ObjGOLYHi386\
ui.obj  .\ObjGOLYHi386\undo.obj  .\ObjGOLYHi386\window.obj
 .\ObjGOLYHi386\vim.r
es .\ObjGOLYHi386\gui.obj  .\ObjGOLYHi386\gui_beval.obj
 .\ObjGOLYHi386\gui_w32.
obj  .\ObjGOLYHi386\os_w32exe.obj .\ObjGOLYHi386\if_ole.obj
 .\ObjGOLYHi386\if
_perl.obj .\ObjGOLYHi386\if_perlsfio.obj .\ObjGOLYHi386\if_python.obj
.\ObjGOLYH
i386\if_python3.obj .\ObjGOLYHi386/if_cscope.obj
.\ObjGOLYHi386/netbeans.obj
  .\ObjGOLYHi386/xpm_w32.obj .\ObjGOLYHi386\version.obj oldnames.lib
kernel32.li
b advapi32.lib shell32.lib gdi32.lib  comdlg32.lib ole32.lib uuid.lib
/machine:i
386 /nodefaultlib gdi32.lib version.lib   winspool.lib comctl32.lib
advapi32.lib
 shell32.lib  /machine:i386 /nodefaultlib libcmt.lib oleaut32.lib
 user32.lib
   /nodefaultlib:python27.lib /nodefaultlib:python33.libWSock32.lib
xpm\x86\
lib\libXpm.lib /PDB:gvim.pdb -debug
Generating code
  100%   0 seconds remaining
Finished generating code
LINK : fatal error LNK1123: failure duri

Re: [PATCH] Subpixel rendering artifacts in GUI mode

2013-11-28 Thread nocd5rd
> > Thomas Tuegel wrote:
> 
> >
> 
> >> I recently discovered a graphical glitch that occurs sometimes in GUI
> 
> >> mode. If the GUI is using subpixel rendering, characters may leave
> 
> >> artifacts in their neighbors' cells after being erased. I discovered
> 
> >> this in the GTK+2 frontend, but it could be a problem in any GUI,
> 
> >> though it's highly dependent on a system's subpixel rendering
> 
> >> configuration, the font used, and probably some other variables I
> 
> >> haven't even considered.
> 
> >>
> 
> >> I am sending a patch which corrects the issue by redrawing the
> 
> >> characters immediately to the left or right of any updated character.
> 
> >> This is the approach already taken with bold characters, which have
> 
> >> the same problem. I merely extended the treatment of bold characters
> 
> >> to apply to any updated character whenever Vim is in GUI mode.
> 
> >
> 
> > Is there a reliable way to know if this is needed?  Redrawing more for
> 
> > all GUIs seems overkill.  e.g. on Windows it would not be needed, right?
> 
> 
> 
> As far as I know, this can happen on any platform whenever subpixel
> 
> rendering (ClearType on Windows) is enabled. As Ken pointed out,
> 
> though unknown to me, this was already a known issue on Windows. If
> 
> there were a reliable way to detect at runtime that subpixel rendering
> 
> is disabled, then the extra redraws could be disabled. That detection
> 
> is platform-specific, so the GUI would have to do the detection and
> 
> indicate if it wants the extra redraws. On the other hand, the
> 
> overhead associated with the extra redraws is small; most terminal
> 
> emulators on Linux are already doing this, for example.
> 
> 
> 
> -- 
> 
> Thomas Tuegel

Hi Thomas,
I applied the above patch and tested at Windows XP.

It seems to fix the issue at "main text area", except "command line area" and 
"completion popup menu".
Is the problem of "command line area" fixed at GTK?

best regards,
Masamichi ABE

-- 
-- 
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/groups/opt_out.


Re: ActivePerl 5.18.1 fails to compile

2013-11-28 Thread Cesar Romani

On 28/11/2013 01:18 a.m., Konovalov, Vadim wrote:
>> From: vim_dev@googlegroups.com On Behalf Of tux.
>> Konovalov, Vadim schrob am Mittwoch, 27. November 2013 um 06:46 Zeit:
>>> I can investigate later today, if you wish.
>> I'd like you to. :)
>
> ActivePerl 5.18.1 binaries are built with VC6 compiler, with in turn
> have some applied service-packs.
> (I have VC6 without the mentioned SPs)
>
> The "config.h" file that comes with this said Activeperl has "long
> long" in it, and this  isn't supported by the VC6 that I have, hence
> there are number of compiler errors.
>
> When I've adjusted "long long" with __int64, the build process went
> on, but then some internal error happened.
> Maybe I will find a workaround for the VC6, or will use newer VC - I
> haven't decided yet.
>
> "Correct" solution is to use supported compiler that understand "long
> long", such as mingw.

It doesn't work either. I'm using MinGW with gcc 4.6.2 on Windows 7.
I get the following error:


[...]
gobjZi386/if_perl.o:if_perl.c:(.text+0x37e1): undefined reference to 
`_imp__Perl_sv_free2'
gobjZi386/if_perl.o:if_perl.c:(.text+0x3fc5): undefined reference to 
`_imp__Perl_sv_free2)

'
collect2: ld returned 1 exit status
make: *** [gvim.exe] Error 1
Error by compiling gvim.exe


The same error happens with MinGW-W64, gcc 4.8.1 on Windows 7.


Many thanks in advance,

--
Cesar

--
--
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/groups/opt_out.


Re: Patch 7.4.109

2013-11-28 Thread Marcin Szamotulski
On 18:54 Thu 28 Nov , Bram Moolenaar wrote:
> 
> Patch 7.4.109
> Problem:ColorScheme autocommand matches with the current buffer name.
> Solution:   Match with the colorscheme name. (Christian Brabandt)
> Files:runtime/doc/autocmd.txt, src/fileio.c, src/syntax.c
> 
> 
> *** ../vim-7.4.108/runtime/doc/autocmd.txt2013-08-10 13:24:52.0 
> +0200
> --- runtime/doc/autocmd.txt   2013-11-28 18:44:20.0 +0100
> ***
> *** 480,485 
> --- 480,491 
>   |cmdwin-char|
>   *ColorScheme*
>   ColorScheme After loading a color scheme. |:colorscheme|
> + The pattern is matched against the
> + colorscheme name.  can be used for the
> + name of the actual file where this option was
> + set, and  for the new colorscheme
> + name.
> + 
>   
>   *CompleteDone*
>   CompleteDoneAfter Insert mode completion is done.  
> Either
> *** ../vim-7.4.108/src/fileio.c   2013-11-12 18:09:20.0 +0100
> --- src/fileio.c  2013-11-28 18:44:20.0 +0100
> ***
> *** 9330,9336 
>*/
>   if (fname_io == NULL)
>   {
> ! if (fname != NULL && *fname != NUL)
>   autocmd_fname = fname;
>   else if (buf != NULL)
>   autocmd_fname = buf->b_ffname;
> --- 9330,9338 
>*/
>   if (fname_io == NULL)
>   {
> ! if (event == EVENT_COLORSCHEME)
> ! autocmd_fname = NULL;
> ! else if (fname != NULL && *fname != NUL)
>   autocmd_fname = fname;
>   else if (buf != NULL)
>   autocmd_fname = buf->b_ffname;
> ***
> *** 9383,9396 
>   else
>   {
>   sfname = vim_strsave(fname);
> ! /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID or
> !  * QuickFixCmd* */
>   if (event == EVENT_FILETYPE
>   || event == EVENT_SYNTAX
>   || event == EVENT_FUNCUNDEFINED
>   || event == EVENT_REMOTEREPLY
>   || event == EVENT_SPELLFILEMISSING
>   || event == EVENT_QUICKFIXCMDPRE
>   || event == EVENT_QUICKFIXCMDPOST)
>   fname = vim_strsave(fname);
>   else
> --- 9385,9399 
>   else
>   {
>   sfname = vim_strsave(fname);
> ! /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID,
> !  * ColorScheme or QuickFixCmd* */
>   if (event == EVENT_FILETYPE
>   || event == EVENT_SYNTAX
>   || event == EVENT_FUNCUNDEFINED
>   || event == EVENT_REMOTEREPLY
>   || event == EVENT_SPELLFILEMISSING
>   || event == EVENT_QUICKFIXCMDPRE
> + || event == EVENT_COLORSCHEME
>   || event == EVENT_QUICKFIXCMDPOST)
>   fname = vim_strsave(fname);
>   else
> *** ../vim-7.4.108/src/syntax.c   2013-06-08 16:10:08.0 +0200
> --- src/syntax.c  2013-11-28 18:44:20.0 +0100
> ***
> *** 7071,7077 
>   retval = source_runtime(buf, FALSE);
>   vim_free(buf);
>   #ifdef FEAT_AUTOCMD
> ! apply_autocmds(EVENT_COLORSCHEME, NULL, NULL, FALSE, curbuf);
>   #endif
>   }
>   recursive = FALSE;
> --- 7071,7077 
>   retval = source_runtime(buf, FALSE);
>   vim_free(buf);
>   #ifdef FEAT_AUTOCMD
> ! apply_autocmds(EVENT_COLORSCHEME, name, curbuf->b_fname, FALSE, curbuf);
>   #endif
>   }
>   recursive = FALSE;
> *** ../vim-7.4.108/src/version.c  2013-11-28 17:41:41.0 +0100
> --- src/version.c 2013-11-28 18:48:42.0 +0100
> ***
> *** 740,741 
> --- 740,743 
>   {   /* Add new patch number below this line */
> + /**/
> + 109,
>   /**/
> 
> -- 
> "How is your new girlfriend?"
> "90-60-90 man!"
> "What, pale purple?"
> 
>  /// 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/groups/opt_out.

Hello,

I am happy to see this patch.  I was hoping the following autocommand
will work:

au ColorScheme colorscheme_name :set b

Re: ActivePerl 5.18.1 fails to compile

2013-11-28 Thread Cesar Romani

On 28/11/2013 05:10 p.m., Cesar Romani wrote:
> On 28/11/2013 01:18 a.m., Konovalov, Vadim wrote:
>  >> From: vim_dev@googlegroups.com On Behalf Of tux.
>  >> Konovalov, Vadim schrob am Mittwoch, 27. November 2013 um 06:46 Zeit:
>  >>> I can investigate later today, if you wish.
>  >> I'd like you to. :)
>  >
>  > ActivePerl 5.18.1 binaries are built with VC6 compiler, with in turn
>  > have some applied service-packs.
>  > (I have VC6 without the mentioned SPs)
>  >
>  > The "config.h" file that comes with this said Activeperl has "long
>  > long" in it, and this isn't supported by the VC6 that I have, hence
>  > there are number of compiler errors.
>  >
>  > When I've adjusted "long long" with __int64, the build process went
>  > on, but then some internal error happened.
>  > Maybe I will find a workaround for the VC6, or will use newer VC - I
>  > haven't decided yet.
>  >
>  > "Correct" solution is to use supported compiler that understand "long
>  > long", such as mingw.
>
> It doesn't work either. I'm using MinGW with gcc 4.6.2 on Windows 7.
> I get the following error:
>
> 
> [...]
> gobjZi386/if_perl.o:if_perl.c:(.text+0x37e1): undefined reference to
> `_imp__Perl_sv_free2'
> gobjZi386/if_perl.o:if_perl.c:(.text+0x3fc5): undefined reference to
> `_imp__Perl_sv_free2)
> '
> collect2: ld returned 1 exit status
> make: *** [gvim.exe] Error 1
> Error by compiling gvim.exe
> 
>
> The same error happens with MinGW-W64, gcc 4.8.1 on Windows 7.

I found a solution:
libperl518.a needs to be added on the link line.

--
Cesar

--
--
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/groups/opt_out.