From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Berman Newsgroups: gmane.emacs.devel Subject: Re: invisible Date: Thu, 29 Nov 2007 00:23:20 +0100 Message-ID: <87r6ia3qfr.fsf@escher.local.home> References: <20040225.150142.12214540.kazu@iijlab.net> <200402282128.i1SLSuY15359@raven.dms.auburn.edu> <200402290224.i1T2Oip15705@raven.dms.auburn.edu> <87sl3fdqs3.fsf@escher.local.home> <87zlxc5r2f.fsf@escher.local.home> <474059CD.1060107@gmx.at> <87r6ihi1z7.fsf@escher.local.home> <4746E2CF.4010604@gmx.at> <87k5o8q0y5.fsf@escher.local.home> <4747312D.7020605@gmx.at> <87fxywpuuy.fsf@escher.local.home> <47474B8C.9020806@gmx.at> <87bq9kpnqd.fsf@escher.local.home> <4747EFE8.5090405@gmx.at> <474A7CF6.8030802@gmx.at> <474B19DB.6030803@gmx.at> <474C65FF.3070403@gmx.at> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1196292240 22784 80.91.229.12 (28 Nov 2007 23:24:00 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 28 Nov 2007 23:24:00 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Nov 29 00:23:59 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 1IxWG6-0003Pa-Vx for ged-emacs-devel@m.gmane.org; Thu, 29 Nov 2007 00:23:59 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IxWFr-0002ts-Av for ged-emacs-devel@m.gmane.org; Wed, 28 Nov 2007 18:23:43 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IxWFn-0002tD-ER for emacs-devel@gnu.org; Wed, 28 Nov 2007 18:23:39 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IxWFm-0002si-QF for emacs-devel@gnu.org; Wed, 28 Nov 2007 18:23:39 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IxWFm-0002sc-NX for emacs-devel@gnu.org; Wed, 28 Nov 2007 18:23:38 -0500 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1IxWFl-0005Ri-NE for emacs-devel@gnu.org; Wed, 28 Nov 2007 18:23:38 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1IxWFc-0008Pr-34 for emacs-devel@gnu.org; Wed, 28 Nov 2007 23:23:28 +0000 Original-Received: from i5387d8e0.versanet.de ([83.135.216.224]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 28 Nov 2007 23:23:27 +0000 Original-Received: from Stephen.Berman by i5387d8e0.versanet.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 28 Nov 2007 23:23:27 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 85 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: i5387d8e0.versanet.de User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux) 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:84268 Archived-At: On Tue, 27 Nov 2007 19:46:23 +0100 martin rudalics wrote: >> It turns out that it's also a good behavior in the sense that you can >> get the other two behaviors (ignore all invisible text properties and >> obey all invisible text properties) in the following way: >> >> (let ((buffer-invisibility-spec nil)) (current-column)) > > It's not just neat, it's splendid. We can dispense with that > rear-nonstickyness and DTRT with plain rear-sticky, invisible > text. Stephen, please try with the attached patch, it should > work out of the box. I'm afraid it did not, which puzzles me in view of the confidence you expressed. I wonder if we did something different again. I did emacs -Q, evalled line-move-finish and line-move-to-column with your patch applied and evalled the sexps in your test file lmii.txt. Here are the results I got: 1. i. with '(invisible t): fl-1 Starting with point on or after the `l' of `line7', cursor moves to the `l' of line6, then the `l' of line4, then the `l' of line2, then the `l' of line1. C-p a. Starting with point on or after the `i' of `line7', cursor moves successively to the corresponding column of the preceding line. b. Starting with point on the `l' of `line7', cursor moves to the `l' of line6, then the `l' of line4, then the `l' of line2, then the `l' of line1. ii. with '(invisible t rear-nonsticky t): fl-1 Starting with point on or after the `l' of `line7', cursor moves successively to the `l' of the preceding line. C-p Starting with point on the `l' of `line7', cursor moves successively to the corresponding column of the preceding line. I also tested making line4 invisible (add-text-properties 19 25 ...), which one of the original bug reports was about: 2. i. with '(invisible t): fl-1 Starting with point with point anywhere on line7, cursor moves successively to the `l' of the preceding line. C-p Starting with point anywhere on line7, cursor moves to the corresponding column of line6, then to the corresponding column of line5, then to the `l' of line5, then back to the goal column in line3 and likewise with line2 and line1. C-n Starting with point anywhere on line1 or line2, cursor moves to the corresponding column of the next line. Continuing from line3, C-n move cursor to the `l' of line5, and with the next C-n to the previous goal column in line5. Subsequent C-n's move the cursor to the next line also at the same column. ii. with '(invisible t rear-nonsticky t): fl-1 Starting with point with point anywhere on line7, cursor moves to the `l' of line6, then to the `l' of line5, then to the end of line3, then to the `l' of line2 and likewise line1. C-p Starting with point anywhere on line7, cursor moves to the corresponding column of line6, then to the corresponding column of line5, then to the `l' of line5, then to the end of line3, then back to the goal column in line2 and likewise in line1. C-n a. Starting with point on the `l' of line1, line2, or line3, cursor moves to the `l' of the next line. Continuing with C-n at line3, cursor moves to the `i' of line5, then to the `l' of line6 and likewise line7. However, if, after reaching the `i' line5 with C-n, I then type C-p, cursor moves first to the `l' of line5, then to the `l' of line3 (not, as above, to the end of line2), and to the `l' of line2 and line1. b. Starting with point on any position but the `l' of line1 or line2, cursor moves to the corresponding column of the next line. Continuing from line3, cursor moves to the `l' of line5, then to the original goal column in line5 and likewise in line6 and line7. Steve Berman