ridiculousfish
ca61fc1bf8
Stop retrying close() on EINTR
...
https://lwn.net/Articles/576478/
http://austingroupbugs.net/view.php?id=529
https://sourceware.org/bugzilla/show_bug.cgi?id=14627
2018-09-05 21:49:31 -07:00
ridiculousfish
8b277e711e
Large refactor of exec.cpp
...
Break up that monster function.
2018-09-03 15:57:11 -07:00
ridiculousfish
eca4d113c6
Factor do_fork into a real function
2018-09-03 14:33:53 -07:00
ridiculousfish
2a62e18635
Remove child_forked and child_spawned
...
These variables weren't used for anything.
2018-09-03 13:31:03 -07:00
ridiculousfish
f7a020ad33
Rename launch process to exec_process_in_job
...
This avoids a name collision with another launch_process
2018-09-03 11:18:39 -07:00
ridiculousfish
48c510572b
Factor out launch_process from exec.cpp
...
Makes the monster function slightly more tractable.
2018-09-01 14:54:23 -07:00
ridiculousfish
753639aa9c
Reduce the scope of pid in exec_job
2018-09-01 14:39:32 -07:00
ridiculousfish
ec9c592edc
Adopt autoclose_fd_t in exec_job
2018-09-01 14:27:58 -07:00
ridiculousfish
274c77cf0c
Add autoclose_fd_t for helping to manage file descriptors
2018-09-01 14:27:36 -07:00
ridiculousfish
9269a5e0a8
Clean up abbreviation implementation a bit
2018-09-01 13:18:34 -07:00
ridiculousfish
051605b593
Cleap up owning_lock interface
...
Use some operator overloading to avoid the weird interface of acquired_lock.
2018-09-01 13:11:42 -07:00
ridiculousfish
1a9e3761ae
Add highlighting tests for empty variables
2018-09-01 12:05:52 -07:00
ridiculousfish
7bd26f9ff0
Teach syntax highlighting about variables in commands
2018-09-01 12:00:56 -07:00
ridiculousfish
865a4647ae
Allow variables in commands
...
Syntax highlighting for these coming in next commit.
Fixes #154
2018-09-01 12:00:56 -07:00
ridiculousfish
59d78e8afa
Clean up syntax highlighting test
2018-09-01 10:17:57 -07:00
ridiculousfish
de2b0d1ae8
Remove some #if 0 code
2018-08-26 02:36:28 -07:00
ridiculousfish
2a680ebd12
Fix some miscellaneous warnings
2018-08-26 00:43:40 -07:00
ridiculousfish
67c4da9dbf
Correct formatting in argparse
2018-08-25 16:18:49 -07:00
ridiculousfish
4abdf8c301
Some refactoring of argparse implicit ints
2018-08-25 16:14:16 -07:00
ridiculousfish
d046452cdf
Increased const correctness in argparse
2018-08-25 16:09:04 -07:00
ridiculousfish
9f436c3750
Clean up bits of wgetopter_t interface
2018-08-25 16:09:04 -07:00
Mahmoud Al-Qudsi
1b1bc28c0a
Protect against loss of background jobs on exec
...
`exec` now exhibits the same behavior as `exit` and prompts the user to
confirm their intention to end the current process if there are
background jobs running. Running `exec` again immediately thereafter
will force the exec to go through.
Additionally, background jobs are reaped upon exec to prevent process
leaking (same as `exit`).
2018-08-20 22:52:47 -05:00
ridiculousfish
54d8d169b5
Remove some compatibility juk from wgetopt
2018-08-18 17:22:55 -07:00
ridiculousfish
d9f34147c3
builtins to only acquire terminal if owned by their pgroup
...
Fix #5133 changed builtins to acquire the terminal, but this regressed
caused fish to be stopped when running in background via `sudo fish`.
Fix this by only acquiring the terminal if the terminal was owned by the
builtin's pgroup.
Fixes #5147
2018-08-18 16:56:01 -07:00
ridiculousfish
cbcabf6d00
Add support for fish_ambiguous_width
...
fish_ambiguous_width is a variable which controls the width of ambiguous CJK
characters.
Fixes #5149
2018-08-18 15:38:05 -07:00
ridiculousfish
d40a82b4d3
Mark reader.cpp jump as static
2018-08-18 14:48:46 -07:00
Chris
1d68b52cbc
Add till/repeat/reverse jump bindings
...
- Add support for:
- Jumping to the character before a target.
- Repeating the previous jump (same direction, same precision).
- Repeating the previous jump in the reverse order.
- Enhance vi bindings.
2018-08-18 14:42:29 -07:00
Mahmoud Al-Qudsi
1c59a3f1a8
Fix traversal order of tokens in history completion
...
Fixes an issue introduced by e51e854
. Closes #5150 .
2018-08-16 14:07:38 -05:00
ridiculousfish
fa66ac8d8c
Acquire tty if interactive when running builtins
...
When running a builtin, if we are an interactive shell and stdin is a tty,
then acquire ownership of the terminal via tcgetpgrp() before running the
builtin, and set it back after.
Fixes #4540
2018-08-12 03:41:56 -07:00
ridiculousfish
c0a332743f
Escape less aggressively when showing completions in pager
...
Stop escaping [, spaces, etc. in the pager.
2018-08-12 03:37:13 -07:00
ridiculousfish
9b22ae7c74
Remove a gnarly macro from builtin_history
2018-08-12 02:41:09 -07:00
ridiculousfish
d87f00bdc9
Simplify history search
...
Remove features related to navigating forwards in history that are no
longer used.
2018-08-12 02:41:09 -07:00
ridiculousfish
e51e854d8d
Clean up reader history search
...
Factor the history search fields into a new class.
As a side effect, this shares the deduplication logic, so that token search
no longer returns duplicates.
Fixes #4795
2018-08-12 02:40:15 -07:00
ridiculousfish
1473f952d4
Make contains() more general
...
Allow contains() to find arbitrary values in arbitrary vectors, and adopt it
in place of std::find.
2018-08-11 22:23:20 -07:00
ridiculousfish
b0dc715d18
Factor update_autosuggestion to use can_autosuggest
2018-08-11 17:40:06 -07:00
ridiculousfish
4fdcc2e400
Begin to rationalize reader data stack
...
Switch from a manually maintained linked list to an explicit stack.
2018-08-11 13:17:00 -07:00
ridiculousfish
68c7ecd777
Remove reader_t::app_name field
...
It was unused
2018-08-11 13:02:50 -07:00
ridiculousfish
f7d846ad8b
Make reader_push accept wcstring instead of wchar_t*
2018-08-11 12:43:11 -07:00
ridiculousfish
82bff2d692
Modernize some reader code for C++11
2018-08-11 12:39:24 -07:00
ridiculousfish
1f2b2b119a
Remove some disabled (commented or ifdef'd out) code
2018-08-10 20:48:02 -07:00
Jon Eyolfson
c3ca108dbe
Added const to methods which 'ought to be const' based on Const Checker
2018-08-09 19:05:47 -07:00
ridiculousfish
9c957eeef3
Prefer to not autosuggest existing arguments
...
This teaches autosuggestions to demote completions whose text matches an already
present argument.
2018-08-07 02:04:43 -07:00
ridiculousfish
459c01df76
Slightly refactor completion calculation
...
Move more stuff into completer_t
2018-08-07 00:40:01 -07:00
ridiculousfish
3175ccf266
Use move semantics when returning completions
...
Avoids some string copies
2018-08-06 23:58:48 -07:00
ridiculousfish
20cec8611d
Remove a stale comment
2018-08-04 16:51:57 -07:00
ridiculousfish
cbff87fe17
Minor cleanup and const correctness
2018-08-04 16:45:16 -07:00
ridiculousfish
2b0c54dfc8
Ignore return value of system() in tests
...
Fixes some warnings on Linux
2018-08-04 16:33:31 -07:00
ridiculousfish
acff2516d4
Straighten out some wchar_t** casts
...
Embrace the fact that builtins expect to modify their argv array and get rid
of a bunch of const.
2018-08-04 16:25:51 -07:00
ridiculousfish
5eada4b623
Put some of builtin_test in an anonymous namespace
...
Reduces the binary size a bit
2018-08-04 15:49:20 -07:00
ridiculousfish
d2bee105c9
Default math scale to 6
...
This changes the behavior of builtin math to floating point by default.
If the result of a computation is an integer, then it will be printed as an
integer; otherwise it will be printed as a floating point decimal with up to
'scale' digits past the decimal point (default is 6, matching printf).
Trailing zeros are trimmed. Values are rounded following printf semantics.
Fixes #4478
2018-08-04 15:32:09 -07:00