From: Richard M. Stallman Date: Thu, 28 Aug 1997 02:53:44 +0000 (+0000) Subject: (text-mode-variant): New variable. X-Git-Tag: emacs-20.1~358 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4c69a3beaf258c287fc3efcc40e3defb1f0e9ec2;p=emacs.git (text-mode-variant): New variable. (text-mode): Set that variable locally. (toggle-text-mode-auto-fill): New command. --- diff --git a/lisp/textmodes/text-mode.el b/lisp/textmodes/text-mode.el index 02398161691..eb06fdaeb5f 100644 --- a/lisp/textmodes/text-mode.el +++ b/lisp/textmodes/text-mode.el @@ -31,6 +31,9 @@ (defvar text-mode-hook nil "Normal hook run when entering Text mode and many related modes.") +(defvar text-mode-variant nil + "Non-nil if this buffer's major mode is a variant of Text mode.") + (defvar text-mode-syntax-table nil "Syntax table used while in text mode.") @@ -75,6 +78,8 @@ Turning on Text mode runs the normal hook `text-mode-hook'." (setq paragraph-start (concat "[ \t]*$\\|" page-delimiter)) (make-local-variable 'paragraph-separate) (setq paragraph-separate paragraph-start) + (make-local-variable 'text-mode-variant) + (setq text-mode-variant t) (setq mode-name "Text") (setq major-mode 'text-mode) (run-hooks 'text-mode-hook)) @@ -98,6 +103,24 @@ Turning on Paragraph-Indent Text mode runs the normal hooks (defalias 'indented-text-mode 'text-mode) +(defun toggle-text-mode-auto-fill () + "Toggle whether to use Auto Fill 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-auto-fill text-mode-hook))) + (buffers (buffer-list))) + (if enable-mode + (add-hook 'text-mode-hook 'turn-on-auto-fill) + (remove-hook 'text-mode-hook 'turn-on-auto-fill)) + (while buffers + (with-current-buffer (car buffers) + (if text-mode-variant + (auto-fill-mode (if enable-mode 1 0)))) + (setq buffers (cdr buffers))) + (message "Auto Fill %s in Text modes" + (if enable-mode "enabled" "disabled")))) + (defun center-paragraph () "Center each nonblank line in the paragraph at or after point. See `center-line' for more info."