Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Tombstone only when explicitly removing a function. | Sanne Wouda | 2015-04-08 |
| | | | | | | | | | Do not tombstone a function when it is evicted normally from the LRU cache. This broke changing `fish_function_path`, since that would evict all nodes, resulting in accidental tombstones, which caused autoloaded functions to never be reloaded. See #213. | ||
* | Small tweaks to clarify some code | ridiculousfish | 2015-04-06 |
| | | | | | Adds a comment about a recursive lock, and changes an ==1 to >0 for improved clarity | ||
* | Revert 1349d12 and properly fix #213 | Sanne Wouda | 2015-04-06 |
| | | | | | | | | | | | As suggested by @ridiculousfish, when removing autoloaded functions, add them to a tombstones set. These functions will never be autoloaded again in the current shell, not even when the timestamp changes. Tested as per comment 1 of #1033. `~/.config/fish/functions/ls.fish` contains the function definition. `function -e ls` removes the redefined `ls` (and reverts back to the built-in command). `touch .../ls.fish` does not cause the function to be reloaded. | ||
* | Add new `functions` flag -V/--inherit-variable | Kevin Ballard | 2014-10-02 |
| | | | | | | | | | | --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`. | ||
* | Rework how screen size is tracked | Kevin Ballard | 2014-08-29 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | The screen size is fetched after a SIGWINCH is delivered. The current implementation has two issues: * It calls ioctl() from the SIGWINCH signal handler, despite ioctl() not being a function that is known to be safe to call. * It's not thread-safe. Signals can be delivered on arbitrary threads, so we don't know if it's actually safe to be modifying the cached winsize in response to a signal. It's also plausible that the winsize may be requested from a background thread. To solve the first issue, we twiddle a volatile boolean flag in the signal handler and defer the ioctl() call until we actually request the screen size. To solve the second issue, we introduce a pthread rwlock around the cached winsize. A rwlock is used because it can be expected that there are likely to be far more window size reads than window size writes. If we were using C++11 we could probably get away with atomics, but since we don't have that (or boost), a rwlock should suffice. Fixes #1613. | ||
* | Fix line number reporting in new parser | ridiculousfish | 2014-03-20 |
| | |||
* | Revert "Merge pull request #1317 from pullreq/cpp" | ridiculousfish | 2014-02-28 |
| | | | | | | | This reverts commit 74135c0600d5dcc40d396d0e7293c17b8d4bdaa7, reversing changes made to 6d749789ce240a3e6f1447777db63fd8e7525560. See discussion in #1317 | ||
* | Fixes .c -> .cpp in comments. For doxygen. | Geoff Nixon | 2014-02-27 |
| | |||
* | Update style and formatting to conform to fish style guide. | ridiculousfish | 2014-01-15 |
| | |||
* | Hook up for statements, if statements, and function definition in new | ridiculousfish | 2013-12-27 |
| | | | | parser | ||
* | Merge branch 'master' into ast | ridiculousfish | 2013-12-20 |
|\ | | | | | | | | | | | | | Conflicts: function.cpp parser.cpp parser.h | ||
| * | Refactor block_t storage in parser_t from a linked list to a vector | ridiculousfish | 2013-12-20 |
| | | |||
* | | Merge branch 'master' into ast | ridiculousfish | 2013-10-16 |
|\| | | | | | | | | | Conflicts: parse_util.cpp | ||
| * | Fix #213. You can now remove autoloaded functions. | Konrad Borowski | 2013-10-12 |
| | | | | | | | | Oddly enough, the code is here, but is internal function. | ||
* | | Beef up completion tests | ridiculousfish | 2013-10-12 |
|/ | |||
* | reference'ize event.cpp/h | Jan Kanis | 2012-12-20 |
| | |||
* | Remove Python dependency from Makefile and Xcode build | ridiculousfish | 2012-12-08 |
| | | | | https://github.com/fish-shell/fish-shell/issues/429 | ||
* | Apply new indentation, brace, and whitespace style | ridiculousfish | 2012-11-18 |
| | |||
* | Remove trailing whitespaces and change tabs to spaces | Łukasz Niemier | 2012-11-18 |
| | |||
* | Fix to restore an optimization from parse_util_get_line_from_offset in a ↵ | ridiculousfish | 2012-08-04 |
| | | | | more thread-safe way | ||
* | Renamed env_vars to env_vars_snapshot_t | ridiculousfish | 2012-07-20 |
| | | | | Cleanup of non-wcstring version of path_get_path | ||
* | Got function.h and function.cpp off of shared_ptr (hooray) | ridiculousfish | 2012-05-18 |
| | |||
* | More work towards getting function.h off of shared_ptr | ridiculousfish | 2012-05-17 |
| | |||
* | Work towards getting function.h off of shared_ptr | ridiculousfish | 2012-05-17 |
| | |||
* | Put fish on a diet. Tracked down the biggest memory hogs and fixed them. ↵ | ridiculousfish | 2012-03-03 |
| | | | | Total allocations down by a factor of 3 or so, live allocations a few KB. | ||
* | Changed iterators from iter++ to ++iter | ridiculousfish | 2012-03-01 |
| | | | | Large set of changes to history to ensure that histories from other sessions don't "bleed" into the current session | ||
* | Modified functions in function.h/.cpp to use wcstring instead wchar_t*, ↵ | Siteshwar Vashisht | 2012-02-19 |
| | | | | other files also modified to use wcstring. | ||
* | Fix for removing too many event handlers (that's why "Goodbye" never got ↵ | ridiculousfish | 2012-02-17 |
| | | | | printed") | ||
* | Removed some al_list functions | ridiculousfish | 2012-02-10 |
| | |||
* | Final removal of halloc. It's like Christmas Morning. | ridiculousfish | 2012-02-09 |
| | |||
* | Removed some more halloc | ridiculousfish | 2012-02-09 |
| | |||
* | Fixed named_arguments to be wcstring_list_t instead of al_list | ridiculousfish | 2012-02-08 |
| | |||
* | Get event_t off of halloc (!) | ridiculousfish | 2012-02-08 |
| | |||
* | Excised some more halloc and array_list_t | ridiculousfish | 2012-02-08 |
| | |||
* | LRU work to load functions off of the main thread. | ridiculousfish | 2012-01-28 |
| | | | | We'll have to reevaluate this after we fix function autocomplete | ||
* | Have to remember to evict nodes from our LRU cache | ridiculousfish | 2012-01-25 |
| | |||
* | Implemented LRU cache for autoloading. | ridiculousfish | 2012-01-25 |
| | |||
* | Migrated function.cpp to use the new function_get() call. Lots of nice short ↵ | ridiculousfish | 2012-01-23 |
| | | | | code now. | ||
* | Migrate function.cpp to scoped_lock and shared_ptr | ridiculousfish | 2012-01-23 |
| | |||
* | Move autoloading from a map of path names to a real object autoload_t. | ridiculousfish | 2012-01-23 |
| | | | | | Moved the various things we can autoload into static objects. Next step is to make them thread safe. | ||
* | Get some basic function signatures right for new instanced parser | ridiculousfish | 2012-01-16 |
| | |||
* | Redesign new environment variables to use env_var_t instead of wcstring | Peter Ammon | 2012-01-14 |
| | | | | Migrate uses of empty() to missing() to distinguish between empty variable and unset variable | ||
* | Migrate function.cpp to STL types. | ridiculousfish | 2012-01-13 |
| | |||
* | Removed multiple delcartions of path_list from autoload_names() in fuction.cpp | Siteshwar Vashisht | 2012-01-14 |
| | |||
* | Merge branch 'Use_env_get_string' into CPlusPlus | Siteshwar Vashisht | 2012-01-14 |
|\ | | | | | | | | | Conflicts: function.cpp | ||
| * | Modified function.cpp to use env_get_string(). | Siteshwar Vashisht | 2012-01-12 |
| | | |||
* | | Additional migration to STL data structures | ridiculousfish | 2012-01-10 |
|/ | |||
* | Incorporate Siteshwar's patch for building on Linux | ridiculousfish | 2012-01-05 |
| | |||
* | Fixed a build failure | ridiculousfish | 2011-12-26 |
| | | | | Added a thread assertion to function.cpp | ||
* | Some changes to migrate towards C++ and a multithreaded model | ridiculousfish | 2011-12-26 |
| |