Loading ...
Sorry, an error occurred while loading the content.

FW: file that hangs vim

Expand Messages
  • Christian Brabandt
    Forwarding to vim-dev, it seems more appropriate there. ... From: Christian Brabandt To: vim@vim.org Subject: Re: file that hangs vim
    Message 1 of 1 , Oct 4, 2010
    • 0 Attachment
      Forwarding to vim-dev,
      it seems more appropriate there.

      ----- Forwarded message from Christian Brabandt -----
      From: Christian Brabandt <cblists@...>
      To: vim@...
      Subject: Re: file that hangs vim
      Date: Mon, 4 Oct 2010 09:11:19 +0200

      Hi Mark!

      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.

      regards,
      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
    Your message has been successfully submitted and would be delivered to recipients shortly.