[Macemacsjp-users 1698] Re: CarbonEmacsとCocoaEmacsのIMEへの挙動の違い

Back to archive index

Taiichi Hashimoto taiic****@mac*****
2011年 8月 1日 (月) 00:52:43 JST


橋本です。


応急的な対応をしました。
キーバインドの指定が若干違和感がありますが、
機能としては問題ないと思いますので試してみてください。

よろしくお願いします。

1. 添付のパッチを emacs-inline.patch の代わりに当てる
2. .emacs.el (もしくは .emacs.d/init.el) に
   ***JISキーボードの場合***
   (mac-add-key-passed-to-system '(control shift ?J)) ;; ひらがな
   (mac-add-key-passed-to-system '(control shift ?+)) ;; 英字
   を加える


?J や ?+ はキーボードにあわせて、変更してください。
将来的にはちゃんと対応しますので、よろしくお願いいたします。

- taiichi

-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: emacs-inline.patch
型:         application/octet-stream
サイズ:     38524 バイト
説明:       無し
下载 
-------------- next part --------------




On 2011/07/30, at 12:35, Taiichi Hashimoto wrote:

> 橋本です。
> 
> 現象を確認しました。
> 
> CarbonEmacs から CocoaEmacs になってキーバインドの優先度が
> OSよりもEmacsの方が高くなるように変更されてしまったため、
> 起きている現象です。どんなキーバインドでも先に CocoaEmacs が
> 処理しようとしてしまいます。
> 
> 現状でも対応できるのですが、少し副作用(モード切り替え後、
> キー入力が限定されるなど)が大きいので、対策を検討します。
> 
> ちょっと待ってください。たぶん、明日の夜ぐらいにはなんとかなると思います。
> 
> - taiichi
> 
> On 2011/07/30, at 8:35, Masahiro KYUSHIMA wrote:
> 
>> こんにちは。CarbonEmacsとCocoaEmacsのIMEへの挙動の違いについて教えてください。
>> 
>> 最近までCarbonEmacsを使い続けてきましたが、MacOSが10.7 Lionになるのを期にCocoaEmacsに乗り換えることにしました。Emacs23をinline_patch-23.2-beta3.tar.gzを当ててソースからコンパイルして、問題なく動作しています。が、IMEに対する挙動が少し異なっており、ちょっと面倒くさいので、可能ならそれを修正したいのです。
>> 
>> ◎現況
>> ・CarbonEmacsではC-Shift-j(C-J)で日本語に、C-Shift-' (C-")で英数に切り替えていた。
>> ・CocoaEmacsではC-Shift-jはリターン(newline?)として改行され、C-Shift-'は「C-" is undefined」とはじかれてしまう。
>> ◎したいこと
>> ・CarbonEmacsではC-Shift-j(C-J)で日本語に、C-Shift-' (C-")で英数に切り替えたい。
>> 
>> このキーバインドがどこからきたか覚えていませんが、CarbonEmacsではことえりも、今使っているかわせみもこれで日本語・英語を切り替えられます。現況のEmacs23ではCmd-Spaceで切り替えていますが、これはトグルなので、現在が日本語か英語か、目線を動かして確かめないといけないのが面倒なのです。C-Shift-j(C-J)・C-Shift-' (C-")ならば日英どちらかに明示的に指定できるのでうれしいのです。
>> 
>> ======CarbonEmacs時代のemacs.el(以前のゴミも残っていますが、とりあえずas isで)
>> ;(line-number-mode 1)
>> ;(column-number-mode 1)
>> ;;C-h issue
>> ;(load "keyswap")
>> (keyboard-translate ?\C-h ?\C-?)
>> ;
>> ;color of the status bar to mac-like blue
>> (if window-system (progn
>> (set-face-background 'modeline "skyblue2")
>> ))
>> ;
>> ;japanese env
>> ;(require 'un-define)
>> ;(set-language-environment 'Japanese)
>> ;(set-default-coding-systems 'euc-jp-unix)
>> ;(set-terminal-coding-system 'euc-jp-unix)
>> ;(set-keyboard-coding-system 'utf-8)
>> ;(set-clipboard-coding-system 'sjis-mac)
>> ;(set-file-name-coding-system 'utf-8)
>> ;
>> (require 'recentf)
>> (recentf-mode 1)
>> ;
>> ;; mac key shortcuts
>> (setq mac-command-key-is-meta nil)
>> (global-set-key [(alt c)] 'kill-ring-save)
>> (global-set-key [(alt v)] 'yank)
>> (global-set-key [(alt x)] 'kill-region)
>> (global-set-key [(alt a)] 'mark-whole-buffer)
>> (global-set-key [(alt z)] 'undo)
>> (global-set-key [(alt f)] 'isearch-forward)
>> (global-set-key [(alt o)] 'find-file)
>> (global-set-key [(alt s)] 'save-buffer)
>> (global-set-key [(alt p)] 'mac-preview) ; requires mac-preview
>> (global-set-key [(alt w)] 'kill-this-buffer)
>> (global-set-key [(alt m)] 'iconify-frame)
>> (global-set-key [(alt q)] 'save-buffers-kill-emacs)
>> (global-set-key [(alt .)] 'keyboard-quit)
>> (global-set-key [(alt up)] 'beginning-of-buffer)
>> (global-set-key [(alt down)] 'end-of-buffer)
>> (global-set-key [(alt left)] 'beginning-of-line)
>> (global-set-key [(alt right)] 'end-of-line)
>> ;
>> (if (eq window-system 'mac) (require 'carbon-font))
>> (fixed-width-set-fontset "hirakaku_w3" 12)
>> =========ここまで
>> 
>> =========Emacs23のinit.el
>> (set-language-environment 'Japanese)
>> (prefer-coding-system 'utf-8)
>> (setq default-input-method "MacOSX")
>> (keyboard-translate ?\C-h ?\C-?)
>> ;; 全角記号類「!”#$%&’()=?|`『+*』<>?_」を入力できるようにする
>> (mac-add-key-passed-to-system 'shift)
>> ;
>> (tool-bar-mode 1)
>> ;
>> ;; ウィンドウ(フレーム)のサイズ設定する(まだ使ってない)
>> ; (setq default-frame-alist
>> ;       '((width . 100) (height . 60)))
>> ;
>> (require 'recentf)
>> (recentf-mode 1)
>> ;
>> =========ここまで
>> 
>> CarbonEmacsでは、Emacs23の.emacs.d/init.elで起動してもC-Shift-j(C-J)・C-Shift-' (C-")が効きます。
>> 
>> なにかキー入力のシステムへの渡り方の問題のような気もしますが、簡便な修正方法はあるでしょうか。
>> 
>> どなたかご教示よろしくお願いいたします。
>> 
>> -- 
>> KYUSHIMA Masahiro, MD
>> Division of Cardiology, 
>> Chief, Division of Medical Informatics,
>> Okinawa Chubu Hospital, Okinawa, Japan. +81-98-875-6743(fax)
>> http://sheemer.blogspot.com/index.html
>> http://www.ryukyu.ne.jp/~sheemer/
>> 
>> _______________________________________________
>> Macemacsjp-users mailing list
>> Macem****@lists*****
>> http://lists.sourceforge.jp/mailman/listinfo/macemacsjp-users
> 
> _______________________________________________
> Macemacsjp-users mailing list
> Macem****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/macemacsjp-users




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