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=-1.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, FORGED_GMAIL_RCVD,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_DNSWL_MED,SPF_PASS 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 666291F609 for ; Thu, 29 Nov 2018 01:08:49 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 4ABFD120D7B; Thu, 29 Nov 2018 10:08:47 +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 A9EE1120C3E for ; Thu, 29 Nov 2018 10:08:44 +0900 (JST) Received: by filter0040p3mdw1.sendgrid.net with SMTP id filter0040p3mdw1-11111-5BFF3C19-21 2018-11-29 01:08:41.53441288 +0000 UTC m=+474152.631492721 Received: from herokuapp.com (ec2-54-161-168-181.compute-1.amazonaws.com [54.161.168.181]) by ismtpd0036p1iad2.sendgrid.net (SG) with ESMTP id jQkSelwsStGPljNz4d2Y6A for ; Thu, 29 Nov 2018 01:08:41.481 +0000 (UTC) Date: Thu, 29 Nov 2018 01:08:42 +0000 (UTC) From: foonlyboy@gmail.com To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 65543 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 14244 X-Redmine-Issue-Author: duerst X-Redmine-Issue-Assignee: mame X-Redmine-Sender: foonlyboy 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/Ymy4QrNMhiuLXJG8OTL2vJD1yS74mPJRbHW1FjKP1EorKoKfifLYuZr94HFWxY Sc02sjVzgEW6WpyofNtKLb0xepoBEG0Ei9nP1zWGXRpfTY6t2zmodZbeKx3PMhJsMuhwiuZO+gAUGb IlcM5TZU85VNlkOUTW69cTblQzN5LvfuY8T1svbFBCfocM070o7uYP5Meg== X-ML-Name: ruby-core X-Mail-Count: 90146 Subject: [ruby-core:90146] [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" SXNzdWUgIzE0MjQ0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgZm9vbmx5Ym95IChFaWtlIERpZXJrcyku CgoKSSBmdWxseSBhZ3JlZSB3aXRoIE1hcnRpbiB0aGF0IHRoaXMgaXMgb25lIG9mIHRoZSBtb3N0 IGFubm95aW5nIHByb2JsZW1zLgoKSSB1c2VkIHJ1YnkgLXcgb24gbXkgZmFpbGluZyBmaWxlIGFu ZCBpdCB0b2xkIG1lICh3aGljaCB3YXMgaGVscGZ1bCkKCn5+fgozMzM6IHdhcm5pbmc6IG1pc21h dGNoZWQgaW5kZW50YXRpb25zIGF0ICdlbmQnIHdpdGggJ2lmJyBhdCAzMzIKNTIzOiB3YXJuaW5n OiBtaXNtYXRjaGVkIGluZGVudGF0aW9ucyBhdCAnZW5kJyB3aXRoICdkZWYnIGF0IDMzMQo1MjQ6 IHN5bnRheCBlcnJvciwgdW5leHBlY3RlZCBlbmQtb2YtaW5wdXQsIGV4cGVjdGluZyBrZXl3b3Jk X2VuZAp+fn4KCgpJIHN1Z2dlc3QgdGhhdCBpbiB0aGUgY2FzZSBvZiB0aGF0IG1pc3NpbmcgZW5k LApydWJ5IC13IHNob3VsZCBiZSBydW4gYXV0b21hdGljYWxseSBvbiB0aGUgZmFpbGluZyBmaWxl IHRvIGdpdmUgc29tZSBzdWdnZXN0aW9ucyB3aGVyZSB0aGUgcHJvYmxlbSBtaWdodCBiZS4KCldo aWxlIHRoaXMgd2lsbCBvbmx5IHdvcmsgb24gZmlsZXMgd2l0aCBwcm9wZXIgaW5kZW50YXRpb25z LAppdCBtaWdodCBzdGlsbCBiZSB2ZXJ5IGhlbHBmdWwgdG8gYXQgbGVhc3QgZ2l2ZSBhIGhpbnQu CgpXaGlsZSBpbmRlbnRhdGlvbiBpcyBub3QgcmVsZXZhbnQgZm9yIHRoZSBydWJ5IHN5bnRheCwK bWFueSBkZXZlbG9wZXJzIHdpbGwgdHJ5IHRvIGhhdmUgcHJvcGVyIGluZGVudGF0aW9ucywKc28g dGhpcyBjb3VsZCBiZSBoZWxwZnVsLgoKQWxzbyBydWJvY29wIGNhbiBiZSB1c2VkIHRvIHJlLWlu ZGVudCBhIGZpbGUsCndoaWNoIGNvdWxkIGhlbHAgdG8gc3BvdCB0aGUgcHJvYmxlbSBtb3JlIGVh c2lseS4KClRoZSB1bmRlcmx5aW5nIHByb2JsZW0gaXMsCnRoYXQgdGhlIHBhcnNlciBjYW4gbm90 IGRldGVjdCB0aGUgcm9vdCBjYXVzZSBvZiB0aGUgcHJvYmxlbSwKYmVjYXVzZSBldmVyeXRoaW5n IHVwIHRvIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGZpbGUgcmVhbGx5ICppcyogd2VsbCBmb3JtZWQg cnVieSBzeW50YXguCgpTbyB3aGF0IHdlIG5lZWQgaGVyZSBpcyBzb21lIGhldXJpc3RpYyBhcHBy b2FjaAp0byBkZXRlY3Qgc29tZSB1bnVzdWFsIGNvbnN0cnVjdHMuCgpPbmUgaG90IGNhbmRpZGF0 ZSBtaWdodCBiZSBhIGRlZiBpbnNpZGUgYSBkZWYuCgpJIGJlbGlldmUgdGhpcyB0byBiZSBhbGxv d2VkIGJ5IHJ1Ynkgc3ludGF4IChha2EgaW5uZXIgZnVuY3Rpb25zKQpidXQgdGhpcyBpcyBub3Qg dGhlIG1vc3QgY29tbW9uIG9mIGNvbnN0cnVjdHMgYXJvdW5kLgoKU28gZGV0ZWN0aW5nIGRlZiBp bnNpZGUgZGVmIGNvdWxkIGJlIGhlbHBmdWwgZm9yIGEgbG90IG9mIHByb2JsZW1zLgoKfn5+CmRl ZiBhCiAgOmEKIyBlbmQgbWlzc2luZyBoZXJlCgpkZWYgYiAgIyBkZWYgaW5zaWRlIGRlZgogIDpi CmVuZAp+fn4KCkFub3RoZXIgZXhhbXBsZToKfn5+CmRlZiBhCiAgaWYoOmEpICMgbWlzc2luZyBl bmQgaGVyZSwgaGFyZCB0byBzcG90CmVuZAoKZGVmIGIgICMgZGVmIGluc2lkZSBkZWYKICA6Ygpl bmQKfn5+CgpUaGVyZSBtaWdodCBhbHNvIGJlIHNvbWUgb3RoZXIgY29tbW9uIGNhc2VzIChsaWtl IG1pc3BsYWNlZCBicmFjZXMpCnRoYXQgbGVhZCB0byBhIG1pc3NpbmcgZW5kLCBidXQgdGhhdCBj b3VsZCBwb3NzaWJseSBkZXRlY3RlZCB0aGlzIHdheS4KCkknZCBsaWtlIHRvIHByb3Bvc2UsdGhh dCBvbiBhIG1pc3NpbmcgJ2VuZCcKdGhlIHBhcnNlIHRyZWUgc2hvdWxkIGJlIHJlc2Nhbm5lZCBm b3IgdGhlIGZpcnN0IGRlZiBpbnNpZGUgZGVmLAp0aGlzIGNvdWxkIGJlIGhlbHBmdWwuCgpXZSBj b3VsZCBsYXRlciBhZGQgc29tZSBtb3JlIGhldXJpc3RpY3M6Ci0gZGVmIGluc2lkZSBpZgotIGNs YXNzIGluc2lkZSBkZWYKZXRjLgoKWW91IGdldCB0aGUgaWRlYS4KCldoaWxlIGluIHJ1YnkgZXZl cnkgc3ludGFjdGljYWwgc3RydWN0dXJlIGNhbiBwcmV0dHkgbXVjaCBiZSBlbmNsb3NlZCBieSBh bnkgb3RoZXIgc3RydWN0dXJlLAp0aGVyZSBzdGlsbCBpcyBhIGNvbW1vbiB3YXkgb2Ygd2hhdCBp cyBlbmNsb3NlZCBpbiB3aGF0LgoKVGhpcyBhc3N1bXB0aW9uIG1pZ2h0IGJlIGhlbHBmdWwgdG8g aW1wcm92ZSB0aGUgZXJyb3IgbWVzc2FnZSwKYXQgbGVhc3QgdG8gZ2l2ZSBhIGJldHRlciBoaW50 IHRvIHRoZSBwcm9ibGVtIGxpbmUKClRvIHN0YXJ0IGl0IChub3QgZXhoYXVzdGl2ZSk6Cn5+fgpj bGFzc3xtb2R1bGUKICBkZWYKICAgIGlmfGNhc2V8d2hpbGV8YmVnaW4Kfn5+CgoKCgoKCgoKCgoK CgoKCgogCgoKCgoKCgoKCgoKCgoKCgoKIAoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE0MjQ0OiBCZXR0ZXIgZXJyb3IgbWVzc2FnZXMgZm9yIHNj cmlwdHMgd2l0aCBub24tbWF0Y2hpbmcgZW5kIHN0YXRlbWVudHMKaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvaXNzdWVzLzE0MjQ0I2NoYW5nZS03NTI2MgoKKiBBdXRob3I6IGR1ZXJzdCAoTWFy dGluIETDvHJzdCkKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6 IG1hbWUgKFl1c3VrZSBFbmRvaCkKKiBUYXJnZXQgdmVyc2lvbjogCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQXQgdGhlIHBhcnR5IGF0IFNwZWVlIHllc3RlcmRheSwg QG1hbWUgZXhwbGFpbmVkIHRoYXQgb25lIG9mIGhpcyBjb250cmlidXRpb25zIHRvIFJ1YnkgMi41 IHdhcyB0byBtYWtlIGF2YWlsYWJsZSBpbmZvcm1hdGlvbiBhYm91dCBvbiB3aGljaCBsaW5lcyBj b2RlIGJsb2NrcyB3b3VsZCBzdGFydCBhbmQgZW5kLgoKVGhpcyByZW1pbmRlZCBtZSBvZiBvbmUg KGFjdHVhbGx5IHR3bykgb2Ygd2hhdCBJIHRoaW5rIGFyZSB0aGUgbW9zdCB1bmhlbHBmdWwgZXJy b3IgbWVzc2FnZXMgZnJvbSBSdWJ5OgoKYHN5bnRheCBlcnJvciwgdW5leHBlY3RlZCBlbmQtb2Yt aW5wdXQsIGV4cGVjdGluZyBrZXl3b3JkX2VuZGAKYW5kCmBzeW50YXggZXJyb3IsIHVuZXhwZWN0 ZWQga2V5d29yZF9lbmQsIGV4cGVjdGluZyBlbmQtb2YtaW5wdXRgCgpUaGVzZSB0d28gbWVzc2Fn ZXMgYXJlIHVuaGVscGZ1bCBiZWNhdXNlIHRoZXkgZ2V0IGNyZWF0ZWQgYXQgdGhlIGVuZCBvZiB0 aGUgaW5wdXQgd2hlbiB0aGUgcHJvYmxlbSBpcyBvZnRlbiBzb21ld2hlcmUgaW4gdGhlIG1pZGRs ZSBvZiBhIGxvbmcgcHJvZ3JhbS4gVGhleSBhcmUgYSBwcm9ibGVtIGJvdGggZm9yIGJlZ2lubmVy cyAod2hvIG9mdGVuIGVuY291bnRlciB0aGVtIHdpdGhvdXQga25vd2luZyB3aGF0IHRvIGZpeCkg YW5kIGV4cGVydHMgKGZvciB3aG9tIGJldHRlciBlcnJvciBtZXNzYWdlcyBjb3VsZCBsZWFkIHRv IHByb2R1Y3Rpdml0eSBnYWlucykuCgpJIGRpc2N1c3NlZCB0aGlzIGF0IHRoZSBwYXJ0eSB3aXRo IFl1c3VrZSBhbmQgQG5hcnVzZSwgd2hpY2ggbGVkIHRvIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25h bCBpbmZvcm1hdGlvbjoKCi0gQSBzdHJhdGVneSBJIHVzZSB3aGVuIEkgZ2V0IHN1Y2ggYW4gZXJy b3IgbWVzc2FnZSBpcyB0byByYW5kb21seSBpbnNlcnQvZGVsZXRlIHNvbWUgYGVuZGAgaW4gbXkg cHJvZ3JhbSBhbmQgbW92ZSBpdAogIGFyb3VuZCB1bnRpbCBJIGZpbmQgdGhlIGNvcnJlY3QgcGxh Y2UgZm9yIGl0ICh3aXRoIHNvbWV0aGluZyBsaWtlIGJpbmFyeSBzZWFyY2gpLiBBbnl0aGluZyBm YXN0ZXIgd291bGQgYmUgYmV0dGVyLgotIFVzaW5nIGAtd2AgY2FuIHByb2R1Y2UgYWRkaXRpb25h bCBvdXRwdXQuIFRyeWluZyB0aGlzIG91dCB0b2RheSwgSSBnb3QgYSBtZXNzYWdlIGZvciBhIG1p c3NpbmcgYGVuZGAga2V5d29yZCwKICBidXQgbm90IGZvciBhIHN1cGVyZmx1b3VzIGBlbmRgIGtl eXdvcmQuIChPZiBjb3Vyc2UsIGEgYmV0dGVyIGVycm9yIG1lc3NhZ2Ugd291bGQgYmUgZGVzaXJh YmxlIGZvciBib3RoIGNhc2VzLikKCmBgYApkdWVyc3RAQXJuaXNlZSAvY3lnZHJpdmUvYy90bXAK JCBydWJ5IG1pc3NpbmdfZW5kcy5yYgptaXNzaW5nX2VuZHMucmI6OTogc3ludGF4IGVycm9yLCB1 bmV4cGVjdGVkIGVuZC1vZi1pbnB1dCwgZXhwZWN0aW5nIGtleXdvcmRfZW5kCgpkdWVyc3RAQXJu aXNlZSAvY3lnZHJpdmUvYy90bXAKJCBydWJ5IC13IG1pc3NpbmdfZW5kcy5yYgptaXNzaW5nX2Vu ZHMucmI6OTogd2FybmluZzogbWlzbWF0Y2hlZCBpbmRlbnRhdGlvbnMgYXQgJ2VuZCcgd2l0aCAn ZGVmJyBhdCAyCm1pc3NpbmdfZW5kcy5yYjo5OiBzeW50YXggZXJyb3IsIHVuZXhwZWN0ZWQgZW5k LW9mLWlucHV0LCBleHBlY3Rpbmcga2V5d29yZF9lbmQKYGBgCgpbZGlmZmVyZW50IHByb2dyYW1d CgpgYGAKZHVlcnN0QEFybmlzZWUgL2N5Z2RyaXZlL2MvdG1wCiQgcnVieSBtaXNzaW5nX2VuZHMu cmIKbWlzc2luZ19lbmRzLnJiOjEwOiBzeW50YXggZXJyb3IsIHVuZXhwZWN0ZWQga2V5d29yZF9l bmQsIGV4cGVjdGluZyBlbmQtb2YtaW5wdXQKCmR1ZXJzdEBBcm5pc2VlIC9jeWdkcml2ZS9jL3Rt cAokIHJ1YnkgLXcgbWlzc2luZ19lbmRzLnJiCm1pc3NpbmdfZW5kcy5yYjoxMDogc3ludGF4IGVy cm9yLCB1bmV4cGVjdGVkIGtleXdvcmRfZW5kLCBleHBlY3RpbmcgZW5kLW9mLWlucHV0CmBgYAoK LSBPbmUgc3RyYXRlZ3kgdG8gcHJvZHVjZSBiZXR0ZXIgZXJyb3IgbWVzc2FnZXMgbWlnaHQgYmUg dG8gcmUtcmVhZCB0aGUgaW5wdXQgd2l0aCAtdyBvbiwKICBidXQgdGhhdCdzIGRpZmZpY3VsdCBi ZWNhdXNlIHRoZSBpbnB1dCBtYXkgbm90IGJlIGEgZmlsZS4KLSBUaGUgaW5mb3JtYXRpb24gdGhh dCBZdXN1a2UgbWFkZSBhdmFpbGFibGUgaXMgcGFydCBvZiB0aGUgc3ludGF4IHRyZWUsIHdoaWNo IGlzbid0CiAgcmVhbGx5IGF2YWlsYWJsZSB3aGVuIHRoZXJlJ3MgYSBzeW50YXggZXJyb3IsIGJ1 dCBpdCBtaWdodCBiZSBwb3NzaWJsZSB0byByZXVzZQogIHBhcnRpYWxseSBnZW5lcmF0ZWQgc3lu dGF4IHRyZWUgZnJhZ21lbnRzLiBAbm9idSBtaWdodCBiZSBhYmxlIHRvIGRvIHRoaXMuCgpJIGhh dmUgYXNzaWduZWQgdGhpcyBpc3N1ZSB0byBAbWFtZSBiZWNhdXNlIGhlIG1heSBrbm93IGJlc3Qg d2hhdCB0byBkbyBuZXh0LiBQbGVhc2UgZmVlbCBmcmVlIHRvIHJlYXNzaWduIGl0IHRvIHNvbWVi b2R5IGVsc2UuCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8K