From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Miles Bader Newsgroups: gmane.emacs.devel Subject: Re: comint-carriage-motion, and option nomenclature Date: Wed, 28 Aug 2002 08:39:45 -0400 Sender: emacs-devel-admin@gnu.org Message-ID: <20020828123945.GB15702@gnu.org> References: <20020827212651.143738.FMU965@piglet.prv.splode.com> <20020827223437.276751.FMU965@piglet.prv.splode.com> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1030538388 9845 127.0.0.1 (28 Aug 2002 12:39:48 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 28 Aug 2002 12:39:48 +0000 (UTC) Cc: emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17k26q-0002YV-00 for ; Wed, 28 Aug 2002 14:39:44 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17k2cd-0003LD-00 for ; Wed, 28 Aug 2002 15:12:35 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17k28C-0004LP-00; Wed, 28 Aug 2002 08:41:08 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17k26u-0004Br-00 for emacs-devel@gnu.org; Wed, 28 Aug 2002 08:39:48 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17k26r-0004Ba-00 for emacs-devel@gnu.org; Wed, 28 Aug 2002 08:39:47 -0400 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17k26r-0004BV-00 for emacs-devel@gnu.org; Wed, 28 Aug 2002 08:39:45 -0400 Original-Received: from miles by fencepost.gnu.org with local (Exim 4.10) id 17k26r-00055H-00; Wed, 28 Aug 2002 08:39:45 -0400 Original-To: Noah Friedman Content-Disposition: inline In-Reply-To: <20020827223437.276751.FMU965@piglet.prv.splode.com> User-Agent: Mutt/1.3.28i Blat: Foop Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:7048 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:7048 I've thought about this some more, and I think that my problem with your suggestion is _not_ with changing the sense of the default value, but rather the choice of variable name, in particular, the use of the verb `enable'. A variable name containing `enable' is sort of the mirror image of one containing `inhibit' -- it suggests that the normal state is `off', and that you can set this variable to `on' to override that. The reason is that both of those verbs refer to the _change in state_ of the variable, so they're essentially saying `setting this to true changes the state'. Such variables are great for cases where there really is an obvious `normal' state, which you sometimes want to override. However, as you point out, the carriage-motion case may not really fit this model. By contrast, consider variable names like `comint-handle-carriage-motion' or `comint-interpet-carriage' motion. In these, the verb refers not to the state change when you set the variable, but rather the action performed when it's true. To me, names like thisseem much more neutral, and better suited to cases where either on or off are reasonable defaults. I wouldn't object to using either of those names or something similar for comint-carriage-motion, and changing the sense to positive == enabled. In general, I think: (1) Variable names containing verbs like `enable' or `inhibit', which imply a change to the normal case, should only be used when there's an obvious default state. Such variables should be named so that the normal state corresponds to a `nil' setting, and setting the variable to non-nil overrides this. (2) All other variables _shouldn't_ use verbs like `enable' or `inhibit'. -Miles -- P.S. All information contained in the above letter is false, for reasons of military security.