- 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; std::vector <Tree*>::iterator i;
for (i = _tree->_branches.begin (); i != _tree->_branches.end (); ++i) for (i = _tree->_branches.begin (); i != _tree->_branches.end (); ++i)
{ {
if ((*i)->attribute ("raw") == "--") if (!found &&
(*i)->attribute ("raw") == "--")
{ {
(*i)->unTag ("?"); (*i)->unTag ("?");
(*i)->tag ("TERMINATOR"); (*i)->tag ("TERMINATOR");

View file

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