From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Define progn_ignore to run Fprogn and ignore output Date: Tue, 27 Dec 2016 10:45:00 -0800 Organization: UCLA Computer Science Department Message-ID: <65501813-df58-bacf-5eb2-bb391b387da7@cs.ucla.edu> References: <871swum82w.fsf@CzipperZag.i-did-not-set--mail-host-address--so-tickle-me> <83pokdx4z2.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------DD3ACD04426FEA4C5469F00E" X-Trace: blaine.gmane.org 1482864326 10701 195.159.176.226 (27 Dec 2016 18:45:26 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 27 Dec 2016 18:45:26 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 Cc: emacs-devel@gnu.org To: Chris Gregory Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Dec 27 19:45:21 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 1cLwkO-0001F8-Ei for ged-emacs-devel@m.gmane.org; Tue, 27 Dec 2016 19:45:16 +0100 Original-Received: from localhost ([::1]:55480 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cLwkR-0004AT-Mn for ged-emacs-devel@m.gmane.org; Tue, 27 Dec 2016 13:45:19 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46688) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cLwkI-00046j-D3 for emacs-devel@gnu.org; Tue, 27 Dec 2016 13:45:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cLwkD-0005Vb-AN for emacs-devel@gnu.org; Tue, 27 Dec 2016 13:45:10 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:60516) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cLwkD-0005VD-1K for emacs-devel@gnu.org; Tue, 27 Dec 2016 13:45:05 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id D39DB1600C4; Tue, 27 Dec 2016 10:45:01 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id uWxnTtPP_RZQ; Tue, 27 Dec 2016 10:45:00 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id B4E491600C5; Tue, 27 Dec 2016 10:45:00 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id TAtETAlV5Eqc; Tue, 27 Dec 2016 10:45:00 -0800 (PST) Original-Received: from [192.168.1.9] (unknown [47.153.178.162]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 937591600C4; Tue, 27 Dec 2016 10:45:00 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 131.179.128.68 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:210849 Archived-At: This is a multi-part message in MIME format. --------------DD3ACD04426FEA4C5469F00E Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Chris Gregory wrote: > I'll try to benchmark it > tomorrow. If it inlines the function to Fprogn then there is no benefit= to > performance (assuming it elides the Lisp_Object completely). The code, > however, is cleaner now. Thanks, I looked into this and there's no need to benchmark, as the chang= e (when=20 fixed up) does not alter the generated machine code, at least on my platf= orm=20 (Fedora 24 x86-64, GCC 6.3.1). The basic idea does simplify and clarify t= he code=20 a bit, so I installed the attached. --------------DD3ACD04426FEA4C5469F00E Content-Type: text/plain; charset=UTF-8; name="0001-Simplify-prog1-implementation.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Simplify-prog1-implementation.txt" RnJvbSBhMDJjYTdhMjMxYzM4NTZlZmQ1N2E1MDJjNmE3M2U2YzI1MTA5MWU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDI3IERlYyAyMDE2IDEwOjMyOjQ0IC0wODAwClN1YmplY3Q6IFtQQVRD SF0gU2ltcGxpZnkgcHJvZzEgaW1wbGVtZW50YXRpb24KTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDhiaXQKCkluc3BpcmVkIGJ5IGEgc3VnZ2VzdGlvbiBmcm9tIENocmlzIEdy ZWdvcnkgaW46Cmh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9lbWFjcy1kZXZl bC8yMDE2LTEyL21zZzAwOTY1Lmh0bWwKT24gbXkgcGxhdGZvcm0sIHRoaXMgZ2VuZXJhdGVz IGV4YWN0bHkgdGhlIHNhbWUgbWFjaGluZSBpbnNucy4KKiBzcmMvZXZhbC5jIChwcm9nX2ln bm9yZSk6IFJlbmFtZSBmcm9tIHVud2luZF9ib2R5LCBzaW5jZQppdOKAmXMgbW9yZSBnZW5l cmFsIHRoYW4gdGhhdC4gIEFsbCBjYWxsZXJzIGNoYW5nZWQuCihGcHJvZzEpOiBTaW1wbGlm eSBieSB1c2luZyBwcm9nX2lnbm9yZS4KKEZ3aGlsZSk6IENsYXJpZnkgYnkgdXNpbmcgcHJv Z19pZ25vcmUuCi0tLQogc3JjL2J5dGVjb2RlLmMgfCAgMiArLQogc3JjL2V2YWwuYyAgICAg fCAyMSArKysrKystLS0tLS0tLS0tLS0tLS0KIHNyYy9saXNwLmggICAgIHwgIDIgKy0KIDMg ZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmMvYnl0ZWNvZGUuYyBiL3NyYy9ieXRlY29kZS5jCmluZGV4IGQ0ODRkYmIu LjNiYjk2YzIgMTAwNjQ0Ci0tLSBhL3NyYy9ieXRlY29kZS5jCisrKyBiL3NyYy9ieXRlY29k ZS5jCkBAIC04MDksNyArODA5LDcgQEAgZXhlY19ieXRlX2NvZGUgKExpc3BfT2JqZWN0IGJ5 dGVzdHIsIExpc3BfT2JqZWN0IHZlY3RvciwgTGlzcF9PYmplY3QgbWF4ZGVwdGgsCiAJICB7 CiAJICAgIExpc3BfT2JqZWN0IGhhbmRsZXIgPSBQT1A7CiAJICAgIC8qIFN1cHBvcnQgZm9y IGEgZnVuY3Rpb24gaGVyZSBpcyBuZXcgaW4gMjQuNC4gICovCi0JICAgIHJlY29yZF91bndp bmRfcHJvdGVjdCAoRlVOQ1RJT05QIChoYW5kbGVyKSA/IGJjYWxsMCA6IHVud2luZF9ib2R5 LAorCSAgICByZWNvcmRfdW53aW5kX3Byb3RlY3QgKEZVTkNUSU9OUCAoaGFuZGxlcikgPyBi Y2FsbDAgOiBwcm9nX2lnbm9yZSwKIAkJCQkgICBoYW5kbGVyKTsKIAkgICAgTkVYVDsKIAkg IH0KZGlmZiAtLWdpdCBhL3NyYy9ldmFsLmMgYi9zcmMvZXZhbC5jCmluZGV4IGRkY2NjYzIu LmU1MGUyNmEgMTAwNjQ0Ci0tLSBhL3NyYy9ldmFsLmMKKysrIGIvc3JjL2V2YWwuYwpAQCAt NDUzLDExICs0NTMsMTAgQEAgdXNhZ2U6IChwcm9nbiBCT0RZLi4uKSAgKi8pCiAgIHJldHVy biB2YWw7CiB9CiAKLS8qIEV2YWx1YXRlIEJPRFkgc2VxdWVudGlhbGx5LCBkaXNjYXJkaW5n IGl0cyB2YWx1ZS4gIFN1aXRhYmxlIGZvcgotICAgcmVjb3JkX3Vud2luZF9wcm90ZWN0LiAg Ki8KKy8qIEV2YWx1YXRlIEJPRFkgc2VxdWVudGlhbGx5LCBkaXNjYXJkaW5nIGl0cyB2YWx1 ZS4gICovCiAKIHZvaWQKLXVud2luZF9ib2R5IChMaXNwX09iamVjdCBib2R5KQorcHJvZ19p Z25vcmUgKExpc3BfT2JqZWN0IGJvZHkpCiB7CiAgIEZwcm9nbiAoYm9keSk7CiB9CkBAIC00 NjksMTYgKzQ2OCw4IEBAIHdob3NlIHZhbHVlcyBhcmUgZGlzY2FyZGVkLgogdXNhZ2U6IChw cm9nMSBGSVJTVCBCT0RZLi4uKSAgKi8pCiAgIChMaXNwX09iamVjdCBhcmdzKQogewotICBM aXNwX09iamVjdCB2YWw7Ci0gIExpc3BfT2JqZWN0IGFyZ3NfbGVmdDsKLQotICBhcmdzX2xl ZnQgPSBhcmdzOwotICB2YWwgPSBhcmdzOwotCi0gIHZhbCA9IGV2YWxfc3ViIChYQ0FSIChh cmdzX2xlZnQpKTsKLSAgd2hpbGUgKENPTlNQIChhcmdzX2xlZnQgPSBYQ0RSIChhcmdzX2xl ZnQpKSkKLSAgICBldmFsX3N1YiAoWENBUiAoYXJnc19sZWZ0KSk7Ci0KKyAgTGlzcF9PYmpl Y3QgdmFsID0gZXZhbF9zdWIgKFhDQVIgKGFyZ3MpKTsKKyAgcHJvZ19pZ25vcmUgKFhDRFIg KGFyZ3MpKTsKICAgcmV0dXJuIHZhbDsKIH0KIApAQCAtOTg4LDcgKzk3OSw3IEBAIHVzYWdl OiAod2hpbGUgVEVTVCBCT0RZLi4uKSAgKi8pCiAgIHdoaWxlICghTklMUCAoZXZhbF9zdWIg KHRlc3QpKSkKICAgICB7CiAgICAgICBRVUlUOwotICAgICAgRnByb2duIChib2R5KTsKKyAg ICAgIHByb2dfaWdub3JlIChib2R5KTsKICAgICB9CiAKICAgcmV0dXJuIFFuaWw7CkBAIC0x MTkxLDcgKzExODIsNyBAQCB1c2FnZTogKHVud2luZC1wcm90ZWN0IEJPRFlGT1JNIFVOV0lO REZPUk1TLi4uKSAgKi8pCiAgIExpc3BfT2JqZWN0IHZhbDsKICAgcHRyZGlmZl90IGNvdW50 ID0gU1BFQ1BETF9JTkRFWCAoKTsKIAotICByZWNvcmRfdW53aW5kX3Byb3RlY3QgKHVud2lu ZF9ib2R5LCBYQ0RSIChhcmdzKSk7CisgIHJlY29yZF91bndpbmRfcHJvdGVjdCAocHJvZ19p Z25vcmUsIFhDRFIgKGFyZ3MpKTsKICAgdmFsID0gZXZhbF9zdWIgKFhDQVIgKGFyZ3MpKTsK ICAgcmV0dXJuIHVuYmluZF90byAoY291bnQsIHZhbCk7CiB9CmRpZmYgLS1naXQgYS9zcmMv bGlzcC5oIGIvc3JjL2xpc3AuaAppbmRleCBkYzJjN2E2Li4xYTU4NmNhIDEwMDY0NAotLS0g YS9zcmMvbGlzcC5oCisrKyBiL3NyYy9saXNwLmgKQEAgLTM4NjcsNyArMzg2Nyw3IEBAIGV4 dGVybiBMaXNwX09iamVjdCBzYWZlX2NhbGwxIChMaXNwX09iamVjdCwgTGlzcF9PYmplY3Qp OwogZXh0ZXJuIExpc3BfT2JqZWN0IHNhZmVfY2FsbDIgKExpc3BfT2JqZWN0LCBMaXNwX09i amVjdCwgTGlzcF9PYmplY3QpOwogZXh0ZXJuIHZvaWQgaW5pdF9ldmFsICh2b2lkKTsKIGV4 dGVybiB2b2lkIHN5bXNfb2ZfZXZhbCAodm9pZCk7Ci1leHRlcm4gdm9pZCB1bndpbmRfYm9k eSAoTGlzcF9PYmplY3QpOworZXh0ZXJuIHZvaWQgcHJvZ19pZ25vcmUgKExpc3BfT2JqZWN0 KTsKIGV4dGVybiBwdHJkaWZmX3QgcmVjb3JkX2luX2JhY2t0cmFjZSAoTGlzcF9PYmplY3Qs IExpc3BfT2JqZWN0ICosIHB0cmRpZmZfdCk7CiBleHRlcm4gdm9pZCBtYXJrX3NwZWNwZGwg KHVuaW9uIHNwZWNiaW5kaW5nICpmaXJzdCwgdW5pb24gc3BlY2JpbmRpbmcgKnB0cik7CiBl eHRlcm4gdm9pZCBnZXRfYmFja3RyYWNlIChMaXNwX09iamVjdCBhcnJheSk7Ci0tIAoyLjcu NAoK --------------DD3ACD04426FEA4C5469F00E--