unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Luc Teirlinck <teirllm@dms.auburn.edu>
Cc: cyd@stupidchicken.com, emacs-devel@gnu.org
Subject: Re: Bug, probably related to Custom Themes.
Date: Thu, 22 Dec 2005 22:04:25 -0600 (CST)	[thread overview]
Message-ID: <200512230404.jBN44PW18269@raven.dms.auburn.edu> (raw)
In-Reply-To: <E1EpJIL-0006Vm-Ii@fencepost.gnu.org> (rms@gnu.org)

       Loading a theme means installing a new set of defaults.  "Erase
       Customization" should restore the theme value.  If the user wants the
       no-themes default, he should set and save bar in a Custom buffer to
       the no-themes default, thereby making the no-theme default the user
       theme value which explicitly overrides any theme, present or future.
       That is the only way one can be consistent.

   I agree.

   In what way does the current behavior differ from that?

After some checking, things are really bad.  The behavior is that with
_and_ without my patch, "Erase Customization" resets to the no-theme
default _for the current session_.  Hence my patch does not completely
fix the bug.

I suggest that, until a real fix would be installed (which will take
time), we install my patch anyway, because it will at least prevent
CVS user's .emacs from getting messed up (_even_ if they use no
themes).  My patch will be part of any real fix anyway, it just is not
the complete fix.  For people who do not use themes, it _is_ a
complete fix.

The "Themes" code is completely and hopelessly messed up.  It needs to
be rewritten from scratch.  Themes should change the standard-value
property, not the saved-value one, since they change the default
values.  There should be no user "theme", but there probably should be a
standard theme.  The "Themes" code should not try to rewrite cus-edit.
If `load-theme' and `disable-theme' correctly update the
standard-value, there is no need for Custom to know anything about
themes.  Except for one thing: there needs to be a "theme" custom
state, just to tell the user in a Custom buffer that the value was set
by a theme (other than the standard theme).  `load-theme' and
'disable-theme' should keep track of that, Custom should not have to
worry about it.  If the user uses no themes, the "Themes" code should
not be loaded at all.

This way, you do not need to understand the Themes code to understand
the Custom code (which hence gets more transparent) and bugs in the
Themes code can never mess up all of Custom.

The Themes code itself would be a lot simpler than the contorted
current mess, which nobody is able to understand and which does not
work.

For Themes to be able to handle hooks and list-vars in any
satisfactory way, the bugs in Custom concerning hooks and list-vars
would need to be fixed.

I believe that trying to fix the current Themes code is hopeless.  It
_needs_ to be rewritten from scratch.  Either we should delay
introduction of Themes until Emacs 23 (this is what I personally
recommend), or we should completely rewrite it (and probably fix the
hook bugs in Custom too) before the release.  If we want to do the
latter, we are talking about at the very least six months before a
pretest could start, probably more than a year.

Sincerely,

Luc.

  parent reply	other threads:[~2005-12-23  4:04 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-21  2:54 Bug, probably related to Custom Themes Luc Teirlinck
2005-12-21 18:31 ` Chong Yidong
2005-12-21 18:40   ` Luc Teirlinck
2005-12-21 21:12     ` Chong Yidong
2005-12-21 22:58       ` Luc Teirlinck
2005-12-22  5:47         ` Richard M. Stallman
2005-12-23  0:20           ` Luc Teirlinck
2005-12-23  4:04           ` Luc Teirlinck [this message]
2005-12-23  4:26           ` Luc Teirlinck
2005-12-23 18:12             ` Richard M. Stallman
2005-12-23 19:38               ` Luc Teirlinck
2005-12-23 20:22                 ` Chong Yidong
2005-12-23 23:18               ` Luc Teirlinck
2005-12-23 23:21                 ` Luc Teirlinck
2005-12-24  1:50                 ` Chong Yidong
2005-12-24  1:53                   ` Luc Teirlinck
2005-12-24  2:03                   ` Luc Teirlinck
2005-12-24  4:11                     ` Chong Yidong
2005-12-24 16:33                     ` Richard M. Stallman
2006-01-02  1:49                       ` Luc Teirlinck
2005-12-24  2:35                   ` Luc Teirlinck
2005-12-24  4:05                     ` Chong Yidong
2005-12-24 16:33                 ` Richard M. Stallman
2005-12-24 17:14                   ` Luc Teirlinck
2005-12-24 21:18                   ` Luc Teirlinck
2005-12-25 19:06                     ` Richard M. Stallman
2005-12-25 19:38                       ` Drew Adams
2005-12-26  6:22                         ` Luc Teirlinck
2005-12-26 18:43                         ` Richard M. Stallman
2005-12-25 20:34                       ` Chong Yidong
2005-12-26 18:43                         ` Richard M. Stallman
2005-12-23  5:03           ` Luc Teirlinck
2005-12-21 19:03   ` Luc Teirlinck
2005-12-21 19:08   ` Luc Teirlinck
2005-12-21 19:59   ` David Kastrup
2005-12-21 21:19 ` Chong Yidong
2005-12-21 22:19   ` Luc Teirlinck
2005-12-22  3:50     ` Chong Yidong
2005-12-22  3:51       ` Luc Teirlinck
2005-12-22  3:57         ` Chong Yidong
2005-12-22  5:14           ` Luc Teirlinck
2005-12-22 17:51           ` Richard M. Stallman
2005-12-23  0:29             ` Luc Teirlinck
2005-12-24  2:36               ` Richard M. Stallman
2005-12-24  2:49                 ` Alfred M. Szmidt
2005-12-24  4:19                   ` Chong Yidong
2005-12-24  4:55                     ` Luc Teirlinck
2005-12-24  7:04                       ` Chong Yidong
2005-12-25  2:52                     ` Richard M. Stallman
2005-12-25 23:43                     ` Kim F. Storm
2005-12-25  2:51                   ` Richard M. Stallman
2005-12-25  3:24                     ` Luc Teirlinck
2006-01-02 15:03                       ` Richard M. Stallman
2006-01-02 15:38                         ` Chong Yidong
2006-01-02 20:26                         ` Luc Teirlinck
2006-01-02 22:11                           ` Lennart Borgman
2006-01-03 16:25                           ` Richard M. Stallman
2006-01-03 19:07                             ` Luc Teirlinck
2006-01-04 17:58                             ` Reset buttons in Customize (Was: Bug, probably related to Custom Themes.) Chong Yidong
2006-01-04 19:03                               ` Giorgos Keramidas
2006-01-04 19:31                                 ` Reset buttons in Customize David Kastrup
2006-01-04 19:31                               ` Reset buttons in Customize (Was: Bug, probably related to Custom Themes.) Luc Teirlinck
2006-01-04 20:00                                 ` Reset buttons in Customize Chong Yidong
2006-01-04 20:16                                   ` Lennart Borgman
2006-01-04 20:45                                   ` Luc Teirlinck
2006-01-04 20:51                                     ` Chong Yidong
2006-01-04 21:04                                       ` Luc Teirlinck
2006-01-04 21:20                                         ` Chong Yidong
2006-01-04 21:20                                           ` Luc Teirlinck
2006-01-04 21:28                                             ` Chong Yidong
2006-01-04 21:34                                               ` Luc Teirlinck
2006-01-05  1:50                                   ` Luc Teirlinck
2006-01-04 20:25                               ` Reset buttons in Customize (Was: Bug, probably related to Custom Themes.) Luc Teirlinck
2006-01-04 21:27                                 ` Reset buttons in Customize Chong Yidong
2006-01-05  0:32                                   ` Luc Teirlinck
2006-01-04 21:39                               ` Reset buttons in Customize (Was: Bug, probably related to Custom Themes.) Drew Adams
2006-01-05 16:35                                 ` Richard M. Stallman
2006-01-05  1:35                               ` Luc Teirlinck
2006-01-05 15:50                               ` Reset buttons in Customize David Kastrup
2006-01-05 23:10                               ` Reset buttons in Customize (Was: Bug, probably related to Custom Themes.) Richard M. Stallman
2006-01-06  5:51                               ` Reset buttons in Customize Bill Wohler
2006-01-07 21:03                                 ` Luc Teirlinck
2006-01-08  3:54                                 ` Luc Teirlinck
2006-01-08  4:01                                   ` Bill Wohler
2006-01-08  4:05                                     ` Luc Teirlinck
2006-01-08 10:19                                     ` David Kastrup
2006-01-09 11:24                                       ` Kim F. Storm
2006-01-08  4:24                                   ` Luc Teirlinck
2006-01-09  0:52                                   ` Richard M. Stallman
2006-01-09  4:26                                     ` Luc Teirlinck
2006-01-10  2:02                                       ` Luc Teirlinck
2006-01-10  4:54                                         ` Luc Teirlinck
2006-01-10  5:14                                           ` Luc Teirlinck
2006-01-11  0:49                                             ` Richard M. Stallman
2006-01-11  1:14                                               ` Luc Teirlinck
2006-01-11  3:27                                                 ` David Kastrup
2006-01-11  4:05                                                   ` Luc Teirlinck
2006-01-11 15:18                                                   ` Richard M. Stallman
2006-01-12  2:56                                                     ` Luc Teirlinck
2006-01-12 18:24                                                       ` Richard M. Stallman
2006-01-12 15:11                                                 ` Richard M. Stallman
2006-01-12 23:12                                                   ` Luc Teirlinck
2006-01-10  5:23                                           ` Bill Wohler
2006-01-10 17:53                                             ` Luc Teirlinck
2006-01-10 18:23                                               ` Bill Wohler
2006-01-10 22:08                                                 ` Luc Teirlinck
2006-01-11 13:56                                                   ` Richard M. Stallman
2006-01-02 20:42                         ` Bug, probably related to Custom Themes Luc Teirlinck
2006-01-05  1:31                         ` Luc Teirlinck
2005-12-22  5:46   ` 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=200512230404.jBN44PW18269@raven.dms.auburn.edu \
    --to=teirllm@dms.auburn.edu \
    --cc=cyd@stupidchicken.com \
    --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).