• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/emacs-92/emacs/lisp/gnus/

Lines Matching refs:ranges

66 Both ranges must be in ascending order."
310 "Convert list of numbers to a list of ranges or a single range.
312 ranges."
338 (defun gnus-uncompress-range (ranges)
339 "Expand a list of ranges into a list of numbers.
341 these ranges."
344 ((null ranges)
346 ((not (listp (cdr ranges)))
347 (setq first (car ranges))
348 (setq last (cdr ranges))
354 (while ranges
355 (if (atom (car ranges))
356 (when (numberp (car ranges))
357 (setq result (cons (car ranges) result)))
358 (setq first (caar ranges))
359 (setq last (cdar ranges))
363 (setq ranges (cdr ranges)))
366 (defun gnus-add-to-range (ranges list)
367 "Return a list of ranges that has all articles from both RANGES and LIST.
369 (if (not ranges)
372 (unless (listp (cdr ranges))
373 (setq ranges (list ranges)))
374 (let ((out ranges)
376 (while (and ranges list)
378 (setq lowest (or (and (atom (car ranges)) (car ranges))
379 (caar ranges)))
387 (setq highest (or (and (atom (car ranges)) (car ranges))
388 (cdar ranges)))
391 (setq ranges (cdr ranges)))
397 (setq ranges out)
398 (while ranges
399 (if (atom (car ranges))
400 (when (cdr ranges)
401 (if (atom (cadr ranges))
402 (when (= (1+ (car ranges)) (cadr ranges))
403 (setcar ranges (cons (car ranges)
404 (cadr ranges)))
405 (setcdr ranges (cddr ranges)))
406 (when (= (1+ (car ranges)) (caadr ranges))
407 (setcar (cadr ranges) (car ranges))
408 (setcar ranges (cadr ranges))
409 (setcdr ranges (cddr ranges)))))
410 (when (cdr ranges)
411 (if (atom (cadr ranges))
412 (when (= (1+ (cdar ranges)) (cadr ranges))
413 (setcdr (car ranges) (cadr ranges))
414 (setcdr ranges (cddr ranges)))
415 (when (= (1+ (cdar ranges)) (caadr ranges))
416 (setcdr (car ranges) (cdadr ranges))
417 (setcdr ranges (cddr ranges))))))
418 (setq ranges (cdr ranges)))
497 (defun gnus-member-of-range (number ranges)
498 (if (not (listp (cdr ranges)))
499 (and (>= number (car ranges))
500 (<= number (cdr ranges)))
502 (while (and ranges
503 (if (numberp (car ranges))
504 (>= number (car ranges))
505 (>= number (caar ranges)))
507 (when (if (numberp (car ranges))
508 (= number (car ranges))
509 (and (>= number (caar ranges))
510 (<= number (cdar ranges))))
512 (setq ranges (cdr ranges)))
515 (defun gnus-list-range-intersection (list ranges)
518 (setq ranges (gnus-range-normalize ranges))
521 (while (and ranges
522 (if (numberp (car ranges))
523 (< (car ranges) number)
524 (< (cdar ranges) number)))
525 (setq ranges (cdr ranges)))
526 (when (and ranges
527 (if (numberp (car ranges))
528 (= (car ranges) number)
529 ;; (caar ranges) <= number <= (cdar ranges)
530 (>= number (caar ranges))))
536 (defun gnus-list-range-difference (list ranges)
539 (setq ranges (gnus-range-normalize ranges))
542 (while (and ranges
543 (if (numberp (car ranges))
544 (< (car ranges) number)
545 (< (cdar ranges) number)))
546 (setq ranges (cdr ranges)))
547 (when (or (not ranges)
548 (if (numberp (car ranges))
549 (not (= (car ranges) number))
550 ;; not ((caar ranges) <= number <= (cdar ranges))
551 (< number (caar ranges))))