Generating G-bindings from an SVTV using gl::flex-bindings.
(svtv-flex-bindings svtv order &key arrange) → *
Function:
(defun svtv-flex-bindings-fn (svtv order arrange) (declare (xargs :guard (svtv-p svtv))) (let ((__function__ 'svtv-flex-bindings)) (declare (ignorable __function__)) (b* ((binds (svtv-easy-bindings-main order svtv)) (arrange1 (or arrange (gl::auto-bindings-list-collect-arrange (gl::auto-bind-xlate-list binds nil)))) (unbound (set-difference-equal (svtv->ins svtv) (strip-cars (strip-cdrs arrange1)))) (unbound-binds (svtv-easy-bindings-main unbound svtv)) (unbound-arrange (gl::auto-bindings-list-collect-arrange (gl::auto-bind-xlate-list unbound-binds nil)))) (gl::flex-bindings-fn (append binds unbound-binds) (append arrange1 unbound-arrange) 0))))