We allow certain special regex characters in formula names, and if
those aren't escaped when interpolating them into a regex, they'll be
interpreted as special regex characters.
This can cause regex compile errors on Ruby 1.8 (for example, with
"libxml++3", which has nested match characters), and more subtle
matching bugs in general.
Refs an issue surfaced in Homebrew/homebrew#48744.
ClosesHomebrew/homebrew#49005.
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
This reverts commit 5bcc7b1f3fd4992e67736bb3cd97141e82c94685 and updates
rtags to version 2.1. It had been moved to the boneyard because the tag
for version 2 had been deleted.
ClosesHomebrew/homebrew#48800.
Signed-off-by: Andrew Janke <andrew@apjanke.net>
If a tap is installed during the installation, the original cache need
to be purged. Otherwise, it will return wrong information afterwards.
ClosesHomebrew/homebrew#48887.
Signed-off-by: Xu Cheng <xucheng@me.com>
During the dependencies expansion, there may be errors (e.g. FormulaUnavaiableError).
As result, some deps will be left behind in the stack and interfere afterwards
dependencies expansion.
So let's ensure stack clean for each expansions.
FixesHomebrew/homebrew#48834.
From `Library/Contributions/brew_zsh_completion.zsh`:
````bash
````
Then it should give symlinked file name of `_brew` instead of being just `brew_zsh_completion.zsh`
ClosesHomebrew/homebrew#48897.
Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
Because `brew.rb` should never be invoked directly, remove executable
bit and shebang to make that more obvious.
ClosesHomebrew/homebrew#48816.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
Some things can break in hard to debug ways if users or build scripts
set these variables, causing our otherwise quite robust Ruby wrappers
to fail. In theory, we could also use `--disable-rubyopt`, but this is
not supported in Ruby 1.8 (and we still care about it).
Use the same interpreter for the shims that is also used to run the main
Homebrew process (the one invoked via `brew`). The magic basically lies
in executing `ruby` with the `-x` option (supported since at least 1.8)
and in the following shebang line.