* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
@ 2020-09-06 14:43 Giovanni Biscuolo
2020-09-06 15:45 ` Giovanni Biscuolo
0 siblings, 1 reply; 16+ messages in thread
From: Giovanni Biscuolo @ 2020-09-06 14:43 UTC (permalink / raw)
To: 43243
[-- Attachment #1: Type: text/plain, Size: 2091 bytes --]
Hello,
I use emacs-elfeed-org to organize my feeds for emacs--elfeed.
After my last upgrade to Emacs 27.1 I get this error in the Messages
buffer when I try to "M-x elfeed":
mapc: Symbol’s function definition is void: org--check-org-structure-template-alist
This is the 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()
run-hooks(change-major-mode-after-body-hook text-mode-hook outline-mode-hook org-mode-hook)
apply(run-hooks (change-major-mode-after-body-hook text-mode-hook outline-mode-hook org-mode-hook))
run-mode-hooks(org-mode-hook)
org-mode()
#f(compiled-function (file) #<bytecode 0x10396bd>)("~/.emacs.d/elfeed.org")
#f(compiled-function (it) #<bytecode 0x2ba910d>)("~/.emacs.d/elfeed.org")
mapcar(#f(compiled-function (it) #<bytecode 0x2ba910d>) ("~/.emacs.d/elfeed.org"))
-mapcat(#f(compiled-function (file) #<bytecode 0x10396bd>) ("~/.emacs.d/elfeed.org"))
rmh-elfeed-org-import-headlines-from-files(("~/.emacs.d/elfeed.org") "elfeed")
rmh-elfeed-org-process(("~/.emacs.d/elfeed.org") "elfeed")
ad-Advice-elfeed(#f(compiled-function () (interactive nil) #<bytecode 0x1012e69>))
apply(ad-Advice-elfeed #f(compiled-function () (interactive nil) #<bytecode 0x1012e69>) nil)
elfeed()
funcall-interactively(elfeed)
call-interactively(elfeed record nil)
command-execute(elfeed record)
execute-extended-command(nil "elfeed" nil)
funcall-interactively(execute-extended-command nil "elfeed" nil)
call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)
--8<---------------cut here---------------end--------------->8---
Thanks! Gio'
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-09-06 14:43 bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void Giovanni Biscuolo
@ 2020-09-06 15:45 ` Giovanni Biscuolo
2020-09-28 3:07 ` Maxim Cournoyer
0 siblings, 1 reply; 16+ messages in thread
From: Giovanni Biscuolo @ 2020-09-06 15:45 UTC (permalink / raw)
To: 43243
[-- Attachment #1: Type: text/plain, Size: 449 bytes --]
Giovanni Biscuolo <g@xelera.eu> writes:
> I use emacs-elfeed-org to organize my feeds for emacs--elfeed.
>
> After my last upgrade to Emacs 27.1 I get this error in the Messages
> buffer when I try to "M-x elfeed":
[...]
I've filed an issue upstream:
https://github.com/remyhonig/elfeed-org/issues/56
I confirm that rolling back to Emacs 26.3 I have no issues.
Thanks! Gio'
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-09-06 15:45 ` Giovanni Biscuolo
@ 2020-09-28 3:07 ` Maxim Cournoyer
2020-09-28 8:18 ` Giovanni Biscuolo
0 siblings, 1 reply; 16+ messages in thread
From: Maxim Cournoyer @ 2020-09-28 3:07 UTC (permalink / raw)
To: Giovanni Biscuolo; +Cc: 43243
Hello Giovanni,
Giovanni Biscuolo <g@xelera.eu> writes:
> Giovanni Biscuolo <g@xelera.eu> writes:
>
>> I use emacs-elfeed-org to organize my feeds for emacs--elfeed.
>>
>> After my last upgrade to Emacs 27.1 I get this error in the Messages
>> buffer when I try to "M-x elfeed":
>
> [...]
>
> I've filed an issue upstream:
> https://github.com/remyhonig/elfeed-org/issues/56
I tried to reproduce this using the following environment:
--8<---------------cut here---------------start------------->8---
guix environment --pure --ad-hoc emacs emacs-elfeed
--8<---------------cut here---------------end--------------->8---
Then launching emacs with 'emacs -q', and running elfeed with M-x
elfeed, and couldn't reproduce the problem.
Are you using a different flavor of Emacs, or just the 'emacs' Guix
package? emacs-next's search path is currently broken, for example.
Thanks,
Maxim
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-09-28 3:07 ` Maxim Cournoyer
@ 2020-09-28 8:18 ` Giovanni Biscuolo
2020-09-29 13:47 ` Maxim Cournoyer
0 siblings, 1 reply; 16+ messages in thread
From: Giovanni Biscuolo @ 2020-09-28 8:18 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: 43243
[-- Attachment #1: Type: text/plain, Size: 743 bytes --]
Hello Maxim,
thank you for your help
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
[...]
> I tried to reproduce this using the following environment:
>
> --8<---------------cut here---------------start------------->8---
> guix environment --pure --ad-hoc emacs emacs-elfeed
> --8<---------------cut here---------------end--------------->8---
>
> Then launching emacs with 'emacs -q', and running elfeed with M-x
> elfeed, and couldn't reproduce the problem.
The problem is with emacs-elfeed-org, not emacs-elfeed :-)
> Are you using a different flavor of Emacs, or just the 'emacs' Guix
> package?
I'm using 'emacs' from Guix.
Thanks, Gio'
[...]
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-09-28 8:18 ` Giovanni Biscuolo
@ 2020-09-29 13:47 ` Maxim Cournoyer
2020-09-29 18:12 ` Giovanni Biscuolo
0 siblings, 1 reply; 16+ messages in thread
From: Maxim Cournoyer @ 2020-09-29 13:47 UTC (permalink / raw)
To: Giovanni Biscuolo; +Cc: 43243
Hello!
Giovanni Biscuolo <g@xelera.eu> writes:
> Hello Maxim,
>
> thank you for your help
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
> [...]
>
>> I tried to reproduce this using the following environment:
>>
>> --8<---------------cut here---------------start------------->8---
>> guix environment --pure --ad-hoc emacs emacs-elfeed
>> --8<---------------cut here---------------end--------------->8---
>>
>> Then launching emacs with 'emacs -q', and running elfeed with M-x
>> elfeed, and couldn't reproduce the problem.
>
> The problem is with emacs-elfeed-org, not emacs-elfeed :-)
Ah! I need glasses :-)
Retrying with emacs-elfeed-org, I also can't reproduce:
--8<---------------cut here---------------start------------->8---
$ guix environment --pure --ad-hoc emacs emacs-elfeed-org -- emacs --batch --eval='(elfeed)'
Loading /gnu/store/6yx7654rwm0bxmi99dyp5ddgll72k2kw-profile/share/emacs/site-lisp/dash-autoloads...
Loading /gnu/store/6yx7654rwm0bxmi99dyp5ddgll72k2kw-profile/share/emacs/site-lisp/elfeed-autoloads...
Loading /gnu/store/6yx7654rwm0bxmi99dyp5ddgll72k2kw-profile/share/emacs/site-lisp/elfeed-org-autoloads...
Loading /gnu/store/6yx7654rwm0bxmi99dyp5ddgll72k2kw-profile/share/emacs/site-lisp/org-autoloads...
Loading /gnu/store/6yx7654rwm0bxmi99dyp5ddgll72k2kw-profile/share/emacs/site-lisp/s-autoloads...
--8<---------------cut here---------------end--------------->8---
Can you try to reproduce it again? Perhaps there's some other Emacs
package in your profile which somehow conflicts with it?
Thanks,
Maxim
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-09-29 13:47 ` Maxim Cournoyer
@ 2020-09-29 18:12 ` Giovanni Biscuolo
2020-09-29 19:44 ` zimoun
0 siblings, 1 reply; 16+ messages in thread
From: Giovanni Biscuolo @ 2020-09-29 18:12 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: 43243
[-- Attachment #1.1: Type: text/plain, Size: 1622 bytes --]
Hello Maxim,
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
[...]
>> The problem is with emacs-elfeed-org, not emacs-elfeed :-)
>
> Ah! I need glasses :-)
:D
> Retrying with emacs-elfeed-org, I also can't reproduce:
>
> --8<---------------cut here---------------start------------->8---
> $ guix environment --pure --ad-hoc emacs emacs-elfeed-org -- emacs --batch --eval='(elfeed)
[...]
> Can you try to reproduce it again?
OK I did this:
--8<---------------cut here---------------start------------->8---
$ guix environment --pure --ad-hoc emacs emacs-elfeed-org curl
$ emacs
--8<---------------cut here---------------end--------------->8---
In this environment then I "manually" set up elfeed-org in my *scratch*
buffer copying relevant parts from init.el: it worked, I was able to
start elfeed and update my feeds from my elfeed.org file
> Perhaps there's some other Emacs package in your profile which somehow
> conflicts with it?
After the test above I updated my emacs profile and started emacs
daemon, now I'm on emacs 27.1 and, again, if I try to start elfeed I
get:
--8<---------------cut here---------------start------------->8---
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
--8<---------------cut here---------------end--------------->8---
Tomorrow I'll try to catch what's the conflicting package, now I'm using
this manifest:
[-- Attachment #1.2: emacs-guix.scm --]
[-- Type: application/octet-stream, Size: 951 bytes --]
;; This file is automatically generated via init.org
;; PLEASE do not edit this, edit init.org
(specifications->manifest
'("gs-fonts"
"font-dejavu"
"font-gnu-freefont"
"unicode-emoji"
"emacs"
"emacs-hl-todo"
"emacs-emojify"
"emacs-tramp"
"gvfs"
"adb"
"emacs-pinentry"
"emacs-trashed"
"emacs-eshell-bookmark"
"emacs-editorconfig"
"emacs-disk-usage"
"password-store"
"pass-otp"
"emacs-password-store"
"emacs-pass"
"emacs-password-generator"
"emacs-auctex"
"emacs-markdown-mode"
"emacs-dockerfile-mode"
"emacs-docker-compose-mode"
"emacs-csv-mode"
"emacs-lorem-ipsum"
"emacs-nov-el"
"emacs-magit"
"emacs-magit-todos"
"notmuch"
"muchsync"
"emacs-gnus-alias"
"emacs-org-contrib"
"emacs-org-ref"
"emacs-org-noter"
"emacs-org-ref"
"emacs-org-web-tools"
"ghc-pandoc"
"emacs-elfeed"
"emacs-elfeed-org"
"curl"
"nss-certs"
"emacs-telega"
"emacs-docker-tramp"
"emacs-docker"
"emacs-guix"
;; "emacs-rudel"
))
[-- Attachment #1.3: Type: text/plain, Size: 106 bytes --]
Thank you for your help!
Happy hacking! Gio'
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-09-29 18:12 ` Giovanni Biscuolo
@ 2020-09-29 19:44 ` zimoun
2020-10-02 18:08 ` Giovanni Biscuolo
2020-10-04 17:21 ` bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void Giovanni Biscuolo
0 siblings, 2 replies; 16+ messages in thread
From: zimoun @ 2020-09-29 19:44 UTC (permalink / raw)
To: Giovanni Biscuolo; +Cc: Maxim Cournoyer, 43243
Hi,
On Tue, 29 Sep 2020 at 20:12, Giovanni Biscuolo <g@xelera.eu> wrote:
> 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.
> Tomorrow I'll try to catch what's the conflicting package, now I'm using
> this manifest:
I have noticed that you use ’ghc-pandoc’. Except if you require
“pandoc” as an Haskell library for linking, what you want is probably
the package ’pandoc’ (introduced by e380ef14cf).
All the best,
simon
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-09-29 19:44 ` zimoun
@ 2020-10-02 18:08 ` Giovanni Biscuolo
2020-10-02 19:27 ` Giovanni Biscuolo
2020-10-03 12:40 ` zimoun
2020-10-04 17:21 ` bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void Giovanni Biscuolo
1 sibling, 2 replies; 16+ messages in thread
From: Giovanni Biscuolo @ 2020-10-02 18:08 UTC (permalink / raw)
To: zimoun; +Cc: 43243
[-- Attachment #1.1: Type: text/plain, Size: 3209 bytes --]
Hi simon
thank you for your support.
I'm not very good in the triage of this bug: after a lot of trial and
error I was almost sure I found a conflicting package (emacs-hl-todo,
required by emacs-magit-todos) BUT I was NOT able to reproduce the bug
in a pure environment
--8<---------------cut here---------------start------------->8---
$ guix environment --pure --ad-hoc emacs emacs-elfeed-org emacs-magit-todos -- emacs --debug-init
--8<---------------cut here---------------end--------------->8---
In that environment's emacs session I get an init.el loading error, but
I'm able to eval-buffer this:
--8<---------------cut here---------------start------------->8---
(require 'elfeed-org)
(elfeed-org)
;; Optionally specify a number of files containing elfeed
;; configuration. If not set then the location below is used.
(setq rmh-elfeed-org-files (list "~/.emacs.d/elfeed.org"))
(global-set-key (kbd "C-x w") 'elfeed)
(setq-default elfeed-search-filter "+unread ")
(add-hook 'elfeed-new-entry-hook
(elfeed-make-tagger :before "9 weeks ago"
:remove 'unread))
--8<---------------cut here---------------end--------------->8---
But I have to do that 4 times since I get this error:
--8<---------------cut here---------------start------------->8---
org-link-set-parameters: Symbol’s function definition is void: org-element-update-syntax [3 times]
--8<---------------cut here---------------end--------------->8---
After that I'm able to open elfeed, with feeds managed by elfeed-org: it
works.
So the problem is something else, probably...
zimoun <zimon.toutoune@gmail.com> writes:
> Hi,
>
> On Tue, 29 Sep 2020 at 20:12, Giovanni Biscuolo <g@xelera.eu> wrote:
>
>> 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 :-(
My init.el is pretty long and convoluted and without many comments, I'm
attaching it at the end of this message.
Using the attached manifest (emacs-guix.scm), I still the same error:
--8<---------------cut here---------------start------------->8---
mapc: Symbol’s function definition is void: org--check-org-structure-template-alist
--8<---------------cut here---------------end--------------->8---
with the same backtrace reported in the first message of this bug report.
>> Tomorrow I'll try to catch what's the conflicting package, now I'm using
>> this manifest:
>
> I have noticed that you use ’ghc-pandoc’. Except if you require
> “pandoc” as an Haskell library for linking, what you want is probably
> the package ’pandoc’ (introduced by e380ef14cf).
I've now fixed this, thanks!
All the best, Gio'.
[-- Attachment #1.2: My init.el sligtly redacted for privacy --]
[-- Type: application/emacs-lisp, Size: 11760 bytes --]
[-- Attachment #1.3: emacs-guix.scm --]
[-- Type: application/octet-stream, Size: 909 bytes --]
;; This file is automatically generated via init.org
;; PLEASE do not edit this, edit init.org
(specifications->manifest
'("gs-fonts"
"font-dejavu"
"font-gnu-freefont"
"unicode-emoji"
"emacs"
"emacs-emojify"
"emacs-tramp"
"gvfs"
"adb"
"emacs-pinentry"
"emacs-trashed"
"emacs-eshell-bookmark"
"emacs-editorconfig"
"emacs-disk-usage"
"password-store"
"pass-otp"
"emacs-password-store"
"emacs-pass"
"emacs-password-generator"
"emacs-auctex"
"emacs-markdown-mode"
"emacs-dockerfile-mode"
"emacs-docker-compose-mode"
"emacs-csv-mode"
"emacs-lorem-ipsum"
"emacs-nov-el"
"emacs-magit"
"notmuch"
"muchsync"
"emacs-gnus-alias"
"emacs-org-contrib"
"emacs-org-ref"
"emacs-org-noter"
"emacs-org-ref"
"emacs-org-web-tools"
"pandoc"
"emacs-elfeed"
"emacs-elfeed-org"
"curl"
"nss-certs"
"emacs-telega"
"emacs-docker-tramp"
"emacs-docker"
"emacs-guix"
;; "emacs-rudel"
))
[-- Attachment #1.4: Type: text/plain, Size: 59 bytes --]
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-10-02 18:08 ` Giovanni Biscuolo
@ 2020-10-02 19:27 ` Giovanni Biscuolo
2020-10-03 8:11 ` Giovanni Biscuolo
2020-10-03 12:40 ` zimoun
1 sibling, 1 reply; 16+ messages in thread
From: Giovanni Biscuolo @ 2020-10-02 19:27 UTC (permalink / raw)
To: zimoun; +Cc: 43243
[-- Attachment #1: Type: text/plain, Size: 2517 bytes --]
Hello,
Giovanni Biscuolo <g@xelera.eu> 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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-10-02 19:27 ` Giovanni Biscuolo
@ 2020-10-03 8:11 ` Giovanni Biscuolo
0 siblings, 0 replies; 16+ messages in thread
From: Giovanni Biscuolo @ 2020-10-03 8:11 UTC (permalink / raw)
To: zimoun; +Cc: 43243
[-- Attachment #1.1: Type: text/plain, Size: 1824 bytes --]
Hello,
Sorry Simon for the noise, this is just a quick feedback about my
debugging; next messages will be only to debbugs, you know how to track
it :-D
Meanwhile I've learned how to test things in a dedicated environment,
thanks to some interesting tips [1] (I ignored before) adapted to Guix;
this confirms (ça va sanse dire) how powerful Guix is!
Giovanni Biscuolo <g@xelera.eu> writes:
[...]
>> 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!
No, I've actually found a workaround - commenting out "(require
'org-tempo)" in my init.el - that works with my emacs configuration (and
package set) BUT there is absolutely no conflict between org-tempo and
elfeed-org.
I confirm that if I eval "(require 'org-tempo)" I get the previously
reported error and backtrace, I confirm that if I do not remove
(comment) "(require 'org-tempo)" in my "production" init.el elfeed does
not work as reported in the first message of this bug report.
Last but not least, I confirm I had no issues with the same manifest
(I've replaced ghc-pandoc with pandoc but that's tangent) and the same
init.el using Guix Emacs 26.3
So I ceated a directory dedicated to my tests in
~/.emacs-testing.d/test-elfeed, where I put "manifest.scm" and a
"test-elfeed.el" (both attached below, inline).
Well: if I do this
--8<---------------cut here---------------start------------->8---
[~/.emacs-testing.d/test-elfeed]-
giovanni@roquette: guix environment --pure --ad-hoc -m manifest.scm -- emacs -q -l test-elfeed.el
--8<---------------cut here---------------end--------------->8---
I get an emacs session with a running elfeed, and "(require 'org-tempo)"
is there.
This is manifest.scm:
[-- Attachment #1.2: manifest.scm --]
[-- Type: application/octet-stream, Size: 201 bytes --]
(specifications->manifest
'("gs-fonts"
"font-dejavu"
"font-gnu-freefont"
"unicode-emoji"
"emacs"
"emacs-org-contrib"
"emacs-elfeed"
"emacs-elfeed-org"
"curl"
"nss-certs"
))
[-- Attachment #1.3: Type: text/plain, Size: 26 bytes --]
This is test-elfeed.el:
[-- Attachment #1.4: test-elfeed.el --]
[-- Type: application/emacs-lisp, Size: 1898 bytes --]
[-- Attachment #1.5: Type: text/plain, Size: 494 bytes --]
So AFAIU there is no direct conflict between elfeed-org and org-tempo,
that conflict is apparent only in my full init.el configuration (and
package set) and probably is related to a combination of environment and
init.el configuration.
I'm going to investigate more and see what I can do to sort out things.
Happy hacking! Gio'
[1] https://gonewest818.github.io/2020/03/a-standalone-init.el-for-emacs-package-debugging/
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-10-02 18:08 ` Giovanni Biscuolo
2020-10-02 19:27 ` Giovanni Biscuolo
@ 2020-10-03 12:40 ` zimoun
2020-10-06 9:46 ` Emacs config for "traditional" or Guix environment? Giovanni Biscuolo
1 sibling, 1 reply; 16+ messages in thread
From: zimoun @ 2020-10-03 12:40 UTC (permalink / raw)
To: Giovanni Biscuolo; +Cc: 43243
Dear,
On Fri, 02 Oct 2020 at 20:08, Giovanni Biscuolo <g@xelera.eu> wrote:
> I'm not very good in the triage of this bug: after a lot of trial and
> error I was almost sure I found a conflicting package (emacs-hl-todo,
> required by emacs-magit-todos) BUT I was NOT able to reproduce the bug
> in a pure environment
[...]
> In that environment's emacs session I get an init.el loading error, but
> I'm able to eval-buffer this:
That's because your init.el and guix.scm do not match. For example, you
are using ’use-package’ inside ’init.el’ without installing it, I mean
it does not appear neither inside ’guix.scm’ –– I do not understand from
where it comes from. Therefore, I am not sure about the option ’–pure’
but the option ’–container’ should raise an error. Do I miss something?
> ;; -*- mode: emacs-lisp -*-
> (unless (require 'guix-emacs nil 'noerror)
> (package-initialize))
> (unless (require 'guix-emacs nil 'noerror)
> ;; package archives
> (when (>= emacs-major-version 24)
> (require 'package)
> (setq package-archives
> '(("GNU_ELPA" . "https://elpa.gnu.org/packages/")
> ("org" . "https://orgmode.org/elpa/")
> ("MELPA_Stable" . "https://stable.melpa.org/packages/")
> ("MELPA" . "https://melpa.org/packages/"))
> package-archive-priorities
> '(("GNU_ELPA" . 15)
> ("org" . 10)
> ("MELPA_Stable" . 5)
> ("MELPA" . 0)))))
From my experience, I do not mix packages from Emacs archives and from
Guix because it often leads to weirdness –– unexpected behaviour at
least… Personally, I have removed the use of all the ‘package.el’
functions and only use packages ’emacs-*’ from Guix and then configure
them using ’with-eval-after-load’.
> (unless (require 'guix-emacs nil 'noerror)
> (use-package emojify
From where the package ’use-package’ comes from?
> :ensure t
> :pin "GNU_ELPA"))
If you use a manifest.scm file, why do you need ’use-package’ and ELPA.
If ’emojify’ is not in Guix, please try to submit a patch – using “guix
import elpa” helps.
> (unless (require 'guix-emacs nil 'noerror)
> (use-package tramp
> :ensure t
> :pin "GNU_ELPA"))
Well, ’use-package’ does lazy evaluations if I remember correctly. So
why do you explicitly ’require’ it just after?
> (require 'tramp)
AFAIU, it should be better to do:
(use-package tramp
:ensure t
:defer t
:pin “GNU_ELPA
:init
;; eval at init time
:config
;; eval at use time
;; your TRAMP config
(setq tramp-remote-path …)
…)
or to add ’emacs-tramp’ to your manifest.scm file and then write:
(with-eval-after-load ’tramp
;; your TRAMP config
(setq tramp-remote-path …)
…)
(Note I do not know about TRAMP, so maybe ’tramp-remote-path’ should be
evaluated at init time and not at use time. Aside the fact that TRAMP
is part of vanilla Emacs, AFAICT.)
> (unless (require 'guix-emacs nil 'noerror)
> (use-package org
> :mode (("\\.org$" . org-mode))
> :ensure org-plus-contrib
> :pin org))
[...]
> (require 'org-id)
> (require 'org-toc)
> (require 'org-tempo)
Because of this mess about evaluating order, I am not sure this is
correct. Instead, you should write something like:
(use-package org
…
:config
(require 'org-tempo))
or instead the ’(require 'org-tempo)’ in your init.el, something like:
(use-package org-tempo
:ensure t
:defer t
:after org)
From my understanding, you are misusing ’use-package’. Or you could
rewrite:
(with-eval-after-load 'org
(require 'org-tempo))
(And I am personally doing that.)
Last, your starting time should be pretty long, right? Hum? IMHO, it
could be really faster if you use ’with-eval-after-load’ or
’(use-package foo :defer t …)’ and so enjoy the speedup by “lazy”
evaluation.
> ;; This file is automatically generated via init.org
> ;; PLEASE do not edit this, edit init.org
> (specifications->manifest
> '("gs-fonts"
> "font-dejavu"
> "font-gnu-freefont"
> "unicode-emoji"
> "emacs"
> "emacs-emojify"
And you have ’(use-package emojify :ensure t)’, it appears to me a bad
idea. And I am pretty sure that leads to issues. Choose if the
packages come from ELPA&co _or_ Guix, IMHO.
> ))
I could have misread, but no ’emacs-use-package’.
Hope that helps,
simon
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-09-29 19:44 ` zimoun
2020-10-02 18:08 ` Giovanni Biscuolo
@ 2020-10-04 17:21 ` Giovanni Biscuolo
2020-10-04 17:37 ` Maxim Cournoyer
1 sibling, 1 reply; 16+ messages in thread
From: Giovanni Biscuolo @ 2020-10-04 17:21 UTC (permalink / raw)
To: zimoun; +Cc: Maxim Cournoyer, 43243
[-- Attachment #1: Type: text/plain, Size: 1868 bytes --]
Hello,
I resolved this issue: (obviously) It was my fault, please see below.
zimoun <zimon.toutoune@gmail.com> writes:
[...]
> 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.
This sentence slowly guided me to the solution: I still had
~/.emacs.d/elpa and after I deleted that, the initial error reported in
this bug disappeared, with another one I discovered later.
AFAIU the error was triggered by the fact that my Emacs (on foreign
distro) was still loading some old code from ~/.emacs.d/elpa, installed
using use-package (mixed with Debian packages in some case) before I
migrated to Guix Emacs.
All this confusion comes from the fact that before upgrading to 27.1 I
was using the same version (26.3) installed from Debian and then
migrated to Guix: this way, apart some strange warning I fully
understand only today, my Emacs Guix was running fine as before. So
when I upgraded I misintepreted the situation as coming from some
problem of elfeed-org with 27.1.
Probably we should add a warning in our manual to avoid other users on
foreign distros will get in similar situations: I'd like to help but I'm
not sure I'll be able to find the right words.
Simon: about my strange use of
--8<---------------cut here---------------start------------->8---
(unless (require 'guix-emacs nil 'noerror)
(use-package
--8<---------------cut here---------------end--------------->8---
I think is a tengent here, so if you agree I'd discuss it on guix-users
(IMHO is OT on guix-devel).
Re. this bug, I think the situation is clear now and if you agree I'd
close it.
Thanks a lot! Emacs-Fu panda Gio'
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-10-04 17:21 ` bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void Giovanni Biscuolo
@ 2020-10-04 17:37 ` Maxim Cournoyer
2020-10-05 12:57 ` Giovanni Biscuolo
0 siblings, 1 reply; 16+ messages in thread
From: Maxim Cournoyer @ 2020-10-04 17:37 UTC (permalink / raw)
To: Giovanni Biscuolo; +Cc: 43243-done
Hello Giovanni,
Giovanni Biscuolo <g@xelera.eu> writes:
> Hello,
>
> I resolved this issue: (obviously) It was my fault, please see below.
>
> zimoun <zimon.toutoune@gmail.com> writes:
>
> [...]
>
>> 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.
>
> This sentence slowly guided me to the solution: I still had
> ~/.emacs.d/elpa and after I deleted that, the initial error reported in
> this bug disappeared, with another one I discovered later.
>
> AFAIU the error was triggered by the fact that my Emacs (on foreign
> distro) was still loading some old code from ~/.emacs.d/elpa, installed
> using use-package (mixed with Debian packages in some case) before I
> migrated to Guix Emacs.
As with other things Guix, mix and match of ad-hoc package management
(e.g., Emacs' native package management) and Guix can cause conflicts.
There is not always a clear solution to these problems.
I don't use Emacs' native package management facility, but if it clashes
with our own use of EMACSLOADPATH and site-start.el, it could be work
looking into (as a fresh bug).
I'll close this one for now.
Thanks!
Maxim
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-10-04 17:37 ` Maxim Cournoyer
@ 2020-10-05 12:57 ` Giovanni Biscuolo
2020-10-05 13:45 ` zimoun
0 siblings, 1 reply; 16+ messages in thread
From: Giovanni Biscuolo @ 2020-10-05 12:57 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: 43243-done
[-- Attachment #1: Type: text/plain, Size: 1084 bytes --]
Hello,
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
[...]
>> AFAIU the error was triggered by the fact that my Emacs (on foreign
>> distro) was still loading some old code from ~/.emacs.d/elpa, installed
>> using use-package (mixed with Debian packages in some case) before I
>> migrated to Guix Emacs.
>
> As with other things Guix, mix and match of ad-hoc package management
> (e.g., Emacs' native package management) and Guix can cause conflicts.
> There is not always a clear solution to these problems.
I think the only conflicting code was coming from ~/.emacs.d/elpa and I
did not realized this until yesterday. I still do not fully understad
what is the config option in my init.el loading that code, but it's
tangent here.
> I don't use Emacs' native package management facility, but if it clashes
> with our own use of EMACSLOADPATH and site-start.el, it could be work
> looking into (as a fresh bug).
AFAIU this is not happening.
> I'll close this one for now.
Thanks! Gio'
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
2020-10-05 12:57 ` Giovanni Biscuolo
@ 2020-10-05 13:45 ` zimoun
0 siblings, 0 replies; 16+ messages in thread
From: zimoun @ 2020-10-05 13:45 UTC (permalink / raw)
To: Giovanni Biscuolo; +Cc: 43243-done, Maxim Cournoyer
On Mon, 5 Oct 2020 at 14:57, Giovanni Biscuolo <g@xelera.eu> wrote:
> >> AFAIU the error was triggered by the fact that my Emacs (on foreign
> >> distro) was still loading some old code from ~/.emacs.d/elpa, installed
> >> using use-package (mixed with Debian packages in some case) before I
> >> migrated to Guix Emacs.
> >
> > As with other things Guix, mix and match of ad-hoc package management
> > (e.g., Emacs' native package management) and Guix can cause conflicts.
> > There is not always a clear solution to these problems.
>
> I think the only conflicting code was coming from ~/.emacs.d/elpa and I
> did not realized this until yesterday. I still do not fully understad
> what is the config option in my init.el loading that code, but it's
> tangent here.
Each time you have
'(use-package foo :ensure t)'
and
'(specifications->manifest (list "emacs-foo"))'
then it is conflicting. Please re-read this message [1].
The option in your init.el loading that code is ':ensure t'. See:
"The :ensure keyword causes the package(s) to be installed
automatically if not already present on your system:"; from the
'use-package' documentation [2].
[1] <http://issues.guix.gnu.org/43243#10>
[2] <https://github.com/jwiegley/use-package#package-installation>
All the best,
simon
^ permalink raw reply [flat|nested] 16+ messages in thread
* Emacs config for "traditional" or Guix environment?
2020-10-03 12:40 ` zimoun
@ 2020-10-06 9:46 ` Giovanni Biscuolo
0 siblings, 0 replies; 16+ messages in thread
From: Giovanni Biscuolo @ 2020-10-06 9:46 UTC (permalink / raw)
To: zimoun; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 4301 bytes --]
Hello Simon,
thank you for your patience and tips!
This is a follow-up of things discussed in bug#43243 (now resolved). I'm
posting this to help-guix in case someone finds it useful.
This is a *very* quick summary of my bug report: I had a strange error
with elfeed-org and after some investigation I realized I was still
using old packages loaded from my ~/.emacs.d/elpa directory, installed
using "use-package" before migrating to Guix's Emacs; I removed that
directory and all is running as before.
During the investigation I sent my redacted init.el, Simon commented
it. The following is my follow-up.
zimoun <zimon.toutoune@gmail.com> writes:
> Dear,
>
> On Fri, 02 Oct 2020 at 20:08, Giovanni Biscuolo <g@xelera.eu> wrote:
[...]
>> ;; -*- mode: emacs-lisp -*-
>> (unless (require 'guix-emacs nil 'noerror)
>> (package-initialize))
>> (unless (require 'guix-emacs nil 'noerror)
>> ;; package archives
>> (when (>= emacs-major-version 24)
>> (require 'package)
>> (setq package-archives
>> '(("GNU_ELPA" . "https://elpa.gnu.org/packages/")
>> ("org" . "https://orgmode.org/elpa/")
>> ("MELPA_Stable" . "https://stable.melpa.org/packages/")
>> ("MELPA" . "https://melpa.org/packages/"))
>> package-archive-priorities
>> '(("GNU_ELPA" . 15)
>> ("org" . 10)
>> ("MELPA_Stable" . 5)
>> ("MELPA" . 0)))))
>
> From my experience, I do not mix packages from Emacs archives and from
> Guix because it often leads to weirdness –– unexpected behaviour at
> least…
Yes I perfectly understand that: *never* mix packages.
What you see (and still I am using) is my attempt for a smooth migration
from my "Debian+use-package" Emacs installation to a pure Guix one;
since I'm using the same environment (packages+config) on all my
machines *and* I'm quite conservative I wanted a configuration that
"Just Worked" in all my environments (via git controlled dotfolder).
This "multi enviroment" trick was suggested by a smart Emacs user:
--8<---------------cut here---------------start------------->8---
(if (require 'guix-emacs nil 'noerror)
; Code for Guix Emacs
; Code for non-Guix Emacs
)
--8<---------------cut here---------------end--------------->8---
and I adapted it to my needs without actually fully understand how it
works :-O
...and it actually worked during my transition to a full Guix Emacs
install, being a transition from a Debian+use-package 26.3 to the same
version on Guix.
Anyway, as far as I see, my current usage of "(unless (require
'guix-emacs nil 'noerror)..." actually prevents any code to be evaluated
in my Guix Emacs environment.
> Personally, I have removed the use of all the ‘package.el’
> functions and only use packages ’emacs-*’ from Guix and then configure
> them using ’with-eval-after-load’.
I'm considering this, also, since now I do not need my old "multi env"
config anymore and I like simple and clean solutions, easier to
debug. Guix is the solution to package management, I migrated, forget
the past. Full stop. :-D
[...]
> (Note I do not know about TRAMP, so maybe ’tramp-remote-path’ should be
> evaluated at init time and not at use time. Aside the fact that TRAMP
> is part of vanilla Emacs, AFAICT.)
Yes it is part of vanilla Emacs but the upstream author suggested me to
install the upstream version, that solved an issue I had with /adb:/ on
26.3 vanilla Emacs from Guix.
[...]
> From my understanding, you are misusing ’use-package’. Or you could
> rewrite:
>
> (with-eval-after-load 'org
> (require 'org-tempo))
>
> (And I am personally doing that.)
[...]
> Last, your starting time should be pretty long, right? Hum? IMHO, it
> could be really faster if you use ’with-eval-after-load’ or
> ’(use-package foo :defer t …)’ and so enjoy the speedup by “lazy”
> evaluation.
Thank you, I'll study with-eval-after-load.
Fast starting time is absolutely not a priority for me, I usually use
Emacs in daemon mode for several days... but it surely helps.
[...]
Thanks a lot! Giovanni.
--
Giovanni Biscuolo
Xelera IT Infrastructures
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2020-10-06 9:48 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-06 14:43 bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void Giovanni Biscuolo
2020-09-06 15:45 ` Giovanni Biscuolo
2020-09-28 3:07 ` Maxim Cournoyer
2020-09-28 8:18 ` Giovanni Biscuolo
2020-09-29 13:47 ` Maxim Cournoyer
2020-09-29 18:12 ` Giovanni Biscuolo
2020-09-29 19:44 ` zimoun
2020-10-02 18:08 ` Giovanni Biscuolo
2020-10-02 19:27 ` Giovanni Biscuolo
2020-10-03 8:11 ` Giovanni Biscuolo
2020-10-03 12:40 ` zimoun
2020-10-06 9:46 ` Emacs config for "traditional" or Guix environment? Giovanni Biscuolo
2020-10-04 17:21 ` bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void Giovanni Biscuolo
2020-10-04 17:37 ` Maxim Cournoyer
2020-10-05 12:57 ` Giovanni Biscuolo
2020-10-05 13:45 ` zimoun
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.