Why some functions in simple.el
are invokable with M-x
and some others aren't?
For example I can do M-x what-line
but I can't do M-x line-number-at-pos
.
Asked
Active
Viewed 86 times
1
-
https://emacs.stackexchange.com/tags/elisp/info – Drew May 14 '22 at 21:19
-
There are also other duplicates, e.g. https://emacs.stackexchange.com/q/54602/105. – Drew May 14 '22 at 21:25
-
See Defining Commands in the Emacs Lisp Manual. – NickD May 15 '22 at 02:00
1 Answers
1
Only functions which are declared to be interactive are callable with M-x
. The declaration is done by putting an (interactive)
form as the first thing in the body of the function. Like this:
(defun an-example ()
"this is an example function"
(interactive)
(insert "42"))
There is a lot of other information you should know about interactive functions, so you should type C-h f
and enter interactive
to see more help for it.

db48x
- 17,977
- 1
- 22
- 28