From mboxrd@z Thu Jan 1 00:00:00 1970 From: Achim Gratz Subject: Re: Keeping an eye on byte-compilation warnings Date: Sun, 14 Aug 2011 10:14:42 +0200 Message-ID: <87y5ywif4d.fsf@Rainer.invalid> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([140.186.70.92]:43857) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QsVqX-0003V4-NY for emacs-orgmode@gnu.org; Sun, 14 Aug 2011 04:15:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QsVqW-0007bO-6Y for emacs-orgmode@gnu.org; Sun, 14 Aug 2011 04:15:01 -0400 Received: from lo.gmane.org ([80.91.229.12]:59748) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QsVqV-0007bK-QX for emacs-orgmode@gnu.org; Sun, 14 Aug 2011 04:15:00 -0400 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QsVqS-0006Yc-QJ for emacs-orgmode@gnu.org; Sun, 14 Aug 2011 10:14:56 +0200 Received: from p57aad86e.dip.t-dialin.net ([87.170.216.110]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 14 Aug 2011 10:14:56 +0200 Received: from Stromeko by p57aad86e.dip.t-dialin.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 14 Aug 2011 10:14:56 +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: emacs-orgmode@gnu.org John Wiegley writes: > Maybe we're all using different versions of Emacs, but I find that > byte-compilation warnings keep increasing as time goes by. I'd like to ask > people to compile their code before committing, to keep the build log clean. > It looks messy when there are lots of unnecessary warnings. Thank you for bringing this up (again). A few comments: The function that calls org-agenda-todo probably belongs into org-agenda. The function org-copy-visible uses two function from org-exp.el, but probably doesn't belong there, so a declaration of these two functions would be needed. I don't think autoloading during compile is appropriate (does that even work?), and I'm not a huge fan of using require in eval-when-compile for in-package functions (it's OK for external dependencies). In a nutshell, that only works correctly when the dependencies between the lisp files are correctly defined or if the byte-compiled files are always removed before starting a new byte-compile. Since there are quite a few circular dependencies introduced by using require rather than declarations, only the latter currently works (and hence the usual incantation of 'make clean && make compile', which would not be necessary otherwise). Can you recommend a package that can extract the dependencies and perhaps highlight the circulars? There is a page in EmacsWiki with some libraries, but I haven't worked with them yet. It seems like a good idea to try and untangle that cicular dependencies mess... Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds