GNOME Bugzilla – Bug 149784
Caret reading by word in Evolution fails to read the last word of a line
Last modified: 2004-12-22 21:47:04 UTC
1. Launch Evolution 1.4.6 2. Open the Default e-mail message (or some other with blank lines, images, etc.) 3. Run Gnopernicus 4. Make sure Caret navigation is on (F7), and that you have a text caret 5. From the top of the e-mail message, press down arrow repeatedly. 6. When you get to a line with lots of text (e.g. the first line of the default message, starting with "Welcome to Ximian Evolution...", use Shift-right-arrow to read by word. 7. When you get to the last word on the line, Gnopernicus reads this as "space" instead of that word (which in this example is "and"). Note: this may be related to Evolution bug #62763 - see: http://bugzilla.ximian.com/show_bug.cgi?id=62763
Please test the patch attached to bug #149784. It address both problems about word-by-word navigation.
I made a mistake: the patch is attached to bug #149785.
The cause of this bug is a ranges problem in evolution (I've checked this with an independent at-spi tester): start/end positions for SPI_TEXT_BOUNDARY_WORD_START are correctly reported when user navigates word-by-word but start/end positions for SPI_TEXT_BOUNDARY_LINE_START are wrong. Gnopernicus checks if the current offset is between start/end and, if not, it will report only the character at offset (this is why gnopernicus says "space" instead of the last word of the line). NOTE: start/end positions for SPI_TEXT_BOUNDARY_LINE_START are wrong only when the caret is at the end of the line. So the original bug seems to disapear if there is a punctuation sign after the last word because the cursor is after the last word, not after the punctuation sign (so, basically, not at the end of line). My previous patch fixes this problem for word-by-word navigation(because the algorithm to detect if there is a word-by-word navigation was improved) but I believe we should address the real cause of this bug in the right place !
Dana - have you (or anyone else) filed a bug in http://bugzilla.ximian.com/ describing the error with SPI_TEXT_BOUNDARY_LINE_START that you note above? If not, could you please do so?
Bug http://bugzilla.ximian.com/show_bug.cgi?id=64238 was filed against evolution.
I believe we should close this bug (NOTGNOME?), since this problem was described n Evolution.