Subject: Re: bug#36700: 27.0.50; python-mode beginning-of-defun broken

From: Noam Postavsky <[email-masked]>
Date: Tue, 16 Jul 2019 20:49:37 -0400

Yilin Wei <[email-masked]> writes:

> def moo():
>     class Test:
>       pass
>     <-
>
> When the cursor is at the location marked, running (beginning-of-defun)
> makes the cursor go to the wrong location, shown below, instead of to
> the beginning of the def.
>
> def moo():
> <-   class Test:
>        pass

I don't think this is a bug, python.el just takes a more liberal
interpretation of "defun" that includes class definitions.  See for
example, python-nav-beginning-of-defun-regexp:

    (defvar python-nav-beginning-of-defun-regexp
                                    ^^^^^^^^^^^^
      (python-rx line-start (* space) defun (+ space) (group symbol-name))
      "Regexp matching class or function definition.
                       ^^^^^^^^^^^^^^^^^