X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fgnus-util.el;h=65707dd3f4122d7507de01159b3077d399f748cb;hb=b9304ba9cb3ac9068fa75eb34e3e21506115ffb8;hp=c81206d7a658947c70f69e1efb11962aaa9db105;hpb=2c6a80f4efb53f299a7b96250fe55d15b1918418;p=elisp%2Fgnus.git- diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index c81206d..65707dd 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -222,12 +222,15 @@ is slower." (defun gnus-remove-text-with-property (prop) "Delete all text in the current buffer with text property PROP." - (save-excursion - (goto-char (point-min)) - (while (not (eobp)) - (while (get-text-property (point) prop) - (delete-char 1)) - (goto-char (next-single-property-change (point) prop nil (point-max)))))) + (let ((start (point-min)) + end) + (unless (get-text-property start prop) + (setq start (next-single-property-change start prop))) + (while start + (setq end (text-property-any start (point-max) prop nil)) + (delete-region start (or end (point-max))) + (setq start (when end + (next-single-property-change start prop)))))) (defun gnus-newsgroup-directory-form (newsgroup) "Make hierarchical directory name from NEWSGROUP name."