Yakov Lerner wrote:

> On 8/9/06, Bram Moolenaar <[EMAIL PROTECTED]> wrote:

Actually, this text was written by by Yakov.  I replied to that.

> > > I'm going to fix the <f-args> bug mentioned in the todo
> > > (because I got bitten by it). I made a testcase (it's below), here is the
> > > table:
> > >
> > > Testcase                 Current          Expected
> > > --------------------------------------------------------------
> > > XX a\\ b    bug:   1 arg('a\ b')       Expected 2 args('a\','b') ?
> > > XX a\\  b   bug:   2 args('a\ ','b')   Expected 2 args('a\','b') ?
> > >
> > > Do you agree with the 'Expected' part that I propose ?
> > > It is tricky when to translate \\ into \\, and when to translate \\
> > > into \. If we do not translate '\\ ' into '\'+arg-break, then we cannot
> > > represent the argument which ends with single backslash.  Do you agree
> > > with translating '\\ ' into '\'+arg break ?
> >
> > Looks OK with me.  Basic idea is that "\\" is handled like a backslash,
> > and "\ " is a space that doesn't separate arguments, right?  Trying to
> > write the docs that explains this may help deciding what the simple rule
> > is.  But we should also try to keep it mostly backwards compatible.
> >
> > > " the testcase
> > > " XX \\         works, 2 args ('\\')
> >
> > It would be a lot simpler if the result could be '\'.  But that's not
> > backwards compatible.  Perhaps you can ask on the Vim maillist if
> > someone would have a problem with this change.
> >
> > > " XX a b        works, 2 args ('a','b')
> > > " XX a\ b       works, 1 arg ('a b')
> > > " XX a\\b              1 arg ('a\\b')       Shall it be 1 arg('a\b') ?
> >
> > Making this 'a\b' is more straightforward, but again not backwards
> > compatible.
> >
> > > " XX a\\ b      bug:   1 arg('a\ b')         Expected 2 args('a\','b')
> > > " XX a\\  b     bug:   2 args ('a\ ','b').   Expected 2 args('a\','b')
> >
> > Right.  This also shows that '\\' can be passed on as '\', thus the
> > backwards compatibility problem isn't that big.
> 
> 
> > It would be a lot simpler if the result could be '\'.  But that's not
> > backwards compatible.  Perhaps you can ask on the Vim maillist if
> > someone would have a problem with this change.
> 
> I have problem with this change; and that's not because of
> backward-compatibility, but
> because in my plugin (helpwords), arguments are regular expressions.
> It feels very
> awkward to duplicate every \ in regexp, because \ are very common in regexps.
> To type \\(foo\\|bar\\) ? Oh my god. That breaks my intuitition for
> typing and seeing regexps.
> 
> What do you think about adding another, new form <ff-args> (?) that changes
> every  \\ to \, whereas <f-args> leaves \ as \ and \\ as \\ (except
> before whitespace) ?
> 
> On mailing list 
> (http://marc.theaimsgroup.com/?l=vim-dev&m=115524231924245&w=2),
> two people voted for always relpacing \\ with \.
> 
> But I don't like it.
> 
> What do you say about having two forms <f-args> and <ff-args> (spelling?),
> one of which is backward-compatible (\\->\\) and new form is \\->\ ?
> If you agree,
> is <ff-args> spelling ok ?

I don't like adding yet another form and leaving <f-args> broken.

I don't understand your reason anyway.  The idea was that only "\\" and
"\ " are special, right?  Thus "a\b" remains "a\b".

        command         new <f-args>            old <f-args>
        XX ab           ab                      ab
        XX a\b          a\b                     a\b
        XX a\ b         a b                     a b
        XX a\\b         a\b                     a\\b
        XX a\\ b        a\      b               a\ b
        XX a\\\b        a\\b                    a\\\b
        XX a\\\ b       a\ b                    a\\ b
        XX a\\\\b       a\\b                    a\\\\b
        XX a\\\\ b      a\\     b               a\\\\ b

-- 
Clothes make the man.  Naked people have little or no influence on society.
                               -- Mark Twain (Samuel Clemens) (1835-1910)

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Reply via email to