In the process of looking into #77620, I noticed bugs in the end-of-block detection functions in python.el. If there is a comment on the last line of the block, `python-info-statement-ends-block-p' and `python-info-end-of-block-p' will not work correctly. Try the following Python code. def func(): return 0 # Comment When the point is located after "0" of the return statement, both `python-info-statement-ends-block-p' and `python-info-end-of-block-p' return nil. If there is no comment on the line, they return t as expected. This bug affects `python-nav-forward-sexp'. In the above example, if the point is located at the beginning of "def func()" line, (python-nav-forward-sexp) moves the point to after "0". This is the expected behavior. However, if we execute (python-nav-forward-sexp -1) there, it moves the point to "0". This is not the expected behavior. If there is no comment, it moves the point to the beginning of "def func()" line. Attached is a patch that fixes this problem. -- In GNU Emacs 31.0.50 (build 8, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2025-01-01 built on ubuntu2404 Repository revision: 78bc5949db489b143f7424540d6cc56fc529c9ea Repository branch: master System Description: Ubuntu 24.04.2 LTS Configured using: 'configure --with-pgtk --with-native-compilation --with-tree-sitter'