Mercurial > emacs
diff src/buffer.h @ 107595:69c12db7031d
Retrospective commit from 2009-10-05.
Continue working on paragraph base direction.
Support per-buffer default paragraph direction.
buffer.h (struct buffer): New member paragraph_direction.
buffer.c (init_buffer_once): Initialize it.
(syms_of_buffer): Declare Lisp variables
default-paragraph-direction and paragraph-direction.
dispextern.h (struct it): New member paragraph_embedding.
xdisp.c (init_iterator): Initialize it from the buffer's value
of paragraph-direction.
<Qright_to_left, Qleft_to_right>: New variables.
(syms_of_xdisp): Initialize and staticpro them.
(set_iterator_to_next, next_element_from_buffer): Use the value of
paragraph_embedding to determine the paragraph direction.
bidi.c (bidi_line_init): Fix second argument to
bidi_set_sor_type.
(bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR.
(bidi_get_next_char_visually): Record the last character of the
separator in separator_limit, not the character after that.
(bidi_find_paragraph_start): Accept character and byte positions
instead of the whole iterator stricture. All callers changed.
| author | Eli Zaretskii <eliz@gnu.org> |
|---|---|
| date | Fri, 01 Jan 2010 06:22:52 -0500 |
| parents | e0df0337f248 |
| children | 866e76f8ad75 |
line wrap: on
line diff
--- a/src/buffer.h Fri Jan 01 06:17:13 2010 -0500 +++ b/src/buffer.h Fri Jan 01 06:22:52 2010 -0500 @@ -664,6 +664,10 @@ /* Non-nil means set beginning of lines at the right edge of windows. */ Lisp_Object direction_reversed; + /* If non-nil, specifies which direction of text to force in each + paragraph. Nil means determine paragraph direction dynamically + for each paragraph. */ + Lisp_Object paragraph_direction; /* Non-nil means do selective display; see doc string in syms_of_buffer (buffer.c) for details. */ Lisp_Object selective_display;
