define TEST2 [ a
! test
|
# test2
b ! t
! test3
| c # test4
];
(That is, TEST2 is equivalent to a|b|c.)
But this doesn't:
define TEST3(x) [ a
! test
|
# test2
b ! t
! test3
| c # test4
];
The issue seems to be that interface.l is parsing the latter with <FUNC_4> instead of <REGEX>, and <FUNC_4> is missing the lines which recognize and remove embedded comments. I think this should fix the problem:
This works as you'd expect:
(That is, TEST2 is equivalent to
a|b|c
.) But this doesn't:The issue seems to be that
interface.l
is parsing the latter with<FUNC_4>
instead of<REGEX>
, and<FUNC_4>
is missing the lines which recognize and remove embedded comments. I think this should fix the problem: