Subject: toggle-korean-input-method, Korean with Dvorak

From: "L.J. Lee" <[email-masked]>
Date: Fri, 28 Aug 2020 18:41:08 +0900

Hi, I hope this finds you well! I have recently started using Emacs and
wanted to alert you to a really bedevilling problem I had with Korean input
and input method toggling, how I solved it, and suggestions for improving
it.

Long story short, I use the 3-beol-sik final layout (designated as
korean-hangul3f on the emacs system) to type Korean and set it as my
default input method in
init.el.

I was  puzzled, however, that my Korean layout
reverted to the more common 2-beol-sik (korean-hangul) whenever I
pressed S-SPC. C-\ would work to switch my layout correctly, but
pressing S-SPC even once to toggle to Korean layout would change the
default layout to korean-hangul and necessitate a manual change back to
korean-hangul3f
using M-x set-input-method.

I found out through language-info-alist that S-SPC is
bound to toggle-korean-input-method, and used the function query to
track this function to korea-util.el under lisp/language.

As expected, the toggle-korean-input-method function set the
default input method to korean-hangul regardless of user settings, so I
redefined it from init.el to set the default-korean-keyboard as
korean-hangul3f. Here's the code I used:

(with-eval-after-load "language/korea-util"
(defun toggle-korean-input-method ()
"Turn on or off a Korean text input method for the current butter."
(interactive)
(if current-input-method
    (deactivate-input-method)
    (activate-input-method)
        (concat "korean-hangul3f" default-korean-keyboard)))))

This worked, but it took me a lot of time, frustration, and a crash course
on the
workings of Emacs. It seems to me the much more logical way for this
function to work is to look for any relevant user configurations
and setting the layout accordingly rather than statically setting the Korean
layout.

All this was after I had to redefine a different function because Korean
layouts were not compatible with Dvorak layout, which I solved with the
help of the patch  here: https://blog.jamzattack.xyz/emacs-hangul-input.html
Updating hangul.el as described there would solve the Dvorak-Korean
incompatibility.

I hope these suggestions will help in improving Emacs, which despite my
short usage and the problems I ran into is a great, versatile
program. Keep up the good work!

With regards,

L.J.