Commit Graph

55 Commits

Author SHA1 Message Date
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
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
6953b6a90d el-get-unquote: new function 2015-07-23 10:05:47 -04:00
Noam Postavsky
14fae0c994 el-get-read-{recipe=>from}-file: rename and move
to el-get-core.el
2015-07-23 10:05:47 -04:00
Noam Postavsky
0351a49d9a just warn about install failures 2015-04-06 20:44:34 -04:00
Noam Postavsky
65b7915aa1 quote shell args only if needed
Windows' CreateProcess() function does weird things when given quoted
args, therefore avoid quoting when possible.

* el-get-core.el (el-get-no-shell-quote): New constant.
(el-get-shell-quote-program): Don't quote if program-name matches
el-get-no-shell-quote.
(el-get-maybe-shell-quote-argument): New function.
(el-get-start-process-list): Use it.
2014-12-25 11:24:44 -05:00
Noam Postavsky
887c2b10d7 Don't use short file name for nonexistent exes
Avoid the temptation to handle missing exes specially in the win32 case.

* el-get-core.el (el-get-shell-quote-program): If we can't executable-find
  the program, just shell-quote-argument it (as in non-Windows case).
2014-12-25 11:24:43 -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
ee630ba314 Pass full name to w32-short-file-name
* el-get-core.el (el-get-shell-quote-program): Call `executable-find' on
  `program-name' before passing it to `w32-short-file-name'; otherwise
  we could get nil.

Github: fixes #1979
2014-11-04 18:56:29 -05:00
Noam Postavsky
b50ca4a5f7 Use 8.3 name for program on Windows
Quoting bat filenames doesn't work if arguments are also quoted.

* el-get-core.el (el-get-shell-quote-program): new function.
(el-get-start-process-list): use it.
2014-10-16 18:48:51 -04:00
Iqbal Ansari
bb7ccfb49a Do not depend on url-parse for extracting hosts from urls
This fixes for #1939. Tests have been added to test/el-get-issue-1939.el
2014-10-15 21:37:52 +05:30
Noam Postavsky
fe62236411 a fix that doesn't break existing recipes
el-get-build should use :shell t to support "./configure" commands,
but el-get-start-process-list should shell-quote-argument the :program
argument to avoid problems with executables in funny paths.

Conflicts:
	el-get-build.el
	el-get-core.el
2014-04-09 18:39:06 +09: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
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
Claudio Bley
ccce7e5f71 Make el-get-start-process-list fail when program is nil
This fixes #1545.
2014-01-31 08:18:42 +01: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
Noam Postavsky
4c27a2b81b delete temp files in `el-get-start-process-list' 2013-10-13 10:48:23 -04:00
Dimitri Fontaine
df50585181 Merge pull request #1300 from ruediger/elpa24_4
Fix elpa support for Emacs 24.4
2013-07-21 16:28:10 -07:00
Rüdiger Sonderfeld
3b80a0db09 Fix elpa support for Emacs 24.4.
`package-desc-vers' is obsolete (replaced by `package-desc-version')
and `package-alist' has a different layout.

el-get-elpa also calls `el-get-rmdir' in some cases with
post-remove-fun as nil.

* methods/el-get-elpa.el (el-get-elpa-update-available-p): Use
  `package-desc-version' if available.
* el-get-core.el (el-get-rmdir): Only call post-remove-fun if non-nil.

Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
2013-07-19 15:37:50 +02:00
Baris Metin
68024463aa el-get-source-name should handle nil correctly. listp on nil is true. 2013-05-10 01:18:20 -07: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
7caafba03d Have el-get-rmdir call the post-remove-fun, fix #845. 2012-12-14 22:48:18 +01:00
Dimitri Fontaine
547b33356e Fix the `el-get-rmdir' error check logic, to fix #944 properly. 2012-12-04 09:58:18 +01: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
Ryan C. Thompson
ce045b3741 Merge branch 'emacs-goodies-fix' 2012-06-18 17:02:27 -07:00
Ryan C. Thompson
9d3ec6a452 Prevent stack overflow on very long command lists.
In "el-get-start-process-list", increase "max-specpdl-size" by 100 for
each command in in the list. This allows
"el-get-start-process-list" (but not other functions) to recurse
indefinitely.

This is needed for the emacs-goodies-el recipe, which generates many
build commands and will overflow the default of max-specpdl-size
during the build.
2012-06-18 16:39:42 -07:00
Ryan C. Thompson
5dfadefedd Add support for update hooks
Previously we had install hooks but no update hooks.
2012-06-18 16:32:47 -07:00
Ryan C. Thompson
426c6d2625 Added "el-get-merge-updatable-properties" with test
This is the first step on the way to fixing #659.
2012-05-06 01:48:04 -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
2268f2f9b6 Add assertion 2012-03-06 10:07:43 -08:00
Takafumi Arakaki
0aaeb4bdab Do not add package dir to load-path if :load-path is nil
Fixes #632.
2012-03-03 23:41:36 +01:00
Ryan C. Thompson
59c8c440e7 Add support for method website guessers 2012-02-28 17:58:28 -08:00
Ryan C. Thompson
537ff524b5 Add function el-get-plist-get-with-default
It encapsulates the following common pattern, used several times in
el-get to allow recipe properties to override defaults if present:

(if (plist-member plist prop)
    (plist-get plist prop)
  default)
2012-02-23 13:29:58 -08:00
Ryan C. Thompson
8e70c9848b Fix el-get-rmdir to handle symlinks 2012-02-20 02:07:25 -08:00
Ryan C. Thompson
ced7ee6e51 Fix position of debug message 2012-02-13 16:14:25 -08:00
Ryan C. Thompson
2e5fd494f8 Ignore nil commands in el-get-start-process-list 2012-02-12 02:46:41 -08:00
Ryan C. Thompson
8eda8bd5e5 Fix el-get-register-derived-method to call el-get-register-method with keywords 2012-02-12 02:29:31 -08:00
Ryan C. Thompson
e2db4e6ec6 Rewrite el-get-register-method with keyword args
Also rewrite el-get-register-derived-method with keyword args.

Calls to the functions have not been updated yet

Conflicts:

	el-get-core.el
2012-02-12 02:29:31 -08:00
Ryan C. Thompson
dc22e60e6e Add functions for succinctly defining related methods 2012-02-12 02:29:30 -08:00
Ryan C. Thompson
27de328231 Update docstring for el-get-methods
It did not mention ":remove-hook"
2012-02-12 02:29:30 -08:00
Ryan C. Thompson
ddd5250ee6 Add additional debug messages to el-get-start-process-list
Messages indicate the list of commands to be run and whether they will
be run synchronously or not.
2012-02-11 13:22:43 -08:00
Ryan C. Thompson
4efbd40d51 Minor refactor of el-get-start-process-list 2012-01-13 15:05:45 -08:00
Dimitri Fontaine
ab0e743550 Per comment and experimentations from DarwinAwardWinner, cleanup `el-get-rmdir'.
The new implementation no longer depends on the :type property of the
package, meaning that you can actually `el-get-remove' a package whose type
changed in its recipe.
2012-01-02 15:10:58 +01:00
Gergely Risko
90a86c4d3e Added framework for :checksum support. 2011-10-27 18:27:10 +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
ff504e2d4d Implement `el-get-reload' with ideas from #434. 2011-10-10 22:04:10 +02:00
Ryan C. Thompson
508fb7e149 Don't assume that first build command is a string
Build commands are supposed to be either strings or lists of strings.
But the code for deciding whether to eval the :build property only
checks for a string, not a list. This commit fixes this, so that a
build property whose commands are all lists of strings should no
longer cause an error. Evaluation of the :build property now only
happens when the car is a symbol, since that is the only time that
evaluation would not result in an error.

Also in this commit:

* Ensure build commands are all strings or lists of strings and raise
  an error otherwise. The check happens after flattening, so nested
  lists of strings should also pass.
* A few syntax fixes
* Add a function "el-get-list-of-strings-p"
2011-10-07 13:33:45 -07:00
Dimitri Fontaine
976ca293a6 Status file fixes, now that we deal with a package symbol.
There's a difference between 'package and :package even if both are symbolp.
2011-09-23 14:07:50 +02:00