summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2009-02-01 03:28:33 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2009-02-01 03:28:33 +0000
commit73d7bcb9186581589b8ab10b2b4f9f98f734d7fc (patch)
tree5fc80a1daffea65f484c7d5b8b4d2694e72e9b1a
parentbefa8175626a8be1a5f1f75341c8d05a4ffc8786 (diff)
downloademacs-73d7bcb9186581589b8ab10b2b4f9f98f734d7fc.tar.gz
(rmail-sort-messages): Use car-less-than-car if possible.
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/mail/rmailsort.el14
2 files changed, 9 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index bd6da5daa15..9188230e6f7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,8 @@
2009-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
+ * mail/rmailsort.el (rmail-sort-messages): Use car-less-than-car
+ if possible.
+
* mail/rmailedit.el (rmail-edit-map): Move init into declaration.
(rmail-edit-mode, rmail-cease-edit): Use with-current-buffer.
diff --git a/lisp/mail/rmailsort.el b/lisp/mail/rmailsort.el
index 5b58a5c7a45..e5b9da3ea6d 100644
--- a/lisp/mail/rmailsort.el
+++ b/lisp/mail/rmailsort.el
@@ -162,7 +162,6 @@ If 1st argument REVERSE is non-nil, sort them in reverse order.
(let ((return-to-point
(if (rmail-buffers-swapped-p)
(point)))
- (predicate nil) ;< or string-lessp
(sort-lists nil))
(rmail-swap-buffers-maybe)
(message "Finding sort keys...")
@@ -179,15 +178,14 @@ If 1st argument REVERSE is non-nil, sort them in reverse order.
(message "Finding sort keys...%d" msgnum))
(setq msgnum (1+ msgnum))))
(or reverse (setq sort-lists (nreverse sort-lists)))
- ;; Decide predicate: < or string-lessp
- (if (numberp (car (car sort-lists))) ;Is a key numeric?
- (setq predicate (function <))
- (setq predicate (function string-lessp)))
(setq sort-lists
(sort sort-lists
- (function
- (lambda (a b)
- (funcall predicate (car a) (car b))))))
+ ;; Decide predicate: < or string-lessp
+ (if (numberp (car (car sort-lists))) ;Is a key numeric?
+ 'car-less-than-car
+ (function
+ (lambda (a b)
+ (string-lessp (car a) (car b)))))))
(if reverse (setq sort-lists (nreverse sort-lists)))
;; Now we enter critical region. So, keyboard quit is disabled.
(message "Reordering messages...")