Function: gv--defun-declaration
gv--defun-declaration is an autoloaded and byte-compiled function
defined in gv.el.gz.
Signature
(gv--defun-declaration SYMBOL NAME ARGS HANDLER &optional FIX)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/gv.el.gz
;;;###autoload
(defun gv--defun-declaration (symbol name args handler &optional fix)
`(progn
;; No need to autoload this part, since gv-get will auto-load the
;; function's definition before checking the `gv-expander' property.
:autoload-end
,(pcase (cons symbol handler)
(`(gv-expander . (lambda (,do) . ,body))
`(gv-define-expander ,name (lambda (,do ,@args) ,@body)))
(`(gv-expander . ,(pred symbolp))
`(gv-define-expander ,name #',handler))
(`(gv-setter . (lambda (,store) . ,body))
`(gv-define-setter ,name (,store ,@args) ,@body))
(`(gv-setter . ,(pred symbolp))
`(gv-define-simple-setter ,name ,handler ,fix))
;; (`(expand ,expander) `(gv-define-expand ,name ,expander))
(_ (message "Unknown %s declaration %S" symbol handler) nil))))