Subject: 29.0.50; PDB commands are completed in Python buffer if PDB is active in Python Shell buffer

From: kobarity <[email-masked]>
Date: Sun, 16 Oct 2022 16:36:19 +0900

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))