[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#45068: Patch for Modus themes 1.1.1? (was: bug#45068: [PATCH] 28.0.5
From: |
Protesilaos Stavrou |
Subject: |
bug#45068: Patch for Modus themes 1.1.1? (was: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible)) |
Date: |
Mon, 25 Jan 2021 10:49:46 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
On 2020-12-11, 22:14 +0200, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Stefan Kangas <stefankangas@gmail.com>
>> Date: Fri, 11 Dec 2020 13:08:19 -0600
>> Cc: juri@linkov.net, contovob@tcd.ie, 45068@debbugs.gnu.org
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> > . don't consider this a "theme", but a normal Lisp package (since it
>> > basically violates the conventions for writing a theme)
>>
>> I guess such violations of our old conventions are getting increasingly
>> common in (third-party) Emacs theme development.
>
> Then maybe the best way is to provide that require-theme function I
> proposed.
Hello again!
I have produced a newer version in the meantime. Though I understand
that a patch would not be able to be merged under the present
conditions. Should I prepare it regardless? This would also fix
bug#45141 pertaining to some formatting issues in modus-themes.texi.
To recapitulate for your convenience:
+ The current etc/themes/modus-{operandi,vivendi}-theme.el are old-style
themes in that they look like the rest of that directory's contents.
- They exist as standalone files. They do not require any library.
- All their face declarations are furnished therein.
- Their version is 0.13.0.
+ As of version 1.0.0 (and now 1.1.1) of the Modus themes, those two
files merely expand a macro and declare their respective theme. They
thus depend on a shared library: currently that is modus-themes.el.
- The library unifies the themes' defcustom declarations and, in
general, streamlines their development (before I would copy lines
from one to the other to ensure parity).
- This approach of a library and concomitant macro expansion is not in
line with the current design of etc/themes/, though as Stefan Kangas
observed, such deviations from the established norms are becoming
increasingly common in third-party packages.
A quick-and-dirty workaround would be to place the library in some other
path, such as lisp/modus-themes.el and keep the other two files were
they currently are: etc/themes/modus-{operandi,vivendi}-theme.el
This could, however, make the source code more difficult to understand.
It would also set a bad precedent for any possible future themes, as
this thread revealed. So Eli Zaretskii proposed a new 'require-theme'
function.
I believe this is how things stand.
For my part, I am willing to do whatever you consider necessary and will
follow your lead.
Thank you for your time and efforts!
Protesilaos or Prot
--
Protesilaos Stavrou
protesilaos.com
- bug#45068: Patch for Modus themes 1.1.1? (was: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible)),
Protesilaos Stavrou <=