Commit graph

3339 commits

Author SHA1 Message Date
ridiculousfish
8605cc685d Fix tabs in share/functions/__fish_config_interactive.fish 2013-08-24 12:20:21 -07:00
nulltrek
9a49b2c9fb Fix "command not found" handler behaviour. 2013-08-24 12:16:28 -07:00
ridiculousfish
b6f495d107 Expand abbreviations at the beginning of commands as discussed in https://github.com/fish-shell/fish-shell/issues/731 2013-08-24 11:47:37 -07:00
David Adam (zanchey)
05233aa6f4 configure.ac: don't add RPATH when searching for extra libs
Closes #766
doesn't appear to actually be required, and adding RPATH breaks Debian and OpenSUSE policy
all flames to me
2013-08-22 12:07:28 +08:00
ridiculousfish
7541fac245 Fix the build on OS X Mavericks
https://github.com/fish-shell/fish-shell/issues/968
2013-08-21 14:41:12 -07:00
ridiculousfish
7b6780f712 Put read pipe last so that eval works again. Addresses https://github.com/fish-shell/fish-shell/issues/966 2013-08-21 13:46:11 -07:00
ridiculousfish
d6791a836b Include the autosuggestion in history if it was truncated
https://github.com/fish-shell/fish-shell/issues/650
2013-08-20 20:08:56 -07:00
lledey
69c6b007aa Remove grep warning from make target completion
grep was throwing warnings when no Makefile was found

Signed-off-by: lledey <lledey@gmail.com>
2013-08-19 22:14:20 -04:00
ridiculousfish
ee113a5632 Replace some #warnings with a comment explaining why the code is OK 2013-08-19 18:17:01 -07:00
ridiculousfish
4899086b3c Big fat refactoring of how redirections work. In fish 1.x and 2.0.0, the redirections for a process were flattened into a big list associated with the job, so there was no way to tell which redirections applied to each process. Each process therefore got all the redirections associated with the job. See https://github.com/fish-shell/fish-shell/issues/877 for how this could manifest.
With this change, jobs only track their block-level redirections. Process level redirections are correctly associated with the process, and at exec time we stitch them together (block, pipe, and process redirects).

This fixes the weird issues where redirects bleed across pipelines (like #877), and also allows us to play with the order in which redirections are applied, since the final list is constructed right before it's needed.  This lets us put pipes after block level redirections but before process level redirections, so that a 2>&1-type redirection gets picked up after the pipe, i.e. it should fix https://github.com/fish-shell/fish-shell/issues/110

This is a significant change. The tests all pass. Cross your fingers.
2013-08-19 18:06:24 -07:00
ridiculousfish
f4f2847662 Trivial cleanup of a function in proc.cpp 2013-08-19 18:06:24 -07:00
ridiculousfish
fb89e1a26f Reenable free_redirected_fds_from_pipes. 2013-08-19 18:06:24 -07:00
ridiculousfish
e849beabba Initial work towards various IO cleanups with an eye to fixing https://github.com/fish-shell/fish-shell/issues/110 2013-08-19 18:06:24 -07:00
Konrad Borowski
2979d3bf16 Fix #684 by putting newline after $argv
It's rather hacky, but it sort of works. (but then, this makes fish
compare to PHP (but PHP doesn't put that newline), so perhaps I
shouldn't do that - http://git.io/GFurbg)
2013-08-18 10:57:33 +02:00
ridiculousfish
88efc73797 Actually commit the no-scope-shadowing to . function 2013-08-17 17:04:16 -07:00
ridiculousfish
77b13d02f0 Fix "." function to not shadow scopes, so the tests pass again. Remove eval's use of "." function. 2013-08-17 17:00:15 -07:00
ridiculousfish
588c520c4a Move FISH_BUILD_VERSION from osx/config.h to the pbxproj so that we can build with the generated config.h 2013-08-17 15:46:33 -07:00
David Adam (zanchey)
d371af0504 configure.ac: remove m4_esyscmd_s
m4_esyscmd_s is a macro only available in Autoconf 2.64, which despite
being released in 2009 is not available on a number of build targets for
the project (specifically CentOS/RHEL 6).

ca8e4c08a7 tries to remove the error produced with m4_pattern_allow,
but that just silences the sanity check.

Instead, replace m4_esyscmd_s with m4_esyscmd + manual removal of
newlines.
2013-08-17 10:47:35 +08:00
Konrad Borowski
3e115b7a85 Mac OS X doesn't support uname -o. Use uname instead.
I break compatibility with Mac OS X again, that I don't have access
to. Result: Stuff break, and I have to fix it, so it will perhaps
work. At least, I hope it will work.
2013-08-16 20:48:44 +02:00
Konrad Borowski
ca8e4c08a7 Fix compilation under CentOS
I hope I didn't broke anything, but it works for me.
2013-08-16 19:59:16 +02:00
Mikko Viitamäki
6ec4591f02 fixing small typo 2013-08-16 11:45:15 +03:00
Konrad Borowski
679ef95257 Document source command. 2013-08-14 18:55:15 +03:00
Konrad Borowski
5818289c2d Deprecate "." command. Fixes #310.
Needs documentation (for the new name), but manages to move . to source,
while preserving compatibility.
2013-08-14 18:43:09 +03:00
Konrad Borowski
d407d680ea Show path containing current disk drive in Windows in title 2013-08-14 12:21:17 +03:00
Konrad Borowski
feb36e7342 Show drive letter under Cygwin
/c/c looks awful, and C:/ is simply better.
2013-08-14 12:11:09 +03:00
Konrad Borowski
8ab81e6d4b Implement 'help' for Cygwin. 2013-08-13 17:26:38 +03:00
Konrad Borowski
4fc2ee1bd4 Implement 'open' for Cygwin. 2013-08-13 17:21:40 +03:00
Konrad Borowski
07c48590c0 Be quiet about "if" conditional. 2013-08-13 17:13:18 +03:00
Konrad Borowski
4388b73077 Don't mention chsh if it doesn't exist.
This is case in Cygwin, which doesn't have /etc/shells ans chsh.
2013-08-13 17:07:24 +03:00
Konrad Borowski
d7c6855918 Remove problems with fishd under Cygwin.
Yes, it's an awful hack, but IPC support (and fork support as well -
even FAQ mentions that, and suggests "restarting process" to solve the
problem (http://cygwin.com/faq/faq.html#faq.using.fixing-fork-failures),
but let's ignore that for now) is simply broken in Cygwin. Having to try
to do exactly same thing in Cygwin, just so perhaps it will work is a
completely normal thing (not). I love Windows.
2013-08-12 20:19:51 +03:00
Konrad Borowski
e5e7da1482 Ignore executable files
I commited executables in previous commit (removed using git push
--force - sorry, I wouldn't want to waste space in git repository), so I
think *.exe files should be forbidden to avoid any problems (there is no
reason to ever commit them)
2013-08-12 09:58:45 +03:00
Konrad Borowski
64921fe08a Fix hostname command under Cygwin with Unicode characters
Yes, hostname is broken under Cygwin, but for fish it's an issue, as it
makes fish_config more buggy than it needs to be (by making UTF-8 errors
according to Python).
2013-08-12 09:56:03 +03:00
Konrad Borowski
79d5ff0350 Fix ls command under Cygwin
It appears that dircolors -c under Cygwin has >&/dev/null at end that is
valid C shell syntax, but isn't accepted in fish shell.
2013-08-12 09:38:17 +03:00
David Adam (zanchey)
ada3ab4213 .gitignore: ignore tarball files 2013-08-11 23:45:39 +08:00
David Adam (zanchey)
a00b979bb6 tarball contents should match the filename 2013-08-11 23:23:28 +08:00
David Adam (zanchey)
b1d8492c3f Makefile.in: don't build dist stuff from Makefile, use build_tools 2013-08-11 23:13:38 +08:00
David Adam (zanchey)
75fe438f21 osx/config.h: define the FISH_BUILD_VERSION symbol 2013-08-11 23:13:38 +08:00
David Adam (zanchey)
8cdcfc2a91 configure.ac: generate the fish version number dynamically
Note that this will NOT get updated on every run - even if autoconf is run manually, the value may be cached. The PACKAGE_VERSION variable/symbol will not be reliable. Use FISH_BUILD_VERSION instead.
2013-08-11 23:13:38 +08:00
David Adam (zanchey)
2a06c72113 Generate version numbers dynamically
This commit hooks the Makefile up to generate a FISH_BUILD_VERSION
symbol and kills off PACKAGE_VERSION in .cpp files.

It also modifies the tarball generation script to add the necessary
version file for releases.
2013-08-11 23:13:38 +08:00
David Adam (zanchey)
05563ab11e add git_version_gen: generate a version number from the git tree
Originally from the git sources (GIT-VERSION-GEN)
(C) Junio C Hamano <junkio@cox.net>
Reused under GPL v2.0
2013-08-11 23:13:38 +08:00
David Adam (zanchey)
625a1cb0b5 .gitattributes: mark most scripts in build_tools as not for export
(but not all!) build_documentation.sh is needed for the tarball if you run make distclean
2013-08-11 23:13:38 +08:00
David Adam (zanchey)
ed8ff85d2a accidentally reopened #943, fixed now 2013-08-07 11:26:57 +08:00
David Adam (zanchey)
b482cab7be docs: add editor documentation, move binding information
closes #931
also fixes a crossreference error
2013-08-07 11:23:17 +08:00
Kevin Ballard
0bf5316249 git_prompt: Default upstream_prefix to nothing
git.git's __git_ps1 doesn't have an upstream prefix. I'm not sure why
one was added to our __fish_git_prompt, but it certainly shouldn't
default to a space.
2013-08-05 12:41:58 +08:00
Kevin Ballard
969928e500 git_prompt: Fix bad test if bash.showUntrackedFiles isn't set 2013-08-05 12:41:58 +08:00
David Adam (zanchey)
f30a5fe288 .gitignore: ignore generated source docs, don't ignore Doxyfile.help
Doxyfile.help isn't generated
2013-08-05 09:26:38 +08:00
Gennadiy Zlobin
6f3d7209c2 Fixes broken link in docs. Fixes #943 2013-08-04 14:53:00 +04:00
Brian Gernhardt
82b589e390 git_prompt: Make informative separator configurable
It reuses $__fish_git_prompt_char_stateseparator, since it has a
similar meaning and goes otherwise unused when
$__fish_git_prompt_show_informative_status is set.
2013-07-30 11:31:24 +08:00
Brian Gernhardt
b280cc5e75 git_prompt: Change informative character defaults
This changes the defaults for several characters when
$__fish_git_prompt_show_informative_status is set so that the prompt
looks more like the typical informative prompt.

Before:  (master >1<2|+3#4*5%6)
After:   (master↑1↓2|●3✖4✚5…6)

The defaults were taken from magicmonty/bash-git-prompt
2013-07-30 11:31:24 +08:00
Brian Gernhardt
1964b04ea9 git_prompt: Show upstream with informative status
This makes $__fish_git_prompt_show_informative_status imply
$__fish_git_prompt_showupstream = "informative", while adding a none
option for showupstream to disable it if desired.
2013-07-30 11:31:24 +08:00