Opened 2 years ago

Closed 2 years ago

#474 closed defect (fixed)

Regression, immediately invoked function expressions

Reported by: Mark Evenson Owned by:
Priority: major Milestone: 1.8.0
Component: other Version: 1.7.1-dev
Keywords: Cc:
Parent Tickets:

Description

Robert Munyer notes in
<https://mailman.common-lisp.net/pipermail/armedbear-devel/2020-September/004134.html>:

The function below works in CCL, CLISP, SBCL and ABCL 1.4.0,
but not in ABCL 1.7.1.

$ java -jar abcl-1.7.1.jar
Armed Bear Common Lisp 1.7.1
Java 1.8.0_265 Oracle Corporation
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.188 seconds.
Startup completed in 0.869 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (defun add3 (foo)
              ((lambda (bar)
                 ((lambda (baz)
                    (1+ baz))
                  (1+ bar)))
               (1+ foo)))
#<THREAD "interpreter" {32B46F86}>: Debugger invoked on condition of type TYPE-ERROR
  The value (LAMBDA (BAZ) (1+ BAZ)) is not of type SYMBOL.
Restarts:
  0: TOP-LEVEL Return to top level.
[1] CL-USER(2):

Change History (2)

comment:1 Changed 2 years ago by Mark Evenson

Offending commit bisected to <https://abcl.org/trac/changeset/14911> in which Alan introduced code for the precompiler which is not taking such an immediate function expression into account.

comment:2 Changed 2 years ago by Mark Evenson

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.