From cvoeten @end|ng |rom gm@||@com  Mon May  9 19:44:08 2022
From: cvoeten @end|ng |rom gm@||@com (Cesko Voeten)
Date: Mon, 9 May 2022 19:44:08 +0200
Subject: [Rd] Regression in 4.2.0: unable to type special characters in
 Windows RGui
In-Reply-To: <a44a69d2-987e-b2a9-2559-acc810ebc17e@gmail.com>
References: <027b1c8f-c479-e269-4824-2c1ff0507e4a@gmail.com>
 <a44a69d2-987e-b2a9-2559-acc810ebc17e@gmail.com>
Message-ID: <5d91c1ac-b6e2-e446-5e23-8430514ddfb8@gmail.com>

Hi Tomas,

On 09-05-2022 at 10:23, Tomas Kalibera wrote:
> 
> On 5/7/22 15:14, Cesko Voeten wrote:
>> Hi,
>>
>> 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.

Cesko

> 
> 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.
> 
> Thanks
> Tomas
> 
> 
> 
> 
> 
>>
>> Cesko Voeten
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] Regression in 4.2.0: unable to type special characters in Windows RGui
Cesko Voeten