diff options
author | Christophe Rhodes <csr21@cantab.net> | 2024-05-22 15:09:37 +0100 |
---|---|---|
committer | Christophe Rhodes <csr21@cantab.net> | 2024-05-30 19:28:01 +0100 |
commit | a13a1c2dd6ccb115db9146f7b0931c3100e08b35 (patch) | |
tree | 933edd53a56bc418b31344718cd36a046abe1eb3 /NEWS | |
parent | b8af399c0820e2c935d117a0408d81406d0784ac (diff) |
Improve NAME-CONFLICT for IMPORT
Collect all symbols of the same name from the designated list of
symbols to import, so that in the case of collisions between imported
symbols (and possibly already-accessible symbols) we can present the
user with a single such conflict to resolve (per name) rather than a
sequence of them.
Make NAME-CONFLICT for IMPORT take as a datum not a single symbol, but
all the symbols requested for import of the same name. Any
already-accessible symbol should be passed in as an element of the
SYMBOLS &rest list.
Make the pairwise restarts SHADOWING-IMPORT-IT and DONT-IMPORT-IT only
active when there are two symbols involved in the conflict, one of
which is accesible.
A comment (but not much of the subsequent code) is invalidated by this
change, so delete it. Instead, make sure that if there is no current
accessible symbol of the name being imported, the resulting operation
should be an IMPORT, not a SHADOWING-IMPORT.
This fixes long-standing test :IMPORT-SINGLE-CONFLICT in
packages.impure.lisp
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -1,5 +1,9 @@ ;;;; -*- coding: utf-8; fill-column: 78 -*- +changes relative to sbcl-2.4.5: + * enhancement: name conflicts resulting from colliding symbols in IMPORT are + resolved once for each name, rather than pairwise. + changes in sbcl-2.4.5 relative to sbcl-2.4.4: * incompatible change: attempting to pass or return alien structs by value now signals errors. Previously, such attempts would silently tend to |