X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fgnus-range.el;h=b609074f923316cf6153634a95fb70a413fa602b;hb=9b741e050b400987d68ff761c6cc3276c932839c;hp=5dc271ad12084e427d0094934479c6e161cb4bd9;hpb=2f3cf1402d1aefa4a93e11346af929069124e72b;p=elisp%2Fgnus.git- diff --git a/lisp/gnus-range.el b/lisp/gnus-range.el index 5dc271a..b609074 100644 --- a/lisp/gnus-range.el +++ b/lisp/gnus-range.el @@ -433,7 +433,7 @@ LIST is a sorted list." (if (numberp (car ranges)) (= (car ranges) number) ;; (caar ranges) <= number <= (cdar ranges) - (>= number (caar ranges)))) + (>= number (caar ranges)))) (push number result))) (nreverse result))) @@ -535,6 +535,18 @@ LIST is a sorted list." (if item (push item range)) (reverse range))) +;;;###autoload +(defun gnus-add-to-sorted-list (list num) + "Add NUM into sorted LIST by side effect." + (let* ((top (cons nil list)) + (prev top)) + (while (and list (< (car list) num)) + (setq prev list + list (cdr list))) + (unless (eq (car list) num) + (setcdr prev (cons num list))) + (cdr top))) + (provide 'gnus-range) ;;; gnus-range.el ends here