From unknown Sun Jun 22 22:46:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#51196: 29.0.50; python.el eldoc problems Resent-From: Carlos Pita Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 Oct 2021 23:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 51196 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 51196@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16341686044971 (code B ref -1); Wed, 13 Oct 2021 23:44:01 +0000 Received: (at submit) by debbugs.gnu.org; 13 Oct 2021 23:43:24 +0000 Received: from localhost ([127.0.0.1]:33971 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1manu2-0001I0-Pm for submit@debbugs.gnu.org; Wed, 13 Oct 2021 19:43:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:32970) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mantm-0001Ha-MP for submit@debbugs.gnu.org; Wed, 13 Oct 2021 19:43:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40364) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mantm-0007MC-BF for bug-gnu-emacs@gnu.org; Wed, 13 Oct 2021 19:43:02 -0400 Received: from mail-ua1-x933.google.com ([2607:f8b0:4864:20::933]:38731) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mantj-0003px-1T for bug-gnu-emacs@gnu.org; Wed, 13 Oct 2021 19:43:02 -0400 Received: by mail-ua1-x933.google.com with SMTP id h19so7919776uax.5 for ; Wed, 13 Oct 2021 16:42:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version; bh=FmfhP6tS3TxT8urqjpS5+Vlfaq2gikTkJgmg17x8wFo=; b=Gp4Q13nCvSKXT46wV9kvQmX6EeWJrmQqRQ8Lme+cfKwZLvTraxILQZGZlZddiTV22e a2upreqw5TlosAS3tMTvfmpSG1WUXN1P1EHXZA30OCaINFdX/Lnoez0WzgIx1M1KBxgH +RmEi7rux3kaf+0ooC43T0wRz2ziYbsUxhmZ9+yi8IVNBn/Uq/NRw3OEHb02MFk3yGRu DUMBvSIJj/wDaFULOKGySF8Uye4oMhcY6ohGZnY8SwnarcF2uWodgDO7ilZh0IdSvpuH 41dGEyWQreftViL7pPJd3xoh/7p4CYlVvuI+ch7j8f9kWnqGuboesrmi0GeWGdLHH4Zl Jttg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=FmfhP6tS3TxT8urqjpS5+Vlfaq2gikTkJgmg17x8wFo=; b=AHV3NNUi9znlaY3QzVgR4Y866x84E2kYbcMldqo5zBLoO4OhTpJEdcXYd8In+TV9aL hJe10YCG//Jc/g27BKV0NigzlHlWXi3rE/VOay2NmuPRuFvTbx7iMTaLNoF3V9Hj0MOo xP/RypIqzZpT5q889t4iC0qLvG0pWjpe4QdkBl96T4B4OXUS/leZtOFVlWxdZeGHnWXq /x35r/Q01Zw37VgUFGpLNXl8UE51AvqKRcqKorbnkbtpkmOVM9955N83cfrnSlT4kYzy IXY/2czKeNDK7rL0tF4uv/8JFqGCMbJ7ya4PLi5vp05SH04vACGjdTHZgibE7pbzNJib fJ7g== X-Gm-Message-State: AOAM532aUV2LBOwDp1phf/qdfmoPTM46zpN/khxuv2BUiOsvro1hsH9i ffRJPJQSTJc1PRJKiTrwIfCYFYzxh9tsmw== X-Google-Smtp-Source: ABdhPJzj/ai+k95hfVdlSEg+sXxl+d2bk4gZewM8vxlSu+3N9MHUCA8xi7VYiiinbdM9F0iaxU+TRg== X-Received: by 2002:ab0:5602:: with SMTP id y2mr2893247uaa.20.1634168576982; Wed, 13 Oct 2021 16:42:56 -0700 (PDT) Received: from Carloss-MacBook-Pro.local ([186.136.138.53]) by smtp.gmail.com with ESMTPSA id f26sm646053uaq.11.2021.10.13.16.42.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Oct 2021 16:42:56 -0700 (PDT) From: Carlos Pita Date: Wed, 13 Oct 2021 20:42:53 -0300 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::933; envelope-from=carlosjosepita2@gmail.com; helo=mail-ua1-x933.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, 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-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi all, there are a number of issues with eldoc support in python.el, as in many areas in which this module tries IMHO to be too smart. At the core of these problems is the fact that eldoc will block if the underlying python process is not idle at the moment of the call. Seemingly some mechanisms are in place to prevent this but they are inconsistent, dangerous, inconvenient and complex: - Inconsistent: the "auto doc" in the echo area feature (i.e. python-eldoc-function) times out after python-eldoc-function-timout, but the manually triggered (C-c C-f, python-eldoc-at-point) will block emacs... - Dangerous: ...until either the underlying process becomes idle again or the user aborts python-eldoc-at-point, for example by pressing C-g, which also aborts the action going on in the underlying process. So the user is faced with the choice between being able to use emacs or complete the real job that supposedly emacs is facilitating. - Inconvenient: even in the case that does timeout (by default after 1 second) once it has timed out it won't try to show documentation again, except when the user had previously set python-eldoc-function-timeout-permanent to nil, in which case it will immediately reattempt one time after another, all this resulting in an extremely laggy experience. Alternatively, the user can laboriously set python-eldoc-get-doc to t in order to resume the "auto doc" feature. - Complex: see my previous three points. I've expressed this opinion before regarding the autocompletion mechanism, which shows similar shortcomings, I believe that the best options are: - Have a sane, solid and simple python.el with good syntax highlighting, movements commands, folding, etc. and leave the cleverness to elpy, lsp-mode, eglot, emacs-jupyter or whatever. - If we still want some basic autocompletion and documentation features in this module, then let's do it right and open a thread in the underlying process and talk to it, avoiding the flaky and dangerous mechanism of pretending that emacs is the user typing. That said, I'm not against keeping a very simple "send region to REPL" thing, because in this case a blocking behavior is to be expected and there is little magic going on. Best regards, Carlos --- In GNU Emacs 29.0.50 (build 1, x86_64-apple-darwin20.6.0, NS appkit-2022.60 Version 11.6 (Build 20G165)) of 2021-10-07 built on Carloss-MacBook-Pro.local Repository revision: d2611920685ca415a1d85ffb9567b968518028d6 Repository branch: master Windowing system distributor 'Apple', version 10.3.2022 System Description: macOS 11.6 Configured using: 'configure --without-native-compilation' Configured features: ACL DBUS GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Python Minor modes in effect: treemacs-icons-dired-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-fringe-indicator-mode: t global-hl-todo-mode: t hl-todo-mode: t recentf-mode: t shell-dirtrack-mode: t company-box-mode: t outline-minor-mode: t display-line-numbers-mode: t ivy-mode: t global-company-mode: t company-mode: t which-key-mode: t override-global-mode: t electric-pair-mode: t minions-mode: t doom-modeline-mode: t ns-auto-titlebar-mode: t straight-use-package-mode: t straight-package-neutering-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-history-mode: t tab-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 auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /Users/carlos/.emacs.d/straight/build/transient/transient hides /Applications/Emacs.app/Contents/Resources/lisp/transient /Users/carlos/.emacs.d/straight/build/org/ob-exp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-exp /Users/carlos/.emacs.d/straight/build/org/ob-emacs-lisp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp /Users/carlos/.emacs.d/straight/build/org/oc hides /Applications/Emacs.app/Contents/Resources/lisp/org/oc /Users/carlos/.emacs.d/straight/build/org/ob-css hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-css /Users/carlos/.emacs.d/straight/build/org/ob-lob hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lob /Users/carlos/.emacs.d/straight/build/org/ol-irc hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-irc /Users/carlos/.emacs.d/straight/build/org/ob-forth hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-forth /Users/carlos/.emacs.d/straight/build/org/org-macs hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macs /Users/carlos/.emacs.d/straight/build/org/ob hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob /Users/carlos/.emacs.d/straight/build/org/org-version hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-version /Users/carlos/.emacs.d/straight/build/org/ob-scheme hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-scheme /Users/carlos/.emacs.d/straight/build/org/ox hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox /Users/carlos/.emacs.d/straight/build/org/ob-C hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-C /Users/carlos/.emacs.d/straight/build/org/org-capture hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-capture /Users/carlos/.emacs.d/straight/build/org/ob-ref hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ref /Users/carlos/.emacs.d/straight/build/org/ob-clojure hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-clojure /Users/carlos/.emacs.d/straight/build/org/org-mouse hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mouse /Users/carlos/.emacs.d/straight/build/org/org-ctags hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-ctags /Users/carlos/.emacs.d/straight/build/org/org-entities hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-entities /Users/carlos/.emacs.d/straight/build/org/org-archive hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-archive /Users/carlos/.emacs.d/straight/build/org/ob-screen hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-screen /Users/carlos/.emacs.d/straight/build/org/ol-bibtex hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-bibtex /Users/carlos/.emacs.d/straight/build/org/ob-haskell hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-haskell /Users/carlos/.emacs.d/straight/build/org/org-table hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-table /Users/carlos/.emacs.d/straight/build/org/ol-eww hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-eww /Users/carlos/.emacs.d/straight/build/org/ox-org hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-org /Users/carlos/.emacs.d/straight/build/org/org-num hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-num /Users/carlos/.emacs.d/straight/build/org/org-plot hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-plot /Users/carlos/.emacs.d/straight/build/org/ol-rmail hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-rmail /Users/carlos/.emacs.d/straight/build/org/ob-awk hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-awk /Users/carlos/.emacs.d/straight/build/org/ob-groovy hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-groovy /Users/carlos/.emacs.d/straight/build/org/ob-octave hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-octave /Users/carlos/.emacs.d/straight/build/org/org-faces hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-faces /Users/carlos/.emacs.d/straight/build/org/oc-biblatex hides /Applications/Emacs.app/Contents/Resources/lisp/org/oc-biblatex /Users/carlos/.emacs.d/straight/build/org/org-colview hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-colview /Users/carlos/.emacs.d/straight/build/org/ob-R hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-R /Users/carlos/.emacs.d/straight/build/org/org-refile hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-refile /Users/carlos/.emacs.d/straight/build/org/org-timer hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-timer /Users/carlos/.emacs.d/straight/build/org/org-mobile hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mobile /Users/carlos/.emacs.d/straight/build/org/ob-fortran hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-fortran /Users/carlos/.emacs.d/straight/build/org/ob-shell hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-shell /Users/carlos/.emacs.d/straight/build/org/ob-perl hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-perl /Users/carlos/.emacs.d/straight/build/org/ob-sqlite hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sqlite /Users/carlos/.emacs.d/straight/build/org/oc-basic hides /Applications/Emacs.app/Contents/Resources/lisp/org/oc-basic /Users/carlos/.emacs.d/straight/build/org/ob-sed hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sed /Users/carlos/.emacs.d/straight/build/org/org-list hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-list /Users/carlos/.emacs.d/straight/build/org/ob-ruby hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ruby /Users/carlos/.emacs.d/straight/build/org/ob-eval hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-eval /Users/carlos/.emacs.d/straight/build/org/org-habit hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-habit /Users/carlos/.emacs.d/straight/build/org/org-clock hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-clock /Users/carlos/.emacs.d/straight/build/org/org-goto hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-goto /Users/carlos/.emacs.d/straight/build/org/ox-html hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-html /Users/carlos/.emacs.d/straight/build/org/org-src hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-src /Users/carlos/.emacs.d/straight/build/org/ob-lisp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lisp /Users/carlos/.emacs.d/straight/build/org/ol-eshell hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-eshell /Users/carlos/.emacs.d/straight/build/org/ob-ditaa hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ditaa /Users/carlos/.emacs.d/straight/build/org/org-pcomplete hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-pcomplete /Users/carlos/.emacs.d/straight/build/org/org-lint hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-lint /Users/carlos/.emacs.d/straight/build/org/ox-latex hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-latex /Users/carlos/.emacs.d/straight/build/org/ob-sass hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sass /Users/carlos/.emacs.d/straight/build/org/ob-tangle hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-tangle /Users/carlos/.emacs.d/straight/build/org/ob-calc hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-calc /Users/carlos/.emacs.d/straight/build/org/ob-java hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-java /Users/carlos/.emacs.d/straight/build/org/ox-icalendar hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-icalendar /Users/carlos/.emacs.d/straight/build/org/ol-mhe hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-mhe /Users/carlos/.emacs.d/straight/build/org/org-attach-git hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-attach-git /Users/carlos/.emacs.d/straight/build/org/ox-md hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-md /Users/carlos/.emacs.d/straight/build/org/ox-beamer hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-beamer /Users/carlos/.emacs.d/straight/build/org/org-element hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-element /Users/carlos/.emacs.d/straight/build/org/oc-natbib hides /Applications/Emacs.app/Contents/Resources/lisp/org/oc-natbib /Users/carlos/.emacs.d/straight/build/org/org-protocol hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-protocol /Users/carlos/.emacs.d/straight/build/org/ob-gnuplot hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot /Users/carlos/.emacs.d/straight/build/org/org-tempo hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-tempo /Users/carlos/.emacs.d/straight/build/org/ob-latex hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-latex /Users/carlos/.emacs.d/straight/build/org/ol-w3m hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-w3m /Users/carlos/.emacs.d/straight/build/org/org-id hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-id /Users/carlos/.emacs.d/straight/build/org/ox-man hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-man /Users/carlos/.emacs.d/straight/build/org/ol-doi hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-doi /Users/carlos/.emacs.d/straight/build/org/org-feed hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-feed /Users/carlos/.emacs.d/straight/build/org/ob-julia hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-julia /Users/carlos/.emacs.d/straight/build/org/ob-lua hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lua /Users/carlos/.emacs.d/straight/build/org/ob-table hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-table /Users/carlos/.emacs.d/straight/build/org/ob-ocaml hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ocaml /Users/carlos/.emacs.d/straight/build/org/oc-csl hides /Applications/Emacs.app/Contents/Resources/lisp/org/oc-csl /Users/carlos/.emacs.d/straight/build/org/ol-gnus hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-gnus /Users/carlos/.emacs.d/straight/build/org/org-indent hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-indent /Users/carlos/.emacs.d/straight/build/org/ob-lilypond hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lilypond /Users/carlos/.emacs.d/straight/build/org/ob-matlab hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-matlab /Users/carlos/.emacs.d/straight/build/org/org-datetree hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-datetree /Users/carlos/.emacs.d/straight/build/org/ol-docview hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-docview /Users/carlos/.emacs.d/straight/build/org/ob-python hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-python /Users/carlos/.emacs.d/straight/build/org/ob-makefile hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-makefile /Users/carlos/.emacs.d/straight/build/org/org-duration hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-duration /Users/carlos/.emacs.d/straight/build/org/org-agenda hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-agenda /Users/carlos/.emacs.d/straight/build/org/ob-dot hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-dot /Users/carlos/.emacs.d/straight/build/org/ob-js hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-js /Users/carlos/.emacs.d/straight/build/org/ox-publish hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-publish /Users/carlos/.emacs.d/straight/build/org/org-inlinetask hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-inlinetask /Users/carlos/.emacs.d/straight/build/org/ob-org hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-org /Users/carlos/.emacs.d/straight/build/org/org-keys hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-keys /Users/carlos/.emacs.d/straight/build/org/ob-core hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-core /Users/carlos/.emacs.d/straight/build/org/org-compat hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-compat /Users/carlos/.emacs.d/straight/build/org/ol hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol /Users/carlos/.emacs.d/straight/build/org/ox-odt hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-odt /Users/carlos/.emacs.d/straight/build/org/ol-info hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-info /Users/carlos/.emacs.d/straight/build/org/ob-plantuml hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-plantuml /Users/carlos/.emacs.d/straight/build/org/ob-eshell hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-eshell /Users/carlos/.emacs.d/straight/build/org/ox-ascii hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-ascii /Users/carlos/.emacs.d/straight/build/org/org-loaddefs hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-loaddefs /Users/carlos/.emacs.d/straight/build/org/ox-koma-letter hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-koma-letter /Users/carlos/.emacs.d/straight/build/org/ob-maxima hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-maxima /Users/carlos/.emacs.d/straight/build/org/org hides /Applications/Emacs.app/Contents/Resources/lisp/org/org /Users/carlos/.emacs.d/straight/build/org/ol-bbdb hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-bbdb /Users/carlos/.emacs.d/straight/build/org/org-macro hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macro /Users/carlos/.emacs.d/straight/build/org/ob-sql hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sql /Users/carlos/.emacs.d/straight/build/org/org-attach hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-attach /Users/carlos/.emacs.d/straight/build/org/ob-processing hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-processing /Users/carlos/.emacs.d/straight/build/org/ox-texinfo hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-texinfo /Users/carlos/.emacs.d/straight/build/org/org-crypt hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-crypt /Users/carlos/.emacs.d/straight/build/org/org-footnote hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-footnote /Users/carlos/.emacs.d/straight/build/org/org-install hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-install /Users/carlos/.emacs.d/straight/build/org/ob-comint hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-comint /Users/carlos/.emacs.d/straight/build/let-alist/let-alist hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/let-alist Features: (shadow emacsbug sendmail python tramp-sh cl-print eieio-opt speedbar ezimage dframe shortdoc help-fns radix-tree mm-archive misearch multi-isearch sort smiley gnus-cite mail-extr gnus-bcklg qp gnus-async gnus-ml nndraft nnmh nnfolder utf-7 epa-file gnutls network-stream nsm gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig nntp gnus-cache gnus-sum shr kinsoku svg dom browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message rmc puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr dired-aux treemacs-icons-dired ffap url-parse url-vars tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat parse-time iso8601 ls-lisp format-spec auth-source password-cache treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks treemacs-interface treemacs-extensions treemacs-mouse-interface treemacs-tags imenu treemacs-persistence treemacs-filewatch-mode filenotify treemacs-follow-mode treemacs-rendering treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator treemacs-scope eieio eieio-core eieio-loaddefs pulse treemacs-faces treemacs-icons treemacs-themes treemacs-core-utils pfuture inline hl-line ht treemacs-logging treemacs-customization treemacs-macros hl-todo doom-solarized-dark-high-contrast-theme doom-solarized-dark-theme doom-ayu-mirage-theme flycheck json map find-func recentf tree-widget wid-edit bookmark pp time-date doom-acario-dark-theme vc-mtn vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc vc-dispatcher term disp-table shell pcomplete ehelp thingatpt company-box company-box-doc frame-local company-box-icons noutline outline display-line-numbers server pdf-tools-autoloads tablist-autoloads org-roam-autoloads emacsql-sqlite-autoloads emacsql-autoloads jupyter-autoloads websocket-autoloads simple-httpd-autoloads zmq-autoloads lsp-pyright-autoloads pyvenv-autoloads code-cells-autoloads dired-x exec-path-from-shell exec-path-from-shell-autoloads hl-todo-autoloads flycheck-autoloads let-alist-autoloads pkg-info-autoloads epl-autoloads dap-mode-autoloads bui-autoloads lsp-treemacs-autoloads lsp-ivy-autoloads lsp-ui-autoloads lsp-mode-autoloads markdown-mode-autoloads spinner-autoloads git-timemachine-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads with-editor-autoloads transient-autoloads treemacs-icons-dired-autoloads treemacs-projectile-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads projectile-autoloads counsel xdg dired dired-loaddefs compile text-property-search comint ansi-color swiper ivy delsel ivy-faces ivy-overlay colir color counsel-autoloads swiper-autoloads ivy-autoloads company-box-autoloads frame-local-autoloads company-oddmuse company-keywords company-etags etags fileloop generator xref project ring company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb company pcase company-autoloads which-key advice which-key-autoloads visual-fill-column-autoloads wgrep-autoloads avy-autoloads edmacro kmacro undo-tree-autoloads use-package-bind-key bind-key easy-mmode elec-pair minions minions-autoloads doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path rx f s all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons dash doom-modeline-autoloads shrink-path-autoloads f-autoloads dash-autoloads s-autoloads all-the-icons-autoloads doom-themes-ext-org doom-themes-ext-treemacs doom-themes-ext-visual-bell face-remap doom-solarized-light-theme doom-themes doom-themes-base doom-themes-autoloads finder-inf ns-auto-titlebar ns-auto-titlebar-autoloads use-package-core use-package-autoloads bind-key-autoloads straight-autoloads info cl-seq cl-extra help-mode seq byte-opt straight subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win 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 cl-generic 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 simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind kqueue cocoa ns lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 588199 44521) (symbols 48 32196 2) (strings 32 114559 9038) (string-bytes 1 4006593) (vectors 16 63785) (vector-slots 8 1517429 65843) (floats 8 1670 685) (intervals 56 6140 2011) (buffers 992 26)) From unknown Sun Jun 22 22:46:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#51196: 29.0.50; python.el eldoc problems Resent-From: Carlos Pita Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Oct 2021 02:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51196 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 51196@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.163426354423945 (code B ref -1); Fri, 15 Oct 2021 02:06:02 +0000 Received: (at submit) by debbugs.gnu.org; 15 Oct 2021 02:05:44 +0000 Received: from localhost ([127.0.0.1]:37480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbCbQ-0006E9-EU for submit@debbugs.gnu.org; Thu, 14 Oct 2021 22:05:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:50826) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbCbL-0006Dw-Kd for submit@debbugs.gnu.org; Thu, 14 Oct 2021 22:05:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51756) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mbCbL-0001mp-DP for bug-gnu-emacs@gnu.org; Thu, 14 Oct 2021 22:05:39 -0400 Received: from mail-yb1-xb2b.google.com ([2607:f8b0:4864:20::b2b]:41599) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mbCbI-0004UN-DX for bug-gnu-emacs@gnu.org; Thu, 14 Oct 2021 22:05:38 -0400 Received: by mail-yb1-xb2b.google.com with SMTP id s4so19141371ybs.8 for ; Thu, 14 Oct 2021 19:05:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=7ysLDcbzWm2TqLT/M9/xmVxrkfG9c2KvfVeyO5sIvxk=; b=k5V/a7vTuAm4u9NreD++pd4/OtahK9L8PkO14Fxnxd/fLYmsmij/Zuvm0tirq0UKWL q1g3pgH/UHu0PJlUjKlYfJXv4YrXVwA1pCszZ9Q1ZJ/sD7fCmU+o15DNCb8XUqkY0mI6 s/vD+MwQQfdwn9zFOLkhG7YZz56RZs0kwRMUw8+XDiLBHruMxaEln8H4FCMs+cN00nVz iw4mSdWt3K5WJA8fcgCqzXfAhm3IifUmDFU9D6abyl1y871W+pbOTnG3Ihcmvyqnrujn a/Q66iw/cGEWScSdfIpMbF8Kb/7K8kK4k5S/2/DoRuOSwk8AFjrNZzgWaFmMEw9qlQnk sk2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=7ysLDcbzWm2TqLT/M9/xmVxrkfG9c2KvfVeyO5sIvxk=; b=3uVcTxrOWIE24mdwXcSi4J4lmcROUw2ebHs0hbU7ELTImC1Urf5ArIywGdYeVc8tjZ 42x+8YCmBTs20szZk7dcA5AkXKAqJ3J9LLhQjv2xUkgvxuZF2ysP/AFufiDZM/jeGAsY yvTYW1Qbq64uJomGY3ez+WugiOAwZo1Mx86cO233ncGSStg1N1D0ezWEgnmAXFzCxgVH oQQ/RrzMp9/Niw3u0NEFlhPaliAwpfvvGGrKdg7GjfpohyfFDvAmF7ntZsOPa99NHrWG PxjA/hvuCihwazhqYbnujEYI2Djg9kNJpQ04s3GVeOVDm7EKvmqzsA/eh0Ca9Zc219yA oibw== X-Gm-Message-State: AOAM532UWICupbsjSwzmnpQhCwgUBsrjVvk3mRMmOqNGMQu+HqUAa0cy taZ82OXGtR2fEReQTvDwqJYWYJ+jJ9lrCVhLrHFySGjh4k8VqA== X-Google-Smtp-Source: ABdhPJwvCKwPuXrou958feMHSlQOaLwFUr1+4C3kBZl/AtPwC3VGF/7I72RBACyC9fl8p2bckSaLYZgJjYYYjgUGi40= X-Received: by 2002:a25:3104:: with SMTP id x4mr10038408ybx.512.1634263535032; Thu, 14 Oct 2021 19:05:35 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Carlos Pita Date: Thu, 14 Oct 2021 23:05:20 -0300 Message-ID: Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2607:f8b0:4864:20::b2b; envelope-from=carlosjosepita2@gmail.com; helo=mail-yb1-xb2b.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, 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-Spam-Score: -2.0 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) I've been delving into the different timeout mechanisms in python.el: python-shell-completion-native-output-timeout 5.0 python-shell-completion-native-try-output-timeout 1.0 python-eldoc-function-timeout 1 python-eldoc-function-timeout-permanent t This is in bad shape, in addition to points I've already made above: - Even though in a clunky way, eldoc at least stops trying after a timeout in order to avoid causing unbearable UI lags, but that's not the case with c-a-p. I imagine the rationale here is that c-a-p is not auto-triggered as eldoc is, but that's not true of company and other completion backends that will trigger completions under the hood, so you could end up with constant 5s lag in input. - Apparently there is no timeout for non-native completions, as in the case of C-c C-f described above this can freeze emacs, but in this case it doesn't even have to be manually triggered. - More complexity but the attempts still fall short. Probably ad hoc patches have been piling up over the years. Perhaps we can improve the timeout strategy, simplify it and make it more coherent, and thus avoid throwing the baby out with the bathwater. It won't be perfect since documentation sometimes will be missing, completions sometimes will be missing, the prompt count will still change mysteriously, but at least it will be safe and comprehensible. Best regards, Carlos From unknown Sun Jun 22 22:46:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#51196: 29.0.50; python.el eldoc problems Resent-From: Augusto Stoffel Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Oct 2021 20:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51196 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Carlos Pita Cc: 51196@debbugs.gnu.org Received: via spool by 51196-submit@debbugs.gnu.org id=B51196.163432935917613 (code B ref 51196); Fri, 15 Oct 2021 20:23:02 +0000 Received: (at 51196) by debbugs.gnu.org; 15 Oct 2021 20:22:39 +0000 Received: from localhost ([127.0.0.1]:40471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbTix-0004a1-E1 for submit@debbugs.gnu.org; Fri, 15 Oct 2021 16:22:39 -0400 Received: from mail-wm1-f50.google.com ([209.85.128.50]:46806) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbTiv-0004Zm-DM for 51196@debbugs.gnu.org; Fri, 15 Oct 2021 16:22:38 -0400 Received: by mail-wm1-f50.google.com with SMTP id l38-20020a05600c1d2600b0030d80c3667aso3185777wms.5 for <51196@debbugs.gnu.org>; Fri, 15 Oct 2021 13:22:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=YlA4YumHH6p5743jhT8i+BjpUZnrY2nG+mbPX1plUV8=; b=k2+a+joBhlostC87N8kRIqP8H9CXe71siRUcB/9YkQ5qbGVzPm8GRFPqh5eugoAwpv AXZNLgOXiqzb/HWw0aDFWCTxCuip1DhfLDPk+7uJ1ul+gE6nIVFLzJguVe6YDwAgI5ji QcZ2qjHZp9AK4ZfW4HeQmMNJ0KdEpK6fFobd3ZmXFi1T2Qi9wFawU/RIuDBHu1IDkHnS BTTVNEfDsnjbUB0Nqny3+XbVnuohQRb0tRA+ZqrwIS5ukELsw6Z4LIr9JvKF2oz25qUp g1/DgKuf8IdoOe0HdV28wAKkYkannD+cj/NoecnhkTKlnHeKym53fRbywIzNew9ViFoy 4ePA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=YlA4YumHH6p5743jhT8i+BjpUZnrY2nG+mbPX1plUV8=; b=2NGiDhXCQOR42mNLTtTcezjwiZ7A7Z5pwYKv0x7AIXxVwvJBwnVvXsu63v/UrsGkVW SSiWKralVNPZ+dGq6sxrHpGhRQ8vxb8KHTjUGwnG37UtRBtHyr1lIxDCfph5vtQGOLrT srWRuIKvEVMJC8/sZCYUYpmsCu07nRvET0zhAnFCxhs4kSUr0HYmzVIJXdrP5MK06NzO hZQvQ/WHeAiAF5GMZAX3ESr3CaB2HSqW4GjsdWYsdlW1r374d+yPxfrh2dLQUrZj53D8 z0vULUYqHFmx/5SHqVc0IFpl85dmdBRXrFCWOw0jAas/3clGRX9moiY5uXPhgIjZl79C StXg== X-Gm-Message-State: AOAM530fd6euhjJYIenFeXGSii1FXmUyrGykKs+b/yQdkbqxwFdUCB8t +neUmP+8zWUwQD7S1OxNAtlxd5cn8es= X-Google-Smtp-Source: ABdhPJxekKQ+8sp3vogkCTVqvW4Mxcc4yz0BXfRY/fsHchggEgtdb/xbFHxf0MrM2ajn6nnQ53kT+w== X-Received: by 2002:a1c:7212:: with SMTP id n18mr28468712wmc.87.1634329351312; Fri, 15 Oct 2021 13:22:31 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::c48f]) by smtp.gmail.com with ESMTPSA id j11sm5484649wmi.24.2021.10.15.13.22.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Oct 2021 13:22:30 -0700 (PDT) From: Augusto Stoffel References: Date: Fri, 15 Oct 2021 22:22:29 +0200 In-Reply-To: (Carlos Pita's message of "Wed, 13 Oct 2021 20:42:53 -0300") Message-ID: <87o87qdomy.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Wed, 13 Oct 2021 at 20:42, Carlos Pita wrote: > I've expressed this opinion before regarding the autocompletion > mechanism, which shows similar shortcomings, I believe that the best > options are: > > - Have a sane, solid and simple python.el with good syntax highlighting, > movements commands, folding, etc. and leave the cleverness to elpy, > lsp-mode, eglot, emacs-jupyter or whatever. But the problematic Eldoc functionality is disabled by default, right? So leaving it there doesn't hurt anyone --- except for the unwitting user who doesn't know that this feature is kind of broken. > > - If we still want some basic autocompletion and documentation features > in this module, then let's do it right and open a thread in the > underlying process and talk to it, avoiding the flaky and dangerous > mechanism of pretending that emacs is the user typing. Personally I have zero motivation to implement this, because it would still require evaluating code before one can get completion or docstrings. Nowadays there are decent static analyzers for Python out there. From unknown Sun Jun 22 22:46:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#51196: 29.0.50; python.el eldoc problems Resent-From: Augusto Stoffel Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Oct 2021 20:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51196 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Carlos Pita Cc: 51196@debbugs.gnu.org Received: via spool by 51196-submit@debbugs.gnu.org id=B51196.163432985318400 (code B ref 51196); Fri, 15 Oct 2021 20:31:02 +0000 Received: (at 51196) by debbugs.gnu.org; 15 Oct 2021 20:30:53 +0000 Received: from localhost ([127.0.0.1]:40476 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbTqv-0004mg-9W for submit@debbugs.gnu.org; Fri, 15 Oct 2021 16:30:53 -0400 Received: from mail-wr1-f50.google.com ([209.85.221.50]:40941) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbTqr-0004mS-7t for 51196@debbugs.gnu.org; Fri, 15 Oct 2021 16:30:52 -0400 Received: by mail-wr1-f50.google.com with SMTP id i12so28364533wrb.7 for <51196@debbugs.gnu.org>; Fri, 15 Oct 2021 13:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=AgPKctjqL547dOgca5nalxiou0fZX+SMcR47LEJWKYI=; b=iu09P7K/6wwgM38YZl9MJ7FShXTlr5xgWOC+baQMg79o85Y/0/c9Vt1bIN+SpQFVRG cJfjEAfEw1gF+pYtnGGthdO0L2YbTZAB0p2sF6T00oj8DPA6GfZAXsf2Ho/e96Rl/hMY XYCwgmWsuQRzsb/FR/GVrZCqS0eev4Sc3i6tEV9uAI8xEcpCY3PN6/SuN2E8eoVkLmro XYmvJ7uLJJBP3yF0W8+KixAiHmSUpm/mdg0BqEvFHm5QCv15TsTVVVhQ9+HhJh3dpR0D y4bwWLvY3mP73zA3NHAz35WKPNWB0TqKfdgv+Rjn8RVUTdxmgiAruuBURSPJaAgn1kDu 052Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=AgPKctjqL547dOgca5nalxiou0fZX+SMcR47LEJWKYI=; b=hup5MvMeDBFRZAMr8PQVCNtvUe1YdC6KP9IBSQVs6qHhqqaxDIuR9H0HKTpQd5tA1w SLTW5GnUpGv4qI02r2WXd3b25wQ0Sfu/ZODDcPTh96+uimlczfWmLcSR5Kcwya9B62Qh XheZNvPdFjuB6S11Tjqv6N9n3fwSRNRPHCabBDTUjqNiSmggboB4A97W+5fWBclyn8Ma ln8OdQApQUdGfU+4peWcBpecaeYfeA87WXbO8+JMLTimDnNMGt432mpruCsqsbsF06UJ pkqZW9NxAzrisuRiRepHpeuAPiq19GMqUEvanhTM9k8iu8VGrOd1doJ/PhcpG+wHzqt2 Kl7Q== X-Gm-Message-State: AOAM530OzNNSTUJ3704nEJuMXu3PuuDV/hZisx9K7V3GX96KeAL/t2EG ObuiNyBx/04+P7wKy7UpOq0ULxK0t6U= X-Google-Smtp-Source: ABdhPJyuEnkBkGPQzrl/tYALoc/sJBs22jLxF/goiriAwsdJSmpePf3/L0y/KGUaw8AyU9QBlGFSLQ== X-Received: by 2002:a05:6000:2c8:: with SMTP id o8mr16667619wry.430.1634329843107; Fri, 15 Oct 2021 13:30:43 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::c48f]) by smtp.gmail.com with ESMTPSA id c17sm5939360wrq.4.2021.10.15.13.30.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Oct 2021 13:30:42 -0700 (PDT) From: Augusto Stoffel References: Date: Fri, 15 Oct 2021 22:30:41 +0200 In-Reply-To: (Carlos Pita's message of "Thu, 14 Oct 2021 23:05:20 -0300") Message-ID: <87k0iedo9a.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Thu, 14 Oct 2021 at 23:05, Carlos Pita wrote: > - Apparently there is no timeout for non-native completions, as in the > case of C-c C-f described above this can freeze emacs, but in this > case it doesn't even have to be manually triggered. Is it even possible, technically, to add a timeout for non-native completion? I think this would require sending a break signal to cancel the completions computation, which seems scary. I thought you had a good argument for disabling native completion by default, but this might speak against it. From unknown Sun Jun 22 22:46:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#51196: 29.0.50; python.el eldoc problems Resent-From: Carlos Pita Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Oct 2021 20:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51196 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Augusto Stoffel Cc: 51196@debbugs.gnu.org Received: via spool by 51196-submit@debbugs.gnu.org id=B51196.163433005918709 (code B ref 51196); Fri, 15 Oct 2021 20:35:01 +0000 Received: (at 51196) by debbugs.gnu.org; 15 Oct 2021 20:34:19 +0000 Received: from localhost ([127.0.0.1]:40480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbTuE-0004rh-Po for submit@debbugs.gnu.org; Fri, 15 Oct 2021 16:34:18 -0400 Received: from mail-yb1-f173.google.com ([209.85.219.173]:46738) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbTuC-0004rQ-Uy for 51196@debbugs.gnu.org; Fri, 15 Oct 2021 16:34:17 -0400 Received: by mail-yb1-f173.google.com with SMTP id t127so4846202ybf.13 for <51196@debbugs.gnu.org>; Fri, 15 Oct 2021 13:34:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=JtzqEqVtJGS2Db/XI+02e2XvqMfZjIn/ESmV/13toLA=; b=Xgc42tQsjR68mKoqFEwSc/BvdDNYcMXK3TJ/W/LMIiqfJ55xfbGSKLlEntCyI8QkBG X5MvAaBIyP4GCJvKz9Ytg5BNj2tjHqka8/sj+9FiXgBJVyCLne6RLb9h230Dcj2e4QJq Q6eMmtDXng2JBOVtlzrAuNv2qZS2JVl6knh+nY+R7xfVOOERO8wR/S7CzyKUI0405V5B BZLdaiO4oMENNFkSG8YaxMjlgJPvZWauo5/PBbvj4DSbakRB9n2IPc2/05DpluTdCgq2 whj9Mvd3zueDrzszkey8dNQvSrUMIOgjXHmvaxBx8MvhkyFVEc3Xeui+/3vwJsYz67AG +vEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JtzqEqVtJGS2Db/XI+02e2XvqMfZjIn/ESmV/13toLA=; b=r2vWQOJJUGBmKQWpATZQQP4jKF+v1FNTcwM80lnCKE4U3m5VxNLbl7Pg7Zl815WAXu bWzue9DaMX3VVD6qKvF9lkdlcj79inYpe2xDfhjooatrNx2MZQldafs0vYz7X4GXQD+s vts0O+Dzwj8GWC0sCE0Rs8+jC0QgFqxTmijH9zZcmp803vuPD0x0BKu6nQghbEnoW/Sm jRzE+Q357A2g94l63kvn6J2geum3vNMr0XJAmJA74Nf7wuPvJL9Q4A2hUvwChukcon3O ZjjhNIqDqrFNAfwZOc79z5ompLHK+z42ggDIuygK9z23CbGHkMX+qGHzz4KuLwh8j0QN zN0g== X-Gm-Message-State: AOAM5308h1EPkqRmNJM0jePbGiIKgZvj8YYU6TbZkIEnzlU2kegkOJbL JrhyccJVbwJ0lUKofL0LJS3p+g+CiOw6TCsEPGPmH+b3XSM= X-Google-Smtp-Source: ABdhPJxOV/Q5NRnNbuBSqQ6+j7anet37gNIxloAgN+xVhgGd/2CzuXMhKRGOyh20mhK6QMymhu1TgcpLbwOR0lRG65Q= X-Received: by 2002:a25:49c3:: with SMTP id w186mr15729437yba.429.1634330051481; Fri, 15 Oct 2021 13:34:11 -0700 (PDT) MIME-Version: 1.0 References: <87o87qdomy.fsf@gmail.com> In-Reply-To: <87o87qdomy.fsf@gmail.com> From: Carlos Pita Date: Fri, 15 Oct 2021 17:33:57 -0300 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.2 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Hi Augusto, > > - Have a sane, solid and simple python.el with good syntax highlighting, > > movements commands, folding, etc. and leave the cleverness to elpy, > > lsp-mode, eglot, emacs-jupyter or whatever. > > But the problematic Eldoc functionality is disabled by default, right? > So leaving it there doesn't hurt anyone --- except for the unwitting > user who doesn't know that this feature is kind of broken. No, it's not, all the magic is enabled by default, only piecemeal measures have been taken over the years in order to prevent blocking behavior, so for example now eldoc disables itself forever after 1s timeout. But that's not true of non-native completion AFAICS and it certainly isn't of C-c C-f (help on symbol). And improving on this by adding even more special cases doesn't sound like a good idea. Best regards, Carlos From unknown Sun Jun 22 22:46:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#51196: 29.0.50; python.el eldoc problems Resent-From: Augusto Stoffel Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Oct 2021 09:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51196 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Carlos Pita Cc: 51196@debbugs.gnu.org Received: via spool by 51196-submit@debbugs.gnu.org id=B51196.16343757482604 (code B ref 51196); Sat, 16 Oct 2021 09:16:02 +0000 Received: (at 51196) by debbugs.gnu.org; 16 Oct 2021 09:15:48 +0000 Received: from localhost ([127.0.0.1]:40943 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbfn9-0000fw-VC for submit@debbugs.gnu.org; Sat, 16 Oct 2021 05:15:48 -0400 Received: from mail-wr1-f53.google.com ([209.85.221.53]:45047) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbfn5-0000fb-JA for 51196@debbugs.gnu.org; Sat, 16 Oct 2021 05:15:46 -0400 Received: by mail-wr1-f53.google.com with SMTP id e3so30420195wrc.11 for <51196@debbugs.gnu.org>; Sat, 16 Oct 2021 02:15:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=+jhptfHV2Hskrv6fg/PJr4tto5a/mY6UohcjM3arqCA=; b=JB6Q/OneoNCAwZ7adPWTCcvZf/Qx6Ax0LIneEnLTNB2TY260gjtTrsAB4eZAX0hMi0 EOFU14AFuREh8Sfrr6vvAe93wAyzFS4KRXYuMkt88Yic2aDZCFKiHNByf2o/DJ84sB8Y crY6lw5KOshdO+sT02HjXTjIgnmYyAOrw67C+DqWxqGFo6hfNCMjCtEvzNltP75F0z+i sWMGWTgHBq0KcL3obKow7USftLITqy4a5Ukuo1ffCMYjR52BslV0/Of5ehQPmxE4oNeK TUPjeNVfzV9qmQuZH09u8VTTTvYlagW0cEy6S6yayACQVWEsCqyoIm1O0KoodGzB6M54 gMXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=+jhptfHV2Hskrv6fg/PJr4tto5a/mY6UohcjM3arqCA=; b=pRCOdBIRaRY1I1aqdYJTmnrjhQEQfcC0MfwgoOarbldTqPoS/8KWknhSEhs5wztBBE gKEDuEZI0sqmb7NRNiaBahsULMTNLRcoj4wYbwbVDnDbQ+X3MyL+KSAQLNNBQ9bJfIVa zOwSagWVE+88dZPdPVrXRM1M5xcXOsPHxc0CHt5F2dDO8VZpiY+I3EnJS1hXM2Bhy4yd J9lJy5+pNGtnl52BMeZP3TTuh1mQCtXYEgagmfbXiQgdMesqz+1rKtRaxqqlKC+BQhf2 yzwFpwYuVoK8tCGewASfU8sy717eQIXYGlJccL+wreEvkif7zbCgPGJySXrwIGu6woZa wTRw== X-Gm-Message-State: AOAM531t/1sFPcPkbdVMdrhtURd20Z6DJCY46I5PooLGDnf5AG89dGPU BuGwxu0RYj55RHID27DVhWwf146VR/s= X-Google-Smtp-Source: ABdhPJyHuajn9Gg6Ga3AUwGDNFT1Ez0OE0KC9kdGwGeIKNBtlXYepaNOtxqpawsP84az9mlLh/uccg== X-Received: by 2002:a05:6000:18aa:: with SMTP id b10mr20287977wri.270.1634375737485; Sat, 16 Oct 2021 02:15:37 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::c48f]) by smtp.gmail.com with ESMTPSA id y8sm6545088wmi.43.2021.10.16.02.15.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 16 Oct 2021 02:15:37 -0700 (PDT) From: Augusto Stoffel References: <87o87qdomy.fsf@gmail.com> Date: Sat, 16 Oct 2021 11:15:36 +0200 In-Reply-To: (Carlos Pita's message of "Fri, 15 Oct 2021 17:33:57 -0300") Message-ID: <87zgr949fr.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Fri, 15 Oct 2021 at 17:33, Carlos Pita wrote: > Hi Augusto, > >> > - Have a sane, solid and simple python.el with good syntax highlighting, >> > movements commands, folding, etc. and leave the cleverness to elpy, >> > lsp-mode, eglot, emacs-jupyter or whatever. >> >> But the problematic Eldoc functionality is disabled by default, right? >> So leaving it there doesn't hurt anyone --- except for the unwitting >> user who doesn't know that this feature is kind of broken. > > No, it's not, all the magic is enabled by default, only piecemeal > measures have been taken over the years in order to prevent blocking > behavior, so for example now eldoc disables itself forever after 1s > timeout. I see. I never noticed this because Eglot masks the completion/eldoc functions from python.el. As you already mentioned, the biggest problem here is to use the same Python process/thread for both REPL interaction _and_ completion/documentation stuff. Individually, each of these things works alright, but mixing the two is just never going to work flawlessly. > But that's not true of non-native completion AFAICS and > it certainly isn't of C-c C-f (help on symbol). If the user explicitly types C-c C-f, then I see no problem in the blocking behavior. > And improving on this by adding even more special cases doesn't sound > like a good idea. > > Best regards, > Carlos From unknown Sun Jun 22 22:46:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#51196: 29.0.50; python.el eldoc problems Resent-From: Carlos Pita Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Oct 2021 18:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51196 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Augusto Stoffel Cc: 51196@debbugs.gnu.org Received: via spool by 51196-submit@debbugs.gnu.org id=B51196.163441019719554 (code B ref 51196); Sat, 16 Oct 2021 18:50:01 +0000 Received: (at 51196) by debbugs.gnu.org; 16 Oct 2021 18:49:57 +0000 Received: from localhost ([127.0.0.1]:43053 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbokm-00055K-RC for submit@debbugs.gnu.org; Sat, 16 Oct 2021 14:49:57 -0400 Received: from mail-yb1-f170.google.com ([209.85.219.170]:37725) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mbokl-000557-QD for 51196@debbugs.gnu.org; Sat, 16 Oct 2021 14:49:56 -0400 Received: by mail-yb1-f170.google.com with SMTP id w10so1047445ybt.4 for <51196@debbugs.gnu.org>; Sat, 16 Oct 2021 11:49:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=TcGOr1BlOolDzwBoREWpKGVe6X7utMBtvun1OOfebto=; b=fPm5Zul8PKo/JlDD5JzcBYNKRhfqxX1803fPoQSWWOXAtNam7fI9fZPcwcm0PQmaGB rCHm9XwgzTSsuFS6k+jw/95SE+Sx6QdF+CQWXjw44F524OzgAgcDBQIuHsmYPyXb3vG8 Zud3C6M/tek+d6vPwZ0wio0HR4mr1CjhRmsLdu6xerDYmb7w5EVxOdxd1e0hTtEF7qHu 7X6yuREr6GREv871kCOslZebYfGBcqGBhrkGT+XM2r4+3b3qbtxK6hwv91OYJlKN1caK v2oaT9vTPKBokFAoG7UCasnsZAFEjSEE5E16/D9XBVMzz8VaWhziDGpcmgXy04IAx3WX nZSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TcGOr1BlOolDzwBoREWpKGVe6X7utMBtvun1OOfebto=; b=arw2QafUOoxpMe3pZaVdTFDWVggYlzb5kT7yXSOuEImrNG6qbk7DNpNtHkFdxQPA2E iPZ/Dad+jH+//3XaxF2aJcUth37T+DebepjRomtAuPlR3MqBMnPb3VLpNqvxcpci8Mq2 4p1EcYs2eUvMjeJwWtN9uF6mqAs9wkrouKndttu4WFDTbGXc1L5FAYMqPsdkqISdvpcg QHA1lqXRio+Eze3DcYpSNF3pj9bqF/tI+5iV3Pcu8zag+O5OS2adHb/hSVvnlVrKTv5v gAHf5Hw1dqMNZalnIBc8GkPXOtF/jNkVqU6KCzxbIrmkkRwYxBOPXKD3nr0+u39z6Isj 5JFw== X-Gm-Message-State: AOAM532rfSymvSVFmeIId+QmWws4LZI4bo19dbZYn46bfEcGco7EkbON 29OLSAnZtpECuJDGGm4nntymCQ36FVy6SMzA1Ej1P3GzHv4= X-Google-Smtp-Source: ABdhPJyZEeEbU3HlyRdcU49TEKJQe14+W2xgpmdXKotXAUjgdUTG9VK2UKOBpg8wNOcnRZqClkPwZmjkki5KHyfRmzU= X-Received: by 2002:a25:ae92:: with SMTP id b18mr20532090ybj.220.1634410190227; Sat, 16 Oct 2021 11:49:50 -0700 (PDT) MIME-Version: 1.0 References: <87o87qdomy.fsf@gmail.com> <87zgr949fr.fsf@gmail.com> In-Reply-To: <87zgr949fr.fsf@gmail.com> From: Carlos Pita Date: Sat, 16 Oct 2021 15:49:38 -0300 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.2 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Hi Augusto, > I see. I never noticed this because Eglot masks the completion/eldoc > functions from python.el. I guess this is often the case. There are some scenarios in which you mainly interact with your interpreter from a python buffer (as in your code-cells) for which naive (not naTive :) ) runtime completion with no static inference bells and whistles may still be desirable. IIRC elpy has some kind of fallback from jedi completion to runtime completion fed by the inferior interpreter. elpy also implements a small rpc mechanism for all this stuff, so it doesn't share the shortcomings of python.el while still not requiring a full-fledged static analyzer. Sadly elpy is in low-maintenance mode now. emacs-jupyter also gets this right when completing from its inferior kernels, it even provides a minor mode that is able to pull off its magic inside org babel blocks! Anyway, static analyzers are getting better every day and the point of runtime completion is in turn getting mooter every day, except perhaps in that it still is the more lightweight alternative. > As you already mentioned, the biggest problem here is to use the same > Python process/thread for both REPL interaction _and_ > completion/documentation stuff. Yes, there are race conditions between emacs and its user, to put it somehow. > > But that's not true of non-native completion AFAICS and > > it certainly isn't of C-c C-f (help on symbol). > > If the user explicitly types C-c C-f, then I see no problem in the > blocking behavior. I don't think we can ask the user to remember checking its inferior process before requesting quick help on a symbol and, anyway, we don't need to agree on this because after fixing the implicit cases this one will follow suit for free. I'm about to retire in a few months and I will have the time to undertake a slightly more ambitious change regarding these rough edges of python.el, but I won't start without some level of consensus around the issues and the solution. After that, I wouldn't mind doing some maintenance of the module. Best regards, Carlos