Commit Graph

613 Commits

Author SHA1 Message Date
stephan-cr
cd99807894
Add Emacs 28.2 to CI builds and fix newly introduced warnings (#2905)
Currently, there are no builds for Emacs 28.

Emacs 28 seems have introduced warnings about the line length in code
documentation. These warnings have been fixed as well.
2023-06-18 16:53:50 +02:00
Rüdiger Sonderfeld
bbb3f2ca46 Add el-get-eval-lexical option to eval forms with lexical scoping.
Default is nil which should preserve existing behaviour.
2021-12-05 19:47:01 +00:00
Stephan Creutz
ccca97f226 Replace cl by cl-lib
Since Emacs 27 the package cl is deprecated, the replacement is
cl-lib, which is available since Emacs 24.3.

This patch replaces cl by cl-lib and drops support for Emacs versions
less than 24.3. Dropping older Emacsen is required, because cl-lib is
a builtin starting from version 24.3 and doesn't need an extra package
from ELPA.

Testcases for past issues still contain cl. Most of them seem to be
broken and need further investigation.

This patch is tested with test/run-ert.sh, which outputs:

Ran 10 tests, 10 results as expected, 0 unexpected (2021-01-30 13:24:54+0100, 0.672122 sec)
1 expected failures

and manually by daily usage for a month now.
2021-06-13 16:03:08 +02:00
Pásztor János
196a38c61e thingatp support in el-get-read-package-name
* It makes easier to jump between my config and the upstream recipes
2016-09-29 15:13:05 +02:00
Noam Postavsky
00e08b148d .travis.yml: don't hide compile failure
Fix compile warnings that snuck in while the test was broken.
2015-11-13 23:39:27 -05:00
Noam Postavsky
1b452726d2 el-get: don't regenerate all autoloads
It's redundant because we'll update autoloads while installing each
package anyway.
2015-10-10 18:38:03 -04:00
Noam Postavsky
cf1d2f93b7 merge recipe changes to .status.el on update too
Previously, the recipe in .status.el was only updated on init, since
only some properties are safe for change on init the unsafe ones were
never updated.  Therefore, we classify addtional properties as safe fo
change on update, and update .status.el after el-get-update too.

* el-get-core.el (el-get-as-string): Handle number argument.
* el-get-status.el (el-get-status-init-whitelist): Rename from
  el-get-status-recipe-update-whitelist.
(el-get-status-update-whitelist): New constant.
(el-get-classify-new-properties): Add OPERATION argument to choose white
whitelist to use.  The :builtin property is safe to change if it doesn't
change the :type.
(el-get-diagnosis-properties, el-get-merge-properties-into-status): Add
OPERATION argument.
* el-get.el (el-get-do-init): Call el-get-merge-properties-into-status
  with OPERATION 'init.
(el-get-post-update-build): Call el-get-merge-properties-into-status
  with OPERATION 'update.
2015-09-05 17:52:02 -04:00
Noam Postavsky
0351a49d9a just warn about install failures 2015-04-06 20:44:34 -04:00
anthony cantor
091f4b149e http-tar, http-zip methods: verify checksum before handling archive
Both the http-tar and http-zip methods are modified to manually
verify the checksum before handling the archive. This is a
security precaution and also prevents unexpected consequences from
attempting to work with a corrupted archive file.

The checksum verification code is factored out of el-get-post-install
so that the tar and zip methods can verify using the same code as
other methods.
2015-03-08 19:27:06 -07:00
Noam Postavsky
84bbac1da7 Allow package-status-alist arg
In el-get-do-init and el-get-reload but mark it obsolete. This avoids
an error while updating el-get, since the code doing the updating still
uses the old calling convention.

For the el-get-with-status-sources macro, just keep the argument but
always pass nil when calling it (because the obsolete arg is followed
by &rest args, the calling convention can't be changed in a
distinguishable way).
2015-02-17 20:53:53 -05:00
Noam Postavsky
145177c2a4 Remove &optional package-status-alist argument
It seems many functions have an &optional package-status-alist argument
that is never used anywhere.

* el-get-status.el (el-get-package-status-alist,
el-get-package-status-recipes, el-get-read-package-status,
el-get-read-package-status-recipe, el-get-with-status-sources,
el-get-read-cached-recipe, el-get-merge-properties-into-status):
* el-get.el (el-get-init, el-get-do-init, el-get-reload, el-get-remove,
el-get-checksum): Remove &optional package-status-alist argument.
2015-02-17 20:53:53 -05:00
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