Subject: 23.0.60; Accented character input on OS X doesn't work right

From: Ian Eure <[email-masked]>
Date: Tue, 16 Dec 2008 11:21:07 -0800

It seems like some modifiers are lost when using the standard OS X  
accented keys.

e.g. hitting Option+[ inserts U+201C LEFT DOUBLE QUOTATION MARK, and  
Option+Shift+[ inserts U+201D RIGHT DOUBLE QUOTATION MARK. However, in  
Emacs, Option+Shift+[ inserts U+007B LEFT CURLY BRACKET, as if the  
Option modifier wasn’t pressed.

Further, the Option modifier is lost when using Meta (which I have  
mapped to the Command key). For example, I have M-“ bound to (insert- 
pair):

(define-key ime-bindings-map [?\M-“] 'insert-pair)

When I press Opt-M-[, I get a pair of square brackets, as if I hadn’t  
pressed the Option key at all.

Note that I also have M-[ bound to (insert-pair):

(define-key ime-bindings-map "\M-[" 'insert-pair)

In GNU Emacs 23.0.60.1 (i386-apple-darwin9.5.0, NS apple-appkit-949.35)
  of 2008-12-15 on neutron.local
Windowing system distributor `Apple', version  
97.112.112.108.101.45.97.112.112.107.105.116.45.57.52.57.46.52.51
configured using `configure  '--with-ns''

Important settings:
   value of $LC_ALL: nil
   value of $LC_COLLATE: nil
   value of $LC_CTYPE: nil
   value of $LC_MESSAGES: nil
   value of $LC_MONETARY: nil
   value of $LC_NUMERIC: nil
   value of $LC_TIME: nil
   value of $LANG: nil
   value of $XMODIFIERS: nil
   locale-coding-system: nil
   default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
   diff-auto-refine-mode: t
   erc-track-mode: t
   erc-track-minor-mode: t
   erc-spelling-mode: t
   erc-ring-mode: t
   erc-pcomplete-mode: t
   erc-netsplit-mode: t
   erc-autojoin-mode: t
   recentf-mode: t
   twit-mode: t
   yas/minor-mode: t
   ime-bindings: t
   erc-match-mode: t
   erc-button-mode: t
   erc-fill-mode: t
   erc-irccontrols-mode: t
   erc-noncommands-mode: t
   erc-readonly-mode: t
   erc-scrolltobottom-mode: t
   shell-dirtrack-mode: t
   show-paren-mode: t
   iswitchb-mode: t
   auto-insert-mode: t
   tooltip-mode: t
   mouse-wheel-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   global-auto-composition-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   size-indication-mode: t
   column-number-mode: t
   line-number-mode: t
   transient-mark-mode: t
   abbrev-mode: t

Recent input:
C-x b I n t <return> C-n C-p C-n C-p C-p C-b C-b C-n
C-e M-p C-g <M-return> f o r e SPC $ w <backspace>
s h a r d s <tab> $ s <tab> e c h o SPC M-` M-` $ s
- > d b SPC . SPC M-" \ n C-e ; C-x C-s M-` <switch-frame>
M-> <switch-frame> C-c C-o M-p <return> M-v M-` C-x
b <return> C-x b <return> M-` M-> c d SPC m o d u l
e s / D I <backspace> <backspace> I D D B <return>
s v n s <return> s v n r SPC - R SPC . C-a C-j C-_
C-a C-k s v n d <return> C-c C-p C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-a C-n C-n C-n C-v C-v C-v C-v C-v
C-v M-v C-v C-v C-v C-v M-> s v n r SPC - R SPC . M-v
M-> <return> c d SPC . . / . . <return> b <backspace>
! b i n <return> M-` M-` M-p C-a M-f M-f C-f C-2 C-M-j
C-- C-g C-_ C-2 C-M-k C-d <return> <help-echo> <down-mouse-1>
<mouse-1> <down-mouse-1> <mouse-1> M-` M-` M-p M-b
M-b C-M-k A l l T e s t s <return> <switch-frame> <switch-frame>
<switch-frame> ‘ C-g C-x C-b M-n M-n M-n d M-n d x
y C-n C-p C-n C-n C-n C-n C-n C-n d d d d n d x y C-p
C-n C-p C-p C-p C-p C-p C-p C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n <return>
“ { “ { “ { ‘ } ‘ } C-a C-k <help-echo> <help-echo>
<down-mouse-1> <mouse-movement> <mouse-1> <menu-bar>
<help-menu> <emacs-tutorial> <down-mouse-1> <mouse-1>
C-g C-x k RET n <menu-bar> <help-menu> <send-emacs
-bug-report>

Recent messages:
Really kill 12 buffers? (y or n)
Mark set
Operation finished; killed 12 buffers
Really kill 5 buffers? (y or n)
Mark set
Operation finished; killed 5 buffers
Preparing tutorial ...
Quit
Save your position in the tutorial? (y or n)
Tutorial position not saved