Mercurial > emacs
changeset 51335:816e3b31173a
(refill-adjust-ignorable-overlay): Don't hardcode pint-min == 1.
(refill-fill-paragraph-at): Use a more robust method to detect
when the paragraph is after point. Remove unused var `fill-pfx'.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 30 May 2003 18:28:16 +0000 |
parents | ed3269a70a9f |
children | c1252b2b2582 |
files | lisp/textmodes/refill.el |
diffstat | 1 files changed, 39 insertions(+), 43 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/textmodes/refill.el Fri May 30 16:02:26 2003 +0000 +++ b/lisp/textmodes/refill.el Fri May 30 18:28:16 2003 +0000 @@ -1,6 +1,6 @@ ;;; refill.el --- `auto-fill' by refilling paragraphs on changes -;; Copyright (C) 2000 Free Software Foundation, Inc. +;; Copyright (C) 2000, 2003 Free Software Foundation, Inc. ;; Author: Dave Love <fx@gnu.org> ;; Keywords: wp @@ -101,53 +101,49 @@ (forward-line -1) (if (<= (point) (overlay-start overlay)) ;; Just get OVERLAY out of the way - (move-overlay overlay 1 1) + (move-overlay overlay (point-min) (point-min)) ;; Make overlay contain only the region (move-overlay overlay (overlay-start overlay) (point)))))) (defun refill-fill-paragraph-at (pos &optional arg) "Like `fill-paragraph' at POS, but don't delete whitespace at paragraph end." - (let (fill-pfx) - (save-excursion - (goto-char pos) - (unless (or (and (bolp) (eolp)) - (save-match-data (looking-at "\n\n"))) - ;; FIXME: forward-paragraph seems to disregard `use-hard-newlines', - ;; leading to excessive refilling and wrong choice of fill-prefix. - ;; might be a bug in my paragraphs.el. - (forward-paragraph) - (skip-syntax-backward "-") - (let ((end (point)) - (beg (progn (backward-paragraph) (point))) - (obeg (overlay-start refill-ignorable-overlay)) - (oend (overlay-end refill-ignorable-overlay))) - (goto-char pos) - (if (and (>= beg obeg) (< beg oend)) - ;; Limit filling to the modified tail of the paragraph. - (let ( ;; When adaptive-fill-mode is enabled, the filling - ;; functions will attempt to set the fill prefix from - ;; the fake paragraph bounds we pass in, so set it - ;; ourselves first, using the real paragraph bounds. - (fill-prefix - (if (and adaptive-fill-mode - (or (null fill-prefix) (string= fill-prefix ""))) - (fill-context-prefix beg end) - fill-prefix)) - ;; Turn off adaptive-fill-mode temporarily - (adaptive-fill-mode nil)) - (save-restriction - (if use-hard-newlines - (fill-region oend end arg) - (fill-region-as-paragraph oend end arg))) - (setq fill-pfx fill-prefix) - (move-overlay refill-ignorable-overlay obeg (point))) - ;; Fill the whole paragraph - (setq fill-pfx - (save-restriction - (if use-hard-newlines - (fill-region beg end arg) - (fill-region-as-paragraph beg end arg)))) - (move-overlay refill-ignorable-overlay beg (point)))))))) + (save-excursion + (goto-char pos) + ;; FIXME: forward-paragraph seems to disregard `use-hard-newlines', + ;; leading to excessive refilling and wrong choice of fill-prefix. + ;; might be a bug in my paragraphs.el. + (forward-paragraph) + (skip-syntax-backward "-") + (let ((end (point)) + (beg (progn (backward-paragraph) (point))) + (obeg (overlay-start refill-ignorable-overlay)) + (oend (overlay-end refill-ignorable-overlay))) + (unless (> beg pos) ;Don't fill if point is outside the paragraph. + (goto-char pos) + (if (and (>= beg obeg) (< beg oend)) + ;; Limit filling to the modified tail of the paragraph. + (let ( ;; When adaptive-fill-mode is enabled, the filling + ;; functions will attempt to set the fill prefix from + ;; the fake paragraph bounds we pass in, so set it + ;; ourselves first, using the real paragraph bounds. + (fill-prefix + (if (and adaptive-fill-mode + (or (null fill-prefix) (string= fill-prefix ""))) + (fill-context-prefix beg end) + fill-prefix)) + ;; Turn off adaptive-fill-mode temporarily + (adaptive-fill-mode nil)) + (save-restriction + (if use-hard-newlines + (fill-region oend end arg) + (fill-region-as-paragraph oend end arg))) + (move-overlay refill-ignorable-overlay obeg (point))) + ;; Fill the whole paragraph + (save-restriction + (if use-hard-newlines + (fill-region beg end arg) + (fill-region-as-paragraph beg end arg))) + (move-overlay refill-ignorable-overlay beg (point))))))) (defun refill-fill-paragraph (arg) "Like `fill-paragraph' but don't delete whitespace at paragraph end."