Function: gnus-sorted-ndifference

gnus-sorted-ndifference is an autoloaded and byte-compiled function defined in gnus-range.el.gz.

Signature

(gnus-sorted-ndifference LIST1 LIST2)

Documentation

Return a list of elements of LIST1 that do not appear in LIST2.

Both lists have to be sorted over <. LIST1 is modified.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-range.el.gz
;;;###autoload
(defun gnus-sorted-ndifference (list1 list2)
  "Return a list of elements of LIST1 that do not appear in LIST2.
Both lists have to be sorted over <.
LIST1 is modified."
  (let* ((top (cons nil list1))
	 (prev top))
    (while (and list1 list2)
      (cond ((= (car list1) (car list2))
	     (setcdr prev (cdr list1))
	     (setq list1 (cdr list1)
		   list2 (cdr list2)))
	    ((< (car list1) (car list2))
	     (setq prev list1
		   list1 (cdr list1)))
	    (t
	     (setq list2 (cdr list2)))))
    (cdr top)))