GNU bug report logs - #40653
28.0.50; (fset 'yes-or-no-p 'y-or-n-p) has no effect in native-comp branch

Previous Next

Package: emacs;

Reported by: Andrey Orst <andreyorst <at> gmail.com>

Date: Thu, 16 Apr 2020 08:00:02 UTC

Severity: normal

Found in version 28.0.50

Done: Andrea Corallo <akrl <at> sdf.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Andrea Corallo <akrl <at> sdf.org>
To: Andrey Orst <andreyorst <at> gmail.com>
Cc: 40653 <at> debbugs.gnu.org, luknax <at> sdf.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: bug#40653: 28.0.50; (fset 'yes-or-no-p 'y-or-n-p) has no effect in native-comp branch
Date: Thu, 16 Apr 2020 09:01:05 +0000
Andrey Orst <andreyorst <at> gmail.com> writes:

> Call `emacs -q` do `M-x ansi-term RET` try to kill buffer - a prompt
> with `yes` or `no` will be provided. Cancel and call `M-: (fset
> 'yes-or-no-p 'y-or-n-p) RET`, and try to kill ansi-term buffer
> again. Prompt will still ask to input `yes` or `no` instead of `y` or
> `n`. Works in master branch of Emacs run with `-q`.

Hi Andrey,

The issue is that here we are shadowing with an alias a primitive C
subr.

Compiling speed 2 the assumption is that these are not redefined or
advised (the manual warns about doing that).  Function calls to C
primitives at speed 2 are hardcoded for performance reasons in the
generated code.

We have a customize listing exceptions for that
`comp-never-optimize-functions'.

You should solve the issue adding `yes-or-no-p' to this customize and
recompiling.

Now what I'm not sure of is if we want to add `yes-or-no-p' by default
there given that `yes-or-no-p' is never perf critical.  The only issue I
see is that could be the first exception of many.

On the other hand customizing `comp-never-optimize-functions' will solve
the issue only for external packages because you likely already have
compiled the whole Emacs with the default setting...

So yeah I think we should probably add `yes-or-no-p' to
`comp-never-optimize-functions' and accept that we will probably end-up
with few other ecceptions :/

Opinions on this are welcome.

Andrea

-- 
akrl <at> sdf.org




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

Previous Next


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