diff --git a/src/CLI.cpp b/src/CLI.cpp
index 6d0cc8d34..b848b96a6 100644
--- a/src/CLI.cpp
+++ b/src/CLI.cpp
@@ -744,6 +744,7 @@ bool CLI::exactMatch (
// -tag --> tags _notag_ tag
void CLI::desugarTags ()
{
+ bool changes = false;
std::vector reconstructed;
std::vector ::iterator a;
for (a = _args.begin (); a != _args.end (); ++a)
@@ -773,6 +774,8 @@ void CLI::desugarTags ()
right.tag ("LITERAL");
right.tag ("FILTER");
reconstructed.push_back (right);
+
+ changes = true;
}
else
reconstructed.push_back (*a);
@@ -781,7 +784,13 @@ void CLI::desugarTags ()
reconstructed.push_back (*a);
}
- _args = reconstructed;
+ if (changes)
+ {
+ _args = reconstructed;
+
+ if (context.config.getInteger ("debug.parser") >= 3)
+ context.debug (context.cli.dump ("CLI::analyze desugarTags"));
+ }
}
////////////////////////////////////////////////////////////////////////////////