GNU bug report logs - #67925
29.1; delete-rectangle fails on multi-column characters

Previous Next

Package: emacs;

Reported by: awrhygty <at> outlook.com

Date: Wed, 20 Dec 2023 11:00:02 UTC

Severity: normal

Found in version 29.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: awrhygty <at> outlook.com, Stefan Monnier <monnier <at> iro.umontreal.ca>, Stefan Kangas <stefankangas <at> gmail.com>, Juri Linkov <juri <at> linkov.net>
Cc: 67925 <at> debbugs.gnu.org
Subject: bug#67925: 29.1; delete-rectangle fails on multi-column characters
Date: Thu, 21 Dec 2023 18:46:26 +0200
> From: awrhygty <at> outlook.com
> Cc: 67925 <at> debbugs.gnu.org
> Date: Thu, 21 Dec 2023 23:26:05 +0900
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> This patch gives similar result of kill-rectangle.
> >> In the example above, I want all '4' characters moved to same column.
> >
> > How can that be done, when the first character takes 2 or more
> > columns?  Deleting the first character is IMO wrong, since the other
> > lines leave the first character intact.  Adding SPC to other lines is
> > also wrong, since delete-rectangle is not supposed to _add_ columns.
> 
> I think wide characters may be replaced with SPC like TAB.

I don't think I agree.  Let's see what others think Stefan, Juri,
Stefan, any opinions?  Does anyone else have an opinion on this?

> >> And TAB characters crossing the end column are not edited correctly
> >> with delete-rectangle if indent-tabs-mode is on.
> >> 
> >> 012345678
> >> 	8(TAB at head)
> >> 012345678
> >> 
> >> The text above is edited to the text below.
> >> 45678
> >> 	8(TAB at head)
> >> 45678
> >> 
> >> If indent-tabs-mode is off, the result is the text below.
> >> 45678
> >>     8(four SPCs)
> >> 45678
> >
> > This is a separate issue with the original code.  It also happens with
> > kill-rectangle, btw.  We could fix it by temporarily binding
> > indent-tabs-mode to nil inside these commands -- would that be
> > acceptable?  The result will be that the killed rectangle includes
> > spaces, not the leading TAB.
> 
> I prefer that the killed rectangle has same column for each line.
> If TAB is included when yanking, the current column affects the width of
> the yanked string for each line.

Again, does anyone else have an opinion here?  I tend to think that we
should bind indent-tabs-mode to nil inside those functions.




This bug report was last modified 1 year and 232 days ago.

Previous Next


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