From: Eli Zaretskii Date: Mon, 17 Apr 2017 06:47:39 +0000 (+0300) Subject: Fix assertion violations when displaying thread-related error X-Git-Tag: emacs-26.0.90~521^2~613 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=edc63bf94f3cd3f52fab86fe7b92a3ec6a19de40;p=emacs.git Fix assertion violations when displaying thread-related error * src/process.c (Faccept_process_output): Don't assume a thread's name is always a string. --- diff --git a/src/process.c b/src/process.c index 2f2e5c1b251..b81c7b459e3 100644 --- a/src/process.c +++ b/src/process.c @@ -4563,8 +4563,16 @@ is nil, from any process) before the timeout expired. */) /* Can't wait for a process that is dedicated to a different thread. */ if (!EQ (proc->thread, Qnil) && !EQ (proc->thread, Fcurrent_thread ())) - error ("Attempt to accept output from process %s locked to thread %s", - SDATA (proc->name), SDATA (XTHREAD (proc->thread)->name)); + { + Lisp_Object proc_thread_name = XTHREAD (proc->thread)->name; + + if (STRINGP (proc_thread_name)) + error ("Attempt to accept output from process %s locked to thread %s", + SDATA (proc->name), SDATA (proc_thread_name)); + else + error ("Attempt to accept output from process %s locked to thread %p", + SDATA (proc->name), XTHREAD (proc->thread)); + } } else just_this_one = Qnil;