Both the `CctoolsMachO` and `RubyMachO` module implement a common set of
methods that simplify querying `mach_data`. Move these into a shared
module, that gets included after either of these implementations is
loaded and included in `Pathname`.
The check that `t4` is not an external command would always succeed, but
not because the file wasn't executable, but because it wasn't even found
due to the missing `brew-` prefix.
Also change the valid but atypical file mode from 0744 to 0755 and apply
minor code style fixes.
Amends 132ada2b0ebb3751c0f8f42ca83bb257b55a50fd until we properly figure
out a way of documenting built-in aliases (or not doing that) across all
commands that currently have aliases. See #270 for full discussion.
* Include --desc in brew search help text.
* Update brew search --desc text in README.
* Remove mention of alias in brew search help text to avoid any
confusion.
Avoid breaking code highlighting of some editors (e.g. Sublime Text)
when `gem` is used as an identifier. This messes up the highlighting
below the first use and makes working with the file rather annoying.
This mainly fixes the problems for subclasses of CurlDownloadStrategy.
More specifically it fixes two things:
* It allows the no insecure redirect check to be applied to
CurlApacheMirrorDownloadStrategy.
* It fixes previous broken CurlPostDownloadStrategy.
Closes#280.
Signed-off-by: Xu Cheng <xucheng@me.com>
Reference from `man curl`
> -R, --remote-time
> When used, this will make curl attempt to figure out the time-
> stamp of the remote file, and if that is available make the
> local file get that same timestamp.
For some reason the existing check seems to have started failing between
March and today. I haven't managed to narrow down why yet but the biggest
change between then and now was the core separation so perhaps related to that.
Perhaps at some point we started considering purely short tap names,
i.e. homebrew/devel-only rather than full tap names, i.e. homebrew/homebrew-devel-only,
in the audit mechanism.
This fixes the current issue whilst retaining the spirit of the original commit:
86d04e94e9
Since `system` escapes its own spaces, cabal was interpreting
`--flags='webapp s3'` as `+'webapp +s3'` rather than `+webapp +s3`.
Closes#267.
Signed-off-by: ilovezfs <ilovezfs@icloud.com>
The fix changes behavior in same cases, but those cases were all either
broken or showed unexpected behavior. The new behavior is very simple:
- If an argument starts with `--<option-name>=`, return whatever comes
after the equals sign.
Prior to this change, `ARGV.value` showed some unexpected behavior:
- `ARGV.value("foo")` returned `nil` for `--foo=` because at least one
character needed to be present after the equals sign. (All other
option parser implementations I'm aware of allow for empty values.)
- `ARGV.value("bar")` returned `"baz"` for `--foo=--bar=baz` because the
regular expression was not anchored to the start of the argument.
- `ARGV.value("++")` raised an exception because the string wasn't
escaped for use in the regular expression. (An unlikely corner case.)
Closes#231.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
When passing formula options with value, e.g. `--with-qt=5`, to the
child process responsible for building a formula, `ARGV.value` would be
invoked with `nil`. Handle this more elegantly (no change in behavior).
For consistency, use a regular expression adapted from `Options.create`
instead of the somewhat bogus one used before.
I'm not completely sure this is "sane" logic but I'm leery of just reverting
Andrew's work this morning and making him rebuild that PR from scratch for one
syntax issue.
Sadly, because we run:
```
brew readall --aliases --syntax
```
On every CI job, and that flags this line previously as:
```
pull.rb:555: warning: possibly useless use of a variable in void context
```
Every single PR has "failed" since it was merged, and it's reached the point
of being a bit annoying, so let's try this.
Fix regression introduced in fafe8f0f53bf91fc41f016b5c2af41ca712783f7.
Counting the number of hyphens in a string cannot be done in a single
expression, thus split this and introduce another local variable.
Fixes#227.