diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile --- a/lang/sbcl/Makefile +++ b/lang/sbcl/Makefile @@ -5,6 +5,7 @@ PORTNAME= sbcl DISTVERSION= 2.4.11 DISTVERSIONSUFFIX= -source +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= lang lisp MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTVERSION} \ diff --git a/lang/sbcl/files/patch-src_compiler_ir1util.lisp b/lang/sbcl/files/patch-src_compiler_ir1util.lisp new file mode 100644 --- /dev/null +++ b/lang/sbcl/files/patch-src_compiler_ir1util.lisp @@ -0,0 +1,12 @@ +--- src/compiler/ir1util.lisp.orig 2024-11-30 10:23:33 UTC ++++ src/compiler/ir1util.lisp +@@ -308,6 +308,9 @@ + (defun erase-lvar-type (lvar) + (when lvar + (setf (lvar-%derived-type lvar) nil) ++ (loop for annotation in (lvar-annotations lvar) ++ when (lvar-type-annotation-p annotation) ++ do (setf (lvar-annotation-fired annotation) t)) + (let ((dest (lvar-dest lvar))) + (cond ((cast-p dest) + (derive-node-type dest *wild-type* :from-scratch t)