Bug 96398

Summary: When selecting text, konsole silently gobbles spaces that occur at the end of the line
Product: [Applications] konsole Reporter: Tristan Miller <psychonaut>
Component: generalAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

Description Tristan Miller 2005-01-05 21:46:54 UTC
Version:            (using KDE KDE 3.3.2)
Installed from:    SuSE RPMs

Steps to reproduce:

1. Open a konsole shell session with a width of 80 characters.
2. echo "n Strategie keine Garantie dafür ist, daß sie angewendet wird. Optimales Lernen kann"
3. In the output of echo, note that the text "Lernen " (including the space) appears at the end of the line, while "kann" appears at the beginning of the next line.
4. Select the two output lines with the mouse.
5. Paste (i.e., middle-click) into any application.

Expected behaviour:

The pasted text reads as follows:
Strategie keine Garantie dafür ist, daß sie angewendet wird. Optimales Lernen kann

Observed behaviour:

The pasted text reads as follows:
Strategie keine Garantie dafür ist, daß sie angewendet wird. Optimales Lernenkann

That is, the space at the end of the first line apparently was not copied.  This happens to any and all lines ending in a space character.

I have confirmed that this is a konsole problem.  Repeating the same steps with, say, xterm, does not trigger the bug.
Comment 1 Tristan Miller 2005-01-05 21:52:21 UTC
Sorry, missed a character.  The Expected and Observed behaviour sections should read as follows:

Expected behaviour:

The pasted text reads as follows:
n Strategie keine Garantie dafür ist, daß sie angewendet wird. Optimales Lernen kann

Observed behaviour:

The pasted text reads as follows:
n Strategie keine Garantie dafür ist, daß sie angewendet wird. Optimales Lernenkann
Comment 2 Robert Hogan 2005-01-05 22:54:39 UTC
This seems to be fixed in CVS:

#define LINE_WRAP do { \
                          assert(d <= columns); \
                          *stream << makeString(m, d, false); \ <---- was 'true'
                          d = 0; \
                        } while(false)

in TEScreen.cpp. When set to  'true' above the behaviour you describe occurs.
Comment 3 Kurt Hindenburg 2005-01-06 08:00:45 UTC
Fixed a couple of weeks ago, will be in KDE 3.4

*** This bug has been marked as a duplicate of 90201 ***