From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Thomas Schneider Newsgroups: gmane.emacs.bugs Subject: bug#56117: 29.0.50; pgtk does not distinguish between and "."/"," Date: Tue, 21 Jun 2022 01:02:33 +0200 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15209"; mail-complaints-to="usenet@ciao.gmane.io" To: 56117@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jun 21 01:03:13 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o3QQK-0003hG-RG for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 21 Jun 2022 01:03:13 +0200 Original-Received: from localhost ([::1]:57456 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o3QQJ-0007X9-6g for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 20 Jun 2022 19:03:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41938) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3QQB-0007VX-7b for bug-gnu-emacs@gnu.org; Mon, 20 Jun 2022 19:03:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36466) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o3QQA-0004Zg-Vq for bug-gnu-emacs@gnu.org; Mon, 20 Jun 2022 19:03:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o3QQA-00018l-Ru for bug-gnu-emacs@gnu.org; Mon, 20 Jun 2022 19:03:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Thomas Schneider Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 20 Jun 2022 23:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 56117 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16557661774363 (code B ref -1); Mon, 20 Jun 2022 23:03:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 20 Jun 2022 23:02:57 +0000 Original-Received: from localhost ([127.0.0.1]:58596 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3QQ4-00018I-Rh for submit@debbugs.gnu.org; Mon, 20 Jun 2022 19:02:57 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:36430) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3QQ2-00018A-A2 for submit@debbugs.gnu.org; Mon, 20 Jun 2022 19:02:56 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41936) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3QQ2-0007Kl-3m for bug-gnu-emacs@gnu.org; Mon, 20 Jun 2022 19:02:54 -0400 Original-Received: from mx0.chaotikum.eu ([2a01:4f8:c2c:ce71::1]:38300) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o3QPw-0004YJ-Up for bug-gnu-emacs@gnu.org; Mon, 20 Jun 2022 19:02:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=chaotikum.eu; s=20200128.mx0; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Message-ID:Date:Subject:To:From:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ayazxHndOmyRpuvHAYM1cBGcte5+NBEnJ2zU4MHD2oE=; b=Pc5mevqOOx+xpGIyY9stns2WHm vEwF2yXrEyyUtRhSz9nD478ZtWCrmjgs2nZCVO5eO6LghbNqNId1ZK/ZMxMqwgygkiOc/oQwcLFY5 spsZhA3OKs5n/ftbGBOyJRkaNC5vUrz61dVZvXwtY2zYIHVXKYjEoTZiJT1XUmvPXP52WDu7TCMpJ XSyGt9QtHCwzJ4FdLIhz+DKAqJYl4s1XEvDdM/dcbotXw7R2i1vXhq9q1z0LjJfx9qrsYkBMjRYA5 D1M3z8U9b1zXWQuBkP/VW1+SkGldgmjw6JBJgx3o8VCsSTI47pc7SqdDJOlSfVLWrbNxCOCbuRyHI Mol+RnyLlt28j8fZ/tgCA/0bcSfp0E0TpAMp45GP44dTTJtf6eiybUoRqzcSPKbiYZYYXgnyDsNbD Original-Received: from [2001:4dd0:4f8e:0:7c52:ee88:e25e:1478] (port=59248 helo=naboo.chaotikum.eu) by mx0.chaotikum.eu with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o3QPq-0007yp-VY; Tue, 21 Jun 2022 01:02:43 +0200 Openpgp: id=E384009D3B54DCD321BF953295EE94A432583DB1; url=https://keys.openpgp.org/vks/v1/by-fingerprint/E384009D3B54DCD321BF953295EE94A432583DB1; preference=signencrypt Received-SPF: pass client-ip=2a01:4f8:c2c:ce71::1; envelope-from=qsx@chaotikum.eu; helo=mx0.chaotikum.eu X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:234920 Archived-At: Dear maintainers, With =E2=80=9Cclassic=E2=80=9D X11 support in Emacs and GTK (probably the o= thers, too), pressing the keypad separator ("," on, e.g., a german keyboard layout, "." on most others), gave emacs the key . With pgtk, this is no longer the case. This is a feature regression, because it no longer allows, for example, remapping to "." for `calc-digit-map`, so I can=E2=80=99t en= ter decimal numbers using only the keypad. As a workaround, I currently have (define-key calc-digit-map (kbd ",") "."), but if I wanted to use the vector feature of calc, I=E2=80=99d no longer have the comma. Steps to reproduce: > fictive-window-manager-control set-keyboard-map de > # maybe some locale stuff, who knows > ./configure --with-pgtk && make > src/emacs -Q > C-h k Expected output: > , (translated from ) runs the command [=E2=80=A6] Actual output: > , runs the command [=E2=80=A6] I traced this a bit. In pgtkterm.c:key_press_event(), pgtkim.c:pgtk_im_filter_keypress() is called, which essentially defers to gtk_im_context_filter_keypress() from GTK. From its documentation[0]: > Allow an input method to internally handle key press and release > events. If this function returns `TRUE`, then no further processing > should be done for this key event. Well, okay. Unfortunately, I barely know enough GTK to get the gist of what is happening here, by far not enough to fix this issue. [0]: https://docs.gtk.org/gtk3/method.IMContext.filter_keypress.html In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.34, c= airo version 1.16.0) of 2022-06-11 built on localhost Repository revision: 98365c7b1e1e1d3d5f7185f2d4a2baa1c65b4540 Repository branch: master System Description: Gentoo Linux Configured using: 'configure --prefix=3D/usr --build=3Dx86_64-pc-linux-gnu --host=3Dx86_64-pc-linux-gnu --mandir=3D/usr/share/man --infodir=3D/usr/share/info --datadir=3D/usr/share --sysconfdir=3D/etc --localstatedir=3D/var/lib --datarootdir=3D/usr/share --disable-silent-rules --docdir=3D/usr/share/doc/emacs-29.0.9999 --htmldir=3D/usr/share/doc/emacs-29.0.9999/html --libdir=3D/usr/lib64 --program-suffix=3D-emacs-29-vcs --includedir=3D/usr/include/emacs-29-vcs --infodir=3D/usr/share/info/emacs-29-vcs --localstatedir=3D/var --enable-locallisppath=3D/etc/emacs:/usr/share/emacs/site-lisp --without-compress-install --without-hesiod --without-pop --with-file-notification=3Dinotify --with-pdumper --enable-acl --with-dbus --with-modules --with-gameuser=3D:gamestat --with-libgmp --with-gpm --with-native-compilation --with-json --with-kerberos --with-kerberos5 --with-lcms2 --with-xml2 --without-mailutils --without-selinux --without-sqlite3 --with-gnutls --with-libsystemd --with-threads --without-wide-int --with-zlib --with-sound=3Dalsa --with-pgtk --without-x --without-ns --with-toolkit-scroll-bars --without-gconf --with-gsettings --with-harfbuzz --with-libotf --with-m17n-flt --with-xwidgets --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-webp --with-imagemagick --with-dumping=3Dpdumper 'CFLAGS=3D-O2 -pipe -march=3Dnative -g' 'LDFLAGS=3D-Wl,-O1 -Wl,--as-needed'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS WEBP XIM XWIDGETS GTK3 ZLIB Important settings: value of $LC_MESSAGES: en_GB.UTF-8 value of $LC_TIME: en_DK.UTF-8 value of $LANG: de_DE.UTF-8 locale-coding-system: utf-8-unix Major mode: C/*l Minor modes in effect: bug-reference-prog-mode: t pdf-occur-global-minor-mode: t rainbow-delimiters-mode: t helm-mode: t helm-minibuffer-history-mode: t helm-autoresize-mode: t helm--remap-mouse-mode: t async-bytecomp-package-mode: t global-git-commit-mode: t magit-auto-revert-mode: t auto-revert-mode: t shell-dirtrack-mode: t recentf-mode: t global-semanticdb-minor-mode: t global-semantic-idle-scheduler-mode: t semantic-idle-scheduler-mode: t semantic-mode: t TeX-PDF-mode: t display-battery-mode: t display-time-mode: t override-global-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-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 column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t abbrev-mode: t Load-path shadows: /home/qsx/.emacs.d/elpa/dpkg-dev-el-20190824.2314/debian-autoloads hides /h= ome/qsx/.emacs.d/elpa/debian-el-20211006.1939/debian-autoloads /usr/share/emacs/site-lisp/cmake-mode hides /usr/share/emacs/site-lisp/cmak= e/cmake-mode /usr/share/emacs/site-lisp/desktop-entry-mode hides /usr/share/emacs/site-l= isp/desktop-file-utils/desktop-entry-mode /home/qsx/.emacs.d/elpa/transient-20220527.2213/transient hides /usr/share/= emacs/29.0.50/lisp/transient /usr/share/emacs/site-lisp/mercury/gud hides /usr/share/emacs/29.0.50/lisp/= progmodes/gud /usr/share/emacs/site-lisp/mercurial/mercurial hides /home/qsx/.emacs.d/eli= sp/mercurial Features: (shadow sort mail-extr gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file url-dired svg gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win emacsbug semantic/tag-write semantic/bovine/make semantic/decorate/include semantic/bovine/make-by make-mode image-file image-converter helm-config semantic/edit novice help-fns radix-tree ffap cus-start mule-util ace-window avy helm-x-files helm-for-files helm-bookmark helm-adaptive helm-external helm-net gud winner tramp-archive tramp-gvfs tramp-cache zeroconf helm-command helm-elisp helm-eval edebug debug backtrace helm-info misearch multi-isearch semantic/decorate/mode ebuild-mode skeleton quilt semantic/tag-file vc-git vc vc-dispatcher bug-reference xcscope gnus-alias gnus nnheader range calc calc-loaddefs rect calc-macs ledger-mode ledger-check ledger-texi ledger-test ledger-sort ledger-report ledger-reconcile ledger-occur ledger-fonts ledger-fontify ledger-state ledger-complete ledger-schedule ledger-init ledger-xact ledger-post ledger-exec ledger-navigate eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util ledger-context ledger-commodities org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-sqlite ob-sql ob ob-tangle org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-emacs-lisp ob-core ob-eval org-table oc-basic ol org-keys oc org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs ledger-regex haskell-mode haskell-cabal haskell-utils haskell-font-lock haskell-indentation haskell-string haskell-sort-imports haskell-lexeme haskell-align-imports haskell-complete-module haskell-ghc-support noutline outline etags fileloop generator xref dabbrev haskell-customize adoc-mode tempo markup-faces json-mode json-snatcher js llvm-mode toml-mode conf-mode align pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent pdf-isearch let-alist pdf-misc pdf-tools pdf-view magit-bookmark bookmark jka-compr pdf-cache pdf-info tq pdf-util pdf-macs dockerfile-mode sh-script executable yaml-mode poly-ansible polymode poly-lock polymode-base polymode-weave polymode-export polymode-compat polymode-methods polymode-core polymode-classes poly-ansible-jinja2-filters jinja2-mode sgml-mode facemenu dom ansible-doc ansible f f-shortdoc shortdoc rainbow-delimiters stripe-buffer advice meson-mode smie apache-mode form-feed helm-rg helm-mode helm-misc helm-files image-dired xdg image-mode exif tramp tramp-loaddefs trampver tramp-integration cus-edit cus-load files-x tramp-compat parse-time ls-lisp helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-utils helm-help helm-types helm helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source helm-multi-match helm-lib async magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff diff-mode git-commit log-edit message sendmail yank-media rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor shell pcomplete magit-mode transient comp comp-cstr magit-git magit-base magit-section compat-27 compat-26 compat srefactor srefactor-ui recentf tree-widget cl srecode/semantic semantic/senator semantic/decorate pulse color srecode/insert srecode/filters srecode/args ede/speedbar ede/files ede ede/detect ede/base ede/auto ede/source eieio-speedbar speedbar dframe eieio-custom wid-edit srecode/find srecode/map srecode/ctxt srecode/compile srecode/dictionary srecode/fields srecode/table srecode semantic/doc semantic/db-file data-debug cedet-files semantic/bovine/c hideif semantic/bovine/c-by semantic/lex-spp semantic/bovine/gcc semantic/dep semantic/bovine semantic/analyze/refs semantic/db-find semantic/db-ref cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs semantic/db-mode semantic/idle semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn semantic/db eieio-base semantic/format ezimage semantic/tag-ls semantic/find semantic/ctxt semantic/util-modes semantic/util semantic pp semantic/tag semantic/lex semantic/fw mode-local find-func cedet company-shell dash company-ansible company-ansible-keywords company-reftex s reftex-cite reftex reftex-loaddefs reftex-vars company-bibtex parsebib bibtex iso8601 time-date company-auctex yasnippet latex edmacro kmacro latex-flymake flymake-proc flymake project compile text-property-search comint ansi-color ring warnings thingatpt tex-ispell tex-style tex crm texmathp company-math math-symbol-lists company pcase cl-extra help-mode format-spec battery dbus xml time deeper-blue-theme server use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core finder-inf site-gentoo adoc-mode-autoloads tex-site dpkg-dev-el debian-el company-autoloads haskell-mode-autoloads ledger-mode-autoloads lsp-ui-autoloads lsp-mode-autoloads magit-autoloads git-commit-autoloads markdown-mode-autoloads magit-section-autoloads parsebib-autoloads pdf-tools-autoloads f-autoloads dash-autoloads rx transient-autoloads helm-autoloads helm-core-autoloads with-editor-autoloads info compat-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars seq gv subr-x byte-opt bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads xwidget-internal dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1254619 103414) (symbols 48 60678 0) (strings 32 320403 12785) (string-bytes 1 8827985) (vectors 16 124981) (vector-slots 8 2072939 72589) (floats 8 626 456) (intervals 56 14002 101) (buffers 992 35))