Hi Collin, > - # List of characters allowed in shell identifiers. > - shell_id_chars: ClassVar[str] = > 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_' > + # Regular expression matching module names that can be used as shell ids. > + shell_id_pattern: ClassVar[re.Pattern] = re.compile(r'^\w*$')
But that's not the same thing: The previous code made sure that module names with non-ASCII characters use the MD5 hash code. The new code does not: >>> re.match(re.compile(r'^[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*$'),'abcäöü') >>> re.match(re.compile(r'^\w*$'),'abcäöü') <re.Match object; span=(0, 6), match='abcäöü'> If someone ever uses module names with non-ASCII characters, we do *not* want to pass these characters into shell variable names. Bruno