Index: menu-bar.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/menu-bar.el,v
retrieving revision 1.261
diff -c -r1.261 menu-bar.el
*** menu-bar.el	4 Jul 2005 23:08:56 -0000	1.261
--- menu-bar.el	18 Jul 2005 21:41:44 -0000
***************
*** 1031,1036 ****
--- 1031,1052 ----
                :button (:toggle . (if (listp text-mode-hook)
  				     (member 'turn-on-auto-fill text-mode-hook)
  				   (eq 'turn-on-auto-fill text-mode-hook)))))
+ 
+ (defun menu-bar-text-mode-longlines ()
+   (interactive)
+   (toggle-text-mode-longlines)
+   ;; This is somewhat questionable, as `text-mode-hook'
+   ;; might have changed outside customize.
+   ;; -- Per Abrahamsen <abraham@dina.kvl.dk> 2002-02-11.
+   (customize-mark-as-set 'text-mode-hook))
+ 
+ (define-key menu-bar-options-menu [longlines-mode]
+   '(menu-item "Soft Word Wrap in Text Modes"
+               menu-bar-text-mode-longlines
+ 	      :help "Automatically wrap words at line margins without creating new lines. (Longlines)"
+               :button (:toggle . (if (listp text-mode-hook)
+ 				     (member 'turn-on-longlines text-mode-hook)
+ 				   (eq 'turn-on-longlines text-mode-hook)))))
  (define-key menu-bar-options-menu [truncate-lines]
    '(menu-item "Truncate Long Lines in this Buffer"
  	      toggle-truncate-lines
Index: textmodes/text-mode.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/textmodes/text-mode.el,v
retrieving revision 1.46
diff -c -r1.46 text-mode.el
*** textmodes/text-mode.el	4 Jul 2005 16:45:00 -0000	1.46
--- textmodes/text-mode.el	18 Jul 2005 21:41:44 -0000
***************
*** 32,38 ****
  (defcustom text-mode-hook nil
    "Normal hook run when entering Text mode and many related modes."
    :type 'hook
!   :options '(turn-on-auto-fill flyspell-mode)
    :group 'data)
  
  (defvar text-mode-variant nil
--- 32,38 ----
  (defcustom text-mode-hook nil
    "Normal hook run when entering Text mode and many related modes."
    :type 'hook
!   :options '(turn-on-auto-fill turn-on-longlines flyspell-mode)
    :group 'data)
  
  (defvar text-mode-variant nil
***************
*** 122,127 ****
--- 122,147 ----
  	(if (or (derived-mode-p 'text-mode) text-mode-variant)
  	    (auto-fill-mode (if enable-mode 1 0)))))
      (message "Auto Fill %s in Text modes"
+ 	     (if enable-mode "enabled" "disabled"))))
+ 
+ (defun turn-on-longlines ()
+    "Unconditionally turn on Longlines mode."
+    (longlines-mode 1))
+  
+ (defun toggle-text-mode-longlines ()
+   "Toggle whether to use `longlines-mode' in Text mode and related modes.
+  This command affects all buffers that use modes related to Text mode,
+  both existing buffers and buffers that you subsequently create."
+   (interactive)
+   (let ((enable-mode (not (memq 'turn-on-longlines text-mode-hook))))
+     (if enable-mode
+ 	(add-hook 'text-mode-hook 'turn-on-longlines)
+       (remove-hook 'text-mode-hook 'turn-on-longlines))
+     (dolist (buffer (buffer-list))
+       (with-current-buffer buffer
+ 	(if (or (derived-mode-p 'text-mode) text-mode-variant)
+ 	    (longlines-mode (if enable-mode 1 0)))))
+     (message "Longlines Mode %s in Text modes"
  	     (if enable-mode "enabled" "disabled"))))
  
  (defun center-paragraph ()
