From: Lin Sun <sunlin7.mail@gmail.com>
To: kobarity <kobarity@gmail.com>
Cc: 71083@debbugs.gnu.org, Eli Zaretskii <eliz@gnu.org>
Subject: bug#71083: [PATCH] ; Enhance the "python-shell-send-block" for convenience
Date: Sat, 25 May 2024 15:57:51 +0000 [thread overview]
Message-ID: <CABCREdrXWmJhzoRhNOwUDP4jZ-DMG7sB8bxY0JMxSFoQ+DQyBA@mail.gmail.com> (raw)
In-Reply-To: <eke71q5q1dk5.wl-kobarity@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4638 bytes --]
On Sat, May 25, 2024 at 8:49 AM kobarity <kobarity@gmail.com> wrote:
> 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.
Hi kobarity,
Thank you for the comment, you're right. I had fixed the flymake
diagnostics and the commit message.
Please help review again. Thanks.
[-- Attachment #2: 0001-Enhance-the-python-shell-send-block-for-convenience.patch --]
[-- Type: text/x-patch, Size: 2992 bytes --]
From c160a74f01535e53dd293c0924771c5b267e4906 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 by default.
* lisp/progmodes/python.el: Update the test case.
---
lisp/progmodes/python.el | 6 +++---
test/lisp/progmodes/python-tests.el | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 7f28f583543..af7c4122ba0 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)))
@@ -4165,7 +4165,7 @@ always happens interactively."
(python-indent-guess-indent-offset-verbose nil))
(if (and beg end)
(python-shell-send-region beg end nil msg t)
- (user-error "Can't get code block from current position."))))
+ (user-error "Can't get code block from current position"))))
(defun python-shell-send-buffer (&optional send-main msg)
"Send the entire buffer to inferior Python process.
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
next prev parent reply other threads:[~2024-05-25 15:57 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
2024-05-25 15:57 ` Lin Sun [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CABCREdrXWmJhzoRhNOwUDP4jZ-DMG7sB8bxY0JMxSFoQ+DQyBA@mail.gmail.com \
--to=sunlin7.mail@gmail.com \
--cc=71083@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=kobarity@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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.