2 |
#(#! |
#(#! |
3 |
(lisp::in-package (lisp::quote user::lisp))#! |
(lisp::in-package (lisp::quote user::lisp))#! |
4 |
(lisp::export (lisp::quote (lisp::destructuring-bind))) |
(lisp::export (lisp::quote (lisp::destructuring-bind))) |
5 |
#(lisp::*default-default* lisp::error lisp::*arg-tests* lisp::*user-lets* lisp::*system-lets* lisp::*ignorable-vars* lisp::let* lisp::declare lisp::ignorable lisp::ignore lisp::cdr :required lisp::&whole "&Whole must appear first in ~S lambda-list." "&WHOLE" lisp::&environment "&Environment not valid with ~S." "&Environment only valid at top level of ~ |
#(lisp::*default-default* lisp::error lisp::*arg-tests* lisp::*user-lets* lisp::*system-lets* lisp::*ignorable-vars* lisp::let* lisp::declare lisp::ignorable lisp::ignore "Need to write make-keyword ~S" "Need to write defmacro-error ~S ~S ~S" lisp::cdr :required lisp::&whole "&Whole must appear first in ~S lambda-list." "&WHOLE" lisp::&environment "&Environment not valid with ~S." "&Environment only valid at top level of ~ |
6 |
lambda-list." "&ENVIRONMENT" lisp::&rest lisp::&body lisp::multiple-value-list lisp::parse-body lisp::car lisp::cadr lisp::caddr lisp::&optional :optionals lisp::&key :keywords "KEYWORDS-" lisp::&allow-other-keys lisp::&aux :auxs "SUBLIST-" "Ignore extra noise." "More than variable, initform, and suppliedp ~ |
lambda-list." "&ENVIRONMENT" lisp::&rest lisp::&body lisp::multiple-value-list lisp::parse-body lisp::car lisp::cadr lisp::caddr lisp::&optional :optionals lisp::&key :keywords "KEYWORDS-" lisp::&allow-other-keys lisp::&aux :auxs "SUBLIST-" "Ignore extra noise." "More than variable, initform, and suppliedp ~ |
7 |
in &optional binding - ~S" lisp::not lisp::null lisp::keyword-supplied-p lisp::quote lisp::lookup-keyword "Non-symbol in lambda-list - ~S." lisp::unless lisp::<= lisp::length lisp::the lisp::list lisp::do-arg-count-error (lisp::quote lisp::defmacro-ll-arg-count-error) :kind :name :argument :lambda-list :minimum :maximum "KEY-PROBLEM-" "INFO-" lisp::multiple-value-bind lisp::verify-keywords lisp::when (lisp::quote lisp::defmacro-ll-broken-key-list-error) :problem :info "TEMP-" lisp::let lisp::if lisp::listp (lisp::quote lisp::defmacro-bogus-sublist-error) :object "SUPLIEDP-" "OPTIONAL-SUBLIST-" "Illegal optional variable name: ~S" "ARG-LIST-" lisp::destructuring-bind :annonymousp :doc-string-allowed :environment :default-default :error-fun lisp::parse-defmacro-lambda-list lisp::push-let-binding lisp::defmacro-error lisp::push-sub-list-binding lisp::push-optional-binding lisp::make-keyword lisp::parse-defmacro (system::%init . #((system::*make-special (lisp::quote lisp::*arg-tests*)) (system::putprop (lisp::quote lisp::*arg-tests*) "A list of tests that do argument counting at expansion time." #0=(lisp::quote system::variable-documentation)) (lisp::or (lisp::boundp (lisp::quote lisp::*arg-tests*)) (lisp::setq lisp::*arg-tests* lisp::nil)) (system::*make-special (lisp::quote lisp::*system-lets*)) (lisp::or (lisp::boundp (lisp::quote lisp::*system-lets*)) (lisp::setq lisp::*system-lets* lisp::nil)) (system::*make-special (lisp::quote lisp::*user-lets*)) (system::putprop (lisp::quote lisp::*user-lets*) "Let bindings that the user has explicitly supplied." #0#) (lisp::or (lisp::boundp (lisp::quote lisp::*user-lets*)) (lisp::setq lisp::*user-lets* lisp::nil)) (system::*make-special (lisp::quote lisp::*default-default*)) (system::putprop (lisp::quote lisp::*default-default*) "Unsupplied optional and keyword arguments get this value defaultly." #0#) (lisp::or (lisp::boundp (lisp::quote lisp::*default-default*)) (lisp::setq lisp::*default-default* lisp::nil)) (system::*make-special (lisp::quote lisp::*ignorable-vars*)) (system::putprop (lisp::quote lisp::parse-defmacro) "Returns as multiple-values a parsed body, any local-declarations that |
in &optional binding - ~S" lisp::not lisp::null lisp::keyword-supplied-p lisp::quote lisp::lookup-keyword "Non-symbol in lambda-list - ~S." lisp::unless lisp::<= lisp::length lisp::the lisp::list lisp::do-arg-count-error (lisp::quote lisp::defmacro-ll-arg-count-error) :kind :name :argument :lambda-list :minimum :maximum "KEY-PROBLEM-" "INFO-" lisp::multiple-value-bind lisp::verify-keywords lisp::when (lisp::quote lisp::defmacro-ll-broken-key-list-error) :problem :info "TEMP-" lisp::let lisp::if lisp::listp (lisp::quote lisp::defmacro-bogus-sublist-error) :object "SUPLIEDP-" "OPTIONAL-SUBLIST-" "Illegal optional variable name: ~S" "ARG-LIST-" lisp::destructuring-bind :annonymousp :doc-string-allowed :environment :default-default :error-fun lisp::parse-defmacro-lambda-list lisp::push-let-binding lisp::defmacro-error lisp::push-sub-list-binding lisp::push-optional-binding lisp::make-keyword lisp::parse-defmacro (system::%init . #((system::*make-special (lisp::quote lisp::*arg-tests*)) (system::putprop (lisp::quote lisp::*arg-tests*) "A list of tests that do argument counting at expansion time." #0=(lisp::quote system::variable-documentation)) (lisp::or (lisp::boundp (lisp::quote lisp::*arg-tests*)) (lisp::setq lisp::*arg-tests* lisp::nil)) (system::*make-special (lisp::quote lisp::*system-lets*)) (lisp::or (lisp::boundp (lisp::quote lisp::*system-lets*)) (lisp::setq lisp::*system-lets* lisp::nil)) (system::*make-special (lisp::quote lisp::*user-lets*)) (system::putprop (lisp::quote lisp::*user-lets*) "Let bindings that the user has explicitly supplied." #0#) (lisp::or (lisp::boundp (lisp::quote lisp::*user-lets*)) (lisp::setq lisp::*user-lets* lisp::nil)) (system::*make-special (lisp::quote lisp::*default-default*)) (system::putprop (lisp::quote lisp::*default-default*) "Unsupplied optional and keyword arguments get this value defaultly." #0#) (lisp::or (lisp::boundp (lisp::quote lisp::*default-default*)) (lisp::setq lisp::*default-default* lisp::nil)) (system::*make-special (lisp::quote lisp::*ignorable-vars*)) (system::putprop (lisp::quote lisp::parse-defmacro) "Returns as multiple-values a parsed body, any local-declarations that |
8 |
should be made where this body is inserted, and a doc-string if there is |
should be made where this body is inserted, and a doc-string if there is |
9 |
one." #1=(lisp::quote system::function-documentation)) (system::mf (lisp::quote lisp::parse-defmacro) 0) (system::mf (lisp::quote lisp::parse-defmacro-lambda-list) 1) (system::mf (lisp::quote lisp::push-sub-list-binding) 2) (system::mf (lisp::quote lisp::push-let-binding) 3) (system::mf (lisp::quote lisp::push-optional-binding) 4) (system::putprop (lisp::quote lisp::parse-body) "This function is to parse the declarations and doc-string out of the body of |
one." #1=(lisp::quote system::function-documentation)) (system::mf (lisp::quote lisp::parse-defmacro) 0) (system::mf (lisp::quote lisp::make-keyword) 1) (system::mf (lisp::quote lisp::defmacro-error) 2) (system::mf (lisp::quote lisp::parse-defmacro-lambda-list) 3) (system::mf (lisp::quote lisp::push-sub-list-binding) 4) (system::mf (lisp::quote lisp::push-let-binding) 5) (system::mf (lisp::quote lisp::push-optional-binding) 6) (system::putprop (lisp::quote lisp::parse-body) "This function is to parse the declarations and doc-string out of the body of |
10 |
a defun-like form. Body is the list of stuff which is to be parsed. |
a defun-like form. Body is the list of stuff which is to be parsed. |
11 |
Environment is ignored. If Doc-String-Allowed is true, then a doc string |
Environment is ignored. If Doc-String-Allowed is true, then a doc string |
12 |
will be parsed out of the body and returned. If it is false then a string |
will be parsed out of the body and returned. If it is false then a string |
13 |
will terminate the search for declarations. Three values are returned: the |
will terminate the search for declarations. Three values are returned: the |
14 |
tail of Body after the declarations and doc strings, a list of declare forms, |
tail of Body after the declarations and doc strings, a list of declare forms, |
15 |
and the doc-string, or NIL if none." #1#) (system::mf (lisp::quote lisp::parse-body) 5) (system::putprop (lisp::quote lisp::destructuring-bind) "Bind the variables in LAMBDA-LIST to the contents of ARG-LIST." (lisp::quote system::function-documentation)) (system::mm (lisp::quote lisp::destructuring-bind) 6)))) |
and the doc-string, or NIL if none." #1#) (system::mf (lisp::quote lisp::parse-body) 7) (system::putprop (lisp::quote lisp::destructuring-bind) "Bind the variables in LAMBDA-LIST to the contents of ARG-LIST." (lisp::quote system::function-documentation)) (system::mm (lisp::quote lisp::destructuring-bind) 8)))) |
16 |
) |
) |