Hi, I'm trying to define concise biblatex-style citation macros for a custom bibliographic style specification with support for intelligent placement of trailing punctuation, and I've encountered an unusual error. If I try to define the macros within the btxrenderingdefinitions environment, then the code for handling trailing punctuation with the \doifinstring and \doifnotinstring macros fails in some cases. Specifically, it correctly detects when the trailing punctuation is a period, comma, or semicolon, but not when it is a colon, exclamation point, or question mark. The following MWE reproduces the error: ``` \startbtxrenderingdefinitions[myspec] \def\autopuncttest#1#2{% \removeunwantedspaces% \doifinstring{#2}{,.!?;:}{#2}% \footnote{#1}% \doifnotinstring{#2}{,.!?;:}{#2}% } \stopbtxrenderingdefinitions \usebtxdefinitions[myspec] \starttext This works \autopuncttest{Footnote 1}, as does this \autopuncttest{Footnote 2}; and so does this \autopuncttest{Footnote 3}.\blank But this one fails if defined in the bib spec \autopuncttest{Footnote 4}!\blank And why does this one fail in the bib spec too \autopuncttest{Footnote 5}?\blank \stoptext ``` Everything works as expected if the macro definition is outside of the btxrenderingdefinitions environment. But within the environment, do certain punctuation marks need to be escaped in the second argument of \doifinstring? Or is this a bug? Joey