[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/textmodes/refill.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/textmodes/refill.el |
Date: |
Sun, 23 Jan 2005 17:02:02 -0500 |
Index: emacs/lisp/textmodes/refill.el
diff -c emacs/lisp/textmodes/refill.el:1.18 emacs/lisp/textmodes/refill.el:1.19
*** emacs/lisp/textmodes/refill.el:1.18 Mon Sep 1 15:45:40 2003
--- emacs/lisp/textmodes/refill.el Sun Jan 23 22:01:59 2005
***************
*** 1,6 ****
;;; refill.el --- `auto-fill' by refilling paragraphs on changes
! ;; Copyright (C) 2000, 2003 Free Software Foundation, Inc.
;; Author: Dave Love <address@hidden>
;; Maintainer: Miles Bader <address@hidden>
--- 1,6 ----
;;; refill.el --- `auto-fill' by refilling paragraphs on changes
! ;; Copyright (C) 2000, 2003, 2005 Free Software Foundation, Inc.
;; Author: Dave Love <address@hidden>
;; Maintainer: Miles Bader <address@hidden>
***************
*** 85,90 ****
--- 85,92 ----
;;; Code:
+ (eval-when-compile (require 'cl))
+
(defgroup refill nil
"Refilling paragraphs on changes."
:group 'fill)
***************
*** 169,208 ****
"Post-command function to do refilling (conditionally)."
(when refill-doit ; there was a change
;; There's probably scope for more special cases here...
! (if (eq this-command 'self-insert-command)
! ;; Treat self-insertion commands specially, since they don't
! ;; always reset `refill-doit' -- for self-insertion commands that
! ;; *don't* cause a refill, we want to leave it turned on so that
! ;; any subsequent non-modification command will cause a refill.
! (when (aref auto-fill-chars (char-before))
! ;; Respond to the same characters as auto-fill (other than
! ;; newline, covered below).
! (refill-fill-paragraph-at refill-doit)
! (setq refill-doit nil))
! (cond
! ((or (eq this-command 'quoted-insert)
! (eq this-command 'fill-paragraph)
! (eq this-command 'fill-region))
! nil)
! ((or (eq this-command 'newline)
! (eq this-command 'newline-and-indent)
! (eq this-command 'open-line))
! ;; Don't zap what was just inserted.
! (save-excursion
! (beginning-of-line) ; for newline-and-indent
! (skip-chars-backward "\n")
! (save-restriction
! (narrow-to-region (point-min) (point))
! (refill-fill-paragraph-at refill-doit)))
! (widen)
! (save-excursion
! (skip-chars-forward "\n")
! (save-restriction
! (narrow-to-region (line-beginning-position) (point-max))
! (refill-fill-paragraph-at refill-doit))))
! (t
! (refill-fill-paragraph-at refill-doit)))
! (setq refill-doit nil))))
(defun refill-pre-command-function ()
"Pre-command function to do refilling (conditionally)."
--- 171,206 ----
"Post-command function to do refilling (conditionally)."
(when refill-doit ; there was a change
;; There's probably scope for more special cases here...
! (case this-command
! (self-insert-command
! ;; Treat self-insertion commands specially, since they don't
! ;; always reset `refill-doit' -- for self-insertion commands that
! ;; *don't* cause a refill, we want to leave it turned on so that
! ;; any subsequent non-modification command will cause a refill.
! (when (aref auto-fill-chars (char-before))
! ;; Respond to the same characters as auto-fill (other than
! ;; newline, covered below).
! (refill-fill-paragraph-at refill-doit)
! (setq refill-doit nil)))
! ((quoted-insert fill-paragraph fill-region) nil)
! ((newline newline-and-indent open-line indent-new-comment-line
! reindent-then-newline-and-indent)
! ;; Don't zap what was just inserted.
! (save-excursion
! (beginning-of-line) ; for newline-and-indent
! (skip-chars-backward "\n")
! (save-restriction
! (narrow-to-region (point-min) (point))
! (refill-fill-paragraph-at refill-doit)))
! (widen)
! (save-excursion
! (skip-chars-forward "\n")
! (save-restriction
! (narrow-to-region (line-beginning-position) (point-max))
! (refill-fill-paragraph-at refill-doit))))
! (t
! (refill-fill-paragraph-at refill-doit)))
! (setq refill-doit nil)))
(defun refill-pre-command-function ()
"Pre-command function to do refilling (conditionally)."
***************
*** 213,219 ****
(refill-fill-paragraph-at refill-doit)
(setq refill-doit nil)))
! (defvar refill-late-fill-paragraph-function nil)
;;;###autoload
(define-minor-mode refill-mode
--- 211,217 ----
(refill-fill-paragraph-at refill-doit)
(setq refill-doit nil)))
! (defvar refill-saved-state nil)
;;;###autoload
(define-minor-mode refill-mode
***************
*** 228,243 ****
(when refill-ignorable-overlay
(delete-overlay refill-ignorable-overlay)
(kill-local-variable 'refill-ignorable-overlay))
! (when (local-variable-p 'refill-late-fill-paragraph-function)
! (setq fill-paragraph-function refill-late-fill-paragraph-function)
! (kill-local-variable 'refill-late-fill-paragraph-function))
(if refill-mode
(progn
(add-hook 'after-change-functions 'refill-after-change-function nil t)
(add-hook 'post-command-hook 'refill-post-command-function nil t)
(add-hook 'pre-command-hook 'refill-pre-command-function nil t)
! (set (make-local-variable 'refill-late-fill-paragraph-function)
! fill-paragraph-function)
;; This provides the test for recursive paragraph filling.
(set (make-local-variable 'fill-paragraph-function)
'refill-fill-paragraph)
--- 226,243 ----
(when refill-ignorable-overlay
(delete-overlay refill-ignorable-overlay)
(kill-local-variable 'refill-ignorable-overlay))
! (when (local-variable-p 'refill-saved-state)
! (dolist (x refill-saved-state)
! (set (make-local-variable (car x)) (cdr x)))
! (kill-local-variable 'refill-saved-state))
(if refill-mode
(progn
(add-hook 'after-change-functions 'refill-after-change-function nil t)
(add-hook 'post-command-hook 'refill-post-command-function nil t)
(add-hook 'pre-command-hook 'refill-pre-command-function nil t)
! (set (make-local-variable 'refill-saved-state)
! (mapcar (lambda (s) (cons s (symbol-value s)))
! '(fill-paragraph-function auto-fill-function)))
;; This provides the test for recursive paragraph filling.
(set (make-local-variable 'fill-paragraph-function)
'refill-fill-paragraph)
***************
*** 257,261 ****
(provide 'refill)
! ;;; arch-tag: 2c4ce9e8-1daa-4a3b-b6f8-fd6ac5bf6138
;;; refill.el ends here
--- 257,261 ----
(provide 'refill)
! ;; arch-tag: 2c4ce9e8-1daa-4a3b-b6f8-fd6ac5bf6138
;;; refill.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/textmodes/refill.el,
Stefan Monnier <=