unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Richard M. Stallman" <rms@gnu.org>
Cc: abraham@dina.kvl.dk, emacs-devel@gnu.org
Subject: Re: More bugs in Custom themes
Date: Mon, 11 Jul 2005 01:34:58 -0400	[thread overview]
Message-ID: <E1DrqwU-0007fi-Pl@fencepost.gnu.org> (raw)
In-Reply-To: <200507060332.j663WlA21625@raven.dms.auburn.edu> (message from Luc Teirlinck on Tue, 5 Jul 2005 22:32:47 -0500 (CDT))

       but I think we already discussed the proper conflict resolution
       method.  What I suggested was that the themes are listed in an order,
       and later themes override earlier themes.

    It is a little bit more complex than that.  The user can enable or
    disable themes, save options through Custom, set them through Custom,
    reset them to standard through Custom and change them using setq.

I suggest that it will be easy to figure out what to do in each of these
cases if we keep in mind the order of priority that these various
actions ought to obey:

   Individual user custom settings.
   Settings from themes (in reverse order of precedence)
   Default values.

As for settings with setq, those should make the variable a rogue, as
now.  When the variable is a rogue, theme operations should not touch
it.

      When the
    option has been set by a theme, the current code says that it has been
    "Saved and set".  I believe that this is unhelpful and confusing and
    that it should say instead that it has been set by a theme, preferably
    saying which theme.

I agree.  I don't think that should be TOO hard.

       Disabling any of the themes works by getting rid of all of them,
       then reloading the ones that remain enabled.

    To me, that seems to be a contorted way to do it.

It is more work for the computer than necessary, but that's what
computers are for.  I proposed this because it should be easy to
implement with simple code.  Thus, we can get it working easily.

However, looking at the code for custom-do-theme-reset, it seems
that I don't have to do much work to make it work right
without reloading loaded themes.  All the data is available
in the theme-value properties.   I just have to rewrite the code
to DTRT in each case.  I've done some of that already.

      Also, do not forget
    that when the user asks to disable a theme, the value you want to
    restore will sometimes be a setq-ed value, thus not associated with any
    theme,

In the scheme as I've proposed it, that cannot happen.

  reply	other threads:[~2005-07-11  5:34 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-30  1:52 More bugs in Custom themes Luc Teirlinck
2005-06-30 21:30 ` Richard M. Stallman
2005-07-01  1:04   ` Luc Teirlinck
2005-07-02 12:33     ` Richard M. Stallman
2005-07-02 13:46       ` David Kastrup
2005-07-03  1:55       ` Luc Teirlinck
2005-07-04  6:16         ` Richard M. Stallman
2005-07-03  2:15       ` Luc Teirlinck
2005-07-05  4:35         ` Richard M. Stallman
2005-07-06  2:39           ` Luc Teirlinck
2005-07-06  3:32           ` Luc Teirlinck
2005-07-11  5:34             ` Richard M. Stallman [this message]
2005-07-11  5:35             ` Richard M. Stallman
2005-07-25  1:04               ` Luc Teirlinck
2005-07-25 11:53                 ` Per Abrahamsen
2005-07-25 13:10                 ` Richard M. Stallman

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://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1DrqwU-0007fi-Pl@fencepost.gnu.org \
    --to=rms@gnu.org \
    --cc=abraham@dina.kvl.dk \
    --cc=emacs-devel@gnu.org \
    /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/emacs.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).