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_HI,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=ham 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 7520C1F54E for ; Thu, 1 Sep 2022 10:37:22 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sendgrid.me header.i=@sendgrid.me header.b="QuUhQ1wL"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 912BA120C34; Thu, 1 Sep 2022 19:37:20 +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 78BB3120C0D for ; Thu, 1 Sep 2022 19:37:17 +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:cc; s=smtpapi; bh=xzOXCTKDGHv/CXV3CSkmjz9PxruvKjHv6sycjIaV1So=; b=QuUhQ1wL+bnFBR5EnMWyPcSY3HKohJgxFNVTxh12yIHRtVROeATevxGQr2cVHZXUWAAX HPx7qHDUolcLB4meqIvlAUKyfRXITiQZG1QKKM3hQ0ulc9C2v7TW5H+bu3Eq/XgaIa16j5 LfEi3FzWqs6ckbB2TC8WqC/zr0Go0xn/0= Received: by filterdrecv-5657f5d76d-sj92z with SMTP id filterdrecv-5657f5d76d-sj92z-1-63108B5B-23 2022-09-01 10:37:15.660712716 +0000 UTC m=+563179.785331223 Received: from herokuapp.com (unknown) by geopod-ismtpd-2-0 (SG) with ESMTP id ySvzEnDVRwq5DdNMID1o8g for ; Thu, 01 Sep 2022 10:37:15.636 +0000 (UTC) Date: Thu, 01 Sep 2022 10:37:15 +0000 (UTC) From: "p8 (Petrik de Heus)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 18951 X-Redmine-Issue-Author: byroot X-Redmine-Sender: p8 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: 86250 X-SG-EID: =?us-ascii?Q?NC+8YMq32DnJ7dG=2FBT7yfmsqUipkUgyLGxHIEduhnxXL3C8HBgRe07WOhFal7y?= =?us-ascii?Q?8MXozItrmGyBzg25iHaZCIhNb9paa6iWrk3ZV1G?= =?us-ascii?Q?Bp0kNw1CQKGaOmiXWLBE8uFb=2FseQIVMWFj+X5Sg?= =?us-ascii?Q?UFaWgWwiB8OMYpkdvM31+vQQ50d3U8ufeUlL=2FIw?= =?us-ascii?Q?ya046NHszAuO4MY+YZuDUKfiDiQb0a8kVJcdMqR?= =?us-ascii?Q?odsSI=2Fcln2xM2mECtDoZq4MGAAOHn=2FWyGRcuYWx?= =?us-ascii?Q?+TKTQwfDDxlIiA8X9xmvA=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 109809 Subject: [ruby-core:109809] [Ruby master Feature#18951] Object#with to set and restore attributes around a block 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" SXNzdWUgIzE4OTUxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgcDggKFBldHJpayBkZSBIZXVzKS4KCgpP ciBtYXliZSBtYWtpbmcgdGhlIHJlc3RvcmUgbW9yZSBleHBsaWNpdApgYGAgcnVieQpvYmouYXNz aWduX2F0dHJzKGZvbzogImJhciIpIGRvCiAgIyBkbyBzb21ldGhpbmcKZW5kLnJlc3RvcmUKCmBg YAoKYGBgIHJ1YnkKb2JqLmFzc2lnbl9hdHRycyhmb286ICJiYXIiKSBkbyB8cmVzdG9yYWJsZXwK ICAjIGRvIHNvbWV0aGluZwplbnN1cmUKICByZXN0b3JhYmxlLnJlc3RvcmUKZW5kCmBgYAoKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxODk1MTogT2Jq ZWN0I3dpdGggdG8gc2V0IGFuZCByZXN0b3JlIGF0dHJpYnV0ZXMgYXJvdW5kIGEgYmxvY2sKaHR0 cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4OTUxI2NoYW5nZS05OTA0OQoKKiBBdXRo b3I6IGJ5cm9vdCAoSmVhbiBCb3Vzc2llcikKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9y bWFsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyMjIFVzZSBjYXNl CgpBIHZlcnkgY29tbW9uIHBhdHRlcm4gaW4gUnVieSwgZXNwZWNpYWxseSBpbiB0ZXN0aW5nIGlz IHRvIHNhdmUgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSwgc2V0IGEgbmV3IHZhbHVlLCBhbmQg dGhlbiByZXN0b3JlIHRoZSBvbGQgdmFsdWUgaW4gYW4gYGVuc3VyZWAgY2xhdXNlLgoKZS5nLiBp biB1bml0IHRlc3RzCgpgYGBydWJ5CmRlZiB0ZXN0X3NvbWV0aGluZ193aGVuX2VuYWJsZWQKICBl bmFibGVkX3dhcywgU29tZUxpYnJhcnkuZW5hYmxlZCA9IFNvbWVMaWJyYXJ5LmVuYWJsZWQsIHRy dWUKICAjIHRlc3QgdGhpbmdzCmVuc3VyZQogIFNvbWVMaWJyYXJ5LmVuYWJsZWQgPSBlbmFibGVk X3dhcwplbmQKYGBgCgpPciBzb21ldGltZSBpbiBhY3R1YWwgQVBJczoKCmBgYHJ1YnkKZGVmIHdp dGhfc29tZXRoaW5nX2VuYWJsZWQKICBlbmFibGVkX3dhcyA9IEBlbmFibGVkCiAgQGVuYWJsZWQg PSB0cnVlCiAgeWllbGQKZW5zdXJlCiAgQGVuYWJsZWQgPSBlbmFibGVkX3dhcwplbmQKYGBgCgpU aGVyZSBpcyBubyBpbmhlcmVudCBwcm9ibGVtIHdpdGggdGhpcyBwYXR0ZXJuLCBidXQgaXQgY2Fu IGJlIGVhc3kgdG8gbWFrZSBhIG1pc3Rha2UsIGZvciBpbnN0YW5jZSB0aGUgdW5pdCB0ZXN0IGV4 YW1wbGU6CgpgYGBydWJ5CmRlZiB0ZXN0X3NvbWV0aGluZ193aGVuX2VuYWJsZWQKICBzb21lX2Nh bGxfdGhhdF9tYXlfcmFpc2UKICBlbmFibGVkX3dhcywgU29tZUxpYnJhcnkuZW5hYmxlZCA9IFNv bWVMaWJyYXJ5LmVuYWJsZWQsIHRydWUKICAjIHRlc3QgdGhpbmdzCmVuc3VyZQogIFNvbWVMaWJy YXJ5LmVuYWJsZWQgPSBlbmFibGVkX3dhcwplbmQKYGBgCgpJbiB0aGUgYWJvdmUgaWYgYHNvbWVf Y2FsbF90aGF0X21heV9yYWlzZWAgYWN0dWFsbHkgcmFpc2VzLCBgU29tZUxpYnJhcnkuZW5hYmxl ZGAgaXMgc2V0IGJhY2sgdG8gYG5pbGAgcmF0aGVyIHRoYW4gaXRzIG9yaWdpbmFsIHZhbHVlLiBJ J3ZlIHNlZW4gdGhpcyBtaXN0YWtlIHF1aXRlIGZyZXF1ZW50bHkuCgojIyMgUHJvcG9zYWwKCkkg dGhpbmsgaXQgd291bGQgYmUgdmVyeSB1c2VmdWwgdG8gaGF2ZSBhIG1ldGhvZCBvbiBPYmplY3Qg dG8gaW1wbGVtZW50IHRoaXMgcGF0dGVybiBpbiBhIGNvcnJlY3QgYW5kIGVhc3kgdG8gdXNlIHdh eS4gVGhlIG5haXZlIFJ1YnkgaW1wbGVtZW50YXRpb24gd291bGQgYmU6CgpgYGBydWJ5CmNsYXNz IE9iamVjdAogIGRlZiB3aXRoKCoqYXR0cmlidXRlcykKICAgIG9sZF92YWx1ZXMgPSB7fQogICAg YXR0cmlidXRlcy5lYWNoX2tleSBkbyB8a2V5fAogICAgICBvbGRfdmFsdWVzW2tleV0gPSBwdWJs aWNfc2VuZChrZXkpCiAgICBlbmQKICAgIGJlZ2luCiAgICAgIGF0dHJpYnV0ZXMuZWFjaCBkbyB8 a2V5LCB2YWx1ZXwKICAgICAgICBwdWJsaWNfc2VuZCgiI3trZXl9PSIsIHZhbHVlKQogICAgICBl bmQKICAgICAgeWllbGQKICAgIGVuc3VyZQogICAgICBvbGRfdmFsdWVzLmVhY2ggZG8gfGtleSwg b2xkX3ZhbHVlfAogICAgICAgIHB1YmxpY19zZW5kKCIje2tleX09Iiwgb2xkX3ZhbHVlKQogICAg ICBlbmQKICAgIGVuZAogIGVuZAplbmQKYGBgCgpOQjogYHB1YmxpY19zZW5kYCBpcyB1c2VkIGJl Y2F1c2UgSSBkb24ndCB0aGluayBzdWNoIG1ldGhvZCBzaG91bGQgYmUgdXNhYmxlIGlmIHRoZSBh Y2Nlc3NvcnMgYXJlIHByaXZhdGUuCgpXaXRoIHVzYWdlOgoKYGBgcnVieQpkZWYgdGVzdF9zb21l dGhpbmdfd2hlbl9lbmFibGVkCiAgU29tZUxpYnJhcnkud2l0aChlbmFibGVkOiB0cnVlKSBkbwog ICAgIyB0ZXN0IHRoaW5ncwogIGVuZAplbmQKYGBgCgpgYGBydWJ5CkdDLndpdGgobWVhc3VyZV90 b3RhbF90aW1lOiB0cnVlLCBhdXRvX2NvbXBhY3Q6IGZhbHNlKSBkbwogICMgZG8gc29tZXRoaW5n CmVuZApgYGAKCiMjIyBBbHRlcm5hdGUgbmFtZXMgYW5kIHNpZ25hdHVyZXMKCklmIGAjd2l0aGAg aXNuJ3QgZ29vZCwgSSBjYW4gYWxzbyB0aGluayBvZjoKCiAgLSBgT2JqZWN0I3NldGAKICAtIGBP YmplY3QjYXBwbHlgCgpCdXQgdGhlIGB3aXRoX2AgcHJlZml4IGlzIGJ5IGZhciB0aGUgbW9zdCB1 c2VkIG9uZSB3aGVuIGltcGxlbWVudGluZyBtZXRob2RzIHRoYXQgZm9sbG93IHRoaXMgcGF0dGVy bi4KCkFsc28gaWYgYWNjZXB0aW5nIGEgSGFzaCBpcyBkaW1tZWQgdG9vIG11Y2gsIGFsdGVybmF0 aXZlIHNpZ25hdHVyZXMgY291bGQgYmU6CgogIC0gYE9iamVjdCNzZXQoYXR0cl9uYW1lLCB2YWx1 ZSlgCiAgLSBgT2JqZWN0I3NldChhdHRyMSwgdmFsdWUxLCBbYXR0cjIsIHZhbHVlMl0sIC4uLilg CgoKCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwo=