# This is a combination of 2 commits.
# The first commit's message is:

Simplify default fish_prompt

No need for the set_color caching now that it's a builtin.

Also simplify the 3 classic prompts in fish_config's sample_prompts set.
Use ENV_USER with vars set via `function -a`

ENV_USER is intended to be used when setting any variable whose name is
controlled by the user. The names given to `function -a` certainly
qualifies. This wasn't an issue in practice because the only restriction
ENV_USER imposes is also imposed on ENV_LOCAL, but the rules may change
in the future.
Add new `functions` flag -V/--inherit-variable

--inherit-variable takes a variable name and snapshots its current
value. When the function is executed, it will have a local variable with
this value already defined. Printing the function source will include
synthesized `set -l` lines for the values.

This is primarily useful for functions that are created on the fly, such
as in `psub`.
Update psub for the new --inherit-variable flag

Also do some minor formatting cleanup, make psub return 1 when executed
outside of a command substitution, and make it respect $TMPDIR.
Clean up prompt_pwd with the new function -V flag

Also fixes `cd /private` displaying as no path on OS X.
Prevent STDERR leak from abook detection in mutt completion

Fixes #1737
add yast2 completion
Fix Perl module completions.

This fixes the issue with nonexistant directories (some Linux
distributions put these for local modules), and also fixes the
issue of dot meaning any character instead of simply dot.
Use ferror instead of checking errno to detect errors in read_file

glibc sets errno even though the file read did not have an error
Fixes #1731
web_config: update AngularJS to 1.0.8
abbr.fish: add abbr, a command to manipulate abbreviations

Work on #731.
web_config: set width to dynamic 80% of window

As we add more tabs, 800px looks increasingly cramped, and our config
should take advantage of the screen space available.
web_config: add support for viewing abbreviations

Add a new tab which lists the current abbreviations defined, by wrapping
the `abbr` command.

Work on #731.
Clean up string handling in parse_util_detect_errors_in_argument
set: warn on setting a universal variable when a global is active

Closes #806.
Don't complain if no errors occurred due to cancellation

Fixes #1166
license.hdr: remove licensing information for XSel, no longer shipped

[skip ci]
license.hdr: reduce duplication and clarify some comments

[skip ci]
Rebuild fish.pc as appropriate

Re-running ./configure will cause fish.pc to rebuild, in case any of the
paths changed. It looks like this actually won't rebuild the rest of
fish, but figuring out how to handle that is out of scope for this
commit.

More importantly, this will rebuild fish.pc when the version string
changes.
web_config: fix output if no abbreviations defined