Subject: bug#22566: 24.5; Make shift key translation a customizable feature

From: Aura Kelloniemi <[email-masked]>
Date: Fri, 05 Feb 2016 17:40:31 +0200

Some people consider the shift translation done by Emacs to be a misfeature. I
agree with them. This is because when I accidentally press a key combination
which is not bound to any command, I would like to receive an error message
rather than running another command which I did not intend to run.

There is a long discussion about this issue at:
http://unix.stackexchange.com/questions/25649/is-it-possible-to-stop-emacs-from-down-translating-my-key-chords

I wish that shift translation would be made a customizable feature. It causes
me a lot of trouble because I'm testing new key mappings for the linux console
(I'm making the shifted function keys to work in it) and shift translation in
Emacs makes it harder to tell if Emacs got the information about used shift
state right or not. (And no, Emacs does not always report that a key is
shift-translated. E.g. when I press <C-h> d <C-M-S-down>, I get "<C-M-down>
runs the command down-list" instead of "<C-M-down> (translated from
<C-M-S-down>) runs the command down-list".)

Thank you for your time!

In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.6)
 of 2015-09-10 on foutrelis
Configured using:
 `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=gtk3 --with-xft 'CFLAGS=-march=x86-64
 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4'
 CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

Important settings:
  value of $LC_COLLATE: C
  value of $LANG: fi_FI.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Messages

Minor modes in effect:
  minibuffer-electric-default-mode: t
  icomplete-mode: t
  diff-auto-refine-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t

Recent messages:
w3m init file loaded
Loading term/xterm...done
<C-M-right> runs the command forward-sexp [2 times]
<C-M-S-SPC> is undefined
<C-M-home> runs the command beginning-of-defun
Entering debugger...
beginning-of-buffer
End of buffer
Mark set
<C-M-S-up> runs the command beginning-of-buffer
customize-apropos: No customizable group, face, or option matching (shift translation)

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug sendmail apropos cus-edit mule-util help-mode
debug xterm w3m-filter w3m browse-url doc-view jka-compr dired image-mode
timezone w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-ccl ccl w3m-favicon
w3m-image w3m-proc w3m-util recentf tree-widget haskell-interactive-mode
haskell-presentation-mode haskell-collapse haskell-process haskell-session
url-util url-parse auth-source eieio byte-opt bytecomp byte-compile cl-extra
cconv eieio-core gnus-util time-date url-vars json haskell-navigate-imports
haskell-compile haskell-cabal haskell-utils haskell-mode haskell-font-lock
haskell-indentation haskell-string haskell-sort-imports haskell-lexeme rx
haskell-align-imports haskell-compat haskell-complete-module noutline outline
flymake etags compile comint ring dabbrev ansi-color haskell-customize
minibuf-eldef ido icomplete company pcase cus-start cus-load notmuch hl-line
notmuch-message notmuch-maildir-fcc notmuch-hello edmacro kmacro wid-edit
notmuch-tree notmuch-parser notmuch-show notmuch-print notmuch-crypto
notmuch-mua notmuch-address notmuch-wash diff-mode easy-mmode coolj
notmuch-query goto-addr thingatpt icalendar diary-lib diary-loaddefs cal-menu
calendar cal-loaddefs notmuch-tag crm notmuch-lib advice notmuch-version cl gv
cl-loaddefs cl-lib message idna format-spec rfc822 mml mailabbrev mail-utils
gmm-utils mailheader mm-view mml-smime mml-sec smime password-cache dig
mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util help-fns mail-prsvr dired-single align info easymenu
package epg-config server tooltip electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar
rfn-eshadow timer select scroll-bar 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 minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule custom
widget hashtable-print-readable backquote make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 248314 12028)
 (symbols 48 34301 0)
 (miscs 40 52 175)
 (strings 32 64995 9219)
 (string-bytes 1 1799366)
 (vectors 16 25718)
 (vector-slots 8 561196 8681)
 (floats 8 160 192)
 (intervals 56 265 0)
 (buffers 960 13)
 (heap 1024 27864 941))

-- 
Aura