mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-16 06:12:25 -08:00
When parsing a function type that contained &optional, the compiler did not eliminate this word before parsing the next argument.
This commit is contained in:
parent
20d4a35287
commit
ff7d1fa480
2 changed files with 7 additions and 1 deletions
|
|
@ -28,6 +28,9 @@ ECL 10.2.1:
|
|||
|
||||
- Internal variable MP:*ALLOW-WITH-INTERRUPTS* was not declared special.
|
||||
|
||||
- The compiler now understands function type proclamations with &optional
|
||||
values.
|
||||
|
||||
* Visible changes:
|
||||
|
||||
- Significant speedup in access to hash tables of up to 30% by writing
|
||||
|
|
|
|||
|
|
@ -153,6 +153,7 @@
|
|||
((null tag1)
|
||||
(setf c::*compiler-break-enable* t)
|
||||
;(error "foo")
|
||||
(break)
|
||||
(cmpwarn "Unknown type ~S. Assuming it is T." t1)
|
||||
t2)
|
||||
(t
|
||||
|
|
@ -545,7 +546,9 @@
|
|||
(when in-optionals
|
||||
(cmpwarn "Syntax error in type proclamation for function ~A.~&~A"
|
||||
fname arg-types))
|
||||
(setf in-optionals t))
|
||||
(setf in-optionals t
|
||||
types (rest types)
|
||||
expected-type (first types)))
|
||||
(when (endp fl)
|
||||
(unless in-optionals
|
||||
(cmpwarn "Too few arguments for proclaimed function ~A" fname))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue