From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: customize-apropos Date: Thu, 15 Dec 2005 08:33:16 -0800 Message-ID: References: <200512150533.jBF5Xk027595@raven.dms.auburn.edu> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1134673562 18572 80.91.229.2 (15 Dec 2005 19:06:02 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 15 Dec 2005 19:06:02 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 15 20:05:59 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EmyO2-00018n-Nj for ged-emacs-devel@m.gmane.org; Thu, 15 Dec 2005 20:03:31 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EmyOg-0007uo-NE for ged-emacs-devel@m.gmane.org; Thu, 15 Dec 2005 14:04:10 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Emw3T-00064Z-Pz for emacs-devel@gnu.org; Thu, 15 Dec 2005 11:34:08 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Emw3R-00062w-LH for emacs-devel@gnu.org; Thu, 15 Dec 2005 11:34:06 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Emw3Q-00062P-ON for emacs-devel@gnu.org; Thu, 15 Dec 2005 11:34:04 -0500 Original-Received: from [141.146.126.228] (helo=agminet01.oracle.com) by monty-python.gnu.org with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.34) id 1Emw5h-0002tw-5F for emacs-devel@gnu.org; Thu, 15 Dec 2005 11:36:25 -0500 Original-Received: from rgmsgw300.us.oracle.com (rgmsgw300.us.oracle.com [138.1.186.49]) by agminet01.oracle.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id jBFGppP0023586 for ; Thu, 15 Dec 2005 10:51:51 -0600 Original-Received: from rgmsgw300.us.oracle.com (localhost [127.0.0.1]) by rgmsgw300.us.oracle.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id jBFGXKQa021203 for ; Thu, 15 Dec 2005 09:33:20 -0700 Original-Received: from dradamslap (dhcp-amer-rmdc-csvpn-gw5-141-144-107-58.vpn.oracle.com [141.144.107.58]) by rgmsgw300.us.oracle.com (Switch-3.1.7/Switch-3.1.7) with SMTP id jBFGXKrm021195 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) for ; Thu, 15 Dec 2005 09:33:20 -0700 Original-To: X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: <200512150533.jBF5Xk027595@raven.dms.auburn.edu> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506 X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE 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:47797 Archived-At: I do not believe that the numeric arg is really useful (it is just a confusing alternative to apropos-variable), but it does no real harm either. Unless somebody uses it for no other reason that they do not know about apropos-variable. That is why I proposed my patch pointing out in the docstrings that in most cases using `apropos-variable' is more useful than using the numeric arg to `customize-apropos'. One big difference between `customize-apropos-options' and `apropos-variable' is that the former puts you in a Custom buffer, where you can customize options and easily navigate (browse). Even if someone wants to _see_ all matching variables, (s)he might still want to browse or customize some customizable user options. Plus, Custom is intended to present a more "user-friendly" face for option names, values, and value descriptions (I won't go to the death defending the current implementation of that feature, however). So, I cannot agree that "in most cases using `apropos-variable' is more useful." It is, in most use cases, _less_ useful. Everything that `apropos-variable' gives you, `customize-apropos-options' (with prefix arg) gives you too. And the latter gives you more, and in a more digestible format (that's the intention, anyway). My point was not to get rid of the C-u behavior - it was to get rid of it _IF_ the only acceptable (to you and RMS) alternative is an end-user description that is confusing or frightening. Fixing the language is the other alternative. I said: "Experts don't need this (C-u) any more than regular users." Equivalent: Regular users need this (C-u) just as much as expert users. Casting the C-u behavior as an expert-user feature is wrong, IMO. The alternatives I proposed are: get rid of the C-u behavior _OR_ fix the descriptions of non-defcustom variables, so they don't confuse and frighten. Richard's latest proposal of wording is this: "NO CUSTOMIZATION DATA; set this only if you know what you are doing." I feel that "if you know what you are doing" is confusing, unhelpful, and frightening. Might as well say "Don't set this!" - those who do know what they're doing will presumably know enough to ignore that admonition. _I_ don't know what "if you know what you are doing" means (how does one know whether one knows? what's the secret key?), so I must assume that I don't know what I'm doing. Fair enough, I won't set the option in Custom - but I won't learn anything about why not or about how I might legitimately set it (`set-variable'). I will get the (false) impression that setting that option is something only for THOSE WHO KNOW (and know that they know). And I will have no idea how to become a member of those-who-know. I will come away thinking that Emacs is indeed mysterious and Custom is not something for the faint of heart. I will wonder why, if people should not set those options, setting them was presented as a possibility (instead of simply getting rid of the State button or editable Value field). I'll begin to wonder about a lot of things Custom, in fact. If we cannot distinguish the problematic (bug) cases (which Luc listed) and the internal-variable cases from the non-defcustom user-option cases (`*' in doc string), then I guess we are stuck with language such as that Richard proposed. But a better solution would be to distinguish those cases, and tell people, in the user-option case, that they can use `set-variable' - nothing to fear here, nothing esoteric. For a non-defcustom user option, we could even provide a link that called `set-variable' directly. IOW, it's better to reserve the less-informative, more frightening language for the bug and internal-variable cases. Better still would be to remove the State button from variables whose value should not be changed in Custom - experts have other ways to change them. And, as I mentioned near the beginning of this thread, it is at least as useful to be able to show all _user options_ (no internal variables) as it is to show all variables (current C-u behavior). If we offered that (e.g. via C-u `customize-apropos-options' or via `customize-apropos-variables'), and we got rid of some of the bug cases, and we distinguished the `set-variable' user options, then we would have no scary, abracadabra, secret-cult language at all. If this is too much to ask before the release, consider this a prelude to Customize discussions to come after the release. That beast sorely needs to be tamed.