Steel Bank Common Lisp

Warning about package lock violation during compile-time

Reported by Stas Boukarev on 2010-11-15
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Wishlist
Unassigned

Bug Description

Doing COMPILE-FILE on something like "(defun car (x) x)" doesn't warn about package lock violation, the error will be signaled only when loading the produced file.

I got bitten by it when compiling (defun file-length (file) (file-length file)), because it signals its own warning regarding recursive definition of a known function. And the full warning prevented Slime from loading the fasl (failure-p was set to T on compile-file) and I didn't see the package lock violation error.

Attila Lendvai (attila-lendvai) wrote :

this sounds at least related to https://bugs.launchpad.net/sbcl/+bug/675633 (a wish to land compile-time errors in the debugger instead of turning them into compiler error messages).

It's not really related because the package lock isn't violated until LOAD-time, thus there /is/ no error at compile time.

Nikodemus Siivola (nikodemus) wrote :

A full warnings is probably too much, but a style-warning certainly sounds appropriate.

Changed in sbcl:
importance: Undecided → Wishlist
status: New → Triaged
Nikodemus Siivola (nikodemus) wrote :

There are actually valid reasons to make it a full error:

1. Existing inline definitions can get frobbed.

2. The name becomes proclaimed as a function name, if it wasn't one before.

Changed in sbcl:
assignee: nobody → Nikodemus Siivola (nikodemus)
status: Triaged → In Progress
Nikodemus Siivola (nikodemus) wrote :

In 1.0.47.21.

Changed in sbcl:
assignee: Nikodemus Siivola (nikodemus) → nobody
status: In Progress → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers