From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.help Subject: RE: custom-themes BAD? Date: Tue, 25 Feb 2014 14:19:00 -0800 (PST) Message-ID: <6ad3b28c-1539-441d-899d-d82651a5e69a@default> References: <87ppmaoqd2.fsf@motoko.kusanagi> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1393366760 2914 80.91.229.3 (25 Feb 2014 22:19:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 25 Feb 2014 22:19:20 +0000 (UTC) To: "W. Greenhouse" , help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Feb 25 23:19:28 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WIQLX-0007Up-N3 for geh-help-gnu-emacs@m.gmane.org; Tue, 25 Feb 2014 23:19:27 +0100 Original-Received: from localhost ([::1]:37302 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIQLX-000381-2z for geh-help-gnu-emacs@m.gmane.org; Tue, 25 Feb 2014 17:19:27 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46311) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIQLH-00037l-7O for help-gnu-emacs@gnu.org; Tue, 25 Feb 2014 17:19:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WIQLA-00059I-Ax for help-gnu-emacs@gnu.org; Tue, 25 Feb 2014 17:19:11 -0500 Original-Received: from userp1040.oracle.com ([156.151.31.81]:16433) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIQLA-00057Y-4b for help-gnu-emacs@gnu.org; Tue, 25 Feb 2014 17:19:04 -0500 Original-Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s1PMJ1FG016694 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 25 Feb 2014 22:19:02 GMT Original-Received: from userz7021.oracle.com (userz7021.oracle.com [156.151.31.85]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s1PMJ0sm028265 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Tue, 25 Feb 2014 22:19:01 GMT Original-Received: from abhmp0020.oracle.com (abhmp0020.oracle.com [141.146.116.26]) by userz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s1PMJ0m1028232; Tue, 25 Feb 2014 22:19:00 GMT In-Reply-To: <87ppmaoqd2.fsf@motoko.kusanagi> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 156.151.31.81 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:96204 Archived-At: > The by-default-cumulative behavior of themes is confusing to newbies, > but there is already `disable-theme'. `load-theme' does not normally > call `disable-theme' on the rest of `custom-enable-themes' prior to > loading a new one, but you could advice it to do so. See also M-x > customize-themes, which already is hooked up to enable one theme at a > time, removing others. As W. Greenhouse should know, `disable-theme', even applied to all custom themes that have ever been enabled in the session, does not restore customizations that were present before enabling any theme. I.e., it does not restore non-theme settings that enabling a theme wiped out. Put differently, you cannot "undo" the application of custom themes, to return to the state before applying a theme. You can only disable custom themes relative to each other - in general, you cannot fall back to a non-theme state. You can swap one custom theme for another, but any non-theme state before applying a custom theme is lost. For others, unfamiliar with the bug report: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D15687. (The bug title was inappropriately renamed - the bug is not particularly about variables.) IMO, this represents a major deficiency of custom themes compared to color themes (library `color-theme.el', http://www.nongnu.org/color-theme/). With color themes you can restore a pre-theme state. It is simple to take a snapshot of the current Emacs state as a new (pseudo) theme ([Reset]), and then return to it after enabling other themes. What is missing for custom themes, IMO, is the ability to take a snapshot of the current Emacs appearance as a theme. This, plus performance problems, mean that custom themes cannot yet replace color themes, in general. That's too bad; it would be great if they could. Custom themes do both more and less than color themes. (See bug #15740 about performance: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D15740.)