[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#58713: 29.0.50; Completion/ElDoc/FFAP interferes with a running Pyth
From: |
Eli Zaretskii |
Subject: |
bug#58713: 29.0.50; Completion/ElDoc/FFAP interferes with a running Python program |
Date: |
Thu, 27 Oct 2022 19:06:05 +0300 |
> Date: Sat, 22 Oct 2022 21:45:09 +0900
> From: kobarity <kobarity@gmail.com>
>
> When a Python program is sent to the Python Shell buffer using
> `python-shell-send-buffer' or similar functions, it is run
> asynchronously. So it is possible to invoke Completion/ElDoc/FFAP in
> the Python buffer while the program is running. However, it leads to
> several problems:
>
> 1. emacs -Q
> 2. Open the following Python file.
>
> #+begin_src python
> import time
>
> for i in range(10):
> print(i)
> time.sleep(1)
> #+end_src
>
> 3. C-u -1 M-x eldoc-mode (Disable ElDoc mode.)
> 4. C-c C-p (M-x run-python)
> 5. C-x o (Back to the Python mode buffer)
> 6. M-> (M-x end-of-buffer)
> 7. C-c C-c (M-x python-shell-send-buffer)
> 8. While the program is running, type "t".
> 9. C-M-i (M-x completion-at-point)
>
> Output from the program will no longer be displayed and the Python
> buffer cannot be manipulated until the program is completed or the
> completion is canceled with C-g.
>
> Similar problems occur with ElDoc/FFAP.
>
> These problems are caused by the fact that
> `python-shell-send-string-no-output' used by these features replaces
> the process-filter. So I think it is appropriate to disable
> Completion/ElDoc/FFAP while a program is running.
>
> Attached is a patch to disable Completion/ElDoc/FFAP when a proper
> prompt is not received in the Python Shell buffer.
Thanks, installed.