GNU bug report logs - #46256
[feature/native-comp] AOT eln files ignored if run from build tree

Previous Next

Package: emacs;

Reported by: Andy Moreton <andrewjmoreton <at> gmail.com>

Date: Tue, 2 Feb 2021 11:12:02 UTC

Severity: normal

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

Bug is archived. No further changes may be made.

Full log


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

From: Eli Zaretskii <eliz <at> gnu.org>
To: akrl <at> sdf.org
Cc: 46256 <at> debbugs.gnu.org, andrewjmoreton <at> gmail.com
Subject: Re: bug#46256: [feature/native-comp] AOT eln files ignored if run from
 build tree
Date: Sat, 06 Mar 2021 19:47:14 +0200
> Date: Sat, 06 Mar 2021 17:35:15 +0200
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 46256 <at> debbugs.gnu.org, andrewjmoreton <at> gmail.com
> 
> > The reproducer file is attached.  It is large, so I compressed it.
> > Let me know if you see there anything that could explain the problem.
> 
> More info: if I set comp-speed to 0 or 1, the compilation of subr-x.el
> doesn't crash.

Here's the smallest part of subr-x which causes the crash:

;;; subr-x.el --- extra Lisp functions  -*- lexical-binding:t -*-

(defun internal--build-bindings (bindings)
  "Check and build conditional value forms for BINDINGS."
  (let ((prev-var t))
    (mapcar (lambda (binding)
              (let ((binding (internal--build-binding binding prev-var)))
                (setq prev-var (car binding))
                binding))
            bindings)))

Interestingly, if I remove the first line, there's no crash.  So
lexical-binding has something to do with this.

I cannot see what could trigger the crash.  The fact that 'binding' is
used both as an argument and as the variable which is bound to the
return value, perhaps?

Let me know if you want the C reproducer for this minimal file.

Thanks.




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

Previous Next


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