comparison 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
comparison
equal deleted inserted replaced
109:e183fc049578 110:fe104dbd9147
2447 (and (consp elem) ; Has to be a cons. 2447 (and (consp elem) ; Has to be a cons.
2448 (consp (cdr elem)) ; The cdr has to be a list. 2448 (consp (cdr elem)) ; The cdr has to be a list.
2449 (symbolp (car elem)) ; Has to be a symbol in there. 2449 (symbolp (car elem)) ; Has to be a symbol in there.
2450 (not (memq (car elem) 2450 (not (memq (car elem)
2451 '(quit-config to-address to-list to-group))) 2451 '(quit-config to-address to-list to-group)))
2452 (progn ; So we set it. 2452 (ignore-errors ; So we set it.
2453 (make-local-variable (car elem)) 2453 (make-local-variable (car elem))
2454 (set (car elem) (eval (nth 1 elem)))))))) 2454 (set (car elem) (eval (nth 1 elem))))))))
2455 2455
2456 (defun gnus-summary-read-group (group &optional show-all no-article 2456 (defun gnus-summary-read-group (group &optional show-all no-article
2457 kill-buffer no-display) 2457 kill-buffer no-display)
3188 "Sort articles by root author." 3188 "Sort articles by root author."
3189 (string-lessp 3189 (string-lessp
3190 (let ((extract (funcall 3190 (let ((extract (funcall
3191 gnus-extract-address-components 3191 gnus-extract-address-components
3192 (mail-header-from h1)))) 3192 (mail-header-from h1))))
3193 (or (car extract) (cdr extract))) 3193 (or (car extract) (cadr extract) ""))
3194 (let ((extract (funcall 3194 (let ((extract (funcall
3195 gnus-extract-address-components 3195 gnus-extract-address-components
3196 (mail-header-from h2)))) 3196 (mail-header-from h2))))
3197 (or (car extract) (cdr extract))))) 3197 (or (car extract) (cadr extract) ""))))
3198 3198
3199 (defun gnus-thread-sort-by-author (h1 h2) 3199 (defun gnus-thread-sort-by-author (h1 h2)
3200 "Sort threads by root author." 3200 "Sort threads by root author."
3201 (gnus-article-sort-by-author 3201 (gnus-article-sort-by-author
3202 (gnus-thread-header h1) (gnus-thread-header h2))) 3202 (gnus-thread-header h1) (gnus-thread-header h2)))
5385 (interactive "P") 5385 (interactive "P")
5386 (setq gnus-summary-buffer (current-buffer)) 5386 (setq gnus-summary-buffer (current-buffer))
5387 (gnus-set-global-variables) 5387 (gnus-set-global-variables)
5388 (let ((article (gnus-summary-article-number)) 5388 (let ((article (gnus-summary-article-number))
5389 (article-window (get-buffer-window gnus-article-buffer t)) 5389 (article-window (get-buffer-window gnus-article-buffer t))
5390 (endp nil)) 5390 endp)
5391 (gnus-configure-windows 'article) 5391 (gnus-configure-windows 'article)
5392 (if (eq (cdr (assq article gnus-newsgroup-reads)) gnus-canceled-mark) 5392 (if (eq (cdr (assq article gnus-newsgroup-reads)) gnus-canceled-mark)
5393 (if (and (eq gnus-summary-goto-unread 'never) 5393 (if (and (eq gnus-summary-goto-unread 'never)
5394 (not (gnus-summary-last-article-p article))) 5394 (not (gnus-summary-last-article-p article)))
5395 (gnus-summary-next-article) 5395 (gnus-summary-next-article)
5414 (gnus-summary-next-article) 5414 (gnus-summary-next-article)
5415 (gnus-summary-next-unread-article)))))))) 5415 (gnus-summary-next-unread-article))))))))
5416 (gnus-summary-recenter) 5416 (gnus-summary-recenter)
5417 (gnus-summary-position-point))) 5417 (gnus-summary-position-point)))
5418 5418
5419 (defun gnus-summary-prev-page (&optional lines) 5419 (defun gnus-summary-prev-page (&optional lines move)
5420 "Show previous page of selected article. 5420 "Show previous page of selected article.
5421 Argument LINES specifies lines to be scrolled down." 5421 Argument LINES specifies lines to be scrolled down.
5422 If MOVE, move to the previous unread article if point is at
5423 the beginning of the buffer."
5422 (interactive "P") 5424 (interactive "P")
5423 (gnus-set-global-variables) 5425 (gnus-set-global-variables)
5424 (let ((article (gnus-summary-article-number)) 5426 (let ((article (gnus-summary-article-number))
5425 (article-window (get-buffer-window gnus-article-buffer t))) 5427 (article-window (get-buffer-window gnus-article-buffer t))
5428 endp)
5426 (gnus-configure-windows 'article) 5429 (gnus-configure-windows 'article)
5427 (if (or (null gnus-current-article) 5430 (if (or (null gnus-current-article)
5428 (null gnus-article-current) 5431 (null gnus-article-current)
5429 (/= article (cdr gnus-article-current)) 5432 (/= article (cdr gnus-article-current))
5430 (not (equal (car gnus-article-current) gnus-newsgroup-name))) 5433 (not (equal (car gnus-article-current) gnus-newsgroup-name)))
5431 ;; Selected subject is different from current article's. 5434 ;; Selected subject is different from current article's.
5432 (gnus-summary-display-article article) 5435 (gnus-summary-display-article article)
5433 (gnus-summary-recenter) 5436 (gnus-summary-recenter)
5434 (when article-window 5437 (when article-window
5435 (gnus-eval-in-buffer-window gnus-article-buffer 5438 (gnus-eval-in-buffer-window gnus-article-buffer
5436 (gnus-article-prev-page lines))))) 5439 (setq endp (gnus-article-prev-page lines)))
5440 (when (and move endp)
5441 (cond (lines
5442 (gnus-message 3 "Beginning of message"))
5443 ((null lines)
5444 (if (and (eq gnus-summary-goto-unread 'never)
5445 (not (gnus-summary-first-article-p article)))
5446 (gnus-summary-prev-article)
5447 (gnus-summary-prev-unread-article))))))))
5437 (gnus-summary-position-point)) 5448 (gnus-summary-position-point))
5449
5450 (defun gnus-summary-prev-page-or-article (&optional lines)
5451 "Show previous page of selected article.
5452 Argument LINES specifies lines to be scrolled down.
5453 If at the beginning of the article, go to the next article."
5454 (interactive "P")
5455 (gnus-summary-prev-page lines t))
5438 5456
5439 (defun gnus-summary-scroll-up (lines) 5457 (defun gnus-summary-scroll-up (lines)
5440 "Scroll up (or down) one line current article. 5458 "Scroll up (or down) one line current article.
5441 Argument LINES specifies lines to be scrolled up (or down if negative)." 5459 Argument LINES specifies lines to be scrolled up (or down if negative)."
5442 (interactive "p") 5460 (interactive "p")
5648 ;; those removed. 5666 ;; those removed.
5649 (list gnus-del-mark gnus-read-mark gnus-ancient-mark 5667 (list gnus-del-mark gnus-read-mark gnus-ancient-mark
5650 gnus-killed-mark gnus-kill-file-mark 5668 gnus-killed-mark gnus-kill-file-mark
5651 gnus-low-score-mark gnus-expirable-mark 5669 gnus-low-score-mark gnus-expirable-mark
5652 gnus-canceled-mark gnus-catchup-mark gnus-sparse-mark 5670 gnus-canceled-mark gnus-catchup-mark gnus-sparse-mark
5653 gnus-duplicate-mark) 5671 gnus-duplicate-mark gnus-souped-mark)
5654 'reverse))) 5672 'reverse)))
5655 5673
5656 (defalias 'gnus-summary-delete-marked-with 'gnus-summary-limit-exclude-marks) 5674 (defalias 'gnus-summary-delete-marked-with 'gnus-summary-limit-exclude-marks)
5657 (make-obsolete 'gnus-summary-delete-marked-with 5675 (make-obsolete 'gnus-summary-delete-marked-with
5658 'gnus-summary-limit-exlude-marks) 5676 'gnus-summary-limit-exlude-marks)