Commit Graph

602 Commits

Author SHA1 Message Date
Noam Postavsky
e04caeb256 el-get-describe: pretty print recipe definition
* el-get-recipes.el (el-get-recipe-pprint): New function.
* el-get.el (el-get-write-recipe): Use it.
* el-get-list-packages.el (el-get-describe-1): Use it instead of princ.
(el-get-describe): Call el-get-describe-1 inside with-current-buffer
invocation, since el-get-recipe-pprint causes output to go straight to
the current buffer rather than standard-output.
2015-01-21 22:12:17 -05:00
INA Lintaro
175a5f378c Merge pull request #1976 from tarao/bundle
Merging bundle-el into el-get
2015-01-06 10:47:11 +09:00
Desmond O. Chang
eb8951db9e Return correct library from :pkgname for github based recipe
If `:library` and `:feature` are not specified, `eval-after-load` will
use `:pkgname` as its first argument.  For a github based recipe, the
`:pkgname` has two parts: "username/reponame".  We need to remove the
"username" part before passing `:pkgname` to `eval-after-load`.
2015-01-01 23:22:03 +08:00
tarao
748f750421 Remove reload command.
Reloading process can be done by the normal way i.e. `M-x load-file`.
2014-12-08 09:47:51 +09:00
tarao
90f2366a80 Update autoloads. 2014-12-08 09:47:51 +09:00
Noam Postavsky
42a79678b5 Don't warn about double init for :type elpa
We can assume package.el doesn't re-init the package.

* el-get.el (el-get-do-init): Don't warn if package's method is elpa.
2014-12-01 17:19:48 -05:00
Noam Postavsky
c9816843de rename el-get-autoload{s, => ing}
package.el uses <pkg-name>-autoloads.el as the destination for autoloads
generated from cookies. Meaning that during a MELPA bootstrap install
these get appended to el-get-autoloads.el. Although it's currently
harmless during bootstrap, better to avoid any possible future problems.
2014-11-29 15:05:06 -05:00
Noam Postavsky
69beaeb86f el-get.rcp: Delete bootstrap (M)ELPA version
Also unload the (M)ELPA package and reload the el-get installed one,
otherwise some of the defvars are not reset.
2014-11-29 15:05:06 -05:00
Noam Postavsky
9b298f868c el-get-package-{files,features}: take directory
instead of package. This way we can work with non el-get packages
too (provided we can find their direectory).

* el-get-core.el (el-get-package-files, el-get-package-features): Take
  a directory instead of el-get package symbol.
* el-get.el (el-get-reload): Pass package directory instead of package
  symbol.
2014-11-29 15:05:06 -05:00
Noam Postavsky
2e41df4f9d Warn about package.el el-get conflicts 2014-11-29 15:05:06 -05:00
tarao
59b7874485 Invalidate byte-compiled initilization forms on updating a package. 2014-11-15 15:22:01 +09:00
Noam Postavsky
b57516412f Delete elc before self-update
* el-get.el (el-get-self-update): Delete elc files before updating
  el-get.
2014-11-12 21:21:22 -05:00
tarao
095d379669 Provide `eval-after-load-compile in the other repository.
Provide it in https://github.com/tarao/with-eval-after-load-feature-el .
2014-11-03 04:00:28 +09:00
tarao
7adea4b2ee Automatically load el-get-bundle related commands and macros. 2014-11-01 18:03:59 +09:00
Noam Postavsky
b394d2b776 add autoload cookies so melpa install can work 2014-10-29 18:15:02 -04:00
Noam Postavsky
4699dcfba5 Always tell elpa about el-get activated packages
Previously we would only tell elpa about :type elpa packages, but this
doesn't work if some of the dependencies of an elpa package are not
themselves elpa packages. Since we already require all package names to
be unique, there should be no risk in telling elpa about all el-get
packages.

Also, checking for el-get installed :type elpa packages is not needed,
since any :type elpa package implicitly depends on package, so we can
just check the feature.

* el-get.el (el-get-do-init): always add package symbol to
  package-activated-list when (featurep 'package).
2014-10-22 19:46:17 -04:00
Noam Postavsky
5b758fdff1 Don't let elpa activate el-get installed packages
* el-get.el (el-get-do-init): add non-elpa package to
  package-activated-list so elpa thinks knows they are already
  activated.
2014-10-07 20:18:27 -04:00
Noam Postavsky
af98fb208d Optimize el-get-make-recipes
* el-get.el (el-get-make-recipes): use el-get-read-all-recipes-names
  which uses the file names instead of actually reading the recipe files
  themselves.
2014-07-19 13:00:38 -04:00
Noam Postavsky
b9962349b1 Prettier printing from el-get-make-recipes
* el-get.el (el-get-write-recipe): print a newline after each :prop val
  recipe pair, and then pretty indent the whole thing. Note that
  standard Emacs pretty-printing doesn't put any newlines in lists
  except around sublists.
2014-07-19 12:52:22 -04:00
Noam Postavsky
ad1c2aa7c6 Optimize el-get-read-all-recipe-names
This function is used to create completion candidates, so its slowness
is quite noticable. The main cause of slowness was the reading of all
the recipe files which can be avoided because the file name gives the
recipe name.

* el-get-recipes.el (el-get-all-recipe-file-names): new function.
* el-get.el (el-get-read-all-recipe-names): use new function
  el-get-all-recipe-file-names instead of el-get-read-all-recipes to
  avoid having to read every recipe file.
2014-06-20 00:49:39 -04:00
Noam Postavsky
334750ada4 defun missing functions at runtime too
eval-when-compile -> eval-and-compile
2014-04-06 14:53:59 -04:00
Noam Postavsky
4c58f55920 fix more compilation warnings, missing functions
some functions were changed or introduced in 24.3
2014-04-06 14:53:59 -04:00
Noam Postavsky
d30ddb78e1 fix byte compile warnings
Move more variables to el-get-custom.el, add requires or
declare-functions as needed.

There were a few places that appeared to be actual bugs: wrong or
missing variable names.
2014-03-22 18:43:42 -04:00
Noam Postavsky
e3fab82ef9 fix el-get.el compilation
Move variables from el-get.el to el-get-custom.el; this lets the byte
compiler find them when looking at el-get-recipes.el, which is triggered
by (require 'el-get-recipes) from el-get.el. We can't (require 'el-get)
in el-get-recipes.el because that would cause circular requires which
the byte compiler rejects.
2014-03-22 17:44:19 -04:00
Noam Postavsky
e34fe97227 avoid many package-refresh-contents via let-bind
Previous flet hack is not needed since package-refresh-contents calls
are performed by code that is under our control, namely
el-get-elpa-update.
2014-03-18 21:23:13 -04:00
Noam Postavsky
2fc8cb5634 fix #340: el-get-make-recipes
454fb88192 introduced
el-get-read-all-recipe-files to fix el-get-make-recipes, but forgot to
actually call it.
2014-03-17 20:52:32 -04:00
Noam Postavsky
6c1562ee55 el-get-init-and-install: handle new :depends
If a package to be init'd has new dependencies, simply install them
rather than throwing an error about missing packages. A warning about
changing non-whitelisted properties is still issued.
2014-03-03 21:02:21 -05:00
Noam Postavsky
9c8d57bea1 remove unused variables
They're unused since 4b85baa9a1
2014-03-03 21:02:21 -05:00
Ryan C. Thompson
fdaaf51570 Cleanup indentation with custom indent rules 2014-03-01 16:19:46 -08:00
Ryan C. Thompson
cf34f9aa0a Clean up whitespace
This commit is the result of running cleanup-whitespace.sh.

Fixes #549.
2014-02-21 10:52:48 -08:00
Dimitri Fontaine
bfffd553f4 Move to version 5.1, rolling stable release. 2014-01-11 17:48:33 +01:00
Yakkala Yagnesh Raghava
f8a8008f23 Merge branch 'next' 2013-10-21 13:52:07 +09:00
Yakkala Yagnesh Raghava
146a43b887 Merge branch 'el-get-update-specific-backend' 2013-10-15 21:12:26 +09:00
Ryan C. Thompson
4310ef9db8 Reimplement el-get-update-specific-backend as el-get-update-packages-of-type
New definition is more canonical elisp, and uses two new el-get-core
functions "el-get-plist-keys" and "el-get-keyword-name".

Intended to improve #1412.
2013-10-15 01:13:51 -07:00
Yakkala Yagnesh Raghava
e71ba4c1fd * el-get.el: new defun el-get-update-specific-backend
for updating   specific backend recipes.

  Fixes #1042
2013-10-15 13:45:41 +09:00
Noam Postavsky
5c11d8e013 make el-get-sources docstring match code
Also remove a line of code that corresponded to the old description, but
wasn't actually doing anything.
2013-10-12 19:02:52 -04:00
Ryan C. Thompson
0f3068f072 Fix autoload removal
Combined with the byte-compile fix in f47d14b, changing el-get-remove
to set the pacakge status to "removed" before updating the autoloads
and removing the package results in correct autoload behavior when
removing packages.

Fixes #446.
2013-10-11 10:03:19 -07:00
Noam Postavsky
b1624e88b5 only need to preload autoloads when not lazy 2013-09-26 20:28:13 -04:00
Noam Postavsky
0848af2a13 load autoloads also before init'ing packages
Fixes #1006 with less performance concerns than 39846270a7b149. This one
only evaluates the autoloads file one extra time.
2013-09-26 20:27:15 -04:00
Xiao Hanyu
042540bdcb Add an defalias for lisp coding convention.
A new alias 'el-get-package-installed-p' for 'el-get-package-is-installed'.
2013-09-02 22:36:10 +08:00
Dimitri Fontaine
372e4ecec3 Merge pull request #1221 from ruediger/builtin-build
If :builtin matches do not execute :build/:info.
2013-07-21 15:33:01 -07:00
Rüdiger Sonderfeld
c305a0e927 If :builtin matches do not execute :build/:info.
Currently :build/:info properties are executed even if a package is
builtin.  This however is due to fail because the normal method is
being replaced.

Therefore if :type is 'builtin *and* the recipe has a :builtin
property neither :build nor :info are executed.

Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
2013-05-15 14:56:20 +02:00
Dan Katz
53a135ad84 Simplify the patch to a single function since there's no known use for
the more general internal version.
2013-04-26 17:57:55 -04:00
Dan Katz
3dc440aa77 Ensure that el-get-cleanup preserves el-get.
Split the package removal logic into a dangerous internal function
which removes everything, and a user-friendly external
function (el-get-cleanup) which ensures that el-get doesn't get nuked.
2013-04-23 08:51:10 -04:00
Carlos A. Rocha
a4387d7727 Fix el-get-update-all for elpa packages
el-get-update-all overrode package-refresh-contents using flet to
avoid triggering a full refresh of all elpa packages when updating
each elpa package. The use of flet was incorrect, and the overridden
function was specified with different arguments, causing an error.
2013-04-11 01:27:47 -04:00
Victor Deryagin
0a202ea35d changed mentions of 'README.asciidoc' to 'README.md' in source files 2013-04-01 15:46:34 +03:00
Dimitri Fontaine
529a2e1f9a Add some sanity checks in el-get-remove and el-get-rmdir, fixing #944. 2012-12-03 15:45:21 +01:00
Daniel Szmulewicz
7ba81d6bf0 el-get-cleanup function 2012-09-28 23:17:58 +02:00
Keshav Kini
f1b0293549 Use trailing space with yes-or-no-p
The documentation of the built-in function yes-or-no-p says that the
argument "should end in a space".
2012-09-14 22:05:08 +08:00
Takafumi Arakaki
848c90a518 Clear status cache before init/install/update, etc.
The cache is cleared before running these functions *interactively*:

* el-get-init
* el-get-install
* el-get-reload
* el-get-update
* el-get-remove
2012-09-03 18:03:07 +02:00