Kurtis Rader
5c0311653e
Revert "Raised debug level for "Retrying setpgid" message"
...
This reverts commit 711c81b8c8bf5d2dcfffe5add8ca5ab39382bf8a.
It was meant for the major branch.
2017-08-13 15:24:44 -07:00
Kurtis Rader
6fe0cb1941
Revert "Split internal_exec to its own function"
...
This reverts commit 4a1de248bc5ea83c63904dc962467b1e220c1eb9.
It was meant for the major branch.
2017-08-13 15:24:36 -07:00
Kurtis Rader
03a66e31f4
Revert "Unified all child/parent forking code in exec_job"
...
This reverts commit 384879704ac5164ac6ab659bc668b8933e073b5b.
It was meant for the major branch.
2017-08-13 15:24:29 -07:00
Kurtis Rader
5aa281942f
Revert "Corrected job_type for external command in debug log"
...
This reverts commit 4dfb334db813c35950b11a0201953d32b4b4a858.
It was meant for the major branch.
2017-08-13 15:24:18 -07:00
Kurtis Rader
82ee3d6a4e
Revert "Deduplication between INTERNAL_FUNCTION and INTERNAL_BLOCK_NODE"
...
This reverts commit 0594735714faf03e92863ebda67945a45521493e.
It was meant for the major branch.
2017-08-13 15:24:08 -07:00
Kurtis Rader
fea22f2bec
Revert "Revert "Revert "finish cleanup of signal blocking code"""
...
This reverts commit 52d739c746034e0dcd554001f5927ad2f32a20fc.
It was meant for the major branch.
2017-08-13 15:23:57 -07:00
Kurtis Rader
8aca33b21f
Revert "fixes to job control changes"
...
This reverts commit 083224d1c0076b43e9dbb080bc501ee275a9619d.
It was meant for the major branch.
2017-08-13 15:23:44 -07:00
Kurtis Rader
dc5d0ff22f
Revert "lint and style cleanups"
...
This reverts commit acdb81bbca0090fd5f13d72fa1c936c2b645fc42.
It was meant for the major branch.
2017-08-13 15:23:19 -07:00
Kurtis Rader
b0c47c814f
Revert "make style-all time again"
...
This reverts commit 975a5bfbdeeee59b6c46febe9de4d00a51f68196.
It was meant for the major branch.
2017-08-13 15:22:50 -07:00
Kurtis Rader
5786f9e5c3
Revert "replace var_entry_t
with env_var_t
"
...
This reverts commit 1c9370dbd2a3a0135c9c5fdd6b2a690dcd0c8027.
2017-08-13 14:58:00 -07:00
Kurtis Rader
2b7a4143ec
Revert "fix bug in env_get()
involving empty vars"
...
This reverts commit 559b05d01df07f2d60caaa686d4dd1357ab231bb.
It was meant for the major branch.
2017-08-13 14:57:44 -07:00
Kurtis Rader
a2f507f1c8
Revert "remove more ENV_NULL references"
...
This reverts commit 591449aba72f5f6a8fa646f57704ece4428eccb4.
It was meant for the major branch.
2017-08-13 14:57:31 -07:00
Kurtis Rader
9f4f9545c1
Revert "change order of env_set()
args"
...
This reverts commit 6e7956a41383b3273981916901c6db091ea0c6ed.
It was meant for the major branch.
2017-08-13 12:48:22 -07:00
Kurtis Rader
59dbf64603
Revert "make missing_var
a singleton"
...
This reverts commit 3df8643c31a4053aa04410d967886a5888adb1e0.
It was meant for the major branch.
2017-08-13 12:48:22 -07:00
Mahmoud Al-Qudsi
fefd1c7991
Silence unused result warnings on newer compilers
...
Newer versions of GCC and Clang are not satisfied by a cast to void,
this fix is adapted from glibc's solution.
New wrapper function ignore_result should be used when a function with
explicit _unused_attribute_ wrapper is called whose result will not be
handled.
2017-08-12 09:54:26 -05:00
Kurtis Rader
3df8643c31
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-11 15:51:42 -07:00
Kurtis Rader
6e7956a413
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-11 15:51:42 -07:00
Kurtis Rader
3f999209a5
Merge branch 'master' into major
2017-08-10 17:00:56 -07:00
peoro
7f1bdc5541
Improved warning message when exiting with jobs still active
...
Fixes #4303
2017-08-10 16:57:14 -07:00
Kurtis Rader
591449aba7
remove more ENV_NULL references
2017-08-10 15:20:53 -07:00
Kurtis Rader
559b05d01d
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-10 14:43:59 -07:00
Kurtis Rader
1c9370dbd2
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-09 20:47:29 -07:00
Fabian Homborg
d84a859f4f
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 09cb31a172773761a305f7353b44e9bb056a5d98.
2017-08-10 02:24:13 +02:00
Fabian Homborg
09cb31a172
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-10 00:37:32 +02: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
David Adam
5d2a806ac6
set: update language of warning message
2017-08-09 14:23:00 +08:00
Kurtis Rader
55bef3cd2e
remove deprecated .
(dot) command
...
Fixes #4294
2017-08-07 18:31:20 -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 35ee28ff24c7bca933d477029c7f3386cfbaf9a3.
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