Re: "end" motion at end of word
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
[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
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
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
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
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
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
[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