From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Barry OReilly Newsgroups: gmane.emacs.devel Subject: [PATCH] Refactor Ffunctionp into inline function Date: Sat, 25 Aug 2012 09:37:05 -0400 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=047d7b86f52a379c6104c8173003 X-Trace: ger.gmane.org 1345901835 15536 80.91.229.3 (25 Aug 2012 13:37:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 25 Aug 2012 13:37:15 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Aug 25 15:37:16 2012 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 1T5GY6-0006dR-Ua for ged-emacs-devel@m.gmane.org; Sat, 25 Aug 2012 15:37:15 +0200 Original-Received: from localhost ([::1]:42905 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T5GY4-0002bO-MS for ged-emacs-devel@m.gmane.org; Sat, 25 Aug 2012 09:37:12 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:48179) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T5GY0-0002ah-32 for emacs-devel@gnu.org; Sat, 25 Aug 2012 09:37:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T5GXy-0004tL-Ry for emacs-devel@gnu.org; Sat, 25 Aug 2012 09:37:08 -0400 Original-Received: from mail-vb0-f41.google.com ([209.85.212.41]:47143) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T5GXy-0004t0-Lv for emacs-devel@gnu.org; Sat, 25 Aug 2012 09:37:06 -0400 Original-Received: by vbkv13 with SMTP id v13so3490207vbk.0 for ; Sat, 25 Aug 2012 06:37:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=Bql3it006ekvJDM4DZaXQgIfG4DIMdJUuC2tvKPc5MU=; b=HwvCjMeBBxPieKzhzWtDXlfvJAUZuR55+7cGg64lSXYk8HYhquh01on/rMTSavdenW d7nAPjj2f6JVDANF+QZHnpN0Gl2MmVvEKafzYwrvWHXLvyOr1G3FgBoUDOUlpllPWFqb 2vLR7T7lUsne1orYLiWKDZW5b3YrFd2YdBk3DhAIHYY1HUfgy2Fji262JLcBBNRFMsla zcc8oEwoKlBscFMrL/iCjdFdW29lhCnlWDR88SuyM/Fm+TnrRkY/N0z3JFak6UQaPNdO TIrcffwhnc6PbfLS0O1u86QIgWYjl8iOcxKOvQqF1/VveOm0D3MzZ/ql8IOeawXeHijd uS3g== Original-Received: by 10.58.74.198 with SMTP id w6mr8008976vev.22.1345901825596; Sat, 25 Aug 2012 06:37:05 -0700 (PDT) Original-Received: by 10.58.240.82 with HTTP; Sat, 25 Aug 2012 06:37:05 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.212.41 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:152830 Archived-At: --047d7b86f52a379c6104c8173003 Content-Type: multipart/alternative; boundary=047d7b86f52a379c5704c8173001 --047d7b86f52a379c5704c8173001 Content-Type: text/plain; charset=ISO-8859-1 > Yes. The bulk of Ffunctionp should probably be moved to lisp.h into > a "functionp" inlinable function, then make FUNCTIONP an alias > for functionp and make Ffunctionp use functionp. Is this what you have in mind? This patch allows my Key Translation with lambda test case to work with and without lexical binding. --047d7b86f52a379c5704c8173001 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable > Yes.=A0 The bulk of Ffunctionp should probably be moved to lisp.h into=
> a "functionp" inlinable function, then make FUNCTIONP an= alias
> for functionp and make Ffunctionp use functionp.

Is t= his what you have in mind?=A0 This patch allows my Key Translation with lam= bda test case to work with and without lexical binding.



--047d7b86f52a379c5704c8173001-- --047d7b86f52a379c6104c8173003 Content-Type: text/plain; charset=US-ASCII; name="functionpRefactor01.txt" Content-Disposition: attachment; filename="functionpRefactor01.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h6ar2ahd0 IyBCYXphYXIgbWVyZ2UgZGlyZWN0aXZlIGZvcm1hdCAyIChCYXphYXIgMC45MCkKIyByZXZpc2lv bl9pZDogZ3VuZGFldGlhcG9AZ21haWwuY29tLTIwMTIwODI1MTMyMjQ0LWExZDhtMzVnOXR2cXZ6 c3kKIyB0YXJnZXRfYnJhbmNoOiBmaWxlOi8vL2hvbWUvZXBpY2gvYnpyL2VtYWNzL3RydW5rLwoj IHRlc3RhbWVudF9zaGExOiAxMDdkZmJkZDIzYWRlYjE5MjhlMDc2MDNlY2U5ZGYwOTU1OGQ4NjQ5 CiMgdGltZXN0YW1wOiAyMDEyLTA4LTI1IDA5OjIyOjU1IC0wNDAwCiMgYmFzZV9yZXZpc2lvbl9p ZDogbWljaGFlbC5hbGJpbnVzQGdteC5kZS0yMDEyMDgyNDEyNTU0MC1cCiMgICBvNzN4cDc3N3p3 cm15NTJzCiMgCiMgQmVnaW4gcGF0Y2gKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy9ldmFsLmMnCi0t LSBzcmMvZXZhbC5jCTIwMTItMDgtMjAgMDk6Mzk6NTcgKzAwMDAKKysrIHNyYy9ldmFsLmMJMjAx Mi0wOC0yNSAxMzoyMjo0NCArMDAwMApAQCAtMjcyMiwzMyArMjcyMiw5IEBACiAgICAgICAgZG9j OiAvKiBOb24tbmlsIGlmIE9CSkVDVCBpcyBhIGZ1bmN0aW9uLiAgKi8pCiAgICAgIChMaXNwX09i amVjdCBvYmplY3QpCiB7Ci0gIGlmIChTWU1CT0xQIChvYmplY3QpICYmICFOSUxQIChGZmJvdW5k cCAob2JqZWN0KSkpCi0gICAgewotICAgICAgb2JqZWN0ID0gRmluZGlyZWN0X2Z1bmN0aW9uIChv YmplY3QsIFF0KTsKLQotICAgICAgaWYgKENPTlNQIChvYmplY3QpICYmIEVRIChYQ0FSIChvYmpl Y3QpLCBRYXV0b2xvYWQpKQotCXsKLQkgIC8qIEF1dG9sb2FkZWQgc3ltYm9scyBhcmUgZnVuY3Rp b25zLCBleGNlcHQgaWYgdGhleSBsb2FkCi0JICAgICBtYWNyb3Mgb3Iga2V5bWFwcy4gICovCi0J ICBpbnQgaTsKLQkgIGZvciAoaSA9IDA7IGkgPCA0ICYmIENPTlNQIChvYmplY3QpOyBpKyspCi0J ICAgIG9iamVjdCA9IFhDRFIgKG9iamVjdCk7Ci0KLQkgIHJldHVybiAoQ09OU1AgKG9iamVjdCkg JiYgIU5JTFAgKFhDQVIgKG9iamVjdCkpKSA/IFFuaWwgOiBRdDsKLQl9Ci0gICAgfQotCi0gIGlm IChTVUJSUCAob2JqZWN0KSkKLSAgICByZXR1cm4gKFhTVUJSIChvYmplY3QpLT5tYXhfYXJncyAh PSBVTkVWQUxMRUQpID8gUXQgOiBRbmlsOwotICBlbHNlIGlmIChDT01QSUxFRFAgKG9iamVjdCkp CisgIGlmIChGVU5DVElPTlAgKG9iamVjdCkpCiAgICAgcmV0dXJuIFF0OwotICBlbHNlIGlmIChD T05TUCAob2JqZWN0KSkKLSAgICB7Ci0gICAgICBMaXNwX09iamVjdCBjYXIgPSBYQ0FSIChvYmpl Y3QpOwotICAgICAgcmV0dXJuIChFUSAoY2FyLCBRbGFtYmRhKSB8fCBFUSAoY2FyLCBRY2xvc3Vy ZSkpID8gUXQgOiBRbmlsOwotICAgIH0KLSAgZWxzZQotICAgIHJldHVybiBRbmlsOworICByZXR1 cm4gUW5pbDsKIH0KIAogREVGVU4gKCJmdW5jYWxsIiwgRmZ1bmNhbGwsIFNmdW5jYWxsLCAxLCBN QU5ZLCAwLAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy9saXNwLmgnCi0tLSBzcmMvbGlzcC5oCTIw MTItMDgtMjQgMDQ6Mzc6NTcgKzAwMDAKKysrIHNyYy9saXNwLmgJMjAxMi0wOC0yNSAxMzoyMjo0 NCArMDAwMApAQCAtMTkwNiwxMSArMTkwNiw3IEBACiAJCQkgTGlzcF9PYmplY3QsIExpc3BfT2Jq ZWN0LCBMaXNwX09iamVjdCwgTGlzcF9PYmplY3QpCiAKIC8qIE5vbi16ZXJvIGlmIE9CSiBpcyBh IExpc3AgZnVuY3Rpb24uICAqLwotI2RlZmluZSBGVU5DVElPTlAoT0JKKQkJCQkJXAotICAgICAo KENPTlNQIChPQkopICYmIEVRIChYQ0FSIChPQkopLCBRbGFtYmRhKSkJCVwKLSAgICAgIHx8IChT WU1CT0xQIChPQkopICYmICFOSUxQIChGZmJvdW5kcCAoT0JKKSkpCVwKLSAgICAgIHx8IENPTVBJ TEVEUCAoT0JKKQkJCQlcCi0gICAgICB8fCBTVUJSUCAoT0JKKSkKKyNkZWZpbmUgRlVOQ1RJT05Q KE9CSikgZnVuY3Rpb25wKE9CSikKIAogLyogZGVmc3ViciAoU25hbWUpOwogICAgaXMgaG93IHdl IGRlZmluZSB0aGUgc3ltYm9sIGZvciBmdW5jdGlvbiBgbmFtZScgYXQgc3RhcnQtdXAgdGltZS4g ICovCkBAIC0zNjU2LDYgKzM2NTIsMzggQEAKICAgICBGZ2FyYmFnZV9jb2xsZWN0ICgpOwogfQog CitMSVNQX0lOTElORSBpbnQKK2Z1bmN0aW9ucCAoTGlzcF9PYmplY3Qgb2JqZWN0KQoreworICBp ZiAoU1lNQk9MUCAob2JqZWN0KSAmJiAhTklMUCAoRmZib3VuZHAgKG9iamVjdCkpKQorICAgIHsK KyAgICAgIG9iamVjdCA9IEZpbmRpcmVjdF9mdW5jdGlvbiAob2JqZWN0LCBRdCk7CisKKyAgICAg IGlmIChDT05TUCAob2JqZWN0KSAmJiBFUSAoWENBUiAob2JqZWN0KSwgUWF1dG9sb2FkKSkKKwl7 CisJICAvKiBBdXRvbG9hZGVkIHN5bWJvbHMgYXJlIGZ1bmN0aW9ucywgZXhjZXB0IGlmIHRoZXkg bG9hZAorCSAgICAgbWFjcm9zIG9yIGtleW1hcHMuICAqLworCSAgaW50IGk7CisJICBmb3IgKGkg PSAwOyBpIDwgNCAmJiBDT05TUCAob2JqZWN0KTsgaSsrKQorCSAgICBvYmplY3QgPSBYQ0RSIChv YmplY3QpOworCisJICByZXR1cm4gISAoQ09OU1AgKG9iamVjdCkgJiYgIU5JTFAgKFhDQVIgKG9i amVjdCkpKTsKKwl9CisgICAgfQorCisgIGlmIChTVUJSUCAob2JqZWN0KSkKKyAgICByZXR1cm4g WFNVQlIgKG9iamVjdCktPm1heF9hcmdzICE9IFVORVZBTExFRDsKKyAgZWxzZSBpZiAoQ09NUElM RURQIChvYmplY3QpKQorICAgIHJldHVybiAxOworICBlbHNlIGlmIChDT05TUCAob2JqZWN0KSkK KyAgICB7CisgICAgICBMaXNwX09iamVjdCBjYXIgPSBYQ0FSIChvYmplY3QpOworICAgICAgcmV0 dXJuIEVRIChjYXIsIFFsYW1iZGEpIHx8IEVRIChjYXIsIFFjbG9zdXJlKTsKKyAgICB9CisgIGVs c2UKKyAgICByZXR1cm4gMDsKK30KKwogSU5MSU5FX0hFQURFUl9FTkQKIAogI2VuZGlmIC8qIEVN QUNTX0xJU1BfSCAqLwoKIyBCZWdpbiBidW5kbGUKSXlCQ1lYcGhZWElnY21WMmFYTnBiMjRnWW5W dVpHeGxJSFkwQ2lNS1FscG9PVEZCV1NaVFdjd2YweVlBQXNwZmdIQXdlZi8vLzM4MwovMkMvLy8v K1VBVzRyemJtN2RDNjNja1ZMcTNSaEpKQ2FaRFRKTm9hTkdrMGVvbmxOazBJMHlhYWFOTkFBME5x Q1VoTk1FWWhLZXlTCmVvOVFOQURRRElNZ0FBR2dFa0locFRhYVFtSS9VSjRwc3BrQUFHUUFCb2Fl b2VvSEdScGt4TkJreVlUVElHUTBCb0RUSm9ZQVRRR0UKa2lOSmhHUW5rQWs4VDBKREllcHBvRFF3 Z0FCb1RRcGdZdlRyemJrNXdmNW15bWlSSnlmUHc1OVkvRDdxQnNXM1dzOE1aWlNkRmxsZQpqUFdK UGZxNHFSZlhYbzB4RVc0OTFKQmhOSm1EUzdwbVREZmZWbkxDOXZsbVpjdlE0L29XcmNoS2ZxUStM SWRjK2h2ak16TWlSemZZCldHbXhib3l2Wm1pWjBEaW1Ldyt6OExHYm5xaDRHdHp0c3BOMHRaWTAz NCtaVk5DZmt3NE90ajA4S3BjUDBZbzRteDhaU0N0UExIelMKdXEyYmM1UytVRll5bVlMWmJzWWNP M0xxKzFzWnBxTDhtVUhzSTQ5QVVCMXNsVG5ja2pudisxa1c1QWY5TWJ3allaaG1LbU44c3V5RwpZ aG4vWkhqRElQSjErZ0hCRlNCUVo3Vm5VS2xVeVFQV2ZGSmVTd1kwNkhWZ1VkeHJ3Mk9TQkN6WEor MmdsRW9RbXhiNTNDY3hRYWpJClY2Q2xTRTIyTEFZSUJ3T1M4ZEV0czZzRjJvRGxOWWRiZTVGN0N1 NVhJU0VlSXh1RVVFcWlzN2xENVFFbUJmNnpVQ3A2NTRsTVR1YSsKQ3ZVMUNXcFdxbDBNUm1lMThC MFJ2WXNNbE14SXhPS2xNaE9GY1FyN2dIaWlBTWdEbkFQSUorQkVXY2FSVndSbnJNRlJBc0M1TmNw aQpVcjRpQTRTY2poZ3NacTN3TDdDcEcyYXAzYXlaU3FRaktRQ25vdXlJS1JZbnF2a0JEaXRKWG0x d1lpc3RUcXExWTlqZms0RDdpY2c2ClZpbXJFZ1dEcmJTZ29oR2h5aVkxQTNoSHNScG95VnBoTzhX eGpoOHEwREl5TGhvMkYySzdNU1M3RXFpcjNMdEhST2NsVXliR3NiNmgKaXEvU3BGMTRseVVkUjAz UFdNUVRMYmxNY3VKTERQYXkvQitMbXZhQkIxOVNBbVZWbithSXRTR0RseHplMWhNa2JxdVpxRlA1 UUgyUgpTekI3c2pQWlBHOVZiTW5VNEJxbWtyRVYyTmw0MWV4ODZVSTNlK016SEt4cG9JUnFPSVp6 TERySytLendJTks4dkg2S1MzS016RE4wCkg0OFRSMWZ3T2NLYWxJMkh0MUUxRlRqTXBjMGllditK KzBOKzU3UDZnMnVpN1hHMnB0MFJiRVN0cGRnMUZCUW1uOEtiL3lZTU5GNjAKdVF4TG5yWHArNEJQ WlVxVkIycWk3R09VV1QwblRxMGJtY01qVjFQRGo1T1lpRnVBOFE4OHBEcWZPcnJMdXZzMktXNG8w RXZjaUZCeQpyMkxwM3B5ZWl5eDNSUW9HbW5ZZ3ZKYXE3Qys5NXozcDQrMDdPMjIwUFdaSjFrT1lZ QWczNExXTVhTZ3lVREZKUjBOMFpDMHk4WmIyCk5UdXMxNlFtYVRocVFjRWZidFFpNEE4WWNPWTBG bUhadHF2T0pRZ0VqcEFJMGRUbm9JT01WNVVkclFrTVp0VDB6V3BhbUZNWllOOGIKTStyN3J5Z0lY NE1WOHYxUEQvZmM3MzhweUZxeDRheXNmMTNVN2VtTEtQUDVBaWZWZ21Lb3hQbURqdUN5NFdmN0k4 c3oyZGN0dmdhTAordUxpbVdkTUV0eWpGTmgwYU1oTWdqRnM4R2NpMUphUlRtaWpTMytFcndhRGxP SVdKdWZZVkVGTUp4T3Z5ZDR3RTJweTFuTkcrZ1l1CmdXNVJVeDhnTFRreW1WTVNTOGF4R2NUSzdC VmVTZTJ0SStPdHVRTm1XRGt3b2FPSFl5TXFzUVNaeFR5RU5TTTBlSXFqdnNyK2xXUlIKelZvWUNu WWlaZEpQWElSVGdqRWE0WWtZVld0S0J3U29sK0x3aWwzeUo0dDFCVlUwRS9SRGQ1eTAxdFNEZ05n RGJxMEZHM2hYTGRlWQp6U0RMSkhLRlJXQktwMFRoRjQrUUJpYUhRTzdzcE5wM25JRnZDWnhlVUxu Sm1CaGFNOEZsQnNRVHJpM1NWcEtXYU0wWXhFZ3RySlJVClgxVVpEcTUxSzYrdWVYQmd6cHVwNVZC aXdZWUpLbThncGZsaEZqeVVDdjdRSm9NTW9KeUtyeEZOTzVLOWpNam5YdEwxSFBiUXFsSVMKbG1H eDd4L1owV25OMkwxd2hjbDJxWERCRzk5TWpjb3dNMEZFUTJzUTJFNUFWWGNBeFlMTUNkaGNKYW1U NTQ3SW9qdUJZMVV3VnRjdQowb0pxU2NDY3JIVUlldkEwR0M5Y0Z2QXpFZGJnYk5yUzVXMElLcnB3 Q3VyRGg2NFVyZUtLQ2VpUURrQThtd1RhRmZGdVVrcmNTWkY1CndicEVKMlpxNjE0WW0yYW1DbHlB ZUphK3dkalhnOFNiL2k3a2luQ2hJWmcvcGt3PQo= --047d7b86f52a379c6104c8173003--