From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Tue, 29 Sep 2015 11:11:36 +0200 Message-ID: <87y4fpmvxz.fsf@fencepost.gnu.org> References: <878u97nyjn.fsf@lifelogs.com> <86d1yirnqw.fsf@stephe-leake.org> <87si7977rs.fsf@tromey.com> <55DB7C3D.4090106@cs.ucla.edu> <55DE75FD.8020308@cs.ucla.edu> <55F5DD8C.70506@dancol.org> <87fv2hzmw3.fsf@uwakimon.sk.tsukuba.ac.jp> <22025.61338.681227.470671@turnbull.sk.tsukuba.ac.jp> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1443546131 11315 80.91.229.3 (29 Sep 2015 17:02:11 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 29 Sep 2015 17:02:11 +0000 (UTC) Cc: Paul Eggert , Daniel Colascione , Emacs development discussions , Philipp Stephani , Stefan Monnier , =?iso-8859-1?Q?Aur=E9lien?= Aptel , Tom Tromey , Stephen Leake To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Sep 29 19:02:09 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZgyI4-0002D3-Gm for ged-emacs-devel@m.gmane.org; Tue, 29 Sep 2015 19:02:08 +0200 Original-Received: from localhost ([::1]:53837 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgyI3-0007EC-U2 for ged-emacs-devel@m.gmane.org; Tue, 29 Sep 2015 13:02:07 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45112) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zgqwy-0005Al-Bl for emacs-devel@gnu.org; Tue, 29 Sep 2015 05:11:53 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zgqwx-0002hr-2t for emacs-devel@gnu.org; Tue, 29 Sep 2015 05:11:52 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:60050) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zgqwk-0002O0-IW; Tue, 29 Sep 2015 05:11:38 -0400 Original-Received: from localhost ([127.0.0.1]:45636 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.82) (envelope-from ) id 1Zgqwj-0001qL-D0; Tue, 29 Sep 2015 05:11:37 -0400 Original-Received: by lola (Postfix, from userid 1000) id CC76EDF49D; Tue, 29 Sep 2015 11:11:36 +0200 (CEST) In-Reply-To: <22025.61338.681227.470671@turnbull.sk.tsukuba.ac.jp> (Stephen J. Turnbull's message of "Tue, 29 Sep 2015 10:55:38 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:190477 Archived-At: "Stephen J. Turnbull" writes: > Philipp Stephani writes: > > > > using various unwind-protect constructs. > > > > It is not possible to write such constructs in general. Stack > > frames that don't originate from C programs simply can't be part of > > a non-local jump. unwind-protect doesn't help at all because it > > doesn't stop non-local jumps. > > Er, what does "stop non-local jumps"? What Emacs can do is catch its > own non-local jumps so as not to orphan non-Emacs stack frames. It > can't catch (or prevent!) anybody else's. Oh, it could provide its own versions of setjmp/longjmp overriding the C library ones. That would actually put the hooks into quite a few non-local jump implementations. The downside being that Emacs would need to provide binary-compatible setjmp/longjmp implementations for all platforms it supports. Or some trickery for getting at the library ones without others seeing them. And nobody else trying similar trickery. So while it stinks like trouble all over, "can't" is too strong a qualifier. -- David Kastrup