From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Michael Albinus Newsgroups: gmane.emacs.bugs Subject: bug#32169: 27.0.50; Wishlist: cleanup of thread-last-error Date: Mon, 16 Jul 2018 16:49:42 +0200 Message-ID: <87a7qrkzg9.fsf@gmx.de> References: <87pnzn1wdj.fsf@gmx.de> <83wotv8d1y.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1531752489 20771 195.159.176.226 (16 Jul 2018 14:48:09 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 16 Jul 2018 14:48:09 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 32169@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jul 16 16:48:05 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ff4nE-0005IC-KR for geb-bug-gnu-emacs@m.gmane.org; Mon, 16 Jul 2018 16:48:04 +0200 Original-Received: from localhost ([::1]:52241 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ff4pL-0005Cx-Fd for geb-bug-gnu-emacs@m.gmane.org; Mon, 16 Jul 2018 10:50:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48481) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ff4pE-0005Ag-Dl for bug-gnu-emacs@gnu.org; Mon, 16 Jul 2018 10:50:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ff4p8-00046V-Q7 for bug-gnu-emacs@gnu.org; Mon, 16 Jul 2018 10:50:08 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:38889) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ff4p8-00046K-LS for bug-gnu-emacs@gnu.org; Mon, 16 Jul 2018 10:50:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ff4p8-0007k1-5y for bug-gnu-emacs@gnu.org; Mon, 16 Jul 2018 10:50:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 16 Jul 2018 14:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32169 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 32169-submit@debbugs.gnu.org id=B32169.153175259129730 (code B ref 32169); Mon, 16 Jul 2018 14:50:02 +0000 Original-Received: (at 32169) by debbugs.gnu.org; 16 Jul 2018 14:49:51 +0000 Original-Received: from localhost ([127.0.0.1]:43907 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ff4ox-0007jS-5d for submit@debbugs.gnu.org; Mon, 16 Jul 2018 10:49:51 -0400 Original-Received: from mout.gmx.net ([212.227.15.19]:59505) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ff4ow-0007jD-CK for 32169@debbugs.gnu.org; Mon, 16 Jul 2018 10:49:50 -0400 Original-Received: from detlef.gmx.de ([178.20.90.217]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MhAAr-1fSCnu2qll-00MMj2; Mon, 16 Jul 2018 16:49:43 +0200 In-Reply-To: <83wotv8d1y.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 16 Jul 2018 17:34:17 +0300") X-Provags-ID: V03:K1:wdn9cvNwWf3t2WYpawzk/pmcF138jzKPf5K4xbJ6Ssn5tPk1Xy8 ooRhuaNumjynGLav4UCV2fuCSEFDLW6e40deTsWkhQQbtgh9duaLyzCbRvq8QomjNTymlPF io3Ygck+9RnwgMIpPrMM02usbRTqBUEZ5kq6db0bnuepBiciWTPZ+695uqqapfdxdaAPQbe M9WoDO29KcjhXAY9jtkbA== X-UI-Out-Filterresults: notjunk:1;V01:K0:gmswtoKs5pk=:wqK5EThtcqkBwc+38cQbzl BP4Z0GRwhzd1hohOMMC3tWaEM4EjJhE48mgKy5d8tldiwXZ1P+3CL5qE8AZqZ9IqLPtLJjfdA HVc13ZFhpPP6OyxKk4VobdPtHdd4lopstz9Y/WyR+oCj3O0eNERPgr/urr3R9cZnEKqmMgJH2 GC3fyZaKgDmNd6b8QpMnxy/K8U6dkqmFQvUHTN90OW3TQZLnxblBRhKAJJFF+I4HzbmBG9kDp HBcvtfy1vTmEsTMdnDYGIIXExFFA8Q6x+0uL5xbgrTEIS5PBbHYzN4qsAdNRPnUi5sbrVdzMh KVgSzkD3IoqURdLAW9Sd7+EYyk8bNRUmB9Cp0eoMSknG1IJouHdSlSECDTOdLka7dhLSUnpYz 21uY1ceoD0oaX3NSrC30NKRiqasLVzBh+EeNNItZKYbTEZPQImTzH8THCV/1kRctCLImsa2kB RCU9mIz4K1y9edlcSqbg6W2WU+kK1LFknv1wsRqNn/YvP5U6DFB//LCyB6pYvdMZg456ttWCg cpNhavW6LUX6igbvQNhJujQvp12BjldU30TvnfDxMDwS6r6wY4ib9C0mN1rxe59vJWUOkYHXk kw4OKS9q2SRoKZof7G3uygMsw2MVE+hEidy1kkPv5CsO+NAsYLIMTbaZh+i1/YgL1Y+1FvMmo aixXGpA85/6AOqygsiC9VZbbllTNPGBR5NM7E4WncXh8m7KJqTE0Lzaxpa3iNH1vmlYW0MESE PWVdQGF3v8Qtx0V+cFYJ56t7dRM2tZSJFGz104H4fgIaX9fKdkeDEqWsNs1WgNRWilp/Zved X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:148575 Archived-At: Eli Zaretskii writes: Hi Eli, >> When a thread has died, `thread-last-error' reports the reason. But >> there is no possibility to cleanup this last error, which makes it >> inconvenient to check for errors in further threads. A function >> `cleanup-thread-last-error' or alike would be helpful. > > How about having thread-last-error clear the error as a side effect, > perhaps when called with an optional argument? I'd be happy with either variant. > (Btw, I'd rather we made error reporting in non-main threads much more > solid than what we have now.) While working on making Tramp threadsafe, I use the following instead of `signal': (defsubst tramp-compat-signal (error-symbol data) "Signal an error to the main thread." (when tramp-compat-main-thread (tramp-compat-funcall 'thread-signal tramp-compat-main-thread error-symbol data)) (signal error-symbol data)) Works sufficient so far. `tramp-compat-main-thread' is a defconst, which has as value (car (all-threads)). And `tramp-compat-funcall' is a Tramp internal macro, good for backward compatibility with Emacs 24 and 25. Best regards, Michael. PS: Maybe I shall push this to a git branch, giving people a chance for early tests. `find-file-noselect' survives already in simple cases, w/o an Emacs crash.