From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: kobarity Newsgroups: gmane.emacs.bugs Subject: bug#58562: 29.0.50; PDB commands are completed in Python buffer if PDB is active in Python Shell buffer Date: Sun, 16 Oct 2022 16:36:19 +0900 Message-ID: Mime-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: multipart/mixed; boundary="Multipart_Sun_Oct_16_16:36:19_2022-1" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18287"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?Q?Goj=C5=8D?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.0.50 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) To: 58562@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Oct 16 09:37:11 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ojyCs-0004Wq-Q0 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 16 Oct 2022 09:37:10 +0200 Original-Received: from localhost ([::1]:37354 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ojyCr-0005xK-9C for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 16 Oct 2022 03:37:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38282) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ojyCk-0005xB-MV for bug-gnu-emacs@gnu.org; Sun, 16 Oct 2022 03:37:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:44155) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ojyCk-0007MM-EC for bug-gnu-emacs@gnu.org; Sun, 16 Oct 2022 03:37:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ojyCk-0003jA-8p for bug-gnu-emacs@gnu.org; Sun, 16 Oct 2022 03:37:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: kobarity Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 16 Oct 2022 07:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 58562 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.166590579114275 (code B ref -1); Sun, 16 Oct 2022 07:37:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 16 Oct 2022 07:36:31 +0000 Original-Received: from localhost ([127.0.0.1]:43233 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojyCE-0003iA-MZ for submit@debbugs.gnu.org; Sun, 16 Oct 2022 03:36:31 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:36744) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ojyCD-0003i2-1T for submit@debbugs.gnu.org; Sun, 16 Oct 2022 03:36:29 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40260) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ojyCC-0005nt-Qp for bug-gnu-emacs@gnu.org; Sun, 16 Oct 2022 03:36:28 -0400 Original-Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]:40658) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ojyCA-0007Gm-L7 for bug-gnu-emacs@gnu.org; Sun, 16 Oct 2022 03:36:28 -0400 Original-Received: by mail-pf1-x436.google.com with SMTP id h13so8562760pfr.7 for ; Sun, 16 Oct 2022 00:36:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:subject:to:from:message-id:date:from:to:cc :subject:date:message-id:reply-to; bh=3eGjboqIgR42QCCtTm1GP1RQJB0Fi1vSTLciO14Xx4A=; b=hhC59iTOp5+JqbQ2xO2fYXrjVlDr96i4LGMI9f3qZquyU44szZGz+kiTxnV17h+I8d WMHG3y43OS3DyGkYPoO5+vN3ksQTeIPlJjdyvM1NgFF6CnvAvpBQqzP0aSNm1HcuN8gO Pcjic4X2P7CFtXYmY/8kbRD89xIKTXWqiGBgjjzanlbNHhDcK73SeLl3iJX2sl3xfEr7 WEPuRrKg5uzj0b0/ceW9j9c0S/5FkbFCtdGxrB3DvIv61GXGpT6EHMOErrhm7zYeJw+0 iJ9FNF4UsCWZuINghUEjEyqh9DUZ6ggtfwgS8BZqmDfliNEpsUu7JV30joPm1tA13jgR eSNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:subject:to:from:message-id:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3eGjboqIgR42QCCtTm1GP1RQJB0Fi1vSTLciO14Xx4A=; b=QyGp4MerSyRzUnoCHzcy/XqvrfERcdTFASuEB+ddQ/JEdYm5JIP5gkfPQoMdU3p8zF 69DOJ00m5F7OZYElpilz/aK7QLGyeYfnbNzQOs38TdXex3bMTzYsGbj5Vi0AVGTnH6Vc bXV7eGnI8yLIuXN93pDjRhnp6tBKfuAXdmEwNON9sUyudrxA8u/5h/SUf2mznYk9mLEc tu9lyrgHUb/iWm6uyoCqHvVPj9SInpEwz22DCOg5/RgpfX9ceB6RtOVuuLuWTaR1EkXk RVBTFjzmjvOnB0Lua7wC0tNxWUOe6Jt8aH1gfgrlsZ3tMy1C43+1uiatnn4j60iLGt89 TtUw== X-Gm-Message-State: ACrzQf2vvATLwsW5kpqUrtk0ry2zfYVgy9Zgdr/RSPwq75/OSEkyRaN/ 4bqNGBNWsj/XsF99eS2RghJTI1bLG0E= X-Google-Smtp-Source: AMsMyM5UOL7IeBAHTQMOEpRRumwcddYoLqoCxhFDkEO3c3eFa5lSBbClh9zuAPh4pYVdBmDhBg197Q== X-Received: by 2002:a62:ea0d:0:b0:55f:8624:4d8b with SMTP id t13-20020a62ea0d000000b0055f86244d8bmr6419098pfh.74.1665905784268; Sun, 16 Oct 2022 00:36:24 -0700 (PDT) Original-Received: from localhost (58x12x133x161.ap58.ftth.ucom.ne.jp. [58.12.133.161]) by smtp.gmail.com with ESMTPSA id g17-20020aa796b1000000b00561b3ee73f6sm4643361pfk.144.2022.10.16.00.36.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Oct 2022 00:36:23 -0700 (PDT) Received-SPF: pass client-ip=2607:f8b0:4864:20::436; envelope-from=kobarity@gmail.com; helo=mail-pf1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:245603 Archived-At: --Multipart_Sun_Oct_16_16:36:19_2022-1 Content-Type: text/plain; charset=US-ASCII Hi, If PDB is active in the Python Shell buffer, PDB commands such as "tbreak" are completed. While this is adequate in Python Shell buffer, PDB commands should not be completed in Python buffer: 1. emacs -Q 2. Open the following Python file. #+begin_src python import pdb pdb.set_trace() print("Hello") #+end_src 3. C-u -1 M-x eldoc-mode (Disable ElDoc mode. This step can be skipped if the fix for #58389 which is already merged in master branch is applied.) 4. C-c C-p (M-x run-python) 5. C-x o (Back to the Python mode buffer) 6. C-c C-c (M-x python-shell-send-buffer) 7. Make sure that "(Pdb)" prompt is displayed in the Python Shell buffer. 5. C-x o (Back to the Python mode buffer) 7. M-> (M-x end-of-buffer) 8. Type "t" 9. C-M-i (M-x completion-at-point) 10. "tbreak" is completed. Attached is a patch to disable completion in the Python buffer when PDB is active in the Python Shell buffer. Best Regards, -- In GNU Emacs 29.0.50 (build 7, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw scroll bars) of 2022-10-15 built on ubuntu Repository revision: a06c54209499c3885c13a8d3eba7798ab3f0d688 Repository branch: master System Description: Ubuntu 22.04.1 LTS Configured using: 'configure --without-libgmp' Configured features: ACL CAIRO FREETYPE GIF GLIB GNUTLS GSETTINGS HARFBUZZ JPEG LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM LUCID ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Python Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view easy-mmode pcvs-util vc vc-dispatcher python json subr-x map project comint ansi-osc ring cl-loaddefs cl-lib ansi-color term/screen term/xterm xterm byte-opt gv bytecomp byte-compile cconv rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads inotify dynamic-setting system-font-setting font-render-setting cairo x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 66940 7163) (symbols 48 8205 0) (strings 32 23930 1490) (string-bytes 1 694497) (vectors 16 13452) (vector-slots 8 155649 7354) (floats 8 31 357) (intervals 56 229 0) (buffers 1000 12)) --Multipart_Sun_Oct_16_16:36:19_2022-1 Content-Type: application/octet-stream; type=patch; name="0001-Disable-completion-in-Python-buffer-when-PDB-is-acti.patch" Content-Disposition: attachment; filename="0001-Disable-completion-in-Python-buffer-when-PDB-is-acti.patch" Content-Transfer-Encoding: 7bit >From 365fda86492c38865246e864092b3a80abebc3d2 Mon Sep 17 00:00:00 2001 From: kobarity Date: Sun, 16 Oct 2022 15:58:52 +0900 Subject: [PATCH] Disable completion in Python buffer when PDB is active in Python Shell buffer * lisp/progmodes/python.el (python-shell-completion-at-point): Add check if PDB is active. * test/lisp/progmodes/python-tests.el (python-shell-completion-pdb-1): New test. --- lisp/progmodes/python.el | 5 ++++- test/lisp/progmodes/python-tests.el | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 0de76b0bde..50f1e6752e 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -4102,7 +4102,10 @@ python-shell-completion-at-point (with-current-buffer (process-buffer process) (cond ((or (null prompt) (and is-shell-buffer - (< (point) (cdr prompt-boundaries)))) + (< (point) (cdr prompt-boundaries))) + (and (not is-shell-buffer) + (string-match-p + python-shell-prompt-pdb-regexp prompt))) #'ignore) ((or (not python-shell-completion-native-enable) ;; Even if native completion is enabled, for diff --git a/test/lisp/progmodes/python-tests.el b/test/lisp/progmodes/python-tests.el index 9ad2d16930..97dc17ce29 100644 --- a/test/lisp/progmodes/python-tests.el +++ b/test/lisp/progmodes/python-tests.el @@ -4427,6 +4427,23 @@ python-shell-completion-2 (insert "abc.") (should (completion-at-point))))) +(ert-deftest python-shell-completion-pdb-1 () + "Should not complete PDB commands in Python buffer." + (skip-unless (executable-find python-tests-shell-interpreter)) + (python-tests-with-temp-buffer-with-shell + " +import pdb + +pdb.set_trace() +print('Hello') +" + (let ((inhibit-message t)) + (python-shell-send-buffer) + (python-tests-shell-wait-for-prompt) + (goto-char (point-max)) + (insert "u") + (should-not (nth 2 (python-completion-at-point)))))) + (ert-deftest python-shell-completion-native-1 () (skip-unless (executable-find python-tests-shell-interpreter)) (python-tests-with-temp-buffer-with-shell -- 2.34.1 --Multipart_Sun_Oct_16_16:36:19_2022-1--