From: zimoun <zimon.toutoune@gmail.com>
To: Giovanni Biscuolo <g@xelera.eu>
Cc: 43243@debbugs.gnu.org
Subject: bug#43243: emacs-elfeed-org, mapc: Symbol’s function definition is void
Date: Sat, 03 Oct 2020 14:40:51 +0200 [thread overview]
Message-ID: <86o8ljeb3g.fsf@gmail.com> (raw)
In-Reply-To: <87sgawv6ur.fsf@roquette.i-did-not-set--mail-host-address--so-tickle-me> (Giovanni Biscuolo's message of "Fri, 02 Oct 2020 20:08:12 +0200")
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
next prev parent reply other threads:[~2020-10-03 12:42 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2020-10-04 17:21 ` Giovanni Biscuolo
2020-10-04 17:37 ` Maxim Cournoyer
2020-10-05 12:57 ` Giovanni Biscuolo
2020-10-05 13:45 ` zimoun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86o8ljeb3g.fsf@gmail.com \
--to=zimon.toutoune@gmail.com \
--cc=43243@debbugs.gnu.org \
--cc=g@xelera.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).