(tex-font-lock-append-prop, tex-font-lock-suscript, tex-insert-quote)
[bpt/emacs.git] / lisp / textmodes / text-mode.el
index 90018b0..5e4cfc8 100644 (file)
@@ -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 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:
 
@@ -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