emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/emacs-lisp/ring.el


From: John Paul Wallington
Subject: [Emacs-diffs] Changes to emacs/lisp/emacs-lisp/ring.el
Date: Fri, 11 Jul 2003 17:51:38 -0400

Index: emacs/lisp/emacs-lisp/ring.el
diff -c emacs/lisp/emacs-lisp/ring.el:1.16 emacs/lisp/emacs-lisp/ring.el:1.17
*** emacs/lisp/emacs-lisp/ring.el:1.16  Sun May 21 13:29:50 2000
--- emacs/lisp/emacs-lisp/ring.el       Fri Jul 11 17:51:37 2003
***************
*** 24,30 ****
  
  ;;; Commentary:
  
! ;; This code defines a ring data structure. A ring is a
  ;;     (hd-index length . vector)
  ;; list.  You can insert to, remove from, and rotate a ring.  When the ring
  ;; fills up, insertions cause the oldest elts to be quietly dropped.
--- 24,30 ----
  
  ;;; Commentary:
  
! ;; This code defines a ring data structure.  A ring is a
  ;;     (hd-index length . vector)
  ;; list.  You can insert to, remove from, and rotate a ring.  When the ring
  ;; fills up, insertions cause the oldest elts to be quietly dropped.
***************
*** 48,54 ****
  
  ;;;###autoload
  (defun ring-p (x)
!   "Returns t if X is a ring; nil otherwise."
    (and (consp x) (integerp (car x))
         (consp (cdr x)) (integerp (car (cdr x)))
         (vectorp (cdr (cdr x)))))
--- 48,54 ----
  
  ;;;###autoload
  (defun ring-p (x)
!   "Return t if X is a ring; nil otherwise."
    (and (consp x) (integerp (car x))
         (consp (cdr x)) (integerp (car (cdr x)))
         (vectorp (cdr (cdr x)))))
***************
*** 71,90 ****
      (setcar (cdr ring) ln)))
  
  (defun ring-plus1 (index veclen)
!   "Returns INDEX+1, with wraparound."
    (let ((new-index (+ index 1)))
      (if (= new-index veclen) 0 new-index)))
  
  (defun ring-minus1 (index veclen)
!   "Returns INDEX-1, with wraparound."
    (- (if (= 0 index) veclen index) 1))
  
  (defun ring-length (ring)
!   "Returns the number of elements in the RING."
    (car (cdr ring)))
  
  (defun ring-index (index head ringlen veclen)
!   "Converts nominal ring index INDEX to an internal index.
  The internal index refers to the items ordered from newest to oldest.
  HEAD is the index of the oldest element in the ring.
  RINGLEN is the number of elements currently in the ring.
--- 71,90 ----
      (setcar (cdr ring) ln)))
  
  (defun ring-plus1 (index veclen)
!   "Return INDEX+1, with wraparound."
    (let ((new-index (+ index 1)))
      (if (= new-index veclen) 0 new-index)))
  
  (defun ring-minus1 (index veclen)
!   "Return INDEX-1, with wraparound."
    (- (if (= 0 index) veclen index) 1))
  
  (defun ring-length (ring)
!   "Return the number of elements in the RING."
    (car (cdr ring)))
  
  (defun ring-index (index head ringlen veclen)
!   "Convert nominal ring index INDEX to an internal index.
  The internal index refers to the items ordered from newest to oldest.
  HEAD is the index of the oldest element in the ring.
  RINGLEN is the number of elements currently in the ring.
***************
*** 93,107 ****
    (mod (1- (+ head (- ringlen index))) veclen))
  
  (defun ring-empty-p (ring)
!   "Returns t if RING is empty; nil otherwise."
!   (= 0 (car (cdr ring))))
  
  (defun ring-size (ring)
!   "Returns the size of RING, the maximum number of elements it can contain."
    (length (cdr (cdr ring))))
  
  (defun ring-copy (ring)
!   "Returns a copy of RING."
    (let* ((vec (cdr (cdr ring)))
         (hd  (car ring))
         (ln  (car (cdr ring))))
--- 93,107 ----
    (mod (1- (+ head (- ringlen index))) veclen))
  
  (defun ring-empty-p (ring)
!   "Return t if RING is empty; nil otherwise."
!   (zerop (car (cdr ring))))
  
  (defun ring-size (ring)
!   "Return the size of RING, the maximum number of elements it can contain."
    (length (cdr (cdr ring))))
  
  (defun ring-copy (ring)
!   "Return a copy of RING."
    (let* ((vec (cdr (cdr ring)))
         (hd  (car ring))
         (ln  (car (cdr ring))))
***************
*** 144,150 ****
        oldelt)))
  
  (defun ring-ref (ring index)
!   "Returns RING's INDEX element.
  INDEX = 0 is the most recently inserted; higher indices
  correspond to older elements.
  INDEX need not be <= the ring length; the appropriate modulo operation
--- 144,150 ----
        oldelt)))
  
  (defun ring-ref (ring index)
!   "Return RING's INDEX element.
  INDEX = 0 is the most recently inserted; higher indices
  correspond to older elements.
  INDEX need not be <= the ring length; the appropriate modulo operation
***************
*** 155,161 ****
        (aref vec (ring-index index hd ln (length vec))))))
  
  (defun ring-elements (ring)
!   "Return a list of the lements of RING."
    (mapcar #'identity (cddr ring)))
  
  ;;; provide ourself:
--- 155,161 ----
        (aref vec (ring-index index hd ln (length vec))))))
  
  (defun ring-elements (ring)
!   "Return a list of the elements of RING."
    (mapcar #'identity (cddr ring)))
  
  ;;; provide ourself:




reply via email to

[Prev in Thread] Current Thread [Next in Thread]