diff src/print.c @ 251:677f6a0ee643 r20-5b24

Import from CVS: tag r20-5b24
author cvs
date Mon, 13 Aug 2007 10:19:59 +0200
parents 51092a27c943
children c5d627a313b1
line wrap: on
line diff
--- a/src/print.c	Mon Aug 13 10:19:12 2007 +0200
+++ b/src/print.c	Mon Aug 13 10:19:59 2007 +0200
@@ -1361,7 +1361,13 @@
 	  else
 	    {
 	      if (CONSP (Vprint_gensym_alist))
-		XSETINT (tem, XINT (XCDR (XCAR (Vprint_gensym_alist))) + 1);
+		{
+		  /* Vprint_gensym_alist is exposed to Lisp, so we
+                     have to be careful.  */
+		  CHECK_CONS (XCAR (Vprint_gensym_alist));
+		  CHECK_INT (XCDR (XCAR (Vprint_gensym_alist)));
+		  XSETINT (tem, XINT (XCDR (XCAR (Vprint_gensym_alist))) + 1);
+		}
 	      else
 		XSETINT (tem, 1);
 	      Vprint_gensym_alist = Fcons (Fcons (obj, tem), Vprint_gensym_alist);