comparison src/buffer.c @ 9419:b429144f6ace

(syms_of_buffer): Doc fix for cache-long-line-scans.
author Jim Blandy <jimb@redhat.com>
date Mon, 10 Oct 1994 16:01:58 +0000
parents 9f797989b817
children 06c286dec485
comparison
equal deleted inserted replaced
9418:5d8165cdb0d8 9419:b429144f6ace
2988 DEFVAR_PER_BUFFER ("mark-active", &current_buffer->mark_active, Qnil, 2988 DEFVAR_PER_BUFFER ("mark-active", &current_buffer->mark_active, Qnil,
2989 "Non-nil means the mark and region are currently active in this buffer.\n\ 2989 "Non-nil means the mark and region are currently active in this buffer.\n\
2990 Automatically local in all buffers."); 2990 Automatically local in all buffers.");
2991 2991
2992 DEFVAR_PER_BUFFER ("cache-long-line-scans", &current_buffer->cache_long_line_scans, Qnil, 2992 DEFVAR_PER_BUFFER ("cache-long-line-scans", &current_buffer->cache_long_line_scans, Qnil,
2993 "Non-nil means that Emacs should use caches to handle long lines faster.\n\ 2993 "Non-nil means that Emacs should use caches to handle long lines more quickly.\n\
2994 This variable is buffer-local, in all buffers.\n\
2994 \n\ 2995 \n\
2995 Emacs moves from one line to the next by scanning the buffer for\n\ 2996 Normally, the line-motion functions work by scanning the buffer for\n\
2996 newlines, and it implements columnar operations like move-to-column by\n\ 2997 newlines. Columnar operations (like move-to-column and\n\
2997 scanning the buffer, adding character widths as it goes. If the\n\ 2998 compute-motion) also work by scanning the buffer, summing character\n\
2999 widths as they go. This works well for ordinary text, but if the\n\
2998 buffer's lines are very long (say, more than 500 characters), these\n\ 3000 buffer's lines are very long (say, more than 500 characters), these\n\
2999 scans can slow Emacs down a great deal.\n\ 3001 motion functions will take longer to execute. Emacs may also take\n\
3002 longer to update the display.\n\
3000 \n\ 3003 \n\
3001 If this variable is non-nil, Emacs caches the results of its scans,\n\ 3004 If cache-long-line-scans is non-nil, these motion functions cache the\n\
3002 and avoids rescanning regions of the buffer until they are modified.\n\ 3005 results of their scans, and consult the cache to avoid rescanning\n\
3006 regions of the buffer until the text is modified. The caches are most\n\
3007 beneficial when they prevent the most searching---that is, when the\n\
3008 buffer contains long lines and large regions of characters with the\n\
3009 same, fixed screen width.\n\
3003 \n\ 3010 \n\
3004 If this variable is non-nil, short scans will become slightly slower,\n\ 3011 When cache-long-line-scans is non-nil, processing short lines will\n\
3005 and the caches will use memory roughly proportional to the number of\n\ 3012 become slightly slower (because of the overhead of consulting the\n\
3006 newlines and characters whose visual representation can occupy more than\n\ 3013 cache), and the caches will use memory roughly proportional to the\n\
3007 one column."); 3014 number of newlines and characters whose screen width varies.\n\
3015 \n\
3016 The caches require no explicit maintenance; their accuracy is\n\
3017 maintained internally by the Emacs primitives. Enabling or disabling\n\
3018 the cache should not affect the behavior of any of the motion\n\
3019 functions; it should only affect their performance.");
3008 3020
3009 DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode, 3021 DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode,
3010 "*Non-nil means deactivate the mark when the buffer contents change."); 3022 "*Non-nil means deactivate the mark when the buffer contents change.");
3011 Vtransient_mark_mode = Qnil; 3023 Vtransient_mark_mode = Qnil;
3012 3024