• Dridi Boukelmoune's avatar
    vav: Tighten arguments parsing · a2ab44de
    Dridi Boukelmoune authored
    Commas unlike spaces are hard separators, so a trailing comma leads to a
    last empty parameter.
    
    A comma may appear after an argument's "trailing" spaces and should not
    result in an additional parameter. In <foo  , bar> we should expect two
    fields, not three.
    
    Comments are only treated as such at arguments boundaries: <foo #bar>
    parses one field <foo> and <foo#bar> parses one field <foo#bar>, taking
    the shell word splitting as the model, cementing what was the existing
    VAV behavior in the first place.
    
    Unlike the shell, we don't expect quotes to start in the middle of a
    token so <foo"bar> is invalid unless escaping was disabled.
    
    Fields that are quoted need a separator: <"foo""bar"> is therefore
    invalid unless escaping was disabled.
    a2ab44de
vav.c 10.4 KB