GNU bug report logs - #16497
24.3.50; `move-to-column' ignores invisible text at the beginning of the line, which create problems when using string-rectangle

Previous Next

Package: emacs;

Reported by: Bastien Guerry <bzg <at> altern.org>

Date: Sun, 19 Jan 2014 16:28:01 UTC

Severity: normal

Found in version 24.3.50

Full log


View this message in rfc822 format

From: Bastien <bzg <at> altern.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 16497 <at> debbugs.gnu.org
Subject: bug#16497: 24.3.50; `move-to-column' ignores invisible text at the beginning of the line,	which create problems when using string-rectangle
Date: Mon, 20 Jan 2014 17:50:25 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

> Before we design the interface, can we please define what is the job
> to be done here?

I don't know what needs to be done, but what's confusing is that both
`move-to-column' and `line-move-to-column' ignore invisible characters
within the line, but `line-move-to-column' goes back to real beginning
of the line while `move-to-column' goes back to the visual beginning
of the line.

> If it's just to get to Nth character from bol, aren't there easier
> ways of doing that?

Sure.  If `string-rectangle' can do the right thing with no change
in such internals, that's good -- but I trust Stefan when he says
that there may be cases where you want `string-rectangle' to behave
as it does now.

Another probably related quirk:

emacs -Q
M-: (insert "abc") RET
C-a
M-: (put-text-property (point) (1+ (point)) 'invisible t) RET
C-a
C-a
C-a

... !  See the point moving from b to c and back again.
Probably some heisenbug since edebug-defun'ing move-beginning-of-line
and stepping through it does not have the bug.

Such a contrived example does not deserve a bug report, but i thought
maybe this is related to the current discussion.

-- 
 Bastien




This bug report was last modified 11 years and 206 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.