Fix parsing of absolute list-ending paths

When parsing an absolute path, the grammar first clears m_curPath in
absolutePath_class, and then tries to parse nodes separated by slashes.
Due to how list-ending paths are a little bit more complex, these nodes
are parsed in a separate rule called dataNodesListEnd. This rule
incorrectly used initializePath to reset the m_curPath to the original
one (which basically means undoing what absolutePath_class does).

dataNodesListEnd doesn't reset the path anymore.

Change-Id: If617b697f37b25a15521cb947919c6ac9b6c81bd
diff --git a/src/grammars.hpp b/src/grammars.hpp
index de00a8b..871d3c0 100644
--- a/src/grammars.hpp
+++ b/src/grammars.hpp
@@ -197,8 +197,8 @@
 // Spirit wouldn't know we want it to collapse.
 // https://github.com/boostorg/spirit/issues/408
 auto const dataNodesListEnd_def =
-    initializePath >> dataNode % '/' >> '/' >> dataNodeList >> -(&char_('/') >> createPathSuggestions) |
-    initializePath >> x3::attr(decltype(dataPath_::m_nodes)()) >> dataNodeList;
+    dataNode % '/' >> '/' >> dataNodeList >> -(&char_('/') >> createPathSuggestions) |
+    x3::attr(decltype(dataPath_::m_nodes)()) >> dataNodeList;
 
 auto const dataPathListEnd_def =
     initializePath >> absoluteStart >> createPathSuggestions >> x3::attr(decltype(dataPath_::m_nodes)()) >> x3::attr(TrailingSlash::NonPresent) >> x3::eoi |