comparison src/buffer.c @ 107596:866e76f8ad75

Retrospective commit from 2009-10-08. Finish up working on paragraph's base direction. Start working on display of right-to-left glyph rows. Rewrite set_cursor_from_row to support bidi. xdisp.c (string_buffer_position_lim): New function. (string_buffer_position): Most of code moved to string_buffer_position_lim. Last argument and return value are now EMACS_INT; all callers changed. (set_cursor_from_row): Rewritten to support bidirectional text and reversed glyph rows. dispextern.h <string_buffer_position>: Update prototype. bidi.c (bidi_paragraph_init): Fix initialization of POS. dispextern.h (struct glyph_row): New member reversed_p. buffer.c (syms_of_buffer): Remove DEFVAR_LISP_NOPRO for default-direction-reversed, default-bidi-display-reordering, and default-paragraph-direction.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 01 Jan 2010 06:27:51 -0500
parents 69c12db7031d
children d44bdcba4457
comparison
equal deleted inserted replaced
107595:69c12db7031d 107596:866e76f8ad75
5530 DEFVAR_LISP_NOPRO ("default-ctl-arrow", 5530 DEFVAR_LISP_NOPRO ("default-ctl-arrow",
5531 &buffer_defaults.ctl_arrow, 5531 &buffer_defaults.ctl_arrow,
5532 doc: /* Default value of `ctl-arrow' for buffers that do not override it. 5532 doc: /* Default value of `ctl-arrow' for buffers that do not override it.
5533 This is the same as (default-value 'ctl-arrow). */); 5533 This is the same as (default-value 'ctl-arrow). */);
5534 5534
5535 DEFVAR_LISP_NOPRO ("default-bidi-display-reordering",
5536 &buffer_defaults.bidi_display_reordering,
5537 doc: /* *Default value of `bidi-display-reordering' for buffers not overriding it.
5538 This is the same as (default-value 'bidi-display-reordering). */);
5539
5540 DEFVAR_LISP_NOPRO ("default-direction-reversed",
5541 &buffer_defaults.direction_reversed,
5542 doc: /* Default value of `direction-reversed' for buffers that do not override it.
5543 This is the same as (default-value 'direction-reversed). */);
5544
5545 DEFVAR_LISP_NOPRO ("default-enable-multibyte-characters", 5535 DEFVAR_LISP_NOPRO ("default-enable-multibyte-characters",
5546 &buffer_defaults.enable_multibyte_characters, 5536 &buffer_defaults.enable_multibyte_characters,
5547 doc: /* *Default value of `enable-multibyte-characters' for buffers not overriding it. 5537 doc: /* *Default value of `enable-multibyte-characters' for buffers not overriding it.
5548 This is the same as (default-value 'enable-multibyte-characters). */); 5538 This is the same as (default-value 'enable-multibyte-characters). */);
5549
5550 DEFVAR_LISP_NOPRO ("default-paragraph-direction",
5551 &buffer_defaults.paragraph_direction,
5552 doc: /* Default value of `paragraph-direction' for buffers that do not override it.
5553 This is the same as (default-value 'paragraph-direction). */);
5554 5539
5555 DEFVAR_LISP_NOPRO ("default-buffer-file-coding-system", 5540 DEFVAR_LISP_NOPRO ("default-buffer-file-coding-system",
5556 &buffer_defaults.buffer_file_coding_system, 5541 &buffer_defaults.buffer_file_coding_system,
5557 doc: /* Default value of `buffer-file-coding-system' for buffers not overriding it. 5542 doc: /* Default value of `buffer-file-coding-system' for buffers not overriding it.
5558 This is the same as (default-value 'buffer-file-coding-system). */); 5543 This is the same as (default-value 'buffer-file-coding-system). */);
5808 doc: /* Non-nil means set beginning of lines at the right edge of the window. 5793 doc: /* Non-nil means set beginning of lines at the right edge of the window.
5809 See also the variable `bidi-display-reordering'. */); 5794 See also the variable `bidi-display-reordering'. */);
5810 5795
5811 DEFVAR_PER_BUFFER ("bidi-display-reordering", 5796 DEFVAR_PER_BUFFER ("bidi-display-reordering",
5812 &current_buffer->bidi_display_reordering, Qnil, 5797 &current_buffer->bidi_display_reordering, Qnil,
5813 doc: /*Non-nil means reorder bidirectional text for display in the visual order. 5798 doc: /* Non-nil means reorder bidirectional text for display in the visual order.
5814 See also the variable `direction-reversed'. */); 5799 See also the variable `direction-reversed'. */);
5815 5800
5816 DEFVAR_PER_BUFFER ("paragraph-direction", 5801 DEFVAR_PER_BUFFER ("paragraph-direction",
5817 &current_buffer->paragraph_direction, Qnil, 5802 &current_buffer->paragraph_direction, Qnil,
5818 doc: /* *If non-nil, forces directionality of text paragraphs in the buffer. 5803 doc: /* *If non-nil, forces directionality of text paragraphs in the buffer.