I want Vim defaults to be
- sane
- follow the principle of least surprise.
(I'd like nocompatible to be set by default, but that's another story)

Christian: :set cpo+=l still makes my test cases fail:
  [1] echo len(matchstr("\n",'\zs[^\n]\ze'))
  [2] echo len(matchstr("\n","\\zs[^\n]\\ze")

You explained it by \n not being chr(10), so what is it?

Let's try by understanding \n's behaviour:
==========================================

case 1) vim buf
    To my undestanding $ matches end of line (in a vim buffer) without eating 
that
    end of line whereas \n does both: it matches and eats the end of line.
    Eg try /..\n.. and :set hlsearch

    Thus \n is the same as $\n when applying regex to vim buffers. dos 1310 
usually
    is encoded in a ff setting, so \n does what you want if you want it.

case 2) matchstr, matchall, substitute =~ and whatnot (?)

    So if \n is not chr(10), what is it then in this case?

      echo len(matchstr("\n",'\zs[^\n]\ze'))

    clearly indicates it matches \n and and I agree on Erik which called it 
this way

      Sorry, [^\n] can never match \n ; not even in pink. That is broken
      behaviour.

So from this point of view I'd say \n behavior is broken when regex get applied
to strings only (which your patch is supposed to fix - I'll test it
later)

Is there more to fix?
=====================

issue 1)

  docs state:
    []  (with 'nomagic': \[])           */[]* */\[]* */\_[]* */collection*
    \_[]

  Well - try /[] - it will not be treated as collection, it'll match [], because
  its empty!! So there should be a comment that collections must contain at 
least
  one char to be seen as one.

issue 2)
  With "\_" prepended the collection also includes the end-of-line - why does 
it exist, because
  [\n] is accepted and works as expected?

  So can \_[] syntax be deprecated?


Marc Weber

-- 
-- 
You received this message from the "vim_use" 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_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_use+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to