Function: json--plist-nreverse

json--plist-nreverse is a byte-compiled function defined in json.el.gz.

Signature

(json--plist-nreverse PLIST)

Documentation

Return PLIST in reverse order.

Unlike nreverse, this keeps the ordering of each property relative to its value intact. Like nreverse, this function may destructively modify PLIST to produce the result.

Source Code

;; Defined in /usr/src/emacs/lisp/json.el.gz
(defun json--plist-nreverse (plist)
  "Return PLIST in reverse order.
Unlike `nreverse', this keeps the ordering of each property
relative to its value intact.  Like `nreverse', this function may
destructively modify PLIST to produce the result."
  (let (prev (next (cddr plist)))
    (while next
      (setcdr (cdr plist) prev)
      (setq prev plist plist next next (cddr next))
      (setcdr (cdr plist) prev)))
  plist)