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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 45576 in the body.
You can then email your comments to 45576 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#45576; Package emacs. (Thu, 31 Dec 2020 20:38:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "gliao.tw <at> pm.me" <gliao.tw <at> pm.me>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 31 Dec 2020 20:38:02 GMT) Full text and rfc822 format available.

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

From: "gliao.tw <at> pm.me" <gliao.tw <at> pm.me>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Subject: 28.0.50 [native-comp] some functions in eshell stop functioning after
 commit 0593f478762437e2a8618f3f874a26424e4590b4
Date: Thu, 31 Dec 2020 20:37:31 +0000
Hi,

on and after commit 0593f478762437e2a8618f3f874a26424e4590b4 of feature/native-comp branch, some of eshell's features/functions (such as syntax highlight according to file types and exit function) stop working or not working properly after loaded from eln, as the screenshot in the first attachment shows.

For comparison, the second attachment is a screenshot of a build on commit 3f00d666e9674ba18f1ded490a27ac2868a32a88, which shows eshell loaded from eln working properly without issues.

Thanks,
Kiong-Ge.

------

System info:


In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0)
 of 2020-12-31 built on Sid2KGW0
Repository revision: 0593f478762437e2a8618f3f874a26424e4590b4
Repository branch: HEAD
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description: Debian GNU/Linux bullseye/sid

Configured using:
 'configure --prefix=/home/kiong-ge/.local/emacs/native-comp
 --enable-check-lisp-object-type --enable-link-time-optimization
 --with-modules --with-xwidgets --with-cairo --with-nativecomp
 --with-mailutils'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY
INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF
ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES NATIVE_COMP THREADS
XWIDGETS LIBSYSTEMD JSON PDUMPER LCMS2

Important settings:
  value of $LC_ALL: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Eshell

Minor modes in effect:
  eshell-prompt-mode: t
  eshell-hist-mode: t
  eshell-pred-mode: t
  eshell-cmpl-mode: t
  pyvenv-mode: t
  eshell-proc-mode: t
  eshell-arg-mode: t
  sly-symbol-completion-mode: t
  dap-ui-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: deferred
  treemacs-fringe-indicator-mode: t
  dap-mode: t
  shell-dirtrack-mode: t
  doom-modeline-mode: t
  show-paren-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/kiong-ge/.config/emacs/28/elpa/lispy-20201226.1746/elpa hides /home/kiong-ge/.config/emacs/28/elpa/ivy-20201218.1222/elpa

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec epa epg
epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr base16-unikitty-light-theme
em-unix em-term em-script em-prompt em-ls em-hist em-pred em-glob
em-dirs esh-var em-cmpl em-basic em-banner em-alias esh-mode mule-util
rainbow-delimiters elec-pair base16-atelier-forest-light-theme my-init
configs wrtng-configs cj5input-dvorak-ergonomic quail imath imaxima
maxima maxima-font-lock imaxima-autoconf-variables cl prgmg-configs
highlight-indentation company-capf elpy elpy-rpc pyvenv eshell esh-cmd
esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util
elpy-shell elpy-profile elpy-django elpy-refactor diff-mode python ido
rust-mode dap-java lsp-java request autorevert mail-utils cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs google-c-style haskell-mode haskell-cabal haskell-utils
haskell-font-lock haskell-indentation haskell-string
haskell-sort-imports haskell-lexeme haskell-align-imports
haskell-complete-module haskell-ghc-support flymake-proc flymake dabbrev
haskell-customize le-clojure cider-find cider tramp-sh cider-debug
cider-browse-ns cider-mode cider-inspector cider-completion
cider-profile cider-eval cider-repl-history cider-repl cider-resolve
cider-test cider-overlays cider-stacktrace cider-doc cider-browse-spec
cider-clojuredocs cider-eldoc cider-client cider-common cider-connection
cider-util cider-popup sesman-browser nrepl-client tramp tramp-loaddefs
trampver tramp-integration files-x tramp-compat parse-time iso8601
time-date ls-lisp format-spec queue nrepl-dict cider-compat sesman vc
vc-dispatcher clojure-mode lisp-mnt align parseedn parseclj-parser
parseclj-lex a geiser sly sly-completion sly-buttons sly-messages
sly-common apropos slime arc-mode archive-mode hyperspec lispy swiper
ivy ivy-faces ivy-overlay colir delsel lispy-inline avy etags fileloop
generator edebug backtrace help-fns radix-tree lispy-tags mode-local
dap-ui lsp-treemacs lsp-treemacs-themes treemacs treemacs-header-line
treemacs-compatibility treemacs-mode treemacs-bookmarks treemacs-tags
treemacs-interface treemacs-extensions treemacs-persistence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals
treemacs-fringe-indicator treemacs-scope pulse treemacs-faces
treemacs-icons treemacs-themes treemacs-core-utils pfuture hl-line
treemacs-logging treemacs-customization treemacs-macros gdb-mi gud bui
bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils
cus-edit cus-start cus-load lsp-lens dap-mode dap-launch posframe
dap-overlays lsp-ui lsp-ui-flycheck derived lsp-ui-doc xwidget bookmark
pp goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline face-remap
flycheck find-func company-lsp company hydra lsp-mode lsp-protocol xref
project tree-widget wid-edit spinner network-stream puny nsm rmc
markdown-mode color noutline outline lv inline imenu ht filenotify ewoc
dash-functional bindat yasnippet projectile grep compile
text-property-search ibuf-ext ibuffer ibuffer-loaddefs thingatpt
ui-configs multi-term eterm-256color term disp-table shell pcomplete
ehelp comint ansi-color ring xterm-color base16-default-light-theme
base16-theme doom-modeline doom-modeline-segments doom-modeline-env
doom-modeline-core shrink-path f s all-the-icons all-the-icons-faces
data-material data-weathericons data-octicons data-fileicons
data-faicons data-alltheicons memoize load-theme-buffer-local noflet
cl-indent paren dash edmacro kmacro gnl-configs advice dired+
image-dired image-mode exif image-file image-converter dired-x dired-aux
dired dired-loaddefs use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode
use-package-core finder-inf slime-autoloads info package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap url-handlers url-parse auth-source eieio
eieio-core eieio-loaddefs password-cache json map url-vars comp
comp-cstr warnings subr-x rx cl-seq cl-macs cl-extra help-mode easymenu
seq byte-opt gv cl-loaddefs cl-lib bytecomp byte-compile cconv
iso-transl 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 tab-bar menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame minibuffer 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
cl-preloaded nadvice button loaddefs faces cus-face pcase macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads
xwidget-internal dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit
x multi-tty make-network-process nativecomp emacs)

Memory information:
((conses 16 1094351 509735)
 (symbols 48 52927 81)
 (strings 32 303653 190518)
 (string-bytes 1 7675860)
 (vectors 16 148515)
 (vector-slots 8 1662689 710346)
 (floats 8 1177 4055)
 (intervals 56 1454 976)
 (buffers 984 15))


-----










Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45576; Package emacs. (Thu, 31 Dec 2020 21:54:02 GMT) Full text and rfc822 format available.

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

From: "gliao.tw <at> pm.me" <gliao.tw <at> pm.me>
To: "45576 <at> debbugs.gnu.org" <45576 <at> debbugs.gnu.org>
Subject: Re: bug#45576: Acknowledgement (28.0.50 [native-comp] some functions
 in eshell stop functioning after commit
 0593f478762437e2a8618f3f874a26424e4590b4)
Date: Thu, 31 Dec 2020 21:53:07 +0000
[Message part 1 (text/plain, inline)]
the two screenshots are attached 
[eshell-on-emacs-native-comp-commit-0593f478762437e2a8618f3f874a26424e4590b4.png (image/png, attachment)]
[eshell-emacs-native-comp-commit-3f00d666e9674ba18f1ded490a27ac2868a32a88.png (image/png, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45576; Package emacs. (Fri, 01 Jan 2021 17:52:02 GMT) Full text and rfc822 format available.

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

From: "gliao.tw <at> pm.me" <gliao.tw <at> pm.me>
To: "45576 <at> debbugs.gnu.org" <45576 <at> debbugs.gnu.org>,
 "akrl <at> sdf.org" <akrl <at> sdf.org>
Subject: Re: bug#45576: 28.0.50 [native-comp] some functions in eshell stop
 functioning after commit 0593f478762437e2a8618f3f874a26424e4590b4
Date: Fri, 01 Jan 2021 17:51:22 +0000
Hi, 

I just found that on or after commit #0593f478762437e2a8618f3f874a26424e4590b4, the eshell's "eshell-prefer-lisp-functions" variable is always ignored.
For example, "exit" command does not work, I have to type "(eshell/exit)" to close a eshell window.

Not sure if this is related to the type inference works in recent commits mentionde in gccemacs update #13.

Thanks,
Kiong-Ge.






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45576; Package emacs. (Fri, 01 Jan 2021 19:11:02 GMT) Full text and rfc822 format available.

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

From: "gliao.tw <at> pm.me" <gliao.tw <at> pm.me>
To: "45576 <at> debbugs.gnu.org" <45576 <at> debbugs.gnu.org>,
 "akrl <at> sdf.org" <akrl <at> sdf.org>
Subject: Re: bug#45576: 28.0.50 [native-comp] some functions in eshell stop
 functioning after commit 0593f478762437e2a8618f3f874a26424e4590b4
Date: Fri, 01 Jan 2021 19:09:45 +0000
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.

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

On Friday, January 1st, 2021 at 11:51 AM, gliao.tw <at> pm.me <gliao.tw <at> pm.me> wrote:

> Hi, 
>
> I just found that on or after commit #0593f478762437e2a8618f3f874a26424e4590b4, the eshell's "eshell-prefer-lisp-functions" variable is always ignored.
>
> For example, "exit" command does not work, I have to type "(eshell/exit)" to close a eshell window.
>
> Not sure if this is related to the type inference works in recent commits mentionde in gccemacs update #13.
>
> Thanks,
>
> Kiong-Ge.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45576; Package emacs. (Fri, 01 Jan 2021 19:15:01 GMT) Full text and rfc822 format available.

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

From: Andrea Corallo <akrl <at> sdf.org>
To: gliao.tw <at> pm.me
Cc: "45576 <at> debbugs.gnu.org" <45576 <at> debbugs.gnu.org>
Subject: Re: bug#45576: 28.0.50 [native-comp] some functions in eshell stop
 functioning after commit 0593f478762437e2a8618f3f874a26424e4590b4
Date: Fri, 01 Jan 2021 19:14:56 +0000
"gliao.tw <at> pm.me" <gliao.tw <at> pm.me> writes:

> Hi, 

Hi Kiong-Ge,

> I just found that on or after commit #0593f478762437e2a8618f3f874a26424e4590b4, the eshell's "eshell-prefer-lisp-functions" variable is always ignored.
> For example, "exit" command does not work, I have to type "(eshell/exit)" to close a eshell window.
>
> Not sure if this is related to the type inference works in recent commits mentionde in gccemacs update #13.

this is very possible.  I can reproduce it, I'll have a look.

Thanks

  Andrea




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45576; Package emacs. (Fri, 01 Jan 2021 21:13:01 GMT) Full text and rfc822 format available.

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

From: Andrea Corallo <akrl <at> sdf.org>
To: gliao.tw <at> pm.me
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>,
 "45576 <at> debbugs.gnu.org" <45576 <at> debbugs.gnu.org>
Subject: Re: bug#45576: 28.0.50 [native-comp] some functions in eshell stop
 functioning after commit 0593f478762437e2a8618f3f874a26424e4590b4
Date: Fri, 01 Jan 2021 21:12:36 +0000
"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.

  Andrea




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45576; Package emacs. (Fri, 01 Jan 2021 22:56:02 GMT) Full text and rfc822 format available.

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

From: "gliao.tw <at> pm.me" <gliao.tw <at> pm.me>
To: akrl <at> sdf.org
Cc: monnier <at> iro.umontreal.ca, 45576 <at> debbugs.gnu.org
Subject: Re: bug#45576: 28.0.50 [native-comp] some functions in eshell stop
 functioning after commit 0593f478762437e2a8618f3f874a26424e4590b4
Date: Fri, 01 Jan 2021 22:55:02 +0000
[Message part 1 (text/plain, inline)]
Indeed,
(functionp (func1 x)) does not imply (functionp x)

Sent from ProtonMail mobile

-------- Original Message --------
On Jan 1, 2021, 15:12, Andrea Corallo wrote:

> "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.
>
> Andrea
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45576; Package emacs. (Sat, 02 Jan 2021 12:12:02 GMT) Full text and rfc822 format available.

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

From: Andrea Corallo <akrl <at> sdf.org>
To: gliao.tw <at> pm.me
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>,
 "45576 <at> debbugs.gnu.org" <45576 <at> debbugs.gnu.org>
Subject: Re: bug#45576: 28.0.50 [native-comp] some functions in eshell stop
 functioning after commit 0593f478762437e2a8618f3f874a26424e4590b4
Date: Sat, 02 Jan 2021 12:11:13 +0000
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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45576; Package emacs. (Sat, 02 Jan 2021 14:19:01 GMT) Full text and rfc822 format available.

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

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: Re: 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




Reply sent to Andrea Corallo <akrl <at> sdf.org>:
You have taken responsibility. (Sat, 02 Jan 2021 21:09:01 GMT) Full text and rfc822 format available.

Notification sent to "gliao.tw <at> pm.me" <gliao.tw <at> pm.me>:
bug acknowledged by developer. (Sat, 02 Jan 2021 21:09:01 GMT) Full text and rfc822 format available.

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

From: Andrea Corallo <akrl <at> sdf.org>
To: gliao.tw <at> pm.me
Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>, 45576-done <at> debbugs.gnu.org
Subject: Re: bug#45576: 28.0.50 [native-comp] some functions in eshell stop
 functioning after commit 0593f478762437e2a8618f3f874a26424e4590b4
Date: Sat, 02 Jan 2021 21:08:34 +0000
"gliao.tw <at> pm.me" <gliao.tw <at> pm.me> writes:

> Hi Andrea,
> I can confirm that commit #	43d0e8483e5b51aec1347b8a2ed53acae34a9811  solves the issue.
>
> Thanks,
> Kiong-Ge.

Very nice, closing

Thanks for reporting it!

  Andrea




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 31 Jan 2021 12:24:07 GMT) Full text and rfc822 format available.

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

Previous Next


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