From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Cameron Desautels Newsgroups: gmane.emacs.bugs Subject: bug#16078: Extensive docs and tests for `ruby-forward-string' (PATCH) Date: Fri, 6 Dec 2013 11:15:52 -0600 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a113356c05aecea04ece0ccce X-Trace: ger.gmane.org 1386350229 28433 80.91.229.3 (6 Dec 2013 17:17:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 6 Dec 2013 17:17:09 +0000 (UTC) To: 16078@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Dec 06 18:17:14 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Voz1a-0004NU-Mq for geb-bug-gnu-emacs@m.gmane.org; Fri, 06 Dec 2013 18:17:10 +0100 Original-Received: from localhost ([::1]:60552 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Voz1a-0007Mi-8p for geb-bug-gnu-emacs@m.gmane.org; Fri, 06 Dec 2013 12:17:10 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43374) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Voz1U-0007M9-BQ for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 12:17:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Voz1S-0008Lo-L8 for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 12:17:04 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:48610) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Voz1S-0008Li-I5 for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 12:17:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Voz1S-0000Cu-BF for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 12:17:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Cameron Desautels Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 06 Dec 2013 17:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 16078 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.1386350171717 (code B ref -1); Fri, 06 Dec 2013 17:17:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 6 Dec 2013 17:16:11 +0000 Original-Received: from localhost ([127.0.0.1]:34396 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Voz0b-0000BU-U0 for submit@debbugs.gnu.org; Fri, 06 Dec 2013 12:16:10 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:41528) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Voz0Z-0000BL-14 for submit@debbugs.gnu.org; Fri, 06 Dec 2013 12:16:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Voz0W-00083U-Vq for submit@debbugs.gnu.org; Fri, 06 Dec 2013 12:16:06 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:34103) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Voz0W-00083Q-SP for submit@debbugs.gnu.org; Fri, 06 Dec 2013 12:16:04 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43197) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Voz0R-0007Dp-56 for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 12:16:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Voz0M-00081n-3w for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 12:15:59 -0500 Original-Received: from mail-bk0-x22d.google.com ([2a00:1450:4008:c01::22d]:38455) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Voz0L-00081V-H9 for bug-gnu-emacs@gnu.org; Fri, 06 Dec 2013 12:15:54 -0500 Original-Received: by mail-bk0-f45.google.com with SMTP id mx13so400883bkb.4 for ; Fri, 06 Dec 2013 09:15:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=nLFRGqEzP73e6drjLX1TqQ/egZhvXkxoozz8BWZSdnM=; b=JUCYhn2U1kj33uaNKOk9DOBhpZYCFTwuB13Vmx5l6bOpuXez+CmIt1kNpSrsNfJgOQ 0nOWPpvt/gGFUXb7UQL9Z0I+PNTf6OH9uQA3r+4km5daONk1UfuivRuXIioaebjHUXpz wryWbPRlMsmt5DDlKswO3vouemPTqeljbjzDVwpBcJ6XNIsbc+ckXZJVdlv/gqjaGNr6 qXu12JSoabMBotGd3+Z7rCdxS5Crslug93HlplqmY54S3+jYlE8AbT32xj35cZ3268lq qUxV1sU13xj24Ye4DeWYs8Cr/kpU4sDEb2kQBxce/WgtjFWFDuwL/05BL4+Dm9sTkhBU fHXA== X-Received: by 10.204.101.68 with SMTP id b4mr1486053bko.20.1386350152168; Fri, 06 Dec 2013 09:15:52 -0800 (PST) Original-Received: by 10.205.26.197 with HTTP; Fri, 6 Dec 2013 09:15:52 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:81545 Archived-At: --001a113356c05aecea04ece0ccce Content-Type: text/plain; charset=ISO-8859-1 The attached patch adds extensive documentation and tests to the `ruby-forward-string' function. This may seem an odd function to document thoroughly, but I spent quite a while wrapping my head around the exact behavior and I want to spare the next person. It also underlies some important parsing functionality in ruby-mode. Note the one test which is expected to fail: this represents an outstanding bug in `ruby-forward-string`. I'll be (immediately) following this report with a patch which fixes *that* issue, but it didn't seem prudent to combine the commits. -- Cameron Desautels --001a113356c05aecea04ece0ccce Content-Type: text/plain; charset=US-ASCII; name="ruby-forward-string-docs-and-tests.diff" Content-Disposition: attachment; filename="ruby-forward-string-docs-and-tests.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hovoyak50 KioqIGxpc3AvcHJvZ21vZGVzL3J1YnktbW9kZS5lbC5vcmlnCTIwMTMtMTItMDYgMTA6NTY6NTIu MDAwMDAwMDAwIC0wNjAwCi0tLSBsaXNwL3Byb2dtb2Rlcy9ydWJ5LW1vZGUuZWwgICAgIAkyMDEz LTEyLTA2IDEwOjU0OjA3LjAwMDAwMDAwMCAtMDYwMAoqKioqKioqKioqKioqKioKKioqIDc5MSw3 OTcgKioqKgogICAgICAgICAgICAgICAgICAgICh0IG5pbCkpKSkpKSkpKQoKICAoZGVmdW4gcnVi eS1mb3J3YXJkLXN0cmluZyAodGVybSAmb3B0aW9uYWwgZW5kIG5vLWVycm9yIGV4cGFuZCkKISAg ICJUT0RPOiBkb2N1bWVudC4iCiAgICAobGV0ICgobiAxKSAoYyAoc3RyaW5nLXRvLWNoYXIgdGVy bSkpCiAgICAgICAgICAocmUgKGlmIGV4cGFuZAogICAgICAgICAgICAgICAgICAoY29uY2F0ICJb XlxcXVxcKFxcXFxcXFxcXFwpKlxcKFsiIHRlcm0gIl1cXHxcXCgje1xcKVxcKSIpCi0tLSA3OTEs ODExIC0tLS0KICAgICAgICAgICAgICAgICAgICAodCBuaWwpKSkpKSkpKSkKCiAgKGRlZnVuIHJ1 YnktZm9yd2FyZC1zdHJpbmcgKHRlcm0gJm9wdGlvbmFsIGVuZCBuby1lcnJvciBleHBhbmQpCiEg ICAiTW92ZSBmb3J3YXJkIGFjcm9zcyBvbmUgYmFsYW5jZWQgcGFpciBvZiBzdHJpbmcgZGVsaW1p dGVycy4KISBTa2lwcyBlc2NhcGVkIGRlbGltaXRlcnMuIElmIEVYUEFORCBpcyBub24tbmlsLCBh bHNvIGlnbm9yZXMKISBkZWxpbWl0ZXJzIGluIGludGVycG9sYXRlZCBzdHJpbmdzLgohCiEgVEVS TSBzaG91bGQgYmUgYSBzdHJpbmcgY29udGFpbmluZyBlaXRoZXIgYSBzaW5nbGUsIHNlbGYtbWF0 Y2hpbmcKISBkZWxpbWl0ZXIgKGUuZy4gXCIvXCIpLCBvciBhIHBhaXIgb2YgbWF0Y2hpbmcgZGVs aW1pdGVycyB3aXRoIHRoZQohIGNsb3NlIGRlbGltaXRlciBmaXJzdCAoZS5nLiBcIl1bXCIpLgoh CiEgV2hlbiBub24tbmlsLCBzZWFyY2ggaXMgYm91bmRlZCBieSBwb3NpdGlvbiBFTkQuCiEKISBU aHJvd3MgYW4gZXJyb3IgaWYgYSBiYWxhbmNlZCBtYXRjaCBpcyBub3QgZm91bmQsIHVubGVzcyBO Ty1FUlJPUgohIGlzIG5vbi1uaWwsIGluIHdoaWNoIGNhc2UgbmlsIHdpbGwgYmUgcmV0dXJuZWQu CiEKISBUaGlzIGNvbW1hbmQgYXNzdW1lcyB0aGUgY2hhcmFjdGVyIGFmdGVyIHBvaW50IGlzIGFu IG9wZW5pbmcKISBkZWxpbWl0ZXIuIgogICAgKGxldCAoKG4gMSkgKGMgKHN0cmluZy10by1jaGFy IHRlcm0pKQogICAgICAgICAgKHJlIChpZiBleHBhbmQKICAgICAgICAgICAgICAgICAgKGNvbmNh dCAiW15cXF1cXChcXFxcXFxcXFxcKSpcXChbIiB0ZXJtICJdXFx8XFwoI3tcXClcXCkiKQoqKiog dGVzdC9hdXRvbWF0ZWQvcnVieS1tb2RlLXRlc3RzLmVsLm9yaWcJMjAxMy0xMi0wNiAxMDo1Njo1 Mi4wMDAwMDAwMDAgLTA2MDAKLS0tIHRlc3QvYXV0b21hdGVkL3J1YnktbW9kZS10ZXN0cy5lbCAg ICAgCTIwMTMtMTItMDYgMTA6NTQ6MDcuMDAwMDAwMDAwIC0wNjAwCioqKioqKioqKioqKioqKgoq KiogNjM5LDY0NCAqKioqCi0tLSA2MzksNjk1IC0tLS0KICAgICAgICAocnVieS0taW5zZXJ0LWNv ZGluZy1jb21tZW50ICJ1dGYtOCIpCiAgICAgICAgKHNob3VsZCAoc3RyaW5nPSAiIyBlbmNvZGlu ZzogdXRmLThcblxuIiAoYnVmZmVyLXN0cmluZykpKSkpKQoKKyAoZGVmdW4gcnVieS1mb3J3YXJk LXN0cmluZy1zaG91bGQtbW92ZS10byAoY29udGVudCB0ZXJtIGluZGV4ICZvcHRpb25hbCBleHBh bmQpCisgICAiQXNzZXJ0IHRoYXQgYHJ1YnktZm9yd2FyZC1zdHJpbmcnLCBjYWxsZWQgb24gYnVm ZmVyIGNvbnRhaW5pbmcKKyBDT05URU5ULCBwYXNzaW5nIFRFUk0gYW5kIEVYUEFORCwgbGVhdmVz IHBvaW50IGF0IElOREVYLgorCisgUGFzcyBuaWwgZm9yIElOREVYIGlmIGFuIGVycm9yIHNob3Vs ZCBiZSBleHBlY3RlZC4iCisgICAocnVieS13aXRoLXRlbXAtYnVmZmVyIGNvbnRlbnQKKyAgICAg KGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAgKGlmIChydWJ5LWZvcndhcmQtc3RyaW5nIHRl cm0gbmlsIHQgZXhwYW5kKQorICAgICAgICAgKHNob3VsZCAoPSAocG9pbnQpIGluZGV4KSkKKyAg ICAgICAoc2hvdWxkIChudWxsIGluZGV4KSkpKSkKKworIChlcnQtZGVmdGVzdCBydWJ5LWZvcndh cmQtc3RyaW5nLWFjY2VwdHMtcGFpcmVkLWRlbGltaXRlcnMgKCkKKyAgIChydWJ5LWZvcndhcmQt c3RyaW5nLXNob3VsZC1tb3ZlLXRvICI8Zm9vPmJhciIgIj48IiA2KQorICAgKHJ1YnktZm9yd2Fy ZC1zdHJpbmctc2hvdWxkLW1vdmUtdG8gIltmb29dYmFyIiAiXVsiIDYpCisgICAocnVieS1mb3J3 YXJkLXN0cmluZy1zaG91bGQtbW92ZS10byAiKGZvbyliYXIiICIpKCIgNikpCisKKyAoZXJ0LWRl ZnRlc3QgcnVieS1mb3J3YXJkLXN0cmluZy1hY2NlcHRzLXNpbmdsZS1kZWxpbWl0ZXJzICgpCisg ICAocnVieS1mb3J3YXJkLXN0cmluZy1zaG91bGQtbW92ZS10byAiL2Zvby9iYXIiICIvIiA2KQor ICAgKHJ1YnktZm9yd2FyZC1zdHJpbmctc2hvdWxkLW1vdmUtdG8gInxmb298YmFyIiAifCIgNikK KyAgIChydWJ5LWZvcndhcmQtc3RyaW5nLXNob3VsZC1tb3ZlLXRvICItZm9vLWJhciIgIi0iIDYp KQorCisgKGVydC1kZWZ0ZXN0IHJ1YnktZm9yd2FyZC1zdHJpbmctYWNjZXB0cy1jYXJldHMgKCkK KyAgIDpleHBlY3RlZC1yZXN1bHQgOmZhaWxlZAorICAgKHJ1YnktZm9yd2FyZC1zdHJpbmctc2hv dWxkLW1vdmUtdG8gIl5mb29eYmFyIiAiXiIgNikpCisKKyAoZXJ0LWRlZnRlc3QgcnVieS1mb3J3 YXJkLXN0cmluZy1zY2Fucy10aGUtc2hvcnRlc3QtbWF0Y2ggKCkKKyAgIChydWJ5LWZvcndhcmQt c3RyaW5nLXNob3VsZC1tb3ZlLXRvICI8Zm9vPiIgICAiPjwiIDYpCisgICAocnVieS1mb3J3YXJk LXN0cmluZy1zaG91bGQtbW92ZS10byAiPGZvbz4+IiAgIj48IiA2KQorICAgKHJ1YnktZm9yd2Fy ZC1zdHJpbmctc2hvdWxkLW1vdmUtdG8gIjxmb28+PD4iICI+PCIgNikpCisKKyAoZXJ0LWRlZnRl c3QgcnVieS1mb3J3YXJkLXN0cmluZy1za2lwcy1lc2NhcGVkLWRlbGltaXRlcnMgKCkKKyAgIChy dWJ5LWZvcndhcmQtc3RyaW5nLXNob3VsZC1tb3ZlLXRvICI8Zm9vXFw+IiAgICI+PCIgbmlsKQor ICAgKHJ1YnktZm9yd2FyZC1zdHJpbmctc2hvdWxkLW1vdmUtdG8gIjxmb29cXD4+IiAgIj48IiA4 KQorICAgKHJ1YnktZm9yd2FyZC1zdHJpbmctc2hvdWxkLW1vdmUtdG8gIi9mb29cXC8iICAgIi8i ICBuaWwpCisgICAocnVieS1mb3J3YXJkLXN0cmluZy1zaG91bGQtbW92ZS10byAiL2Zvb1xcLy8i ICAiLyIgIDgpCisgICAocnVieS1mb3J3YXJkLXN0cmluZy1zaG91bGQtbW92ZS10byAiL2Zvb1xc XFwvIiAiLyIgIDgpKQorCisgKGVydC1kZWZ0ZXN0IHJ1YnktZm9yd2FyZC1zdHJpbmctcmVxdWly ZXMtbWF0Y2hlZC1kZWxpbWl0ZXJzICgpCisgICAocnVieS1mb3J3YXJkLXN0cmluZy1zaG91bGQt bW92ZS10byAiPGZvbyIgICAgIj48IiBuaWwpCisgICAocnVieS1mb3J3YXJkLXN0cmluZy1zaG91 bGQtbW92ZS10byAiPGZvbzwiICAgIj48IiBuaWwpCisgICAocnVieS1mb3J3YXJkLXN0cmluZy1z aG91bGQtbW92ZS10byAiPGZvbzw+IiAgIj48IiBuaWwpCisgICAocnVieS1mb3J3YXJkLXN0cmlu Zy1zaG91bGQtbW92ZS10byAiPGZvbzw+PiIgIj48IiA4KQorICAgKHJ1YnktZm9yd2FyZC1zdHJp bmctc2hvdWxkLW1vdmUtdG8gIjw8Pjw+PiIgICI+PCIgNykKKyAgIChydWJ5LWZvcndhcmQtc3Ry aW5nLXNob3VsZC1tb3ZlLXRvICI+PCIgICAgICAiPjwiIG5pbCkKKyAgIChydWJ5LWZvcndhcmQt c3RyaW5nLXNob3VsZC1tb3ZlLXRvICIvZm9vIiAgICAiLyIgIG5pbCkpCisKKyAoZXJ0LWRlZnRl c3QgcnVieS1mb3J3YXJkLXN0cmluZy1jYW4tc2tpcC1pbnRlcnBvbGF0aW9ucyAoKQorICAgKHJ1 YnktZm9yd2FyZC1zdHJpbmctc2hvdWxkLW1vdmUtdG8gIjxmI3s+fW8+IiAiPjwiIDYgbmlsKQor ICAgKHJ1YnktZm9yd2FyZC1zdHJpbmctc2hvdWxkLW1vdmUtdG8gIjxmI3s+fW8+IiAiPjwiIDkg dCkKKyAgIChydWJ5LWZvcndhcmQtc3RyaW5nLXNob3VsZC1tb3ZlLXRvICIvZiN7L31vLyIgIi8i ICA2IG5pbCkKKyAgIChydWJ5LWZvcndhcmQtc3RyaW5nLXNob3VsZC1tb3ZlLXRvICIvZiN7L31v LyIgIi8iICA5IHQpKQoKICAocHJvdmlkZSAncnVieS1tb2RlLXRlc3RzKQo= --001a113356c05aecea04ece0ccce--