I am wondering how is that some interactive commands in emacs present default value while others don't. For instance when I am in C file and cursor stands on printf, running manual-entry will suggest showing manual page for printf by default. I would like to make my own interactive commands with default value. How? It seems like thing-at-point is a good direction, but how do I blend thing-at-point and interactive together?

Edit
Report