You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems that segment naming rules are different for different record types and contradict with each other.
E.g.:
For S lines we're having the following regexp: [!-)+-<>-~][!-~]*, and W lines refer to segments in walk as ([><][!-;=?-~]+)+.
As a result, it is possible to have segments with < and > in names, that would be render walks over them ambiguous to parse.
In addition to this, since segment names are allowed to have + and - in them, the parsing of path lines is context-dependent – parsing of orientation in general requires infinite lookahead, as only seeing ',' or ';' allows one to disambiguate orientation from segment name.
Given that - are pretty common used in segment names in the wild, the second issue would likely remain spec defect forever. As for the first issue, I'd suggest to refine regexps for segment names to disallow < and > in them.
The text was updated successfully, but these errors were encountered:
It seems that segment naming rules are different for different record types and contradict with each other.
E.g.:
For
S
lines we're having the following regexp:[!-)+-<>-~][!-~]*
, andW
lines refer to segments in walk as([><][!-;=?-~]+)+
.As a result, it is possible to have segments with
<
and>
in names, that would be render walks over them ambiguous to parse.In addition to this, since segment names are allowed to have
+
and-
in them, the parsing of path lines is context-dependent – parsing of orientation in general requires infinite lookahead, as only seeing ',' or ';' allows one to disambiguate orientation from segment name.Given that
-
are pretty common used in segment names in the wild, the second issue would likely remain spec defect forever. As for the first issue, I'd suggest to refine regexps for segment names to disallow<
and>
in them.The text was updated successfully, but these errors were encountered: