Warning about package lock violation during compile-time

Bug #675584 reported by Stas Boukarev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
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.

Revision history for this message
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).

Revision history for this message
Alastair Bridgewater (alastair-bridgewater) wrote :

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

Revision history for this message
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
Revision history for this message
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
Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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