diff src/buffer.c @ 96233:514e5b8b3fbf

(syms_of_buffer): New variables default-word-wrap and word-wrap. (init_buffer_once): Initialize them.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 24 Jun 2008 17:56:14 +0000
parents 54e76878a8c0
children cb6aa853e038
line wrap: on
line diff
--- a/src/buffer.c	Tue Jun 24 17:55:20 2008 +0000
+++ b/src/buffer.c	Tue Jun 24 17:56:14 2008 +0000
@@ -5139,6 +5139,7 @@
 
   XSETFASTINT (buffer_defaults.tab_width, 8);
   buffer_defaults.truncate_lines = Qnil;
+  buffer_defaults.word_wrap = Qnil;
   buffer_defaults.ctl_arrow = Qt;
   buffer_defaults.direction_reversed = Qnil;
   buffer_defaults.cursor_type = Qt;
@@ -5211,6 +5212,7 @@
 #endif
   XSETFASTINT (buffer_local_flags.tab_width, idx); ++idx;
   XSETFASTINT (buffer_local_flags.truncate_lines, idx); ++idx;
+  XSETFASTINT (buffer_local_flags.word_wrap, idx); ++idx;
   XSETFASTINT (buffer_local_flags.ctl_arrow, idx); ++idx;
   XSETFASTINT (buffer_local_flags.fill_column, idx); ++idx;
   XSETFASTINT (buffer_local_flags.left_margin, idx); ++idx;
@@ -5502,6 +5504,11 @@
 		     doc: /* Default value of `truncate-lines' for buffers that do not override it.
 This is the same as (default-value 'truncate-lines).  */);
 
+  DEFVAR_LISP_NOPRO ("default-word-wrap",
+		     &buffer_defaults.word_wrap,
+		     doc: /* Default value of `word-wrap' for buffers that do not override it.
+This is the same as (default-value 'word-wrap).  */);
+
   DEFVAR_LISP_NOPRO ("default-fill-column",
 		     &buffer_defaults.fill_column,
 		     doc: /* Default value of `fill-column' for buffers that do not override it.
@@ -5753,6 +5760,15 @@
 `truncate-partial-width-windows' if that variable is non-nil
 and this buffer is not full-frame width.  */);
 
+  DEFVAR_PER_BUFFER ("word-wrap", &current_buffer->word_wrap, Qnil,
+		     doc: /* *Non-nil means to use word-wrapping for continuation lines.
+When word-wrapping is on, continuation lines are wrapped at the space
+or tab character nearest to the right window edge.
+If nil, continuation lines are wrapped at the right screen edge.
+
+This variable has no effect if long lines are truncated (see
+`truncate-lines' and `truncate-partial-width-windows').  */);
+
 #ifdef DOS_NT
   DEFVAR_PER_BUFFER ("buffer-file-type", &current_buffer->buffer_file_type,
 		     Qnil,