Commit Graph

582 Commits

Author SHA1 Message Date
Ryan C. Thompson
f1868c87c8 Fix el-get-init
It was missing a call to "el-get-with-status-sources"
2012-05-06 01:48:04 -07:00
Ryan Thompson
c32bd0aca8 Merge pull request #664 from DarwinAwardWinner/misc-fixes
Misc fixes
2012-05-06 01:37:10 -07:00
Ryan Thompson
2f3097a6fb Merge pull request #657 from DarwinAwardWinner/code-cleanup
Simplify "el-get-install" and other fixes
2012-05-06 01:34:50 -07:00
Ryan C. Thompson
a4907dd796 Check package's required emacs version before installing or initializing
Fixes #730.
2012-05-06 00:56:10 -07:00
Ryan C. Thompson
1cbad77d34 Minor fix to el-get-remove.
Fixes failure in test #650.
2012-03-30 11:29:38 -07:00
Ryan C. Thompson
cb787b2a7a Always print with "print-level" and "print-length" nil
This prevents Emacs from inserting "..." in place of very deep or long
data structures, which could corrupt the status file in some cases.
This is done by defining a wrapper function "el-get-print-to-string",
which el-get should use for all "critical" stringification tasks.

As noted in #689.
2012-03-29 14:52:43 -07:00
Ryan C. Thompson
9b0f44bc44 Make el-get-remove more error-tolerant.
It should now manage to remove just about any package, regardless of
its current status.

Fixes #683.
2012-03-24 15:46:06 -07:00
Ryan C. Thompson
ed43345a81 Prevent el-get-update-all from hammering ELPA servers
Add some code to make sure "package-refresh-contents" is only run once
per call to "el-get-update-all", instead of once for each ELPA
package.
2012-03-13 10:45:20 -07:00
Ryan C. Thompson
c786602b10 Use el-get-verbose-message in "el-get-do-install" 2012-03-10 11:47:46 -08:00
Ryan C. Thompson
76456a830e Fix prompt for "el-get-reload" 2012-03-10 10:45:35 -08:00
Ryan C. Thompson
db41a56818 Simplify "el-get-install"
Now "el-get-install" simply dispatches to
"el-get-install-next-packages" instead of duplicating some of its work
for the first package on the dependency list.

There should be no change in functionality or interface.
2012-03-09 17:18:37 -08:00
Ryan Thompson
5481256566 Merge pull request #651 from DarwinAwardWinner/remove-from-status-dynamic
Use dynamic binding to force usage of status recipes
2012-03-08 14:54:59 -08:00
Ryan C. Thompson
2fcdcefc79 Improve docstrings and comments 2012-03-08 14:12:06 -08:00
Ryan C. Thompson
aa076d23a8 Update el-get-(remove|reload|checksum) to use "el-get-with-status-recipes" 2012-03-08 13:03:05 -08:00
Ryan C. Thompson
a5d36d9d6d Handle changing dependencies when updating packages 2012-03-08 11:59:10 -08:00
Ryan C. Thompson
69a201e3b8 Move post-install-hook running into el-get-post-install-build 2012-03-07 18:23:32 -08:00
Ryan C. Thompson
d8cd22d213 Make el-get-post-update more like el-get-post-install
Credit to Sébastien Gross for the autoloads fix.
2012-03-07 18:23:32 -08:00
Ryan C. Thompson
7914199310 Reinstall on update if recipe type has changed
Fixes #642.
2012-03-06 10:07:43 -08:00
Ryan C. Thompson
0e36fdaf4e Fix string/symbol confusion 2012-03-06 01:52:31 -08:00
Ryan C. Thompson
b96ae5bbb9 Remove reference to removed function
Also, require a package's directory to exist before considering it
installed.
2012-03-06 01:11:55 -08:00
Dimitri Fontaine
c51609718e Add recipe into the status file and use that at init time, to fix #553. 2012-03-05 18:51:33 +01:00
Ryan Thompson
e5f02aa0ea Merge pull request #621 from tkf/ask-el-get-update-all
Add yes-or-no prompt to el-get-update-all
2012-03-02 15:08:36 -08:00
Ryan C. Thompson
9ff04b3810 Ensure el-get-checksum returns the checksum
Previously it copied it to the kill-ring, but sometimes did not return
it to the caller.
2012-02-29 14:21:01 -08:00
Takafumi Arakaki
f5c8cc4dd2 Add optional no-prompt argument to el-get-update-all
as @DarwinAwardWinner suggested
2012-02-29 18:09:04 +01:00
Takafumi Arakaki
bc9d2e4e01 Add note on el-get-update-all prompt to change log 2012-02-29 17:14:55 +01:00
Takafumi Arakaki
6e1ebccaac Add yes-or-no prompt to el-get-update-all 2012-02-29 14:50:27 +01:00
Ryan C. Thompson
b0ba0acebb Merge branch 'cvs-proxy' 2012-02-28 18:23:01 -08:00
Ryan C. Thompson
7235faa793 Add CVS proxy note to change log 2012-02-28 18:22:15 -08:00
Ryan C. Thompson
63d0771d1c Add verbose message in "el-get-eval-after-load" 2012-02-24 17:56:36 -08:00
Ryan C. Thompson
7cd20512cf Give "eval-after-load" a string
In my testing, "eval-after-load" only works when its first argument is
a string.
2012-02-24 17:55:57 -08:00
Ryan Thompson
0da6fd9299 Merge pull request #582 from DarwinAwardWinner/recipe-auto-lambda
Don't require "lambda ()" in post-init and similar. (plus lazy loading fixes)
2012-02-24 12:04:54 -08:00
Ryan C. Thompson
112a6c2e38 Merge branch 'lazy-fix' into recipe-auto-lambda
Conflicts:
	el-get.el
	recipes/clevercss.rcp
	recipes/coffee-mode.rcp
	recipes/full-ack.rcp
	recipes/mustache-mode.rcp
	recipes/n3-mode.rcp
	recipes/pylookup.rcp
	recipes/rhtml-mode.rcp
	recipes/sauron.rcp
	recipes/yaml-mode.rcp
2012-02-23 15:05:49 -08:00
Ryan C. Thompson
b5c74fc807 Merge branch 'code-cleanup' 2012-02-23 14:46:10 -08:00
Ryan C. Thompson
03e6785586 Fixes to make the test pass 2012-02-23 14:40:45 -08:00
Ryan C. Thompson
6a4ee8340c Use "el-get-lazy-funcall" in "el-get-init" 2012-02-23 14:22:18 -08:00
Ryan C. Thompson
b3f5de42b9 Add functions el-get-eval-after-load and el-get-lazy-funcall
Neither one is used yet
2012-02-23 14:21:38 -08:00
Ryan C. Thompson
ca7702984a Allow :lazy property to always override "el-get-is-lazy"
Specifically, if "el-get-is-lazy" is non-nil, A recipe can override it
with ":lazy nil".
2012-02-23 13:52:45 -08:00
Ryan C. Thompson
c9944fda61 Move file-local variables to dir-local variables 2012-02-23 13:18:48 -08:00
Ryan C. Thompson
6f60c5ba4e Do quote-stripping using eval, not cdr 2012-02-22 15:01:05 -08:00
Ryan C. Thompson
9d51738a20 Improve messages in "el-get-run-package-support"
Now printed lisp forms are put inside `quotes'.
2012-02-22 15:00:51 -08:00
Ryan C. Thompson
db2d2187f0 Rewrite el-get-funcall to expect only function or single lisp form
As discussed in
https://github.com/dimitri/el-get/pull/582#issuecomment-4081824

Since the lisp-form is now recommended and functions are deprecated,
rename "el-get-funcall" to el-get-run-package-support, and change
other terms in documentation and comments from "function" to form.
When it gets a function (anything callable), it gives a deprecation
warning that, when practical, tells the user how to modify the recipe
to use a lisp form instead of a function.

Also, now ":post-init 'FORM" is equivalent to ":post-init FORM",
because any top-level quoting is stripped from FORM (with a warning)
before evaluating it.
2012-02-22 13:41:49 -08:00
Ryan C. Thompson
981c4bfb27 Fix check for callability
It no longer throws errors.
2012-02-22 13:41:49 -08:00
Ryan C. Thompson
b52326c065 For :post-init single-funcall case, also allow macros and other callables 2012-02-22 13:41:49 -08:00
Ryan C. Thompson
cbd502de8a Add github & emacsmirror methods to Change Log 2012-02-21 15:02:26 -08:00
Ryan C. Thompson
1914009917 Code cleanup. 2012-02-20 13:11:10 -08:00
Ryan C. Thompson
a240fd3759 Remove redundant call to "el-get-install-next-packages" 2012-02-20 12:58:45 -08:00
Ryan C. Thompson
daf8c74686 Fix for installing packages with already-installed dependencies 2012-02-20 12:45:54 -08:00
Ryan C. Thompson
fe2916e05c Auto-prepend "lambda ()" to :post-init and similar 2012-02-20 00:24:58 -08:00
Dimitri Fontaine
a6315b0ecc Update the changelog. 2012-02-18 22:03:19 +01:00
Dimitri Fontaine
3164fa3a81 Improve el-get-version to report the current short sha1 from git, and to kill-new the version string. 2012-02-18 21:46:32 +01:00
Dimitri Fontaine
dac6acc5cd Document the new feature in the History part of el-get.el 2012-02-18 21:34:24 +01:00
Ryan C. Thompson
94dc2908e2 Set "default-directory" to package directory during init
This allows recipes to avoid using the "pdir" variable, which is
arguably an implementation detail.
2012-02-13 21:03:06 -08:00
Ryan C. Thompson
771d5cddba Add docs for ":shallow" 2012-02-12 12:59:14 -08:00
Ryan C. Thompson
a30a6c50b3 Document :checkout in change log 2012-02-12 02:47:23 -08:00
Ryan C. Thompson
8befd64d6c Bump version to 4.0.7 2012-02-12 02:41:20 -08:00
Ryan C. Thompson
2880f5bcc5 Add el-get-checksum to documentation 2012-02-12 02:29:31 -08:00
Ryan C. Thompson
bc3e74b4ef Add el-get-self-checksum function 2012-02-12 02:29:31 -08:00
Ryan C. Thompson
6b82a812f8 Document el-get-reinstall in change log 2012-01-29 22:11:44 -08:00
Ryan C. Thompson
32244ea299 Add command "el-get-reinstall" 2012-01-14 16:14:53 -08:00
Ryan C. Thompson
08c3c77b49 Aggressively clear out stale packages before installing 2011-12-01 21:15:12 +08:00
jsvnm
1ab26a856f in el-get-funcall, let was missing a pair of parentheses. pdir was not set. 2011-11-30 17:58:26 +02:00
Julien Danjou
0adecb615c Handle ELPA load-path too
Actually, ELPA will only set load-path way later after reading init.el,
which breaks everything that depends on an ELPA package and is loaded just
after el-get, at init time.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-11-23 09:45:07 +01:00
Dimitri Fontaine
d718e5843d Review latest el-get checksum changes. 2011-10-31 10:58:12 +01:00
Gergely Risko
a2b8a24e25 Checksum support fixups.
Report successful checksum verification.  Deny updating of a package
with a checksum property.
2011-10-31 10:41:25 +01:00
Dimitri Fontaine
03130507ab Call it 4.0.6 now. 2011-10-28 18:04:38 +02:00
Dimitri Fontaine
b36ca061bb Cleanup, commited too fast. 2011-10-28 18:04:00 +02:00
Dimitri Fontaine
6e4f4007ea Review the :checksum patch, implement M-x el-get-checksum. 2011-10-28 18:02:38 +02:00
Gergely Risko
90a86c4d3e Added framework for :checksum support. 2011-10-27 18:27:10 +02:00
Julien Danjou
07ce22d5a5 Always call :post-init after init, even if lazy
Fixes #451

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-10-20 14:47:04 +02:00
Julien Danjou
491ed855ba Add missing autoload flags for interactive functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2011-10-14 16:30:16 +02:00
Dimitri Fontaine
5bbb9c8fdc Forgot to remove the old `el-get-reload' implementation when merging the reload branch... 2011-10-12 21:08:38 +02:00
Dimitri Fontaine
06e4016669 Fix a bug with package init and dependencies.
The init step was skipped for already installed packages that need some
other package to be installed or initialized first.
2011-10-11 20:27:01 +02:00
Dimitri Fontaine
6edce206c7 Fix loading of autoloads at init time, I broke that in the refactoring. 2011-10-11 18:02:20 +02:00
Dimitri Fontaine
3c85a01a9b Squash merge branch reload from DarwinAwardWinner, per #434.
That cleans up the code and allow not to depend on the :reload property, and
cater with some edge cases like features currently loaded but no longer
present in the updated package.

Conflicts:
	el-get.el
2011-10-11 10:37:52 +02:00
Dimitri Fontaine
76e8f0a5ae Add some documentation for M-x el-get-reload and the :reload recipe property.
Also bump the minor version number.
2011-10-10 22:24:46 +02:00
Dimitri Fontaine
a7fbd68b70 Fix #434 by having el-get-update call el-get-reload. 2011-10-10 22:06:26 +02:00
Dimitri Fontaine
ff504e2d4d Implement `el-get-reload' with ideas from #434. 2011-10-10 22:04:10 +02:00
Dimitri Fontaine
e6f7a35c41 Fix el-get-install handling of already installed dependencies, per #432. 2011-10-08 21:27:55 +02:00
Dimitri Fontaine
831c55aa27 Update the changelog and el-get-version.
The previous patches are changing the behavior in a user visible way for
recipes.  Update user documentation to reflect the change and upgrade the
minor version number to be able to track this.
2011-10-07 22:57:08 +02:00
Ryan C. Thompson
47970ef7b0 Fix reference to nonexistent variable 2011-10-07 12:46:34 -07:00
Dimitri Fontaine
5bda0cd8ec Have `el-get-init' consider the 'builtin method rather than duplicating code. 2011-10-04 11:53:35 +02:00
Kyle Hargraves
a54ad73fee Add el-get-builtin method, so builtin packages can be "installed" simply 2011-10-03 16:13:07 -05:00
Dimitri Fontaine
d6dc416c74 Fix comments about builtin package inits. 2011-10-02 19:50:17 +02:00
Dimitri Fontaine
9eb20c5d6b Still process recipe's and user's init code for builtin recipes, per #406. 2011-10-02 19:48:21 +02:00
Dimitri Fontaine
5c7f038590 Implement :builtin recipe property and use it for package.rcp, per #406. 2011-10-01 22:31:07 +02:00
Dimitri Fontaine
e8edbf7f40 el-get-version 4.0.2 only includes package.el from Emacs24, as the package recipe. 2011-09-30 20:57:06 +02:00
Dimitri Fontaine
5f5b4132f7 Blind fix bug in el-get-load-package-user-init-file call when el-get-is-lazy. See #405. 2011-09-28 21:16:59 +02:00
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
Dimitri Fontaine
f760b1a63a Autoloads fixes. 2011-09-23 14:06:29 +02:00
Dimitri Fontaine
6b6f06567f Fix problems with autoloads.
Note that the new dependencies code ensures that we have only one package
currently installing at any time, so that we don't need timer and defered
autoloads updating anymore.  That simplifies the code a lot, and I think it
fixes issue #400, will check that next.
2011-09-23 11:41:24 +02:00
Dimitri Fontaine
a2202e9212 Use our new dependencies tracking code at init time too. 2011-09-23 11:39:12 +02:00
Dimitri Fontaine
8db0c4d49b Fix the refactoring so that it actually works.
This includes teaching methods that they now work with a symbolp PACKAGE,
some more cleaning up, and some load-path adjustments now that a part of the
code is in a subdirectory (methods).

Also include some of the tests used to convince oneself that the refactoring
didn't break any and all use cases for el-get, with some rough documentation
about how to use them.
2011-09-22 21:48:11 +02:00
Hannu Koivisto
1cbff4af37 Quote arguments when using start-process-shell-command
Fixes installation failure on cases when $HOME contains spaces.

Signed-off-by: Dimitri Fontaine <dim@tapoueh.org>
2011-09-22 17:27:36 +02:00
Dimitri Fontaine
7a4a744d98 Simplify `el-get-install' and dependencies management.
This refactoring branch will need some testing at some point…
2011-09-21 16:06:18 +02:00
Dimitri Fontaine
c273d96fac Get rid of el-get-demand1. 2011-09-20 17:55:14 +02:00
Dimitri Fontaine
0433ca0ce9 Refactoring it all: a beginning. No time for testing yet, just showing ideas. 2011-09-20 15:15:52 +02:00
Julien Danjou
0417d19177 Merge el-get-do-install and el-get-demand1
It's used only once.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-09-20 10:54:10 +02:00
Dimitri Fontaine
c9a772db9b Adjust the comment version string to 4.0. 2011-09-19 10:55:20 +02:00
Dimitri Fontaine
c269dff963 Update el-get-version to 4.0.0.
This is the first version number of the 4.0 branch, I will update the third
number every once in a while on the road to 4.1 (next stable version).
2011-09-17 21:20:09 +02:00
Dimitri Fontaine
ea8cf2c16e Symbolic commit to open master's branch for 4.0 development. 2011-09-15 22:40:30 +02:00