[Macemacsjp-users 1701] Re: System Preferences の Language に応じて IME を決定するパッチ

Back to archive index

Taiichi Hashimoto taiic****@mac*****
2011年 9月 29日 (木) 17:59:39 JST


三代川さん


橋本です.

パッチを拝見しました.
いいですね.追加しておきます.

- taiichi

On 2011/09/29, at 17:50, MIYOKAWA, Nobuyoshi wrote:

>  こんにちは、三代川と申します。
> 
>  Cocoa Emacs の IME inline patch を利用させて頂いています。
> 有益なパッチ、どうも有難うございます。
> 
>  IME inline patch で定義されている mac-toggle-input-source
> 関数ですが、NSLocale の currentLocale を取得し、IME を決定し
> ていると思います。
> 
>  私は en_US で MacOS X 10.6 / 10.7 のインストールを行ない、
> System Preferences の Language で Japanese を設定して利用して
> いるのですが、Locale が en_US だと判断され、IME を有効にする
> ことが出来ません。
> 
>  そこで NSLocale の preferredLanguages を参照して IME を決定
> するパッチを作ってみました。これにより System Preferences の
> Language 変更に追随して IME が決定されるようになりました。
> 
>  svn r573 の emacs-inline.patch を当てた状態の macim.m へ対
> するパッチを添付します。
> 
>  宜しくお願い致します。
> 
> ---- ここから ---- ここから ---- ここから 
> diff --git a/src/macim.m b/src/macim.m
> index d4444db..515cf25 100644
> --- a/src/macim.m
> +++ b/src/macim.m
> @@ -100,7 +100,14 @@ DEFUN ("mac-toggle-input-source", Fmac_toggle_input_source,
>     }
>   else
>     {
> -      NSString *locale = [[NSLocale currentLocale] localeIdentifier];
> +      NSString *locale;
> +      NSArray *languages = [NSLocale preferredLanguages];
> +      if (languages != nil) {
> +          locale = [languages objectAtIndex:0];
> +      } else {
> +          locale = [[NSLocale currentLocale]
> +                       objectForKey:NSLocaleLanguageCode];
> +      }
>       is = TISCopyInputSourceForLanguage(locale);
>     }
>   if (is) TISSelectInputSource(is);
> ---- ここまで ---- ここまで ---- ここまで 
> --
> MIYOKAWA, Nobuyoshi
> 
> _______________________________________________
> Macemacsjp-users mailing list
> Macem****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/macemacsjp-users




Macemacsjp-users メーリングリストの案内
Back to archive index