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, T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR,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 600BD1F54E for ; Mon, 29 Aug 2022 12:09:03 +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="qnZo990z"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 581A2120BAC; Mon, 29 Aug 2022 21:09:00 +0900 (JST) Received: from xtrwkhkc.outbound-mail.sendgrid.net (xtrwkhkc.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 99F7B120C79 for ; Mon, 29 Aug 2022 21:08:57 +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=IUwNFYBwHdWfKmfZQeg1iG2HxQofysgzfhiArEdog/U=; b=qnZo990zM1fTfPIcAgpdFGrtdB4eDAzruvNUa3DpAxxGNIV/+ikZ2msVE0WVdeOhHRNT JtdzwjzuLmVOtKWLPdvA7/h/fW1dI0je3NhRQjzUprz/o9OyZhbPY7xzWZqfjPfPNILHkJ g6G1tAGqqfsb71Fjtq2K2oztzWm77dAj0= Received: by filterdrecv-5fb7f79bd6-l2x6s with SMTP id filterdrecv-5fb7f79bd6-l2x6s-1-630CAC57-16 2022-08-29 12:08:55.356668799 +0000 UTC m=+309480.835506631 Received: from herokuapp.com (unknown) by geopod-ismtpd-3-2 (SG) with ESMTP id JOnkpJEzRyK6MOunhzQFOQ for ; Mon, 29 Aug 2022 12:08:55.184 +0000 (UTC) Date: Mon, 29 Aug 2022 12:08:55 +0000 (UTC) From: "ufuk (Ufuk Kayserilioglu)" 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: ufuk 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: 86207 X-SG-EID: =?us-ascii?Q?A6EJP4KLXcX9WmZWzaMfQY1Pp4YiBmBZQqgK4wKj+c0EHbWcqLGUU5UAVPY3wI?= =?us-ascii?Q?3L3xfYIeb84bKpiSNVXcuiTpsWPZaMIhuzUV8h=2F?= =?us-ascii?Q?=2FjtR3FK1wXP7JS1444ADksdJHREHh3RXkOBj2gM?= =?us-ascii?Q?aaG1ouW5Oe+z3qhnk2XWqWLeZ3uVQFk1fwoA5Fi?= =?us-ascii?Q?j0c=2FZsekaaubRQCpnaABDwbG3F0Ll3gIJ7D48PC?= =?us-ascii?Q?q8GqxI24FF=2FtZkjhw9VP36aeWBoPpgJ4u+4c5Rz?= =?us-ascii?Q?jX9Mxxa5MOW5dzQux8TSQ=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 109766 Subject: [ruby-core:109766] [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" SXNzdWUgIzE4OTUxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgdWZ1ayAoVWZ1ayBLYXlzZXJpbGlvZ2x1 KS4KCgpJJ2xsIGFkZCBteSAyIGNlbnRzIGFzIHdlbGw6IEkgcmVhbGx5IHJlYWxseSBsaWtlIHRo ZSBwcm9wb3NlZCBpZGVhIGFuZCBJIHdvdWxkIGxvdmUgdG8gc2VlIGl0IGFkZGVkIHRvIFJ1Ynkg Zm9yIDMuMi4KCkhvd2V2ZXIsIEkgZmluZCBgd2l0aGAgYSBsaXR0bGUgdG9vIGdlbmVyaWMgYXMg YSBuYW1lIGZvciB0aGUgY29uY2VwdC4gUHJpbWFyaWx5LCB3aGVuIEkgbG9vayBhdCBpdCwgaXQg ZG9lc24ndCB0ZWxsIG1lIHdoYXQgd2lsbCBpdCBkbyAid2l0aCIgdGhlIHN1cHBsaWVkIGFyZ3Vt ZW50czsgdGhlIGZhY3QgdGhhdCBpdCB3aWxsIGV4ZWN1dGUgdGhlIGdpdmVuIGJsb2NrIHdpdGgg dGhlIHN1cHBsaWVkIGFyZ3VtZW50cyBpcyBhIGxpdHRsZSBoaWRkZW4uCgpGb3IgdGhhdCByZWFz b24sIEkgdGhpbmsgYW4gYWx0ZXJuYXRpdmUgbmFtZSBjb3VsZCBiZSBgZXhlY193aXRoYDoKYGBg cnVieQpHQy5leGVjX3dpdGgoc3RyZXNzOiB0cnVlKSBkbwogICMKZW5kCmBgYAogb3IgYHJ1bl93 aXRoYDoKYGBgcnVieQpHQy5ydW5fd2l0aChzdHJlc3M6IHRydWUpIGRvCiAgIwplbmQKYGBgCm9y IGFueSBvdGhlciBuYW1lIHRoYXQgY29udmV5cyB0aGUgZmFjdCB0aGF0IHRoZSBibG9jayB3aWxs IGJlIGV4ZWN1dGVkIHdpdGggdGhlIHN1cHBsaWVkIGFyZ3VtZW50cy4KCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTg5NTE6IE9iamVjdCN3aXRoIHRv IHNldCBhbmQgcmVzdG9yZSBhdHRyaWJ1dGVzIGFyb3VuZCBhIGJsb2NrCmh0dHBzOi8vYnVncy5y dWJ5LWxhbmcub3JnL2lzc3Vlcy8xODk1MSNjaGFuZ2UtOTkwMDQKCiogQXV0aG9yOiBieXJvb3Qg KEplYW4gQm91c3NpZXIpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMjIyBVc2UgY2FzZQoKQSB2ZXJ5IGNv bW1vbiBwYXR0ZXJuIGluIFJ1YnksIGVzcGVjaWFsbHkgaW4gdGVzdGluZyBpcyB0byBzYXZlIHRo ZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1dGUsIHNldCBhIG5ldyB2YWx1ZSwgYW5kIHRoZW4gcmVzdG9y ZSB0aGUgb2xkIHZhbHVlIGluIGFuIGBlbnN1cmVgIGNsYXVzZS4KCmUuZy4gaW4gdW5pdCB0ZXN0 cwoKYGBgcnVieQpkZWYgdGVzdF9zb21ldGhpbmdfd2hlbl9lbmFibGVkCiAgZW5hYmxlZF93YXMs IFNvbWVMaWJyYXJ5LmVuYWJsZWQgPSBTb21lTGlicmFyeS5lbmFibGVkLCB0cnVlCiAgIyB0ZXN0 IHRoaW5ncwplbnN1cmUKICBTb21lTGlicmFyeS5lbmFibGVkID0gZW5hYmxlZF93YXMKZW5kCmBg YAoKT3Igc29tZXRpbWUgaW4gYWN0dWFsIEFQSXM6CgpgYGBydWJ5CmRlZiB3aXRoX3NvbWV0aGlu Z19lbmFibGVkCiAgZW5hYmxlZF93YXMgPSBAZW5hYmxlZAogIEBlbmFibGVkID0gdHJ1ZQogIHlp ZWxkCmVuc3VyZQogIEBlbmFibGVkID0gZW5hYmxlZF93YXMKZW5kCmBgYAoKVGhlcmUgaXMgbm8g aW5oZXJlbnQgcHJvYmxlbSB3aXRoIHRoaXMgcGF0dGVybiwgYnV0IGl0IGNhbiBiZSBlYXN5IHRv IG1ha2UgYSBtaXN0YWtlLCBmb3IgaW5zdGFuY2UgdGhlIHVuaXQgdGVzdCBleGFtcGxlOgoKYGBg cnVieQpkZWYgdGVzdF9zb21ldGhpbmdfd2hlbl9lbmFibGVkCiAgc29tZV9jYWxsX3RoYXRfbWF5 X3JhaXNlCiAgZW5hYmxlZF93YXMsIFNvbWVMaWJyYXJ5LmVuYWJsZWQgPSBTb21lTGlicmFyeS5l bmFibGVkLCB0cnVlCiAgIyB0ZXN0IHRoaW5ncwplbnN1cmUKICBTb21lTGlicmFyeS5lbmFibGVk ID0gZW5hYmxlZF93YXMKZW5kCmBgYAoKSW4gdGhlIGFib3ZlIGlmIGBzb21lX2NhbGxfdGhhdF9t YXlfcmFpc2VgIGFjdHVhbGx5IHJhaXNlcywgYFNvbWVMaWJyYXJ5LmVuYWJsZWRgIGlzIHNldCBi YWNrIHRvIGBuaWxgIHJhdGhlciB0aGFuIGl0cyBvcmlnaW5hbCB2YWx1ZS4gSSd2ZSBzZWVuIHRo aXMgbWlzdGFrZSBxdWl0ZSBmcmVxdWVudGx5LgoKIyMjIFByb3Bvc2FsCgpJIHRoaW5rIGl0IHdv dWxkIGJlIHZlcnkgdXNlZnVsIHRvIGhhdmUgYSBtZXRob2Qgb24gT2JqZWN0IHRvIGltcGxlbWVu dCB0aGlzIHBhdHRlcm4gaW4gYSBjb3JyZWN0IGFuZCBlYXN5IHRvIHVzZSB3YXkuIFRoZSBuYWl2 ZSBSdWJ5IGltcGxlbWVudGF0aW9uIHdvdWxkIGJlOgoKYGBgcnVieQpjbGFzcyBPYmplY3QKICBk ZWYgd2l0aCgqKmF0dHJpYnV0ZXMpCiAgICBvbGRfdmFsdWVzID0ge30KICAgIGF0dHJpYnV0ZXMu ZWFjaF9rZXkgZG8gfGtleXwKICAgICAgb2xkX3ZhbHVlc1trZXldID0gcHVibGljX3NlbmQoa2V5 KQogICAgZW5kCiAgICBiZWdpbgogICAgICBhdHRyaWJ1dGVzLmVhY2ggZG8gfGtleSwgdmFsdWV8 CiAgICAgICAgcHVibGljX3NlbmQoIiN7a2V5fT0iLCB2YWx1ZSkKICAgICAgZW5kCiAgICAgIHlp ZWxkCiAgICBlbnN1cmUKICAgICAgb2xkX3ZhbHVlcy5lYWNoIGRvIHxrZXksIG9sZF92YWx1ZXwK ICAgICAgICBwdWJsaWNfc2VuZCgiI3trZXl9PSIsIG9sZF92YWx1ZSkKICAgICAgZW5kCiAgICBl bmQKICBlbmQKZW5kCmBgYAoKTkI6IGBwdWJsaWNfc2VuZGAgaXMgdXNlZCBiZWNhdXNlIEkgZG9u J3QgdGhpbmsgc3VjaCBtZXRob2Qgc2hvdWxkIGJlIHVzYWJsZSBpZiB0aGUgYWNjZXNzb3JzIGFy ZSBwcml2YXRlLgoKV2l0aCB1c2FnZToKCmBgYHJ1YnkKZGVmIHRlc3Rfc29tZXRoaW5nX3doZW5f ZW5hYmxlZAogIFNvbWVMaWJyYXJ5LndpdGgoZW5hYmxlZDogdHJ1ZSkgZG8KICAgICMgdGVzdCB0 aGluZ3MKICBlbmQKZW5kCmBgYAoKYGBgcnVieQpHQy53aXRoKG1lYXN1cmVfdG90YWxfdGltZTog dHJ1ZSwgYXV0b19jb21wYWN0OiBmYWxzZSkgZG8KICAjIGRvIHNvbWV0aGluZwplbmQKYGBgCgoj IyMgQWx0ZXJuYXRlIG5hbWVzIGFuZCBzaWduYXR1cmVzCgpJZiBgI3dpdGhgIGlzbid0IGdvb2Qs IEkgY2FuIGFsc28gdGhpbmsgb2Y6CgogIC0gYE9iamVjdCNzZXRgCiAgLSBgT2JqZWN0I2FwcGx5 YAoKQnV0IHRoZSBgd2l0aF9gIHByZWZpeCBpcyBieSBmYXIgdGhlIG1vc3QgdXNlZCBvbmUgd2hl biBpbXBsZW1lbnRpbmcgbWV0aG9kcyB0aGF0IGZvbGxvdyB0aGlzIHBhdHRlcm4uCgpBbHNvIGlm IGFjY2VwdGluZyBhIEhhc2ggaXMgZGltbWVkIHRvbyBtdWNoLCBhbHRlcm5hdGl2ZSBzaWduYXR1 cmVzIGNvdWxkIGJlOgoKICAtIGBPYmplY3Qjc2V0KGF0dHJfbmFtZSwgdmFsdWUpYAogIC0gYE9i amVjdCNzZXQoYXR0cjEsIHZhbHVlMSwgW2F0dHIyLCB2YWx1ZTJdLCAuLi4pYAoKCgoKCi0tIApo dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8K