From fa0ac98835148ba05b6eccecd382502ef9f65465 Mon Sep 17 00:00:00 2001
From: Giuseppe Scrivano <gscrivano@gnu.org>
Date: Sun, 27 Dec 2009 22:03:19 +0100
Subject: [PATCH] Remove control, l->thread_data can't be nil at this point.

---
 src/data.c | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git a/src/data.c b/src/data.c
index d06c6360579..19872660db2 100644
--- a/src/data.c
+++ b/src/data.c
@@ -101,22 +101,17 @@ blocal_get_thread_data (struct Lisp_Buffer_Local_Value *l)
   Lisp_Object ret = assq_no_quit (get_current_thread (), l->thread_data);
   if (NILP (ret))
     {
-      Lisp_Object len;
+      Lisp_Object len, tem, parent = XCDR (XCAR (l->thread_data));
       XSETFASTINT (len, 5);
       ret = Fmake_vector (len, Qnil);
-      BLOCAL_CLEAR_FLAGS_VEC (ret);
-
-      if (!NILP (l->thread_data))
-        {
-          /* FIXME: use the parent, not the first element. (or not?)  */
-          Lisp_Object tem, parent = XCDR (XCAR (l->thread_data));
-          XSETFASTINT (AREF (ret, 0), AREF (parent, 0));
-          BLOCAL_BUFFER_VEC (ret) = BLOCAL_BUFFER_VEC (parent);
-          BLOCAL_FRAME_VEC (ret) = BLOCAL_FRAME_VEC (parent);
-          tem = Fcons (Qnil, Qnil);
-          XSETCAR (tem, tem);
-          BLOCAL_CDR_VEC (ret) = tem;
-        }
+
+      /* FIXME: use the parent, not the first element. (or not?)  */
+      XSETFASTINT (AREF (ret, 0), AREF (parent, 0));
+      BLOCAL_BUFFER_VEC (ret) = BLOCAL_BUFFER_VEC (parent);
+      BLOCAL_FRAME_VEC (ret) = BLOCAL_FRAME_VEC (parent);
+      tem = Fcons (Qnil, Qnil);
+      XSETCAR (tem, tem);
+      BLOCAL_CDR_VEC (ret) = tem;
 
       ret = Fcons (get_current_thread (), ret);
       l->thread_data = Fcons (ret, l->thread_data);
-- 
2.39.5