Subject: bug#7380: 23.2; Dead keys misinterpreted in gtk emacs

From: Ian D. Leroux <[email-masked]>
Date: Thu, 11 Nov 2010 18:18:50 -0500

Under X11 with the us_intl keyboard, dead keys are not correctly
combined with the following characters.  For instance <dead-acute> e,
which ought to give é, instead produces the message "<dead-acute> is
undefined" followed by an undecorated e.  The problem is specific to
emacs: all other applications in the same X11 session (Firefox, xterm,
urxvt, miscellaneous gtk apps like exfalso) accept accented input
typed with dead keys without special customization.  This is a
plain-vanilla install of emacs under pkgsrc.  The auto-collected data
reported below were generated by M-x report-emacs-bug from an emacs -Q
instance displaying this behaviour.

Workarounds: I can run emacs in a terminal, allowing xterm or urxvt to
handle keyboard input.  This gives me consistent keyboard behaviour at
the price of the graphical comforts of gtk emacs.  I can also activate
iso-transl and have emacs handle the composition of characters from
dead keys by its own internal mechanism, independent of X11, but then
I get a subtly different keyboard layout in emacs relative to other
software on the system.

Thank you for any insights and assistance you may be able to supply,

Ian Leroux

In GNU Emacs 23.2.1 (x86_64--netbsd, GTK+ Version 2.20.1)
 of 2010-11-09 on spip.homeunix.net
Windowing system distributor `The Xorg Foundation', version 11.0.10603000
configured using `configure  '--srcdir=/pkg_comp/obj/pkgsrc/editors/emacs/default/emacs-23.2' '--localstatedir=/var' '--x-includes=/usr/X11R7/include' '--x-libraries=/usr/X11R7/lib' '--with-x' '--with-xpm' '--with-jpeg' '--with-tiff' '--with-gif' '--with-png' '--with-x-toolkit=gtk' '--without-libiconv-prefix' '--without-libintl-prefix' '--prefix=/usr/pkg' '--build=x86_64--netbsd' '--host=x86_64--netbsd' '--infodir=/usr/pkg/info' '--mandir=/usr/pkg/man' 'build_alias=x86_64--netbsd' 'host_alias=x86_64--netbsd' 'CC=cc' 'CFLAGS=-O2 -mfpmath=sse -msse3 -march=athlon64 -pipe -I/usr/pkg/include -I/usr/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2' 'LDFLAGS=-L/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib' 'LIBS=' 'CPPFLAGS=-I/usr/pkg/include -I/usr/include -I/usr/X11R7/include -I/usr/X11R7/include/freetype2''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: C
  value of $LC_CTYPE: en_US.UTF-8
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: C
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<dead-acute> e M-x r e p o r t - e m a c s - b u g 
<return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
/usr/pkg/share/emacs/site-lisp/flim/sha1 hides /usr/pkg/share/emacs/23.2/lisp/sha1
/usr/pkg/share/emacs/site-lisp/semi/pgg hides /usr/pkg/share/emacs/23.2/lisp/pgg
/usr/pkg/share/emacs/site-lisp/semi/pgg-pgp5 hides /usr/pkg/share/emacs/23.2/lisp/pgg-pgp5
/usr/pkg/share/emacs/site-lisp/semi/pgg-pgp hides /usr/pkg/share/emacs/23.2/lisp/pgg-pgp
/usr/pkg/share/emacs/site-lisp/semi/pgg-parse hides /usr/pkg/share/emacs/23.2/lisp/pgg-parse
/usr/pkg/share/emacs/site-lisp/semi/pgg-gpg hides /usr/pkg/share/emacs/23.2/lisp/pgg-gpg
/usr/pkg/share/emacs/site-lisp/semi/pgg-def hides /usr/pkg/share/emacs/23.2/lisp/pgg-def
/usr/pkg/share/emacs/site-lisp/flim/hex-util hides /usr/pkg/share/emacs/23.2/lisp/hex-util
/usr/pkg/share/emacs/site-lisp/flim/sasl hides /usr/pkg/share/emacs/23.2/lisp/net/sasl
/usr/pkg/share/emacs/site-lisp/flim/sasl-digest hides /usr/pkg/share/emacs/23.2/lisp/net/sasl-digest
/usr/pkg/share/emacs/site-lisp/flim/sasl-cram hides /usr/pkg/share/emacs/23.2/lisp/net/sasl-cram
/usr/pkg/share/emacs/site-lisp/flim/hmac-md5 hides /usr/pkg/share/emacs/23.2/lisp/net/hmac-md5
/usr/pkg/share/emacs/site-lisp/flim/hmac-def hides /usr/pkg/share/emacs/23.2/lisp/net/hmac-def
/usr/pkg/share/emacs/site-lisp/wl/rfc2368 hides /usr/pkg/share/emacs/23.2/lisp/mail/rfc2368
/usr/pkg/share/emacs/site-lisp/wl/utf7 hides /usr/pkg/share/emacs/23.2/lisp/gnus/utf7
/usr/pkg/share/emacs/site-lisp/semi/smime hides /usr/pkg/share/emacs/23.2/lisp/gnus/smime

Features:
(shadow sort mail-extr message sendmail regexp-opt ecomplete rfc822 mml
easymenu mml-sec password-cache mm-decode mm-bodies mm-encode mailcap
mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader
gnus-util netrc time-date mm-util mail-prsvr gmm-utils wid-edit
mailheader canlock sha1 sha1-el hex-util hashcash mail-utils emacsbug
tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
font-setting tool-bar dnd fontset image fringe lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind font-render-setting gtk
x-toolkit x multi-tty emacs)