summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/ring.el
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2005-06-24 01:59:52 +0000
committerMiles Bader <miles@gnu.org>2005-06-24 01:59:52 +0000
commit3f0607e49476578a260289a51a84639b1885c161 (patch)
tree076023228279f15587ea24a5a7f9adb499ee969c /lisp/emacs-lisp/ring.el
parent82cf95134905ffe09000888e86e88c9a400a4468 (diff)
parentff71329437a5195b60799e019871181c916024ff (diff)
downloademacs-3f0607e49476578a260289a51a84639b1885c161.tar.gz
emacs-3f0607e49476578a260289a51a84639b1885c161.tar.bz2
emacs-3f0607e49476578a260289a51a84639b1885c161.zip
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-65
Merge from emacs--cvs-trunk--0 Patches applied: * emacs--cvs-trunk--0 (patch 425-445) - Remove "-face" suffix from gnus faces - Update from CVS - Remove "-face" suffix from MH-E faces - Remove "-face" suffix from cc-mode faces - Remove "-face" suffix from eshell faces - Remove "-face" suffix from ediff faces - Implement tty vertical-divider face - Rename vertical-divider face to vertical-border - Change escape-glyph color on dark backgrounds back to cyan - Update reference to renamed Buffer-menu-buffer face
Diffstat (limited to 'lisp/emacs-lisp/ring.el')
-rw-r--r--lisp/emacs-lisp/ring.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/ring.el b/lisp/emacs-lisp/ring.el
index fce07953ba9..6e0f9cd70b4 100644
--- a/lisp/emacs-lisp/ring.el
+++ b/lisp/emacs-lisp/ring.el
@@ -155,8 +155,13 @@ will be performed."
(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)))
+ "Return a list of the elements of RING, in order, newest first."
+ (let ((start (car ring))
+ (size (ring-size ring))
+ (vect (cddr ring))
+ lst)
+ (dotimes (var (cadr ring) lst)
+ (push (aref vect (mod (+ start var) size)) lst))))
;;; provide ourself: