Kurtis Rader
42ddab0cb4
make missing_var
a singleton
...
Make the `env_var_t::missing_var()` object a singleton rather than a
dynamically constructed object. This requires some discipline in its use
since C++ doesn't directly support immutable objects. But it is slightly
more efficient and helps identify code that incorrectly mutates `env_var_t`
objects that should not be modified.
2017-08-14 18:18:10 -07:00
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
886fc38d55
fix typo introduced by an earlier revert
2017-08-13 16:15:12 -07:00
Kurtis Rader
ef25d8c76d
Revert "rewrite abbr
function"
...
This reverts commit 17dff8c569
.
It was meant for the major branch.
2017-08-13 15:44:31 -07:00
Kurtis Rader
e6fbb93d31
Revert "implement limits on command substitution output"
...
This reverts commit 4197420f39
.
It was meant for the major branch.
2017-08-13 15:39:13 -07:00
Kurtis Rader
10498059e4
Revert "document command substitution data limit"
...
This reverts commit 2bbcc5cbc8
.
2017-08-13 15:36:39 -07:00
Kurtis Rader
9cb2554423
Revert "implement set --append
and set --prepend
"
...
This reverts commit 67de733b9b
.
It was meant for the major branch.
2017-08-13 15:33:50 -07:00
Kurtis Rader
088b21a15f
Revert "use the new set -a
and set -p
in our scripts"
...
This reverts commit 8b79f4e5c9
.
It was meant for the major branch.
2017-08-13 15:32:16 -07:00
Kurtis Rader
296008089c
Revert "stop subclassing env_var_t from wcstring"
...
This reverts commit c36ad27618
.
It was meant for the major branch.
2017-08-13 15:31:56 -07:00
Kurtis Rader
7876bc6ef3
Revert "make tokenize_variable_array()
private"
...
This reverts commit 4fe9d79438
.
It was meant for the major branch.
2017-08-13 15:30:54 -07:00
Kurtis Rader
7dd2cd7de7
Revert "Revert "finish cleanup of signal blocking code""
...
This reverts commit 35ee28ff24
.
It was meant for the major branch.
2017-08-13 15:30:34 -07:00
Kurtis Rader
7776a03fb3
Revert "Fixes a race condition in output redirection in job chain"
...
This reverts commit cdb72b7024
.
It was meant for the major branch.
2017-08-13 15:30:17 -07:00
Kurtis Rader
c304ca1a1c
Revert "Explicitly nulling chained_wait_prev after munmap()"
...
This reverts commit 47d8a7e882
.
It was meant for the major branch.
2017-08-13 15:30:09 -07:00
Kurtis Rader
4429518667
Revert "Using SIGSTOP/SIGCONT instead of mmap & sem_t to synchronize jobs"
...
This reverts commit cafd856831
.
It was meant for the major branch.
2017-08-13 15:29:59 -07:00
Kurtis Rader
635365654d
Revert "Fixed cases where first command in chain would stay blocked"
...
This reverts commit fb13b370e2
.
It was meant for the major branch.
2017-08-13 15:29:50 -07:00
Kurtis Rader
950c7ef2eb
Revert "fixup! Using SIGSTOP/SIGCONT instead of mmap & sem_t to synchronize jobs"
...
This reverts commit f653fbfaf4
.
It was meant for the major branch.
2017-08-13 15:29:41 -07:00
Kurtis Rader
e0ccb8c48e
Revert "Improved blocked prcoess comments, clarified job vs command chain"
...
This reverts commit dfac81803b
.
It was meant for the major branch.
2017-08-13 15:29:33 -07:00
Kurtis Rader
8ebba2066d
Revert "Fixed race condition in new job control synchronization"
...
This reverts commit 87394a9e0b
.
It was meant for the major branch.
2017-08-13 15:29:22 -07:00
Kurtis Rader
158b946eac
Revert "Don't attempt to unconditionally tcsetpgrp"
...
This reverts commit 0e9177b590
.
It was meant for the major branch.
2017-08-13 15:29:09 -07:00
Kurtis Rader
559f8d5511
Revert "Don't indiscriminately unblock previous cmd for internal builtin/functions"
...
This reverts commit c81cf56c0b
.
It was meant for the major branch.
2017-08-13 15:28:59 -07:00
Kurtis Rader
9d5990eda7
Revert "Changed how process groups are assigned to child processes"
...
This reverts commit 25afc9b377
.
It was meant for the major branch.
2017-08-13 15:28:48 -07:00
Kurtis Rader
8d53b72e46
Revert "Set child process group in case of posix_spawn"
...
This reverts commit 9f2addcf27
.
It was meant for the major branch.
2017-08-13 15:28:38 -07:00
Kurtis Rader
9af7720f19
Revert "Fixed exec failure regression"
...
This reverts commit 8b8a21dcad
.
It was meant for the major branch.
2017-08-13 15:28:28 -07:00
Kurtis Rader
ab4dde6c7f
Revert "Handling EPERM in terminal_give_to_job()"
...
This reverts commit bdcd451030
.
It was meant for the major branch.
2017-08-13 15:28:18 -07:00
Kurtis Rader
b023bddc88
Revert "Clarified job_continue logging"
...
This reverts commit 8f2ef082be
.
It was meant for the major branch.
2017-08-13 15:28:05 -07:00
Kurtis Rader
a8a8d33fe0
Revert "Better set_child_group logic for multi-process jobs"
...
This reverts commit 99c6f65fee
.
It was meant for the major branch.
2017-08-13 15:27:57 -07:00
Kurtis Rader
8a1af4a38d
Revert "Be more judicious about when SIGSTOP is performed"
...
This reverts commit abf6874a2d
.
It was meant for the major branch.
2017-08-13 15:27:48 -07:00
Kurtis Rader
607d9e6aef
Revert "No need to unblock last process since it will no longer be SIGSTOP'd"
...
This reverts commit 30aa8b3663
.
It was meant for the major branch.
2017-08-13 15:27:40 -07:00
Kurtis Rader
b3f43723dc
Revert "Improved comments"
...
This reverts commit 1ae0272c4e
.
It was meant for the major branch.
2017-08-13 15:27:17 -07:00
Kurtis Rader
92628a384b
Revert "Retry setpgid in setup_child_process on EPERM"
...
This reverts commit d6c4e66484
.
It was meant for the major branch.
2017-08-13 15:27:08 -07:00
Kurtis Rader
ac4eedb436
Revert "Fixed no-op loop hang"
...
This reverts commit 8537cc982e
.
It was meant for the major branch.
2017-08-13 15:27:00 -07:00
Kurtis Rader
4b1bc53f91
Revert "Split child_set_group from setup_child_process"
...
This reverts commit f7b051905e
.
It was meant for the major branch.
2017-08-13 15:26:52 -07:00
Kurtis Rader
7b443ac1d3
Revert "terminal_give_to_job() was bypassing the cont
branch"
...
This reverts commit b27217e106
.
It was meant for the major branch.
2017-08-13 15:26:41 -07:00
Kurtis Rader
bd601019fe
Revert "blocking only if pipes_to_next_command breaks things like read.expect test"
...
This reverts commit c3d756b5df
.
It was meant for the major branch.
2017-08-13 15:26:30 -07:00
Kurtis Rader
8c86d258e8
Revert "unblock_previous on exec_job finish"
...
This reverts commit 5db8065f15
.
It was meant for the major branch.
2017-08-13 15:26:22 -07:00
Kurtis Rader
376cb99974
Revert "Logging updates"
...
This reverts commit a0efae5f08
.
It was meant for the major branch.
2017-08-13 15:26:13 -07:00
Kurtis Rader
d0ce2b4824
Revert "Minor refactoring"
...
This reverts commit 15da6f0203
.
It was meant for the major branch.
2017-08-13 15:26:03 -07:00
Kurtis Rader
a4593d011a
Revert "Added important comment about blocked_pid"
...
This reverts commit 16d2f4faff
.
It was meant for the major branch.
2017-08-13 15:25:54 -07:00
Kurtis Rader
177256064c
Revert "Removed old/unneeded variants of block_child"
...
This reverts commit 8e63386203
.
It was meant for the major branch.
2017-08-13 15:25:45 -07:00
Kurtis Rader
a3863b22a7
Revert "OS X EINVAL compatibility for waitpid"
...
This reverts commit 628db65504
.
It was meant for the major branch.
2017-08-13 15:25:29 -07:00
Kurtis Rader
1bbd288f86
Revert "Removed unused job_t * parameter from setup_child_process"
...
This reverts commit dabe718c52
.
It was meant for the major branch.
2017-08-13 15:25:19 -07:00
Kurtis Rader
260d5bb013
Revert "Cleaned up terminal_give_to_job() code flow and comments"
...
This reverts commit 7e23965250
.
It was meant for the major branch.
2017-08-13 15:25:10 -07:00