Function: take-while--anon-cmacro

take-while--anon-cmacro is a function defined in subr.el.gz.

Signature

(take-while--anon-cmacro _FORM PRED LIST)

Source Code

;; Defined in /usr/src/emacs/lisp/subr.el.gz
;; Could not find source code, showing raw function object.
#[(_form pred list)
  ((ignore pred list)
   (let*
       ((tail (make-symbol "tail"))
	(pred (macroexpand-all pred macroexpand-all-environment))
	(f
	 (and (not (internal--effect-free-fun-arg-p pred))
	      (make-symbol "f")))
	(r (make-symbol "r")))
     `(let (,@(and f `((,f ,pred))) (,tail ,list) (,r nil))
	(while (and ,tail (funcall ,(or f pred) (car ,tail)))
	  (push (car ,tail) ,r) (setq ,tail (cdr ,tail)))
	(nreverse ,r))))
  (t)]