GNU bug report logs - #36163
27.0.50; `list-processes' assumes `thread-name' cannot return nil

Previous Next

Package: emacs;

Reported by: Pip Cet <pipcet <at> gmail.com>

Date: Tue, 11 Jun 2019 07:05:02 UTC

Severity: normal

Fixed in version 27.0.50

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Pip Cet <pipcet <at> gmail.com>
To: 36163 <at> debbugs.gnu.org
Subject: bug#36163: 27.0.50; `list-processes' assumes `thread-name' cannot return nil
Date: Tue, 11 Jun 2019 07:03:41 +0000
[Message part 1 (text/plain, inline)]
In emacs -Q, run:

(make-thread (lambda ()
           (make-process :name "name" :command (list "/bin/sh" "-c"
"while true; do sleep 1; done"))
           (while t
         (thread-yield))))

Then use M-x list-processes. This results in an error as (thread-name
thread) returns nil for the thread, since the optional name argument to
make-thread hasn't been specified.

The attached patch fixes things.

diff --git a/lisp/simple.el b/lisp/simple.el
index 6bc3bc5304..cf537265bd 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4102,7 +4102,8 @@ list-processes--refresh
                       (null (process-thread p))
                       (not (fboundp 'thread-name))) "--")
                     ((eq (process-thread p) main-thread) "Main")
-                    ((thread-name (process-thread p)))))
+                    ((thread-name (process-thread p)))
+                    (t "--")))
                  (cmd
                   (if (memq type '(network serial))
                       (let ((contact (process-contact p t)))
[emacs-patch.diff (text/x-patch, attachment)]

This bug report was last modified 5 years and 350 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.