mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-31 20:02:42 +00:00
(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'.
This commit is contained in:
parent
aba7ce7740
commit
ad2feb0890
@ -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 @@ This is used to optimize refilling.")
|
||||
(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."
|
||||
|
Loading…
Reference in New Issue
Block a user