mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
Shake out a few more symbols
Firstly, find-fdefn on a symbol is *not* redundant with having globladb info since the fdefn goes in its own slot. But also the test was wrong because it's trying to check whether the symbol is currently FBOUNDP. Since FDEFNs can't go away, this change finds a little more to remove. In practice, some un-fboundp symbols aren't removed because they have code references, like STREAM-EXTERNAL-FORMAT calling S-%STREAM-EXTERNAL-FORMAT which is defined only if sb-simple-streams gets loaded, etc, etc.
This commit is contained in:
parent
84ee8f84dd
commit
1c5f82b95e
|
|
@ -405,7 +405,7 @@ Please check that all strings which were not recognizable to the compiler
|
|||
(lambda (symbol accessibility)
|
||||
(declare (ignore accessibility))
|
||||
(or (sb-kernel:symbol-%info symbol)
|
||||
(sb-int:find-fdefn symbol) ; might be redundant with existence of %info, but ok
|
||||
(sb-kernel:%symbol-function symbol)
|
||||
(and (boundp symbol) (not (keywordp symbol)))))
|
||||
;; Release mode: retain all symbols satisfying this intricate test
|
||||
#-sb-devel
|
||||
|
|
@ -471,7 +471,7 @@ Please check that all strings which were not recognizable to the compiler
|
|||
(or (eq accessibility :external) (asm-inst-p symbol))
|
||||
;; By default, retain any symbol with any attachments
|
||||
(or (sb-kernel:symbol-%info symbol)
|
||||
(sb-int:find-fdefn symbol)
|
||||
(sb-kernel:%symbol-function symbol)
|
||||
(and (boundp symbol) (not (keywordp symbol))))))))
|
||||
:verbose nil :print nil)
|
||||
(unintern 'sb-impl::shake-packages 'sb-impl)
|
||||
|
|
|
|||
Loading…
Reference in a new issue