Patrick R. Michaud wrote:
Whitespace in regexes and rules is metasyntactic, in that it is
not matched literally. Effectively what the :w (or :words or
:skip) option does it to change the metasyntactic meaning of
any whitespace found in the regex. Or, another way of thinking
of it -- as S05 currently stands, 'regex' and 'token' cause
the pattern whitespace to be treated as <?null>, while 'rule'
causes the pattern whitespace to become <?ws>.
So what we're really doing with this option--whatever we
call it--is to specify what the whitespace _in the pattern_
should match. Somehow ":skip" and <?skip> don't carry that
meaning for me.
In some sense it seems to me that the correct adverb is
more along the lines of :ws, :white, or :whitespace, in that
it says what to do with the whitespace in the pattern. It
doesn't have to say anything about whether the pattern's
whitespace is actually matching \s* (although the default
rule for :ws/:white/:whitespace could certainly provide that
semantic).
I can fully see the argument that people will still
confuse :ws and <?ws> with "whitespace in the target",
when in reality they specify the meaning of whitespace
in the regex pattern, so :ws might not be the right choice
for the adverb. But I think that something more closely
meaning "whitespace in the pattern means /this/" would be a
better adverb than :skip.
Technically, true. But understanding that requires a deep understanding
of what's happening in the grammar. With 'skip' all the average user
needs to understand is "I'm telling the grammar to ignore these things".
As a side note, trying to talk about both whitespace as literal thing
that is matched and whitespace as a metasyntactic thing that is ignored
requires a great deal of circumlocution, which is often a good trigger
for language change to use a different word for one thing or the other.
Allison