- When ::findPlainArgs promotes a WORD to a PATTERN, it needs to move the FILTER
  tag down to the child nodes.
This commit is contained in:
Paul Beckingham 2014-08-17 16:04:50 -04:00
parent 37bf45b696
commit f9aa34cb67

View file

@ -1656,19 +1656,22 @@ void Parser::findPlainArgs ()
std::string canonical; std::string canonical;
if (! canonicalize (canonical, "attribute", raw)) if (! canonicalize (canonical, "attribute", raw))
{ {
// This tag also prevents further expanѕion. (*i)->unTag ("FILTER");
(*i)->tag ("PATTERN"); (*i)->tag ("PATTERN");
Tree* branch = (*i)->addBranch (new Tree ("argPat")); Tree* branch = (*i)->addBranch (new Tree ("argPat"));
branch->attribute ("raw", "description"); branch->attribute ("raw", "description");
branch->tag ("FILTER");
branch = (*i)->addBranch (new Tree ("argPat")); branch = (*i)->addBranch (new Tree ("argPat"));
branch->attribute ("raw", "~"); branch->attribute ("raw", "~");
branch->tag ("OP"); branch->tag ("OP");
branch->tag ("FILTER");
branch = (*i)->addBranch (new Tree ("argPat")); branch = (*i)->addBranch (new Tree ("argPat"));
branch->attribute ("raw", raw); branch->attribute ("raw", raw);
branch->tag ("STRING"); branch->tag ("STRING");
branch->tag ("FILTER");
action = true; action = true;
} }
} }