I am a newbie and in this part of the tutorial:

" More generally, if you want to see a function in its original source file, you can use the xref-find-definitions function to jump to it. xref-find-definitions works with a wide variety of languages, not just Lisp, and C, and it works with non-programming text as well. For example, xref-find-definition will jump to the various nodes in the Texinfo source file of this document (provided that you've run the `etags' utility to record all the nodes in the manuals that come with Emacs; "

M-. doesn't find any definition of functions even though the autocompletion in the call works. I have no idea how to create a tag table, because the manual just states "etags inputfile" but again I have no idea which file i would need to create my tags on. Also find-function doesn't work either, it just states simple.el can't be found which is no surprise because only a simple.elc exists. so it searches for the wrong file by default but i don't know how to change that either. Can somebody help?

1 Answer 1


You need create tags file in project root first.

Run etags in project root to create tags file whose name is TAGS.

etags is a command line program bundled with Emacs.

See https://www.gnu.org/software/emacs/manual/html_node/emacs/Create-Tags-Table.html for details

These days most people use ctags instead of etags. Run ctags -e . in project root to create tags files.

There are two ctags implementation, Exuberant Ctags and Universal Ctags. Universal Ctags is more actively maintained.

See https://en.wikipedia.org/wiki/Ctags for details.

  • thank you very much for the detailed answer. May 10, 2021 at 6:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.