Subject: 27.2, 28.2, 29.2; Quail-based Japanese conversion error

From: Lloyd Zusman <[email-masked]>
Date: Thu, 07 Sep 2023 23:49:57 -0400

The following error that I am reporting appears in emacs-27.2, emacs-28.2, and emacs-29.2.

This question is written under the assumption that the reader is familiar with Quail and with Japanese syllabary.

When using (set-language-environment "Japanese") and (set-input-method "japanese") with Quail, when we type romaji, the displayed text is correctly converted to hiragana. If we want to convert the hiragana to katakana, we just follow the hiragana with "K", and the text display is correctly toggled to katakana. Typing "K" again will correctly toggle back to hiragana.

In most cases, this indeed works correctly. For example, typing "hoteru" correctly yields the hiragana "ほてる", and then following that with "K" switches it correctly to the katakana "ホテル". And then following that again with "K" correctly toggles it back to "ほてる".

However, when the word contains an embedded hyphen, the "K" toggling does not work properly.

For example, typing "ko-to" correctly yields the hiragana "こーと", and then typing "K" correctly converts it to the katakana "コート". But then, if I type "K" again, the word does not get converted back to hiragana, and the katakana form remains.

This erroneous behavior occurs with all katakana text which contains one or more embedded hyphens. The existence of a hyphen anywhere in the text prevents that text from being toggled from katakana to hiragana when "K" is typed.

Can anyone suggest a way that this incorrect behavior can be fixed?

Thank you in advance.

-- 
 Lloyd Zusman
 [email-masked]

    .---------, 0__0
   /           (  oo'---,
  /                    oo\
 ,\                      |
 | \                ,=__/
    \              /
    /  /------|  /|
    |__|-'    |__|'