From 45fabc8f3fad8876627831708ec3c997d46ce4f8 Mon Sep 17 00:00:00 2001
From: Raymond Toy <toy.raymond@gmail.com>
Date: Wed, 6 Mar 2013 00:27:44 -0800
Subject: [PATCH] Fix ticket:76

Missed one place in DO-UNARY-BYTE-BASH to adjust the call to END-MASK
to use a bit offset instead of a byte offset.  This affects anything
that was using DO-UNARY-BYTE-BASH, including REPLACE.
---
 src/code/bit-bash.lisp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/code/bit-bash.lisp b/src/code/bit-bash.lisp
index a9bb688de..ba2706a3c 100644
--- a/src/code/bit-bash.lisp
+++ b/src/code/bit-bash.lisp
@@ -562,7 +562,7 @@
 		(unless (zerop dst-byte-offset)
 		  ;; We are only writing part of the first word, so mask off the
 		  ;; bits we want to preserve.
-		  (let ((mask (end-mask (- dst-byte-offset)))
+		  (let ((mask (end-mask (* vm:byte-bits (- dst-byte-offset))))
 			(orig (funcall dst-ref-fn dst dst-word-offset))
 			(value (funcall src-ref-fn src src-word-offset)))
 		    (declare (type unit mask orig value))
-- 
GitLab