From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Simplify internal_catch() Date: Wed, 28 Dec 2016 14:28:47 -0500 Message-ID: References: <87bmvwlfzo.fsf@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1482953418 31121 195.159.176.226 (28 Dec 2016 19:30:18 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 28 Dec 2016 19:30:18 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) Cc: Chris Gregory , emacs-devel@gnu.org To: Paul Eggert Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 28 20:30:14 2016 Return-path: Envelope-to: ged-emacs-devel@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 1cMJvP-0007HN-PC for ged-emacs-devel@m.gmane.org; Wed, 28 Dec 2016 20:30:11 +0100 Original-Received: from localhost ([::1]:60673 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cMJvS-0006Uv-MQ for ged-emacs-devel@m.gmane.org; Wed, 28 Dec 2016 14:30:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50856) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cMJu9-0005zx-T8 for emacs-devel@gnu.org; Wed, 28 Dec 2016 14:28:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cMJu5-0006qU-1c for emacs-devel@gnu.org; Wed, 28 Dec 2016 14:28:53 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:61708) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cMJu4-0006q5-QU for emacs-devel@gnu.org; Wed, 28 Dec 2016 14:28:48 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AHKQAu3EVY/+UVNJ1dDgwBAQEBAgEBAQEIAQEBAYM4AQEBAQEfhFuFVJwCJgGUVoIIhhwEAgKCEUISAQIBAQEBAQEBYiiEaQEEAVYjBQsLNBIUGA0kiHoIrRSLRAEBCAIlixmKKQWPfIpqmxqGOkmRRiYKJngTDoNcHIEiWSCJLQEBAQ X-IPAS-Result: A0AHKQAu3EVY/+UVNJ1dDgwBAQEBAgEBAQEIAQEBAYM4AQEBAQEfhFuFVJwCJgGUVoIIhhwEAgKCEUISAQIBAQEBAQEBYiiEaQEEAVYjBQsLNBIUGA0kiHoIrRSLRAEBCAIlixmKKQWPfIpqmxqGOkmRRiYKJngTDoNcHIEiWSCJLQEBAQ X-IronPort-AV: E=Sophos;i="5.33,749,1477972800"; d="scan'208";a="284394327" Original-Received: from 157-52-21-229.cpe.teksavvy.com (HELO pastel.home) ([157.52.21.229]) by smtp.teksavvy.com with ESMTP; 28 Dec 2016 14:28:47 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 5F62F64CE8; Wed, 28 Dec 2016 14:28:47 -0500 (EST) In-Reply-To: (Paul Eggert's message of "Wed, 28 Dec 2016 11:24:24 -0800") X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.181 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:210930 Archived-At: >> There's a fair bit of >> >> Lisp_Object foo; >> >> foo = ...; >> >> around, indeed, because at some point in the past, some C compilers did >> not support "Lisp_Object foo = ..." when Lisp_Object is a union type. > Actually, that kind of code was around because C89 did not allow > declarations after statements. In some cases, that's true. > Even ancient C compilers allowed union-typed > expressions as initial values for auto variables, and "Lisp_Object foo = > ..." at block start has been in Emacs since the beginning; it's in the very > oldest code (dated 1985) committed in the Emacs repository. At least I know Richard made me undo some "Lisp_Object foo = ..." years ago, saying that we shouldn't do that because it fails to compile in some cases (presumably when you used some specific compiler and you also asked for Lisp_Object to be a union rather than an int). I did not heed his advice very eagerly, to tell you the truth. Stefan