;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (defalias 'ess-generics--override #[(name args body) "\305\306\307\"!\310\311\310\312\313 !\"\"\314\315 D\311 >\203#\316 \nBB\202(\317 \nBB\f\2068\320\306\321\322D\323BBBDC*BBB\207" [name args arg-list funname body intern format "%s-function" delq &rest &optional copy-alist if fboundp apply funcall error "`%s' is not implemented for dialect `%s'" quote (ess-dialect)] 8]) (defalias 'ess-generics--expand-overrides #[(name args body) "\306\307\211\211\203U\f@\211:\203A\n@\310=\203&\311 \f\nA#\202A\n@\312=\203:\311 \nA@\nAA#\202A\313 \f\n# \205I\f@\n=\n B\fA\211\204\f \203]\202_ \237,\207" [body xbody form ditto forms name t nil :override ess-generics--override :override-with-args ess-generics--expand-overrides args] 5]) #@439 Define a new function, as with `defun', which can be overloaded. NAME is the name of the function to create. ARGS are the arguments to the function. DOCSTRING is a documentation string to describe the function. The docstring will automatically have details about its overload symbol appended to the end. BODY is code that would be run when there is no override defined. The default is to signal error if {name}-function is not defined. (defalias 'ess-defgeneric '(macro . #[(name args docstring &rest body) "\305\306\307\"!\310\311 \312\306\313\"F\314\n\306\315 \"\316\n\f#BBBBE)\207" [name funname args docstring body intern format "%s-function" eval-and-compile defvar-local nil "When defined this function is called by `%s'." defun "%s\n\nUse `ess-defmethod' to define dialect specific overrides." ess-generics--expand-overrides] 10 (#$ . 847)])) (byte-code "\300\301\302\303#\300\301\304\305#\306\301\307\305#\207" [function-put ess-defgeneric doc-string-elt 3 lisp-indent-function defun put edebug-form-spec] 6) #@343 Define a dialect specific override of the method NAME. If NAME wasn't created with `ess-defgeneric' signal an error. DIALECT is the dialect name this override is being defined for. ARGS are the function arguments, which should match those of the same named function created with `ess-defgeneric'. BODY is the implementation of this function. (defalias 'ess-defmethod '(macro . #[(dialect name args &rest body) "\306\307\310 #!\306\307\311\"!\306\307\312 \"\227!\313\314\315\316\nDD\317\n\320\307\321 \"FE\322\316\nD\316 \316\fEDE\323\f \307\324\325!\203M\326!\203M\327\330\331\326!#\206N\331 $BBBB\332\316\fD\333\316DF\257+\207" [name dialect alist-name fun-name new-name args intern format "%s:%s" "%s-function" "ess-%s-customize-alist" eval-and-compile unless boundp quote defvar nil "Variables to customize dialect '%s'." add-to-list defun "%s\nThis is an override for `%s' for `%s' dialect." fboundp documentation replace-regexp-in-string "\nUse.*ess-defmethod.*\\." "" put 'definition-name body] 13 (#$ . 1878)])) (byte-code "\300\301\302\303#\304\301\305\306#\210\307\310!\207" [function-put ess-defmethod lisp-indent-function defun put edebug-form-spec (&define sexp sexp lambda-list def-body) provide ess-generics] 5)