From 178932de25318366416499c3af975340c22323e4 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 10 Nov 2000 11:43:55 +0000 Subject: [PATCH] (fill-indent-according-to-mode): New var. (fill-region-as-paragraph): Use it. --- lisp/ChangeLog | 15 +++++++++++++++ lisp/textmodes/fill.el | 21 +++++++++++++++------ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f5aa4e5f66d..483e6976aba 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,18 @@ +2000-11-10 Stefan Monnier + + * textmodes/fill.el (fill-indent-according-to-mode): New var. + (fill-region-as-paragraph): Use it. + + * textmodes/tex-mode.el (standard-latex-block-names): Add "math". + (latex-mode): Tweak tex-*-(head|trail)er regexps. + Tweak paragraph regexps to allow a leading [ \t]*. + (tex-latex-block): Insert a newline if necessary. + (latex-insert-item): Only insert a newline if necessary. + (tex-guess-main-file): New function. + (tex-main-file): Use it. Add arg `realfile'. Trim `.tex'. + Set tex-main-file if TeX-master is provided. + (tex-latex-indent-syntax-table): Map ( and ) to punctuation. + 2000-11-10 Gerd Moellmann * startup.el (command-line): Set the default tooltip-mode diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index d7a627c19f3..fd433f3456c 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -120,6 +120,9 @@ This function is used when `adaptive-fill-regexp' does not match." :type 'function :group 'fill) +(defvar fill-indent-according-to-mode nil + "Whether or not filling should try to use the major mode's indentation.") + (defun current-fill-column () "Return the fill-column to use for this line. The fill-column to use for a buffer is stored in the variable `fill-column', @@ -193,7 +196,7 @@ Remove indentation from each line." (defun fill-common-string-prefix (s1 s2) "Return the longest common prefix of strings S1 and S2, or nil if none." (let ((cmp (compare-strings s1 nil nil s2 nil nil))) - (if (eq cmp t) + (if (eq cmp t) s1 (setq cmp (1- (abs cmp))) (unless (zerop cmp) @@ -380,10 +383,10 @@ space does not end a sentence, so don't break a line there." (backward-char 1) (setq oneleft t))) (setq to (point)) -;;; ;; If there was no newline, and there is text in the paragraph, then -;;; ;; create a newline. -;;; (if (and (not oneleft) (> to from-plus-indent)) -;;; (newline)) + ;; ;; If there was no newline, and there is text in the paragraph, then + ;; ;; create a newline. + ;; (if (and (not oneleft) (> to from-plus-indent)) + ;; (newline)) (goto-char from-plus-indent)) (if (not (> to (point))) @@ -642,7 +645,13 @@ space does not end a sentence, so don't break a line there." ;; Give newline the properties of the space(s) it replaces (set-text-properties (1- (point)) (point) (text-properties-at (point))) - (indent-to-left-margin) + (if (or fill-prefix + (not fill-indent-according-to-mode) + (memq indent-line-function + ;; Brain dead "indenting" functions. + '(indent-relative-maybe indent-relative))) + (indent-to-left-margin) + (indent-according-to-mode)) ;; Insert the fill prefix after indentation. ;; Set prefixcol so whitespace in the prefix won't get lost. (and fill-prefix (not (equal fill-prefix "")) -- 2.39.5