[Rd] Regression in 4.2.0: unable to type special characters in Windows RGui
cvoeten @end|ng |rom gm@||@com
Mon May 9 19:44:08 CEST 2022
On 09-05-2022 at 10:23, Tomas Kalibera wrote:
> On 5/7/22 15:14, Cesko Voeten wrote:
>> Since upgrading to 4.2.0, I can't type special characters in RGui anymore. Specifically affected are at least "'~^ which, on my US-International keyboard layout, all rely on dead keys. This was not a problem in R <= 4.1.3, although I can't say whether the reason is any change in R itself, or the fact that 4.2.0 is the first version built against ucrt. OS is an up-to-date Windows 10, language is Dutch. I tried toggling the 'experimental' Unicode support in Windows's Country & Region settings, but it makes no difference. Is this a known regression?
> Thanks, could you please try the latest R-patched snapshot build and test it there? If there is still any problem, please report.
No problem, happy to test! First of all, I'm happy to say it works and I can type deadkey characters again, but there are some issues and discrepancies compared to other Windows apps:
- Some accents don't work. For instance, pressing 'a produces ã, but pressing 'a produces 'a rather than á. From my testing, `^~ seem to work as expected, but '" don't.
- Nonexistent deadkey combinations are handled differently from native Windows. For example, typing ~^ should output ~^, but produces nothing. Typing ~^a should output ~^a, but actually yields ~â. So it seems that the first ~ is correctly translated to the tilde symbol, but simultaneously the second ^ is being treated as a new deadkey press, which other Windows programs don't do in this case.
- Related to the above two issues, '& should produce '&, while it only gives &. This again affects only '" --- something like ^& correctly produces ^&.
Also, I'm noticing only now that selecting typed text in RGui and pressing Ctrl deletes that text, so trying to Ctrl+C text that I typed is kind of awkward. But this might simply be a feature that I wasn't aware of before.
Thanks for your efforts! I hope these observations help.
> I've fixed handling of the dead keys in Rgui/GraphApp last week. It was a long standing bug (lack of support) in GraphApp Unicode windows, which are used when R is running in a multi-byte locale. As R 4.2 switched to UTF-8, this code path started to be used on systems where it wasn't before, but sadly this hasn't been discovered by testing before the release.
> Technically, there were two bugs: one that dead keys could not be printed in non-combining form in principle, and another that some accents were not recognized. The former should be fixed fully. For the latter, I've added support for a number of accent keys and I can add more if needed (and if there is anyone who can test that).
> Please test, in principle, there may be also other issues in the Unicode windows not reported before, and it would be nice to get these things fixed at least for R 4.1.
>> Cesko Voeten
>> R-devel using r-project.org mailing list
More information about the R-devel