Commit graph

4528 commits

Author SHA1 Message Date
Daniel K
9374494d2b Fix job_or_process_extent with command substitution 2015-01-17 11:47:42 +01:00
Jorge Bucaran
2018b9b217 Fix: eval should preserve previous $status if the evaluated block does not change it
Empty functions may return 1 when eval is used due to the $status not being correctly preserved inside the function definition.
2015-01-17 11:44:55 +01:00
Peter Dave Hello
3c0902b7e4 Use svg instead of png to get better image quality 2015-01-17 11:42:54 +01:00
Ben Hamilton
b31305b9bd Unexport CMD_DURATION
Valid uses of this environment variable don't really include passing
it to subsequent child processes.

I confirmed the fix with:

  function fish_prompt
      echo "cmd duration [$CMD_DURATION] "
  end

  cmd duration [0] sleep 2
  cmd duration [2002]
2015-01-16 11:57:26 -08:00
ridiculousfish
d4eded2376 Make octal/hex escapes in printf and echo output literal bytes
Fixes #1894
2015-01-15 11:21:07 -08:00
ridiculousfish
20974edc14 Use iothread_perform variant that doesn't take a completion callback
Removes some ugly NULL casts
2015-01-14 10:05:07 -08:00
Kevin Ballard
6e2132e01f Reap jobs before calling select() in job_continue()
Prior to b0e09303a, simple jobs like `printf "%s\n" $line | read word _`
never hit the call to select() because they were reaped in the SIGCHLD
signal handler. With that commit, the signal handler no longer reaps
children, and a job like that would enter select() and hit the 10000μs
timeout before discovering that the job was already complete.

Fixes #1884.
2015-01-12 22:26:07 -08:00
ridiculousfish
34db67680d Ignore user-supplied fd redirections above 2 for builtins
Prevents e.g. specifying an fd which corresponds to the history file
as the stdin for builtin_source
2015-01-08 10:44:05 -08:00
ridiculousfish
7864d0d416 Rework file descriptor handling
Remove global array of file descriptors, in
favor of relying on CLO_EXEC exclusively.
Also correctly implement "pipe avoidance" so
that fd redirections do not conflict
with pipes.
2015-01-07 18:07:06 -08:00
ridiculousfish
d1feb9bcbf Use scoped_push to save and restore real_io
Fixes a dangling pointer
2015-01-07 16:41:16 -08:00
ridiculousfish
906d235601 Add more expository comments to eval, and remove a useless parameter 2015-01-07 14:56:41 -08:00
ridiculousfish
e045eabad6 Add tests to verify pipes do not conflict with fd redirections 2015-01-04 14:18:06 -08:00
ridiculousfish
218bd7a687 Ignore xccheckout files 2015-01-04 13:46:03 -08:00
ridiculous_fish
70a99e494d Mark libnotify FDs as CLO_EXEC
Fixes a fd leak on OS X
2015-01-04 01:21:23 -08:00
ridiculousfish
e340baf6cc Remove useless signal-checking loop in job_continue
This loop has always been nonsense.
2014-12-29 01:04:13 -08:00
ridiculousfish
182faca2e5 Stop blocking signals within job_promote
Since we no longer inspect the job list from
a signal handler, we don't need to muck with signals
when modifying the job list
2014-12-29 00:56:27 -08:00
ridiculousfish
14834ff076 Rename events and simplify signal event handling
- Rename 'events' to 's_event_handlers'
- Stop inspecting the s_event_handlers list upon receiving
a signal. Instead, maintain the set of signals that are observed
in a separate static array. This lets us avoid mucking with
STL data structures in a signal handler, and so avoid blocking signals
in event.cpp
2014-12-29 00:38:11 -08:00
Andreas Heiduk
a0127a0c7a Change fish_paginate to paginate both stdout and stderr. 2014-12-28 23:14:13 +08:00
volnt
390fe05a87 Update pythonista.fish: make virtualenv aware that prompt is set
Closes #1823, closes #1795.

Signed-off-by: David Adam <zanchey@ucc.gu.uwa.edu.au>
2014-12-28 19:28:12 +08:00
David Adam
b9ff17f33c test: note that the square bracket form is available
As requested in https://github.com/fish-shell/fish-shell/issues/1850
2014-12-28 19:03:26 +08:00
ridiculousfish
5f2ea007a5 Close <code> before <pre> in fish_indent 2014-12-24 14:17:06 -08:00
ridiculousfish
e5a2343879 Use <pre><code> for fish_indent HTML output
As suggested in #1827
2014-12-24 13:08:16 -08:00
ridiculousfish
8d50b2509d Update completions for fish_indent 2014-12-24 13:07:28 -08:00
ridiculousfish
a76afd6dae Clarify some documentation regarding fish_indent 2014-12-24 13:05:31 -08:00
ridiculousfish
77a7dd82a9 Fix for assertion failure in fish_indent when setting a non-RGB color 2014-12-24 12:43:17 -08:00
Jonathan Arnett
04651105a8 Tmuxinator completions 2014-12-24 02:22:41 -05:00
ridiculousfish
d300bd4b62 Document new flags to fish_indent 2014-12-23 17:21:54 -08:00
ridiculousfish
a21db45cee Improve indentation of blocks inside if/while headers
Fixes #1665
2014-12-23 16:30:39 -08:00
ridiculousfish
2e948d9d6d Update fish_indent Xcode build target 2014-12-23 16:16:37 -08:00
ridiculousfish
6fa9a18a2b Correct path in fish_indent tests 2014-12-23 15:51:18 -08:00
ridiculousfish
da2e2c2e99 Implement tests for fish_indent 2014-12-23 15:46:47 -08:00
ridiculousfish
8ba0ab2172 Rewrite of fish_indent
Changes fish_indent to leverage new parse tree
Also supports colorizing output via --html and --ansi flags.
2014-12-23 15:32:01 -08:00
ridiculousfish
96589920d5 Allow running specific high-level tests by passing the name to test.fish
Example:
  tests/test.fish expansion
This will run the tests in expansion.in only
2014-12-23 12:20:44 -08:00
ridiculousfish
8c17d48c83 Include fallback.h in output.h to avoid a compile error 2014-12-23 12:02:09 -08:00
ridiculousfish
d458a8a03d Clean up the last token when receiving TOK_END 2014-12-23 11:22:54 -08:00
ridiculousfish
39fe9fcfcd Tweak comment handling. Mark a parse node with a new flag when it has comments 2014-12-23 10:58:45 -08:00
ridiculousfish
bf80b0db19 Fix to avoid generating multiple error nodes on parse error 2014-12-23 10:53:38 -08:00
ridiculousfish
ebfaa8cc95 Replace an expensive expand_one call with the cheaper unescape_string
Makes parsing a little faster
2014-12-23 10:08:41 -08:00
Max Gonzih
46cd89c2db Support nixos command-not-found handler 2014-12-22 11:16:36 +08:00
David Adam
8124b5073f osx/config.h: add some missed defines 2014-12-21 23:40:46 +08:00
David Adam
a4e81d3978 Merge a handful of old and new fixes for the build on Solaris
Note that it does not successfully compile yet due to missing flock() on this
platform.
2014-12-21 23:38:53 +08:00
David Adam
147078f43d Solaris build fixes: use _sys_errs if available 2014-12-21 23:38:09 +08:00
David Adam
90629caa61 Solaris build fixes: detect <termios.h> in configure
The header is already used appropriately in the code.
2014-12-21 23:38:03 +08:00
David Adam
9cec0ad02c Solaris build fixes: use memset instead of bzero 2014-12-21 23:38:03 +08:00
David Adam
11bece80a8 Solaris build fixes: fallback to _XOPEN_NAME_MAX if defined 2014-12-21 23:38:02 +08:00
David Adam
a10f729ef9 use configure to detect dirent.d_type 2014-12-21 23:38:02 +08:00
ridiculousfish
b9db555343 Support for dirents without d_type (e.g. Solaris) 2014-12-21 23:38:02 +08:00
David Adam
9b43e6fa8b use configure to define NOMACROS
(added in 9ec808a4c)
2014-12-21 23:38:02 +08:00
David Adam
1edb7d3aa5 Update osx/config.h with new configure headers 2014-12-21 23:37:23 +08:00
ridiculousfish
14fde56d32 Define some macros to stop Solaris curses headers from breaking the STL 2014-12-21 23:37:23 +08:00