From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thomas Lord Newsgroups: gmane.emacs.devel Subject: Re: Shift selection using interactive spec Date: Sun, 16 Mar 2008 14:46:17 -0700 Message-ID: <47DD9529.5060700@emf.net> References: <87k5k69p92.fsf@stupidchicken.com> <200803140408.m2E47hPU014494@sallyv1.ics.uci.edu> <87prtxpekk.fsf@kfs-lx.rd.rdm> <87abl11ilo.fsf@stupidchicken.com> <874pb9koyw.fsf@stupidchicken.com> <87od9gzqv9.fsf@stupidchicken.com> <87bq5gytbi.fsf@stupidchicken.com> <8763vndi0r.fsf@kfs-lx.rd.rdm> <47DC3AB2.9070502@emf.net> <87ejabv7gg.fsf@stupidchicken.com> <47DC79DE.1000201@emf.net> <47DD8A53.8090902@emf.net> <87d4pu2yaz.fsf@ambire.localdomain> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1205701659 748 80.91.229.12 (16 Mar 2008 21:07:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 16 Mar 2008 21:07:39 +0000 (UTC) Cc: emacs-devel@gnu.org To: Thien-Thi Nguyen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Mar 16 22:08:06 2008 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 1Jb05M-000588-Al for ged-emacs-devel@m.gmane.org; Sun, 16 Mar 2008 22:08:04 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jb04m-0007cN-R0 for ged-emacs-devel@m.gmane.org; Sun, 16 Mar 2008 17:07:28 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jb04i-0007Z4-8s for emacs-devel@gnu.org; Sun, 16 Mar 2008 17:07:24 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jb04h-0007XB-H2 for emacs-devel@gnu.org; Sun, 16 Mar 2008 17:07:23 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jb04h-0007Wy-Et for emacs-devel@gnu.org; Sun, 16 Mar 2008 17:07:23 -0400 Original-Received: from mail.42inc.com ([205.149.0.25]) by monty-python.gnu.org with esmtps (SSL 3.0:RSA_3DES_EDE_CBC_SHA1:24) (Exim 4.60) (envelope-from ) id 1Jb04g-0001ne-QY for emacs-devel@gnu.org; Sun, 16 Mar 2008 17:07:23 -0400 X-TFF-CGPSA-Version: 1.5 X-TFF-CGPSA-Filter-42inc: Scanned X-42-Virus-Scanned: by 42 Antivirus -- Found to be clean. Original-Received: from [69.236.65.4] (account lord@emf.net HELO [192.168.1.64]) by mail.42inc.com (CommuniGate Pro SMTP 5.0.13) with ESMTPA id 25646906; Sun, 16 Mar 2008 14:07:20 -0700 User-Agent: Thunderbird 1.5.0.5 (X11/20060808) In-Reply-To: <87d4pu2yaz.fsf@ambire.localdomain> 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:92777 Archived-At: Thien-Thi Nguyen wrote: > () Thomas Lord > () Sun, 16 Mar 2008 14:00:03 -0700 > > three variable system, most commands DTRT by default, even if > they remain ignorant of the three variables. > > Do you mean to say "three state"? To me, three (non-boolean) > variables implies many many states. There are three variables. Each bound either to nil or a marker. Under "nominal operating conditions" if any two or three of the variables are bound to marker, they are bound to the *same* marker. So, normally, there are 8 possible states. And that sounds hopelessly hairy because 8 *is* a ridiculously large number. Except that when you look at how they actually work, it's 8 states in one sense, but in a deeper sense it's a set of three, orthogonal, binary states: Was tentative-mark set when this command was invoked? That's maybe-preserved-tentative-mark Should tentative-mark be set when this command is done? That's preserved-tentative-mark Should primitives recognize that there is a tentative mark, e.g. by deleting the selected region before any insertion? That's tentative-mark. > Even if they are all > boolean, that would mean eight states, ie, a lot of hair. > > I agree that 8 is a suspiciously large number for something like this and I encourage people to find a really solid refutation of my idea. Please keep trying. But... 8 in and of itself is not quite a refutation. The eight states partition nicely into those three, orthogonal, binary states. Those states very simply refer to specific points in time during the phases of a command cycle. There's 8, sure, but really, it's just three, kinda-separate, individually trivial things. But yes: 8 is a big number and good spotting. That is a direction in which to be skeptical, I agree. -t > thi > > > >