- Multiple -- terminators are considered to be a single terminator followed
  by words that are not terminators. There can be only one!
This commit is contained in:
Paul Beckingham 2014-05-27 15:50:59 -04:00
parent 7f56187748
commit c5cf4de4a0
2 changed files with 3 additions and 2 deletions

View file

@ -263,7 +263,8 @@ void Parser::findTerminator ()
std::vector <Tree*>::iterator i;
for (i = _tree->_branches.begin (); i != _tree->_branches.end (); ++i)
{
if ((*i)->attribute ("raw") == "--")
if (!found &&
(*i)->attribute ("raw") == "--")
{
(*i)->unTag ("?");
(*i)->tag ("TERMINATOR");

View file

@ -45,7 +45,7 @@ if (open my $fh, '>', 'bug.rc')
# Bug #495 - double hyphen mishandled for annotations.
qx{../src/task rc:bug.rc add foo 2>&1};
qx{../src/task rc:bug.rc 1 annotate "This -- is -- a -- test" 2>&1};
qx{../src/task rc:bug.rc 1 annotate This -- is -- a -- test 2>&1};
my $output = qx{../src/task rc:bug.rc long 2>&1};
like ($output, qr/This is -- a -- test/, 'Double hyphens preserved, except the first ones.');