Yup; I can reproduce this in Emacs 29, too.  I've poked at it now, and
it's surprisingly difficult to fix this, due to the way these functions
are constructed. 

I must confess I tried to fix it before I create the bug report (as I usually do since I feel like maintainers are already quite busy...) but gave up: There are so many regexps to match the function keyword, the cache, etc. 


But I think I've got it working now in Emacs 29.

Thanks a lot! I'll test this this evening.