GNU bug report logs - #75729
[PATCH] python-mode: add `exit` to the list of block-enders

Previous Next

Package: emacs;

Reported by: Konstantin Kharlamov <Hi-Angel <at> yandex.ru>

Date: Tue, 21 Jan 2025 15:43:02 UTC

Severity: wishlist

Tags: patch

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: kobarity <kobarity <at> gmail.com>
To: Konstantin Kharlamov <Hi-Angel <at> yandex.ru>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 75729 <at> debbugs.gnu.org, Stefan Kangas <stefankangas <at> gmail.com>
Subject: bug#75729: [PATCH v3] python-mode: add `exit` to the list of block-enders
Date: Thu, 23 Jan 2025 01:01:26 +0900
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) "("))))




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.