From 3dc3f1c5ba9911fc476848d60dfa3740d6d17cdc Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Mon, 25 Feb 1991 18:54:17 +0000
Subject: [PATCH] Added RETURN-FROM around the calls to ERROR in the
 NUMBER-DISPATCH expansion so that the compiler will know that the tagbody
 never drops through.

---
 code/numbers.lisp | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/code/numbers.lisp b/code/numbers.lisp
index 563c481e8..a3483ba25 100644
--- a/code/numbers.lisp
+++ b/code/numbers.lisp
@@ -7,11 +7,11 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/numbers.lisp,v 1.17 1991/02/08 13:34:19 ram Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/numbers.lisp,v 1.18 1991/02/25 18:54:17 ram Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/numbers.lisp,v 1.17 1991/02/08 13:34:19 ram Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/numbers.lisp,v 1.18 1991/02/25 18:54:17 ram Exp $
 ;;;
 ;;; This file contains the definitions of most number functions.
 ;;;
@@ -148,12 +148,14 @@
 	      (tag (gensym)))
 	  (error-tags tag)
 	  (errors tag)
-	  (errors `(error 'simple-type-error :datum ,var
-			  :expected-type ',type
-			  :format-string
-			  "Argument ~A is not a ~S: ~S."
-			  :format-arguments
-			  (list ',var ',type ,var)))))
+	  (errors `(return-from
+		    ,block
+		    (error 'simple-type-error :datum ,var
+			   :expected-type ',type
+			   :format-string
+			   "Argument ~A is not a ~S: ~S."
+			   :format-arguments
+			   (list ',var ',type ,var))))))
       
       `(block ,block
 	 (tagbody
-- 
GitLab