From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.1 required=3.0 tests=AWL,BAYES_00, RCVD_IN_DNSWL_MED,SPF_PASS,T_RP_MATCHES_RCVD shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 4F59A1F404 for ; Wed, 27 Dec 2017 13:14:19 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id C2FCC120A9E; Wed, 27 Dec 2017 22:14:17 +0900 (JST) Received: from o1678916x28.outbound-mail.sendgrid.net (o1678916x28.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 39D39120962 for ; Wed, 27 Dec 2017 22:14:15 +0900 (JST) Received: by filter0005p3mdw1.sendgrid.net with SMTP id filter0005p3mdw1-7804-5A439CA3-2C 2017-12-27 13:14:11.581357964 +0000 UTC Received: from herokuapp.com (ec2-54-196-15-0.compute-1.amazonaws.com [54.196.15.0]) by ismtpd0022p1iad2.sendgrid.net (SG) with ESMTP id 6LDwvzU7QriA-Qxy7t-QPg for ; Wed, 27 Dec 2017 13:14:11.617 +0000 (UTC) Date: Wed, 27 Dec 2017 13:14:12 +0000 (UTC) From: mame@ruby-lang.org To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 59705 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 14244 X-Redmine-Issue-Author: duerst X-Redmine-Issue-Assignee: mame X-Redmine-Sender: mame 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-SG-EID: ync6xU2WACa70kv/Ymy4QrNMhiuLXJG8OTL2vJD1yS6qrBzczdpbmAGKoEL/WWvQLA6cVO82I/rIbJ SUwOgqCW742UwmLZCt1k0Ofj533AnRacTRRkE4t99SGNY/pSjL9RFNWRK1E72M5qHKIZMJOiAlSllu Dg1JIn5R1uMdzwDQkcSRg3B8vwVTFLpaLKhxKcWBPo48josgwEflDcbcDw== X-ML-Name: ruby-core X-Mail-Count: 84513 Subject: [ruby-core:84513] [Ruby trunk Feature#14244] Better error messages for scripts with non-matching end statements X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE0MjQ0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4KCgpJ IGNvdWxkbid0IGZpbmQgYSBiaXNvbiBBUEkgdG8gZ2V0IHRoZSBkZXRhaWwgb2YgdGhlIHN5bnRh eCBlcnJvciwgc3VjaCBhcyB3aGF0IGtpbmQgb2YgdG9rZW5zIHdhcyBleHBlY3RlZCwgYW5kIHdo YXQgdG9rZW4gd2FzIGFjdHVhbGx5IG9jY3VycmVkLiAgQmlzb24ganVzdCBwcm92aWRlIHVzIGEg c3RyaW5nIG9mIHRoZSBlcnJvciBtZXNzYWdlLCBsaWtlICdzeW50YXggZXJyb3IsIHVuZXhwZWN0 ZWQgZW5kLW9mLWlucHV0LCBleHBlY3Rpbmcga2V5d29yZF9lbmQnLgoKSSB0aGluayBpdCB3b3Vs ZCBiZSBwb3NzaWJsZSB0byBjcmVhdGUgYSBoaW50IGFib3V0IGJyb2tlbiBpbmRlbnRhdGlvbiAo YWN0dWFsbHkgaXQgaXMgZG9uZSBpbiB2ZXJib3NlIG1vZGUpLCBidXQgSSdtIHVuc3VyZSBpZiBp dCBpcyBwb3NzaWJsZSB0byBzaG93IHRoZSBoaW50IG9ubHkgd2hlbiB0aGUgZXJyb3IgbGlrZSAn c3ludGF4IGVycm9yLCB1bmV4cGVjdGVkIGVuZC1vZi1pbnB1dCwgZXhwZWN0aW5nIGtleXdvcmRf ZW5kJyBvY2N1cnMuICBQZXJoYXBzLCBpdCBtaWdodCBiZSBwb3NzaWJsZSBieSB0d2Vha2luZyBz eW50YXggcnVsZXMgKHN1Y2ggYXMgYWJ1c2luZyBCaXNvbidzIGBlcnJvcmAgdG9rZW4gY2xldmVy bHkpLCBidXQgSSdtIHNvIG5vdCBmYW1pbGlhciB3aXRoIGJpc29uLiAgQG5vYnUgb3IgQHl1aS1r bmssIHdoYXQgZG8geW91IHRoaW5rPwouCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQpGZWF0dXJlICMxNDI0NDogQmV0dGVyIGVycm9yIG1lc3NhZ2VzIGZvciBzY3Jp cHRzIHdpdGggbm9uLW1hdGNoaW5nIGVuZCBzdGF0ZW1lbnRzCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8xNDI0NCNjaGFuZ2UtNjkwNDEKCiogQXV0aG9yOiBkdWVyc3QgKE1hcnRp biBEw7xyc3QpCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiBt YW1lIChZdXN1a2UgRW5kb2gpCiogVGFyZ2V0IHZlcnNpb246IAotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCkF0IHRoZSBwYXJ0eSBhdCBTcGVlZSB5ZXN0ZXJkYXksIEBt YW1lIGV4cGxhaW5lZCB0aGF0IG9uZSBvZiBoaXMgY29udHJpYnV0aW9ucyB0byBSdWJ5IDIuNSB3 YXMgdG8gbWFrZSBhdmFpbGFibGUgaW5mb3JtYXRpb24gYWJvdXQgb24gd2hpY2ggbGluZXMgY29k ZSBibG9ja3Mgd291bGQgc3RhcnQgYW5kIGVuZC4KClRoaXMgcmVtaW5kZWQgbWUgb2Ygb25lIChh Y3R1YWxseSB0d28pIG9mIHdoYXQgSSB0aGluayBhcmUgdGhlIG1vc3QgdW5oZWxwZnVsIGVycm9y IG1lc3NhZ2VzIGZyb20gUnVieToKCmBzeW50YXggZXJyb3IsIHVuZXhwZWN0ZWQgZW5kLW9mLWlu cHV0LCBleHBlY3Rpbmcga2V5d29yZF9lbmRgCmFuZApgc3ludGF4IGVycm9yLCB1bmV4cGVjdGVk IGtleXdvcmRfZW5kLCBleHBlY3RpbmcgZW5kLW9mLWlucHV0YAoKVGhlc2UgdHdvIG1lc3NhZ2Vz IGFyZSB1bmhlbHBmdWwgYmVjYXVzZSB0aGV5IGdldCBjcmVhdGVkIGF0IHRoZSBlbmQgb2YgdGhl IGlucHV0IHdoZW4gdGhlIHByb2JsZW0gaXMgb2Z0ZW4gc29tZXdoZXJlIGluIHRoZSBtaWRkbGUg b2YgYSBsb25nIHByb2dyYW0uIFRoZXkgYXJlIGEgcHJvYmxlbSBib3RoIGZvciBiZWdpbm5lcnMg KHdobyBvZnRlbiBlbmNvdW50ZXIgdGhlbSB3aXRob3V0IGtub3dpbmcgd2hhdCB0byBmaXgpIGFu ZCBleHBlcnRzIChmb3Igd2hvbSBiZXR0ZXIgZXJyb3IgbWVzc2FnZXMgY291bGQgbGVhZCB0byBw cm9kdWN0aXZpdHkgZ2FpbnMpLgoKSSBkaXNjdXNzZWQgdGhpcyBhdCB0aGUgcGFydHkgd2l0aCBZ dXN1a2UgYW5kIEBuYXJ1c2UsIHdoaWNoIGxlZCB0byB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwg aW5mb3JtYXRpb246CgotIEEgc3RyYXRlZ3kgSSB1c2Ugd2hlbiBJIGdldCBzdWNoIGFuIGVycm9y IG1lc3NhZ2UgaXMgdG8gcmFuZG9tbHkgaW5zZXJ0L2RlbGV0ZSBzb21lIGBlbmRgIGluIG15IHBy b2dyYW0gYW5kIG1vdmUgaXQKICBhcm91bmQgdW50aWwgSSBmaW5kIHRoZSBjb3JyZWN0IHBsYWNl IGZvciBpdCAod2l0aCBzb21ldGhpbmcgbGlrZSBiaW5hcnkgc2VhcmNoKS4gQW55dGhpbmcgZmFz dGVyIHdvdWxkIGJlIGJldHRlci4KLSBVc2luZyBgLXdgIGNhbiBwcm9kdWNlIGFkZGl0aW9uYWwg b3V0cHV0LiBUcnlpbmcgdGhpcyBvdXQgdG9kYXksIEkgZ290IGEgbWVzc2FnZSBmb3IgYSBtaXNz aW5nIGBlbmRgIGtleXdvcmQsCiAgYnV0IG5vdCBmb3IgYSBzdXBlcmZsdW91cyBgZW5kYCBrZXl3 b3JkLiAoT2YgY291cnNlLCBhIGJldHRlciBlcnJvciBtZXNzYWdlIHdvdWxkIGJlIGRlc2lyYWJs ZSBmb3IgYm90aCBjYXNlcy4pCgpgYGAKZHVlcnN0QEFybmlzZWUgL2N5Z2RyaXZlL2MvdG1wCiQg cnVieSBtaXNzaW5nX2VuZHMucmIKbWlzc2luZ19lbmRzLnJiOjk6IHN5bnRheCBlcnJvciwgdW5l eHBlY3RlZCBlbmQtb2YtaW5wdXQsIGV4cGVjdGluZyBrZXl3b3JkX2VuZAoKZHVlcnN0QEFybmlz ZWUgL2N5Z2RyaXZlL2MvdG1wCiQgcnVieSAtdyBtaXNzaW5nX2VuZHMucmIKbWlzc2luZ19lbmRz LnJiOjk6IHdhcm5pbmc6IG1pc21hdGNoZWQgaW5kZW50YXRpb25zIGF0ICdlbmQnIHdpdGggJ2Rl ZicgYXQgMgptaXNzaW5nX2VuZHMucmI6OTogc3ludGF4IGVycm9yLCB1bmV4cGVjdGVkIGVuZC1v Zi1pbnB1dCwgZXhwZWN0aW5nIGtleXdvcmRfZW5kCmBgYAoKW2RpZmZlcmVudCBwcm9ncmFtXQoK YGBgCmR1ZXJzdEBBcm5pc2VlIC9jeWdkcml2ZS9jL3RtcAokIHJ1YnkgbWlzc2luZ19lbmRzLnJi Cm1pc3NpbmdfZW5kcy5yYjoxMDogc3ludGF4IGVycm9yLCB1bmV4cGVjdGVkIGtleXdvcmRfZW5k LCBleHBlY3RpbmcgZW5kLW9mLWlucHV0CgpkdWVyc3RAQXJuaXNlZSAvY3lnZHJpdmUvYy90bXAK JCBydWJ5IC13IG1pc3NpbmdfZW5kcy5yYgptaXNzaW5nX2VuZHMucmI6MTA6IHN5bnRheCBlcnJv ciwgdW5leHBlY3RlZCBrZXl3b3JkX2VuZCwgZXhwZWN0aW5nIGVuZC1vZi1pbnB1dApgYGAKCi0g T25lIHN0cmF0ZWd5IHRvIHByb2R1Y2UgYmV0dGVyIGVycm9yIG1lc3NhZ2VzIG1pZ2h0IGJlIHRv IHJlLXJlYWQgdGhlIGlucHV0IHdpdGggLXcgb24sCiAgYnV0IHRoYXQncyBkaWZmaWN1bHQgYmVj YXVzZSB0aGUgaW5wdXQgbWF5IG5vdCBiZSBhIGZpbGUuCi0gVGhlIGluZm9ybWF0aW9uIHRoYXQg WXVzdWtlIG1hZGUgYXZhaWxhYmxlIGlzIHBhcnQgb2YgdGhlIHN5bnRheCB0cmVlLCB3aGljaCBp c24ndAogIHJlYWxseSBhdmFpbGFibGUgd2hlbiB0aGVyZSdzIGEgc3ludGF4IGVycm9yLCBidXQg aXQgbWlnaHQgYmUgcG9zc2libGUgdG8gcmV1c2UKICBwYXJ0aWFsbHkgZ2VuZXJhdGVkIHN5bnRh eCB0cmVlIGZyYWdtZW50cy4gQG5vYnUgbWlnaHQgYmUgYWJsZSB0byBkbyB0aGlzLgoKSSBoYXZl IGFzc2lnbmVkIHRoaXMgaXNzdWUgdG8gQG1hbWUgYmVjYXVzZSBoZSBtYXkga25vdyBiZXN0IHdo YXQgdG8gZG8gbmV4dC4gUGxlYXNlIGZlZWwgZnJlZSB0byByZWFzc2lnbiBpdCB0byBzb21lYm9k eSBlbHNlLgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCg==