Jérôme Marant <[EMAIL PROTECTED]> writes: > Would you mind providing this patch as a dpatch please?
Erm, ok, here goes: #! /bin/sh /usr/share/dpatch/dpatch-run ## whitespace-readonly-infloop.dpatch by Romain Francoise <[EMAIL PROTECTED]> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: ** Avoid an infinite loop in whitespace.el if kill-read-only is ## DP: set to t. ## DP: Status: has been incorporated upstream ## DP: Provided by: Richard Stallman <[EMAIL PROTECTED]> ## DP: Date: Tue, 09 Aug 2005 16:47:25 +0200 @DPATCH@ diff -urNad --exclude=CVS --exclude=.svn ./lisp/whitespace.el /tmp/dpep-work.Gk47lX/emacs21-21.4a/lisp/whitespace.el --- ./lisp/whitespace.el 2001-08-20 22:56:08.000000000 +0200 +++ /tmp/dpep-work.Gk47lX/emacs21-21.4a/lisp/whitespace.el 2005-08-09 16:45:25.000000000 +0200 @@ -504,17 +504,9 @@ (defun whitespace-buffer-leading-cleanup () "Remove any empty lines at the top of the file." (save-excursion - (let ((pmin nil) - (pmax nil)) - (goto-char (point-min)) - (beginning-of-line) - (setq pmin (point)) - (end-of-line) - (setq pmax (point)) - (if (equal pmin pmax) - (progn - (kill-line) - (whitespace-buffer-leading-cleanup)))))) + (goto-char (point-min)) + (skip-chars-forward "\n") + (delete-region (point-min) (point)))) (defun whitespace-buffer-trailing () "Check to see if are is more than one empty line at the bottom." @@ -541,26 +533,11 @@ (defun whitespace-buffer-trailing-cleanup () "Delete all the empty lines at the bottom." (save-excursion - (let ((pmin nil) - (pmax nil)) - (goto-char (point-max)) - (beginning-of-line) - (setq pmin (point)) - (end-of-line) - (setq pmax (point)) - (if (equal pmin pmax) - (progn - (goto-char (1- pmin)) - (beginning-of-line) - (setq pmin (point)) - (end-of-line) - (setq pmax (point)) - (if (equal pmin pmax) - (progn - (goto-char (1- (point-max))) - (beginning-of-line) - (kill-line) - (whitespace-buffer-trailing-cleanup)))))))) + (goto-char (point-max)) + (skip-chars-backward "\n") + (if (not (bolp)) + (forward-char 1)) + (delete-region (point) (point-max)))) (defun whitespace-buffer-search (regexp) "Search for any given whitespace REGEXP." -- ,''`. : :' : Romain Francoise <[EMAIL PROTECTED]> `. `' http://people.debian.org/~rfrancoise/ `-