GNU bug report logs - #37526
27.0.50; double-recording of keys with input-methods and keyboard-macros

Previous Next

Package: emacs;

Reported by: Christoph Arenz <tiga.arenz <at> web.de>

Date: Thu, 26 Sep 2019 19:04:02 UTC

Severity: normal

Found in version 27.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

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 37526 in the body.
You can then email your comments to 37526 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#37526; Package emacs. (Thu, 26 Sep 2019 19:04:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Christoph Arenz <tiga.arenz <at> web.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 26 Sep 2019 19:04:02 GMT) Full text and rfc822 format available.

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

From: Christoph Arenz <tiga.arenz <at> web.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.0.50; double-recording of keys with input-methods and
 keyboard-macros
Date: Thu, 26 Sep 2019 21:03:14 +0200
There are still some cases where keyboard macros do not record correctly
for some input-methods, leading to double-recording of keys.

I tried some simple tests using the french word for brother (`frère' --
the first `e' is with a ``' on top of it -- hopefully my mailer does not
screw this up...)
using various french input methods: french-prefix, french-postfix and
french-azerty -- all in context of keyboard macro recording and playback.
Here are the results:

french-prefix:
keys pressed: <f3> f r ` e r e , <spc> <f4> <f4> <f4>
text inserted in buffer: "frère, frère,  frère,  "
last-kbd-macro: "fr`ere,  "
--> Note the two(!) <spc> recorded after the `,' though only one was
typed in!

french-postfix:
keys pressed: <f3> f r e ` r e , <spc> <f4> <f4> <f4>
text inserted in buffer: "frère, frèrre,, frèrre,, "
last-kbd-macro: "fre`rre,, "
--> Note the double recording of `r' and `,' !

french-azerty:
keys pressed (on US keyboard-layout): <f3> f r e 7 r e m <spc> <f4> <f4>
<f4>
text inserted in buffer: "frère, frère, frère, "
last-kbd-macro: "fr7rem "
--> This looks as I would expect it.

A quick check on emacs-24.5.1 on Ubuntu showed that all cases were
handled correctly back then.
N.B. For what it's worth, I am physically using a german keyboard with a
US layout in GNOME.
Probably this should not matter and be equivalent to a US keyboard...

Thanks for your attention,
Christoph


In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
 of 2019-09-26 built on [...]
Repository revision: 07367e5b95fe31f3d4e994b42b081075501b9b60
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description: Red Hat Enterprise Linux Workstation 7.7 (Maipo)


Configured features:
XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY
LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 XDBE XIM THREADS PDUMPER GMP

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  shell-dirtrack-mode: t
  bug-reference-prog-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-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
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny format-spec rfc822 mml
url url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util url-parse auth-source eieio eieio-core
eieio-loaddefs json map url-vars mm-view mml-smime smime dig mailcap
mml-sec password-cache epa wid-edit epg epg-config mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev nnheader gnus-util rmail dframe
rmail-loaddefs text-property-search gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils cl-extra
dabbrev cl-print cal-menu calendar cal-loaddefs calc-aent calc-bin
calc-comb calc-fin calc-forms calc-frac calc-funcs calc-map calc-mtx
calc-prog calc-rewr calc-stat calc-store calc-stuff calc-units calc-vec
calcalg2 calcalg3 calc-embed calc-graph calc-help calc-incom calc-keypd
calc-lang calc-mode calc-rules calc-sel calc-yank calcsel2 help-fns
radix-tree shell pcomplete grep compile files-x rx comint ansi-color
ring edebug backtrace help-mode find-func misearch multi-isearch vc-git
diff-mode vc-dir seq byte-opt bytecomp byte-compile cconv ewoc vc
vc-dispatcher bug-reference time-date calc-undo calc-misc calc-cplx
calc-arith calc-math calc-alg calc-ext calc-menu easymenu calc derived
calc-loaddefs calc-macs dired desktop frameset cl-seq edmacro kmacro
dired-loaddefs subr-x easy-mmode cl-macs inline cl-loaddefs cl-lib gv
pcase tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode elisp-mode lisp-mode prog-mode register page menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame cl-generic 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 charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded 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 threads dbusbind
inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 744416 52997)
 (symbols 48 20376 0)
 (strings 32 47464 2322)
 (string-bytes 1 1585017)
 (vectors 16 8912)
 (vector-slots 8 490052 112244)
 (floats 8 52 188)
 (intervals 56 2755 421)
 (buffers 992 22)
 (heap 1024 32533 1276))





Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Mon, 06 Apr 2020 13:17:03 GMT) Full text and rfc822 format available.

Notification sent to Christoph Arenz <tiga.arenz <at> web.de>:
bug acknowledged by developer. (Mon, 06 Apr 2020 13:17:03 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Adrian Parvin Ouano <programmer <at> adrianpar.vin>
Cc: 37057-done <at> debbugs.gnu.org, 37526-done <at> debbugs.gnu.org
Subject: Re: bug#37057: Better explanation
Date: Mon, 06 Apr 2020 16:16:33 +0300
> From: Adrian Parvin Ouano <programmer <at> adrianpar.vin>
> Date: Mon, 06 Apr 2020 04:21:03 +0800
> 
> Actually, I looked into how Emacs handles implicit pushes, and found the
> answer to *my* problem, not sure if the same is with yours. Emacs Calc
> uses `unread-command-events` in order to perform the addition. That is,
> 
> 1 1+
> (space verbatim)
> is read as:
> 1 1++
> where the first + pushes into the Calc stack, and pushes "+" into the
> command queue, for the Calc stack to process as addition.

This bug (and a similar bug#37526) are already fixed in what will
become Emacs 27, we just forgot to close them.  Closing now.

Thanks.




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

This bug report was last modified 3 years and 350 days ago.

Previous Next


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