aboutsummaryrefslogtreecommitdiffstats
path: root/src/thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/thread.c')
-rw-r--r--src/thread.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/thread.c b/src/thread.c
index 3e61723f0ab..6e9ca2e256b 100644
--- a/src/thread.c
+++ b/src/thread.c
@@ -55,7 +55,6 @@ release_global_lock (void)
55static void 55static void
56post_acquire_global_lock (struct thread_state *self) 56post_acquire_global_lock (struct thread_state *self)
57{ 57{
58 Lisp_Object buffer;
59 struct thread_state *prev_thread = current_thread; 58 struct thread_state *prev_thread = current_thread;
60 59
61 /* Do this early on, so that code below could signal errors (e.g., 60 /* Do this early on, so that code below could signal errors (e.g.,
@@ -71,12 +70,12 @@ post_acquire_global_lock (struct thread_state *self)
71 if (prev_thread != NULL) 70 if (prev_thread != NULL)
72 unbind_for_thread_switch (prev_thread); 71 unbind_for_thread_switch (prev_thread);
73 rebind_for_thread_switch (); 72 rebind_for_thread_switch ();
74 }
75 73
76 /* We need special handling to re-set the buffer. */ 74 /* Set the new thread's current buffer. This needs to be done
77 XSETBUFFER (buffer, self->m_current_buffer); 75 even if it is the same buffer as that of the previous thread,
78 self->m_current_buffer = 0; 76 because of thread-local bindings. */
79 set_buffer_internal (XBUFFER (buffer)); 77 set_buffer_internal_2 (current_buffer);
78 }
80 79
81 if (!NILP (current_thread->error_symbol)) 80 if (!NILP (current_thread->error_symbol))
82 { 81 {