|
From: | Christoph Arenz |
Subject: | Fwd: Re: Severe regressions in context of keyboard macros |
Date: | Fri, 27 Sep 2019 16:58:59 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 |
FYI -- the bug regarding the input methods and keyboard macros is
now filed in a separate bug report: bug#37526: 27.0.50; double-recording of keys with input-methods and keyboard-macros Thanks, Christoph -------- Forwarded Message --------
On 9/24/19 10:45 AM, Eli Zaretskii wrote: Thanks for the pointers!How about the following patch? It solved the calc bug for me and I could not find other regressions so far.Thanks, but I'd like to avoid changes in keyboard.c on behalf of input . a Lisp program can bind inhibit--record-char to a non-nil value toI think we are on to something here! The sample in quail.el sounded fitting for me at first, but I could not get it working for the calc case. So I took a closer look at input-methods -- that is what quail is used for, right? 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. The calc case should fit nicely with the -postfix case, I thought. However, on master branch 07367e5b95fe31f3d4e994b42b081075501b9b60, I got this: 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 `,' ! --> This closely resembles the reported symptoms for the calc package! 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 showed that all cases were handled correctly back then. So, some of the new ways of handling this are not covering all corner cases, and work wrong with -postfix and calc prefix handling. Does this give any clues what still needs to be fixed? I am lost in the complexity of how the code should handle this... 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! |
[Prev in Thread] | Current Thread | [Next in Thread] |