GNU bug report logs - #45576
28.0.50 [native-comp] some functions in eshell stop functioning after commit 0593f478762437e2a8618f3f874a26424e4590b4

Previous Next

Package: emacs;

Reported by: "gliao.tw <at> pm.me" <gliao.tw <at> pm.me>

Date: Thu, 31 Dec 2020 20:38:01 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: "gliao.tw <at> pm.me" <gliao.tw <at> pm.me>
To: Andrea Corallo <akrl <at> sdf.org>
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>, "45576 <at> debbugs.gnu.org" <45576 <at> debbugs.gnu.org>
Subject: bug#45576: 28.0.50 [native-comp] some functions in eshell stop functioning after commit 0593f478762437e2a8618f3f874a26424e4590b4
Date: Sat, 02 Jan 2021 14:17:49 +0000
Hi Andrea,
I can confirm that commit #	43d0e8483e5b51aec1347b8a2ed53acae34a9811  solves the issue.

Thanks,
Kiong-Ge.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Saturday, January 2nd, 2021 at 6:11 AM, Andrea Corallo <akrl <at> sdf.org> wrote:

> Andrea Corallo via "Bug reports for GNU Emacs, the Swiss army knife of
>
> text editors" bug-gnu-emacs <at> gnu.org writes:
>
> > "gliao.tw <at> pm.me" gliao.tw <at> pm.me writes:
> >
> > > Hi,
> > >
> > > More precisely, in this case, the "eshell-find-alias-function" definded in $EMACS_DIR/share/emacs/28.0.50/lisp/eshell/esh-cmd.el.gz seems where the issue pops up.
> > >
> > > Before commit #0593f478762437e2a8618f3f874a26424e4590b4,
> > >
> > > (eshell-find-alias-function "ls") shows
> > >
> > > "eshell/ls"
> > >
> > > but on or after commit #0593f478762437e2a8618f3f874a26424e4590b4, the same command shows
> > >
> > > "nil"
> > >
> > > Both cases are based on functions loaded from eshell.el.gz and esh-cmd.el's corresponding eln files.
> > >
> > > It seems that some part of the type inference code added recently lead to this unexpected result.
> > >
> > > Thanks,
> > >
> > > Kiong-Ge.
> >
> > I see what's going, this is very funny :)
> >
> > I've used the alist producing `cl-deftype-satisfies' and reversed it to
> >
> > get the relation type-predicate -> type.
> >
> > But doing this way satisfying `functionp' implies the argument being a
> >
> > function (while indeed it can be also a symbol).
> >
> > Using this information the compiler cleverly proves the output of
> >
> > `eshell-find-alias-function' being always nil.
> >
> > So I guess the relation type <-> predicate in the alist used to build
> >
> > `cl-deftype-satisfies' is correct but not bijective and cannot simply be
> >
> > reversed to produce what I use.
> >
> > I'll come up with a fix tomorrow.
>
> Right 43d0e8483e fix it for me, could you give a try?
>
> Thanks!
>
> Andrea




This bug report was last modified 4 years and 225 days ago.

Previous Next


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