annotate BUGS @ 108750:3339da3cfeb3

Redesign bidi-aware edge positions of glyph rows, fix bug #6036. dispextern.h (struct glyph_row): New members minpos and maxpos. (MATRIX_ROW_START_CHARPOS, MATRIX_ROW_START_BYTEPOS) (MATRIX_ROW_END_CHARPOS, MATRIX_ROW_END_BYTEPOS): Reference minpos and maxpos members instead of start.pos and end.pos, respectively. xdisp.c (display_line): Compare IT_CHARPOS with the position in row->start.pos, rather than with MATRIX_ROW_START_CHARPOS. (cursor_row_p): Use row->end.pos rather than MATRIX_ROW_END_CHARPOS. (try_window_reusing_current_matrix, try_window_id): Use ROW->minpos rather than ROW->start.pos. (init_from_display_pos, init_iterator): Use EMACS_INT for character and byte positions. (find_row_edges): Renamed from find_row_end. Accept additional arguments for minimum and maximum buffer positions seen by display_line for this row. Don't use iterator to find the position following the maximum one; instead, increment the position found by display_line directly. Fix logic; eol_pos should be tested before the rest. Handle the case of characters delivered from display vector (bug#6036). Fix tests related to it->method. Handle the truncated_on_right_p rows. (RECORD_MAX_MIN_POS): New macro. (display_line): Use it to record the minimum and maximum buffer positions for glyphs in the row being assembled. Record the position of the newline that terminates the line. If word wrap is in effect, restore minimum and maximum positions seen up to the wrap point, when iterator returns to it. (try_window_reusing_current_matrix): Give up if in bidi-reordered row and cursor not already at point. Restore original pre-bidi code for unidirectional buffers. dispnew.c (increment_row_positions, check_matrix_invariants): Increment and check row->start.pos and row->end.pos, in addition to MATRIX_ROW_START_CHARPOS and MATRIX_ROW_END_CHARPOS. .gdbinit (prowlims): Display row->minpos and row->maxpos. Display truncated_on_left_p and truncated_on_right_p flags. Formatting fixes. (pmtxrows): Display the ordinal number of each row. Don't display rows beyond the last one. bidi.c (bidi_cache_iterator_state): Don't zero out new_paragraph: it is not copied by bidi_copy_it.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 22 May 2010 22:32:21 +0300
parents fb8bf24d2eb9
children ac52af4a044c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25856
Dave Love <fx@gnu.org>
parents:
diff changeset
1 If you think you may have found a bug in GNU Emacs, please
Dave Love <fx@gnu.org>
parents:
diff changeset
2 read the Bugs section of the Emacs manual for advice on
Dave Love <fx@gnu.org>
parents:
diff changeset
3 (1) how to tell when to report a bug, and
Dave Love <fx@gnu.org>
parents:
diff changeset
4 (2) how to write a useful bug report and what information
Dave Love <fx@gnu.org>
parents:
diff changeset
5 it needs to have.
Dave Love <fx@gnu.org>
parents:
diff changeset
6
Dave Love <fx@gnu.org>
parents:
diff changeset
7 There are three ways to read the Bugs section.
Dave Love <fx@gnu.org>
parents:
diff changeset
8
Dave Love <fx@gnu.org>
parents:
diff changeset
9 (1) In a printed copy of the Emacs manual.
Dave Love <fx@gnu.org>
parents:
diff changeset
10 You can order one from the Free Software Foundation;
Dave Love <fx@gnu.org>
parents:
diff changeset
11 see the file etc/ORDERS. But if you don't have a copy on
Dave Love <fx@gnu.org>
parents:
diff changeset
12 hand and you think you have found a bug, you shouldn't wait
Dave Love <fx@gnu.org>
parents:
diff changeset
13 to get a printed manual; you should read the section right away
Dave Love <fx@gnu.org>
parents:
diff changeset
14 as described below.
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 (2) With Info. Start Emacs, do C-h i to enter Info,
Dave Love <fx@gnu.org>
parents:
diff changeset
17 then m Emacs RET to get to the Emacs manual, then m Bugs RET
Dave Love <fx@gnu.org>
parents:
diff changeset
18 to get to the section on bugs. Or use standalone Info in
Dave Love <fx@gnu.org>
parents:
diff changeset
19 a like manner. (Standalone Info is part of the Texinfo distribution,
Dave Love <fx@gnu.org>
parents:
diff changeset
20 not part of the Emacs distribution.)
Dave Love <fx@gnu.org>
parents:
diff changeset
21
Dave Love <fx@gnu.org>
parents:
diff changeset
22 (3) By hand. Do
Dave Love <fx@gnu.org>
parents:
diff changeset
23 cat info/emacs* | more "+/^File: emacs, Node: Bugs,"
Dave Love <fx@gnu.org>
parents:
diff changeset
24
103152
fb8bf24d2eb9 * BUGS: Use new binding of view-emacs-problems.
Chong Yidong <cyd@stupidchicken.com>
parents: 55212
diff changeset
25 Please first check the file etc/PROBLEMS (e.g. with C-h C-p in Emacs) to
34822
af68d12218d0 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 25856
diff changeset
26 make sure it isn't a known issue.