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

Pretty ugly bug in the new regex engine

Expand Messages
  • Ron Aaron
    Executing this regex: s#יְהוָה Z# hashem{}#eg On this text: וְיַעֲשׂוּ בְנֵי-יִשְׂרָאֵל אֶת-הַפָּסַח,
    Message 1 of 3 , May 23, 2013
    • 0 Attachment
      Executing this regex:

      s#יְהוָה\Z#\\hashem{}#eg

      On this text:

      וְיַעֲשׂוּ בְנֵי-יִשְׂרָאֵל אֶת-הַפָּסַח, בְּמוֹעֲדוֹ

      Gives this garbage:

      \hashem{}\hashem{}\hashem{}\hashem{}\hashem{}\hashem{}\hashem{}\hashem{}

      Instead of this :

      וְיַעֲשׂוּ בְנֵי־יִשְׂרָאֵל אֶת־הַפָּסַח, בְּמוֹעֲדוֹ

      (attaching this also as a file)

      --
      --
      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
      ... A simple search for the pattern appears to match everywhere, compare: / %#=0יְהוָה Z / %#=1יְהוָה Z -- ARTHUR: Be quiet! I order you to
      Message 2 of 3 , May 23, 2013
      • 0 Attachment
        Ron Aaron wrote:

        > Executing this regex:
        >
        > s#יְהוָה\Z#\\hashem{}#eg
        >
        > On this text:
        >
        > וְיַעֲשׂוּ בְנֵי-יִשְׂרָאֵל אֶת-הַפָּסַח, בְּמוֹעֲדוֹ
        >
        > Gives this garbage:
        >
        > \hashem{}\hashem{}\hashem{}\hashem{}\hashem{}\hashem{}\hashem{}\hashem{}
        >
        > Instead of this :
        >
        > וְיַעֲשׂוּ בְנֵי־יִשְׂרָאֵל אֶת־הַפָּסַח, בְּמוֹעֲדוֹ
        >
        >
        > (Attaching this as a file in case the UTF8 is messed up in transit)

        A simple search for the pattern appears to match everywhere, compare:

        /\%#=0יְהוָה\Z
        /\%#=1יְהוָה\Z

        --
        ARTHUR: Be quiet! I order you to shut up.
        OLD WOMAN: Order, eh -- who does he think he is?
        ARTHUR: I am your king!
        OLD WOMAN: Well, I didn't vote for you.
        "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

        /// 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.
      • Christian Brabandt
        Hi Bram! ... That seems to be the same bug, Marc reported: ,---- ... `---- which simpler written: echo matchlist( 1 , %#=1Ä Z ) echo matchlist( 1 ,
        Message 3 of 3 , May 23, 2013
        • 0 Attachment
          Hi Bram!

          On Do, 23 Mai 2013, Bram Moolenaar wrote:

          >
          > Ron Aaron wrote:
          >
          > > Executing this regex:
          > >
          > > s#יְהוָה\Z#\\hashem{}#eg
          > >
          > > On this text:
          > >
          > > וְיַעֲשׂוּ בְנֵי-יִשְׂרָאֵל אֶת-הַפָּסַח, בְּמוֹעֲדוֹ
          > >
          > > Gives this garbage:
          > >
          > > \hashem{}\hashem{}\hashem{}\hashem{}\hashem{}\hashem{}\hashem{}\hashem{}
          > >
          > > Instead of this :
          > >
          > > וְיַעֲשׂוּ בְנֵי־יִשְׂרָאֵל אֶת־הַפָּסַח, בְּמוֹעֲדוֹ
          > >
          > >
          > > (Attaching this as a file in case the UTF8 is messed up in transit)
          >
          > A simple search for the pattern appears to match everywhere, compare:
          >
          > /\%#=0יְהוָה\Z
          > /\%#=1יְהוָה\Z
          >

          That seems to be the same bug, Marc reported:
          ,----
          | Multi-byte problem? Marc Weber
          | echo matchlist('1', '\%#=1\o{\?Ä\Z')
          | echo matchlist('1', '\%#=2\o{\?Ä\Z')
          `----

          which simpler written:
          echo matchlist('1', '\%#=1Ä\Z')
          echo matchlist('1', '\%#=2Ä\Z')

          (sorry, no patch yet)

          regards,
          Christian
          --
          Aus Murphy's Gesetze:
          Das beste, um beim Schreiben neue Gedanken auszulösen, ist, den Brief
          zuzukleben.

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