Mercurial > hg > xemacs-beta
diff lisp/gnus/gnus-sum.el @ 110:fe104dbd9147 r20-1b7
Import from CVS: tag r20-1b7
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:19:45 +0200 |
parents | 360340f9fd5f |
children | 48d667d6f17f |
line wrap: on
line diff
--- a/lisp/gnus/gnus-sum.el Mon Aug 13 09:18:41 2007 +0200 +++ b/lisp/gnus/gnus-sum.el Mon Aug 13 09:19:45 2007 +0200 @@ -2449,7 +2449,7 @@ (symbolp (car elem)) ; Has to be a symbol in there. (not (memq (car elem) '(quit-config to-address to-list to-group))) - (progn ; So we set it. + (ignore-errors ; So we set it. (make-local-variable (car elem)) (set (car elem) (eval (nth 1 elem)))))))) @@ -3190,11 +3190,11 @@ (let ((extract (funcall gnus-extract-address-components (mail-header-from h1)))) - (or (car extract) (cdr extract))) + (or (car extract) (cadr extract) "")) (let ((extract (funcall gnus-extract-address-components (mail-header-from h2)))) - (or (car extract) (cdr extract))))) + (or (car extract) (cadr extract) "")))) (defun gnus-thread-sort-by-author (h1 h2) "Sort threads by root author." @@ -5387,7 +5387,7 @@ (gnus-set-global-variables) (let ((article (gnus-summary-article-number)) (article-window (get-buffer-window gnus-article-buffer t)) - (endp nil)) + endp) (gnus-configure-windows 'article) (if (eq (cdr (assq article gnus-newsgroup-reads)) gnus-canceled-mark) (if (and (eq gnus-summary-goto-unread 'never) @@ -5416,13 +5416,16 @@ (gnus-summary-recenter) (gnus-summary-position-point))) -(defun gnus-summary-prev-page (&optional lines) +(defun gnus-summary-prev-page (&optional lines move) "Show previous page of selected article. -Argument LINES specifies lines to be scrolled down." +Argument LINES specifies lines to be scrolled down. +If MOVE, move to the previous unread article if point is at +the beginning of the buffer." (interactive "P") (gnus-set-global-variables) (let ((article (gnus-summary-article-number)) - (article-window (get-buffer-window gnus-article-buffer t))) + (article-window (get-buffer-window gnus-article-buffer t)) + endp) (gnus-configure-windows 'article) (if (or (null gnus-current-article) (null gnus-article-current) @@ -5433,9 +5436,24 @@ (gnus-summary-recenter) (when article-window (gnus-eval-in-buffer-window gnus-article-buffer - (gnus-article-prev-page lines))))) + (setq endp (gnus-article-prev-page lines))) + (when (and move endp) + (cond (lines + (gnus-message 3 "Beginning of message")) + ((null lines) + (if (and (eq gnus-summary-goto-unread 'never) + (not (gnus-summary-first-article-p article))) + (gnus-summary-prev-article) + (gnus-summary-prev-unread-article)))))))) (gnus-summary-position-point)) +(defun gnus-summary-prev-page-or-article (&optional lines) + "Show previous page of selected article. +Argument LINES specifies lines to be scrolled down. +If at the beginning of the article, go to the next article." + (interactive "P") + (gnus-summary-prev-page lines t)) + (defun gnus-summary-scroll-up (lines) "Scroll up (or down) one line current article. Argument LINES specifies lines to be scrolled up (or down if negative)." @@ -5650,7 +5668,7 @@ gnus-killed-mark gnus-kill-file-mark gnus-low-score-mark gnus-expirable-mark gnus-canceled-mark gnus-catchup-mark gnus-sparse-mark - gnus-duplicate-mark) + gnus-duplicate-mark gnus-souped-mark) 'reverse))) (defalias 'gnus-summary-delete-marked-with 'gnus-summary-limit-exclude-marks)