unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: kobarity <kobarity@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 71083@debbugs.gnu.org, Lin Sun <sunlin7.mail@gmail.com>
Subject: bug#71083: [PATCH] ; Enhance the "python-shell-send-block" for convenience
Date: Sat, 25 May 2024 17:49:30 +0900	[thread overview]
Message-ID: <eke71q5q1dk5.wl-kobarity@gmail.com> (raw)
In-Reply-To: <86sey6z5ay.fsf@gnu.org>


Eli Zaretskii wrote:
> Any comments on the proposed patch?
> 
> > From: Lin Sun <sunlin7.mail@gmail.com>
> > Date: Mon, 20 May 2024 20:28:17 +0000
> > 
> > This patch tries to make `python-shell-send-block' more convenient.
> > 
> > I had added the function `python-shell-send-block'  twenty days ago in
> > bug#70609, it will send code block with header by default, and a
> > prefix "C-u" to call the function will send block without header.
> > 
> > And I received some feedback that sending a block without a header
> > should be a more used one.
> > 
> > Many python blocks begin with "if condition", and users may want to
> > send the block without its condition header to try different condition
> > branches.
> > 
> > So this patch will make sending block without header to be the default
> > behavior, and a prefix "C-u" will make the function to send block with
> > header.
> > 
> > Please help review this minor change. Thanks
> > 
> > 
> > From 7eefbf3e4de925c211e483a809d0f8d94e8d17f0 Mon Sep 17 00:00:00 2001
> > From: Lin Sun <sunlin7@hotmail.com>
> > Date: Mon, 20 May 2024 06:55:31 +0000
> > Subject: [PATCH] ; Enhance the "python-shell-send-block" for convenience
> > 
> > * lisp/progmodes/python.el (python-shell-send-block):
> >   The "python-shell-send-block" will send block without header defaultly.
> > * lisp/progmodes/python.el: Update test case.
> > ---
> >  lisp/progmodes/python.el            | 4 ++--
> >  test/lisp/progmodes/python-tests.el | 4 ++--
> >  2 files changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
> > index 7f28f583543..9ec198da79a 100644
> > --- a/lisp/progmodes/python.el
> > +++ b/lisp/progmodes/python.el
> > @@ -4149,14 +4149,14 @@ interactively."
> >    "Send the block at point to inferior Python process.
> >  The block is delimited by `python-nav-beginning-of-block' and
> >  `python-nav-end-of-block'.  If optional argument ARG is non-nil
> > -(interactively, the prefix argument), send the block body without
> > +(interactively, the prefix argument), send the block body with
> >  its header.  If optional argument MSG is non-nil, force display
> >  of a user-friendly message if there's no process running; this
> >  always happens interactively."
> >    (interactive (list current-prefix-arg t))
> >    (let ((beg (save-excursion
> >                 (when (python-nav-beginning-of-block)
> > -                 (if (null arg)
> > +                 (if arg
> >                       (beginning-of-line)
> >                     (python-nav-end-of-statement)
> >                     (beginning-of-line 2)))
> > diff --git a/test/lisp/progmodes/python-tests.el b/test/lisp/progmodes/python-tests.el
> > index f50797953c3..803008db8a3 100644
> > --- a/test/lisp/progmodes/python-tests.el
> > +++ b/test/lisp/progmodes/python-tests.el
> > @@ -7476,7 +7476,7 @@ print('current 3')"
> >      (goto-char (point-min))
> >      (should-error (python-shell-send-block) :type 'user-error)
> >      (forward-line)
> > -    (python-shell-send-block)
> > +    (python-shell-send-block t) ;; send block with header
> >      (python-tests-shell-wait-for-prompt)
> >      (python-shell-with-shell-buffer
> >        (goto-char (point-min))
> > @@ -7485,7 +7485,7 @@ print('current 3')"
> >        (should (re-search-forward "current 2" nil t))
> >        (should-not (re-search-forward "current 3" nil t)))
> >      (forward-line)
> > -    (python-shell-send-block t) ;; send block body only
> > +    (python-shell-send-block) ;; send block body only
> >      (python-tests-shell-wait-for-prompt)
> >      (python-shell-with-shell-buffer
> >        ;; should only 1 line output from the block body
> > -- 
> > 2.20.5
> > 

As for the default behavior of `python-shell-send-block' I am fine
with either.

"send block without header defaultly." in the commit message would be
better for "send block without header by default."

I noticed two Flymake diagnostics regarding `python-shell-send-block'.

- Open parenthesis in column 0 should be escaped
- Error messages should *not* end with a period

It would be nice to resolve them.





  reply	other threads:[~2024-05-25  8:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-20 20:28 bug#71083: [PATCH] ; Enhance the "python-shell-send-block" for convenience Lin Sun
2024-05-25  8:03 ` Eli Zaretskii
2024-05-25  8:49   ` kobarity [this message]
2024-05-25 15:57     ` Lin Sun
2024-05-26  0:35       ` kobarity
2024-05-26  8:30       ` Eli Zaretskii
2024-05-26 18:41         ` Lin Sun

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=eke71q5q1dk5.wl-kobarity@gmail.com \
    --to=kobarity@gmail.com \
    --cc=71083@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=sunlin7.mail@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).