From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Joost Kremers Newsgroups: gmane.emacs.help Subject: Re: Did `inline' used to do something else? Date: Sun, 19 Nov 2017 10:53:55 +0100 Message-ID: <87r2suoaq4.fsf@fastmail.fm> References: <878tf3z3ub.fsf@ericabrahamsen.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; format=flowed X-Trace: blaine.gmane.org 1511085281 2527 195.159.176.226 (19 Nov 2017 09:54:41 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 19 Nov 2017 09:54:41 +0000 (UTC) User-Agent: mu4e 1.0-alpha0; emacs 25.3.50.1 Cc: help-gnu-emacs@gnu.org To: Eric Abrahamsen Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Nov 19 10:54:33 2017 Return-path: Envelope-to: geh-help-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 1eGMJ2-0008QM-Sm for geh-help-gnu-emacs@m.gmane.org; Sun, 19 Nov 2017 10:54:30 +0100 Original-Received: from localhost ([::1]:52445 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eGMJ9-00089D-Ux for geh-help-gnu-emacs@m.gmane.org; Sun, 19 Nov 2017 04:54:35 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44325) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eGMIf-000897-3n for help-gnu-emacs@gnu.org; Sun, 19 Nov 2017 04:54:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eGMIc-0005Mt-23 for help-gnu-emacs@gnu.org; Sun, 19 Nov 2017 04:54:05 -0500 Original-Received: from out4-smtp.messagingengine.com ([66.111.4.28]:53595) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eGMIb-0005ML-Se for help-gnu-emacs@gnu.org; Sun, 19 Nov 2017 04:54:01 -0500 Original-Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id C277820AFE; Sun, 19 Nov 2017 04:54:00 -0500 (EST) Original-Received: from frontend2 ([10.202.2.161]) by compute5.internal (MEProxy); Sun, 19 Nov 2017 04:54:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.fm; h= cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=7vFI1u81Qe8uKMKaraIUnxPX/AwPWwE7vnLZwVdm+Is=; b=NpBWr6Dh s2Pgrjxxg7V1CBC6V/kJvT/pCl/MFpFTXVgE3YkNPZZtD8l5bSi2ExyEwFNU7R7+ ODhI7FQamgTXAthAey0TbLn/C1QNntFGV4/XhU/4iCNFfuBHb5QPV3pg8l5+Mv7p E/7SggYYuuzxXGe/wifEzejBFM3eln3jJ9rddND1NXar55uGeDpiO3k9AAx54mK8 9Lr/x6juYA4/yiSj/FBJFMuBnCPXF1c+dZvFEmzGO+2vJcRVCzu2I1F6ZtQSJ5bC G8P/z7+RSWyGcFyZUtjwCtofZIkK8P0tdnNwygnU8Y1CreqaVySG0uMF4Q61wB7O sb03gjlPIGnwIQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=7vFI1u81Qe8uKMKaraIUnxPX/AwPW wE7vnLZwVdm+Is=; b=HiDLpOSGtc2DgyynWjxcTG4gssVU29eQBI2N2a0CwKGOe G+NCPyTNO40oP8wEHPDXvuwv6831NPo0k1KS+MmmxpDG/zZa/93sulOnaKE9nlSH PQtAqQrFomsUcU2jJ84f04J9hTGwxgzzVZuv8MsDTjNQaokN5AjPkIimjLIOMt/w FxlXtvE18nUpTHZMyurhAlieIkkicNVwHK+Wy+0k10x/YAwOA+5oL2jbdoo+tRwa zaa8jxm5BDnshOTBx5QS21+P2kaKe58OpNvrHzlCA19h4V8SPd5tBYEVhbJsC/iE TmIBJdlQEqVFcoeV1I5ESNZ/nmzrV3wIgA0BWprHw== X-ME-Sender: Original-Received: from IdeaPad.fastmail.com (ip5f5acb54.dynamic.kabel-deutschland.de [95.90.203.84]) by mail.messagingengine.com (Postfix) with ESMTPA id 02E4D240F6; Sun, 19 Nov 2017 04:53:59 -0500 (EST) In-reply-to: <878tf3z3ub.fsf@ericabrahamsen.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.111.4.28 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:114974 Archived-At: On Sat, Nov 18 2017, Eric Abrahamsen wrote: > The function `inline' is an alias for `progn'. > > Gnus is full of code where inline is called with a single > argument, ie a > no-op, which makes me think `inline' used to do something else? > I've > tried searching git logs, with no results -- did this function > used to > actually inline code? I looked at the source to see where it is defined and found the following in `byte-run.el': ;; Redefined in byte-optimize.el. ;; This is not documented--it's not clear that we should promote it. (fset 'inline 'progn) At first, I couldn't find the referenced file `byte-optimize.el', so I went back in time, but this `fset' call plus comment was already present in what seems to be the first version of `byte-run.el' from 25 years ago. Then I noticed that there is a file called `byte-opt.el' and indeed, this is the file being referred to. It contains the following: ;;; byte-compile optimizers to support inlining (put 'inline 'byte-optimizer 'byte-optimize-inline-handler) Followed by a definition of `byte-optimize-inline-handler'. There's no mention of the symbol property `byte-optimizer', and I know next to nothing about byte compilation, but its name is suggestive, of course. (In fact, all `defsubst' does is to define a function and to put this property in the function symbol's plist with the value `byte-compile-inline-expand'.) So, long story short, even though `inline' is presented as an alias for `progn', it's handled differently by the byte compiler, presumably to deal with performance bottlenecks. -- Joost Kremers Life has its moments