unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
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




  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).