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

Re: [] inside \%[] doesn't work with new regex engine.

Expand Messages
  • Bram Moolenaar
    ... Thanks for reporting this. The %[] item didn t support nesting at all. Fortunately it s easy to fix. And then it will support anything (unlike the old
    Message 1 of 4 , Jun 17, 2013
    • 0 Attachment
      Yukihiro Nakadaira wrote:

      > [] inside \%[] doesn't work with new regex engine.
      >
      > Steps to reproduce:
      > $ vim -u NONE
      > :echo match('a', '\%#=1\%[[a]]')
      > 0
      > :echo match('a', '\%#=2\%[[a]]')
      > INTERNAL: Negative state char: -165
      > INTERNAL: Negative state char: -165
      > -1

      Thanks for reporting this.

      The \%[] item didn't support nesting at all. Fortunately it's easy to
      fix. And then it will support anything (unlike the old engine).

      --
      "Marriage is a wonderful institution...
      but who wants to live in an institution?"
      - Groucho Marx

      /// Bram Moolenaar -- Bram@... -- 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+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • Andy Wokula
      ... Literal `] inside ` %[...] required escaping as `[]] . Is this still the case? Escaping as ` ] would be nice. -- Andy -- -- You received this message
      Message 2 of 4 , Jun 17, 2013
      • 0 Attachment
        Am 17.06.2013 21:33, schrieb Bram Moolenaar:
        >
        > Yukihiro Nakadaira wrote:
        >
        >> [] inside \%[] doesn't work with new regex engine.
        >>
        >> Steps to reproduce:
        >> $ vim -u NONE
        >> :echo match('a', '\%#=1\%[[a]]')
        >> 0
        >> :echo match('a', '\%#=2\%[[a]]')
        >> INTERNAL: Negative state char: -165
        >> INTERNAL: Negative state char: -165
        >> -1
        >
        > Thanks for reporting this.
        >
        > The \%[] item didn't support nesting at all. Fortunately it's easy to
        > fix. And then it will support anything (unlike the old engine).

        Literal `]' inside `\%[...]' required escaping as `[]]'.
        Is this still the case?
        Escaping as `\]' would be nice.

        --
        Andy

        --
        --
        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.
      • Bram Moolenaar
        ... Yep. I should add a test for that. ... Well, then it would be incompatible with the old engine. Putting a character inside [] for escaping is actually
        Message 3 of 4 , Jun 17, 2013
        • 0 Attachment
          Andy Wokula wrote:

          > Am 17.06.2013 21:33, schrieb Bram Moolenaar:
          > >
          > > Yukihiro Nakadaira wrote:
          > >
          > >> [] inside \%[] doesn't work with new regex engine.
          > >>
          > >> Steps to reproduce:
          > >> $ vim -u NONE
          > >> :echo match('a', '\%#=1\%[[a]]')
          > >> 0
          > >> :echo match('a', '\%#=2\%[[a]]')
          > >> INTERNAL: Negative state char: -165
          > >> INTERNAL: Negative state char: -165
          > >> -1
          > >
          > > Thanks for reporting this.
          > >
          > > The \%[] item didn't support nesting at all. Fortunately it's easy to
          > > fix. And then it will support anything (unlike the old engine).
          >
          > Literal `]' inside `\%[...]' required escaping as `[]]'.
          > Is this still the case?

          Yep. I should add a test for that.

          > Escaping as `\]' would be nice.

          Well, then it would be incompatible with the old engine. Putting
          a character inside [] for escaping is actually more consistent than
          using a backslash.

          --
          "Marriage is the process of finding out what kind of man your wife
          would have preferred"

          /// Bram Moolenaar -- Bram@... -- 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+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.