# HG changeset patch # User Kim F. Storm # Date 1140473646 0 # Node ID 7e64cebb0463330cd3bd7559b083b5f11902d9a5 # Parent d037a8cb1b922b0c69e5f12425865c549d8001c6 (init_buffer_once): Set dummy default values for fringe-indicator-alist and fringe-cursor-alist. The proper default values are set by pre-loading fringe.el. (syms_of_buffer): defvar_per_buffer new fringe-indicator-alist and fringe-cursor-alist buffer-local variables and defvar_lisp_nopro correspondig default- variables. diff -r d037a8cb1b92 -r 7e64cebb0463 src/buffer.c --- a/src/buffer.c Mon Feb 20 21:55:04 2006 +0000 +++ b/src/buffer.c Mon Feb 20 22:14:06 2006 +0000 @@ -4993,6 +4993,8 @@ buffer_defaults.vertical_scroll_bar_type = Qt; buffer_defaults.indicate_empty_lines = Qnil; buffer_defaults.indicate_buffer_boundaries = Qnil; + buffer_defaults.fringe_indicator_alist = Qnil; + buffer_defaults.fringe_cursor_alist = Qnil; buffer_defaults.scroll_up_aggressively = Qnil; buffer_defaults.scroll_down_aggressively = Qnil; buffer_defaults.display_time = Qnil; @@ -5064,6 +5066,8 @@ XSETFASTINT (buffer_local_flags.vertical_scroll_bar_type, idx); ++idx; XSETFASTINT (buffer_local_flags.indicate_empty_lines, idx); ++idx; XSETFASTINT (buffer_local_flags.indicate_buffer_boundaries, idx); ++idx; + XSETFASTINT (buffer_local_flags.fringe_indicator_alist, idx); ++idx; + XSETFASTINT (buffer_local_flags.fringe_cursor_alist, idx); ++idx; XSETFASTINT (buffer_local_flags.scroll_up_aggressively, idx); ++idx; XSETFASTINT (buffer_local_flags.scroll_down_aggressively, idx); ++idx; XSETFASTINT (buffer_local_flags.header_line_format, idx); ++idx; @@ -5357,6 +5361,16 @@ doc: /* Default value of `indicate-buffer-boundaries' for buffers that don't override it. This is the same as (default-value 'indicate-buffer-boundaries). */); + DEFVAR_LISP_NOPRO ("default-fringe-indicator-alist", + &buffer_defaults.fringe_indicator_alist, + doc: /* Default value of `fringe-indicator-alist' for buffers that don't override it. +This is the same as (default-value 'fringe-indicator-alist'). */); + + DEFVAR_LISP_NOPRO ("default-fringe-cursor-alist", + &buffer_defaults.fringe_cursor_alist, + doc: /* Default value of `fringe-cursor-alist' for buffers that don't override it. +This is the same as (default-value 'fringe-cursor-alist'). */); + DEFVAR_LISP_NOPRO ("default-scroll-up-aggressively", &buffer_defaults.scroll_up_aggressively, doc: /* Default value of `scroll-up-aggressively'. @@ -5702,6 +5716,40 @@ bitmaps in right fringe. To show just the angle bitmaps in the left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). */); + DEFVAR_PER_BUFFER ("fringe-indicator-alist", + ¤t_buffer->fringe_indicator_alist, Qnil, + doc: /* *Mapping from logical to physical fringe indicator bitmaps. +The value is an alist where each element (INDICATOR . BITMAPS) +specifies the fringe bitmaps used to display a specific logical +fringe indicator. + +INDICATOR specifies the logical indicator type which is one of the +following symbols: `truncation' , `continuation', `overlay-arrow', +`top', `bottom', `up', `down', `one-line', `empty-line', or `unknown'. + +BITMAPS is list of symbols (LEFT RIGHT [LEFT1 RIGHT1]) which specifies +the actual bitmap shown in the left or right fringe for the logical +indicator. LEFT and RIGHT are the bitmaps shown in the left and/or +right fringe for the specific indicator. The LEFT1 or RIGHT1 bitmaps +are used only for the `bottom' and `one-line' indicators when the last +(only) line in has no final newline. BITMAPS may also be a single +symbol which is used in both left and right fringes. */); + + DEFVAR_PER_BUFFER ("fringe-cursor-alist", + ¤t_buffer->fringe_cursor_alist, Qnil, + doc: /* *Mapping from logical to physical fringe cursor bitmaps. +The value is an alist where each element (CURSOR . BITMAP) +specifies the fringe bitmaps used to display a specific logical +cursor type in the fringe. + +CURSOR specifies the logical cursor type which is one of the following +symbols: `box' , `hollow', `bar', `hbar', or `hollow-small'. The last +one is used to show a hollow cursor on narrow lines display lines +where the normal hollow cursor will not fit. + +BITMAP is the corresponding fringe bitmap shown for the logical +cursor type. */); + DEFVAR_PER_BUFFER ("scroll-up-aggressively", ¤t_buffer->scroll_up_aggressively, Qnil, doc: /* How far to scroll windows upward.