From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jonas Bernoulli Newsgroups: gmane.emacs.bugs Subject: bug#19188: point adjustemnt moves *into* invisible text Date: Wed, 26 Nov 2014 04:07:04 +0100 Message-ID: <87tx1mwtgn.fsf@bernoul.li> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1416971689 16356 80.91.229.3 (26 Nov 2014 03:14:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 26 Nov 2014 03:14:49 +0000 (UTC) To: 19188@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Nov 26 04:14:42 2014 Return-path: Envelope-to: geb-bug-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 1XtT3x-0006ve-Oj for geb-bug-gnu-emacs@m.gmane.org; Wed, 26 Nov 2014 04:14:41 +0100 Original-Received: from localhost ([::1]:60304 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XtT3w-0001Dg-Pz for geb-bug-gnu-emacs@m.gmane.org; Tue, 25 Nov 2014 22:14:40 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59348) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XtT3k-0001DZ-H6 for bug-gnu-emacs@gnu.org; Tue, 25 Nov 2014 22:14:38 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XtT3a-0004TF-Lt for bug-gnu-emacs@gnu.org; Tue, 25 Nov 2014 22:14:28 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:48257) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XtSzT-0003RE-4X for bug-gnu-emacs@gnu.org; Tue, 25 Nov 2014 22:10:06 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XtSzS-0003Bf-MZ for bug-gnu-emacs@gnu.org; Tue, 25 Nov 2014 22:10:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jonas Bernoulli Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 26 Nov 2014 03:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 19188 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: Bug-Gnu-Emacs Original-Received: via spool by submit@debbugs.gnu.org id=B.141697139712232 (code B ref -1); Wed, 26 Nov 2014 03:10:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 26 Nov 2014 03:09:57 +0000 Original-Received: from localhost ([127.0.0.1]:45470 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XtSzM-0003BE-QM for submit@debbugs.gnu.org; Tue, 25 Nov 2014 22:09:57 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:56999) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XtSzL-0003B4-0I for submit@debbugs.gnu.org; Tue, 25 Nov 2014 22:09:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XtSzA-0003Gr-Hk for submit@debbugs.gnu.org; Tue, 25 Nov 2014 22:09:54 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:59882) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XtSzA-0003Gm-F7 for submit@debbugs.gnu.org; Tue, 25 Nov 2014 22:09:44 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58662) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XtSz2-0000Gl-TT for bug-gnu-emacs@gnu.org; Tue, 25 Nov 2014 22:09:44 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XtSyv-0003FV-CB for bug-gnu-emacs@gnu.org; Tue, 25 Nov 2014 22:09:36 -0500 Original-Received: from mail.hostpark.net ([212.243.197.30]:42978) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XtSyv-0003FO-5f for bug-gnu-emacs@gnu.org; Tue, 25 Nov 2014 22:09:29 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by mail.hostpark.net (Postfix) with ESMTP id 17F3F16FD1 for ; Wed, 26 Nov 2014 04:09:26 +0100 (CET) X-Virus-Scanned: by Hostpark/NetZone Mailprotection at hostpark.net Original-Received: from mail.hostpark.net ([127.0.0.1]) by localhost (mail1.hostpark.net [127.0.0.1]) (amavisd-new, port 10124) with ESMTP id LYRNDJd-Tv9Z for ; Wed, 26 Nov 2014 04:09:26 +0100 (CET) Original-Received: from lem (80-218-85-1.dclient.hispeed.ch [80.218.85.1]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mail.hostpark.net (Postfix) with ESMTPS id E5134176DF for ; Wed, 26 Nov 2014 04:09:25 +0100 (CET) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:96593 Archived-At: When moving backward "point adjustment" which is supposed to move point out of an invisible region may end up doing the opposite. This problem exists at least in 24.3 and 24.4. 1. Yank this in an empty buffer in fundamental-mode and evaluate it. (progn (goto-char (point-min)) (insert "1\n" (propertize "3\n" 'invisible t) "5\n" "7\n") (backward-char 2)) 2. The cursor is now on the "7", which also is the 7th character. The buffer looks like .----- |1 |5 |7 |(progn |... `----- The cursor sits on the "7" and M-: (point) => 7 3. Move to "5" using e.g. C-p or C-b C-b. The cursor is now on "5", which also is the 5th character. However point is not were the cursor is M-: (point) => 3 The problem is in the code that is supposed to move point *out* of an invisible region, does the opposite when moving backward places point on the first character after an invisible region. It moves to the beginning of the preceding invisible region. When point adjustment is disabled (non-nil disable-point-adjustment or global-disable-point-adjustment) then this does not happen. It also does not happen when moving forward, e.g. starting at "1" C-p C-f places the cursor on "5" *and* point is also 5.