Commit Graph

53 Commits

Author SHA1 Message Date
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
Dimitri Fontaine
c1129b79d5 Move el-get-as-list, string and symbol to el-get-core 2011-09-23 11:32:40 +02:00
Dimitri Fontaine
0216fc44fb Quote arguments when using start-process-shell-command.
Manual "backport" of 1cbff4af37.
2011-09-22 22:06:32 +02:00