Re: "end" motion at end of word

2014-03-27 Fir de Conversatie Roland Dobai
On Thu, Mar 27, 2014 at 11:22:01PM -0700, Ron Aaron wrote:
> I see what seems is to me unexpected behavior:
> 
> If the cursor is on the last character of a word and I do "ce", vim changes 
> from the cursor to the end of the next word.  I would expect it to stay on 
> the current word.
> 
> Is this correct behavior, and can it be modified by an option?

Hi,

when the cursor is at the end of a word and you push "e" then it moves to
the end of the next word. That is the correct behavior. You should
expect the same motion when using it with "c".

If you remap the motion then "e", "2e", ... will not work as one should
expect.

Roland

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


"end" motion at end of word

2014-03-27 Fir de Conversatie Ron Aaron
I see what seems is to me unexpected behavior:

If the cursor is on the last character of a word and I do "ce", vim changes 
from the cursor to the end of the next word.  I would expect it to stay on the 
current word.

Is this correct behavior, and can it be modified by an option?

-- 
-- 
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 to utilize undefined text-objects

2014-03-27 Fir de Conversatie Daniel "paradigm" Thau
On Thursday, March 27, 2014 1:05:08 PM UTC-4, Ben Fritz wrote:
> On Friday, January 31, 2014 1:54:30 PM UTC-6, Daniel "paradigm" Thau wrote:
> > On Thursday, January 30, 2014 9:07:19 PM UTC-5, Daniel "paradigm" Thau 
> > wrote:
> > > On Thursday, January 30, 2014 8:07:04 PM UTC-5, Marcin Szamotulski wrote:
> > > > On 16:45 Wed 29 Jan , Daniel "paradigm" Thau wrote:
> > > > 
> > > > > Apologies for the delay.
> > > > 
> > > > > 
> > > > 
> > > > > Review for those who have forgotten and/or don't care to backread:
> > > > 
> > > > > 
> > > > 
> > > > > This patch adds a new text object, "m", which will take one more 
> > > > > character as input.  That character will be used as bounds to the 
> > > > > left and right for the object.  For example, "cim$" will change 
> > > > > between dollar signs.  This supports multi-line objects, so one could 
> > > > > do "cim'" which, unlike "ci'", will search across lines; this way 
> > > > > users have both.
> > > > 
> > > > > 
> > > > Thanks I'm really happy to see this patch.  I compiled it now and there
> > > > 
> > > > is one thing that does not work: the "." command.  For example di< or 
> > > > ci<
> > > > 
> > > > can be repeated with . but dim, or cim, cannot.  
> > > > 
> > > > 
> > > > 
> > > > Best regards,
> > > > 
> > > > Marcin Szamotulski
> > > 
> > > Good catch.  I can replicate that on my end.  Will fix.
> > 
> > Should be fixed in the attachment.  As a bonus, it now supports things such 
> > as digraphs.
> 
> I tried updating this patch for 7-4-220 and mostly succeeded, just by 
> applying a couple hundred lines of fuzz, but visual mode is not selecting the 
> full text inside the matched pairs. I don't have time to try to fix it 
> further. I'm attaching the updated patch in case I just did something wrong. 
> I know there have been some visual mode changes outside of this patch between 
> now and the time the patch was created.

Thanks for staying on this!  My schedule has hit a huge crunch for the next 
month or two, and I don't want to rush a fix out myself and risk causing new 
issues.  I'd rather delay fixing this and ensure that when I do the patch is as 
clean and bug-free as is possible against the code base at that time.  When my 
schedule clears I may also add functionality for adding a v:count to the text 
object calls, which currently does not work for the new functionality for 
either of my patches.  I might change how my tests work as well in order to 
have them both be cleaner and more thorough.

-- 
-- 
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: Updated Russian translation

2014-03-27 Fir de Conversatie James McCoy
On Mon, Mar 24, 2014 at 12:33:32PM +0400, Sergey Alyoshin wrote:
> Updated Russian translation for Vim from hg repository.

Would you be able to review the vimtutor translation, too?  It's at
least partially out of date, since line 563 in tutor.ru.utf-8 only
mentions !del where as line 641 in tutor.utf-8 mentions both !del and
!rm.

Cheers,
-- 
James
GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy 

-- 
-- 
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] add sortuniq() function

2014-03-27 Fir de Conversatie Andre Sihera



On 27/03/14 06:42, Bram Moolenaar wrote:

Since many plugins consist of several files, and we would like to check
the dependencies before downloading all the files, the best place for
these dependencies is to have them in a separate manifest file.

Another advantage is that there would be one central place where plugin
authors upload the newest manifest file.  For the moment assume that's
the script storage in vim.org.  This also solves the problem of scripts
on vim.org being one file.

The manifest can specify any place, including git repo's, where to fetch
the files.

One could also fetch a manifest from elsewhere (e.g. by simply editing
it) and then run the plugin installer/updater.  The dependencies can be
in the form of just a plugin ID, to be found in the central repository,
but it could also be the URL of that dependency's manifest file.  That
way a plugin author can also publish alpha and beta versions, with
yet unreleased dependencies, before making the fully tested plugin
available at vim.org.

Using URLs for the location is flexible and easy to debug.  Using single
files avoids problems with unpacking archives, the need to first install
tools, etc.  I believe all respositories support downloading individual
files.  What this does NOT support is further developing the plugin or
merging local changes.  Normal users won't need that.



Have you ever had the opportunity of doing ruby programming and having to
use "bundle" or some other "gem" manager? What you're proposing is very
similar and I would recommend you install ruby, play with it, and get to
know the "gem" managers before embarking down this path.

Due to the fact that such systems give the impression that it is "easy" for
the user to upgrade to the latest version, it engenders a cavalier attitude
amongst plugin writers that proper test/release control is unnecessary;
they just dump out the latest version without testing because if it contains
a bug they can just fix it and dump out yet another version with the fix.

Particularly in the workplace, and I speak from personal experience, these
kinds of systems do waste more time than they save due to everything 
grinding

to a halt due when one plug-in in a dependency hierarchy breaks, normally
because the plug-in author couldn't be bothered to test their code 
adequately

before releasing it. Add to this the usual system integrity problems that
accompany network-based systems and we have more headaches in the making.

If you do implement this system, may I strongly suggest that you invest more
time in the backup/rollback features than the install/management features?
That way when things go wrong we can be sure we can get back to where we 
want

to get back to as quickly and as painlessly as possible.

Cheers,

--
--
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: Extremely slow when using relativenumber & syntax highlighting

2014-03-27 Fir de Conversatie Adam
On an unrelated note, you may want to consider setting synmaxcol to a
reasonable value as that can drastically improve performance if you
regularly deal with very long lines (with syntax highlighting enabled for
the current buffer).

~Adam~

-- 
-- 
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: Clojure runtime files update

2014-03-27 Fir de Conversatie Bram Moolenaar

Christian Brabandt hijacked a thread and wrote:

> On Do, 27 Mär 2014, Bram Moolenaar wrote:
> 
> > Thanks for the update.  Looks fine to me, I'll include it.
> 
> BTW: This:
> :noswap[file]   {command}   *:nos* *:noswapfile*
> 
> Should be
> :nos[wapfile]   {command}   *:nos* *:noswapfile*

Thanks.

-- 
EXPERIENCE - experience is a wonderful thing. It enables you to 
recognise a mistake when you make it again.

 /// 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: Clojure runtime files update

2014-03-27 Fir de Conversatie Christian Brabandt
Hi Bram!

On Do, 27 Mär 2014, Bram Moolenaar wrote:

> Thanks for the update.  Looks fine to me, I'll include it.

BTW: This:
:noswap[file]   {command}   *:nos* *:noswapfile*

Should be
:nos[wapfile]   {command}   *:nos* *:noswapfile*

Best,
Christian
-- 
Wie man sein Kind nicht nennen sollte: 
  Don R. Wetter 

-- 
-- 
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: Clojure runtime files update

2014-03-27 Fir de Conversatie Bram Moolenaar

Sung Pae wrote:

> Hello Bram,
> 
> The Clojure runtime files have been updated to support the new Clojure
> language version, 1.6.0. Please include them at your leisure.
> 
> This patch removes `formatoptions+=3Dcroql` from the ftplugin script,
> following the lead of the Lisp, Scheme, J, and Fortran filetypes. I have
> therefore taken the liberty of removing the following todo item:
> 
>  Update for Clojure ftplugin. (Sung Pae).  Await discussion about
>  formatting in ftplugins.
> 
> I apologize if this is forward of me; I'm not aware of the protocol WRT
> patching the todo list.
> 
> Finally, please ignore all previous patches for the Clojure files that
> you may have on hold (I believe the patch mentioned in the todo is the
> only one, but I am not sure) as this patch synchronizes all differences
> between the vim-clojure-static=C2=B9 project and Vim.
> 
> Thank you for your continued work on our favorite text editor!

Thanks for the update.  Looks fine to me, I'll include it.

-- 
For society, it's probably a good thing that engineers value function over
appearance.  For example, you wouldn't want engineers to build nuclear power
plants that only _look_ like they would keep all the radiation inside.
(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/d/optout.


Patch 7.4.225

2014-03-27 Fir de Conversatie Bram Moolenaar

Patch 7.4.225
Problem:Dynamic Ruby doesn't work on Solaris.
Solution:   Always use the stubs. (Danek Duvall, Yukihiro Nakadaira)
Files:  src/if_ruby.c


*** ../vim-7.4.224/src/if_ruby.c2014-02-23 22:52:33.352764716 +0100
--- src/if_ruby.c   2014-03-27 18:56:37.428765988 +0100
***
*** 88,95 
  # define rb_int2big rb_int2big_stub
  #endif
  
! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
!   && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
  /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
   * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
  # define rb_fix2int rb_fix2int_stub
--- 88,94 
  # define rb_int2big rb_int2big_stub
  #endif
  
! #if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
  /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
   * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
  # define rb_fix2int rb_fix2int_stub
***
*** 203,210 
  # define rb_inspect   dll_rb_inspect
  # define rb_int2inum  dll_rb_int2inum
  # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
- #  define rb_fix2int  dll_rb_fix2int
- #  define rb_num2int  dll_rb_num2int
  #  define rb_num2uint dll_rb_num2uint
  # endif
  # define rb_lastline_get  dll_rb_lastline_get
--- 202,207 
***
*** 392,399 
  {
  return dll_rb_int2big(x);
  }
! #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
!   && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
  long rb_fix2int_stub(VALUE x)
  {
  return dll_rb_fix2int(x);
--- 389,395 
  {
  return dll_rb_int2big(x);
  }
! #  if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
  long rb_fix2int_stub(VALUE x)
  {
  return dll_rb_fix2int(x);
*** ../vim-7.4.224/src/version.c2014-03-27 18:51:06.612760919 +0100
--- src/version.c   2014-03-27 18:55:21.412764824 +0100
***
*** 736,737 
--- 736,739 
  {   /* Add new patch number below this line */
+ /**/
+ 225,
  /**/

-- 
Engineers are widely recognized as superior marriage material: intelligent,
dependable, employed, honest, and handy around the house.
(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/d/optout.


Patch 7.4.224

2014-03-27 Fir de Conversatie Bram Moolenaar

Patch 7.4.224
Problem:/usr/bin/grep on Solaris does not support -F.
Solution:   Add configure check to find a good grep. (Danek Duvall)
Files:  src/configure.in, src/auto/configure


*** ../vim-7.4.223/src/configure.in 2014-03-27 17:40:53.384696360 +0100
--- src/configure.in2014-03-27 18:49:24.900759361 +0100
***
*** 14,19 
--- 14,20 
  AC_PROG_CCdnl required by almost everything
  AC_PROG_CPP   dnl required by header file checks
  AC_PROGRAM_EGREP dnl required by AC_EGREP_CPP
+ AC_PROG_FGREP dnl finds working grep -F
  AC_ISC_POSIX  dnl required by AC_C_CROSS
  AC_PROG_AWK   dnl required for "make html" in ../doc
  
***
*** 936,942 
  PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ 
]]*//'`
fi
if test "X$perlldflags" != "X"; then
! if test "X`echo \"$LDFLAGS\" | grep -F -e \"$perlldflags\"`" = "X"; 
then
LDFLAGS="$perlldflags $LDFLAGS"
  fi
fi
--- 937,943 
  PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ 
]]*//'`
fi
if test "X$perlldflags" != "X"; then
! if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$perlldflags\"`" = "X"; 
then
LDFLAGS="$perlldflags $LDFLAGS"
  fi
fi
***
*** 1727,1733 
  dnl configure, so strip these flags first (if present)
  rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 
's/-arch\ i386//' -e 's/-arch\ x86_64//'`
  if test "X$rubyldflags" != "X"; then
!   if test "X`echo \"$LDFLAGS\" | grep -F -e \"$rubyldflags\"`" = "X"; 
then
  LDFLAGS="$rubyldflags $LDFLAGS"
fi
  fi
--- 1728,1734 
  dnl configure, so strip these flags first (if present)
  rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 
's/-arch\ i386//' -e 's/-arch\ x86_64//'`
  if test "X$rubyldflags" != "X"; then
!   if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$rubyldflags\"`" = "X"; 
then
  LDFLAGS="$rubyldflags $LDFLAGS"
fi
  fi
*** ../vim-7.4.223/src/auto/configure   2014-03-27 17:40:53.396696361 +0100
--- src/auto/configure  2014-03-27 18:49:34.356759506 +0100
***
*** 719,724 
--- 719,725 
  CPP_MM
  STRIP
  AWK
+ FGREP
  EGREP
  GREP
  CPP
***
*** 3695,3701 
  
  fi
  rm -f conftest*
!  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing 
strerror" >&5
  $as_echo_n "checking for library containing strerror... " >&6; }
  if ${ac_cv_search_strerror+:} false; then :
$as_echo_n "(cached) " >&6
--- 3696,3768 
  
  fi
  rm -f conftest*
!  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
! $as_echo_n "checking for fgrep... " >&6; }
! if ${ac_cv_path_FGREP+:} false; then :
!   $as_echo_n "(cached) " >&6
! else
!   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
!then ac_cv_path_FGREP="$GREP -F"
!else
!  if test -z "$FGREP"; then
!   ac_path_FGREP_found=false
!   # Loop through the user's path and test for each of PROGNAME-LIST
!   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
! for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
! do
!   IFS=$as_save_IFS
!   test -z "$as_dir" && as_dir=.
! for ac_prog in fgrep; do
! for ac_exec_ext in '' $ac_executable_extensions; do
!   ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
!   as_fn_executable_p "$ac_path_FGREP" || continue
! # Check for GNU ac_path_FGREP and select it if it is found.
!   # Check for GNU $ac_path_FGREP
! case `"$ac_path_FGREP" --version 2>&1` in
! *GNU*)
!   ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
! *)
!   ac_count=0
!   $as_echo_n 0123456789 >"conftest.in"
!   while :
!   do
! cat "conftest.in" "conftest.in" >"conftest.tmp"
! mv "conftest.tmp" "conftest.in"
! cp "conftest.in" "conftest.nl"
! $as_echo 'FGREP' >> "conftest.nl"
! "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || 
break
! diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
! as_fn_arith $ac_count + 1 && ac_count=$as_val
! if test $ac_count -gt ${ac_path_FGREP_max-0}; then
!   # Best one so far, save it but keep looking for a better one
!   ac_cv_path_FGREP="$ac_path_FGREP"
!   ac_path_FGREP_max=$ac_count
! fi
! # 10*(2^10) chars as input seems more than enough
! test $ac_count -gt 10 && break
!   done
!   rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
! esac
! 
!   $ac_path_FGREP_found && break 3
! done
!   done
!   done
! IFS=$as_save_IFS
!   if test -z "$ac_cv_path_FGREP"; then
! as_fn_error $? "no acceptable fgrep could be found in 
$PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
!   fi
! else
!   ac_cv_path_FGREP=$FGREP
! fi
! 
!fi
! fi
! { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
! $as_echo "$ac_cv_path_FGREP" >&6; }
!  FGREP="$ac_cv_path_FGREP"
! 
!   { $as_echo "

Re: [Patch] Add option to disable insert completion message in shortmess

2014-03-27 Fir de Conversatie Philipp Fehre
Hope this is moving along, would be really nice to get this into master. 

On Saturday, January 11, 2014 5:00:55 PM UTC+1, Shougo wrote:
> 2014年1月12日日曜日 0時25分42秒 UTC+9 mattn:
> 
> > > Thank you for Mr.Bram.
> 
> > > I fixed my patch. Because, I had mistake line number in patch...
> 
> > > This is minor fix.
> 
> > 
> 
> > Probably, you forgot to attach the patch.
> 
> 
> 
> Thanks. I forgot it...

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


xmode instead of vmode mappings vim filetype plugin vim.vim and matchit.vim

2014-03-27 Fir de Conversatie Enno
Once hitting a printable character x in selection mode, the currently 
selected text is expected to be replaced by x.


Under this maxim, it would be consistent to assign xmode instead of 
vmode mappings to the movement mappings in vim.vim and matchit.vim.


--
--
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 to utilize undefined text-objects

2014-03-27 Fir de Conversatie Ben Fritz
On Friday, January 31, 2014 1:54:30 PM UTC-6, Daniel "paradigm" Thau wrote:
> On Thursday, January 30, 2014 9:07:19 PM UTC-5, Daniel "paradigm" Thau wrote:
> > On Thursday, January 30, 2014 8:07:04 PM UTC-5, Marcin Szamotulski wrote:
> > > On 16:45 Wed 29 Jan , Daniel "paradigm" Thau wrote:
> > > 
> > > > Apologies for the delay.
> > > 
> > > > 
> > > 
> > > > Review for those who have forgotten and/or don't care to backread:
> > > 
> > > > 
> > > 
> > > > This patch adds a new text object, "m", which will take one more 
> > > > character as input.  That character will be used as bounds to the left 
> > > > and right for the object.  For example, "cim$" will change between 
> > > > dollar signs.  This supports multi-line objects, so one could do "cim'" 
> > > > which, unlike "ci'", will search across lines; this way users have both.
> > > 
> > > > 
> > > Thanks I'm really happy to see this patch.  I compiled it now and there
> > > 
> > > is one thing that does not work: the "." command.  For example di< or ci<
> > > 
> > > can be repeated with . but dim, or cim, cannot.  
> > > 
> > > 
> > > 
> > > Best regards,
> > > 
> > > Marcin Szamotulski
> > 
> > Good catch.  I can replicate that on my end.  Will fix.
> 
> Should be fixed in the attachment.  As a bonus, it now supports things such 
> as digraphs.

I tried updating this patch for 7-4-220 and mostly succeeded, just by applying 
a couple hundred lines of fuzz, but visual mode is not selecting the full text 
inside the matched pairs. I don't have time to try to fix it further. I'm 
attaching the updated patch in case I just did something wrong. I know there 
have been some visual mode changes outside of this patch between now and the 
time the patch was created.

-- 
-- 
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 -ur vim-7-4-220/runtime/doc/motion.txt vim-7-4-220_patched/runtime/doc/motion.txt
--- vim-7-4-220/runtime/doc/motion.txt	Thu Mar 27 06:40:30 2014
+++ vim-7-4-220_patched/runtime/doc/motion.txt	Thu Mar 27 11:27:22 2014
@@ -662,6 +662,14 @@
 			Special case: With a count of 2 the quotes are
 			included, but no extra white space as with a"/a'/a`.
 
+am{char}		*v_am* *am*
+			"a matched {char}".  Selects the text from the
+			previous {char} until the next {char}.  A count is
+			currently not used.
+
+im{char}		*v_im* *im*
+			Like am{char} but exclude the {char}.
+
 When used after an operator:
 For non-block objects:
 	For the "a" commands: The operator applies to the object and the white
diff -ur vim-7-4-220/runtime/doc/tags vim-7-4-220_patched/runtime/doc/tags
--- vim-7-4-220/runtime/doc/tags	Thu Mar 27 06:40:30 2014
+++ vim-7-4-220_patched/runtime/doc/tags	Thu Mar 27 11:27:22 2014
@@ -4763,6 +4763,7 @@
 alt	intro.txt	/*alt*
 alt-input	debugger.txt	/*alt-input*
 alternate-file	editing.txt	/*alternate-file*
+am	motion.txt	/*am*
 amiga-window	starting.txt	/*amiga-window*
 and()	eval.txt	/*and()*
 anonymous-function	eval.txt	/*anonymous-function*
@@ -6538,6 +6539,7 @@
 if_sniff.txt	if_sniff.txt	/*if_sniff.txt*
 if_tcl.txt	if_tcl.txt	/*if_tcl.txt*
 ignore-errors	eval.txt	/*ignore-errors*
+im	motion.txt	/*im*
 improved-autocmds-5.4	version5.txt	/*improved-autocmds-5.4*
 improved-quickfix	version5.txt	/*improved-quickfix*
 improved-sessions	version5.txt	/*improved-sessions*
@@ -8473,6 +8475,7 @@
 v_a]	motion.txt	/*v_a]*
 v_a`	motion.txt	/*v_a`*
 v_ab	motion.txt	/*v_ab*
+v_am	motion.txt	/*v_am*
 v_ap	motion.txt	/*v_ap*
 v_aquote	motion.txt	/*v_aquote*
 v_as	motion.txt	/*v_as*
@@ -8520,6 +8523,7 @@
 v_i]	motion.txt	/*v_i]*
 v_i`	motion.txt	/*v_i`*
 v_ib	motion.txt	/*v_ib*
+v_im	motion.txt	/*v_im*
 v_ip	motion.txt	/*v_ip*
 v_iquote	motion.txt	/*v_iquote*
 v_is	motion.txt	/*v_is*
diff -ur vim-7-4-220/src/normal.c vim-7-4-220_patched/src/normal.c
--- vim-7-4-220/src/normal.c	Thu Mar 27 06:40:30 2014
+++ vim-7-4-220_patched/src/normal.c	Thu Mar 27 11:27:22 2014
@@ -942,7 +942,7 @@
 	cp = &ca.nchar;
 	}
 	lang = (repl || (nv_cmds[idx].cmd_flags & NV_LANG));
-
+getchar:
 	/*
 	 * Get a second or third character.
 	 */
@@ -1093,6 +1093,18 @@
 	}
 #endif
 	}
+#ifdef FEAT_TEXTOBJ
+	/*
+	 * The im/am text object needs one more character to use as left/right
+	 * bounds.
+	 */
+	if ((ca.cmdchar == 'a' || ca.cmdchar == 'i') && ca.nchar == 'm'
+		&& ca.extra_char == NUL)
+	{
+	cp = &ca.extra_char;
+	goto getchar;
+	}
+#endif
 	--no_mapping;
 	--allow_keys;
 }
@@ -1455,6 +1467,16 @@
 	prep_redo(oap->regname, cap->count0,
 		get_op_char(oap->op_type), get_extra_op_char(oap->op_type),
 		oap->motion_force,

Patch 7.4.222

2014-03-27 Fir de Conversatie Bram Moolenaar

Patch 7.4.222
Problem:The Ruby directory is constructed from parts.
Solution:   Use 'rubyarchhdrdir' if it exists. (James McCoy)
Files:  src/configure.in, src/auto/configure


*** ../vim-7.4.221/src/configure.in 2014-02-23 22:52:33.356764716 +0100
--- src/configure.in2014-03-27 17:13:09.624670867 +0100
***
*** 1692,1700 
if test "X$rubyhdrdir" != "X"; then
AC_MSG_RESULT($rubyhdrdir)
RUBY_CFLAGS="-I$rubyhdrdir"
! rubyarch=`$vi_cv_path_ruby -r rbconfig -e "print 
$ruby_rbconfig::CONFIG[['arch']]"`
! if test -d "$rubyhdrdir/$rubyarch"; then
!   RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
  fi
  rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print 
$ruby_rbconfig::CONFIG[['ruby_version']].gsub(/\./, '')[[0,2]]"`
if test "X$rubyversion" = "X"; then
--- 1692,1700 
if test "X$rubyhdrdir" != "X"; then
AC_MSG_RESULT($rubyhdrdir)
RUBY_CFLAGS="-I$rubyhdrdir"
! rubyarchdir=`$vi_cv_path_ruby -r rbconfig -e "print 
($ruby_rbconfig::CONFIG.has_key? 'rubyarchhdrdir') ? 
$ruby_rbconfig::CONFIG[['rubyarchhdrdir']] : 
'$rubyhdrdir/'+$ruby_rbconfig::CONFIG[['arch']]"`
! if test -d "$rubyarchdir"; then
!   RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyarchdir"
  fi
  rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print 
$ruby_rbconfig::CONFIG[['ruby_version']].gsub(/\./, '')[[0,2]]"`
if test "X$rubyversion" = "X"; then
*** ../vim-7.4.221/src/auto/configure   2014-02-23 22:52:33.364764715 +0100
--- src/auto/configure  2014-03-27 17:14:25.256672026 +0100
***
*** 6777,6785 
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rubyhdrdir" >&5
  $as_echo "$rubyhdrdir" >&6; }
RUBY_CFLAGS="-I$rubyhdrdir"
! rubyarch=`$vi_cv_path_ruby -r rbconfig -e "print 
$ruby_rbconfig::CONFIG['arch']"`
! if test -d "$rubyhdrdir/$rubyarch"; then
!   RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
  fi
  rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print 
$ruby_rbconfig::CONFIG['ruby_version'].gsub(/\./, '')[0,2]"`
if test "X$rubyversion" = "X"; then
--- 6777,6785 
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rubyhdrdir" >&5
  $as_echo "$rubyhdrdir" >&6; }
RUBY_CFLAGS="-I$rubyhdrdir"
! rubyarchdir=`$vi_cv_path_ruby -r rbconfig -e "print 
($ruby_rbconfig::CONFIG.has_key? 'rubyarchhdrdir') ? 
$ruby_rbconfig::CONFIG['rubyarchhdrdir'] : 
'$rubyhdrdir/'+$ruby_rbconfig::CONFIG['arch']"`
! if test -d "$rubyarchdir"; then
!   RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyarchdir"
  fi
  rubyversion=`$vi_cv_path_ruby -r rbconfig -e "print 
$ruby_rbconfig::CONFIG['ruby_version'].gsub(/\./, '')[0,2]"`
if test "X$rubyversion" = "X"; then
*** ../vim-7.4.221/src/version.c2014-03-27 17:02:22.084660944 +0100
--- src/version.c   2014-03-27 17:13:29.220671167 +0100
***
*** 736,737 
--- 736,739 
  {   /* Add new patch number below this line */
+ /**/
+ 222,
  /**/

-- 
Engineers are always delighted to share wisdom, even in areas in which they
have no experience whatsoever.  Their logic provides them with inherent
insight into any field of expertise.  This can be a problem when dealing with
the illogical people who believe that knowledge can only be derived through
experience.
(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/d/optout.


Re: Extremely slow when using relativenumber & syntax highlighting

2014-03-27 Fir de Conversatie Nikolay Pavlov
On Mar 27, 2014 7:56 PM, "Christian Brabandt"  wrote:
>
> [copying Zyx, as he is the maintainer of the syntax script]
>
> Am 2014-03-27 00:05, schrieb Dominique Pellé:
>>
>> I can reproduce the slowness using the yaml file copied
>> from http://yaml.org
>
> [...]
>
>>
>> If I use ":syntime on" and ":syntime report", I see this:
>>
>> With relativenumber:
>>
>>   TOTAL  COUNT  MATCH   SLOWEST AVERAGE   NAME
PATTERN
>>   3.706423   7752   73950.0025210.000478  yamlPlainScalar
>> \%([\-?:,\[\]{}#&*!|>'"%@`]\@!\%(\%([\n\r\uFEFF
>> \t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)\@!\p\)\)\@=
>>   1.105733   4029   20400.0007420.000274  yamlFloat
>> \%([\[\]{},
>>
\t]\@!\p\)\@>   0.711836   1224   0   0.0011740.000582  yamlBlockMappingKey
>> \%#=1\s*\zs\%([\-?:,\[\]{}#&*!|>'"%@`]\@!\%(\%([\n\r\uFEFF
>> \t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)\
>>
>>   0.481088   2703   153 0.0008150.000178  yamlInteger
>> \%([\[\]{},
>>
\t]\@!\p\)\@>   0.044233   2601   0   0.420.17  yamlTimestamp
>> \%([\[\]{},
>>
\t]\@!\p\)\@>   0.038902   2652   408 0.560.15  yamlBlockMappingKey
>> \%#=1^\s*\zs\%([\-?:,\[\]{}#&*!|>'"%@`]\@!\%(\%([\n\r\uFEFF
>> \t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)
>
>
> Those patterns are crazy. Here is a patch, that deviates the performance
issue slightly
> (mainly by making sure, the old 're' engine is used in place of those
high performance syntax
> items and by limiting the look-around assertion). This fixes the
performance penalties
> even more but might make syntax highlighting more inaccurate (although I
used a conservative
> limit of 100 bytes).

If I understand these limits correctly it can be limited to an exact amount
of bytes: AFAIR I was using only fixed-width lookarounds (making these
limits be possible to be deduced by re engine). At least this patch touches
only fixed-width lookarounds. Though I may understand these limits not
correctly.

>
> Also, I noticed, the syntax script is missing some :syn sync rules. I am
not sure, what the default
> is, but some clever syn rules could also improve syntax performance
slightly.
>
> Best,
> Christian

-- 
-- 
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: Issue 199 in vim: resize the quickfix/location list window if given a new height (even if the window is already open)

2014-03-27 Fir de Conversatie vim

Updates:
Status: Fixed

Comment #2 on issue 199 by brammool...@gmail.com: resize the  
quickfix/location list window if given a new height (even if the window is  
already open)

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

Submitted as patch 7.4.221

--
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/d/optout.


Patch 7.4.221

2014-03-27 Fir de Conversatie Bram Moolenaar

Patch 7.4.221
Problem:Quickfix doesn't resize on ":copen 20". (issue 199)
Solution:   Resize the window when requested. (Christian Brabandt)
Files:  src/quickfix.c


*** ../vim-7.4.220/src/quickfix.c   2014-03-23 15:12:29.931264336 +0100
--- src/quickfix.c  2014-03-27 16:56:25.316655478 +0100
***
*** 2358,2364 
--- 2358,2379 
  win = qf_find_win(qi);
  
  if (win != NULL && cmdmod.tab == 0)
+ {
win_goto(win);
+   if (eap->addr_count != 0)
+   {
+ #ifdef FEAT_VERTSPLIT
+   if (cmdmod.split & WSP_VERT)
+   {
+   if (height != W_WIDTH(win))
+   win_setwidth(height);
+   }
+   else
+ #endif
+   if (height != win->w_height)
+   win_setheight(height);
+   }
+ }
  else
  {
qf_buf = qf_find_buf(qi);
*** ../vim-7.4.220/src/version.c2014-03-27 12:40:26.188420131 +0100
--- src/version.c   2014-03-27 16:54:38.864653847 +0100
***
*** 736,737 
--- 736,739 
  {   /* Add new patch number below this line */
+ /**/
+ 221,
  /**/

-- 
The fastest way to get an engineer to solve a problem is to declare that the
problem is unsolvable.  No engineer can walk away from an unsolvable problem
until it's solved.
(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/d/optout.


Re: Extremely slow when using relativenumber & syntax highlighting

2014-03-27 Fir de Conversatie Christian Brabandt

[copying Zyx, as he is the maintainer of the syntax script]
Am 2014-03-27 00:05, schrieb Dominique Pellé:

I can reproduce the slowness using the yaml file copied
from http://yaml.org

[...]


If I use ":syntime on" and ":syntime report", I see this:

With relativenumber:

  TOTAL  COUNT  MATCH   SLOWEST AVERAGE   NAME   
PATTERN

  3.706423   7752   73950.0025210.000478  yamlPlainScalar
\%([\-?:,\[\]{}#&*!|>'"%@`]\@!\%(\%([\n\r\uFEFF
\t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)\@!\p\)\)\@=
  1.105733   4029   20400.0007420.000274  yamlFloat
\%([\[\]{},
\t]\@!\p\)\@'"%@`]\@!\%(\%([\n\r\uFEFF
\t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)\

  0.481088   2703   153 0.0008150.000178  yamlInteger
\%([\[\]{},
\t]\@!\p\)\@'"%@`]\@!\%(\%([\n\r\uFEFF
\t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)


Those patterns are crazy. Here is a patch, that deviates the performance 
issue slightly
(mainly by making sure, the old 're' engine is used in place of those 
high performance syntax
items and by limiting the look-around assertion). This fixes the 
performance penalties
even more but might make syntax highlighting more inaccurate (although I 
used a conservative

limit of 100 bytes).

Also, I noticed, the syntax script is missing some :syn sync rules. I am 
not sure, what the default
is, but some clever syn rules could also improve syntax performance 
slightly.


Best,
Christian

--
--
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/runtime/syntax/yaml.vim b/runtime/syntax/yaml.vim
--- a/runtime/syntax/yaml.vim
+++ b/runtime/syntax/yaml.vim
@@ -11,11 +11,11 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
-let s:ns_char = '\%(\%([\n\r\uFEFF \t]\)\@!\p\)'
+let s:ns_char = '\%(\%([\n\r\uFEFF \t]\)\@100!\p\)'
 let s:ns_word_char = '\%(\w\|-\)'
 let s:ns_uri_char  = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$,.!~*''()\[\]]\)'
 let s:ns_tag_char  = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$.~*''()]\)'
-let s:c_ns_anchor_char = '\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)'
+let s:c_ns_anchor_char = '\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@100!\p\)'
 let s:c_indicator  = '[\-?:,\[\]{}#&*!|>''"%@`]'
 let s:c_flow_indicator = '[,\[\]{}]'
 
@@ -44,16 +44,18 @@ let s:ns_tag_prefix = s:ns_local_tag_pre
 \'\|'.s:ns_global_tag_prefix
 
 let s:ns_plain_safe_out = s:ns_char
-let s:ns_plain_safe_in  = '\%('.s:c_flow_indicator.'\@!'.s:ns_char.'\)'
+let s:ns_plain_safe_in  = '\%('.s:c_flow_indicator.'\@100!'.s:ns_char.'\)'
 
-let s:ns_plain_first_in  = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_in.'\)\@=\)'
-let s:ns_plain_first_out = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_out.'\)\@=\)'
+let s:ns_plain_first_in  = '\%('.s:c_indicator.'\@100!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_in.'\)\@100=\)'
+let s:ns_plain_first_out = '\%('.s:c_indicator.'\@100!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_out.'\)\@100=\)'
 
-let s:ns_plain_char_in  = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_in.'\|[:#]\@!'.s:ns_plain_safe_in.'\)'
-let s:ns_plain_char_out = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_out.'\|[:#]\@!'.s:ns_plain_safe_out.'\)'
+let s:ns_plain_char_in  = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_in.'\|[:#]\@100!'.s:ns_plain_safe_in.'\)'
+let s:ns_plain_char_out = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_out.'\|[:#]\@100!'.s:ns_plain_safe_out.'\)'
 
-let s:ns_plain_out = s:ns_plain_first_out . s:ns_plain_char_out.'*'
-let s:ns_plain_in  = s:ns_plain_first_in  . s:ns_plain_char_in.'*'
+" Use old RE engine, to speed up syntax highlighting some, the new engine has
+" problems with look-around assertions
+let s:ns_plain_out = '\%#=1'. s:ns_plain_first_out . s:ns_plain_char_out.'*'
+let s:ns_plain_in  = '\%#=1'. s:ns_plain_first_in  . s:ns_plain_char_in.'*'
 
 
 syn keyword yamlTodocontained TODO FIXME XXX NOTE
@@ -76,7 +78,7 @@ syn match yamlYAMLDirective '%YAML\s\+' 
 syn match yamlYAMLVersion   '\d\+\.\d\+' contained nextgroup=yamlComment
 
 execute 'syn match yamlReservedDirective contained nextgroup=yamlComment '.
-\string('%\%(\%(TAG\|YAML\)\s\)\@!'.s:ns_directive_name)
+\string('%\%(\%(TAG\|YAML\)\s\)\@100!'.s:ns_directive_name)
 
 syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start='"' skip='\\"' end='"'
 \ contains=yamlEscape
@@ -123,10 +125,10 @@ syn keyword yamlConstant true True TRUE 
 syn keyword yamlConstant null Null NULL
 syn match   yamlConstant '\<\~\>'
 
-syn match   yamlTimestamp /\%([\[\]{}, \t]\@!\p\)\@

Patch 7.4.220

2014-03-27 Fir de Conversatie Bram Moolenaar

Patch 7.4.220
Problem:Test 105 does not work in a shadow dir. (James McCoy)
Solution:   Omit "src/" from the checked path.
Files:  src/testdir/test105.in, src/testdir/test105.ok


*** ../vim-7.4.219/src/testdir/test105.in   2014-02-23 23:38:58.812760280 
+0100
--- src/testdir/test105.in  2014-03-27 12:31:45.052412146 +0100
***
*** 7,13 
  :set shellslash
  :let tab="\t"
  :command -nargs=1 Put :let expr= | $put 
=expr.tab.strtrans(string(eval(expr)))
! :let $HOME=fnamemodify('.', ':p:h:h:h')
  :Put fnamemodify('.',  ':p'  )[-1:]
  :Put fnamemodify('.',  ':p:h')[-1:]
  :Put fnamemodify('test.out',   ':p'  )[-1:]
--- 7,13 
  :set shellslash
  :let tab="\t"
  :command -nargs=1 Put :let expr= | $put 
=expr.tab.strtrans(string(eval(expr)))
! :let $HOME=fnamemodify('.', ':p:h:h')
  :Put fnamemodify('.',  ':p'  )[-1:]
  :Put fnamemodify('.',  ':p:h')[-1:]
  :Put fnamemodify('test.out',   ':p'  )[-1:]
***
*** 23,29 
  :Put fnamemodify('abc.fb2.tar.gz', ':r'  )
  :Put fnamemodify('abc.fb2.tar.gz', ':r:r')
  :Put fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )
! :Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), 
'.*\(src/testdir/.*\)', '\1', '')
  :Put fnamemodify('abc.fb2.tar.gz', ':e'  )
  :Put fnamemodify('abc.fb2.tar.gz', ':e:e')
  :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )
--- 23,29 
  :Put fnamemodify('abc.fb2.tar.gz', ':r'  )
  :Put fnamemodify('abc.fb2.tar.gz', ':r:r')
  :Put fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )
! :Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(testdir/.*\)', 
'\1', '')
  :Put fnamemodify('abc.fb2.tar.gz', ':e'  )
  :Put fnamemodify('abc.fb2.tar.gz', ':e:e')
  :Put fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )
*** ../vim-7.4.219/src/testdir/test105.ok   2014-02-23 23:38:58.812760280 
+0100
--- src/testdir/test105.ok  2014-03-27 12:31:40.732412080 +0100
***
*** 3,10 
  fnamemodify('test.out',   ':p'  )[-1:]'t'
  fnamemodify('test.out',   ':.'  ) 'test.out'
  fnamemodify('../testdir/a',   ':.'  ) 'a'
! fnamemodify('test.out',   ':~'  ) '~/src/testdir/test.out'
! fnamemodify('../testdir/a',   ':~'  ) '~/src/testdir/a'
  fnamemodify('../testdir/a',   ':t'  ) 'a'
  fnamemodify('.',  ':p:t') ''
  fnamemodify('test.out',   ':p:t') 'test.out'
--- 3,10 
  fnamemodify('test.out',   ':p'  )[-1:]'t'
  fnamemodify('test.out',   ':.'  ) 'test.out'
  fnamemodify('../testdir/a',   ':.'  ) 'a'
! fnamemodify('test.out',   ':~'  ) '~/testdir/test.out'
! fnamemodify('../testdir/a',   ':~'  ) '~/testdir/a'
  fnamemodify('../testdir/a',   ':t'  ) 'a'
  fnamemodify('.',  ':p:t') ''
  fnamemodify('test.out',   ':p:t') 'test.out'
***
*** 13,19 
  fnamemodify('abc.fb2.tar.gz', ':r'  ) 'abc.fb2.tar'
  fnamemodify('abc.fb2.tar.gz', ':r:r') 'abc.fb2'
  fnamemodify('abc.fb2.tar.gz', ':r:r:r'  ) 'abc'
! substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', 
'\1', '') 'src/testdir/abc.fb2'
  fnamemodify('abc.fb2.tar.gz', ':e'  ) 'gz'
  fnamemodify('abc.fb2.tar.gz', ':e:e') 'tar.gz'
  fnamemodify('abc.fb2.tar.gz', ':e:e:e'  ) 'fb2.tar.gz'
--- 13,19 
  fnamemodify('abc.fb2.tar.gz', ':r'  ) 'abc.fb2.tar'
  fnamemodify('abc.fb2.tar.gz', ':r:r') 'abc.fb2'
  fnamemodify('abc.fb2.tar.gz', ':r:r:r'  ) 'abc'
! substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(testdir/.*\)', '\1', 
'') 'testdir/abc.fb2'
  fnamemodify('abc.fb2.tar.gz', ':e'  ) 'gz'
  fnamemodify('abc.fb2.tar.gz', ':e:e') 'tar.gz'
  fnamemodify('abc.fb2.tar.gz', ':e:e:e'  ) 'fb2.tar.gz'
*** ../vim-7.4.219/src/version.c2014-03-27 12:11:43.888393741 +0100
--- src/version.c   2014-03-27 12:32:56.320413238 +0100
***
*** 736,737 
--- 736,739 
  {   /* Add new patch number below this line */
+ /**/
+ 220,
  /**/

-- 
If the Universe is constantly expanding, why can't I ever find a parking space?

 /// 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 m

Re: Patch 7.4.191

2014-03-27 Fir de Conversatie Bram Moolenaar

James McCoy wrote:

> On Sun, Feb 23, 2014 at 11:39:29PM +0100, Bram Moolenaar wrote:
> > 
> > Patch 7.4.191
> > Problem:Escaping a file name for shell commands can't be done without a
> > function.
> > Solution:   Add the :S file name modifier.
> 
> Test 105 doesn't work when a shadowdir is being used:
> 
> # Check if the test.out file matches test.ok.
> 6,7c6,7
> < fnamemodify('test.out',   ':~'  ) '~/vim-nox/testdir/test.out'
> < fnamemodify('../testdir/a',   ':~'  ) '~/vim-nox/testdir/a'
> ---
> > fnamemodify('test.out',   ':~'  ) '~/src/testdir/test.out'
> > fnamemodify('../testdir/a',   ':~'  ) '~/src/testdir/a'
> 16c16
> < substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', 
> '\1', '') '/path/to/vim/src/vim-nox/testdir/abc.fb2'
> ---
> > substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(src/testdir/.*\)', 
> > '\1', '') 'src/testdir/abc.fb2'

I'll make a patch to fix that, hopefully.  Please try again after patch
7.4.220.

-- 
I recommend ordering large cargo containers of paper towels to make up
whatever budget underruns you have.  Paper products are always useful and they
have the advantage of being completely flushable if you need to make room in
the storage area later.
(Scott Adams - The Dilbert principle)

 /// Bram Moolenaar -- 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: Extremely slow when using relativenumber & syntax highlighting

2014-03-27 Fir de Conversatie Bram Moolenaar

Christian Brabandt wrote:

> You might have found a bug here. I think the original idea is, that 
> whenever 'relativenumber'
> is set, one needs to update more often, since the relativenumbers change 
> whenever you move
> the cursor up and down. This does obviously not happen here and I think 
> this is caused
> by curwin->w_valid incorrectly being made invalid.
> 
> I don't see why VALID_WROW should be made invalid, just because the 
> column changed. So I remove it in the following
> patch and after testing with your commandline given above Vim indeed 
> seems to be much faster (but please
> everybody test to confirm).
> 
> diff --git a/src/move.c b/src/move.c
> --- a/src/move.c
> +++ b/src/move.c
> @@ -467,7 +467,7 @@ check_cursor_moved(wp)
>   #endif
>)
>   {
> - wp->w_valid &= ~(VALID_WROW|VALID_WCOL|VALID_VIRTCOL);
> + wp->w_valid &= ~(VALID_WCOL|VALID_VIRTCOL);
>   wp->w_valid_cursor.col = wp->w_cursor.col;
>   wp->w_valid_leftcol = wp->w_leftcol;
>   #ifdef FEAT_VIRTUALEDIT
> 

That will cause a problem for long lines.  I'll make an alternative
patch.

-- 
You can test a person's importance in the organization by asking how much RAM
his computer has.  Anybody who knows the answer to that question is not a
decision-maker.
(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/d/optout.


Patch 7.4.219

2014-03-27 Fir de Conversatie Bram Moolenaar

Patch 7.4.219
Problem:When 'relativenumber' or 'cursorline' are set the window is
redrawn much to often. (Patrick Hemmer, Dominique Pelle)
Solution:   Check the VALID_CROW flag instead of VALID_WROW.
Files:  src/move.c


*** ../vim-7.4.218/src/move.c   2014-03-23 15:12:29.927264336 +0100
--- src/move.c  2014-03-27 11:59:28.524382473 +0100
***
*** 772,777 
--- 772,791 
}
  }
  
+ /* Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is
+  * set. */
+ if ((curwin->w_p_rnu
+ #ifdef FEAT_SYN_HL
+   || curwin->w_p_cul
+ #endif
+   )
+   && (curwin->w_valid & VALID_CROW) == 0
+ # ifdef FEAT_INS_EXPAND
+   && !pum_visible()
+ # endif
+   )
+   redraw_later(SOME_VALID);
+ 
  wp->w_valid |= VALID_CROW|VALID_CHEIGHT;
  
  /* validate botline too, if update_screen doesn't do it */
***
*** 1172,1193 
  if (prev_skipcol != curwin->w_skipcol)
redraw_later(NOT_VALID);
  
- /* Redraw when w_row changes and 'relativenumber' is set */
- if (((curwin->w_valid & VALID_WROW) == 0 && (curwin->w_p_rnu
  #ifdef FEAT_SYN_HL
!   /* or when w_row changes and 'cursorline' is set. */
!   || curwin->w_p_cul
! #endif
!   ))
! #ifdef FEAT_SYN_HL
!   /* or when w_virtcol changes and 'cursorcolumn' is set */
!   || (curwin->w_p_cuc && (curwin->w_valid & VALID_VIRTCOL) == 0)
! #endif
!   )
  # ifdef FEAT_INS_EXPAND
!   if (!pum_visible())
  # endif
!   redraw_later(SOME_VALID);
  
  curwin->w_valid |= VALID_WCOL|VALID_WROW|VALID_VIRTCOL;
  }
--- 1186,1200 
  if (prev_skipcol != curwin->w_skipcol)
redraw_later(NOT_VALID);
  
  #ifdef FEAT_SYN_HL
! /* Redraw when w_virtcol changes and 'cursorcolumn' is set */
! if (curwin->w_p_cuc && (curwin->w_valid & VALID_VIRTCOL) == 0
  # ifdef FEAT_INS_EXPAND
!   && !pum_visible()
  # endif
!   )
!   redraw_later(SOME_VALID);
! #endif
  
  curwin->w_valid |= VALID_WCOL|VALID_WROW|VALID_VIRTCOL;
  }
*** ../vim-7.4.218/src/version.c2014-03-25 18:23:27.062087691 +0100
--- src/version.c   2014-03-27 12:11:15.276393302 +0100
***
*** 736,737 
--- 736,739 
  {   /* Add new patch number below this line */
+ /**/
+ 219,
  /**/

-- 
The only way the average employee can speak to an executive is by taking a
second job as a golf caddie.
(Scott Adams - The Dilbert principle)

 /// Bram Moolenaar -- 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: [DOC BUG] :caddexpr/:laddexpr have incorrect abbreviations

2014-03-27 Fir de Conversatie Bram Moolenaar

Ken Takata wrote:

> 2014/3/22 Sat 23:33:02 UTC+9 Bram Moolenaar wrote:
> > It's actually different: "laddexpr" is correctly documented.
> > But it's inconsistant with :caddexpr.
> > 
> > Let's just update the documentation, relying on the abbreveation is not
> > a good idea, but if someone does we don't want to break it for him.
> 
> Maybe this patch is also needed.
> 
> --- a/runtime/doc/quickfix.txt
> +++ b/runtime/doc/quickfix.txt
> @@ -203,7 +203,7 @@
>   list.
>  
>   *:cad* *:caddbuffer*
> -:caddb[uffer] [bufnr]Read the error list from the current buffer and 
> add
> +:cad[dbuffer] [bufnr]Read the error list from the current buffer and 
> add
>   the errors to the current quickfix list.  If a
>   quickfix list is not present, then a new list is
>   created. Otherwise, same as ":cbuffer".
> @@ -241,7 +241,7 @@
>   current window is used instead of the quickfix list.
>  
>   *:cadde* *:caddexpr*
> -:cad[dexpr] {expr}   Evaluate {expr} and add the resulting lines to the
> +:cadde[xpr] {expr}   Evaluate {expr} and add the resulting lines to the
>   current quickfix list. If a quickfix list is not
>   present, then a new list is created. The current
>   cursor position will not be changed. See |:cexpr| for

Yes, thanks.

-- 
For large projects, Team Leaders use sophisticated project management software
to keep track of who's doing what.  The software collects the lies and guesses
of the project team and organizes them in to instantly outdated charts that
are too boring to look at closely.  This is called "planning".
(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/d/optout.


Re: Extremely slow when using relativenumber & syntax highlighting

2014-03-27 Fir de Conversatie Christian Brabandt

[fullquote, since copying vim-dev]
Am 2014-03-27 00:05, schrieb Dominique Pellé:

patrick hemmer wrote:


Whenever I have relative line number on (relativenumber), and
syntax highlighting enabled (syntax on), moving the cursor is
painfully slow. Not only moving between lines, but just moving
the cursor left/right on the same line.

I've tried removing my local .vim & .vimrc files as well as the
ones in /etc to have a completely default config. As soon as
I `syntax on` and `set rnu`, it starts exhibiting the issue.

It doesn't seem to do this on all files though, just most. As a
reliable way to duplicate the issue, I can copy the http://yaml.org
web page content into a .yaml file, and edit that.
But I get it in multiple languages, perl, yaml, ruby, & other.

Version 7.4 with patches 1-193 (though I've had this behavior for 
years with older versions).



I can reproduce the slowness using the yaml file copied
from http://yaml.org

Here are some timings with and without relativenumber
when moving 50 times horizontally with l and h:

$ time vim -u NONE foo.yaml \
   -c 'set relativenumber' \
   -c 'syntax on' +10 \
   -c 'call
feedkeys("llhhllhhll:q\")'
real0m4.677s
user0m1.447s
sys0m3.226s
--> slow!

$ time vim -u NONE foo.yaml \
   -c 'set norelativenumber' \
   -c 'syntax on' +10 \
   -c 'call
feedkeys("llhhllhhll:q\")'
real0m0.166s
user0m0.086s
sys0m0.077s
--> fast

If I use ":syntime on" and ":syntime report", I see this:

With relativenumber:

  TOTAL  COUNT  MATCH   SLOWEST AVERAGE   NAME   
PATTERN

  3.706423   7752   73950.0025210.000478  yamlPlainScalar
\%([\-?:,\[\]{}#&*!|>'"%@`]\@!\%(\%([\n\r\uFEFF
\t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)\@!\p\)\)\@=
  1.105733   4029   20400.0007420.000274  yamlFloat
\%([\[\]{},
\t]\@!\p\)\@'"%@`]\@!\%(\%([\n\r\uFEFF
\t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)\

  0.481088   2703   153 0.0008150.000178  yamlInteger
\%([\[\]{},
\t]\@!\p\)\@'"%@`]\@!\%(\%([\n\r\uFEFF
\t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)

  0.023793   3825   24480.290.06  yamlComment
\%\(^\|\s\)#
  0.007552   3825   12240.090.02
yamlBlockCollectionItemStart ^\s*\zs-\%(\s\+-\)*\s
  0.006340   2601   0   0.090.02
yamlBlockMappingMerge ^\s*\zs<<\ze:\%(\s\|$\)
  0.004530   1224   12240.080.04  yamlComment$
  0.003572   2601   0   0.080.01  yamlDocumentEnd
^\.\.\.\ze\%(\s\|$\)
  0.002253   2601   0   0.030.01  yamlFlowCollection \[
  0.002248   2601   51  0.310.01  yamlDirective
^\ze%\%(\%([\n\r\uFEFF \t]\)\@!\p\)\+\s\+
  0.002189   2601   51  0.040.01  yamlDocumentStart
^---\ze\%(\s\|$\)
  0.001827   2601   0   0.250.01  yamlConstant   
\<\~\>
  0.001594   2601   0   0.190.01  yamlMappingKeyStart 
?\ze\s

  0.001468   2703   255 0.020.01  yamlFlowString "
  0.001446   2652   51  0.020.01  yamlFlowString '
  0.001407   2601   0   0.130.01  yamlAlias
\*\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)\+
  0.001404   2601   0   0.020.01  yamlFlowMapping{
  0.001372   2601   0   0.020.01  yamlAnchor
&\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)\+
  0.001313   2601   0   0.020.01  yamlNodeTag
!<\%(%\x\x\|\%(\w\|-\)\|[#/;?:@&=+$,.!~*''()\[\]]\)\+>\|\%(!\%(\w\|-\)\+!\|!!\|!\)\%(%\x\x\|\%(\w\|-\)\|[#
  0.000839   1224   0   0.020.01
yamlBlockMappingMerge <<\ze\s*:\%(\s\|$\)
  0.000823   408408 0.050.02  yamlKeyValueDelimiter 
\s*:
  0.000506   408408 0.030.01  yamlKeyValueDelimiter 
\s*:

  0.000503   51 0   0.110.10
yamlReservedDirective %\%(\%(TAG\|YAML\)\s\)\@!\%(\%([\n\r\uFEFF
\t]\)\@!\p\)\+
  0.000147   51 51  0.040.03  yamlYAMLVersion
\d\+\.\d\+
  0.000128   51 51  0.030.03  yamlYAMLDirective  
%YAML\s\+

  0.000121   51 51  0.030.02  yamlDirective  $
  0.78   51 0   0.020.02  yamlTAGDirective   
%TAG\s\+

  0.62   102102 0.010.01  yamlFlowString "
  0.52   1020   0.010.01  yamlFlowString 
\\"

  0.28   51 0   0.010.01  yamlEscape
\\\%([\\"abefnrtv\^0_ NLP\n]\|x\x\x\|u\x\{4}\|U\x\{8}\)

  6.155810   66351


Without relative number:

  TOTAL  COUNT  MATCH   SLOWEST AVERAGE   NAME   
PATTERN

  0.071678   152145 0.0017960.000472  yamlPlainScalar
\%([\-?:,\[\]{}#&*!|>'"%@`]\@!\%(\%([\n\r\uFEFF
\t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)\@!\p\)\)\@=
  0.021474   79 40  0.0006790.000272  yamlFloat
\%([\[\]{},
\t]\@!\p\)\@'"%@`]\@!\%(\%([\n\r\uFEFF
\t]\)\@!\p\)\|[?:\-]\%(\%(\%([\n\r\uFEFF \t]\)\

  0