Commit bac7de05 authored by Stefan Monnier's avatar Stefan Monnier

* lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric

* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
parent e785c74d
...@@ -164,7 +164,7 @@ expression, in which case we want to handle forms differently." ...@@ -164,7 +164,7 @@ expression, in which case we want to handle forms differently."
((and (memq car '(easy-mmode-define-global-mode define-global-minor-mode ((and (memq car '(easy-mmode-define-global-mode define-global-minor-mode
define-globalized-minor-mode defun defmacro define-globalized-minor-mode defun defmacro
easy-mmode-define-minor-mode define-minor-mode easy-mmode-define-minor-mode define-minor-mode
define-inline cl-defun cl-defmacro)) define-inline cl-defun cl-defmacro cl-defgeneric))
(macrop car) (macrop car)
(setq expand (let ((load-file-name file)) (macroexpand form))) (setq expand (let ((load-file-name file)) (macroexpand form)))
(memq (car expand) '(progn prog1 defalias))) (memq (car expand) '(progn prog1 defalias)))
......
...@@ -233,6 +233,7 @@ DEFAULT-BODY, if present, is used as the body of a default method. ...@@ -233,6 +233,7 @@ DEFAULT-BODY, if present, is used as the body of a default method.
,(help-add-fundoc-usage doc args)) ,(help-add-fundoc-usage doc args))
,@(mapcar (lambda (method) `(cl-defmethod ,name ,@method)) ,@(mapcar (lambda (method) `(cl-defmethod ,name ,@method))
(nreverse methods))) (nreverse methods)))
:autoload-end
,@(mapcar (lambda (declaration) ,@(mapcar (lambda (declaration)
(let ((f (cdr (assq (car declaration) (let ((f (cdr (assq (car declaration)
defun-declarations-alist)))) defun-declarations-alist))))
...@@ -1215,9 +1216,5 @@ Used internally for the (major-mode MODE) context specializers." ...@@ -1215,9 +1216,5 @@ Used internally for the (major-mode MODE) context specializers."
(progn (cl-assert (null modes)) mode) (progn (cl-assert (null modes)) mode)
`(derived-mode ,mode . ,modes)))) `(derived-mode ,mode . ,modes))))
;; Local variables:
;; generated-autoload-file: "cl-loaddefs.el"
;; End:
(provide 'cl-generic) (provide 'cl-generic)
;;; cl-generic.el ends here ;;; cl-generic.el ends here
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment