Character values are now passed as "raw" strings to Python
In particular this avoids triggering an error in Python 3.12 when creating a string with escapes not supported by Python e.g. default = "\\D" will continue to return a default value of "\\D" instead of triggering an error.
However, this also means that any Python accepted escape sequences will no longer be interpreted as an escape sequence. If relying on such behaviour you may need to instead use the appropriate R escape sequences or Unicode values instead of Python escape sequences:
E.g. default = "\\t" will now return a default value of "\\t" (a t preceded by an (escaped) backslash) instead of "\t" (a horizontal tab).
Character values are now passed as "raw" strings to Python
In particular this avoids triggering an error in Python 3.12 when creating a string with escapes not supported by Python e.g.
default = "\\D"
will continue to return a default value of"\\D"
instead of triggering an error.However, this also means that any Python accepted escape sequences will no longer be interpreted as an escape sequence. If relying on such behaviour you may need to instead use the appropriate R escape sequences or Unicode values instead of Python escape sequences:
E.g.
default = "\\t"
will now return a default value of"\\t"
(at
preceded by an (escaped) backslash) instead of"\t"
(a horizontal tab).https://docs.python.org/3/reference/lexical_analysis.html#escape-sequences
https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block)
Thanks Matthew Hall (@mdhall272) for bug report.
closes #51