Subject: bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void

From: Giovanni Biscuolo <[email-masked]>
Date: Fri, 02 Oct 2020 21:27:52 +0200

Hello,

Giovanni Biscuolo <[email-masked]> writes:

[...]

>>> File mode specification error: (void-function org--check-org-structure-template-alist) [2 times]
>>> Followed link to /home/giovanni/.dotfolder/emacs/.emacs.d/elfeed.org
>>> mapc: Symbol’s function definition is void:
>>> org--check-org-structure-template-alist
>>
>> Hum?  What is your ’~/.emacs.d/init.el’&co.?  The issue seems the
>> loading order.  It could happen with lazy eval &co.  Well, this ’alist’
>> is from ’org.el’, so it appears to me a bit weird.
>
> Yes, AFAIU it's really a loading order triggered error... and I'm not
> able to debug this :-(

I've finally found the conflicting configuration!

[...]

> ;; -*- mode: emacs-lisp -*-

[...]

> (require 'org-tempo)

           ^ This one

I've commented out this config line in my init.el and now elfeed-org is
running fine

If I try to eval "(require 'org-tempo)" in the *scratch* buffer I get
this backtrace:

--8<---------------cut here---------------start------------->8---

Debugger entered--Lisp error: (void-function org--check-org-structure-template-alist)
  org--check-org-structure-template-alist(org-structure-template-alist)
  mapc(org--check-org-structure-template-alist (org-structure-template-alist org-tempo-keywords-alist))
  org-tempo-add-templates()
  org-tempo--update-maybe()
  org-tempo-setup()
  byte-code("\300\301\302\303\304\305%\210\306\307\310\"\210\306\311\312\"\210\313\314!\211\203*\0\211@r\211q\210\310 \210)\1A\266\202\202\25\0\210\315\316!\207" [tempo-define-template "org-include" ((org-tempo--include-file) p >) "<I" "Include keyword" org-tempo-tags add-hook org-mode-hook org-tempo-setup org-tab-before-tab-emulation-hook org-tempo-complete-tag org-buffer-list files provide org-tempo] 6)
  require(org-tempo)
  (progn (require 'org-tempo))
  eval((progn (require 'org-tempo)) t)
  elisp--eval-last-sexp(t)
  eval-last-sexp(t)
  eval-print-last-sexp(nil)
  funcall-interactively(eval-print-last-sexp nil)
  call-interactively(eval-print-last-sexp nil nil)
  command-execute(eval-print-last-sexp)

--8<---------------cut here---------------end--------------->8---

Am I doing something wrong in requiring org-tempo or not?

AFAIU (require 'org-tempo) should be supported:
https://www.gnu.org/software/emacs/manual/html_node/org/Structure-Templates.html

Tomorrow I'll report my findings upstream.

[...]

Thanks! Gio'

-- 
Giovanni Biscuolo

Xelera IT Infrastructures