Achim Gratz <strom...@nexgo.de> writes: > Jambunathan K <kjambunat...@gmail.com> writes: >> FYI, if Org is insalled through the package manager there is no >> org-install.el. Package manager creates autoloads on it's own and names >> it org-autoloads.el. >> >> I believe, for most part, org-install and org-autoloads have the same >> functionality. > > Then maybe they should have the same name, but surely they should be > produced by the same method. Can you point me to a documentation (or > source) that details how the package manager deals with the autoloads? > It shouldn't be too difficult to use the same method in the Makefile > once I understand how it's done.
This is what I see in package.el. --8<---------------cut here---------------start------------->8--- (defun package-unpack (name version) (let* ((dirname (concat (symbol-name name) "-" version)) (pkg-dir (expand-file-name dirname package-user-dir))) (make-directory package-user-dir t) ;; FIXME: should we delete PKG-DIR if it exists? (let* ((default-directory (file-name-as-directory package-user-dir))) (package-untar-buffer dirname) (package-generate-autoloads (symbol-name name) pkg-dir) (let ((load-path (cons pkg-dir load-path))) (byte-recompile-directory pkg-dir 0 t))))) (defun package-generate-autoloads (name pkg-dir) (require 'autoload) ;Load before we let-bind generated-autoload-file! (let* ((auto-name (concat name "-autoloads.el")) (ignore-name (concat name "-pkg.el")) (generated-autoload-file (expand-file-name auto-name pkg-dir)) (version-control 'never)) (unless (fboundp 'autoload-ensure-default-file) (package-autoload-ensure-default-file generated-autoload-file)) (update-directory-autoloads pkg-dir))) --8<---------------cut here---------------end--------------->8--- If we reconcile what happens here with what is done in Makefile, may be we can uncover why certain macros in org-macs.el doesn't propagated to some set of files. Note that org-macs.el issue is increasingly reported only with emacs-23 and not with emacs-24. One of the reason could be that emacs-24 *already* has most of the macro definitions in the system path. This is not the case with emacs-23 installations which have (much?) older versions of org. >From what I understand package manager compiles files in alphabetical order. It means that org-macs.el gets compiled after org-agenda.el. Also when eval-when-compile is done of org-macs.el - somewhere it should be done right? - I don't know which of the org-macs.el gets loaded. Is it system-installed one or the one in the distribution tar. These are some of the leading questions that will lead to satisfactory resolution of recently reported issues with package manager. > > Regards, > Achim. --