From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Samuel Freilich Newsgroups: gmane.emacs.bugs Subject: bug#20774: auto-fill doesn't work properly when first-line prefix differs in adaptive-fill-mode Date: Wed, 23 Aug 2017 14:20:20 -0400 Message-ID: References: <878tibbwcv.fsf@users.sourceforge.net> <87wp5v9bsp.fsf@users.sourceforge.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="001a113cd3f0f1e33b05576fc402" X-Trace: blaine.gmane.org 1503512482 10938 195.159.176.226 (23 Aug 2017 18:21:22 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 23 Aug 2017 18:21:22 +0000 (UTC) Cc: 20774@debbugs.gnu.org To: npostavs@users.sourceforge.net Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Aug 23 20:21:17 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkaH8-0002Ew-OW for geb-bug-gnu-emacs@m.gmane.org; Wed, 23 Aug 2017 20:21:10 +0200 Original-Received: from localhost ([::1]:45163 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dkaHF-0006QD-As for geb-bug-gnu-emacs@m.gmane.org; Wed, 23 Aug 2017 14:21:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46627) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dkaH4-0006Pg-JD for bug-gnu-emacs@gnu.org; Wed, 23 Aug 2017 14:21:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dkaH0-0004Lh-1W for bug-gnu-emacs@gnu.org; Wed, 23 Aug 2017 14:21:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:42995) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dkaGz-0004LU-Qy for bug-gnu-emacs@gnu.org; Wed, 23 Aug 2017 14:21:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dkaGz-00017x-In for bug-gnu-emacs@gnu.org; Wed, 23 Aug 2017 14:21:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Samuel Freilich Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 23 Aug 2017 18:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20774 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 20774-submit@debbugs.gnu.org id=B20774.15035124484307 (code B ref 20774); Wed, 23 Aug 2017 18:21:01 +0000 Original-Received: (at 20774) by debbugs.gnu.org; 23 Aug 2017 18:20:48 +0000 Original-Received: from localhost ([127.0.0.1]:51676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkaGl-00017P-Vf for submit@debbugs.gnu.org; Wed, 23 Aug 2017 14:20:48 -0400 Original-Received: from mail-oi0-f42.google.com ([209.85.218.42]:33573) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkaGk-00017C-IE for 20774@debbugs.gnu.org; Wed, 23 Aug 2017 14:20:47 -0400 Original-Received: by mail-oi0-f42.google.com with SMTP id f11so9402819oic.0 for <20774@debbugs.gnu.org>; Wed, 23 Aug 2017 11:20:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=oYho5qRmlpkM2N12Qz3vsDm8COCsCCrPmCyqMdYfrto=; b=WwOiCJirE6mYk0ZQ/J0fel6Ke6RF7FDdNBJstwtTVTTqiTG3blGe0s5gRWBkcBpdbD wQfK91z2Q5rzVyYvoenba2NCCrA5EFe4usR67o9K1AmmTvV9WVJRO8zaOl6wqM4WFHX8 3rOICOZaw/bgPVbTrBssOeVPUAiFXJaRgIYCLhABRcCht3qMD0Wmk1a9dzSeIkmA14Rw hvfDmsyDmVyg9nc8QsRJVTSFC1NU/hE/o9U8T5weCvj+e7cCAYwNy/cdcRHqW/Hh9CMA NeN860tEEpuf9mf975fL0OEYrob8CyZEIk0aNSoadFU6MNwgF8pN9M6zkVrZFPh1HlVC W87Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=oYho5qRmlpkM2N12Qz3vsDm8COCsCCrPmCyqMdYfrto=; b=As94ZUjbK3MxESieLLalBXnr8Tjz6xqB5xyKF03Nk/25pJzE5JM54MCuLmjssUnL9p Qa/m0YtxAHsM35ohQn6URVRNt0uQCiElvyVtRSCJFDF+D2JSQzBFR9Lne6HdZQwJAnBh WWuz2mz4FSLzASob099MpkVnOeTdQSEBddSvtPi6si4zkgQAcXYDNgEE7QoUDWI98zBd FbZAitEdN9Oo+ihIzvxfsaUUzpFbGJuudAI3yc53QYXbQaFD2NwjQr8ZT63JqdCmtotH Ygxn/aJoQ05oI0jUKN/IkbwxRo+7SGiyhQv5cinGXP0WtkhG8uB2edNDkKh+6+tOYF+U USjg== X-Gm-Message-State: AHYfb5goIauME4GYNYlxG0M+bLWVq3b8sA96ZtdzOOt2fUhXTUdwXn29 XwG7ZQb052QiFqV1U7uvj+ZHStngoJv9 X-Google-Smtp-Source: ADKCNb7EtdHtiBD+XDKxg5iqvuoxjIph5lHHDiq5iXqw7IKUdnmevkD92o+pymfzcEwUVa01lFExj5ZM0+N/mGmvYyQ= X-Received: by 10.202.177.133 with SMTP id a127mr4078036oif.70.1503512440667; Wed, 23 Aug 2017 11:20:40 -0700 (PDT) Original-Received: by 10.58.43.76 with HTTP; Wed, 23 Aug 2017 11:20:20 -0700 (PDT) In-Reply-To: <87wp5v9bsp.fsf@users.sourceforge.net> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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" Xref: news.gmane.org gmane.emacs.bugs:136113 Archived-At: --001a113cd3f0f1e33b05576fc402 Content-Type: multipart/alternative; boundary="001a113cd3f0f1e33805576fc400" --001a113cd3f0f1e33805576fc400 Content-Type: text/plain; charset="UTF-8" tab-width = 4 seems consistent with how the rest of the file is formatted. I didn't want to change the spacing in lines not touched by my diff. I added tests and a change description, and formatted the patch according to the current instructions. I made the patch a bit more minimal. I pruned the part that dealt with adaptive-fill-first-line-regexp didn't work as well as expected, since that didn't work as well as expected (it didn't deal with all the complexity possible with adaptive-fill-function). The updated version at least handles cases where the fill-prefix isn't shorter than the first-line prefix. That allowed me to simplify the code quite a bit, since that makes the previous logic for skipping the exact fill-prefix redundant, fill-move-to-break-point already handles the logic of trying to skip at least one word after the start position passed to it. Please take another look. You're correct about copyright. I'm doing this for work, copyright is covered by whatever agreements Google has made. On Tue, Aug 22, 2017 at 11:56 PM, wrote: > Samuel Freilich writes: > > > Yes, that's correct. Sorry for getting that wrong in my initial > > description of the bug. That's the same as the indentation behavior > > with auto-fill-mode disabled. A hanging indent is not assumed with > > only one line. > > Ah okay. The patch looks fine (apart from the indentation being off, I > assume because you had tab-width = 4). Would you mind adding a commit > message? (See CONTRIBUTE for the format.) > > If you're feeling up to it, a test would be nice too. > > Since you're sending from a google.com address, I understand the > copyright assignment is covered under Google's blanket agreement, is > that right? > --001a113cd3f0f1e33805576fc400 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
tab-width =3D 4 seems con= sistent with how the rest of the file is formatted. I didn't want to ch= ange the spacing in lines not touched by my diff.

I= added tests and a change description, and formatted the patch according to= the current instructions. I made the patch a bit more minimal. I pruned th= e part that dealt with adaptive-fill-first-line-regexp didn't work as w= ell as expected, since that didn't work as well as expected (it didn= 9;t deal with all the complexity possible with=C2=A0adaptive-fill-function)= . The updated version at least handles cases where the fill-prefix isn'= t shorter than the first-line prefix.=C2=A0That allowed me to simplify the code quite a bit, since that makes = the previous logic for skipping the exact fill-prefix redundant, fill-move-= to-break-point already handles the logic of trying to skip at least one wor= d after the start position passed to it. Please take another look.

You're correct about copyright. I'm doing t= his for work, copyright is covered by whatever agreements Google has made.<= /div>


<= /div>

= On Tue, Aug 22, 2017 at 11:56 PM, <npostavs@users.sourceforg= e.net> wrote:
Samuel Freilich <sfreilich= @google.com> writes:

> Yes, that's correct. Sorry for getting that wrong in my initial > description of the bug. That's the same as the indentation behavio= r
> with auto-fill-mode disabled. A hanging indent is not assumed with
> only one line.

Ah okay.=C2=A0 The patch looks fine (apart from the indentation bein= g off, I
assume because you had tab-width =3D 4).=C2=A0 Would you mind adding a comm= it
message?=C2=A0 (See CONTRIBUTE for the format.)

If you're feeling up to it, a test would be nice too.

Since you're sending from a google.com address, I understand the
copyright assignment is covered under Google's blanket agreement, is that right?

--001a113cd3f0f1e33805576fc400-- --001a113cd3f0f1e33b05576fc402 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Do-not-split-line-before-length-of-fill-prefix.patch" Content-Disposition: attachment; filename="0001-Do-not-split-line-before-length-of-fill-prefix.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j6pccjjz0 RnJvbSBiMDk4YjQxY2E0NTc3NjBhNmRkZGU2MzNjYWMzN2U3MGZiYzhhZWI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW11ZWwgRnJlaWxpY2ggPHNmcmVpbGljaEBnb29nbGUuY29t PgpEYXRlOiBXZWQsIDIzIEF1ZyAyMDE3IDEzOjQwOjQ1IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0g RG8gbm90IHNwbGl0IGxpbmUgYmVmb3JlIGxlbmd0aCBvZiBmaWxsLXByZWZpeAoKUHJldmlvdXMg bG9naWMgYWxyZWFkeSBhdm9pZGVkIHNwbGl0dGluZyB0aGUgbGluZSBpbW1lZGlhdGVseSBhZnRl cgp0aGUgZXhhY3QgZmlsbCBwcmVmaXgsIGJ1dCBpbiBhZGFwdGl2ZS1maWxsLW1vZGUsIHRoZSBm aWxsLXByZWZpeCBtYXkKbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBwcmVmaXggb2YgdGhlIGZpcnN0 IGxpbmUgb2YgYSBwYXJhZ3JhcGguIFRoYXQKcmVzdWx0ZWQgaW4gYXV0by1maWxsLW1vZGUgYnJl YWtpbmcgbGluZXMgaW4gc3VjaCBhIHdheSBhcyB0byBtYWtlIHRoZQpzdWJzZXF1ZW50IGxpbmUg YXMgbG9uZyBvciBsb25nZXIgKEJ1ZyMyMDc3NCkuCi0tLQogbGlzcC9zaW1wbGUuZWwgICAgICAg ICAgICB8IDI2ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiB0ZXN0L2xpc3Avc2ltcGxlLXRl c3RzLmVsIHwgMTEgKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygr KSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9zaW1wbGUuZWwgYi9saXNwL3Np bXBsZS5lbAppbmRleCAwNzI3MjNjZDY0Li5hMWJhNDZmNTg2IDEwMDY0NAotLS0gYS9saXNwL3Np bXBsZS5lbAorKysgYi9saXNwL3NpbXBsZS5lbApAQCAtNzE0OCwxOCArNzE0OCwxNyBAQCBkby1h dXRvLWZpbGwKIAkgICAgICAgKHNldHEgZmlsbC1wcmVmaXggcHJlZml4KSkpKQogCiAgICAgICAo d2hpbGUgKGFuZCAobm90IGdpdmUtdXApICg+IChjdXJyZW50LWNvbHVtbikgZmMpKQotCTs7IERl dGVybWluZSB3aGVyZSB0byBzcGxpdCB0aGUgbGluZS4KLQkobGV0KiAoYWZ0ZXItcHJlZml4Ci0J ICAgICAgIChmaWxsLXBvaW50Ci0JCShzYXZlLWV4Y3Vyc2lvbgotCQkgIChiZWdpbm5pbmctb2Yt bGluZSkKLQkJICAoc2V0cSBhZnRlci1wcmVmaXggKHBvaW50KSkKLQkJICAoYW5kIGZpbGwtcHJl Zml4Ci0JCSAgICAgICAobG9va2luZy1hdCAocmVnZXhwLXF1b3RlIGZpbGwtcHJlZml4KSkKLQkJ ICAgICAgIChzZXRxIGFmdGVyLXByZWZpeCAobWF0Y2gtZW5kIDApKSkKLQkJICAobW92ZS10by1j b2x1bW4gKDErIGZjKSkKLQkJICAoZmlsbC1tb3ZlLXRvLWJyZWFrLXBvaW50IGFmdGVyLXByZWZp eCkKLQkJICAocG9pbnQpKSkpCisgICAgICAgIDs7IERldGVybWluZSB3aGVyZSB0byBzcGxpdCB0 aGUgbGluZS4KKyAgICAgICAgKGxldCAoKGZpbGwtcG9pbnQKKyAgICAgICAgICAgICAgIChzYXZl LWV4Y3Vyc2lvbgorICAgICAgICAgICAgICAgICAoYmVnaW5uaW5nLW9mLWxpbmUpCisgICAgICAg ICAgICAgICAgIChsZXQgKChsaW5lLXN0YXJ0IChwb2ludCkpKQorICAgICAgICAgICAgICAgICAg ICAobW92ZS10by1jb2x1bW4gKDErIGZjKSkKKyAgICAgICAgICAgICAgICAgICAgOzsgRG9uJ3Qg c3BsaXQgZWFybGllciBpbiB0aGUgbGluZSB0aGFuIHRoZSBsZW5ndGggb2YgdGhlIGZpbGwKKyAg ICAgICAgICAgICAgICAgICAgOzsgcHJlZml4LCBzaW5jZSB0aGUgcmVzdWx0aW5nIGxpbmUgd291 bGQgYmUgbG9uZ2VyLgorICAgICAgICAgICAgICAgICAgICAoZmlsbC1tb3ZlLXRvLWJyZWFrLXBv aW50IChtaW4gKGxpbmUtZW5kLXBvc2l0aW9uKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCsgbGluZS1zdGFydCAobGVuZ3RoIGZpbGwtcHJlZml4 KSkpKQorICAgICAgICAgICAgICAgICAgICAocG9pbnQpKSkpKQogCiAJICA7OyBTZWUgd2hldGhl ciB0aGUgcGxhY2Ugd2UgZm91bmQgaXMgYW55IGdvb2QuCiAJICAoaWYgKHNhdmUtZXhjdXJzaW9u CkBAIC03MTY3LDkgKzcxNjYsNiBAQCBkby1hdXRvLWZpbGwKIAkJKG9yIChib2xwKQogCQkgICAg OzsgVGhlcmUgaXMgbm8gdXNlIGJyZWFraW5nIGF0IGVuZCBvZiBsaW5lLgogCQkgICAgKHNhdmUt ZXhjdXJzaW9uIChza2lwLWNoYXJzLWZvcndhcmQgIiAiKSAoZW9scCkpCi0JCSAgICA7OyBJdCBp cyBmdXRpbGUgdG8gc3BsaXQgYXQgdGhlIGVuZCBvZiB0aGUgcHJlZml4Ci0JCSAgICA7OyBzaW5j ZSB3ZSB3b3VsZCBqdXN0IGluc2VydCB0aGUgcHJlZml4IGFnYWluLgotCQkgICAgKGFuZCBhZnRl ci1wcmVmaXggKDw9IChwb2ludCkgYWZ0ZXItcHJlZml4KSkKIAkJICAgIDs7IERvbid0IHNwbGl0 IHJpZ2h0IGFmdGVyIGEgY29tbWVudCBzdGFydGVyCiAJCSAgICA7OyBzaW5jZSB3ZSB3b3VsZCBq dXN0IG1ha2UgYW5vdGhlciBjb21tZW50IHN0YXJ0ZXIuCiAJCSAgICAoYW5kIGNvbW1lbnQtc3Rh cnQtc2tpcApkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL3NpbXBsZS10ZXN0cy5lbCBiL3Rlc3QvbGlz cC9zaW1wbGUtdGVzdHMuZWwKaW5kZXggYWQ3YWVlMWRiMS4uYzczMzBlNDAzNCAxMDA2NDQKLS0t IGEvdGVzdC9saXNwL3NpbXBsZS10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3Avc2ltcGxlLXRlc3Rz LmVsCkBAIC00OTcsNSArNDk3LDE2IEBAIHNpbXBsZS10ZXN0LXVuZG8td2l0aC1zd2l0Y2hlZC1i dWZmZXIKICAgICAgIChzaG91bGQgKGVxdWFsIChsaW5lLW51bWJlci1hdC1wb3MgNSkgMykpCiAg ICAgICAoc2hvdWxkIChlcXVhbCAobGluZS1udW1iZXItYXQtcG9zIDcpIDQpKSkpKQogCisoZXJ0 LWRlZnRlc3QgYXV0by1maWxsLW1vZGUtbm8tYnJlYWstYmVmb3JlLWxlbmd0aC1vZi1maWxsLXBy ZWZpeCAoKQorICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgIChzZXRxLWxvY2FsIGZpbGwtcHJlZml4 ICIgICAiKQorICAgIChzZXQtZmlsbC1jb2x1bW4gNSkKKyAgICA7OyBTaG91bGRuJ3QgYnJlYWsg YWZ0ZXIgJ2ZvbycgKDMgY2hhcmFjdGVycykgd2hlbiB0aGUgbmV4dAorICAgIDs7IGxpbmUgaXMg aW5kZW50ZWQgPj0gdG8gdGhhdCwgdGhhdCB3b3VkbG4ndCByZXN1bHQgaW4gc2hvcnRlcgorICAg IDs7IGxpbmVzLgorICAgIChpbnNlcnQgImZvbyBiYXIiKQorICAgIChkby1hdXRvLWZpbGwpCisg ICAgKHNob3VsZCAoc3RyaW5nLWVxdWFsIChidWZmZXItc3RyaW5nKSAiZm9vIGJhciIpKSkpCisK IChwcm92aWRlICdzaW1wbGUtdGVzdCkKIDs7OyBzaW1wbGUtdGVzdC5lbCBlbmRzIGhlcmUKLS0g CjIuMTQuMS4zNDIuZzY0OTA1MjVjNTQtZ29vZwoK --001a113cd3f0f1e33b05576fc402--