openbsd
7 years agosync
deraadt [Sat, 22 Apr 2017 17:47:21 +0000 (17:47 +0000)]
sync

7 years agoRecognize Loongson 3A2000/3B2000 processors.
visa [Sat, 22 Apr 2017 15:43:35 +0000 (15:43 +0000)]
Recognize Loongson 3A2000/3B2000 processors.

7 years agoFix an early boot failure on Loongson 3A2000.
visa [Sat, 22 Apr 2017 15:37:39 +0000 (15:37 +0000)]
Fix an early boot failure on Loongson 3A2000.

Reported and patch tested by wen heping

7 years agoThe gnome module supports cmake now.
ajacoutot [Sat, 22 Apr 2017 14:00:30 +0000 (14:00 +0000)]
The gnome module supports cmake now.

7 years agodo not leave temp files after the diffing is done
robert [Sat, 22 Apr 2017 13:42:05 +0000 (13:42 +0000)]
do not leave temp files after the diffing is done

7 years agoAdd a small shell script to be used by syspatch to diff the fake root
robert [Sat, 22 Apr 2017 13:41:02 +0000 (13:41 +0000)]
Add a small shell script to be used by syspatch to diff the fake root
directories for changes due to the fact that we have to do some "magic"
to figure out if things have really changed.

7 years agorework the syspatch makefile and do complete builds for each errata
robert [Sat, 22 Apr 2017 13:39:00 +0000 (13:39 +0000)]
rework the syspatch makefile and do complete builds for each errata
and diff those instead of doing partial builds of affected directories

7 years agoMemory leak from David CARLIER.
nicm [Sat, 22 Apr 2017 12:55:06 +0000 (12:55 +0000)]
Memory leak from David CARLIER.

7 years agoReindent with tabs and add missing braces.
visa [Sat, 22 Apr 2017 12:34:44 +0000 (12:34 +0000)]
Reindent with tabs and add missing braces.

7 years agoDo not need getopt.h.
nicm [Sat, 22 Apr 2017 12:08:41 +0000 (12:08 +0000)]
Do not need getopt.h.

7 years agoXr mutex(9) and rwlock(9)
visa [Sat, 22 Apr 2017 11:12:04 +0000 (11:12 +0000)]
Xr mutex(9) and rwlock(9)

7 years agoShuffle bits into their proper files.
visa [Sat, 22 Apr 2017 11:05:04 +0000 (11:05 +0000)]
Shuffle bits into their proper files.

Prompted by jmc@

7 years agoCan't collect UTF-8 characters of more than one byte at the moment.
nicm [Sat, 22 Apr 2017 10:30:56 +0000 (10:30 +0000)]
Can't collect UTF-8 characters of more than one byte at the moment.

7 years agonew -A should use the session name.
nicm [Sat, 22 Apr 2017 10:26:44 +0000 (10:26 +0000)]
new -A should use the session name.

7 years agoGet rid of the extra layer of flags and cmd_prepare() and just store the
nicm [Sat, 22 Apr 2017 10:22:39 +0000 (10:22 +0000)]
Get rid of the extra layer of flags and cmd_prepare() and just store the
CMD_FIND_* flags in the cmd_entry and call it for the command. Commands
with special requirements call it themselves and update the target for
hooks to use.

7 years agoFor small allocations (chunk) freezero only validates the given
otto [Sat, 22 Apr 2017 09:12:49 +0000 (09:12 +0000)]
For small allocations (chunk) freezero only validates the given
size if canaries are enabled. In that case we have the exact requested
size of the allocation.  But we can at least check the given size
against the chunk size if C is not enabled. Plus add some braces
so my brain doesn't have to scan for dangling else problems when I
see this code.

7 years agoMouse bindings and hooks set up an initial current state when running a
nicm [Sat, 22 Apr 2017 08:56:24 +0000 (08:56 +0000)]
Mouse bindings and hooks set up an initial current state when running a
command. This is used for the session, window and pane for all commands
in the command sequence if there is no -t or -s.

However, using it for all commands in the command sequence means that if
the active pane or current session is changed, subsequent commands still
use the previous state. So make commands which explicitly change the
current state (such as neww and selectp) update it themselves for later
commands. Commands which may invalidate the state (like killp) are
already OK because an invalid state will be ignored.

Also fill in the current state for all key bindings rather than just the
mouse, so that any omissions are easier to spot.

7 years agoWe need to collect UTF-8 characters so that width != 1 characters are
nicm [Sat, 22 Apr 2017 08:33:28 +0000 (08:33 +0000)]
We need to collect UTF-8 characters so that width != 1 characters are
correctly flushed.

7 years agoFix if-shell without a client (so in the config file). Reported by Theo
nicm [Sat, 22 Apr 2017 06:27:15 +0000 (06:27 +0000)]
Fix if-shell without a client (so in the config file). Reported by Theo
Buehler.

7 years agoTypo in example.
nicm [Sat, 22 Apr 2017 06:15:22 +0000 (06:15 +0000)]
Typo in example.

7 years agoMemory leaks, from David CARLIER.
nicm [Sat, 22 Apr 2017 06:13:30 +0000 (06:13 +0000)]
Memory leaks, from David CARLIER.

7 years agoManual page for witness(4). Adapted from FreeBSD.
visa [Sat, 22 Apr 2017 04:00:21 +0000 (04:00 +0000)]
Manual page for witness(4). Adapted from FreeBSD.

7 years agoAdd "key" modifier for -k to make pfctl can kill a state by specifying
yasuoka [Fri, 21 Apr 2017 23:22:49 +0000 (23:22 +0000)]
Add "key" modifier for -k to make pfctl can kill a state by specifying
the key of the state.

ok sasha

7 years agoSpeed up DIOCKILLSTATES by using the RB tree index if all fields used
yasuoka [Fri, 21 Apr 2017 23:21:02 +0000 (23:21 +0000)]
Speed up DIOCKILLSTATES by using the RB tree index if all fields used
by the tree of given state key are filled.

ok sasha

7 years agoLog error properly when no current state, and some other minor tweaks.
nicm [Fri, 21 Apr 2017 22:23:24 +0000 (22:23 +0000)]
Log error properly when no current state, and some other minor tweaks.

7 years agoMake sure cmd_find_from_* clear the state if they fail.
nicm [Fri, 21 Apr 2017 22:00:06 +0000 (22:00 +0000)]
Make sure cmd_find_from_* clear the state if they fail.

7 years agoRename a variable.
nicm [Fri, 21 Apr 2017 21:02:26 +0000 (21:02 +0000)]
Rename a variable.

7 years agoClear shared state if not filling it in.
nicm [Fri, 21 Apr 2017 20:34:05 +0000 (20:34 +0000)]
Clear shared state if not filling it in.

7 years agoMake the cmd_find_* functions more obvious when looking for a client,
nicm [Fri, 21 Apr 2017 20:26:34 +0000 (20:26 +0000)]
Make the cmd_find_* functions more obvious when looking for a client,
rather than having it inside other functions. Should be no change to the
way targets are resolved just yet.

7 years agoKey needs to be initialized to zero now it has flags in it.
nicm [Fri, 21 Apr 2017 19:33:07 +0000 (19:33 +0000)]
Key needs to be initialized to zero now it has flags in it.

7 years agoCast the result of the __swapXX macros to the proper type.
millert [Fri, 21 Apr 2017 19:04:22 +0000 (19:04 +0000)]
Cast the result of the __swapXX macros to the proper type.
The ternary operator was causing the result to be promoted to
int for __swap16.  Fixes warning with clang.  OK guenther@

7 years agoStyle nits and an unused struct.
nicm [Fri, 21 Apr 2017 18:18:17 +0000 (18:18 +0000)]
Style nits and an unused struct.

7 years agoMake id parameter of iwm_send_cmd_pdu() a uint32_t so that it matches
stsp [Fri, 21 Apr 2017 17:54:02 +0000 (17:54 +0000)]
Make id parameter of iwm_send_cmd_pdu() a uint32_t so that it matches
the size of the corresponding id field in struct iwm_host_cmd.
Patch by Imre Vadasz.

7 years agoAdd cmd_find_from_winlink_pane and use it in a couple of places, and
nicm [Fri, 21 Apr 2017 17:22:20 +0000 (17:22 +0000)]
Add cmd_find_from_winlink_pane and use it in a couple of places, and
make functions that can't fail void.

7 years agoFix nic lock usage around iwm_disable_rx_dma().
stsp [Fri, 21 Apr 2017 16:40:11 +0000 (16:40 +0000)]
Fix nic lock usage around iwm_disable_rx_dma().
iwm_disable_rx_dma() was unintentionally releasing the nic lock too early.
Patch by Imre Vadasz.

7 years agoFix nic lock usages around iwm_{read,write}_prph().
stsp [Fri, 21 Apr 2017 16:39:52 +0000 (16:39 +0000)]
Fix nic lock usages around iwm_{read,write}_prph().

The iwm_{read,write}_prph() calls don't grab the nic lock themselves
so make sure to acquire it where necessary.
The iwm_{set,clear}_bits_prph() on the other hand acquire/release the
nic lock themselves. Since the nic lock doesn't do recursive locking
we need to be careful to avoid accidentally releasing the nic lock
too early that way.

Patch by Imre Vadasz.

7 years agoIt is annoying that the copy mode key table (or any other key table)
nicm [Fri, 21 Apr 2017 16:04:18 +0000 (16:04 +0000)]
It is annoying that the copy mode key table (or any other key table)
will suppress root key table bindings. So change to always check the
root table if no binding is found in the current table (whether it be
the prefix table from pressing the prefix or the copy mode table from a
pane).

A root key binding can be blocked by binding the key to a command that
does nothing (like send-keys with no arguments).

Problem reported by Thomas Sattler.

7 years agoMore unnecessary arguments now winlink points back to session.
nicm [Fri, 21 Apr 2017 14:09:44 +0000 (14:09 +0000)]
More unnecessary arguments now winlink points back to session.

7 years agoHistory needs to be loaded after config parsing is done - now that
nicm [Fri, 21 Apr 2017 14:04:54 +0000 (14:04 +0000)]
History needs to be loaded after config parsing is done - now that
commands are queued, that's in cfg_done not after start_cfg finishes.

7 years agoStore state shared between multiple commands in the queue in a shared
nicm [Fri, 21 Apr 2017 14:01:19 +0000 (14:01 +0000)]
Store state shared between multiple commands in the queue in a shared
structure.

7 years agoRepair AgentX support.
jca [Fri, 21 Apr 2017 13:50:23 +0000 (13:50 +0000)]
Repair AgentX support.

which I broke when adding support for multiple listen address.  SNMP
data should be sent to the client using the appropriate socket, which we
now store when we receive the query.

Reported & fix tested by Rivo Nurges.

7 years agoFix uninitialized variable that coult result in a crash.
jca [Fri, 21 Apr 2017 13:46:15 +0000 (13:46 +0000)]
Fix uninitialized variable that coult result in a crash.

Fix from Rivo Nurges.

7 years agoDo not run the config file in the context of the first client, instead
nicm [Fri, 21 Apr 2017 13:15:43 +0000 (13:15 +0000)]
Do not run the config file in the context of the first client, instead
use no client like we did before. This means commands like new-session
won't try to attach if they are in the config file.

7 years agoFail if vm.conf exists but cannot be opened, ignore if it doesn't exist.
reyk [Fri, 21 Apr 2017 11:02:10 +0000 (11:02 +0000)]
Fail if vm.conf exists but cannot be opened, ignore if it doesn't exist.

This fixes 'vmd -nf /etv/vm.conf' if the file is not readable.

7 years agoUse ether_crc32_le() instead of a custom version.
mpi [Fri, 21 Apr 2017 09:42:53 +0000 (09:42 +0000)]
Use ether_crc32_le() instead of a custom version.

From Hiltjo Posthuma.

7 years agoAdd global configuration option "local prefix" to change prefix for -L.
reyk [Fri, 21 Apr 2017 07:03:26 +0000 (07:03 +0000)]
Add global configuration option "local prefix" to change prefix for -L.

The default prefix is 100.64.0.0/10 from RFC6598.

Requested by sthen@ chris@
OK mlarkin@

7 years agovmd(8) pci emulation fix required for upcoming option rom support.
mlarkin [Fri, 21 Apr 2017 04:18:47 +0000 (04:18 +0000)]
vmd(8) pci emulation fix required for upcoming option rom support.
This will be used in the future to support an sgabios option rom, to
do VGA text mode console redirection.

ok reyk

7 years agocontrol_char() for ASCII needs to include both genuine control
nicm [Thu, 20 Apr 2017 21:23:16 +0000 (21:23 +0000)]
control_char() for ASCII needs to include both genuine control
characters and top-bit-set nonprintable characters (so both iscntrl()
and !isprint()), fixes behaviour broken in r1.15/r1.16, noticed by
deraadt@.

ok deraadt tedu

7 years agoadd previous to NAME;
jmc [Thu, 20 Apr 2017 19:30:42 +0000 (19:30 +0000)]
add previous to NAME;

7 years agosync
deraadt [Thu, 20 Apr 2017 18:30:33 +0000 (18:30 +0000)]
sync

7 years agoUse fdforkpty() instead of our own unwrapped versions.
nicm [Thu, 20 Apr 2017 17:49:26 +0000 (17:49 +0000)]
Use fdforkpty() instead of our own unwrapped versions.

7 years agoAdd getptmfd(), fdopenpty(), fdforkpty() functions. These allow programs
nicm [Thu, 20 Apr 2017 17:48:30 +0000 (17:48 +0000)]
Add getptmfd(), fdopenpty(), fdforkpty() functions. These allow programs
to separate the open(/dev/ptm) from the ioctl(PTMGET) for privilege
separation or pledge().

Based on a diff from reyk@.

ok deraadt millert

7 years agoFix previous.
visa [Thu, 20 Apr 2017 17:16:32 +0000 (17:16 +0000)]
Fix previous.

7 years agosync
deraadt [Thu, 20 Apr 2017 16:30:37 +0000 (16:30 +0000)]
sync

7 years agoGet TCB address using the RDHWR instruction instead of __get_tcb().
visa [Thu, 20 Apr 2017 16:07:52 +0000 (16:07 +0000)]
Get TCB address using the RDHWR instruction instead of __get_tcb().
This gives fast access to the address on systems that implement
the UserLocal register. TCB caching is still used when running
in the single-threaded mode in order not to penalize old systems.

The kernel counterpart of this change must be in place before
using this diff!

With guenther@

7 years agoMake TCB address available to userspace via the UserLocal register.
visa [Thu, 20 Apr 2017 15:42:26 +0000 (15:42 +0000)]
Make TCB address available to userspace via the UserLocal register.
This lets programs get the address without a system call on OCTEON II
and later.

Add UserLocal load emulation for systems that do not implement
the RDHWR instruction or the UserLocal register.

OK guenther@

7 years agoonly 32 bits of the pledgecode were passed up via ktrace
deraadt [Thu, 20 Apr 2017 15:21:51 +0000 (15:21 +0000)]
only 32 bits of the pledgecode were passed up via ktrace
from Anton Lindqvist
ok semarie

7 years agoOnly set up a current target for mouse key bindings. Fixes:
nicm [Thu, 20 Apr 2017 15:16:20 +0000 (15:16 +0000)]
Only set up a current target for mouse key bindings. Fixes:

bind q select-pane -U \; resize-pane -Z

(There is still some possible weirdness with the way we do current
targets, it should probably be done in a different way at some point.)

7 years agoDrop unnecessary headers. This fixes kernel build on platforms
visa [Thu, 20 Apr 2017 15:06:47 +0000 (15:06 +0000)]
Drop unnecessary headers. This fixes kernel build on platforms
without <machine/mplock.h>.

7 years agoregen
jsg [Thu, 20 Apr 2017 14:44:51 +0000 (14:44 +0000)]
regen

7 years agoRemove an incorrect Bay Trail I2C entry that masked a valid Bay Trail
jsg [Thu, 20 Apr 2017 14:43:59 +0000 (14:43 +0000)]
Remove an incorrect Bay Trail I2C entry that masked a valid Bay Trail
PCIE entry as it used the same product id.

Add another PLX/Avago/"Broadcom" PCIE bridge seen in the wild while here.

7 years agoAdd option to compile witness(4).
visa [Thu, 20 Apr 2017 14:23:53 +0000 (14:23 +0000)]
Add option to compile witness(4).

7 years agoTweak lock inits to make the system runnable with witness(4)
visa [Thu, 20 Apr 2017 14:13:00 +0000 (14:13 +0000)]
Tweak lock inits to make the system runnable with witness(4)
on amd64 and i386.

7 years agoHook up mutex(9) to witness(4).
visa [Thu, 20 Apr 2017 13:57:29 +0000 (13:57 +0000)]
Hook up mutex(9) to witness(4).

7 years agoHook up rwlock(9) to witness(4).
visa [Thu, 20 Apr 2017 13:33:00 +0000 (13:33 +0000)]
Hook up rwlock(9) to witness(4).

Loosely based on a diff from Christian Ludwig

7 years agoHook up mplock to witness(4) on amd64 and i386.
visa [Thu, 20 Apr 2017 13:20:17 +0000 (13:20 +0000)]
Hook up mplock to witness(4) on amd64 and i386.

7 years agoAdd a port of witness(4) lock validation tool from FreeBSD.
visa [Thu, 20 Apr 2017 12:59:36 +0000 (12:59 +0000)]
Add a port of witness(4) lock validation tool from FreeBSD.

Go-ahead from kettenis@, guenther@, deraadt@

7 years agoAdd routines for saving stack traces and printing saved traces
visa [Thu, 20 Apr 2017 12:41:43 +0000 (12:41 +0000)]
Add routines for saving stack traces and printing saved traces
on amd64 and i386.

With guenther@

7 years agoInstall clflushoptintrin.h and move pkuintrin.h such that the list is
kettenis [Thu, 20 Apr 2017 10:32:23 +0000 (10:32 +0000)]
Install clflushoptintrin.h and move pkuintrin.h such that the list is
properly sorted.

pointed out by espie@

7 years agoUse register names without the % prefix in the global register variable
kettenis [Thu, 20 Apr 2017 10:03:40 +0000 (10:03 +0000)]
Use register names without the % prefix in the global register variable
declarations since clang doesn't register the %-prefixed ones.

7 years agoNow that struct winlink has a session pointer, can remove some arguments.
nicm [Thu, 20 Apr 2017 09:43:45 +0000 (09:43 +0000)]
Now that struct winlink has a session pointer, can remove some arguments.

7 years agoThere is no real need for window_printable_flags to allocate, make it
nicm [Thu, 20 Apr 2017 09:39:07 +0000 (09:39 +0000)]
There is no real need for window_printable_flags to allocate, make it
return a buffer from the stack.

7 years agoIf a #() command doesn't exit, use its most recent line of output (it
nicm [Thu, 20 Apr 2017 09:20:22 +0000 (09:20 +0000)]
If a #() command doesn't exit, use its most recent line of output (it
must be a full line). Don't let it redraw the status line more than once
a second.

Requested by someone about 10 years ago...

7 years agouse strtonum instead of strtoll to parse the argument to -j
dlg [Thu, 20 Apr 2017 03:04:11 +0000 (03:04 +0000)]
use strtonum instead of strtoll to parse the argument to -j

ok deraadt@ benno@

7 years agosync
deraadt [Wed, 19 Apr 2017 22:37:52 +0000 (22:37 +0000)]
sync

7 years agoAdd sizes to free()
dhill [Wed, 19 Apr 2017 17:26:45 +0000 (17:26 +0000)]
Add sizes to free()

ok deraadt@ visa@

7 years agoAdd size to free()
dhill [Wed, 19 Apr 2017 17:26:13 +0000 (17:26 +0000)]
Add size to free()

ok deraadt@ visa@

7 years agoload_cfg returns < 0 on error, not != 0. Problem reported by Kaushal Modi.
nicm [Wed, 19 Apr 2017 16:59:54 +0000 (16:59 +0000)]
load_cfg returns < 0 on error, not != 0. Problem reported by Kaushal Modi.

7 years agoSA group has been renamed to bundle. Adapt test.
bluhm [Wed, 19 Apr 2017 16:06:38 +0000 (16:06 +0000)]
SA group has been renamed to bundle.  Adapt test.

7 years agoRename all SA groups to bundles consistently. The first kernel
bluhm [Wed, 19 Apr 2017 15:59:38 +0000 (15:59 +0000)]
Rename all SA groups to bundles consistently.  The first kernel
commit in 2000 that introduced the features already called them SA
bundles.  The word group is taken by Diffie-Hellman, reusing it
causes confusion.
OK hshoexer@

7 years agoicmp6_rip6_input() was mostly duplicated code from rip6_input().
bluhm [Wed, 19 Apr 2017 15:44:45 +0000 (15:44 +0000)]
icmp6_rip6_input() was mostly duplicated code from rip6_input().
Merge these functions together and remove icmp6_rip6_input().
OK mpi@

7 years agoAdd support for dynamic "NAT" interfaces (-L/local interface).
reyk [Wed, 19 Apr 2017 15:38:32 +0000 (15:38 +0000)]
Add support for dynamic "NAT" interfaces (-L/local interface).

When a local interface is configured, vmd configures a /31 address on
the tap(4) interface of the host and provides another IP in the same
subnet via DHCP (BOOTP) to the VM.  vmd runs an internal BOOTP server
that replies with IP, gateway, and DNS addresses to the VM.  The
built-in server only ever responds to the VM on the inside and cannot
leak its DHCP responses to the outside.

Thanks to Uwe Werler, Josh Grosse, and some others for testing!

OK deraadt@

7 years agoUse the rt_rmx defines that hide the struct rt_kmetrics indirection.
bluhm [Wed, 19 Apr 2017 15:21:54 +0000 (15:21 +0000)]
Use the rt_rmx defines that hide the struct rt_kmetrics indirection.
No binary change.
OK mpi@

7 years agoUpdate to terminfo.src 2017-04-01.
nicm [Wed, 19 Apr 2017 15:20:55 +0000 (15:20 +0000)]
Update to terminfo.src 2017-04-01.

7 years agoAdd a suspend helper function, and do not allow detaching or suspending
nicm [Wed, 19 Apr 2017 14:00:28 +0000 (14:00 +0000)]
Add a suspend helper function, and do not allow detaching or suspending
while already doing so.

7 years agoStyle nits and a missing cast.
nicm [Wed, 19 Apr 2017 12:44:29 +0000 (12:44 +0000)]
Style nits and a missing cast.

7 years agoMake the test pass when an obj directory exists.
bluhm [Wed, 19 Apr 2017 12:44:05 +0000 (12:44 +0000)]
Make the test pass when an obj directory exists.

7 years agobetter example; from hiltjo posthuma
jmc [Wed, 19 Apr 2017 10:48:57 +0000 (10:48 +0000)]
better example; from hiltjo posthuma
ok sthen

7 years agospelling fixes from michael w. bombardieri
jmc [Wed, 19 Apr 2017 09:32:46 +0000 (09:32 +0000)]
spelling fixes from michael w. bombardieri

7 years agoWhen the data we have buffered to write to a terminal grows beyond a
nicm [Wed, 19 Apr 2017 06:52:27 +0000 (06:52 +0000)]
When the data we have buffered to write to a terminal grows beyond a
reasonable amount (currently width * height * 8 bytes), discard all
output to the terminal and start trying to redraw periodically
instead. Continue with this until the amount of data we are trying to
write falls to a low level again.

This helps to prevent tmux sitting on a huge buffer of data when there
are processes with fast output running inside tmux but the outside
terminal is slow.

A new client_discarded format holds the amount of data that has been
discarded due to this mechanism.

The three variables (when to start this, when to stop, and how often to
redraw) are basically "works for me" at the moment, this is going in to
see how it goes and if it causes problems for anyone else.

7 years agoSwitch base tools from /dev/bpf0 to /dev/bpf. Now that /dev/bpf has been
natano [Wed, 19 Apr 2017 05:36:12 +0000 (05:36 +0000)]
Switch base tools from /dev/bpf0 to /dev/bpf. Now that /dev/bpf has been
around for two releases, it should be safe to do so.

ok bluhm deraadt sthen tb yasuoka

7 years agoBump numbers for /usr/obj allocation with *big* compilers.
tb [Wed, 19 Apr 2017 05:33:53 +0000 (05:33 +0000)]
Bump numbers for /usr/obj allocation with *big* compilers.

ok otto

7 years agoenlarge obj to satisfy new world order that has *big* compilers and
otto [Wed, 19 Apr 2017 05:27:00 +0000 (05:27 +0000)]
enlarge obj to satisfy new world order that has *big* compilers and
remove condition for static linking; ok tb@

7 years agoMore thoroughly reject direct access to unintended files, such that
schwarze [Wed, 19 Apr 2017 00:59:32 +0000 (00:59 +0000)]
More thoroughly reject direct access to unintended files, such that
URIs like http://man.openbsd.org/OpenBSD-current/mandoc.db and
http://man.openbsd.org/OpenBSD-current/man1/ do not cause display
of garbage.

7 years agoSimplify patching of motd(5), also making it agree better with the
schwarze [Tue, 18 Apr 2017 23:06:50 +0000 (23:06 +0000)]
Simplify patching of motd(5), also making it agree better with the
documentation if the first line of the file is blank.
Quirk reported by Anthony Coulter <bsd at anthonycoulter dot name>.
OK rpe@

7 years agoRevert use of DECSLRM on iTerm2, it doesn't help as much as we throught,
nicm [Tue, 18 Apr 2017 21:41:42 +0000 (21:41 +0000)]
Revert use of DECSLRM on iTerm2, it doesn't help as much as we throught,
and there are some question marks about it's support.

7 years agoOn terminals without DECSLRM, when a pane that is less than the full
nicm [Tue, 18 Apr 2017 20:37:49 +0000 (20:37 +0000)]
On terminals without DECSLRM, when a pane that is less than the full
with of the terminal scrolls, tmux needs to redraw the entire pane. This
results in a large amount of output data which can cause slow terminals
to struggle, particularly when many lines are scrolled together quickly.

This can be reduced by only redrawing when tmux doesn't hold any
buffered data for the terminal. If a redraw is required and data is
buffered, the redraw is deferred until all that data is consumed (it is
checked after every event loop, a timer is used to ensure this happens
at some point). While a redraw is pending, no additional data will be
written to the terminal.

The redraw still happens, now it is just pushed back if it is possible
it would just add more data on top of a terminal that is already
behind. This both gives the terminal a chance to catch up, and allows
tmux to process more scrolling (that would require additional redraws)
in the meantime.

Helps with a problem reported by Greg Hurrell.

7 years agoDetect iTerm2 and use DECSLRM for it as well.
nicm [Tue, 18 Apr 2017 18:21:37 +0000 (18:21 +0000)]
Detect iTerm2 and use DECSLRM for it as well.

7 years agospelling fix;
jmc [Tue, 18 Apr 2017 16:21:06 +0000 (16:21 +0000)]
spelling fix;

7 years agoNow that global -i is gone, pass -i through to the apropos(1)
schwarze [Tue, 18 Apr 2017 15:59:56 +0000 (15:59 +0000)]
Now that global -i is gone, pass -i through to the apropos(1)
expression parser, such that "apropos -i 'Nm~dump\>'"
finds kdump(1) and WCOREDUMP(2) and you don't need
to type the counter-intuitive "apropos -- -i 'Nm~dump\>'".