Autoload more carefully from Lisp. Follow aliases for function properties.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 26 Jul 2012 01:27:33 +0000 (21:27 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 26 Jul 2012 01:27:33 +0000 (21:27 -0400)
commit7abaf5ccc9f11e657b6671e7a6d5a7533bba5f31
tree26a250aef4c762d2128fb99c7442d01cedbd208b
parentb1364986cb927ca113b0447a66a5274221ad9100
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.
29 files changed:
etc/NEWS
lisp/ChangeLog
lisp/apropos.el
lisp/calc/calc.el
lisp/desktop.el
lisp/emacs-lisp/advice.el
lisp/emacs-lisp/autoload.el
lisp/emacs-lisp/byte-opt.el
lisp/emacs-lisp/bytecomp.el
lisp/emacs-lisp/cl-macs.el
lisp/emacs-lisp/cl.el
lisp/emacs-lisp/debug.el
lisp/emacs-lisp/disass.el
lisp/emacs-lisp/edebug.el
lisp/emacs-lisp/elp.el
lisp/emacs-lisp/find-func.el
lisp/emacs-lisp/gv.el
lisp/emacs-lisp/lisp-mode.el
lisp/emacs-lisp/macroexp.el
lisp/emacs-lisp/pcase.el
lisp/help-fns.el
lisp/speedbar.el
lisp/subr.el
src/ChangeLog
src/data.c
src/eval.c
src/keyboard.c
src/keymap.c
src/lisp.h