Manage the external elisp bits and pieces upon which you depend!
Go to file
Dimitri Fontaine 8876d9ede2 Merge branch 'refactoring'
This refactoring is about cleaning up the code and separating it into
smaller files (think modules).  We begin to change the internal API to
always receive PACKAGE as a symbol, and the main change is how we deal with
the dependencies.

Rather than allow parallel async operations to happen, we solve the
dependencies upfront by doing a topological sort of the :depends we
recursively read in the recipe files.  That allows us to then install only
one package at a time and to avoid initializing the same package twice in
case of multiple reverse depends in the selection.

That in turns allows to simplify the autoload and the main install code a
lot and goes a long way to fix the bug from issue #400 where a package is
said installed but its autoload are not yet available.

The el-get-methods are also splitted each into their own file and the new
function `el-get-register-method' allows to easily add some more privately
if necessary, and should ease contributing new ones too.

This refactoring merge also brings in some test cases.

The main reason why we can merge such a big refactoring now is that the
master's branch targets el-get contributors or elisp hackers that will
handle the breakage.  The el-get-install.el installer file is targeting the
branch "3.stable" where things still work.  This all new setting of the code
is intended for release 4.1, not before.

Conflicts:
	el-get.el
2011-09-23 23:05:02 +02:00
methods Fix the refactoring so that it actually works. 2011-09-22 21:48:11 +02:00
recipes Fix typo in descbinds-anything recipe. 2011-09-22 22:04:12 +02:00
test Add a test for issue #400. 2011-09-23 14:08:31 +02:00
.gitignore
el-get-autoloads.el Autoloads fixes. 2011-09-23 14:06:29 +02:00
el-get-build.el Fix the refactoring so that it actually works. 2011-09-22 21:48:11 +02:00
el-get-byte-compile.el Fix the refactoring so that it actually works. 2011-09-22 21:48:11 +02:00
el-get-core.el Status file fixes, now that we deal with a package symbol. 2011-09-23 14:07:50 +02:00
el-get-custom.el Status file fixes, now that we deal with a package symbol. 2011-09-23 14:07:50 +02:00
el-get-dependencies.el Use our new dependencies tracking code at init time too. 2011-09-23 11:39:12 +02:00
el-get-install.el Review using el-get-dir in the installer. 2011-09-19 10:55:01 +02:00
el-get-list-packages.el Refactoring it all: a beginning. No time for testing yet, just showing ideas. 2011-09-20 15:15:52 +02:00
el-get-methods.el Fix the refactoring so that it actually works. 2011-09-22 21:48:11 +02:00
el-get-notify.el Refactoring it all: a beginning. No time for testing yet, just showing ideas. 2011-09-20 15:15:52 +02:00
el-get-recipes.el Tell `el-get-load-package-user-init-file' about PACKAGE being as symbol. 2011-09-22 21:58:22 +02:00
el-get-status.el Status file fixes, now that we deal with a package symbol. 2011-09-23 14:07:50 +02:00
el-get.el Merge branch 'refactoring' 2011-09-23 23:05:02 +02:00
README.asciidoc