From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Pogonyshev Newsgroups: gmane.emacs.devel Subject: [PATCH] bug#23469: automatically instrument forms for Edebug when setting breakpoints Date: Thu, 12 May 2016 22:37:21 +0200 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=94eb2c04d0dc0407b70532ab20d0 X-Trace: ger.gmane.org 1463085462 20073 80.91.229.3 (12 May 2016 20:37:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 12 May 2016 20:37:42 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu May 12 22:37:42 2016 Return-path: Envelope-to: ged-emacs-devel@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 1b0xMb-0001js-Mk for ged-emacs-devel@m.gmane.org; Thu, 12 May 2016 22:37:41 +0200 Original-Received: from localhost ([::1]:59720 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0xMa-0007sN-Tf for ged-emacs-devel@m.gmane.org; Thu, 12 May 2016 16:37:40 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53532) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0xML-0007ql-5p for emacs-devel@gnu.org; Thu, 12 May 2016 16:37:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b0xMI-0007ce-I5 for emacs-devel@gnu.org; Thu, 12 May 2016 16:37:24 -0400 Original-Received: from mail-oi0-x235.google.com ([2607:f8b0:4003:c06::235]:35285) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0xMI-0007cX-Bj for emacs-devel@gnu.org; Thu, 12 May 2016 16:37:22 -0400 Original-Received: by mail-oi0-x235.google.com with SMTP id x19so139179127oix.2 for ; Thu, 12 May 2016 13:37:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to; bh=VnzgGn703E2OwmxUkc0Kqnrp6IwEaHh0A6qTfixKr1M=; b=Br35VDr8ar7Dwtl9/jVDX0K4MZWfzsk8llWdP8wTXOWn1By62/XvITost8j9f1PVFy NupXCZC9EUcGhgeB9v+gokFdy3VIgbjj1WEeRgAvc9BfTUFHE4Ysb1otUIwc/Pi+c3Dj 0/66AvLxRF1GHNhGrIjfp/x9oRZk/eZNKZ7j7xmtcJeNKMZrYNgmU/PyX7a6u8i8UjCg zrzoI4I+UosHVWCJy8aCdn55+GnNOVLSm+6jDPm9TTo/06FJhP0ZVv0/2xPDWzV3RcBx YCSMdP8SBcUzVDGH9c/DoZcYWTRwQuSXt8rwZW4AE7WgHXqSGte8tTgsHmAdUYEaUG7F LdFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to; bh=VnzgGn703E2OwmxUkc0Kqnrp6IwEaHh0A6qTfixKr1M=; b=Zz50J9K2IdG2CvOdsIx0qwMBxULIfNOkPUSn7dWQYDILv5s7QJaRP9tsXhutNslj/h JMjNp8ltjyJbWalOVhvBueOrystDo8E8ejwUaGDV5bHQKkTpg4jYeG6jsiwWazutv323 F2fWZbUzOSq6hY/EZsX8gEK/1Aau6nkx1Hprntlkbg0CyggwrUeOpWO9iuFYO+garO6X 7MTny7FoxoS3yl8TyxFckXdq/EOER4KjcgQ0/6Bpzhs6RY/R2s/1dM13LTxOE+Hbilu3 /Fg/TgjSyYIaqZDrMyIJBkvCq1yxMNkXybbOJ3gnyYpXndfJWW+0zyAHkwGvCDK/mXGG dngg== X-Gm-Message-State: AOPr4FWaclnw+HZ5QWtjMXffvI+uYqU2CfaN5q+JD6MZNCnXx2Vtj9iWPrcE3ZDRkTeIILv5p+4wDz5e2K2fdA== X-Received: by 10.157.47.103 with SMTP id h94mr7051593otb.76.1463085441474; Thu, 12 May 2016 13:37:21 -0700 (PDT) Original-Received: by 10.202.235.82 with HTTP; Thu, 12 May 2016 13:37:21 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:4003:c06::235 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:203812 Archived-At: --94eb2c04d0dc0407b70532ab20d0 Content-Type: text/plain; charset=UTF-8 Automatically instrument forms for Edebug when setting breakpoints inside not-yet-instrumented forms. * lisp/emacs-lisp/edebug.el (edebug-form-data-symbol): Add optional `instrument-if-needed' argument. (edebug-find-stop-point): Likewise. (edebug-modify-breakpoint, edebug-set-conditional-breakpoint): Pass t as `instrument-if-needed'. --94eb2c04d0dc0407b70532ab20d0 Content-Type: text/plain; charset=US-ASCII; name="autoinstrument.diff" Content-Disposition: attachment; filename="autoinstrument.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_io4rady00 ZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9lZGVidWcuZWwgYi9saXNwL2VtYWNzLWxpc3Av ZWRlYnVnLmVsCmluZGV4IDA3YTg0NmYuLmNhZWEyZDkgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3Mt bGlzcC9lZGVidWcuZWwKKysrIGIvbGlzcC9lbWFjcy1saXNwL2VkZWJ1Zy5lbApAQCAtNjI3LDEw ICs2MjcsMTUgQEAgbGlzdCBvZiBhIHN5bWJvbC4iKQogOzsgQWxzbyBuZWVkIHRvIGZpbmQgYWxs IGNvbnRhaW5lZCBlbnRyaWVzLAogOzsgYW5kIGZpbmQgYW4gZW50cnkgZ2l2ZW4gYSBzeW1ib2ws IHdoaWNoIHNob3VsZCBiZSBqdXN0IGFzc3EuCiAKLShkZWZ1biBlZGVidWctZm9ybS1kYXRhLXN5 bWJvbCAoKQorKGRlZnVuIGVkZWJ1Zy1mb3JtLWRhdGEtc3ltYm9sICgmb3B0aW9uYWwgaW5zdHJ1 bWVudC1pZi1uZWVkZWQpCiAgICJSZXR1cm4gdGhlIGVkZWJ1ZyBkYXRhIHN5bWJvbCBvZiB0aGUg Zm9ybSB3aGVyZSBwb2ludCBpcyBpbi4KLUlmIHBvaW50IGlzIG5vdCBpbnNpZGUgYSBlZGVidWdn YWJsZSBmb3JtLCBjYXVzZSBlcnJvci4iCitJZiBwb2ludCBpcyBpbnNpZGUgYSBub24tZWRlYnVn Z2FibGUgZm9ybSBhbmQgb3B0aW9uYWwgYXJndW1lbnQKK0lOU1RSVU1FTlQtSUYtTkVFREVEIGlz IG5vbi1uaWwsIGluc3RydW1lbnQgdGhlIGZvcm0gZmlyc3QsCitvdGhlcndpc2UgY2F1c2UgZXJy b3IuIgogICAob3IgKGVkZWJ1Zy0tZm9ybS1kYXRhLW5hbWUgKGVkZWJ1Zy1nZXQtZm9ybS1kYXRh LWVudHJ5IChwb2ludCkpKQorICAgICAgKHdoZW4gaW5zdHJ1bWVudC1pZi1uZWVkZWQKKyAgICAg ICAgKGVkZWJ1Zy1ldmFsLWRlZnVuIHQpCisgICAgICAgIChlZGVidWctLWZvcm0tZGF0YS1uYW1l IChlZGVidWctZ2V0LWZvcm0tZGF0YS1lbnRyeSAocG9pbnQpKSkpCiAgICAgICAoZXJyb3IgIk5v dCBpbnNpZGUgaW5zdHJ1bWVudGVkIGZvcm0iKSkpCiAKIChkZWZ1biBlZGVidWctbWFrZS10b3At Zm9ybS1kYXRhLWVudHJ5IChuZXctZW50cnkpCkBAIC0yODcxLDEzICsyODc2LDE3IEBAIGJlZm9y ZSByZXR1cm5pbmcuICBUaGUgZGVmYXVsdCBpcyBvbmUgc2Vjb25kLiIKIAogOzs7IEJyZWFrcG9p bnQgcmVsYXRlZCBmdW5jdGlvbnMKIAotKGRlZnVuIGVkZWJ1Zy1maW5kLXN0b3AtcG9pbnQgKCkK KyhkZWZ1biBlZGVidWctZmluZC1zdG9wLXBvaW50ICgmb3B0aW9uYWwgaW5zdHJ1bWVudC1pZi1u ZWVkZWQpCiAgIDs7IFJldHVybiAoZnVuY3Rpb24gLiBpbmRleCkgb2YgdGhlIG5lYXJlc3QgZWRl YnVnIHN0b3AgcG9pbnQuCi0gIChsZXQqICgoZWRlYnVnLWRlZi1uYW1lIChlZGVidWctZm9ybS1k YXRhLXN5bWJvbCkpCisgIChsZXQqICgoZWRlYnVnLWRlZi1uYW1lIChlZGVidWctZm9ybS1kYXRh LXN5bWJvbCBpbnN0cnVtZW50LWlmLW5lZWRlZCkpCiAJIChlZGVidWctZGF0YQogCSAgIChsZXQg KChkYXRhIChnZXQgZWRlYnVnLWRlZi1uYW1lICdlZGVidWcpKSkKLQkgICAgIChpZiAob3IgKG51 bGwgZGF0YSkgKG1hcmtlcnAgZGF0YSkpCi0JCSAoZXJyb3IgIiVzIGlzIG5vdCBpbnN0cnVtZW50 ZWQgZm9yIEVkZWJ1ZyIgZWRlYnVnLWRlZi1uYW1lKSkKKwkgICAgICh3aGVuIChvciAobnVsbCBk YXRhKSAobWFya2VycCBkYXRhKSkKKyAgICAgICAgICAgICAgICh3aGVuIGluc3RydW1lbnQtaWYt bmVlZGVkCisgICAgICAgICAgICAgICAgIChlZGVidWctZXZhbC1kZWZ1biB0KQorICAgICAgICAg ICAgICAgICAoc2V0cSBkYXRhIChnZXQgZWRlYnVnLWRlZi1uYW1lICdlZGVidWcpKSkKKyAgICAg ICAgICAgICAgICh3aGVuIChvciAobnVsbCBkYXRhKSAobWFya2VycCBkYXRhKSkKKyAgICAgICAg ICAgICAgICAgKGVycm9yICIlcyBpcyBub3QgaW5zdHJ1bWVudGVkIGZvciBFZGVidWciIGVkZWJ1 Zy1kZWYtbmFtZSkpKQogCSAgICAgZGF0YSkpICA7IHdlIGNvdWxkIGRvIGl0IGF1dG9tYXRpY2Fs bHksIGlmIGRhdGEgaXMgYSBtYXJrZXIuCiAJIDs7IHB1bGwgb3V0IHBhcnRzIG9mIGVkZWJ1Zy1k YXRhLgogCSAoZWRlYnVnLWRlZi1tYXJrIChjYXIgZWRlYnVnLWRhdGEpKQpAQCAtMjk0OSw3ICsy OTU4LDcgQEAgYmVmb3JlIHJldHVybmluZy4gIFRoZSBkZWZhdWx0IGlzIG9uZSBzZWNvbmQuIgog U2V0IGl0IGlmIEZMQUcgaXMgbm9uLW5pbCwgY2xlYXIgaXQgb3RoZXJ3aXNlLiAgVGhlbiBtb3Zl IHRvIHRoYXQgcG9pbnQuCiBJZiBDT05ESVRJT04gb3IgVEVNUE9SQVJZIGFyZSBub24tbmlsLCBh ZGQgdGhvc2UgYXR0cmlidXRlcyB0bwogdGhlIGJyZWFrcG9pbnQuIgotICAobGV0ICgoZWRlYnVn LXN0b3AtcG9pbnQgKGVkZWJ1Zy1maW5kLXN0b3AtcG9pbnQpKSkKKyAgKGxldCAoKGVkZWJ1Zy1z dG9wLXBvaW50IChlZGVidWctZmluZC1zdG9wLXBvaW50IHQpKSkKICAgICAoaWYgZWRlYnVnLXN0 b3AtcG9pbnQKIAkobGV0KiAoKGVkZWJ1Zy1kZWYtbmFtZSAoY2FyIGVkZWJ1Zy1zdG9wLXBvaW50 KSkKIAkgICAgICAgKGluZGV4IChjZHIgZWRlYnVnLXN0b3AtcG9pbnQpKQpAQCAtNDAxOCw3ICs0 MDI3LDcgQEAgV2l0aCBwcmVmaXggYXJndW1lbnQsIG1ha2UgaXQgYSB0ZW1wb3JhcnkgYnJlYWtw b2ludC4iCiAgICAobGlzdAogICAgIGN1cnJlbnQtcHJlZml4LWFyZwogICAgIDs7IFJlYWQgY29u ZGl0aW9uIGFzIGZvbGxvd3M7IGdldHRpbmcgcHJldmlvdXMgY29uZGl0aW9uIGlzIGN1bWJlcnNv bWU6Ci0gICAgKGxldCAoKGVkZWJ1Zy1zdG9wLXBvaW50IChlZGVidWctZmluZC1zdG9wLXBvaW50 KSkpCisgICAgKGxldCAoKGVkZWJ1Zy1zdG9wLXBvaW50IChlZGVidWctZmluZC1zdG9wLXBvaW50 IHQpKSkKICAgICAgIChpZiBlZGVidWctc3RvcC1wb2ludAogCSAgKGxldCogKChlZGVidWctZGVm LW5hbWUgKGNhciBlZGVidWctc3RvcC1wb2ludCkpCiAJCSAoaW5kZXggKGNkciBlZGVidWctc3Rv cC1wb2ludCkpCg== --94eb2c04d0dc0407b70532ab20d0--