unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Carlos Pita <carlosjosepita2@gmail.com>
To: Augusto Stoffel <arstoffel@gmail.com>
Cc: 51196@debbugs.gnu.org
Subject: bug#51196: 29.0.50; python.el eldoc problems
Date: Sat, 16 Oct 2021 15:49:38 -0300	[thread overview]
Message-ID: <CAEOO5TcOT5j4HjrhD5SH5jXeGGKtuR3vVMhnWNMHipWkORnFkg@mail.gmail.com> (raw)
In-Reply-To: <87zgr949fr.fsf@gmail.com>

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





      reply	other threads:[~2021-10-16 18:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-13 23:42 bug#51196: 29.0.50; python.el eldoc problems Carlos Pita
2021-10-15  2:05 ` Carlos Pita
2021-10-15 20:30   ` Augusto Stoffel
2021-10-15 20:22 ` Augusto Stoffel
2021-10-15 20:33   ` Carlos Pita
2021-10-16  9:15     ` Augusto Stoffel
2021-10-16 18:49       ` Carlos Pita [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAEOO5TcOT5j4HjrhD5SH5jXeGGKtuR3vVMhnWNMHipWkORnFkg@mail.gmail.com \
    --to=carlosjosepita2@gmail.com \
    --cc=51196@debbugs.gnu.org \
    --cc=arstoffel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).