Christian Brabandt wrote:

> On Sa, 02 Okt 2010, Mark Huiskes wrote:
> 
> > function! SipmapRuler( type )
> >    let line = line(".") - 1
> > 
> >    if a:type == 1
> >       call append( line, "INFO  
> > ....12....18....24....30....36....42....48....54....60....66....72....78%$" 
> > )
> >       if !exists("g:sipmap_1ruler")
> >          call append( line, "INFO  
> > -----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I%$" 
> > )
> >       endif
> >    else
> >       call append( line, "INFO  
> > ....12....18....24....30....36....42....48....54....60....66....72....78....84....90....96...102...108...114...120...126...132%$"
> >  )
> >       if !exists("g:sipmap_1ruler")
> >          call append( line, "INFO  
> > -----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I-----I%$"
> >  )
> >       endif
> >    endif
> > endfunction
> 
> Yes, this is syntax related. A simple way to reproduce:
> ~$ cat > hang.vim <<EOF
> call append(1,'...........................................................')
> EOF
> ~$ vim -u NONE -N -I NONE -c 'syntax on' hang.vim
> 
> gdb backtrace:
> 
> (gdb) bt
> #0  0x08113bb9 in vim_strchr (string=0xa09b514 
> "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.", c=39) at 
> misc2.c:1867
> #1  0x0815ed2f in cstrchr (s=0xa09b514 
> "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.", c=39) at 
> regexp.c:6684
> #2  0x0815e340 in regrepeat (p=0xa09b511 "\025", maxcount=2147418112) at 
> regexp.c:5784
> #3  0x0815cb3c in regmatch (scan=0xa09b50e "\b") at regexp.c:4879
> #4  0x0815a6ce in regtry (prog=0xa09b4a0, col=15) at regexp.c:3712
> #5  0x0815a4df in vim_regexec_both (line=0x9ffc5c3 "call append(1,'", '.' 
> <repeats 59 times>, "')", col=15, tm=0x0) at regexp.c:3601
> #6  0x08159fd9 in vim_regexec_multi (rmp=0xbfcc3040, win=0x9fd16d0, 
> buf=0x9fd26b0, lnum=1, col=11, tm=0x0) at regexp.c:3410
> #7  0x0819b861 in syn_regexec (rmp=0xbfcc3040, lnum=1, col=11) at 
> syntax.c:3223
> #8  0x08199b13 in syn_current_attr (syncing=0, displaying=1, can_spell=0x0, 
> keep_state=0) at syntax.c:2058
> #9  0x08199523 in get_syntax_attr (col=11, can_spell=0x0, keep_state=0) at 
> syntax.c:1817
> #10 0x0816659b in win_line (wp=0x9fd16d0, lnum=1, startrow=0, endrow=43, 
> nochange=1) at screen.c:4074
> #11 0x081624b3 in win_update (wp=0x9fd16d0) at screen.c:1850
> #12 0x081603de in update_screen (type=40) at screen.c:531
> #13 0x080e541f in main_loop (cmdwin=0, noexmode=0) at main.c:1165
> #14 0x080e5071 in main (argc=9, argv=0xbfcc3864) at main.c:965
> 
> 
> Don't understand enough of the syntax and RE-code of vim to see what goes 
> wrong.

I can reproduce it.  It doesn't cause a crash, CTRL-C should get you out
(until the next redraw).

-- 
A man is incomplete until he's married ... and then he's finished!

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.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

Raspunde prin e-mail lui