Skip to content

Conversation

@tarsius
Copy link
Contributor

@tarsius tarsius commented Dec 9, 2022

This replaces #63. Also discussed at melpa/melpa#821. Edit: Sorry linked wrong issue. I meant melpa/melpa#8219.

Every package should provide a library whose name matches that of the
package. This allows tools, such as those used by Melpa, to extract
metadata.

At the same time every library named "...-theme.el" must itself
implement a theme because load-theme unfortunately assumes that
every file on custom-theme-load-path with such a name actually
provides a theme. If it encounters files that to not provide a theme
but are never-the-less named "...-theme.el", then it falsely offers
those as themes, and trying to activate them will result in errors.

Furthermore, since this package provides multiple themes, it makes
sense to give it a name that suggests so.

Unfortunately package.el does not (yet?) support informing the user
about package renames or even automatically updating to the new name,
so some users will not notice this rename for a while. Add a note
at the beginning of the readme, in the hope that will help at least
some users.

Every package should provide a library whose name matches that of the
package.  This allows tools, such as those used by Melpa, to extract
metadata.

At the same time every library named "*-theme.el" must itself
implement a theme because `load-theme' unfortunately assumes that
every file on `custom-theme-load-path' with such a name actually
provides a theme.  If it encounters files that to not provide a theme
but are never-the-less named "*-theme.el", then it falsely offers
those as themes, and trying to activate them will result in errors.

Furthermore, since this package provides multiple themes, it makes
sense to give it a name that suggests so.

Unfortunately package.el does not (yet?) support informing the user
about package renames or even automatically updating to the new name,
so some users will not notice this rename for a while.  Add a note
at the beginning of the readme, in the hope that will help at least
some users.
tarsius added a commit to emacsmirror/spacemacs-theme that referenced this pull request Dec 9, 2022
[emacsmirror] This patch is being rebased on the Emacsmirror.
This package should be named `spacemacs-themes' because it provides
more than one theme.  But upstream calls it `spacemacs-theme' and
Melpa and Emacsmirror will continue to use that name as well, until
it is fixed upstream.  The file "spacemacs-theme.el" is added only
so we can extract metadata from the (currently) expected place.
A stub "spacemacs-common.el" file is only preserved until upstream
merges the name change because "ewal" requires it.  Once the pr is
merged I will create a pr for "ewal" to address this.

nashamri#199

Original commit message, submitted to upstream:

Use plural in package name and add matching library

Every package should provide a library whose name matches that of the
package.  This allows tools, such as those used by Melpa, to extract
metadata.

At the same time every library named "*-theme.el" must itself
implement a theme because `load-theme' unfortunately assumes that
every file on `custom-theme-load-path' with such a name actually
provides a theme.  If it encounters files that to not provide a theme
but are never-the-less named "*-theme.el", then it falsely offers
those as themes, and trying to activate them will result in errors.

Furthermore, since this package provides multiple themes, it makes
sense to give it a name that suggests so.

Unfortunately package.el does not (yet?) support informing the user
about package renames or even automatically updating to the new name,
so some users will not notice this rename for a while.  Add a note
at the beginning of the readme, in the hope that will help at least
some users.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant