[Macemacsjp-users 1696] CarbonEmacsとCocoaEmacsのIMEへの挙動の違い

Back to archive index

Masahiro KYUSHIMA sheem****@ryuky*****
2011年 7月 30日 (土) 08:35:22 JST


こんにちは。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 メーリングリストの案内
Back to archive index