* bug#38642: 'C-x RET c' gets stuck in universal-argument loop
@ 2019-12-16 21:56 Juri Linkov
2019-12-16 23:07 ` Andreas Schwab
0 siblings, 1 reply; 9+ messages in thread
From: Juri Linkov @ 2019-12-16 21:56 UTC (permalink / raw)
To: 38642
emacs -Q
C-x RET c ;; universal-coding-system-argument
RET ;; accept default e.g. utf-8-unix
C-u C-b ;; moves backwards 4 chars
C-b C-b C-b ...
Every C-b still moves backwards 4 chars because it gets stuck with an old
'prefix-arg' in the 'while' loop in 'universal-coding-system-argument'.
It gets out of this loop only on an error such as when point reaches
the beginning of the buffer that signals an error.
PS: this is the simplest reproducible case, but I found this bug
by trying to use 'C-x RET c C-u C-u M-x rgrep' that with two C-u prefixes
allows editing the grep command.
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38642: 'C-x RET c' gets stuck in universal-argument loop
2019-12-16 21:56 bug#38642: 'C-x RET c' gets stuck in universal-argument loop Juri Linkov
@ 2019-12-16 23:07 ` Andreas Schwab
2019-12-17 16:11 ` Eli Zaretskii
0 siblings, 1 reply; 9+ messages in thread
From: Andreas Schwab @ 2019-12-16 23:07 UTC (permalink / raw)
To: Juri Linkov; +Cc: 38642, Stefan Monnier
On Dez 16 2019, Juri Linkov wrote:
> emacs -Q
> C-x RET c ;; universal-coding-system-argument
> RET ;; accept default e.g. utf-8-unix
> C-u C-b ;; moves backwards 4 chars
> C-b C-b C-b ...
>
> Every C-b still moves backwards 4 chars because it gets stuck with an old
> 'prefix-arg' in the 'while' loop in 'universal-coding-system-argument'.
It makes assumptions about universal-argument-map that are no longer
true since commit 02ef6c1a8a.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38642: 'C-x RET c' gets stuck in universal-argument loop
2019-12-16 23:07 ` Andreas Schwab
@ 2019-12-17 16:11 ` Eli Zaretskii
2019-12-20 22:52 ` Stefan Monnier
0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2019-12-17 16:11 UTC (permalink / raw)
To: Andreas Schwab; +Cc: 38642, monnier, juri
> From: Andreas Schwab <schwab@linux-m68k.org>
> Date: Tue, 17 Dec 2019 00:07:25 +0100
> Cc: 38642@debbugs.gnu.org, Stefan Monnier <monnier@iro.umontreal.ca>
>
> > emacs -Q
> > C-x RET c ;; universal-coding-system-argument
> > RET ;; accept default e.g. utf-8-unix
> > C-u C-b ;; moves backwards 4 chars
> > C-b C-b C-b ...
> >
> > Every C-b still moves backwards 4 chars because it gets stuck with an old
> > 'prefix-arg' in the 'while' loop in 'universal-coding-system-argument'.
>
> It makes assumptions about universal-argument-map that are no longer
> true since commit 02ef6c1a8a.
Stefan, any ideas for how to fix this unintended consequence?
TIA
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38642: 'C-x RET c' gets stuck in universal-argument loop
2019-12-17 16:11 ` Eli Zaretskii
@ 2019-12-20 22:52 ` Stefan Monnier
2019-12-21 7:10 ` Eli Zaretskii
0 siblings, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2019-12-20 22:52 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Andreas Schwab, 38642-done, juri
> Stefan, any ideas for how to fix this unintended consequence?
I installed a patch which seems to fix it. We should rewrite this
function completely, but I tried to minimize the changes for now.
Stefan
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38642: 'C-x RET c' gets stuck in universal-argument loop
2019-12-20 22:52 ` Stefan Monnier
@ 2019-12-21 7:10 ` Eli Zaretskii
2019-12-23 21:09 ` Stefan Monnier
2020-01-19 22:11 ` Stefan Monnier
0 siblings, 2 replies; 9+ messages in thread
From: Eli Zaretskii @ 2019-12-21 7:10 UTC (permalink / raw)
To: Stefan Monnier; +Cc: schwab, 38642, juri
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Andreas Schwab <schwab@linux-m68k.org>, juri@linkov.net,
> 38642-done@debbugs.gnu.org
> Date: Fri, 20 Dec 2019 17:52:17 -0500
>
> > Stefan, any ideas for how to fix this unintended consequence?
>
> I installed a patch which seems to fix it. We should rewrite this
> function completely, but I tried to minimize the changes for now.
Thanks. I think a more radical change could be installed after the
release branch is cut.
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38642: 'C-x RET c' gets stuck in universal-argument loop
2019-12-21 7:10 ` Eli Zaretskii
@ 2019-12-23 21:09 ` Stefan Monnier
2020-01-19 22:11 ` Stefan Monnier
1 sibling, 0 replies; 9+ messages in thread
From: Stefan Monnier @ 2019-12-23 21:09 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: schwab, 38642, juri
> Thanks. I think a more radical change could be installed after the
> release branch is cut.
I have a completely different implementation here, but I'll wait some
more to install it on `master` so the Emacs-27 gets more testing.
Stefan
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38642: 'C-x RET c' gets stuck in universal-argument loop
2019-12-21 7:10 ` Eli Zaretskii
2019-12-23 21:09 ` Stefan Monnier
@ 2020-01-19 22:11 ` Stefan Monnier
2020-01-20 16:24 ` Eli Zaretskii
1 sibling, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2020-01-19 22:11 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: schwab, 38642-done, juri
> Thanks. I think a more radical change could be installed after the
> release branch is cut.
Done,
Stefan
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38642: 'C-x RET c' gets stuck in universal-argument loop
2020-01-19 22:11 ` Stefan Monnier
@ 2020-01-20 16:24 ` Eli Zaretskii
2020-01-20 17:01 ` Stefan Monnier
0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2020-01-20 16:24 UTC (permalink / raw)
To: Stefan Monnier; +Cc: schwab, 38642, juri
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: schwab@linux-m68k.org, juri@linkov.net, 38642-done@debbugs.gnu.org
> Date: Sun, 19 Jan 2020 17:11:26 -0500
>
> > Thanks. I think a more radical change could be installed after the
> > release branch is cut.
>
> Done,
Thanks, but this:
(remove-hook 'pre-command-hook #'mule-cmds--prefixed-command)
should be
(remove-hook 'pre-command-hook #'mule-cmds--prefixed-command-pch)
right?
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#38642: 'C-x RET c' gets stuck in universal-argument loop
2020-01-20 16:24 ` Eli Zaretskii
@ 2020-01-20 17:01 ` Stefan Monnier
0 siblings, 0 replies; 9+ messages in thread
From: Stefan Monnier @ 2020-01-20 17:01 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: schwab, 38642, juri
> Thanks, but this:
>
> (remove-hook 'pre-command-hook #'mule-cmds--prefixed-command)
>
> should be
>
> (remove-hook 'pre-command-hook #'mule-cmds--prefixed-command-pch)
>
> right?
Duh! Even the byte-compiler noticed it for me. Not sure how I missed it.
Thanks,
Stefan
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-01-20 17:01 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-16 21:56 bug#38642: 'C-x RET c' gets stuck in universal-argument loop Juri Linkov
2019-12-16 23:07 ` Andreas Schwab
2019-12-17 16:11 ` Eli Zaretskii
2019-12-20 22:52 ` Stefan Monnier
2019-12-21 7:10 ` Eli Zaretskii
2019-12-23 21:09 ` Stefan Monnier
2020-01-19 22:11 ` Stefan Monnier
2020-01-20 16:24 ` Eli Zaretskii
2020-01-20 17:01 ` Stefan Monnier
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).