In Org buffers
M-< seems to only work if the buffer starts with a
*. When it fails it does so with the message:
Invalid function: org-with-limited-levels
It fails for (1) an empty Org buffer, (2) a buffer containing just
a, (3) a buffer that has
* a as the second line after an empty first line, (4) a buffer with, say a title:
#+TITLE: a * b
I think it might be due to the declaration
(declare-function org-with-limited-levels "org-macs"). My theory is that that tells the byte compiler to emit a function call sequence for
org-with-limited-levels, but since it's actually a macro and not a function, this causes the invalid function error.
It seems that simply commenting out the declaration fixes the problem and causes no warning from the byte-compiler, but I'm not sure if that's the right fix.
Hmm, yes. Which is pretty strange!