master: The cerror in cold-fset works fine

stassats via Sbcl-commits <[email protected]> Tue, 28 Jul 2026 16:09:22 +0000
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The branch "master" has been updated in SBCL:
       via  250bd9f16767a5c4644b23a8ff57c0f3e9843e54 (commit)
      from  b576ceb33fcf805b46f6bd0d6eb5794aebb1a0f4 (commit)

- Log -----------------------------------------------------------------
commit 250bd9f16767a5c4644b23a8ff57c0f3e9843e54
Author: Stas Boukarev <[email protected]>
Date:   Tue Jul 28 19:08:11 2026 +0300

    The cerror in cold-fset works fine
    
    Useful especially for slam.sh
---
 src/compiler/generic/genesis.lisp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/compiler/generic/genesis.lisp b/src/compiler/generic/genesis.lisp
index d065d8afb..2fe7a0fe1 100644
--- a/src/compiler/generic/genesis.lisp
+++ b/src/compiler/generic/genesis.lisp
@@ -2236,8 +2236,9 @@ core and return a descriptor to it."
                 (if (symbolp name) (cold-intern name) name))))
     (let ((existing (read-wordindexed fdefn sb-vm:fdefn-fun-slot)))
       (unless (or (cold-null existing) (descriptor= existing function))
-        (error "Function multiply defined: ~S. Was ~x is ~x" name
-               (descriptor-bits existing) (descriptor-bits function))))
+        (cerror "Overwrite" "Function multiply defined: ~S. Was ~x is ~x" name
+                (descriptor-bits existing)
+                (descriptor-bits function))))
     (write-wordindexed fdefn sb-vm:fdefn-fun-slot function)
     (write-wordindexed/raw
      fdefn sb-vm:fdefn-raw-addr-slot
@@ -2251,8 +2252,8 @@ core and return a descriptor to it."
   (let ((fname (if (symbolp name) (cold-intern name) (ensure-cold-fdefn name))))
     (let ((existing (read-bits-wordindexed fname sb-vm:fdefn-fun-slot)))
       (unless (or (zerop existing) (= existing (descriptor-bits function)))
-        (error "Function multiply defined: ~S. Was ~x is ~x" name
-               existing (descriptor-bits function))))
+        (cerror "Overwrite" "Function multiply defined: ~S. Was ~x is ~x" name
+                existing (descriptor-bits function))))
     (write-wordindexed fname sb-vm:fdefn-fun-slot function)
     fname))
 

-----------------------------------------------------------------------


hooks/post-receive
-- 
SBCL