Function: gnus-summary-sort

gnus-summary-sort is a byte-compiled function defined in gnus-sum.el.gz.

Signature

(gnus-summary-sort PREDICATE REVERSE)

Documentation

Sort summary buffer by PREDICATE. REVERSE means reverse order.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-sum.el.gz
(defun gnus-summary-sort (predicate reverse)
  "Sort summary buffer by PREDICATE.  REVERSE means reverse order."
  (let* ((current (gnus-summary-article-number))
	 (thread (intern (format "gnus-thread-sort-by-%s" predicate)))
	 (article (intern (format "gnus-article-sort-by-%s" predicate)))
	 (gnus-thread-sort-functions
	  (if (not reverse)
	      thread
	    (lambda (t1 t2)
	       (funcall thread t2 t1))))
	 (gnus-sort-gathered-threads-function
	  gnus-thread-sort-functions)
	 (gnus-article-sort-functions
	  (if (not reverse)
	      article
	    (lambda (t1 t2)
	      (funcall article t2 t1))))
	 (inhibit-read-only t)
	 (gnus-summary-prepare-hook nil))
    ;; We do the sorting by regenerating the threads.
    (gnus-summary-prepare)
    ;; Hide subthreads if needed.
    (gnus-summary-maybe-hide-threads)
    ;; Restore point.
    (gnus-summary-goto-subject current)))