Commit Graph

1116 Commits

Author SHA1 Message Date
Dimitri Fontaine
01344174dd Merge pull request #428 from DarwinAwardWinner/build-fix
More build fixes
2011-10-07 13:50:00 -07: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
27f72f0911 Merge pull request #430 from DarwinAwardWinner/bugfix
Fix reference to nonexistent variable
2011-10-07 12:56:47 -07:00
Ryan C. Thompson
47970ef7b0 Fix reference to nonexistent variable 2011-10-07 12:46:34 -07:00
Dimitri Fontaine
a388bcebef Merge pull request #429 from DarwinAwardWinner/installer-fix
Support el-get-install-branch to specify a branch to install.
2011-10-07 11:11:33 -07:00
Ryan C. Thompson
6e8082a4e5 Remove extraneous quote 2011-10-07 03:46:08 -07:00
Ryan C. Thompson
c05e46b4ba Support el-get-install-branch to specify a branch to install.
Use it like this:

    (url-retrieve
     "https://raw.github.com/dimitri/el-get/master/el-get-install.el"
     (lambda (s)
       (let ((el-get-install-branch "3.stable"))
         (end-of-buffer)
         (eval-print-last-sexp))))

This variable takes precedence over "el-get-master-branch", and must
be set to a string.

Documentation for this needs to be added to the readme.
2011-10-07 03:15:49 -07:00
Dimitri Fontaine
bd4296900b Merge pull request #426 from DarwinAwardWinner/build-fix
Eliminate all double shell-quoting
2011-10-06 06:41:40 -07:00
Ryan C. Thompson
9be99cc3db Warn for build commands that rely on whitespace-splitting
El-get-build allows a command to be specified as a single string. It
will split that string on whitespace into a list of strings, and each
element of that list will eventually be shell-quoted (by
`el-get-start-process-list`). This is wrong behavior that can easily
cause an innocent command to be over-escaped or split into too many
arguments, or both. For example, consider a build process that
involves running the following command:

    make SOME_OPTION="this is the option value"

Written as a string in Elisp, that would be:

    "make SOME_OPTION=\"this is the option value\""

After splitting on whitespace and then shell-quoting and then passing
the result to the shell, the above command is equivalent to running
the following at the shell:

    "make" "SOME_OPTION=\"this" "is" "the" "option" "value\""

See the problem? What was once a single argument is now five, and the
quotation marks have been inappropriately quoted. For this reason, I
think auto-whitespace splitting should probably be deprecated. The
command should either be a single string, which would be interpreted
as a command to be run with no arguments, or a list of strings, like
this:

    '("make" "SOME_OPTION=\"this is the option value\"")
2011-10-06 02:31:36 -07:00
Ryan C. Thompson
3fa180a61f Use a list of arguments instead of a single string for command
The `el-get-install-or-init-info` composed a command as a single
pre-quoted string using `concat` and `shell-quote-argument`. It is
better to make the command a list of unquoted arguments, which is what
this commit does.
2011-10-06 02:06:29 -07:00
Ryan C. Thompson
bd8ec955fd Don't call shell-quote-argument in mailcrypt recipe
I haven't tested this at all, but assuming that the :build property of
a recipe gets passed through el-get-build and subsequently
el-get-start-process-list, the recipe itself should never use
`shell-quote-argument`.
2011-10-06 01:49:35 -07:00
Ryan C. Thompson
996e798bfc Don't call shell-quote-argument in el-get-byte-compile-process
Same reason as in 11ef806a. The result of this function is passed to
`el-get-start-process-list` with a `:shell t` option, which results in
shell-quoting. So doing it here is redundant and potentially harmful.
2011-10-06 01:49:35 -07:00
Dimitri Fontaine
29009e2b0d Fix parens style in installer. 2011-10-06 09:39:12 +02:00
Dimitri Fontaine
9530bb7a09 Merge pull request #425 from pd/package-method-fix
el-get-package-method should use the package def not the argument passed
2011-10-06 00:33:06 -07:00
Dimitri Fontaine
fd3c11236f Merge pull request #424 from DarwinAwardWinner/installer-fix
Installer fix
2011-10-06 00:32:24 -07:00
Dimitri Fontaine
bda6232c0e Merge pull request #423 from DarwinAwardWinner/build-fix
Don't call shell-quote-argument in el-get-build
2011-10-06 00:28:04 -07:00
Kyle Hargraves
12b15b358b el-get-package-method should use the package def not the argument passed in 2011-10-05 20:01:58 -05:00
Ryan C. Thompson
08fc130581 Delete blank line at EOF 2011-10-05 14:59:11 -07:00
Ryan C. Thompson
321699e462 Load el-get before let-binding el-get variables
Before, the newly-installed el-get package was loaded while
`el-get-default-process-sync` and `el-get-post-install` were
let-bound, which caused their corresponding `defvar` statements to be
ignored, which resulted in a non-functional el-get unless one manually
re-loaded el-get or restarted emacs.
2011-10-05 14:59:02 -07:00
Ryan C. Thompson
72ebbf1b22 Use "or" instead of "if" to choose between alternatives 2011-10-05 14:55:39 -07:00
Ryan C. Thompson
11ef806adc Don't call shell-quote-argument in el-get-build
Also, use slightly more robust type checking on the command.
2011-10-05 14:40:14 -07:00
Dimitri Fontaine
6abbd8a600 Merge pull request #422 from diasjorge/symlink-elpa
Elpa installation error symlinking package
2011-10-04 09:19:16 -07:00
Jorge Dias
e35f6b39bb Formatting symlink command 2011-10-04 15:41:16 +02:00
Dimitri Fontaine
5b17953aa0 Add the headers and licence to methods/el-get-builtin.el 2011-10-04 13:39:09 +02:00
Dimitri Fontaine
5bda0cd8ec Have `el-get-init' consider the 'builtin method rather than duplicating code. 2011-10-04 11:53:35 +02:00
Dimitri Fontaine
f2abf94f06 Merge pull request #419 from pd/builtin-method
'builtin' method
2011-10-04 02:46:27 -07:00
Dimitri Fontaine
8c859782f6 Merge pull request #417 from DarwinAwardWinner/master
Minor fixes to package recipe
2011-10-04 01:15:06 -07:00
Kyle Hargraves
295d6b8f4a Fix ELPA symlink creation type mismatch 2011-10-03 16:13:33 -05: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
3d2f4c5e63 Fix el-get-install-or-init-info, per #418. 2011-10-03 22:06:40 +02:00
Ryan C. Thompson
115b726e39 Add required trailing slash to Marmalade package archive URL 2011-10-03 01:56:14 -07:00
Ryan C. Thompson
ad7fd94f3f Fix stale reference to "package24" 2011-10-02 23:46:11 -07:00
Ryan C. Thompson
f3c57a9396 Use the URL for the last Emacs-23-compatible package.el 2011-10-02 23:45:18 -07:00
Dimitri Fontaine
2ee54e384f Merge pull request #416 from little-arhat/recipe-update-tuareg-mode
point tuareg-mode to location with fresh version
2011-10-02 12:07:11 -07:00
Roman Sokolov
183309df16 point tuareg-mode to location with fresh version 2011-10-02 22:21:54 +04: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
6648d7854c Remove dictionary-el from the examples, as it's not ready for Emacs24. Per #414. 2011-10-01 21:58:12 +02:00
Dimitri Fontaine
bbb87940d0 Merge pull request #413 from pd/github-website
el-get-describe: guess a project's github URL if no website was defined i
2011-10-01 12:44:41 -07:00
Dimitri Fontaine
02c0f939e0 Merge pull request #412 from pd/descbinds-anything-name-fix
fix the package name in the descbinds-anything recipe
2011-10-01 12:43:10 -07:00
Dimitri Fontaine
7a869f9f3c Merge pull request #411 from haplo/master
Recipe for pony-mode (fixed)
2011-10-01 12:42:51 -07:00
Kyle Hargraves
57ff1cc90e el-get-describe: guess a project's github URL if no website was defined in the recipe 2011-09-30 17:28:26 -05:00
Kyle Hargraves
f161f0b70d fix the package name in the descbinds-anything recipe 2011-09-30 17:27:17 -05:00
Fidel Ramos
c969325671 Recipe for pony-mode. 2011-09-30 23:37:55 +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
7c84e5f61d Fix arguments not properly quoted when building install-info command line, per #408. 2011-09-30 20:54:06 +02:00
Dimitri Fontaine
6eb1318545 use url-retrieve-synchronously in init file, per #407 2011-09-30 20:53:56 +02:00
Dimitri Fontaine
1a01892019 The support for the old package.el is now deprecated, only support package from Emacs24. 2011-09-30 20:48:14 +02:00
Julien Danjou
1df8d6eb47 fix typo 2011-09-28 21:52:13 +02:00