From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Achim Gratz Newsgroups: gmane.emacs.devel Subject: Re: Elpa packages and macro dependencies. Date: Sun, 19 Oct 2014 08:57:07 +0200 Organization: Linux Private Site Message-ID: <87fvekh7i4.fsf@Rainer.invalid> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1413701868 6260 80.91.229.3 (19 Oct 2014 06:57:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 19 Oct 2014 06:57:48 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Oct 19 08:57:42 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XfkQu-0008Kh-PP for ged-emacs-devel@m.gmane.org; Sun, 19 Oct 2014 08:57:40 +0200 Original-Received: from localhost ([::1]:39008 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XfkQu-0000iO-Fm for ged-emacs-devel@m.gmane.org; Sun, 19 Oct 2014 02:57:40 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54816) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XfkQk-0000gH-81 for emacs-devel@gnu.org; Sun, 19 Oct 2014 02:57:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XfkQd-0008Ed-Sh for emacs-devel@gnu.org; Sun, 19 Oct 2014 02:57:30 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:36952) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XfkQd-0008D7-MO for emacs-devel@gnu.org; Sun, 19 Oct 2014 02:57:23 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XfkQZ-0008EE-KM for emacs-devel@gnu.org; Sun, 19 Oct 2014 08:57:19 +0200 Original-Received: from pd9eb175e.dip0.t-ipconnect.de ([217.235.23.94]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 19 Oct 2014 08:57:19 +0200 Original-Received: from Stromeko by pd9eb175e.dip0.t-ipconnect.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 19 Oct 2014 08:57:19 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 33 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: pd9eb175e.dip0.t-ipconnect.de User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) Cancel-Lock: sha1:VeNLLScOjMeyH6Li5X0bspS08aA= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:175552 Archived-At: Stefan Monnier writes: > The question is how to do the "force-reload". Once we know how to do > that, there are various options as to when to do this force-reload, and > I think this is an easier problem. To me it seems that the discussion has veered from the original topic to a second(ary) problem here. The first problem is to ensure that the package is byte-compiled correctly. To that end, I still think it needs to be sent off to an Emacs instance that is either freshly started or forked from some known-good state. The dependencies of the to-be-compiled package should be activated before compilation starts. The second problem is how (if at all) to re-load the newly compiled package into the Emacs instance the user has been using. You could start with the org-reload implementation I posted (which is also in Emacs). In a nutshell, it checks which files have previously been loaded and re-loads them. This won't always work depending on what exactly has changed between versions. Sometimes doing another reload is in order and sometimes you just have to restart. You'll likely have to delegate some of that responsibility to the package, since you generally can't know what exactly to do in which order for each package. Then again, the package maintainer may not know either… Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for KORG EX-800 and Poly-800MkII V0.9: http://Synth.Stromeko.net/Downloads.html#KorgSDada