From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: "CHANGED outside Customize" in frames customization group Date: Mon, 31 Dec 2007 12:04:37 +0100 Message-ID: <4778CCC5.1080407@gmx.at> References: <477616F3.8000003@gmx.at> <4777A62F.9080009@gmx.at> <4777E0F1.3080100@gmx.at> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1199099087 18384 80.91.229.12 (31 Dec 2007 11:04:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 31 Dec 2007 11:04:47 +0000 (UTC) Cc: emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Dec 31 12:05:00 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1J9IS4-0001MR-6U for ged-emacs-devel@m.gmane.org; Mon, 31 Dec 2007 12:05:00 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J9IRi-0006wD-EN for ged-emacs-devel@m.gmane.org; Mon, 31 Dec 2007 06:04:38 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J9IRe-0006ut-9Y for emacs-devel@gnu.org; Mon, 31 Dec 2007 06:04:34 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J9IRd-0006ts-5b for emacs-devel@gnu.org; Mon, 31 Dec 2007 06:04:33 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J9IRd-0006tY-0v for emacs-devel@gnu.org; Mon, 31 Dec 2007 06:04:33 -0500 Original-Received: from mail.gmx.net ([213.165.64.20]) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1J9IRc-0005y6-Cf for emacs-devel@gnu.org; Mon, 31 Dec 2007 06:04:32 -0500 Original-Received: (qmail invoked by alias); 31 Dec 2007 11:04:30 -0000 Original-Received: from N746P021.adsl.highway.telekom.at (EHLO [62.47.37.53]) [62.47.37.53] by mail.gmx.net (mp002) with SMTP; 31 Dec 2007 12:04:30 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX1+OOl9cNXKO3vSc1XWNiUTJvbJYoN8hZ+QixYjeK4 LvYlIHEr8wR4IO User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: de-DE, de, en-us, en In-Reply-To: X-Y-GMX-Trusted: 0 X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) 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: news.gmane.org gmane.emacs.devel:85727 Archived-At: > `frame-notice-user-settings' may set the value of `default-frame-alist' > overriding a saved or standard value. The value of `blink-cursor-mode' > is not reset by Emacs. > > Ok, but why does that matter for this issue? Because the "CHANGED outside Customize ..." state is (also) caused by that resetting operation in `frame-notice-user-settings'. Probably because actual and saved/standard value differ but I don't understand the customization code very well. > > Delete them in the customization buffer, save your settings, restart > > Emacs, and here they are again. > > > > That is arguably a bug, and maybe we should fix it. > > However, I do not see that this bug is so grave > > that we should conclude that `default-frame-alist' is > > unsuitable for use with Custom. > > The bug causes the "CHANGED outside Customize ..." state. > > Here's an idea. We can create a new variable > `command-args-frame-alist', and make the functions which obey > `default-frame-alist' use `command-args-frame-alist' too. > > Settings such as `menu-bar-lines', which are set by arguments and X > resources can go in `command-args-frame-alist', and would not affect > `default-frame-alist'. One consequence would be that the values > specified by command line options and X resources would override your > customizations. That seems correct. Do I understand you correctly that `frame-notice-user-settings' and `modify-all-frames-parameters' should set the `command-args-...' values (one for the initial and one for the default frame)? This would require a non-trivial reorganization of frame.el. Note that I was not looking into the command-line arguments and X resources issues yet. All I was concerned about so far were the implications of customizing tool-bar-mode, fringe-mode, ... > Customizing `fringe-mode' calls `modify-all-frames-parameters' which > sets `default-frame-alist'. I'm now told that `default-frame-alist' was > CHANGED outside Customize although all I actually did was _customizing_ > some option. > > The solution to that is just to inform Custom about the change, so it > will realize that the change to `default-frame-alist' was made within > Custom. > > It's just a bug, it just needs to be fixed. I wouldn't know how. If I simply set `default-frame-alist' in some "Custom" way I'll be told that there are unsaved changes. > > If the problem is in some detail of the behavior of Custom when it is > > used on `default-frame-alist', maybe we can fix that detail. > > For instance, maybe those other commands should do somethingto inform > > Custom of the changes, so that it looks like `default-frame-alist' > > was set using Custom. > > Suppose I set and save a new value for `fringe-mode'. Should Emacs > automatically set and save the new value for `default-frame-alist'? > > Maybe it should, but that would require a new Custom feature: > dependencies, "If you save `foo', always save `bar' too". And something similar for erasing customizations ... hardly feasible.