Commit Graph

7592 Commits

Author SHA1 Message Date
David Adam
88134a2465 Revert "configure: check that errno is threadsafe"
This reverts commit ee15f1b987.

The test relies on undefined behaviour (checking for errno in the
absence of an error condition) and was broken on OpenBSD.

Closes #4184.
2017-08-14 18:18:10 -07:00
David Adam
487dc98468 docs: update language in read documentation 2017-08-14 18:18:10 -07:00
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