Fix bidi reordering around TAB characters covered by display properties.
src/dispextern.h (struct bidi_it): Move disp_pos and disp_prop_p members before the level stack, so they would be saved and restored when copying iterator state. Fixes incorrect reordering around TABs covered by display properties.
This commit is contained in:
parent
f635daa1e0
commit
9778ebccaa
2 changed files with 10 additions and 3 deletions
|
@ -1,3 +1,10 @@
|
|||
2011-08-18 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* dispextern.h (struct bidi_it): Move disp_pos and disp_prop_p
|
||||
members before the level stack, so they would be saved and
|
||||
restored when copying iterator state. Fixes incorrect reordering
|
||||
around TABs covered by display properties.
|
||||
|
||||
2011-08-18 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
* process.c (Fnetwork_interface_list): Correctly determine buffer
|
||||
|
|
|
@ -1859,6 +1859,9 @@ struct bidi_it {
|
|||
EMACS_INT ignore_bn_limit; /* position until which to ignore BNs */
|
||||
bidi_dir_t sor; /* direction of start-of-run in effect */
|
||||
int scan_dir; /* direction of text scan, 1: forw, -1: back */
|
||||
EMACS_INT disp_pos; /* position of display string after ch */
|
||||
int disp_prop_p; /* if non-zero, there really is a
|
||||
`display' property/string at disp_pos */
|
||||
int stack_idx; /* index of current data on the stack */
|
||||
/* Note: Everything from here on is not copied/saved when the bidi
|
||||
iterator state is saved, pushed, or popped. So only put here
|
||||
|
@ -1867,9 +1870,6 @@ struct bidi_it {
|
|||
struct bidi_string_data string; /* string to reorder */
|
||||
bidi_dir_t paragraph_dir; /* current paragraph direction */
|
||||
EMACS_INT separator_limit; /* where paragraph separator should end */
|
||||
EMACS_INT disp_pos; /* position of display string after ch */
|
||||
int disp_prop_p; /* if non-zero, there really is a
|
||||
`display' property/string at disp_pos */
|
||||
unsigned first_elt : 1; /* if non-zero, examine current char first */
|
||||
unsigned new_paragraph : 1; /* if non-zero, we expect a new paragraph */
|
||||
unsigned frame_window_p : 1; /* non-zero if displaying on a GUI frame */
|
||||
|
|
Loading…
Add table
Reference in a new issue