From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Eliminating "changed in Emacs outside of Customize" Date: Tue, 25 Jan 2005 19:03:29 -0500 Message-ID: Reply-To: rms@gnu.org NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1106698703 1230 80.91.229.6 (26 Jan 2005 00:18:23 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 26 Jan 2005 00:18:23 +0000 (UTC) Cc: Drew Adams , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jan 26 01:18:14 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1Ctasw-0002HQ-00 for ; Wed, 26 Jan 2005 01:18:14 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ctb5E-0003in-1x for ged-emacs-devel@m.gmane.org; Tue, 25 Jan 2005 19:30:56 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ctb2p-0002u0-RH for emacs-devel@gnu.org; Tue, 25 Jan 2005 19:28:28 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ctb2j-0002qU-At for emacs-devel@gnu.org; Tue, 25 Jan 2005 19:28:24 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ctb2h-0002gO-Ve for emacs-devel@gnu.org; Tue, 25 Jan 2005 19:28:20 -0500 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Ctaga-00020e-9c for emacs-devel@gnu.org; Tue, 25 Jan 2005 19:05:28 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.34) id 1Ctaef-0002jK-Ss; Tue, 25 Jan 2005 19:03:29 -0500 Original-To: Per Abrahamsen X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:32554 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:32554 Could you tell us the reason why you designed Custom to recognize a state of "changed in Emacs outside of Customize"? It would be cleaner if we could just eliminate that, and make Custom treat values assigned outside Custom just the same as values assigned within Custom. Is there some reason why this would be hard to do or would cause trouble? Also, I second this request for more internal documentation of how Custom works. Can you write some explanations of this? It would help to have an overview explanation of what the possible customize states are, and what actions/events cause which state changes - IOW a state transition machine description. For instance, it would help to have a table of the correspondances (and state changes) between the various :custom-state values (hidden, customized, changed, modified, set, rogue, uknown, invalid, standard, nil) and the various symbol properties `customize-value', `customized-face', `saved-variable', `saved-value', `saved-face', `standard-value', `customized-variable', `customized-variable-comment', `backup-value', etc. And a little more explanation in `custom-magic-alist' would help - it's not clear, for instance, just which :custom-state's correspond to "changed outside Customize", or what the differences are between `set' ("set but not saved"), `changed' ("changed temporarily"), `modified' ("modified, and has a valid form"), and `invalid' ("modified, but has a valid form").