Subject: Re: bug#35533: 26.2; Weird <i> and <I> keybindings in an (insert-table) environment.

From: Mauro Aranda <[email-masked]>
Date: Thu, 2 May 2019 10:00:52 -0300

Hello.

> The bug (or, rather a strange behaviour), can be reproduced in the
> following way:
> 1)Create a new buffer.
> 2)Insert a text table by calling M-x insert-table RET
> 3)Put the point in the first cell.
> 4)Type: C-h w table-forward-cell RET

Just for clarity, the second step is to type: M-x table-insert RET
Then, of course, hit RET to accept all of the defaults.

> You will see a keybinding called 'C-c C-c <i>'.
> You can see similar weird keybindings for other table-* commands.
>
> Those actual keys are nowhere to be found, and no-one on the
> #emacs channel on Freenode knows what they are.
>
> It would be nice to either document those keys. Or, perhaps,
> it's a bug in Emacs.
>

I believe it's a bug.
'C-h v table-cell-map RET' shows at the end that the bindings are to
'j', 'm', 'I' and 'i', and not to their printed representations.

I attach a patch that adds a missing '?' to all those characters, in
table-cell-bindings.

Best regards,
Mauro.
From 3d01c3e2f5db34dcfbfda1849e985526da309b5b Mon Sep 17 00:00:00 2001
From: Mauro Aranda <[email-masked]>
Date: Thu, 2 May 2019 09:51:01 -0300
Subject: [PATCH] Fix read syntax for some characters

* lisp/textmodes/table.el (table-cell-bindings): Add missing '?', to
  use the proper read syntax.  (Bug#35533)
---
 lisp/textmodes/table.el | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el
index bed8b2f..f27c705 100644
--- a/lisp/textmodes/table.el
+++ b/lisp/textmodes/table.el
@@ -930,16 +930,16 @@ table-target-history
 ;; refill the table cache.  If the command were not listed fast
 ;; typing can cause unwanted cache refill.
 (defconst table-cell-bindings
-  '(([(control i)]	. table-forward-cell)
-    ([(control I)]	. table-backward-cell)
+  '(([(control ?i)]	. table-forward-cell)
+    ([(control ?I)]	. table-backward-cell)
     ([tab]		. table-forward-cell)
     ([(shift backtab)]	. table-backward-cell) ; for HPUX console keyboard
     ([(shift iso-lefttab)]    . table-backward-cell) ; shift-tab on a microsoft natural keyboard and redhat linux
     ([(shift tab)]	. table-backward-cell)
     ([backtab]          . table-backward-cell) ; for terminals (e.g., xterm)
     ([return]		. *table--cell-newline)
-    ([(control m)]	. *table--cell-newline)
-    ([(control j)]	. *table--cell-newline-and-indent)
+    ([(control ?m)]	. *table--cell-newline)
+    ([(control ?j)]	. *table--cell-newline-and-indent)
     ([mouse-3]		. *table--present-cell-popup-menu)
     ([(control ?>)]	. table-widen-cell)
     ([(control ?<)]	. table-narrow-cell)
-- 
2.7.4