From 5b74a278be127aeb2558562654e1c662e4d742b5 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Tue, 10 Jul 1990 13:17:58 +0000
Subject: [PATCH] Fixed ASH to return 0 rather than -1 when there is a large
 negative shift, but the number is positive.

---
 code/numbers.lisp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/code/numbers.lisp b/code/numbers.lisp
index c027f8360..66ada40e0 100644
--- a/code/numbers.lisp
+++ b/code/numbers.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/numbers.lisp,v 1.8 1990/07/09 14:13:42 ram Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/numbers.lisp,v 1.9 1990/07/10 13:17:58 ram Exp $
 ;;;
 ;;; This file contains the definitions of most number functions.
 ;;;
@@ -964,13 +964,11 @@
 			  (> (+ length count)
 			     (integer-length most-positive-fixnum)))
 		     (bignum-ashift-left (make-small-bignum integer) count))
-		    ((and (minusp count) (< count (- length)))
-		     -1)
 		    (t
 		     (truly-the fixnum
 				(ash (truly-the fixnum integer) count))))))
 	   ((minusp count)
-	    -1)
+	    (if (minusp integer) -1 0))
 	   (t
 	    (bignum-ashift-left (make-small-bignum integer) count))))
     (bignum
-- 
GitLab