From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Mauro Aranda Newsgroups: gmane.emacs.bugs Subject: bug#7851: `customize's presentation of :type (repeat plist) declarations Date: Tue, 24 Sep 2019 18:22:39 -0300 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000087b3c00593532306" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="74686"; mail-complaints-to="usenet@blaine.gmane.org" Cc: monkey@sandpframing.com To: 7851@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Sep 25 00:51:46 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iCter-000JMX-AZ for geb-bug-gnu-emacs@m.gmane.org; Wed, 25 Sep 2019 00:51:45 +0200 Original-Received: from localhost ([::1]:43460 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iCtep-0008Qa-GE for geb-bug-gnu-emacs@m.gmane.org; Tue, 24 Sep 2019 18:51:43 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35702) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iCtPg-00021C-EX for bug-gnu-emacs@gnu.org; Tue, 24 Sep 2019 18:36:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iCtPe-0000pX-Kb for bug-gnu-emacs@gnu.org; Tue, 24 Sep 2019 18:36:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:59667) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iCtPe-0000pA-Dn for bug-gnu-emacs@gnu.org; Tue, 24 Sep 2019 18:36:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iCtPe-0000dL-DB for bug-gnu-emacs@gnu.org; Tue, 24 Sep 2019 18:36:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Mauro Aranda Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 24 Sep 2019 22:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7851 X-GNU-PR-Package: emacs Original-Received: via spool by 7851-submit@debbugs.gnu.org id=B7851.15693645272392 (code B ref 7851); Tue, 24 Sep 2019 22:36:02 +0000 Original-Received: (at 7851) by debbugs.gnu.org; 24 Sep 2019 22:35:27 +0000 Original-Received: from localhost ([127.0.0.1]:40255 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCtP5-0000cW-03 for submit@debbugs.gnu.org; Tue, 24 Sep 2019 18:35:27 -0400 Original-Received: from mail-lj1-f177.google.com ([209.85.208.177]:44675) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iCtP0-0000cA-4y for 7851@debbugs.gnu.org; Tue, 24 Sep 2019 18:35:25 -0400 Original-Received: by mail-lj1-f177.google.com with SMTP id m13so3536310ljj.11 for <7851@debbugs.gnu.org>; Tue, 24 Sep 2019 15:35:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=+9XOyoaAFHRD75zfofan7fLVe44F8HylIw4WakHmlKE=; b=YuE+JIfVXMc3jbFFpBstUctmih5VzV36afbRFSw5OhOamh6odugB+QSnYnTXA7TxZN nwf2Xnc/oV9Xp9RenDifyI3xdAgI63+1KCT49wyFAZavFnyfEDwqvrlpEemetwZggMjN 4KcB9F8viRCuD9669+0nkkgdmeCrzOkgtj+tyBxQ4I7Yl42xb9uq0mUgzG5oYNz8zodX od9YoOFlzT0PRBIQSYnXruTKV4JCySPVan1Jmv7rQGrswfB8bEAokggMpKZVssFbx91A kw7Dvp8ljlKxSJ+bJLWATwgua2QMcwlWNZgH0WHqL0/H8GsCnkiECOEr0DUZMamQYNYF dwYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=+9XOyoaAFHRD75zfofan7fLVe44F8HylIw4WakHmlKE=; b=kpkkoGCONIM+yUtf+B0BF5uXTmg1XUH8QOJHnFINMNpLbniT4N1RYPq/mmELBrKCz3 G/ECkzwmnR69iVBaRu5kOeIEPwgzQ8JnAUUq3hmoYr/PpUSFEd6Pc+z9RuMNMt4AVOGm 19intpZDyCCtvduuF9kO7iXf1/Q5196uU6PKB3HXFif31MY5n9QRW8lDH9zRnr8zHv8s Ku0m3Ky34yVwvyt8GyOjFAY+8RQW9O/aK87rQOpQXC9XeNSxh4H8GeXA/pEAjDOFmVAR HU5SKqXG/0KpdqFJc0qHk7cq2As9uYb28hyy1hSCE28SmH8Uq1z5F8zbC+FS+hInEG05 UJbg== X-Gm-Message-State: APjAAAWtPUTDv4Mj31JjIjC0lUOg8ShdyEFEj+0vtGNJ4P29OTm1DT/d 9sQliMOH2Bc0sPacEJd726542uu7m7CtkQ9uTLHTMnnU X-Google-Smtp-Source: APXvYqzwbcw4TeWYgaMcjtKhqTfT/MM89oXq9xRATZPG3bIGGevkDyFAqsiatorzpu8j2aDn09BA5hrKr8BqlgH8JRk= X-Received: by 2002:a2e:9f03:: with SMTP id u3mr3470719ljk.140.1569360171207; Tue, 24 Sep 2019 14:22:51 -0700 (PDT) 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: 209.51.188.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:167127 Archived-At: --00000000000087b3c00593532306 Content-Type: multipart/alternative; boundary="00000000000087b3be0593532304" --00000000000087b3be0593532304 Content-Type: text/plain; charset="UTF-8" tags 7851 patch quit MON KEY writes: > `customize's presentation of variables defined with a type speciifer: > > :type '(repeat plist :value-type (repeat symbol)) > > do not present a sensibly in customize buffers. > I can reproduce this. The problem is that in some cases, the code that does the indenting (by inserting space characters) doesn't really check if it should indent or not. Sometimes it checks for a preceding newline character, but since `widget-specify-insert' narrows the buffer, it can easily fail to detect that "\n". Sometimes, it doesn't check if it should indent at all, like in `widget-editable-list-format-handler'. I propose the attached patch, that introduces a function to perform the necessary checks before indenting, and then uses it in all places I've found is necessary. Best regards, Mauro. --00000000000087b3be0593532304 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
tags 7851 patch
quit

MON KEY <monkey@sandpf= raming.com> writes:

> `customize's presentation of v= ariables defined with a type speciifer:
>
> =C2=A0:type '(r= epeat plist :value-type (repeat symbol))
>
> do not present a s= ensibly in customize buffers.
>

I can reproduce this.=C2=A0 Th= e problem is that in some cases, the
code that does the indenting (by in= serting space characters) doesn't
really check if it should indent o= r not.

Sometimes it checks for a preceding newline character, but si= nce
`widget-specify-insert' narrows the buffer, it can easily fail t= o detect
that "\n".=C2=A0 Sometimes, it doesn't check if i= t should indent at all, like
in `widget-editable-list-format-handler'= ;.

I propose the attached patch, that introduces a function to perfo= rm the
necessary checks before indenting, and then uses it in all places= I've
found is necessary.

Best regards,
Mauro.
--00000000000087b3be0593532304-- --00000000000087b3c00593532306 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-indentation-of-widgets-Bug-7851.patch" Content-Disposition: attachment; filename="0001-Fix-indentation-of-widgets-Bug-7851.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k0ycg8g80 RnJvbSAzZWM0M2Y2ZGUxODVjZGUzNDFiODA1NzllY2YzYTA1MTIzOWU1ZmVmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXVybyBBcmFuZGEgPG1hdXJvb2FyYW5kYUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMjQgU2VwIDIwMTkgMTg6MDE6NTggLTAzMDAKU3ViamVjdDogW1BBVENIXSBG aXggaW5kZW50YXRpb24gb2Ygd2lkZ2V0cyAoQnVnIzc4NTEpCgoqIGxpc3Avd2lkLWVkaXQuZWwg KHdpZGdldC0tc2hvdWxkLWluZGVudC1wKTogTmV3IGZ1bmN0aW9uLCB0byBkZWNpZGUKd2hldGhl ciB0byBpbmRlbnQgb3Igbm90Lgood2lkZ2V0LWNoZWNrbGlzdC12YWx1ZS1hZGQtaXRlbSwgd2lk Z2V0LXJhZGlvLWFkZC1pdGVtKQood2lkZ2V0LWVkaXRhYmxlLWxpc3QtZm9ybWF0LWhhbmRsZXIp Cih3aWRnZXQtZWRpdGFibGUtbGlzdC1lbnRyeS1jcmVhdGUpCih3aWRnZXQtZ3JvdXAtdmFsdWUt Y3JlYXRlKTogVXNlIGl0LgotLS0KIGxpc3Avd2lkLWVkaXQuZWwgfCAzMSArKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgNiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL3dpZC1lZGl0LmVsIGIvbGlzcC93aWQtZWRp dC5lbAppbmRleCAyOTc4ZGM4Li41MmI3NTMyIDEwMDY0NAotLS0gYS9saXNwL3dpZC1lZGl0LmVs CisrKyBiL2xpc3Avd2lkLWVkaXQuZWwKQEAgLTQxMiw2ICs0MTIsMTcgQEAgd2lkZ2V0LXNwZWNp ZnktZG9jCiAgICAgKG92ZXJsYXktcHV0IG92ZXJsYXkgJ2V2YXBvcmF0ZSB0KQogICAgICh3aWRn ZXQtcHV0IHdpZGdldCA6ZG9jLW92ZXJsYXkgb3ZlcmxheSkpKQogCisoZGVmdW4gd2lkZ2V0LS1z aG91bGQtaW5kZW50LXAgKCZvcHRpb25hbCBjaGVjay1hZnRlcikKKyAgIk5vbi1uaWwgaWYgd2Ug c2hvdWxkIGluZGVudCBhdCB0aGUgY3VycmVudCBwb3NpdGlvbi4KK1dpdGggQ0hFQ0stQUZURVIg bm9uLW5pbCwgY29uc2lkZXJzIGFsc28gdGhlIGNvbnRlbnQgYWZ0ZXIgcG9pbnQsIGlmIG5lZWRl ZC4iCisgIChzYXZlLXJlc3RyaWN0aW9uCisgICAgKHdpZGVuKQorICAgIChhbmQgKGVxIChwcmVj ZWRpbmctY2hhcikgP1xuKQorICAgICAgICAgKG9yIChub3QgY2hlY2stYWZ0ZXIpCisgICAgICAg ICAgICAgOzsgSWYgdGhlcmUgaXMgYSBzcGFjZSBjaGFyYWN0ZXIsIHRoZW4gd2UgcHJvYmFibHkg YWxyZWFkeQorICAgICAgICAgICAgIDs7IGluZGVudGVkIGl0LgorICAgICAgICAgICAgIChub3Qg KGVxIChmb2xsb3dpbmctY2hhcikgP1xzKSkpKSkpCisKIChkZWZtYWNybyB3aWRnZXQtc3BlY2lm eS1pbnNlcnQgKCZyZXN0IGZvcm0pCiAgICJFeGVjdXRlIEZPUk0gd2l0aG91dCBpbmhlcml0aW5n IGFueSB0ZXh0IHByb3BlcnRpZXMuIgogICAgKGRlY2xhcmUgKGRlYnVnIGJvZHkpKQpAQCAtMjI1 NCw3ICsyMjY1LDcgQEAgd2lkZ2V0LWNoZWNrbGlzdC12YWx1ZS1jcmVhdGUKIChkZWZ1biB3aWRn ZXQtY2hlY2tsaXN0LWFkZC1pdGVtICh3aWRnZXQgdHlwZSBjaG9zZW4pCiAgICJDcmVhdGUgY2hl Y2tsaXN0IGl0ZW0gaW4gV0lER0VUIG9mIHR5cGUgVFlQRS4KIElmIHRoZSBpdGVtIGlzIGNoZWNr ZWQsIENIT1NFTiBpcyBhIGNvbnMgd2hvc2UgY2RyIGlzIHRoZSB2YWx1ZS4iCi0gIChhbmQgKGVx IChwcmVjZWRpbmctY2hhcikgP1xuKQorICAoYW5kICh3aWRnZXQtLXNob3VsZC1pbmRlbnQtcCkK ICAgICAgICAod2lkZ2V0LWdldCB3aWRnZXQgOmluZGVudCkKICAgICAgICAoaW5zZXJ0LWNoYXIg P1xzICh3aWRnZXQtZ2V0IHdpZGdldCA6aW5kZW50KSkpCiAgICh3aWRnZXQtc3BlY2lmeS1pbnNl cnQKQEAgLTI0MzUsNyArMjQ0Niw3IEBAIHdpZGdldC1yYWRpby12YWx1ZS1jcmVhdGUKIChkZWZ1 biB3aWRnZXQtcmFkaW8tYWRkLWl0ZW0gKHdpZGdldCB0eXBlKQogICAiQWRkIHRvIHJhZGlvIHdp ZGdldCBXSURHRVQgYSBuZXcgcmFkaW8gYnV0dG9uIGl0ZW0gb2YgdHlwZSBUWVBFLiIKICAgOzsg KHNldHEgdHlwZSAod2lkZ2V0LWNvbnZlcnQgdHlwZSkpCi0gIChhbmQgKGVxIChwcmVjZWRpbmct Y2hhcikgP1xuKQorICAoYW5kICh3aWRnZXQtLXNob3VsZC1pbmRlbnQtcCkKICAgICAgICAod2lk Z2V0LWdldCB3aWRnZXQgOmluZGVudCkKICAgICAgICAoaW5zZXJ0LWNoYXIgP1xzICh3aWRnZXQt Z2V0IHdpZGdldCA6aW5kZW50KSkpCiAgICh3aWRnZXQtc3BlY2lmeS1pbnNlcnQKQEAgLTI2MTQs NyArMjYyNSw4IEBAIHdpZGdldC1lZGl0YWJsZS1saXN0LWZvcm1hdC1oYW5kbGVyCiAgIDs7IFdl IHJlY29nbml6ZSB0aGUgaW5zZXJ0IGJ1dHRvbi4KICAgICA7OyAobGV0ICgod2lkZ2V0LXB1c2gt YnV0dG9uLWd1aSB3aWRnZXQtZWRpdGFibGUtbGlzdC1ndWkpKQogICAgIChjb25kICgoZXEgZXNj YXBlID9pKQotCSAgIChhbmQgKHdpZGdldC1nZXQgd2lkZ2V0IDppbmRlbnQpCisJICAgKGFuZCAo d2lkZ2V0LS1zaG91bGQtaW5kZW50LXApCisgICAgICAgICAgICAgICAgKHdpZGdldC1nZXQgd2lk Z2V0IDppbmRlbnQpCiAJCShpbnNlcnQtY2hhciA/XHMgKHdpZGdldC1nZXQgd2lkZ2V0IDppbmRl bnQpKSkKIAkgICAoYXBwbHkgJ3dpZGdldC1jcmVhdGUtY2hpbGQtYW5kLWNvbnZlcnQKIAkJICB3 aWRnZXQgJ2luc2VydC1idXR0b24KQEAgLTI3MjMsOCArMjczNSw5IEBAIHdpZGdldC1lZGl0YWJs ZS1saXN0LWVudHJ5LWNyZWF0ZQogCWNoaWxkIGRlbGV0ZSBpbnNlcnQpCiAgICAgKHdpZGdldC1z cGVjaWZ5LWluc2VydAogICAgICAoc2F2ZS1leGN1cnNpb24KLSAgICAgICAoYW5kICh3aWRnZXQt Z2V0IHdpZGdldCA6aW5kZW50KQotCSAgICAoaW5zZXJ0LWNoYXIgP1xzICh3aWRnZXQtZ2V0IHdp ZGdldCA6aW5kZW50KSkpCisgICAgICAgKGFuZCAod2lkZ2V0LS1zaG91bGQtaW5kZW50LXApCisg ICAgICAgICAgICAod2lkZ2V0LWdldCB3aWRnZXQgOmluZGVudCkKKyAgICAgICAgICAgIChpbnNl cnQtY2hhciA/XHMgKHdpZGdldC1nZXQgd2lkZ2V0IDppbmRlbnQpKSkKICAgICAgICAoaW5zZXJ0 ICh3aWRnZXQtZ2V0IHdpZGdldCA6ZW50cnktZm9ybWF0KSkpCiAgICAgIDs7IFBhcnNlICUgZXNj YXBlcyBpbiBmb3JtYXQuCiAgICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgIiVcXCguXFwp IiBuaWwgdCkKQEAgLTI3NTIsNiArMjc2NSwxMiBAQCB3aWRnZXQtZWRpdGFibGUtbGlzdC1lbnRy eS1jcmVhdGUKICAgICAgICAoaWYgaW5zZXJ0IChwdXNoIGluc2VydCBidXR0b25zKSkKICAgICAg ICAoaWYgZGVsZXRlIChwdXNoIGRlbGV0ZSBidXR0b25zKSkKICAgICAgICAod2lkZ2V0LXB1dCB3 aWRnZXQgOmJ1dHRvbnMgYnV0dG9ucykpCisgICAgIDs7IEFmdGVyIGNyZWF0aW5nIHRoZSBlbnRy eSwgd2UgbXVzdCBjaGVjayBpZiB3ZSBzaG91bGQgaW5kZW50IHRoZQorICAgICA7OyBmb2xsb3dp bmcgZW50cnkuICBUaGlzIGlzIG5lY2Vzc2FyeSwgZm9yIGV4YW1wbGUsIHRvIGtlZXAgdGhlIGNv cnJlY3QKKyAgICAgOzsgaW5kZW50YXRpb24gb2YgZWRpdGFibGUgbGlzdHMgaW5zaWRlIGdyb3Vw IHdpZGdldHMuCisgICAgIChhbmQgKHdpZGdldC0tc2hvdWxkLWluZGVudC1wIHQpCisgICAgICAg ICAgKHdpZGdldC1nZXQgd2lkZ2V0IDppbmRlbnQpCisgICAgICAgICAgKGluc2VydC1jaGFyID9c cyAod2lkZ2V0LWdldCB3aWRnZXQgOmluZGVudCkpKQogICAgICAobGV0ICgoZW50cnktZnJvbSAo cG9pbnQtbWluLW1hcmtlcikpCiAJICAgKGVudHJ5LXRvIChwb2ludC1tYXgtbWFya2VyKSkpCiAg ICAgICAgKHNldC1tYXJrZXItaW5zZXJ0aW9uLXR5cGUgZW50cnktZnJvbSB0KQpAQCAtMjc4Niw3 ICsyODA1LDcgQEAgd2lkZ2V0LWdyb3VwLXZhbHVlLWNyZWF0ZQogCSAgICBhcmdzIChjZHIgYXJn cykKIAkgICAgYW5zd2VyICh3aWRnZXQtbWF0Y2gtaW5saW5lIGFyZyB2YWx1ZSkKIAkgICAgdmFs dWUgKGNkciBhbnN3ZXIpKQotICAgICAgKGFuZCAoZXEgKHByZWNlZGluZy1jaGFyKSA/XG4pCisg ICAgICAoYW5kICh3aWRnZXQtLXNob3VsZC1pbmRlbnQtcCkKIAkgICAod2lkZ2V0LWdldCB3aWRn ZXQgOmluZGVudCkKIAkgICAoaW5zZXJ0LWNoYXIgP1xzICh3aWRnZXQtZ2V0IHdpZGdldCA6aW5k ZW50KSkpCiAgICAgICAocHVzaCAoY29uZCAoKG51bGwgYW5zd2VyKQotLSAKMi43LjQKCg== --00000000000087b3c00593532306--