I think I have a repro for this with a single quote ' , as opposed to triple string. I think I started seeing this hang after upgrading to Emacs 28.2. I now hit it very often, it's pretty painful. I don't know for sure that it's the same bug, but it seems likely. Reproduces with emacs -Q: ====== class Foo(): def __init__(self): ' def bar(self): """Fetches posts and converts them to ActivityStreams activities. See source.Source.get_activities_response for details. app_id is ignored. min_id is translated to Twitter's since_id. """ pass ====== The single quote and multiple lines in the docstring are necessary for the repro. No extra newline at the end needed though. JD, do you have a workaround for this? I may look into overriding python-nav-end-of-defun until it's fixed. Any other ideas? My emacs-version: GNU Emacs 28.2 (build 1, aarch64-apple-darwin21.1.0, NS appkit-2113.00 Version 12.0.1 (Build 21A559)) of 2022-09-12 -- https://snarfed.org/