I'm trying to use cl-lib
early in my init.el
. The function I'm using (cl-some
) is autoloaded, so I expect that don't need an explicit require
, yet I get a void-function error if I don't explicitly require
. Sounds like other people have this problem as well: https://stackoverflow.com/a/30848971/245173
;; OK
(require 'cl-lib)
(cl-some #'identity '(nil))
;; void-function the first time, OK subsequently
(cl-some #'identity '(nil))
Why is require
necessary if the function is marked for autoloading? Why does it generate an error and also load the library?
Update: if I (load-library "cl-loaddefs.el")
, which is where the autoload for cl-some
is, it works correctly the first time. So it seems like cl-loaddefs
isn't being loaded. Why not?