/* Header file for the buffer manipulation primitives.
Copyright (C) 1985, 1986, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Overlay modification count. */
#define BUF_OVERLAY_MODIFF(buf) ((buf)->text->overlay_modiff)
+/* Modification count as of last auto-save. */
+/* FIXME: should we move this into ->text->auto_save_modiff? */
+#define BUF_AUTOSAVE_MODIFF(buf) ((buf)->auto_save_modified)
+
/* Interval tree of buffer. */
#define BUF_INTERVALS(buf) ((buf)->text->intervals)
#define FETCH_MULTIBYTE_CHAR(pos) \
(_fetch_multibyte_char_p = (((pos) >= GPT_BYTE ? GAP_SIZE : 0) \
+ (pos) + BEG_ADDR - BEG_BYTE), \
- STRING_CHAR (_fetch_multibyte_char_p, 0))
+ STRING_CHAR (_fetch_multibyte_char_p))
/* Return character at position POS. If the current buffer is unibyte
and the character is not ASCII, make the returning character
(_fetch_multibyte_char_p \
= (((pos) >= BUF_GPT_BYTE (buf) ? BUF_GAP_SIZE (buf) : 0) \
+ (pos) + BUF_BEG_ADDR (buf) - BEG_BYTE), \
- STRING_CHAR (_fetch_multibyte_char_p, 0))
+ STRING_CHAR (_fetch_multibyte_char_p))
\f
/* Define the actual buffer data structures. */
Lisp_Object word_wrap;
/* Non-nil means display ctl chars with uparrow. */
Lisp_Object ctl_arrow;
- /* Non-nil means display text from right to left. */
+ /* Non-nil means reorder bidirectional text for display in the
+ visual order. */
+ Lisp_Object bidi_display_reordering;
+ /* 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 all the
+ paragraphs of the buffer. Nil means determine paragraph
+ direction dynamically for each paragraph. */
+ Lisp_Object bidi_paragraph_direction;
/* Non-nil means do selective display;
see doc string in syms_of_buffer (buffer.c) for details. */
Lisp_Object selective_display;