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

Re: Bug with matchadd() highlighting?

Expand Messages
  • Christian Brabandt
    Hi John! ... Looks like a redrawing problem. I think, the screen is not correctly updated, but when doing Ctrl-L it does instead update correctly. Mit
    Message 1 of 6 , Feb 22, 2013
    • 0 Attachment
      Hi John!

      On Fr, 22 Feb 2013, John Szakmeister wrote:

      > I've been using Syntastic lately, and I noticed an interesting quirk.
      > Syntastic will highlight the location of the error in your buffer by
      > calling matchadd() providing the line and column number to highlight
      > in the pattern. What I noticed is that if I start editing the file
      > above the error location, then hit enter a couple of times, then Vim
      > would not only highlight the new location of the line, but the old one
      > as well.
      >
      > After spending some time chasing it down, I believe it may be a Vim
      > bug. Here are the steps to reproduce it:
      >
      > cat > file.txt <<HERE
      > line a
      > line b
      > line c
      > line d
      > HERE
      >
      > # set colorscheme however you like, just as long as there
      > # is an 'Error' highlight group.
      > vim -u NONE -U NONE -c 'set nocp' -c 'colorscheme elflord' file.txt \
      > -c "call matchadd('Error', '\%3l\%1c')"

      Looks like a redrawing problem. I think, the screen is not correctly
      updated, but when doing Ctrl-L it does instead update correctly.


      Mit freundlichen Grüßen
      Christian
      --
      In jedem großen Problem steckt ein kleines, das gerne raus möchte.
      In jedem kleinen Problem steckt ein großes, das gerne raus möchte.

      --
      --
      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+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • John Szakmeister
      On Fri, Feb 22, 2013 at 3:57 PM, Christian Brabandt wrote: [snip] ... It sure does. Using Ctrl-L, I see that it s all redrawn fine. -John
      Message 2 of 6 , Feb 24, 2013
      • 0 Attachment
        On Fri, Feb 22, 2013 at 3:57 PM, Christian Brabandt <cblists@...> wrote:
        [snip]
        > Looks like a redrawing problem. I think, the screen is not correctly
        > updated, but when doing Ctrl-L it does instead update correctly.

        It sure does. Using Ctrl-L, I see that it's all redrawn fine.

        -John

        --
        --
        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+unsubscribe@....
        For more options, visit https://groups.google.com/groups/opt_out.
      • John Szakmeister
        On Fri, Feb 22, 2013 at 3:57 PM, Christian Brabandt wrote: [snip] ... Is the next step to file a bug report? Sorry for the silly
        Message 3 of 6 , Feb 26, 2013
        • 0 Attachment
          On Fri, Feb 22, 2013 at 3:57 PM, Christian Brabandt <cblists@...> wrote:
          [snip]
          >> # set colorscheme however you like, just as long as there
          >> # is an 'Error' highlight group.
          >> vim -u NONE -U NONE -c 'set nocp' -c 'colorscheme elflord' file.txt \
          >> -c "call matchadd('Error', '\%3l\%1c')"
          >
          > Looks like a redrawing problem. I think, the screen is not correctly
          > updated, but when doing Ctrl-L it does instead update correctly.

          Is the next step to file a bug report? Sorry for the silly question,
          but I'm still learning Vim's organization and community.

          Thanks!

          -John

          --
          --
          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+unsubscribe@....
          For more options, visit https://groups.google.com/groups/opt_out.
        • Christian Brabandt
          Hi John! ... It is probably in Bram s todo list already, but he hasn t pushed the runtime files yet to the public repository (at
          Message 4 of 6 , Feb 26, 2013
          • 0 Attachment
            Hi John!

            On Di, 26 Feb 2013, John Szakmeister wrote:

            > On Fri, Feb 22, 2013 at 3:57 PM, Christian Brabandt <cblists@...> wrote:
            > [snip]
            > >> # set colorscheme however you like, just as long as there
            > >> # is an 'Error' highlight group.
            > >> vim -u NONE -U NONE -c 'set nocp' -c 'colorscheme elflord' file.txt \
            > >> -c "call matchadd('Error', '\%3l\%1c')"
            > >
            > > Looks like a redrawing problem. I think, the screen is not correctly
            > > updated, but when doing Ctrl-L it does instead update correctly.
            >
            > Is the next step to file a bug report? Sorry for the silly question,
            > but I'm still learning Vim's organization and community.

            It is probably in Bram's todo list already, but he hasn't pushed the
            runtime files yet to the public repository (at
            http://code.google.com/p/vim/source/browse/#hg%2Fruntime)

            If he does and you have updated your runtime files, you'll find it
            somewhere in :h todo.txt (but don't expect a fix soon, the list is
            huge).

            regards,
            Christian
            --
            Wie man sein Kind nicht nennen sollte:
            Jo Del

            --
            --
            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+unsubscribe@....
            For more options, visit https://groups.google.com/groups/opt_out.
          • Christian Brabandt
            ... This patch fixes it, but is probably wrong, since it makes screen redrawing much slower. diff --git a/src/screen.c b/src/screen.c ... +++ b/src/screen.c @@
            Message 5 of 6 , Feb 26, 2013
            • 0 Attachment
              On Di, 26 Feb 2013, Christian Brabandt wrote:

              > Hi John!
              >
              > On Di, 26 Feb 2013, John Szakmeister wrote:
              >
              > > On Fri, Feb 22, 2013 at 3:57 PM, Christian Brabandt <cblists@...> wrote:
              > > [snip]
              > > >> # set colorscheme however you like, just as long as there
              > > >> # is an 'Error' highlight group.
              > > >> vim -u NONE -U NONE -c 'set nocp' -c 'colorscheme elflord' file.txt \
              > > >> -c "call matchadd('Error', '\%3l\%1c')"
              > > >
              > > > Looks like a redrawing problem. I think, the screen is not correctly
              > > > updated, but when doing Ctrl-L it does instead update correctly.
              > >
              > > Is the next step to file a bug report? Sorry for the silly question,
              > > but I'm still learning Vim's organization and community.
              >
              > It is probably in Bram's todo list already, but he hasn't pushed the
              > runtime files yet to the public repository (at
              > http://code.google.com/p/vim/source/browse/#hg%2Fruntime)
              >
              > If he does and you have updated your runtime files, you'll find it
              > somewhere in :h todo.txt (but don't expect a fix soon, the list is
              > huge).

              This patch fixes it, but is probably wrong, since it makes screen
              redrawing much slower.

              diff --git a/src/screen.c b/src/screen.c
              --- a/src/screen.c
              +++ b/src/screen.c
              @@ -1623,6 +1623,9 @@
              #endif
              || idx >= wp->w_lines_valid
              || (row + wp->w_lines[idx].wl_size > bot_start)
              +#ifdef FEAT_SEARCH_EXTRA
              + || wp->w_match_head != NULL /* match list might need to be redrawn */
              +#endif
              || (mod_top != 0
              && (lnum == mod_top
              || (lnum >= mod_top


              regards,
              Christian
              --
              Die Dunkelheit gewisser Maximen ist nur relativ. Nicht alles
              ist dem Hörenden deutlich zu machen, was dem Ausübenden einleuchtet.
              -- Goethe, Maximen und Reflektionen, Nr. 1121

              --
              --
              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+unsubscribe@....
              For more options, visit https://groups.google.com/groups/opt_out.
            Your message has been successfully submitted and would be delivered to recipients shortly.