Function: advice--tweak

advice--tweak is a byte-compiled function defined in nadvice.el.gz.

Signature

(advice--tweak FLIST TWEAKER)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/nadvice.el.gz
(defun advice--tweak (flist tweaker)
  (if (not (advice--p flist))
      (funcall tweaker nil flist nil)
    (let ((first (advice--car flist))
          (rest (advice--cdr flist))
          (props (advice--props flist)))
      (let ((val (funcall tweaker first rest props)))
        (if val (car val)
          (let ((nrest (advice--tweak rest tweaker)))
            (if (eq rest nrest) flist
              (advice--make-1 (aref flist 1) (aref flist 3)
                              first nrest props))))))))