+2003-04-16 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-art.el (gnus-article-next-page-1): New function.
+ (gnus-article-next-page): Use it.
+
+2003-04-15 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * spam.el (spam-split): added save-restriction to save-excursion
+
+2003-04-15 Reiner Steib <Reiner.Steib@gmx.de>
+ From Julien Avarre <julien@avarre.com>
+
+ * gnus-fun.el: Fixed autoload cookie.
+
+2003-04-15 Paul Jarc <prj@po.cwru.edu>
+ From Remi Letot <remi.letot@easynet.be>
+
+ * nnmaildir.el (nnmaildir-request-scan): Use gnus-remove-if
+ instead of remove-if.
+
2003-04-14 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-msg.el (gnus-summary-news-other-window): Use delq and
If end of article, return non-nil. Otherwise return nil.
Argument LINES specifies lines to be scrolled up."
(interactive "p")
- (let ((start (window-start))
- end-of-buffer end-of-page)
- (save-excursion
- (move-to-window-line -1)
- (if (<= (point) start)
+ (move-to-window-line -1)
+ (if (save-excursion
+ (end-of-line)
+ (and (pos-visible-in-window-p) ;Not continuation line.
+ (>= (1+ (point)) (point-max)))) ;Allow for trailing newline.
+ ;; Nothing in this page.
+ (if (or (not gnus-page-broken)
+ (save-excursion
+ (save-restriction
+ (widen) (forward-line 1) (eobp)))) ;Real end-of-buffer?
(progn
- (forward-line 2)
- (setq start (point)))
- (forward-line 1)
- (setq start nil))
- (unless (or (cond ((eq (1+ (buffer-size)) (point))
- (and (pos-visible-in-window-p)
- (setq end-of-buffer t)))
- ((eobp)
- (setq end-of-page t)))
- (not lines))
- (move-to-window-line lines)
- (unless (search-backward "\n\n" nil t)
- (setq start (point)))))
- (cond (end-of-buffer
- (not gnus-article-over-scroll))
- (end-of-page
- (gnus-narrow-to-page 1)
- nil)
- (t
- (if start
- (set-window-start (selected-window) start)
- (let (window-pixel-scroll-increment)
- (scroll-up lines)))
- nil))))
+ (when gnus-article-over-scroll
+ (gnus-article-next-page-1 lines))
+ t) ;Nothing more.
+ (gnus-narrow-to-page 1) ;Go to next page.
+ nil)
+ ;; More in this page.
+ (gnus-article-next-page-1 lines)
+ nil))
+
+(defun gnus-article-next-page-1 (lines)
+ (let ((scroll-in-place nil))
+ (condition-case ()
+ (scroll-up lines)
+ (end-of-buffer
+ ;; Long lines may cause an end-of-buffer error.
+ (goto-char (point-max)))))
+ (move-to-window-line 0))
(defun gnus-article-prev-page (&optional lines)
"Show previous page of current article.
Argument LINES specifies lines to be scrolled down."
(interactive "p")
- (let (beginning-of-buffer beginning-of-page)
- (save-excursion
- (move-to-window-line 0)
- (cond ((eq 1 (point))
- (setq beginning-of-buffer t))
- ((bobp)
- (setq beginning-of-page t))))
- (cond (beginning-of-buffer)
- (beginning-of-page
- (gnus-narrow-to-page -1))
- (t
- (condition-case nil
- (let (window-pixel-scroll-increment)
- (scroll-down lines))
- (beginning-of-buffer
- (goto-char (point-min))))))))
+ (move-to-window-line 0)
+ (if (and gnus-page-broken
+ (bobp)
+ (not (save-restriction (widen) (bobp)))) ;Real beginning-of-buffer?
+ (progn
+ (gnus-narrow-to-page -1) ;Go to previous page.
+ (goto-char (point-max))
+ (recenter -1))
+ (let ((scroll-in-place nil))
+ (prog1
+ (condition-case ()
+ (scroll-down lines)
+ (beginning-of-buffer
+ (goto-char (point-min))))
+ (move-to-window-line 0)))))
(defun gnus-article-only-boring-p ()
"Decide whether there is only boring text remaining in the article.
(length attempt) quant))
(setq done t)))
(if done
- (mm-with-unibyte-buffer
+ (mm-with-unibyte-buffer
(insert attempt)
(gnus-face-encode))
nil))))
(base64-decode-region (point-min) (point-max)))
(buffer-string)))
-;;;#autoload
+;;;###autoload
(defun gnus-convert-png-to-face (file)
"Convert FILE to a Face.
FILE should be a PNG file that's 48x48 and smaller than or equal to
(setq dirs (funcall srv-ls srv-dir nil "\\`[^.]" 'nosort)
dirs (if (zerop (length target-prefix))
dirs
- (remove-if (lambda (dir)
- (and (>= (length dir) (length target-prefix))
- (string= (substring dir 0 (length target-prefix))
- target-prefix)))
- dirs))
+ (gnus-remove-if
+ (lambda (dir)
+ (and (>= (length dir) (length target-prefix))
+ (string= (substring dir 0
+ (length target-prefix))
+ target-prefix)))
+ dirs))
seen (nnmaildir--up2-1 (length dirs))
seen (make-vector seen 0))
(mapcar
See the Info node `(gnus)Fancy Mail Splitting' for more details."
(interactive)
(save-excursion
- (dolist (check spam-list-of-statistical-checks)
- (when (symbol-value check)
- (widen)
- (gnus-message 8 "spam-split: widening the buffer (%s requires it)"
- (symbol-name check))
- (return)))
-;; (progn (widen) (debug (buffer-string)))
- (let ((list-of-checks spam-list-of-checks)
- decision)
- (while (and list-of-checks (not decision))
- (let ((pair (pop list-of-checks)))
- (when (symbol-value (car pair))
- (gnus-message 5 "spam-split: calling the %s function" (symbol-name (cdr pair)))
- (setq decision (funcall (cdr pair))))))
- (if (eq decision t)
- nil
- decision))))
-
+ (save-restriction
+ (dolist (check spam-list-of-statistical-checks)
+ (when (symbol-value check)
+ (widen)
+ (gnus-message 8 "spam-split: widening the buffer (%s requires it)"
+ (symbol-name check))
+ (return)))
+ ;; (progn (widen) (debug (buffer-string)))
+ (let ((list-of-checks spam-list-of-checks)
+ decision)
+ (while (and list-of-checks (not decision))
+ (let ((pair (pop list-of-checks)))
+ (when (symbol-value (car pair))
+ (gnus-message 5 "spam-split: calling the %s function" (symbol-name (cdr pair)))
+ (setq decision (funcall (cdr pair))))))
+ (if (eq decision t)
+ nil
+ decision)))))
+
(defun spam-setup-widening ()
(dolist (check spam-list-of-statistical-checks)
(when (symbol-value check)
+2003-04-16 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Group Line Specification): Add.
+
2003-04-13 Simon Josefsson <jas@extundo.com>
* gnus.texi (Security): Add text about PGP key snarf.
\e$B%H\e(B (@pxref{Group Parameters}) \e$B$^$?$O%0%k!<%WL>!#\e(B
@item D
-\e$B%K%e!<%9%0%k!<%W$N@bL@!#\e(B
+\e$B%K%e!<%9%0%k!<%W$N@bL@!#$3$l$i$,8=$l$kA0$K!"%0%k!<%W$N@bL@$rFI$`I,MW$,$"\e(B
+\e$B$j$^$9!#$=$l$K$O\e(B @code{gnus-read-active-file} \e$B$r@_Dj$9$k$+!"%0%k!<%W%P%C\e(B
+\e$B%U%!$G\e(B @kbd{M-d} \e$B%3%^%s%I$r;H$C$F2<$5$$!#\e(B
@item o
\e$B;J2q<TIU$-$N>l9g\e(B @samp{m}\e$B!#\e(B
comment element in the group parameters.
@item D
-Newsgroup description.
+Newsgroup description. You need to read the group descriptions
+before these will appear, and to do that, you either have to set
+@code{gnus-read-active-file} or use the group buffer @kbd{M-d}
+command.
@item o
@samp{m} if moderated.