Kurtis Rader
58b604c5ba
change order of env_set()
args
...
It's bugged me forever that the scope is the second arg to `env_get()`
but not `env_set()`. And since I'll be introducing some helper functions
that wrap `env_set()` now is a good time to change the order of its
arguments.
2017-08-14 18:18:09 -07:00
Mahmoud Al-Qudsi
fa4cf77aff
Ignore more invalid arguments from parsed man pages
...
Specifically closes #4313 .
Not being as agressive in what we ignore/blacklist, but can be revisited
easily in the future to add more characters to the argument blacklist.
2017-08-14 18:18:09 -07:00
peoro
5ceac038b1
Improved warning message when exiting with jobs still active
...
Fixes #4303
2017-08-14 18:18:09 -07:00
David Adam
7b92217273
docs: improve set -Ux language and example
...
By far the most common problem with universal variables being overridden
by global variables is other values being imported from the environment;
the `set -q; or set -gx` is much more of an edge case.
2017-08-14 18:18:09 -07:00
Kurtis Rader
74f0be2a53
remove more ENV_NULL references
2017-08-14 18:18:09 -07:00
Kurtis Rader
82b5ba1af4
fix bug in env_get()
involving empty vars
...
My previous change to eliminate `class var_entry_t` caused me to notice
that `env_get()` turned a set but empty var into a missing var. Which
is wrong. Fixing that brought to light several other pieces of code that
were wrong as a consequence of the aforementioned bug.
Another step to fixing issue #4200 .
2017-08-14 18:18:09 -07:00
Kurtis Rader
728a4634a1
replace var_entry_t
with env_var_t
...
This is a step to storing fish vars as actual vectors rather than flat
strings.
2017-08-14 18:18:09 -07:00
Fabian Homborg
745a88f2f6
Revert "Fix clearing abandoned line with VTE ( #4243 )"
...
Unfortunately, this breaks the expect tests.
So, until I can figure out how to unbreak them:
This reverts commit 09cb31a172
.
2017-08-14 18:17:34 -07:00
Fabian Homborg
cf00162340
Fix clearing abandoned line with VTE ( #4243 )
...
* Fix clearing abandoned line with VTE
With VTE-based terminals, resizing currently causes multi-line prompts
to go weird.
This changes the sequence we use to clear the line to one suggested by
a VTE
developer (https://bugzilla.gnome.org/show_bug.cgi?id=763390#c4 ).
It changes nothing in konsole 17.04.3 and urxvt 9.22, but they already
work.
Note that this does not fix the case where output did not end in a
newline, but that doesn't seem to be up to us. Also, it only affects
those lines.
Fixes #2320 .
* Use terminfo definition instead of hardcoding
Thanks to @ixjlyons.
2017-08-14 18:17:34 -07:00
Kurtis Rader
a40d5d4ea6
fix botched merge
2017-08-09 12:30:33 -07:00
Kurtis Rader
29f933adfc
Merge branch 'master' into major
2017-08-09 12:26:24 -07:00
Kurtis Rader
11f5bbf83d
remove completions for .
and source
...
These completions never actually worked and always fell back to the
builtin path completion. But a recent fix means that these now keep the
fallback from happening resulting in no completions for these commands.
2017-08-09 11:15:20 -07:00
David Adam
5e4d046492
docs: tidy language in set
notes
2017-08-09 23:25:00 +08:00
David Adam
5d2a806ac6
set: update language of warning message
2017-08-09 14:23:00 +08:00
Kurtis Rader
3a506543b6
Merge branch 'master' into major
2017-08-07 18:52:00 -07:00
Radek SPRTA
74cac0f86f
completions for snap
command
2017-08-07 18:47:37 -07:00
Kurtis Rader
55bef3cd2e
remove deprecated .
(dot) command
...
Fixes #4294
2017-08-07 18:31:20 -07:00
Mahmoud Al-Qudsi
0ebff8c516
Addresses #4292 by removing custom completions for source builtin
...
The source builtin should use the default path completion and isn't
restricted to *.fish files by wrapping ..fish
2017-08-07 17:49:28 -07:00
Kurtis Rader
1e67baf00e
Merge branch 'master' into major
2017-08-07 17:49:02 -07:00
Alexey Alekhin
326f2affa4
Fixed functions -D/--details completion
2017-08-07 17:43:05 -07:00
Kurtis Rader
9d5a6c57a8
Merge branch 'master' into major
2017-08-06 20:53:51 -07:00
Elliott Beach
9fa0edcbc9
document bind behavior when mixing command types
...
Fixes 3683
2017-08-06 20:49:30 -07:00
Kurtis Rader
fb7645659f
Merge branch 'master' into major
2017-08-06 20:22:31 -07:00
Kurtis Rader
4f5bd08b20
improve set -U
warning
...
Doing `set -U var` when a global named `var` exists can result in
confusing behavior. Try to limit the confusion by improving the warning
we write. Also, only write the warning if interactive.
Fixes #4267
2017-08-06 19:57:25 -07:00
Kurtis Rader
975a5bfbde
make style-all time again
...
Recent changes have introduced some style deviations so clean them up.
2017-08-06 16:05:51 -07:00
Kurtis Rader
acdb81bbca
lint and style cleanups
2017-08-06 15:47:01 -07:00
Kurtis Rader
083224d1c0
fixes to job control changes
...
The job control changes need a couple of fixes for compatibility with
changes I merged while @mqudsi was workin on his change.
2017-08-06 15:25:42 -07:00
Kurtis Rader
52d739c746
Revert "Revert "finish cleanup of signal blocking code""
...
This reverts commit 35ee28ff24
.
Reapply the signal blocking cleanup change on top of the job control
changes made by @mqudsi.
2017-08-06 14:46:12 -07:00
Mahmoud Al-Qudsi
0594735714
Deduplication between INTERNAL_FUNCTION and INTERNAL_BLOCK_NODE
2017-08-06 14:41:27 -07:00
Mahmoud Al-Qudsi
4dfb334db8
Corrected job_type for external command in debug log
2017-08-06 14:41:27 -07:00
Mahmoud Al-Qudsi
384879704a
Unified all child/parent forking code in exec_job
2017-08-06 14:41:27 -07:00
Mahmoud Al-Qudsi
4a1de248bc
Split internal_exec to its own function
2017-08-06 14:41:27 -07:00
Mahmoud Al-Qudsi
711c81b8c8
Raised debug level for "Retrying setpgid" message
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
87db424e45
Removed unused <mutex> header include
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
7e23965250
Cleaned up terminal_give_to_job() code flow and comments
...
No longer using a lambda for pgroupTerminated, using a boolean flag
instead. The new code structure should be much more self-documenting.
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
dabe718c52
Removed unused job_t * parameter from setup_child_process
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
628db65504
OS X EINVAL compatibility for waitpid
...
The return value on OS X is more along the lines of the documented
waitpid behavior; EINVAL is returned if the group no longer exists.
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
8e63386203
Removed old/unneeded variants of block_child
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
16d2f4faff
Added important comment about blocked_pid
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
15da6f0203
Minor refactoring
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
a0efae5f08
Logging updates
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
5db8065f15
unblock_previous on exec_job finish
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
c3d756b5df
blocking only if pipes_to_next_command breaks things like read.expect test
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
b27217e106
terminal_give_to_job() was bypassing the cont
branch
...
If tcgetpgrp for STDIN was already a match, the `cont` branch was
skipped. This wais making the history.expect test fail.
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
f7b051905e
Split child_set_group from setup_child_process
...
setup_child_process blocks in the case of IO_FILE, meaning it can't
be called before child processes SIGSTOP.
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
8537cc982e
Fixed no-op loop hang
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
d6c4e66484
Retry setpgid in setup_child_process on EPERM
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
1ae0272c4e
Improved comments
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
30aa8b3663
No need to unblock last process since it will no longer be SIGSTOP'd
2017-08-06 14:40:18 -07:00
Mahmoud Al-Qudsi
abf6874a2d
Be more judicious about when SIGSTOP is performed
2017-08-06 14:40:18 -07:00