From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: new exporter Date: Thu, 07 Jun 2012 22:24:50 +0200 Message-ID: <87sje6eup9.fsf@gmail.com> References: <3C38420E-E2FA-4CAB-B3FD-9C5F8584E60A@gmail.com> <81fwadrgoo.fsf@gmail.com> <87396dzlai.fsf_-_@Rainer.invalid> <871ulqgb4t.fsf@gmail.com> <873966yjt6.fsf@Rainer.invalid> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:43470) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ScjJH-0005Gv-RK for emacs-orgmode@gnu.org; Thu, 07 Jun 2012 16:28:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ScjJF-0007lE-JL for emacs-orgmode@gnu.org; Thu, 07 Jun 2012 16:27:59 -0400 Received: from mail-ee0-f41.google.com ([74.125.83.41]:34854) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ScjJF-0007kn-9y for emacs-orgmode@gnu.org; Thu, 07 Jun 2012 16:27:57 -0400 Received: by eekb47 with SMTP id b47so543265eek.0 for ; Thu, 07 Jun 2012 13:27:55 -0700 (PDT) In-Reply-To: <873966yjt6.fsf@Rainer.invalid> (Achim Gratz's message of "Thu, 07 Jun 2012 21:59:49 +0200") 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: Achim Gratz Cc: emacs-orgmode@gnu.org Achim Gratz writes: > Nicolas Goaziou writes: >> declarations (instead of requires) are here to avoid circular >> dependencies. Why do you want to revert that in the first place? > > ...because so many of them were missing that it seemed easier to simply > pull in the definitions by requirement. But it isn't easier in the end, as you can see. By the way, I have a (ugly and mostly working) function to add those declarations. #+begin_src emacs-lisp (defun ngz-declare-function (package) "Insert necessary declare-function calls at point. PACKAGE is the package from which functions should be declared." (interactive "sPackage name: ") (dolist (obj (save-excursion (goto-char (point-min)) (let (acc (re (format "\\(^\\|[^`]\\)\\(%s-[-a-z]+\\)" package))) (while (re-search-forward re nil t) (let ((func (org-match-string-no-properties 2))) (unless (member func acc) (push func acc)))) (sort acc 'string<)))) (cond ((fboundp (intern obj)) (let ((args (let* ((desc (save-window-excursion (describe-function (intern obj)))) (args (and (string-match (format "(%s \\([^)]+\\)?)" obj) desc) (downcase (replace-regexp-in-string "[ \t]*\n[ \t]*" " " (org-match-string-no-properties 1 desc)))))) (insert (format "(declare-function %s \"%s\" (%s))\n" obj package (or args "")))))))) ((boundp (intern obj)) (insert (format "(defvar %s)\n" obj)))))) #+end_src > Yes, that was what I was thinking as well. But that is not actually the > problem with the compilation, but rather your use of cl macros in some > places. Somehow this messes up the compilation in a non-obvious way, > see my other post. If you want to try it yourself, delete one of the > org-e-*.elc files after the first compilation and try to compile that > again and watch it explode... I do not notice anything like this. There are many compilation errors on some files, but they are the same before and after removing an org-e-*.el file. Regards,