From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.bugs Subject: bug#11679: 24.1.50; gud/pdb3 hangs in lines with list comprehension Date: Mon, 9 Sep 2019 04:38:05 +0200 Message-ID: References: <874nqhvvte.fsf@fh-trier.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000001f40d2059215aee6" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="123492"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 11679@debbugs.gnu.org To: Andreas Politz Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Sep 09 04:39:12 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 1i79aC-000W1J-9z for geb-bug-gnu-emacs@m.gmane.org; Mon, 09 Sep 2019 04:39:12 +0200 Original-Received: from localhost ([::1]:51780 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i79aB-000087-7t for geb-bug-gnu-emacs@m.gmane.org; Sun, 08 Sep 2019 22:39:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42401) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i79a3-00007l-Iu for bug-gnu-emacs@gnu.org; Sun, 08 Sep 2019 22:39:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i79a2-0002ec-Ep for bug-gnu-emacs@gnu.org; Sun, 08 Sep 2019 22:39:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:58802) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i79a2-0002eU-Ax for bug-gnu-emacs@gnu.org; Sun, 08 Sep 2019 22:39:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1i79a2-0007tQ-5y for bug-gnu-emacs@gnu.org; Sun, 08 Sep 2019 22:39:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <874nqhvvte.fsf@fh-trier.de> Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 09 Sep 2019 02:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11679 X-GNU-PR-Package: emacs Original-Received: via spool by 11679-submit@debbugs.gnu.org id=B11679.156799670530260 (code B ref 11679); Mon, 09 Sep 2019 02:39:02 +0000 Original-Received: (at 11679) by debbugs.gnu.org; 9 Sep 2019 02:38:25 +0000 Original-Received: from localhost ([127.0.0.1]:39388 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i79ZQ-0007rz-Pz for submit@debbugs.gnu.org; Sun, 08 Sep 2019 22:38:25 -0400 Original-Received: from mail-pg1-f173.google.com ([209.85.215.173]:43670) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i79ZO-0007rd-Qw for 11679@debbugs.gnu.org; Sun, 08 Sep 2019 22:38:23 -0400 Original-Received: by mail-pg1-f173.google.com with SMTP id u72so6892591pgb.10 for <11679@debbugs.gnu.org>; Sun, 08 Sep 2019 19:38:22 -0700 (PDT) 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=0LUZWHb3e6kwH/zZd9WB/ZqzQk4m/o7a5p3AN66Gfgw=; b=V8lKxknQhU1LI9uHyZFUTnHaUUJc68a4aQmdHFkwIrQqieLJ6KNkH2NNF8JqlxHM6b 0xETDaWyfVFTQTvZgr7xpfckAp8yfFaZWgvH3bCk8JJE0EKdU3PwL+alq4Rb9ZaVGeRv Zfnmb3ULeObnrYDRbntZyss1yh8gYb9MhiH0kKMv6aqtoh7QLlOyjhteY1R0POc5n+P0 xq/S1ur3vUphryd3J5G8o5cQmzyyNPUfBSZtu4E3LvX09l8zgYg6y8grOE4bLRl0VQ4w Ia+FF9lb2fwbZAhkBenh4iEwnh1JLDTHpOpmoNIIn3sUeivtUO07JtFDE80hh0Xo1vSy YBCw== X-Gm-Message-State: APjAAAXu3jFHfiMdX+fe98UK+jOMZjD8I6R3aEk60J0uCoXRBLFU8h/z JkSXTtew3J9QGWW3carAaVe7p0Glb5qNNdCk9t9lSPaed4g= X-Google-Smtp-Source: APXvYqziDABjxSaML4QrhYTpx4VS3TGLAIoVelZMJrScmOwJaMxcnOlRKWQPcGitS4aRm8SxMnz/M26GFnrm8m2e6gY= X-Received: by 2002:a17:90a:1150:: with SMTP id d16mr23549957pje.2.1567996696795; Sun, 08 Sep 2019 19:38:16 -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:166319 Archived-At: --0000000000001f40d2059215aee6 Content-Type: text/plain; charset="UTF-8" tags 11679 fixed close 11679 27.1 quit Andreas Politz writes: > For list comprehensions pdb3 outputs a line like this. > >> FILE(LINE)() > > But the `listcomp' token is not captured by the `gud-pdb-marker-regexp', > resulting in pdb appearing to be hanging. (This may be python2/3 > related.) > > diff -c -L /usr/share/emacs/24.1.50/lisp/progmodes/gud.el.gz -L \#\ /tmp/jka-com19603ZkZ /tmp/buffer-content-19603z4l > *** /usr/share/emacs/24.1.50/lisp/progmodes/gud.el.gz > --- # > *************** > *** 1567,1573 **** > ;; Last group is for return value, e.g. "> test.py(2)foo()->None" > ;; Either file or function name may be omitted: "> (0)?()" > (defvar gud-pdb-marker-regexp > ! "^> \\([-a-zA-Z0-9_/.:\\]*\\|\\)(\\([0-9]+\\))\\([a-zA-Z0-9_]*\\|\\?\\|\\)()\\(->[^\n\r]*\\)?[\n\r]") > > (defvar gud-pdb-marker-regexp-file-group 1) > (defvar gud-pdb-marker-regexp-line-group 2) > --- 1567,1573 ---- > ;; Last group is for return value, e.g. "> test.py(2)foo()->None" > ;; Either file or function name may be omitted: "> (0)?()" > (defvar gud-pdb-marker-regexp > ! "^> \\([-a-zA-Z0-9_/.:\\]*\\|\\)(\\([0-9]+\\))\\([a-zA-Z0-9_]*\\|\\?\\|<\\(?:module\\|listcomp\\)>\\)()\\(->[^\n\r]*\\)?[\n\r]") > > (defvar gud-pdb-marker-regexp-file-group 1) > (defvar gud-pdb-marker-regexp-line-group 2) > > Diff finished. Tue Jun 12 09:19:31 2012 I can reproduce this issue on current master, and it is indeed related to the new code object names for anonymous objects in Python 3. However, the fix you suggested was not complete, since it lacked support for other common code objects. I've therefore installed a slightly different patch on master (see attached). You could use the following Python 3 code to verify this fix: # lambda (lambda x: x + 1)(2) # setcomp -- set comprehension {s for s in [1, 2]} # dictcomp -- dict comprehension dict1 = {'a': 1, 'b': 2} dict1_cond = {k:v for (k,v) in dict1.items() if v>2} # listcomp -- list comprehension [x*x for x in range(0,2)] # genexpr -- generator expression (x for x in range(5)) tuple(range(5)) Save the above as e.g. foo.py and run: M-x pdb RET python3 -m pdb foo.py RET Then step through this to see output like this: > /Users/skangas/wip/emacs/lisp/foo.py(7)() [...] > /Users/skangas/wip/emacs/lisp/foo.py(11)() [etc.] AFAICT, the list I've installed is exhaustive, but if I've missed something I'm sure someone will report a new bug report. I'm therefore closing this bug report as fixed. Best regards, Stefan Kangas --0000000000001f40d2059215aee6 Content-Type: application/octet-stream; name="0001-Match-Python-3-code-object-names-in-M-x-pdb.patch" Content-Disposition: attachment; filename="0001-Match-Python-3-code-object-names-in-M-x-pdb.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k0bspwhk0 RnJvbSA0MDQyZGFkMTM5ZDkyMjcyM2FhYmNmYWVmNTY2MmRiODIwNGZiMzU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5rYW5nYXNAZ21haWwuY29t PgpEYXRlOiBNb24sIDkgU2VwIDIwMTkgMDQ6MTQ6NTAgKzAyMDAKU3ViamVjdDogW1BBVENIXSBN YXRjaCBQeXRob24gMyBjb2RlIG9iamVjdCBuYW1lcyBpbiAiTS14IHBkYiIKCiogbGlzcC9wcm9n bW9kZXMvZ3VkLmVsIChndWQtcGRiLW1hcmtlci1yZWdleHApOiBNYXRjaCBQeXRob24gMyBjb2Rl Cm9iamVjdCBuYW1lcy4gIChCdWcjMTE2NzkpCi0tLQogbGlzcC9wcm9nbW9kZXMvZ3VkLmVsIHwg NCArKystCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvbGlzcC9wcm9nbW9kZXMvZ3VkLmVsIGIvbGlzcC9wcm9nbW9kZXMvZ3VkLmVs CmluZGV4IDMwZDRiMTk5MTEuLjIzNTU0NmVmMmUgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVz L2d1ZC5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy9ndWQuZWwKQEAgLTE2MTAsNyArMTYxMCw5IEBA IGd1ZC1wZGItaGlzdG9yeQogOzsgY2hhcmFjdGVycyB3ZSBtYXRjaCBpbiB0aGUgZmlsZSBuYW1l IHNob3duIGluIHRoZSBwcm9tcHQuCiA7OyAoT2YgY291cnNlLCB0aGlzIG1hdGNoZXMgdGhlICI8 c3RyaW5nPiIgY2FzZSB0b28uKQogKGRlZnZhciBndWQtcGRiLW1hcmtlci1yZWdleHAKLSAgIl4+ IFxcKFtbOmdyYXBoOl0gXFxdKlxcKShcXChbMC05XStcXCkpXFwoW2EtekEtWjAtOV9dKlxcfFxc P1xcfDxtb2R1bGU+XFwpKClcXCgtPlteXG5ccl0qXFwpP1tcblxyXSIpCisgIChjb25jYXQgIl4+ IFxcKFtbOmdyYXBoOl0gXFxdKlxcKShcXChbMC05XStcXCkpXFwoW2EtekEtWjAtOV9dKlxcfFxc P1xcfCIKKyAgICAgICAgICAiPFxcKD86bW9kdWxlXFx8bGlzdGNvbXBcXHxkaWN0Y29tcFxcfHNl dGNvbXBcXHxnZW5leHByXFx8bGFtYmRhXFx8XFwpPiIKKyAgICAgICAgICAiXFwpKClcXCgtPlte XG5ccl0qXFwpP1tcblxyXSIpKQogCiAoZGVmdmFyIGd1ZC1wZGItbWFya2VyLXJlZ2V4cC1maWxl LWdyb3VwIDEpCiAoZGVmdmFyIGd1ZC1wZGItbWFya2VyLXJlZ2V4cC1saW5lLWdyb3VwIDIpCi0t IAoyLjIzLjAKCg== --0000000000001f40d2059215aee6--