GNU bug report logs - #40240
26.3; Wrong symbol inserted from keyboard: left tack instead of turnstile.

Previous Next

Package: emacs;

Reported by: Ignat Insarov <kindaro <at> gmail.com>

Date: Thu, 26 Mar 2020 15:30:02 UTC

Severity: normal

Merged with 37530

Found in versions 26.1, 26.3

Fixed in version 27.1

Done: Robert Pluim <rpluim <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 40240 in the body.
You can then email your comments to 40240 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#40240; Package emacs. (Thu, 26 Mar 2020 15:30:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ignat Insarov <kindaro <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 26 Mar 2020 15:30:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ignat Insarov <kindaro <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.3;
 Wrong symbol inserted from keyboard: left tack instead of turnstile.
Date: Thu, 26 Mar 2020 12:29:39 +0300
When I type `⊢` (Unicode right tack, also called «turnstile»), the left
tack symbol appears instead. I can insert the turnstile with other
methods without problem.

Note that I have a key bound on my keyboard layout directly to this
symbol. It works across my system, with the sole exception of Emacs.

I suppose the volunteer will have to put the turnstile symbol onto their
keyboard layout. Try to insert turnstile directly from keyboard layout.
* Expected behaviour: a turnstile appears.
* Observed behaviour: left tack appears.

In GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.10)
 of 2019-08-29 built on juergen

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules
 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt'
 CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD LCMS2

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




Reply sent to Robert Pluim <rpluim <at> gmail.com>:
You have taken responsibility. (Thu, 26 Mar 2020 16:37:02 GMT) Full text and rfc822 format available.

Notification sent to Ignat Insarov <kindaro <at> gmail.com>:
bug acknowledged by developer. (Thu, 26 Mar 2020 16:37:02 GMT) Full text and rfc822 format available.

Message #10 received at 40240-done <at> debbugs.gnu.org (full text, mbox):

From: Robert Pluim <rpluim <at> gmail.com>
To: Ignat Insarov <kindaro <at> gmail.com>
Cc: 40240-done <at> debbugs.gnu.org
Subject: Re: bug#40240: 26.3; Wrong symbol inserted from keyboard: left tack
 instead of turnstile.
Date: Thu, 26 Mar 2020 17:35:52 +0100
[Message part 1 (text/plain, inline)]
>>>>> On Thu, 26 Mar 2020 12:29:39 +0300, Ignat Insarov <kindaro <at> gmail.com> said:

    Ignat> When I type `⊢` (Unicode right tack, also called «turnstile»), the left
    Ignat> tack symbol appears instead. I can insert the turnstile with other
    Ignat> methods without problem.

Hi, this issue has been fixed already in emacs-27, under
bug#37530. You can try out emacs-27, or if you want to stick to
emacs-26 you can apply the patch from the bugfix to your local emacs.

Here it is:

[0001-Update-X-keysym-mapping.patch (text/x-patch, inline)]
From 471ce18ae8890ab3444654fd7ac49950044f60d1 Mon Sep 17 00:00:00 2001
From: Axel Svensson <mail <at> axelsvensson.com>
Date: Sat, 28 Sep 2019 15:44:01 +0200
Subject: [PATCH] Update X keysym mapping
To: emacs-devel <at> gnu.org

* lisp/term/x-win.el (x-keysym-table): Update the mappings
using current Xorg data.  (Bug#37530)

Copyright-paperwork-exempt: yes
---
 lisp/term/x-win.el | 40 +++++++++++++++++++++++++++++++++++-----
 1 file changed, 35 insertions(+), 5 deletions(-)

diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index 56061371fe..d71bb34525 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -302,7 +302,11 @@ vendor-specific-keysyms
     (setq i (1+ i))))
 
 ;; Table from Kuhn's proposed additions to the `KEYSYM Encoding'
-;; appendix to the X protocol definition.
+;; appendix to the X protocol definition.  As indicated, some of these
+;; have been corrected using information found in keysymdef.h which on
+;; a typical system is installed at /usr/include/X11/keysymdef.h.  The
+;; version used here is from xorgproto version 2019.1 found here:
+;; https://gitlab.freedesktop.org/xorg/proto/xorgproto/blob/e0bba743ae7c549c58f92677b239ec7878548228/include/X11/keysymdef.h
 (dolist
      (pair
       '(
@@ -579,6 +583,7 @@ vendor-specific-keysyms
 	(#x6aa . ?њ)
 	(#x6ab . ?ћ)
 	(#x6ac . ?ќ)
+	(#x6ad . ?ґ) ;; Source: keysymdef.h
 	(#x6ae . ?ў)
 	(#x6af . ?џ)
 	(#x6b0 . ?№)
@@ -594,6 +599,7 @@ vendor-specific-keysyms
 	(#x6ba . ?Њ)
 	(#x6bb . ?Ћ)
 	(#x6bc . ?Ќ)
+	(#x6bd . ?Ґ) ;; Source: keysymdef.h
 	(#x6be . ?Ў)
 	(#x6bf . ?Џ)
 	(#x6c0 . ?ю)
@@ -810,6 +816,7 @@ vendor-specific-keysyms
 	(#xaa8 . ? )
 	(#xaa9 . ?—)
 	(#xaaa . ?–)
+	(#xaac . ?␣) ;; Source: keysymdef.h
 	(#xaae . ?…)
 	(#xaaf . ?‥)
 	(#xab0 . ?⅓)
@@ -822,7 +829,17 @@ vendor-specific-keysyms
 	(#xab7 . ?⅚)
 	(#xab8 . ?℅)
 	(#xabb . ?‒)
+	;; In keysymdef.h, the keysyms 0xabc and 0xabe are listed as
+	;; U+27E8 and U+27E9 respectively.  However, the parentheses
+	;; indicate that these mappings are deprecated legacy keysyms
+	;; that are either not one-to-one or semantically unclear.  In
+	;; order to not introduce any incompatibility with possible
+	;; existing workflows that expect these keysyms to map as they
+	;; currently do, to 0x2329 and 0x232a, respectively, they are
+	;; left as they are.  In particular, PuTTY is known to agree
+	;; with this mapping.
 	(#xabc . ?〈)
+	(#xabd . ?.) ;; Source: keysymdef.h
 	(#xabe . ?〉)
 	(#xac3 . ?⅛)
 	(#xac4 . ?⅜)
@@ -839,6 +856,7 @@ vendor-specific-keysyms
 	(#xad2 . ?“)
 	(#xad3 . ?”)
 	(#xad4 . ?℞)
+	(#xad5 . ?‰) ;; Source: keysymdef.h
 	(#xad6 . ?′)
 	(#xad7 . ?″)
 	(#xad9 . ?✝)
@@ -883,20 +901,29 @@ vendor-specific-keysyms
 	(#xba8 . ?∨)
 	(#xba9 . ?∧)
 	(#xbc0 . ?¯)
-	(#xbc2 . ?⊥)
+	;; Source for #xbc2: keysymdef.h.  Note that the
+	;; `KEYSYM Encoding' appendix to the X protocol definition is
+	;; incorrect.
+	(#xbc2 . ?⊤)
 	(#xbc3 . ?∩)
 	(#xbc4 . ?⌊)
 	(#xbc6 . ?_)
 	(#xbca . ?∘)
 	(#xbcc . ?⎕)
-	(#xbce . ?⊤)
+	;; Source for #xbce: keysymdef.h.  Note that the
+	;; `KEYSYM Encoding' appendix to the X protocol definition is
+	;; incorrect.
+	(#xbce . ?⊥)
 	(#xbcf . ?○)
 	(#xbd3 . ?⌈)
 	(#xbd6 . ?∪)
 	(#xbd8 . ?⊃)
 	(#xbda . ?⊂)
-	(#xbdc . ?⊢)
-	(#xbfc . ?⊣)
+	;; Source for #xbdc and #xbfc: keysymdef.h.  Note that the
+	;; `KEYSYM Encoding' appendix to the X protocol definition is
+	;; incorrect.
+	(#xbdc . ?⊣)
+	(#xbfc . ?⊢)
 	;; Hebrew
 	(#xcdf . ?‗)
 	(#xce0 . ?א)
@@ -1143,6 +1170,9 @@ vendor-specific-keysyms
 ;; #x0aff	CURSOR	Publish
 ;; #x0dde	THAI MAIHANAKAT	Thai
 
+;; However, keysymdef.h does have mappings for #x0aac and #x0abd, which
+;; are used above.
+
 
 ;;;; Selections
 
-- 
2.25.0.232.gd8437c57fa


Merged 37530 40240. Request was from Robert Pluim <rpluim <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 26 Mar 2020 16:42:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 24 Apr 2020 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 140 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.