Summary: | 'Find Next' does not always move to correct line | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | Jeff Mitchell <mitchell> |
Component: | general | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Jeff Mitchell
2008-03-10 22:09:13 UTC
The problem is wrapped lines. Konsole searches the history in blocks of 10K bytes of text for performance. When it has identified a match within a search block it attempts to work out the line number by counting occurrences of new line characters in the block. This produces the wrong result when wrapped lines are present because then there is a mismatch between lines in the search buffer and lines of text on the terminal display. SVN commit 791703 by knight: BUG: 159096 ('Find Next' does not always move to correct line) Squashed commit of the following: commit 17bd4aee3b20b3d36e0891dfd516d986430133c2 Author: Robert Knight <robertknight@gmail.com> Date: Sun Mar 30 03:39:07 2008 +0100 Use a list of integers rather than a bitmap to record the character positions of new lines. This allows for empty lines in the buffer which means that multiple lines may start at the same character position. commit d8ee8002f6ee87257f70f94e1a77a44f668617d9 Author: Robert Knight <robertknight@gmail.com> Date: Sun Mar 30 03:22:24 2008 +0100 Compute the line index of a match found during output search more accurately. Add a method to record the positions of new lines within the output stream to TerminalCharacterDecoder and use that in SearchHistoryTask to count the number of lines offset from the start of the current block. Unlike the previous method this works when there are wrapped lines in the output. M +14 -5 SessionController.cpp M +18 -2 TerminalCharacterDecoder.cpp M +13 -0 TerminalCharacterDecoder.h WebSVN link: http://websvn.kde.org/?view=rev&revision=791703 |