From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jambunathan K Subject: 24.0.91; package.el (org): Macros in tar packages & order of byte compilation Date: Thu, 24 Nov 2011 17:42:38 +0530 Message-ID: <81pqgh90sp.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([140.186.70.92]:56159) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RTYAr-0005EA-AD for emacs-orgmode@gnu.org; Thu, 24 Nov 2011 07:13:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RTYAl-0006y2-Hi for emacs-orgmode@gnu.org; Thu, 24 Nov 2011 07:13:05 -0500 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: bug-gnu-emacs@gnu.org Cc: Stelian Iancu , emacs-orgmode@gnu.org There have been constant flow of issues from users who install daily org tar balls from GNU ELPA. The problem concerns itself with the defmacros that are introduced in the *daily* tar but are *unavailable* in the *emacs* core. At the end of the package installation these new macros never get recognized as macros and gets compiled in as function calls. This triggers crashes at a later stage. Note that there are no such defmacro issues that get reported from users who install org from git repo using conventional make and make install. The crux of the issue is this: 1. While building via Makefile, there is an implicit dependency that is *enforced* via make rules and files with macro definitions are compiled ahead of their consumers. 2. While building from ELPA, the compilation order seems to be alphabetical. So the files get compiled bass ackwards. For example, org-macs.el gets compiled after org-agenda.el. In summary, there needs to be a way to specify the order in which files are compiled in a multifile tar. A supplementary question to (2): During the package compilation, when encountering (require 'some-org-library-with-macros) does the library get loaded from *within* the tarball or from the *emacs core*. I hope this description is sufficient. I can cite actual posts from orgmode mailing list if additional information is needed.