X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/540f653db1742c720077ca50e87c13a17077fc02..a6d583c00a8079c98000fdc80c870f7cdcc9f291:/lisp/textmodes/text-mode.el diff --git a/lisp/textmodes/text-mode.el b/lisp/textmodes/text-mode.el index 90018b067d..9263c48f18 100644 --- a/lisp/textmodes/text-mode.el +++ b/lisp/textmodes/text-mode.el @@ -1,6 +1,7 @@ ;;; text-mode.el --- text mode, and its idiosyncratic commands -;; Copyright (C) 1985, 1992, 1994 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1992, 1994, 2002, 2003, 2004, +;; 2005, 2006 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: wp @@ -19,8 +20,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: @@ -32,7 +33,7 @@ (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) + :options '(turn-on-auto-fill turn-on-flyspell) :group 'data) (defvar text-mode-variant nil @@ -43,7 +44,8 @@ Use (derived-mode-p 'text-mode) instead.") (let ((st (make-syntax-table))) (modify-syntax-entry ?\" ". " st) (modify-syntax-entry ?\\ ". " st) - (modify-syntax-entry ?' "w " st) + ;; We add `p' so that M-c on 'hello' leads to 'Hello' rather than 'hello'. + (modify-syntax-entry ?' "w p" st) st) "Syntax table used while in `text-mode'.") @@ -67,6 +69,8 @@ You can thus get the full benefit of adaptive filling Turning on Text mode runs the normal hook `text-mode-hook'." (make-local-variable 'text-mode-variant) (setq text-mode-variant t) + (set (make-local-variable 'require-final-newline) + mode-require-final-newline) (set (make-local-variable 'indent-line-function) 'indent-relative)) (define-derived-mode paragraph-indent-text-mode text-mode "Parindent" @@ -78,13 +82,14 @@ Special commands: \\{text-mode-map} Turning on Paragraph-Indent Text mode runs the normal hooks `text-mode-hook' and `paragraph-indent-text-mode-hook'." + :abbrev-table nil :syntax-table nil (paragraph-indent-minor-mode)) (defun paragraph-indent-minor-mode () "Minor mode for editing text, with leading spaces starting a paragraph. In this mode, you do not need blank lines between paragraphs when the first line of the following paragraph starts with whitespace, as with -`paragraph-indent-mode'. +`paragraph-indent-text-mode'. Turning on Paragraph-Indent minor mode runs the normal hook `paragraph-indent-text-mode-hook'." (interactive) @@ -92,9 +97,18 @@ Turning on Paragraph-Indent minor mode runs the normal hook (concat "[ \t\n\f]\\|" paragraph-start)) (set (make-local-variable 'indent-line-function) 'indent-to-left-margin) (run-hooks 'paragraph-indent-text-mode-hook)) - + (defalias 'indented-text-mode 'text-mode) +;; This can be made a no-op once all modes that use text-mode-hook +;; are "derived" from text-mode. +(defun text-mode-hook-identify () + "Mark that this mode has run `text-mode-hook'. +This is how `toggle-text-mode-auto-fill' knows which buffers to operate on." + (set (make-local-variable 'text-mode-variant) t)) + +(add-hook 'text-mode-hook 'text-mode-hook-identify) + (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, @@ -166,4 +180,5 @@ The argument NLINES says how many lines to center." (setq nlines (1+ nlines)) (forward-line -1))))) +;;; arch-tag: a07ccaad-da13-4d7b-9c61-cd04f5926aab ;;; text-mode.el ends here