GNU bug report logs -
#75729
[PATCH] python-mode: add `exit` to the list of block-enders
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#75729: [PATCH] python-mode: add `exit` to the list of block-enders
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 75729 <at> debbugs.gnu.org.
--
75729: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75729
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> From: Konstantin Kharlamov <Hi-Angel <at> yandex.ru>
> Cc: Eli Zaretskii <eliz <at> gnu.org>, Stefan Kangas <stefankangas <at> gmail.com>,
> 75729 <at> debbugs.gnu.org
> Date: Thu, 23 Jan 2025 01:12:32 +0300
>
> On Thu, 2025-01-23 at 01:01 +0900, kobarity wrote:
> >
> > Ship Mints wrote:
> > > Do you want to consider more of the terminal calls? os.exit()
> > > os._exit()
> > > sys.exit() quit() (though quit raises SystemExit which could be
> > > locally
> > > caught; I think it's equivalent to raise SystemExit?).
> >
> > I too would prefer to include these. Because I think `sys.exit()` is
> > recommended over `exit().
> >
> > https://pylint.readthedocs.io/en/latest/user_guide/messages/refactor/consider-using-sys-exit.html
> >
> > Another point is that although `exit()` ends current codeflow, `exit`
> > does not end current codeflow. This is where it differs from
> > `return`, etc.
> >
> > This is a bit complicated, but how about the following code?
> >
> > (block-ender (seq
> > symbol-start
> > (or
> > (seq (or
> > "break" "continue" "pass"
> > "raise" "return")
> > symbol-end)
> > (seq
> > (or
> > (seq (? (or (seq "os." (? ?_))
> > "sys.")) "exit")
> > "quit") (* space) "("))))
>
> Thank you, I replaced the code and tested it, it works for me. I did a
> small change though: I moved the `(* space…` part on the new line to
> align it with `(or …)`. In the older code it looked like this text is
> part of the `(or …)` expression. But please see if it's okay this way,
> you definitely have more ELisp experience 😊
Thanks, installed on the master branch, and closing the bug.
Please in the future always mention the bug number (when known) in the
commit log message.
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
`exit()` ends current codeflow, there can't be any code past it. So
account `exit` similarly to `return`, `continue`, etc.
[1.patch (text/x-patch, attachment)]
This bug report was last modified 180 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.