From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thorsten Jolitz Newsgroups: gmane.emacs.help Subject: Circular dependencies between libraries - what to do? Date: Sat, 20 Sep 2014 23:21:13 +0200 Message-ID: <87d2aqgf92.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1411248120 519 80.91.229.3 (20 Sep 2014 21:22:00 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 20 Sep 2014 21:22:00 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Sep 20 23:21:55 2014 Return-path: Envelope-to: geh-help-gnu-emacs@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 1XVS6K-0003Yf-GH for geh-help-gnu-emacs@m.gmane.org; Sat, 20 Sep 2014 23:21:52 +0200 Original-Received: from localhost ([::1]:36092 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XVS6J-0006Fb-Tm for geh-help-gnu-emacs@m.gmane.org; Sat, 20 Sep 2014 17:21:51 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42139) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XVS63-0006FW-QB for help-gnu-emacs@gnu.org; Sat, 20 Sep 2014 17:21:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XVS5y-0008Oe-Dx for help-gnu-emacs@gnu.org; Sat, 20 Sep 2014 17:21:35 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:42381) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XVS5y-0008Nz-6t for help-gnu-emacs@gnu.org; Sat, 20 Sep 2014 17:21:30 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XVS5r-0003Nl-8X for help-gnu-emacs@gnu.org; Sat, 20 Sep 2014 23:21:23 +0200 Original-Received: from g231104254.adsl.alicedsl.de ([92.231.104.254]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 20 Sep 2014 23:21:23 +0200 Original-Received: from tjolitz by g231104254.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 20 Sep 2014 23:21:23 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 72 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: g231104254.adsl.alicedsl.de User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:y7RcgUsAJ+xv80UDa/GWV7QuGCM= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:100073 Archived-At: Hi List, I have libraries that depend on each other, and I'm not sure (1) how to use require without introducing circular dependencies? (2) how to declare their dependencies as MELPA packages? 1. When I put in ,---- | A | (require 'B) `---- and in ,---- | B | (require 'A) `---- I'm probably asking for trouble, but B actually does not work without A, and A calls B functions, so they do require each other. 2. I'm struggling a bit with defining MELPA packages. Its pretty well explained in ,---- | https://github.com/milkypostman/melpa `---- but first I don't understand where the package doku comes from when pressing RET in the *Packages* buffer: ,---- | anything is an uninstalled package. | | Status: Available -- [Install] | Version: 20130605.1746 | Summary: open anything / QuickSilver-like candidate-selection framework | | Start with M-x anything, narrow the list by typing some pattern, | select with up/down/pgup/pgdown/C-p/C-n/C-v/M-v, choose with enter, | left/right moves between sources. With TAB actions can be selected | if the selected candidate has more than one possible action. | | Note that anything.el provides only the framework and some example | configurations for demonstration purposes. See anything-config.el | for practical, polished, easy to use configurations which can be | used to assemble a custom personalized configuration. `---- when the recipe looks e.g. like this: ,---- | (anything | :fetcher git | :url "http://repo.or.cz/r/anything-config.git" | :files ("*.el" "contrib/*" "extensions/*.el")) `---- and second I don't see how I can declare dependencies between MELPA packages, causing package B to be installed when A is installed - and vice versa, but without circular loop ... -- cheers, Thorsten