Function: edebug-unwrap

edebug-unwrap is a byte-compiled function defined in edebug.el.gz.

Signature

(edebug-unwrap SEXP)

Documentation

Return the unwrapped SEXP or return it as is if it is not wrapped.

The SEXP might be the result of wrapping a body, which is a list of expressions; a progn form will be returned enclosing these forms. Does not unwrap inside vectors, records, structures, or hash tables.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/edebug.el.gz
(defun edebug-unwrap (sexp)
  "Return the unwrapped SEXP or return it as is if it is not wrapped.
The SEXP might be the result of wrapping a body, which is a list of
expressions; a `progn' form will be returned enclosing these forms.
Does not unwrap inside vectors, records, structures, or hash tables."
  (pcase sexp
    (`(edebug-after ,_before-form ,_after-index ,form)
     form)
    (`(lambda ,args (edebug-enter ',_sym ,_arglist
				   (function (lambda nil . ,body))))
     `(lambda ,args ,@body))
    (`(closure ,env ,args (edebug-enter ',_sym ,_arglist
					 (function (lambda nil . ,body))))
     `(closure ,env ,args ,@body))
    (`(edebug-enter ',_sym ,_args (function (lambda nil . ,body)))
     (macroexp-progn body))
    (_ sexp)))