Escaping of escape symbols in the MetaData #2445
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #2426 and is ready for review.
Old discussion
Attempts to fix #2426.
Is not yet functional, since the issue goes somewhat deeper and affects LaTeX-encoding things in all MetaData, also groups. The problem is line 64 in MetaDataSerializer:
For every MetaData item, all special characters are quoted, including the quoting symbol (
\
). Thus, if there is a\
in the MetaData, it is quoted during serialization, resulting in\\
, which is read as such and requoted on the next serialization, resulting in\\\\
and so on.Unfortunately, unquoting the text during parsing and quoting it again during writing does not help, since a single
\
will simply be lost. E.g.: unquoting\"U
would result in"U
, which upon quoting anew would stay"U
.The same problem should occur for groups, if I am not mistaken.
I now have the following options to resolve the problem:
StringUtil.quote
to avoid quoting the quoting char (\
)I am afraid that changing
StringUtil.quote
has wider implications that I am not aware of., especially relating to groups Hence, there is a need for discussion.