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

アーカイブの一覧に戻る

Taiichi Hashimoto taiic****@mac*****
2011年 7月 30日 (土) 12:35:58 JST


橋本です。

現象を確認しました。

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 メーリングリストの案内
アーカイブの一覧に戻る