Subject: bug#17659: closed (Re: bug#17659: 24.3.90; C-x 8 ? displays help instead of inserting INVERTED QUESTION MARK)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 19 Jun 2014 03:53:02 +0000

Your bug report

#17659: 24.3.90; C-x 8 ? displays help instead of inserting INVERTED QUESTION MARK

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
17659: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17659
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#17659: 24.3.90; C-x 8 ? displays help instead of inserting INVERTED QUESTION MARK
From: Stefan Monnier <[email-masked]>
To: Eric Hanchrow <[email-masked]>
Cc: [email-masked]
Date: Wed, 18 Jun 2014 23:52:49 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

> The subject says it all: when I type C-x 8 ?, I expect emacs to insert
> into the buffer Unicode 191, INVERTED QUESTION MARK.  However, instead
> it displays a *Help* buffer whose first line reads

>         Key translations Starting With C-x 8:

I installed the patch below into emacs-24 which seems to fix this problem.

        Stefan

=== modified file 'src/keyboard.c'
--- src/keyboard.c	2014-05-06 16:16:57 +0000
+++ src/keyboard.c	2014-06-19 03:30:12 +0000
@@ -9384,16 +9385,6 @@
 	  first_unbound = min (t, first_unbound);
 
 	  head = EVENT_HEAD (key);
-	  if (help_char_p (head) && t > 0)
-	    {
-	      read_key_sequence_cmd = Vprefix_help_command;
-	      keybuf[t++] = key;
-	      last_nonmenu_event = key;
-	      /* The Microsoft C compiler can't handle the goto that
-		 would go here.  */
-	      dummyflag = 1;
-	      break;
-	    }
 
 	  if (SYMBOLP (head))
 	    {
@@ -9651,6 +9642,17 @@
 
 	  goto replay_sequence;
 	}
+
+      if (NILP (current_binding)
+	  && help_char_p (EVENT_HEAD (key)) && t > 1)
+	    {
+	      read_key_sequence_cmd = Vprefix_help_command;
+	      /* The Microsoft C compiler can't handle the goto that
+		 would go here.  */
+	      dummyflag = 1;
+	      break;
+	    }
+
       /* If KEY is not defined in any of the keymaps,
 	 and cannot be part of a function key or translation,
 	 and is a shifted function key,

Subject: 24.3.90; C-x 8 ? displays help instead of inserting INVERTED QUESTION MARK
From: Eric Hanchrow <[email-masked]>
To: [email-masked]
Date: Sat, 31 May 2014 21:00:12 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

The subject says it all: when I type C-x 8 ?, I expect emacs to insert
into the buffer Unicode 191, INVERTED QUESTION MARK.  However, instead
it displays a *Help* buffer whose first line reads

        Key translations Starting With C-x 8:

In GNU Emacs 24.3.90.1 (x86_64-apple-darwin13.1.0, NS apple-appkit-1265.19)
 of 2014-05-07 on Eric-Hanchrows-MacBook-Pro.local
Windowing system distributor `Apple', version 10.3.1265
Configured using:
 `configure --with-ns'

Important settings:
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  eldoc-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  global-auto-revert-mode: t
  elisp-slime-nav-mode: t
  recentf-mode: t
  ido-everywhere: t
  display-time-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<backspace> M-\ C-a C-n C-o C-n C-M-d C-M-f C-M-f C-M-f
C-o C-M-f C-M-o C-M-f C-M-o C-M-f C-M-o C-M-f C-M-o
C-M-f C-M-o C-M-f C-M-o C-M-f C-M-o C-M-f C-M-o C-M-f
C-M-o C-M-u C-M-q C-x | C-n C-M-n C-M-o C-M-n C-M-o
C-M-u C-M-q C-n C-n C-n C-n C-e C-a C-p C-M-n C-M-o
C-M-u C-M-q C-n C-M-d C-M-n C-o C-M-n C-o C-M-n C-o
C-M-n C-o C-M-n C-o C-M-n C-o C-M-n C-a C-M-u C-M-u
C-M-u C-M-u C-M-q C-h a p r e t t y <return> C-M-v
C-M-v C-M-v C-x o M-v M-v M-v C-l M-m <return> q C-x
b <return> C-p C-p C-e C-SPC C-M-b M-w M-> M-( c l
- p r e <M-tab> p <M-tab> SPC C-y C-e C-j M-- C-l C-M-p
C-M-k C-M-p C-M-k C-M-k C-x C-o M-- C-l C-u C-u C-p
C-u C-p C-u C-p C-n C-n C-M-d C-M-d C-M-f C-M-f C-M-f
C-M-f C-M-f C-M-f C-M-f C-M-f C-M-f C-M-f C-M-f C-M-u
C-b C-b C-f C-f C-n M-RET M-m C-f C-f C-f C-h i C-x
b <return> M-> i n p u t - d e c o <M-tab> C-j C-h
i q l o c a l - f u n <M-tab> C-j C-x | M-- C-l C-M-p
C-p M-1 M-( c l - p r e t t <M-tab> p <M-tab> SPC C-e
C-M-k C-j C-M-p C-p C-p ; ; SPC C-a C-o C-p C-p ; ;
SPC C-a C-n M-> C-M-p C-p C-p C-f C-f C-f C-SPC C-e
M-w M-> C-u C-y C-h i C-u C-n C-u C-n C-p C-p C-e C-b
C-SPC M-b M-b M-b M-w C-x b <return> C-e C-b C-M-b
C-M-o C-y C-M-k C-e C-j C-M-p M-0 C-l C-v C-v C-v C-v
C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-M-u C-M-u
C-M-u C-M-u M-x r e p o <tab> r <tab> <return>

Recent messages:
Mark set
Truncate long lines enabled
forward-list: Scan error: "Containing expression ends prematurely", 6598, 6599
Type "q" in help window to restore its previous buffer.
Mark set [3 times]
M-RET is undefined
Mark set
Truncate long lines disabled
Mark set [6 times]
Making completion list...

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug sendmail apropos dabbrev debug
iso-transl log-view pcmpl-unix rect mm-archive network-stream starttls
url-cache url-handlers vc-bzr vc-sccs vc-svn vc-cvs vc-rcs vc
vc-dispatcher js cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs yaml-mode tar-mode jka-compr
smerge-mode mule-util ffap eieio-opt speedbar sb-image ezimage dframe
flyspell ispell browse-kill-ring misearch multi-isearch face-remap woman
man eldoc protbuf gist gh-gist gh-oauth gh-api logito gh-cache pcache
gh-auth gh-common gh-url url-http tls url url-proxy url-privacy
url-expand url-methods url-history mailcap url-auth url-cookie
url-domsuf url-gw gh-profile timezone eieio-base magit-key-mode magit
view tramp tramp-compat tramp-loaddefs trampver shell pcomplete epa epg
epg-config diff-mode git-rebase-mode git-commit-mode log-edit message
format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-utils gmm-utils
mailheader pcvs-util add-log vc-git derived autorevert filenotify
elisp-slime-nav paste-to-dropbox path server saveplace url-util
url-parse auth-source gnus-util mm-util mail-prsvr password-cache
url-vars find-func ibuf-ext ibuf-macs ibuffer recentf tree-widget
wid-edit dired-x dired perl-extras perl-mode autoinsert rx elpy
yasnippet help-mode pyvenv grep python nose easy-mmode json idomenu
imenu ido highlight-indentation flymake find-file-in-project cl etags
elpy-refactor auto-complete-config auto-complete edmacro kmacro popup
quack thingatpt compile cmuscheme comint ansi-color ring scheme
color-theme-autoloads fuzzy-autoloads gist-autoloads finder-inf eieio
byte-opt bytecomp byte-compile cconv eieio-core
highlight-indentation-autoloads idomenu-autoloads iedit-autoloads
logito-autoloads markdown-mode-autoloads info easymenu pcache-autoloads
powerline advice help-fns cl-macs gv powerline-separators color
cl-loaddefs cl-lib powerline-themes quack-autoloads svg-clock-autoloads
typo-autoloads yaml-mode-autoloads package time midnight time-date
tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
ns-win 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
cocoa ns multi-tty emacs)

Memory information:
((conses 16 781944 201941)
 (symbols 48 57208 0)
 (miscs 40 1866 3163)
 (strings 32 282720 4216)
 (string-bytes 1 5155307)
 (vectors 16 44016)
 (vector-slots 8 1691982 184043)
 (floats 8 380 1720)
 (intervals 56 68888 1320)
 (buffers 960 63))