# HG changeset patch # User Richard M. Stallman # Date 791191059 0 # Node ID 53f34c8702018c33c6509d3c53ebabc16aa2f73d # Parent fd09d51dfd77c6b21d7fb1327b46311e27ed2117 (init_buffer_once, syms_of_buffer): Set up buffer-local var point_before_scroll. (reset_buffer): Init point_before_scroll. diff -r fd09d51dfd77 -r 53f34c870201 src/buffer.c --- a/src/buffer.c Fri Jan 27 07:06:27 1995 +0000 +++ b/src/buffer.c Fri Jan 27 07:17:39 1995 +0000 @@ -423,6 +423,7 @@ b->overlays_after = Qnil; XSETFASTINT (b->overlay_center, 1); b->mark_active = Qnil; + b->point_before_scroll = Qnil; } /* Reset buffer B's local variables info. @@ -2714,6 +2715,7 @@ XSETINT (buffer_local_flags.mode_name, -1); XSETINT (buffer_local_flags.undo_list, -1); XSETINT (buffer_local_flags.mark_active, -1); + XSETINT (buffer_local_flags.point_before_scroll, -1); XSETFASTINT (buffer_local_flags.mode_line_format, 1); XSETFASTINT (buffer_local_flags.abbrev_mode, 2); @@ -3223,6 +3225,9 @@ the cache should not affect the behavior of any of the motion\n\ functions; it should only affect their performance."); + DEFVAR_PER_BUFFER ("point-before-scroll", ¤t_buffer->point_before_scroll, Qnil, + "Value of point before the last series of scroll operations, or nil."); + DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode, "*Non-nil means deactivate the mark when the buffer contents change."); Vtransient_mark_mode = Qnil;