Max Nikulin <[email protected]> writes:
> Ignacio, I think, you can add (require 'org-capture) inside your
> function just before `let' and it would work almost as lazy loading.
Thanks, I was already using (require 'org-capture) in my init file to
solve this. As I said, it's not really a problem for me, I was just
reporting it in case it was a bug. I was not sure since I don't really
know the inner workings of autoloads and custom variables, but since
this snippet works when org-capture is not yet loaded
(setq org-capture-templates
'(("d" "default" entry
(file+headline org-default-notes-file "Tasks")
"* %?")))
(org-capture nil "d")
and this snippet also works
(let ((my-new-var 2))
(defcustom my-new-var 1 "New variable that did not exist before")
(message "%s" my-new-var)) ;; This prints 2
(message "%s" my-new-var) ;; This prints 1
I thought that this snippet should work too when org-capture is not yet
loaded, and that the fact that it doesn't could mean that there is a bug
somewhere
(let ((org-capture-templates
'(("d" "default" entry
(file+headline org-default-notes-file "Tasks")
"* %?"))))
(org-capture nil "d")))
> I have no particular opinion concerning adding autoload cookie to
> `org-capture-templates'. Emacs has enough number of them, but Org has
> no such custom variables.
I put an autoload cookie myself and it doesn't fix it, so it's probably
not that. It's the first time I manage autoload cookies though, so I may
have done something wrong. I only tested that the autoload cookie worked
by checking that before loading org-capture, org-capture-templates
appears in the completion list for C-h v, and I can evaluate it.