David Adam
3225d7e169
avoid symlink attacks in __fish_print_packages and spawning fishd
...
* use $XDG_CACHE_HOME for __fish_print_packages completion caches
* when starting fishd, redirect fishd output to /dev/null, not a
predictable path
Fix for CVE-2014-3219.
Closes #1440 .
2014-05-12 09:30:05 +08:00
Konrad Borowski
f8e35de18d
Shorten compilation times
...
Now fish shell stores version is a small file called by other files.
This means that a slight change which modifies one file won't cause
many of files to recompile.
The compilation unit is intentionally small, this is by design. The
smaller it is, the faster it will recompile, and it will be compiled
a lot.
2014-05-01 09:46:27 +02:00
ridiculousfish
a475dd15e6
Migrate universal variables to env_var_t structure. Encapsulate
...
universal variable storage into a class for better testability.
2014-04-25 16:09:26 -07:00
Julian Aron Prenner
cd64a777c3
Set $fish_bind_mode to default on fish startup; set $fish_key_bindings
...
when sourcing fish_vi_mode.fish
2014-01-19 10:27:39 +01:00
ridiculousfish
b2c78dbd57
Fix for issue where we compute a default USER variable, but never set
...
its value.
2014-01-12 13:42:26 -08:00
ridiculousfish
b34721b3f4
Miscellaneous optimizations to reduce string copying
2014-01-07 14:57:58 -08:00
ridiculousfish
85ce80d72e
Stop insisting on trying to add /usr/bin and /bin to $PATH.
...
https://github.com/fish-shell/fish-shell/pull/854
2013-08-27 18:23:33 -07: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
ridiculousfish
c64a86efae
Fix some warnings exposed by -Wall
2013-07-16 13:40:11 -07:00
Dag Odenhall
9f0775c873
Fix $LINES = $COLUMNS bug
...
Fixes #745
2013-05-24 23:23:29 -07:00
ridiculousfish
fe6699f0bf
Rely on $PWD instead of getcwd() more often
...
Fixes https://github.com/fish-shell/fish-shell/issues/696
2013-04-27 00:45:38 -07:00
ridiculousfish
8bbd8ab073
Hack up dcgettext to try to fix CentOS build
...
https://github.com/fish-shell/fish-shell/issues/645
2013-04-08 12:02:43 -07:00
David Adam (zanchey)
daf5ef1bbd
Kill termio.h and sys/termios.h
...
On FreeBSD, compilation complains that "this file includes
<sys/termios.h> which is deprecated, use <termios.h> instead". On Linux
and FreeBSD, <sys/termios.h> literally just pulls in <termios.h>. On OS
X and Solaris, <termios.h> pulls in <sys/termios.h>.
<termio.h> doesn't exist on FreeBSD or Mac OS X, and on Linux is marked
as deprecated and just includes <termios.h>. It does exist on Solaris,
but no `struct termio` is ever actually used in the codebase.
2013-03-05 12:25:00 -08:00
ridiculousfish
a8e92639af
Cleanup and simplify null_terminated_array_t and its clients
2013-02-22 16:22:56 -08:00
ridiculousfish
fbedf020bc
Null initialize an ivar (oops)
2013-02-19 23:16:44 -08:00
ridiculousfish
aaa0c25ff7
Large set of changes to how PATH is handled. Changed fish to no longer modify PATH in share/config.fish. Introduced variable fish_user_paths, and a glue function __fish_reconstruct_path that splices together PATH with fish_user_paths. Changed fish to no longer validate changes to PATH unless the paths are new (i.e. don't recheck what's already there). Modified certain sets to store const wchar_t instead of wcstring to save a few allocations.
...
https://github.com/fish-shell/fish-shell/issues/527
2013-02-19 18:05:20 -08:00
ridiculousfish
6d522e6ed6
First round of fixes based on cppcheck
...
https://github.com/fish-shell/fish-shell/issues/575
2013-02-16 00:02:40 -08:00
ridiculousfish
8d95d0834d
First stab at builtin set_color. Moved set_color.cpp to builtin_set_color.cpp and taught fish about it.
2013-02-14 15:52:24 -08:00
Siteshwar Vashisht
694ab455cd
Fixed broken export_func
...
Fix for https://github.com/fish-shell/fish-shell/issues/573
2013-02-12 13:50:43 +01:00
ridiculousfish
46edc07ae4
Clean up export_func
2013-02-12 00:14:27 -08:00
ridiculousfish
2a7fc9c3a5
Clean up env_var_table_t. Switch from storing var_uni_entry_t* to var_uni_entry_t. Various other cleanups.
2013-02-11 23:16:50 -08:00
Cheer Xiao
274f018494
Remove trailing whitespaces
2013-01-21 10:34:18 +08:00
ridiculousfish
6d61919941
Rearrange some variables for possibly better alignment. int -> bool
2013-01-19 13:32:12 -08:00
ridiculousfish
e07de09460
Big cleanup of env_set. Changed var_table_t to use direct var_entry_t instead of pointers. Changed some ints to bools.
2013-01-19 13:32:06 -08:00
Jan Kanis
9ee7b0a501
really fix bug in export status of universal vars; add tests for that bug
2013-01-02 23:31:30 -08:00
Jan Kanis
3c116f6ab3
fix bug in export status of universal variable assignment
2013-01-02 23:31:30 -08:00
ridiculousfish
705793eae6
Make fish more robust when multiple instances are started at once
2012-12-27 20:26:16 -08:00
ridiculousfish
8a66ba6c35
Merge branch 'event-bug-test' of git://github.com/JanKanis/fish-shell into JanKanis-event-bug-test
2012-12-22 12:20:41 -08:00
Jan Kanis
71233ee894
Make event_t.arguments into a vector instead of an auto_ptr<vector>.
...
Yay for less indirection and less code! The resulting event_t structure is two pointers larger, but cuts out an indirection and allocation.
2012-12-20 16:13:14 +01:00
ridiculousfish
644607c29f
Eliminate str2wcs
2012-12-19 13:31:06 -08:00
ridiculousfish
26678682ca
Fix indentation of switch statements
2012-11-19 00:31:03 -08:00
ridiculousfish
9992b8eb0e
Apply new indentation, brace, and whitespace style
2012-11-18 16:30:30 -08:00
Łukasz Niemier
47df1ae40a
Remove trailing whitespaces and change tabs to spaces
2012-11-18 11:23:22 +01:00
David Adam (zanchey)
a10fa3a20b
add $FISH_VERSION as unexported global variable to complement version
2012-11-08 10:09:51 -08:00
ridiculousfish
51de26960c
Make escaping consistent for fish <-> fishd protocol
...
Fix fork guards to work in fishd
https://github.com/fish-shell/fish-shell/issues/339
2012-10-08 14:47:25 -07:00
ridiculousfish
61686aff34
Adopt posix_spawn (!)
...
Rewrite IO chains to be a vector of pointers, instead of a linked list
Removed io_transmogrify
2012-08-15 00:57:56 -07:00
ridiculousfish
c67702a498
Cleaned up lots of typecasts, simplified some string handling
2012-08-04 15:11:43 -07:00
ridiculousfish
2e1b3325c6
Warning cleanup
2012-08-04 11:34:45 -07:00
ridiculousfish
261bf12c91
Lots of miscellaneous cleanup. Unified the path_get_cd_path, path_allocate_cd_path, etc. functions
2012-07-20 22:11:05 -07:00
ridiculousfish
b08fb86637
Renamed env_vars to env_vars_snapshot_t
...
Cleanup of non-wcstring version of path_get_path
2012-07-20 20:39:31 -07:00
ridiculousfish
e9f43f1097
Changes to make fish use the relocated fishd instead of the installed one, if it exists
2012-07-18 10:50:56 -07:00
ridiculousfish
4ee1cc3b37
Fix for https://github.com/fish-shell/fish-shell/issues/168
...
Make ^ only act as a redirect at the beginning of a token
2012-07-10 20:30:54 -07:00
Siteshwar Vashisht
93dc7d4cc1
Add support for querying variables with scope options as requested in issue #132
2012-06-18 22:52:33 +05:30
ridiculousfish
afd8d2f9ba
Fix for https://github.com/fish-shell/fish-shell/issues/135
...
Don't use std::map::insert when we need to overwrite values
2012-06-16 13:05:58 -07:00
ridiculousfish
eca2100312
Cleanup SHLVL variable
2012-05-09 03:23:31 -07:00
ridiculousfish
175249b455
Adopt wcstring in env_set
2012-05-09 03:06:10 -07:00
ridiculousfish
99b51ce6ea
Fix to better support CDPATH
2012-05-06 14:53:19 -07:00
ridiculousfish
3aeadd9fb7
Fix for a deadlock when env_get_string ends up calling env_get_string
2012-04-23 11:08:29 -07:00
ridiculousfish
268fb37517
Cleanup proc_had_barrier
...
Ensure we don't try to do a universal barrier off of the main thread
2012-03-31 15:33:34 -07:00
ridiculousfish
0bc644abf0
Fix lots of bugs related to the static analyzer
...
Improved how screen.cpp interacts with output_set_writer()
2012-03-26 01:21:10 -07:00