Unhandled errors in compilation of syntactically defective forms

Bug #1738637 reported by Paul F. Dietz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Triaged
Low
Unassigned

Bug Description

Stas Boukarev told me on #sbcl that compiling lisp code should never produce unhandled errors. The mutation tester I had been running had been trapping and ignoring general errors, but after that comment I've modified it to report those as well. There are lots of failures. Here are a few

(compile nil '(lambda () . 1)) ==> type error

(compile nil '(lambda () (count 0 '(1 . 2) :test 'eql))) ==> type error

(compile nil '(lambda () (let ((v1 1) . v2) v1))) ==> type-error

Basically, any place in the compiler where a form is being handled by ordinary lisp functions, the case of the list not being a proper list could cause an error to be signaled. In the COUNT example there a list argument to COUNT is malformed, not a lisp form itself.

I can generate an almost unlimited number of tickets for this, but I've given three examples to get it started.

Stas Boukarev (stassats)
Changed in sbcl:
status: New → Triaged
importance: Undecided → Low
Stas Boukarev (stassats)
tags: added: malformed-source
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.