From 7abaf5ccc9f11e657b6671e7a6d5a7533bba5f31 Mon Sep 17 00:00:00 2001
From: Stefan Monnier <monnier@iro.umontreal.ca>
Date: Wed, 25 Jul 2012 21:27:33 -0400
Subject: Autoload more carefully from Lisp.  Follow aliases for function
 properties. * lisp/subr.el (autoloadp): New function. (symbol-file): Use it.
 (function-get): New function. * lisp/emacs-lisp/macroexp.el
 (macroexp--expand-all): Use function-get and autoload-do-load. *
 lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function)
 (lisp-indent-function): * lisp/emacs-lisp/gv.el (gv-get): *
 lisp/emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec): *
 lisp/emacs-lisp/byte-opt.el (byte-optimize-form): *
 lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn): *
 lisp/emacs-lisp/autoload.el (make-autoload, autoload-print-form): Use
 function-get. * lisp/emacs-lisp/cl.el: Don't propagate function properties
 any more.

* src/eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
add argument, tune behavior, and adjust all callers.

* lisp/speedbar.el (speedbar-add-localized-speedbar-support):
* lisp/emacs-lisp/disass.el (disassemble-internal):
* lisp/desktop.el (desktop-load-file):
* lisp/help-fns.el (help-function-arglist, find-lisp-object-file-name)
(describe-function-1):
* lisp/emacs-lisp/find-func.el (find-function-noselect):
* lisp/emacs-lisp/elp.el (elp-instrument-function):
* lisp/emacs-lisp/advice.el (ad-has-proper-definition):
* lisp/apropos.el (apropos-safe-documentation, apropos-macrop):
* lisp/emacs-lisp/debug.el (debug-on-entry):
* lisp/emacs-lisp/cl-macs.el (cl-compiler-macroexpand):
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
* lisp/calc/calc.el (name): Use autoloadp & autoload-do-load.
---
 lisp/emacs-lisp/cl.el | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

(limited to 'lisp/emacs-lisp/cl.el')

diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el
index 32cf1670744..8174de786c7 100644
--- a/lisp/emacs-lisp/cl.el
+++ b/lisp/emacs-lisp/cl.el
@@ -320,16 +320,7 @@
                ))
   (let ((new (if (consp fun) (prog1 (cdr fun) (setq fun (car fun)))
                (intern (format "cl-%s" fun)))))
-    (defalias fun new)
-    ;; If `cl-foo' is declare inline, then make `foo' inline as well, and
-    ;; similarly.  Same for edebug specifications, indent rules and
-    ;; doc-string position.
-    ;; FIXME: For most of them, we should instead follow aliases
-    ;; where applicable.
-    (dolist (prop '(byte-optimizer doc-string-elt edebug-form-spec
-                    lisp-indent-function))
-      (if (get new prop)
-        (put fun prop (get new prop))))))
+    (defalias fun new)))
 
 ;;; Features provided a bit differently in Elisp.
 
-- 
cgit v1.2.3