Commit graph

3625 commits

Author SHA1 Message Date
Tony Wang
7e1a3148fb fixed fish-shell/fish-shell#944
When the completion list includes the exact typed string with other
candidates, i.e. completion_t.match.type == fuzzy_match_exact,
the other candidates will be removed from the list, as they are not
the "best type". This is inconvenient for the user who wants to
type and complete commands in the other candidates.

The commit is to make the best_type to fuzzy_match_prefix as highest
priority, also, when comparing to best_type, the same or higher
priority completions can both match.
2013-08-25 19:33:39 -07:00
Tony Wang
5559962f6f use wstat in test command to follow symbolic link 2013-08-25 15:54:06 -07:00
Tony Wang
1d67d8ff23 add -O and -G to test command
they are available on Linux and OS X, and now ported to fish
2013-08-25 15:54:06 -07:00
ridiculousfish
9f46881c16 Fix to respect the order of paths in /etc/paths (oops) 2013-08-25 14:02:03 -07:00
ridiculousfish
dead45fa67 Rearrange the PATH to respect the order defined in /etc/paths (#927) and
to prepend it to $PATH instead of appending it (#950)
2013-08-25 13:27:52 -07:00
ridiculousfish
a8af974895 Fix a C++11 compile error with clang.
https://github.com/mxcl/homebrew/pull/22016#issuecomment-23222977
2013-08-25 00:45:43 -07:00
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
ridiculousfish
e58b73179f More work on new parser 2013-08-11 00:35:00 -07:00
ridiculousfish
8e07e55c1f More work on new parser 2013-08-08 15:06:46 -07:00
ridiculousfish
6a6593335d Teach fish_tests about new parsing files in Makefile 2013-08-08 15:06:32 -07:00