all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 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.