Subject: Re: [bug#28832] [PATCH 1/3] gnu: Add emacs-json-reformat.

From: Oleg Pykhalov <[email-masked]>
Date: Wed, 20 Dec 2017 06:26:54 +0300

Alex Kost <[email-masked]> writes:

> and I would make it more robust: there is a
> problem with this code: (string-drop "geiser" 6) does not return what
> you mean

Yes, because "geiser" differs from most of Emacs packages:

    ls /gnu/store/7rl2k8ismmyq9ic6ha6vzv38a3hrrni2-emacs-dash-2.13.0/share/emacs/site-lisp/guix.d/dash-2.13.0/
    dash-autoloads.el  dash.el  dash.elc  dash-functional.el  dash-functional.elc

    ls /gnu/store/7lh77fmapmjjv3kj2q69dy58kjniw9am-geiser-0.9/share/emacs/site-lisp/
    geiser-autodoc.el    geiser-chibi.elc	…

Maybe we just need to fix "geiser"?

> , and (string-drop "dash" 6) errors!

Do you really mean emacs-dash or dash?  For me both succeeded.

As I see emacs-dash is OK, except "emacs-minimal" in EMACSLOADPATH.
Here is a log-file with DEBUG-INPUTS:

> I think we shouldn't rely on the assumption that all emacs inputs have
> "emacs-" prefix

Then, how to determine that a package is Emacs package?

> , so I think
> this procedure should check whether the input name begins with "emacs-"
> before trying to remove this substring.
>> +                                     "-" version))
>> +                                  name+version)
>> +                         input)))))
>> +            (fold alist-delete (emacs-inputs inputs) '("emacs" "source")))
>
> Since you already take only emacs inputs, is it really needed to remove
> "emacs" and "source"?  I mean emacs inputs do not contain "emacs" and
> "source" anyway, right?

emacs inputs contain "emacs-minimal" and "source".  So we actually need
to remove "emacs-minimal" instead "emacs".

    (emacs-inputs '(("emacs" . "/gnu/store/g1ldcr600kmdf2n1gsphk04hm30jr4bn-emacs-25.3")
                    ("emacs-minimal" . "/gnu/store/p4smq1mw13lmpkdbs59d7w827hy7mvgy-emacs-minimal-25.3")
                    ("emacs-dash" . "/gnu/store/dn7mygbi0pm985lz6qc64fsaz9f8zmfi-emacs-dash-2.13.0")
                    ("emacs-shut-up" . "/gnu/store/k0zddbwfwpdgj1ih2ypl50n09dfxhq1f-emacs-shut-up-0.3.2")
                    ("emacs-undercover" . "/gnu/store/ypcyxb3wpqlnf962k8ygp5csr6cmi6w3-emacs-undercover-0.6.0")
                    ("source" . "/gnu/store/gyxjrmhk4xqd8r78blxb92f9xc1z92fr-emacs-pos-tip-0.4.6.tar.gz")))

    (("emacs-minimal" . "/gnu/store/p4smq1mw13lmpkdbs59d7w827hy7mvgy-emacs-minimal-25.3")
     ("emacs-dash" . "/gnu/store/dn7mygbi0pm985lz6qc64fsaz9f8zmfi-emacs-dash-2.13.0")
     ("emacs-shut-up" . "/gnu/store/k0zddbwfwpdgj1ih2ypl50n09dfxhq1f-emacs-shut-up-0.3.2")
     ("emacs-undercover" . "/gnu/store/ypcyxb3wpqlnf962k8ygp5csr6cmi6w3-emacs-undercover-0.6.0")
     ("source" . "/gnu/store/gyxjrmhk4xqd8r78blxb92f9xc1z92fr-emacs-pos-tip-0.4.6.tar.gz"))

Thanks,
Oleg.