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\CR)'
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\CR)'
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\)\@!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9_]*\%([eE][+-]\d\+\)\=\|\.[0-9_]\+\%([eE][-+][0-
  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\%(b[0-1_]\+\|[0-7_]\+\|x[0-9a-fA-F_]\+\)\=\|\%([1-9][0-9_]*\%(:[0-
  0.044233   2601   0   0.420.17  yamlTimestamp
\%([\[\]{},
\t]\@!\p\)\@!\%(\d\{4}-\d\d\=-\d\d\=\%(\%([Tt]\|\s\+\)\%(\d\d\=\):\%(\d\d\):\%(\d\d\)\%(\.\%(
  0.038902   2652   408 0.560.15  yamlBlockMappingKey
\%#=1^\s*\zs\%([\-?:,\[\]{}#*!|'%@`]\@!\%(\%([\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

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=q-args | $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=q-args | $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.

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 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\)\@!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9_]*\%([eE][+-]\d\+\)\=\|\.[0-9_]\+\%([eE][-+][0-
  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\%(b[0-1_]\+\|[0-7_]\+\|x[0-9a-fA-F_]\+\)\=\|\%([1-9][0-9_]*\%(:[0-
  0.044233   2601   0   0.420.17  yamlTimestamp
\%([\[\]{},
\t]\@!\p\)\@!\%(\d\{4}-\d\d\=-\d\d\=\%(\%([Tt]\|\s\+\)\%(\d\d\=\):\%(\d\d\):\%(\d\d\)\%(\.\%(
  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).

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

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: 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.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: 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, cap-cmdchar, cap-nchar);
+#ifdef FEAT_TEXTOBJ
+	/*
+	 * If using the am/im text object, there is one additional
+	 * character 

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


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 21
!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 21` 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 21 || 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 $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+:} 

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.


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.


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

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: 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: [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: 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 james...@jamessan.com

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