changeset 71870:a0954041b695

(Fbyte_code): Use CAR, CDR for Bcar, Bcdr. Use CAR_SAFE, CDR_SAFE for Bcar_safe, Bcdr_safe. Simplify loops and use CAR for Bnth and Belt.
author Kim F. Storm <storm@cua.dk>
date Thu, 13 Jul 2006 13:43:38 +0000
parents 5ccd38cf83f4
children dcd566ed4e9b
files src/bytecode.c
diffstat 1 files changed, 10 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
--- a/src/bytecode.c	Thu Jul 13 13:43:26 2006 +0000
+++ b/src/bytecode.c	Thu Jul 13 13:43:38 2006 +0000
@@ -541,12 +541,7 @@
 	  {
 	    Lisp_Object v1;
 	    v1 = TOP;
-	    if (CONSP (v1))
-	      TOP = XCAR (v1);
-	    else if (NILP (v1))
-	      TOP = Qnil;
-	    else
-	      wrong_type_argument (Qlistp, v1);
+	    TOP = CAR (v1);
 	    break;
 	  }
 
@@ -572,12 +567,7 @@
 	  {
 	    Lisp_Object v1;
 	    v1 = TOP;
-	    if (CONSP (v1))
-	      TOP = XCDR (v1);
-	    else if (NILP (v1))
-	      TOP = Qnil;
-	    else
-	      wrong_type_argument (Qlistp, v1);
+	    TOP = CDR (v1);
 	    break;
 	  }
 
@@ -912,23 +902,10 @@
 	    AFTER_POTENTIAL_GC ();
 	    op = XINT (v2);
 	    immediate_quit = 1;
-	    while (--op >= 0)
-	      {
-		if (CONSP (v1))
-		  v1 = XCDR (v1);
-		else if (!NILP (v1))
-		  {
-		    immediate_quit = 0;
-		    wrong_type_argument (Qlistp, v1);
-		  }
-	      }
+	    while (--op >= 0 && CONSP (v1))
+	      v1 = XCDR (v1);
 	    immediate_quit = 0;
-	    if (CONSP (v1))
-	      TOP = XCAR (v1);
-	    else if (NILP (v1))
-	      TOP = Qnil;
-	    else
-	      wrong_type_argument (Qlistp, v1);
+	    TOP = CAR (v1);
 	    break;
 	  }
 
@@ -1551,23 +1528,10 @@
 		AFTER_POTENTIAL_GC ();
 		op = XINT (v2);
 		immediate_quit = 1;
-		while (--op >= 0)
-		  {
-		    if (CONSP (v1))
-		      v1 = XCDR (v1);
-		    else if (!NILP (v1))
-		      {
-			immediate_quit = 0;
-			wrong_type_argument (Qlistp, v1);
-		      }
-		  }
+		while (--op >= 0 && CONSP (v1))
+		  v1 = XCDR (v1);
 		immediate_quit = 0;
-		if (CONSP (v1))
-		  TOP = XCAR (v1);
-		else if (NILP (v1))
-		  TOP = Qnil;
-		else
-		  wrong_type_argument (Qlistp, v1);
+		TOP = CAR (v1);
 	      }
 	    else
 	      {
@@ -1629,10 +1593,7 @@
 	  {
 	    Lisp_Object v1;
 	    v1 = TOP;
-	    if (CONSP (v1))
-	      TOP = XCAR (v1);
-	    else
-	      TOP = Qnil;
+	    TOP = CAR_SAFE (v1);
 	    break;
 	  }
 
@@ -1640,10 +1601,7 @@
 	  {
 	    Lisp_Object v1;
 	    v1 = TOP;
-	    if (CONSP (v1))
-	      TOP = XCDR (v1);
-	    else
-	      TOP = Qnil;
+	    TOP = CDR_SAFE (v1);
 	    break;
 	  }