Function: refill-fill-paragraph-at

refill-fill-paragraph-at is a byte-compiled function defined in refill.el.gz.

Signature

(refill-fill-paragraph-at POS &optional ARG)

Documentation

Like fill-paragraph at POS, but don't delete whitespace at paragraph end.

Source Code

;; Defined in /usr/src/emacs/lisp/textmodes/refill.el.gz
(defun refill-fill-paragraph-at (pos &optional arg)
  "Like `fill-paragraph' at POS, but don't delete whitespace at paragraph end."
  (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)))))))