unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "L.J. Lee" <lj.is.writing@gmail.com>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: 43084@debbugs.gnu.org
Subject: bug#43084: toggle-korean-input-method, Korean with Dvorak
Date: Fri, 29 Jan 2021 13:54:52 +0900	[thread overview]
Message-ID: <877dnwz6jn.fsf@gmail.com> (raw)
In-Reply-To: <87sg6m99dw.fsf@gnus.org>


Lars Ingebrigtsen writes:

> "L.J. Lee" <lj.is.writing@gmail.com> writes:
>
>> 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)))))
>
> I don't use the Korean input methods, so this is totally uninformed --
> but looking at the code, your alteration seems to be the same as putting
>
> (setq default-korean-keyboard "3f")
>
> in your init file?
>
> In which case configuring this is already supported in Emacs.

It doesn't, actually--your suggested method was what I tried at first,
because it's the normal way to do things.
However, my setting didn't survive the first time I tried to
switch between Korean and English using S-SPC because doing so triggered
toggle-korean-input-method, which overrode my default-korean-keyboard
setting (korean-hangul3f) and reset it to korean-hangul instead.

Long story short, the toggle-korean-input-method is written to
override user settings which is just Bad Code and should be changed.

(Most Korean keyboard users wouldn't even notice, by the way, because
most use korean-hangul and korean-hangul3f is a minority layout.
It's probably why this error survived so long.)

Regards,
-- 
L.J. Lee
Mastodon account: https://rage.love/@ljwrites
Dreamwidth blog: https://lj_writes.dreamwidth.org





  reply	other threads:[~2021-01-29  4:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-28  9:41 bug#43084: toggle-korean-input-method, Korean with Dvorak L.J. Lee
2020-08-28 13:04 ` 황병희
2021-01-27  6:33 ` Lars Ingebrigtsen
2021-01-29  4:54   ` L.J. Lee [this message]
2021-01-29  5:08     ` Lars Ingebrigtsen
     [not found]       ` <87pn1my3fp.fsf@gmail.com>
2021-01-31  7:13         ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877dnwz6jn.fsf@gmail.com \
    --to=lj.is.writing@gmail.com \
    --cc=43084@debbugs.gnu.org \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).