Other stuff was broken too, but immediately fixed in 21a21f04ed5136904fc7855110dd0fe1ec0822b6.
The issue with emojis is that the lookahead ':' needs to be consumed if it is a successful emoji match, but otherwise it needs to be given back. This means a simple regex pass isn't enough to handle this correctly, and requires a custom loop to be written. (The performance isn't affected by this, just code complexity.)
Other stuff was broken too, but immediately fixed in 21a21f04ed5136904fc7855110dd0fe1ec0822b6.
The issue with emojis is that the lookahead
':'
needs to be consumed if it is a successful emoji match, but otherwise it needs to be given back. This means a simple regex pass isn't enough to handle this correctly, and requires a custom loop to be written. (The performance isn't affected by this, just code complexity.)