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: In defense of Customize [was: Trying to right-align my window on startup] Date: Thu, 30 Jan 2014 08:06:20 -0800 (PST) Message-ID: References: <3cec217d-8adb-4e6c-b239-eff0c8b520c9@googlegroups.com> <6hrwqhkjfv6.fsf@sap.com> <6hr38k5rd3n.fsf@sap.com> 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 1391098004 21729 80.91.229.3 (30 Jan 2014 16:06:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 30 Jan 2014 16:06:44 +0000 (UTC) To: Christoph Wedler , help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Jan 30 17:06:51 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 1W8u8g-0007iG-RC for geh-help-gnu-emacs@m.gmane.org; Thu, 30 Jan 2014 17:06:51 +0100 Original-Received: from localhost ([::1]:51008 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8u8g-00012G-2h for geh-help-gnu-emacs@m.gmane.org; Thu, 30 Jan 2014 11:06:50 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59223) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8u8O-000114-91 for help-gnu-emacs@gnu.org; Thu, 30 Jan 2014 11:06:39 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W8u8G-0006PJ-P7 for help-gnu-emacs@gnu.org; Thu, 30 Jan 2014 11:06:32 -0500 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:39778) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8u8G-0006PB-Iz for help-gnu-emacs@gnu.org; Thu, 30 Jan 2014 11:06:24 -0500 Original-Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s0UG6Mrw008364 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 30 Jan 2014 16:06:22 GMT Original-Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s0UG6LrC011333 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 30 Jan 2014 16:06:21 GMT Original-Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by userz7022.oracle.com (8.14.5+Sun/8.14.4) with ESMTP id s0UG6Ksj009196; Thu, 30 Jan 2014 16:06:20 GMT In-Reply-To: <6hr38k5rd3n.fsf@sap.com> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 141.146.126.69 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:95810 Archived-At: I don't disagree with most of what you write, Christoph. I do disagree that there needs to be a wall separating options that someone can change in the Customize UI and options that one cannot. If someone finds the UI or Lisp to be better to use in some case, s?he should be able to use either. IIUC, you propose such a categorization (UI-able (and Lispable) options vs only-Lispable options) in order to help users deal with the large number of options. I think that the problem of an abundance of options should be handled otherwise, by better organizing/categorizing (and better design) of options, and by better discovery/exploration/navigat= ion tools. Wrt organizing/categorizing, currently we have pretty much only custom groups. Hierarchies that express some of the dependencies you pointed out (e.g. mega-options, sub-options) could help. Tools to make clean use of those would also help. > >> (cus-set 'indent-tabs-mode t) > >> (cus-set 'indent-tabs-mode nil :mode prog-mode) > > show me the easy code for setting indent-tabs-mode to t in > general and to nil in all programming modes. I'm probably missing your point, but doesn't something like this do that? (setq-default indent-tabs-mode t) (add-hook 'prog-mode-hook (lambda () (setq indent-tabs-mode nil))) I don't disagree that functions such as you describe would be simpler, more flexible, and probably less error-prone to use than hooks. My point was that they make something that is already pretty easy a bit easier. It's only a minor point, however, and I may be missing something in your point. In general, I think we pretty much agree. I certainly do not defend Customize (the UI or the underlying functionality) against possible _improvements_ of it. Quite the contrary. I've wanted to see improvement for quite a while, and have done some fiddling of my own in that regard. (http://www.emacswiki.org/emacs/CustomizingAndSaving) Improve it or replace it, yes; ignore it or abandon it, no. My point in defending Customize is that I feel that people too often do not take enough advantage of what it does have to offer. I've seen some pretty silly ~/.emacs code that jumps around and through extra hoops in fragile, error-prone ways, where the user could have just used `customize-option' or `customize-face' to make their changes in a solid, uncomplicated way. And too often, I think, this happens because people are unfamiliar with the (admittedly clunky) UI, or they think that `setq' is always enough, or they think that using Lisp is more fun (which it is) or less clueless, or they don't know about `custom-file' and they worry about mixing generated code with hand-coded code. There are good reasons to use Lisp for many customizations. It does not follow that there are no reasons to use Customize. Personally, it took me a long time to start using Customize. I did everything I needed only in Lisp. Now I use both. I am glad to let Customize handle the stuff it is good at. And I think that others too can often benefit from what Customize has to offer. That said, if someone prefers to customize an option like the one I pointed to, whose default value is a large alist of key bindings, using only setq in ~/.emacs, well, that's certainly possible.