# HG changeset patch # User Chong Yidong # Date 1215664043 0 # Node ID 9e942cda4453eee7759de61ed0137ed902bd3753 # Parent 8ae70a3233430acc67931fab33de8d68f45dec5d Remove Longlines mode from menu. Add word-wrap option. diff -r 8ae70a323343 -r 9e942cda4453 lisp/menu-bar.el --- a/lisp/menu-bar.el Thu Jul 10 04:27:05 2008 +0000 +++ b/lisp/menu-bar.el Thu Jul 10 04:27:23 2008 +0000 @@ -1054,24 +1054,43 @@ (member 'turn-on-auto-fill text-mode-hook) (eq 'turn-on-auto-fill text-mode-hook))))) -(define-key menu-bar-options-menu [longlines-mode] - '(menu-item "Word Wrap for Long Lines in this Buffer" - longlines-mode - :help "Perform word wrapping for long lines (Long Lines mode)" - :button (:toggle . (and (boundp 'longlines-mode) - longlines-mode)))) + +(defvar menu-bar-line-wrapping-menu (make-sparse-keymap "Line Wrapping")) + +(define-key menu-bar-line-wrapping-menu [truncate] + '(menu-item "Truncate Long Lines" + toggle-truncate-lines + :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-options-menu [truncate-lines] - '(menu-item "Truncate Long Lines in this Buffer" - toggle-truncate-lines - :help "Truncate long lines at the window edge " - :button (:toggle . (if (or (window-full-width-p) - (not truncate-partial-width-windows)) - truncate-lines - truncate-partial-width-windows)) - :enable (and (menu-bar-menu-frame-live-and-visible-p) - (or (window-full-width-p) - (not truncate-partial-width-windows))))) +(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)) + :help "Wrap long lines at window edge" + :button (:radio . (and (null truncate-lines) + (not (truncated-partial-width-window-p)) + (not word-wrap))) + :visible (menu-bar-menu-frame-live-and-visible-p) + :enable (not (truncated-partial-width-window-p)))) + +(define-key menu-bar-options-menu [line-wrapping] + (list 'menu-item "Line Wrapping in this Buffer" menu-bar-line-wrapping-menu)) + (define-key menu-bar-options-menu [highlight-separator] '("--"))