Function: byte-run--strip-list

byte-run--strip-list is a byte-compiled function defined in byte-run.el.gz.

Signature

(byte-run--strip-list ARG)

Documentation

Strip the positions from symbols with position in the list ARG.

This is done by destructively modifying ARG. Return ARG.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/byte-run.el.gz
(defalias 'byte-run--strip-list
  #'(lambda (arg)
      "Strip the positions from symbols with position in the list ARG.
This is done by destructively modifying ARG.  Return ARG."
      (let ((a arg))
        (while
            (and
             (not (gethash a byte-run--ssp-seen))
             (progn
               (puthash a t byte-run--ssp-seen)
               (cond
                ((symbol-with-pos-p (car a))
                 (setcar a (bare-symbol (car a))))
                ((consp (car a))
                 (byte-run--strip-list (car a)))
                ((or (vectorp (car a)) (recordp (car a)))
                 (byte-run--strip-vector/record (car a))))
               (consp (cdr a))))
          (setq a (cdr a)))
        (cond
         ((symbol-with-pos-p (cdr a))
          (setcdr a (bare-symbol (cdr a))))
         ((or (vectorp (cdr a)) (recordp (cdr a)))
          (byte-run--strip-vector/record (cdr a))))
        arg)))