changeset 96875:771bcc6d1c99

(menu-bar-line-wrapping-menu): Use Visual Line mode for "word wrap" command.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 21 Jul 2008 18:14:46 +0000
parents 8683c121397c
children f09a4bda08dc
files lisp/menu-bar.el
diffstat 1 files changed, 22 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/menu-bar.el	Mon Jul 21 18:14:23 2008 +0000
+++ b/lisp/menu-bar.el	Mon Jul 21 18:14:46 2008 +0000
@@ -1057,30 +1057,38 @@
 
 (defvar menu-bar-line-wrapping-menu (make-sparse-keymap "Line Wrapping"))
 
+(define-key menu-bar-line-wrapping-menu [word-wrap]
+  '(menu-item "Word Wrap (Visual Line mode)"
+	      (lambda ()
+		(interactive)
+		(unless visual-line-mode
+		  (visual-line-mode 1))
+		(message "Visual-Line mode enabled"))
+	      :help "Wrap long lines at word boundaries"
+	      :button (:radio . (and (null truncate-lines)
+				     (not (truncated-partial-width-window-p))
+				     word-wrap))
+	      :visible (menu-bar-menu-frame-live-and-visible-p)))
+
 (define-key menu-bar-line-wrapping-menu [truncate]
   '(menu-item "Truncate Long Lines"
-	      toggle-truncate-lines
+	      (lambda ()
+		(interactive)
+		(if visual-line-mode (visual-line-mode 0))
+		(setq word-wrap nil)
+		(toggle-truncate-lines 1))
 	      :help "Truncate long lines at window edge"
 	      :button (:radio . (or truncate-lines
 				    (truncated-partial-width-window-p)))
 	      :visible (menu-bar-menu-frame-live-and-visible-p)
 	      :enable (not (truncated-partial-width-window-p))))
 
-(define-key menu-bar-line-wrapping-menu [word-wrap]
-  '(menu-item "Wrap at Word Boundaries"
-	      (lambda () (interactive) (setq truncate-lines nil
-					     word-wrap t))
-	      :help "Wrap long lines at word boundaries"
-	      :button (:radio . (and (null truncate-lines)
-				     (not (truncated-partial-width-window-p))
-				     word-wrap))
-	      :visible (menu-bar-menu-frame-live-and-visible-p)
-	      :enable (not (truncated-partial-width-window-p))))
-
 (define-key menu-bar-line-wrapping-menu [window-wrap]
   '(menu-item "Wrap at Window Edge"
-	      (lambda () (interactive) (setq truncate-lines nil
-					     word-wrap nil))
+	      (lambda () (interactive)
+		(if visual-line-mode (visual-line-mode 0))
+		(setq word-wrap nil)
+		(if truncate-lines (toggle-truncate-lines -1)))
 	      :help "Wrap long lines at window edge"
 	      :button (:radio . (and (null truncate-lines)
 				     (not (truncated-partial-width-window-p))