GNU bug report logs - #45068
[PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible)

Previous Next

Package: emacs;

Reported by: Protesilaos Stavrou <info <at> protesilaos.com>

Date: Sun, 6 Dec 2020 12:25:02 UTC

Severity: normal

Tags: patch

Fixed in version 28.1

Done: "Basil L. Contovounesios" <contovob <at> tcd.ie>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Protesilaos Stavrou <info <at> protesilaos.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: contovob <at> tcd.ie, info <at> protesilaos.com, juri <at> linkov.net, Stefan Kangas <stefankangas <at> gmail.com>, 45068 <at> debbugs.gnu.org
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
On 2020-12-11, 22:14 +0200, Eli Zaretskii <eliz <at> gnu.org> wrote:

>> From: Stefan Kangas <stefankangas <at> gmail.com>
>> Date: Fri, 11 Dec 2020 13:08:19 -0600
>> Cc: juri <at> linkov.net, contovob <at> tcd.ie, 45068 <at> debbugs.gnu.org
>> 
>> Eli Zaretskii <eliz <at> 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




This bug report was last modified 4 years and 135 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.