From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.5 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id E3CC71F953 for ; Wed, 15 Dec 2021 14:56:16 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 747F3120C20; Wed, 15 Dec 2021 23:56:14 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id 7B2EF120C1E for ; Wed, 15 Dec 2021 23:56:11 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.me; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to; s=smtpapi; bh=OomEqO1NBzHa0shY7ze+GqXofINyLypXz+p7ONMe6Ag=; b=Bd3SVPXQBntPcXz5wRMcKQ7Uglxl495+nMQeyl6UKOuHI8aO/GLwbDUyHgj4T/KYZDqW JtyIxhj/ZrRI6pgqwMD3tpwxcN6P5jYY7gMSkNkzvpD8jjIhW2H9PkAIC5yGtaOuJgL1Za Fera+UYb5dtrX79azVMhDNnIkyduqCxA4= Received: by filterdrecv-64fcb979b9-zwvj5 with SMTP id filterdrecv-64fcb979b9-zwvj5-1-61BA0209-3C 2021-12-15 14:56:09.721975025 +0000 UTC m=+8002705.879321148 Received: from herokuapp.com (unknown) by geopod-ismtpd-6-0 (SG) with ESMTP id gMkIWaU-T36PH_BaMEm6XA for ; Wed, 15 Dec 2021 14:56:09.685 +0000 (UTC) Date: Wed, 15 Dec 2021 14:56:09 +0000 (UTC) From: "headius (Charles Nutter)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 16663 X-Redmine-Issue-Author: headius X-Redmine-Sender: headius X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 82953 X-SG-EID: =?us-ascii?Q?Ws+KLLXixxwZeHSDhjOJS2014xTyW6S0GEHT4BVEa4OCaYAgFXQAhfU3UqWIqf?= =?us-ascii?Q?kgUwwpiNjt9NNjSTtW+F4vWW4KRZM6sIklaYfxD?= =?us-ascii?Q?JMgwgKSYKbv960LjVWB=2Ft+YWRq89vy4pK0juP=2FW?= =?us-ascii?Q?fDTn54O6aOFUyT3aY1MWz=2F0EZnTWAIwig=2FBZ8iA?= =?us-ascii?Q?MZ+7KrhOC6grvFLRHd35TynlEcR7Oarf3GbULd7?= =?us-ascii?Q?KU5Whcf6amIhopnslB8Zt2Pwwv2iHtGFZL=2FV5FZ?= =?us-ascii?Q?616N0Bbiur4Bq+fM3TTKw=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 106691 Subject: [ruby-core:106691] [Ruby master Feature#16663] Add block or filtered forms of Kernel#caller to allow early bail-out X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Reply-To: Ruby developers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE2NjYzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaGVhZGl1cyAoQ2hhcmxlcyBOdXR0ZXIp LgoKCkBqZXJlbWV5ZXZhbnMwOgoKPiBJdCBzb3VuZHMgbGlrZSB5b3Ugd2FudCBpdGVyYXRpb24s IGFuZCB5b3UgYXJlIHJlY29tbWVuZGluZyB3aXRoIFRocmVhZC5lYWNoX2JhY2t0cmFjZSB5aWVs ZGluZyBUaHJlYWQ6OkJhY2t0cmFjZTo6TG9jYXRpb24gb2JqZWN0cy4gSXMgdGhhdCBjb3JyZWN0 PwoKWWVzIHRvIGl0ZXJhdGlvbi4gQ2FwdHVyaW5nIGEgc2luZ2xlIGZyYW1lIGlzIG9ubHkgb25l IHVzZSBjYXNlIChhbmQgbWF5YmUgbm90IHRoZSBtb3N0IGNvbW1vbikuIFdlIHNob3VsZCBtYWtl IGl0IHBvc3NpYmxlIHRvIGNhcHR1cmUgbXVsdGlwbGUuCgpUaHJlYWQuZWFjaF9iYWNrdHJhY2Ug eWllbGRpbmcgTG9jYXRpb24gb2JqZWN0cyB3b3VsZCBjb3ZlciB0aGUgdXNlIGNhc2VzIEkgYW0g aW50ZXJlc3RlZCBpbiwgeWVzLgoKPiBXaGlsZSB5b3VyIEVudW1lcmFibGUgZXhhbXBsZSB3b3Vs ZCBub3Qgd29yayBpbiBDUnVieSwgeW91IG1heSBiZSBhYmxlIHRvIGRvOgoKWWVzIEkgYm90Y2hl ZCB0aGF0IHBhcnQgb2YgbXkgZXhhbXBsZS4gVGhlIEVudW1lcmFibGUgd291bGQgaGF2ZSB0byBi ZSB5aWVsZGVkIHRvIGEgYmxvY2sgYW5kIHVzZWQgd2l0aGluIHRoYXQgYmxvY2suIE15IGV4YW1w bGUgZG9uZSByaWdodCB3b3VsZCBiZSBtb3JlIGxpa2U6CgpgYGBydWJ5Cktlcm5lbC5jYWxsZXJf bG9jYXRpb25zIGRvIHxlbnVtfAogIGVudW0uZHJvcF93aGlsZSB7fGZyYW1lfCB0ZXN0X2xpYnJh cnlfZnJhbWU/KGZyYW1lKX0KICAgICAgLmtlZXBfdW50aWwge3xmcmFtZXwgdGVzdF9saWJyYXJ5 X2ZyYW1lPyhmcmFtZSl9CiAgICAgIC50b19hCmVuZApgYGAKCklmIHRoZSBlbnVtIGlzIHVzZWQg b3V0c2lkZSBvZiB0aGlzIGNvbnRleHQsIGl0IHdvdWxkIGltbWVkaWF0ZWx5IGVycm9yIG9yIFN0 b3BJdGVyYXRpb24gYXMgaXQgY2FuIG5vIGxvbmdlciBtYXRlcmlhbGl6ZSBsb3N0IGZyYW1lcy4g U29tZSBjb21iaW5hdGlvbiBvZiBMYXp5IGFuZCBlYWdlciBFbnVtZXJhdG9yIGxvZ2ljIGNvdWxk IGJlIHVzZWQgaGVyZSB0byBtYXRlcmlhbGl6ZSByZXF1aXJlZCBmcmFtZXMgYXQgdGhlIHBvaW50 IHRoYXQgYGNhbGxlcl9sb2NhdGlvbnNgIHJldHVybnMuCgpZb3VyIGV4YW1wbGUsIHdpdGggYSBz aW1wbGUgYGVhY2hfYmFja3RyYWNlYCBkb2VzIGNvdmVyIGFsbCB0aGUgdXNlIGNhc2VzIEknbSBp bnRlcmVzdGVkIGluLCBob3dldmVyLiBUaGUgb25seSB0aGluZyB3ZSBsb3NlIG92ZXIgbXkgdmVy c2lvbiBpcyB0aGUgYWJpbGl0eSB0byBhcHBseSBvdGhlciBsYXp5IEVudW1lcmF0b3IgZmlsdGVy aW5nIGluIGEgbW9yZSBmbHVlbnQgc3R5bGUgb2YgY29kZS4gTXkgdmVyc2lvbiB3b3VsZCBhcHBs eSBtb3JlIG5hdHVyYWxseSB0byB0aGUgZXhpc3RpbmcgQVBJLCBhbHNvLCBhbmQgd291bGQgd29y ayB0aGUgc2FtZSBmb3IgYGNhbGxlcmAsIGBiYWNrdHJhY2VgIGFuZCBgKl9sb2NhdGlvbnNgIEFQ SXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE2 NjYzOiBBZGQgYmxvY2sgb3IgZmlsdGVyZWQgZm9ybXMgb2YgS2VybmVsI2NhbGxlciB0byBhbGxv dyBlYXJseSBiYWlsLW91dApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTY2NjMj Y2hhbmdlLTk1MzczCgoqIEF1dGhvcjogaGVhZGl1cyAoQ2hhcmxlcyBOdXR0ZXIpCiogU3RhdHVz OiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tClRoZXJlIGFyZSBtYW55IGxpYnJhcmllcyB0aGF0IHVzZSBgY2FsbGVyYCBvciBg Y2FsbGVyX2xvY2F0aW9uc2AgdG8gZ2F0aGVyIHN0YWNrIGluZm9ybWF0aW9uIGZvciBsb2dnaW5n IG9yIGluc3RydW1lbnRhdGlvbi4gVGhlc2UgbWV0aG9kcyBnZW5lcmF0ZSBhbiBhcnJheSBvZiBp bmZvcm1hdGlvbmFsIHN0YWNrIGZyYW1lcyBiYXNlZCBvbiB0aGUgY3VycmVudCBjYWxsIHN0YWNr LgoKQm90aCBtZXRob2RzIGFjY2VwdCBwYXJhbWV0ZXJzIGZvciBgbGV2ZWxgIChza2lwIHNvbWUg bnVtYmVyIG9mIFJ1YnkgZnJhbWVzKSBhbmQgYGxlbmd0aGAgKG9ubHkgcmV0dXJuIHRoaXMgbWFu eSBmcmFtZXMpLiBIb3dldmVyIG1hbnkgdXNlIGNhc2VzIGFyZSB1bmFibGUgdG8gcHJvdmlkZSBv bmUgb3IgYm90aCBvZiB0aGVzZS4KCkluc3RydW1lbnRhdGlvbiB1c2VzLCBmb3IgZXhhbXBsZSwg bWF5IG5lZWQgdG8gc2tpcCBhbiB1bmtub3duIG51bWJlciBvZiBmcmFtZXMgYXQgdGhlIHRvcCBv ZiB0aGUgdHJhY2UsIHN1Y2ggYXMgdG8gZGlnIG91dCBvZiByc3BlYyBwbHVtYmluZyBvciBhY3Rp dmVfcmVjb3JkIGludGVybmFscyBhbmQgcmVwb3J0IHRoZSBmaXJzdCBsaW5lIG9mIHVzZXIgY29k ZS4gSW4gc3VjaCBjYXNlcywgdGhlIHR5cGljYWwgcGF0dGVybiBpcyB0byBzaW1wbHkgcmVxdWVz dCAqYWxsKiBmcmFtZXMgYW5kIHRoZW4gZmlsdGVyIG91dCB0aGUgb25lIHRoYXQgaXMgZGVzaXJl ZC4KClRoaXMgbGVhZHMgdG8gYSBncmVhdCBkZWFsIG9mIHdhc3RlZCB3b3JrIGdhdGhlcmluZyB0 aG9zZSBmcmFtZXMgYW5kIGNvbnN0cnVjdGluZyBvYmplY3RzIHRvIGNhcnJ5IHRoZW0gdG8gdGhl IHVzZXIuIE9uIG9wdGltaXppbmcgcnVudGltZXMgbGlrZSBKUnVieSBhbmQgVHJ1ZmZsZVJ1Ynks IGl0IGNhbiBoYXZlIGEgdHJlbWVuZG91cyBpbXBhY3Qgb24gcGVyZm9ybWFuY2UsIHNpbmNlIGVh Y2ggZnJhbWUgaGFzIGEgbXVjaCBoaWdoZXIgY29zdCB0aGFuIG9uIENSdWJ5LgoKSSBwcm9wb3Nl IHRoYXQgd2UgbmVlZCBhIG5ldyBmb3JtIG9mIGBjYWxsZXJgIHRoYXQgdGFrZXMgYSBibG9jayBm b3IgcHJvY2Vzc2luZyBlYWNoIGVsZW1lbnQuCgpgYGBydWJ5CmRlZiBmaW5kX21hdGNoaW5nX2Zy YW1lKHJlZ2V4KQogIGNhbGxlciBkbyB8ZnJhbWV8CiAgICByZXR1cm4gZnJhbWUgaWYgZnJhbWUu ZmlsZSA9fiByZWdleAogIGVuZAplbmQKYGBgCgpBbiBhbHRlcm5hdGl2ZSBBUEkgd291bGQgYmUg dG8gYWxsb3cgcGFzc2luZyBhIHF1ZXJ5IG9iamVjdCBhcyBhIGtleXdvcmQgYXJndW1lbnQsIGF2 b2lkaW5nIHRoZSBibG9jayBkaXNwYXRjaCBieSBwZXJmb3JtaW5nIHRoZSBtYXRjaCBpbnRlcm5h bGx5OgoKYGBgcnVieQpkZWYgZmluZF9tYXRjaGluZ19mcmFtZShyZWdleCkKICBjYWxsZXIoZmls ZTogcmVnZXgpCmVuZApgYGAKClRoaXMgQVBJIHdvdWxkIHByb3ZpZGUgYSBtaWRkbGUgZ3JvdW5k IGJldHdlZW4gZXhwbGljaXRseSBzcGVjaWZ5aW5nIGEgbWF4aW11bSBudW1iZXIgb2Ygc3RhY2sg ZnJhbWVzIGFuZCBhc2tpbmcgZm9yIGFsbCBmcmFtZXMuIE1vc3QgY29tbW9uLCBob3QtcGF0aCB1 c2VzIG9mIGBjYWxsZXJgIGNvdWxkIGJlIHJlcGxhY2VkIGJ5IHRoZXNlIGZvcm1zLCByZWR1Y2lu ZyBvdmVyaGVhZCBvbiBhbGwgUnVieSBpbXBsZW1lbnRhdGlvbnMgYW5kIGRyYXN0aWNhbGx5IHJl ZHVjaW5nIGl0IHdoZXJlIHN0YWNrIHRyYWNlcyBhcmUgZXhwZW5zaXZlLgoKCgotLSAKaHR0cHM6 Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==