NetBSD/external
christos 6483eba05e CHANGES FROM 3.0 to 3.0a
* Do not require REG_STARTEND.

* Respawn panes or windows correctly if default-command is set.

* Add missing option for after-kill-pane hook.

* Fix for crash with a format variable that doesn't exist.

* Do not truncate list-keys output on some platforms.

* Do not crash when restoring a layout with only one pane.

CHANGES FROM 2.9 to 3.0

* Workaround invalid layout strings generated by older tmux versions and add
  some additional sanity checks

* xterm 348 now disables margins when resized, so send DECLRMM again after
  resize.

* Add support for the SD (scroll down) escape sequence.

* Expand arguments to C and s format modifiers to match the m modifier.

* Add support for underscore colours (Setulc capability must be added with
  terminal-overrides as described in tmux(1)).

* Add a "fill" style attribute for the fill colour of the drawing area (where
  appropriate).

* New -H flag to send-keys to send literal keys.

* Format variables for pane mouse modes (mouse_utf8_flag and mouse_sgr_flag)
  and for origin mode (origin_flag).

* Add -F to refresh-client for flags for control mode clients, only one flag
  (no-output) supported at the moment.

* Add a few vi(1) keys for menus.

* Add pane options, set with set-option -p and displayed with show-options -p.
  Pane options inherit from window options (so every pane option is also
  a window option). The pane style is now configured by setting window-style
  and window-active-style in the pane options; select-pane -P and -g now change
  the option but are no longer documented.

* Do not document set-window-option and show-window-options. set-option -w and
  show-options -w should be used instead.

* Add a -A flag to show-options to show parent options as well (they are marked
  with a *).

* Resize panes lazily - do not resize unless they are in an attached, active
  window.

* Add regular expression support for the format search, match and substitute
  modifiers and make them able to ignore case. find-window now accepts -r to
  use regular expressions.

* Do not use $TMUX to find the session because for windows in multiple sessions
  it is wrong as often as it is right, and for windows in one session it is
  pointless. Instead use TMUX_PANE if it is present.

* Do not always resize the window back to its original size after applying a
  layout, keep it at the layout size until it must be resized (for example when
  attached and window-size is not manual).

* Add new-session -X and attach-session -x to send SIGHUP to parent when
  detaching (like detach-client -P).

* Support for octal escapes in strings (such as \007) and improve list-keys
  output so it parses correctly if copied into a configuration file.

* INCOMPATIBLE: Add a new {} syntax to the configuration file. This is a string
  similar to single quotes but also includes newlines and allows commands that
  take other commands as string arguments to be expressed more clearly and
  without additional escaping.

  A literal { and } or a string containing { or } must now be escaped or
  quoted, for example '{' and '}' instead of { or }, or 'X#{foo}' instead of
  X#{foo}.

* New <, >, <= and >= comparison operators for formats.

* Improve escaping of special characters in list-keys output.

* INCOMPATIBLE: tmux's configuration parsing has changed to use yacc(1). There
  is one incompatible change: a \ on its own must be escaped or quoted as
  either \\ or '\' (the latter works on older tmux versions).

  Entirely the same parser is now used for parsing the configuration file
  and for string commands. This means that constructs previously only
  available in .tmux.conf, such as %if, can now be used in string commands
  (for example, those given to if-shell - not commands invoked from the
  shell, they are still parsed by the shell itself).

* Add support for the overline attribute (SGR 53). The Smol capability is
  needed in terminal-overrides.

* Add the ability to create simple menus. Introduces new command
  display-menu. Default menus are bound to MouseDown3 on the status line;
  MouseDown3 or M-MouseDown3 on panes; MouseDown3 in tree, client and
  buffer modes; and C-b C-m and C-b M-m.

* Allow panes to be empty (no command). They can be created either by piping to
  split-window -I, or by passing an empty command ('') to split-window. Output
  can be sent to an existing empty window with display-message -I.

* Add keys to jump between matching brackets (emacs C-M-f and C-M-b, vi %).

* Add a -e flag to new-window, split-window, respawn-window, respawn-pane to
  pass environment variables into the newly created process.

* Hooks are now stored in the options tree as array options, allowing them to
  have multiple separate commands. set-hook and show-hooks remain but
  set-option and show-options can now also be used (show-options will only show
  hooks if given the -H flag). Hooks with multiple commands are run in index
  order.

* Automatically scroll if dragging to create a selection with the mouse and the
  cursor reaches the top or bottom line.

* Add -no-clear variants of copy-selection and copy-pipe which do not clear the
  selection after copying. Make copy-pipe clear the selection by default to be
  consistent with copy-selection.

* Add an argument to copy commands to set the prefix for the buffer name, this
  (for example) allows buffers for different sessions to be named separately.

* Update session activity on focus event.

* Pass target from source-file into the config file parser so formats in %if
  and %endif have access to more useful variables.

* Add the ability to infer an option type (server, session, window) from its
  name to show-options (it was already present in set-option).
2020-01-06 20:40:36 +00:00
..
apache2 Use -fno-strict-aliasing unconditionally for the cross compiler. 2019-11-28 23:01:22 +00:00
atheros
broadcom Update to new RaspberryPi firware 2019-12-16 11:00:30 +00:00
bsd CHANGES FROM 3.0 to 3.0a 2020-01-06 20:40:36 +00:00
cddl Another rename from uvm_free() --> uvm_availmem() 2019-12-31 14:51:29 +00:00
gpl2 Update for new DTC 2019-12-22 12:42:23 +00:00
gpl3 Introduce PT_LWPSTATUS + PT_LWPNEXT, obsolete PT_LWPINFO 2019-12-24 14:50:59 +00:00
historical Add license from https://github.com/onetrueawk/awk/blob/master/LICENSE 2019-12-21 09:11:59 +00:00
ibm-public Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da) 2019-11-11 22:44:56 +00:00
intel-fw-eula
intel-fw-public
lgpl3 remove obsolete comments. 2019-06-01 08:29:16 +00:00
mit Apply a fix for the bug "Joining an upvalue with itself can cause a use-after 2019-12-12 12:35:43 +00:00
mpl Only ignore signals if we are bind (not dhcpd). 2019-12-29 01:38:27 +00:00
nvidia-firmware don't descend into gm20x unless MKNOUVEAUFIRMWARE != "no" 2019-07-20 20:49:06 +00:00
public-domain Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da) 2019-11-11 22:44:56 +00:00
realtek
zlib/pigz introduce some common variables for use in GCC warning disables: 2019-10-13 07:28:04 +00:00
Makefile
README

$NetBSD: README,v 1.17 2018/04/08 16:57:07 jmcneill Exp $

Organization of Sources:

This directory hierarchy is using an organization that separates
source for programs that we have obtained from external third
parties (where NetBSD is not the primary maintainer) from the
system source.

The hierarchy is grouped by license, and then package per license,
and is organized as follows:

	external/

	    Makefile
			Descend into the license sub-directories.

	    <license>/
			Per-license sub-directories.

		Makefile
			Descend into the package sub-directories.

		<package>/
			Per-package sub-directories.

		    Makefile
			Build the package.
			
		    dist/
			The third-party source for a given package.

		    bin/
		    lib/
		    sbin/
			BSD makefiles "reach over" from these into
			"../dist/".

This arrangement allows for packages to be easily disabled or
excised as necessary, either on a per-license or per-package basis.

The licenses currently used are:

	apache2		Apache 2.0 license.
			http://www.opensource.org/licenses/apache2.0.php

	atheros		Atheros License.

	bsd		BSD (or equivalent) licensed software, possibly with
			the "advertising clause".
			http://www.opensource.org/licenses/bsd-license.php

	cddl		Common Development and Distribution License (the sun
			license which is based on the Mozilla Public License
			version 1.1).
			http://www.opensource.org/licenses/cddl1.php

	gpl2		GNU Public License, version 2 (or earlier).
			http://www.opensource.org/licenses/gpl-2.0.php

	gpl3		GNU Public License, version 3.
			http://www.opensource.org/licenses/gpl-3.0.html

	historical	Lucent's old license:
			http://www.opensource.org/licenses/historical.php
			
	ibm-public	IBM's public license:
			http://www.opensource.org/licenses/ibmpl.php

	intel-fw-eula	Intel firmware license with redistribution
			restricted to OEM.

	intel-fw-public	Intel firmware license permitting redistribution with
			terms similar to BSD licensed software.

	intel-public	Intel license permitting redistribution with
			terms similar to BSD licensed software.

	mit		MIT (X11) style license.
			http://www.opensource.org/licenses/mit-license.php

	mpl		Mozilla Public license.
			https://opensource.org/licenses/MPL-2.0

	nvidia-firmware	NVIDIA firmware license permitting redistribution for
			use on operating systems distributed under the terms
			of an OSI-approved open source license.

	public-domain	Non-license for code that has been explicitly put
			into the Public Domain.

	realtek		RealTek license.

	zlib		Zlib (BSD-like) license.
			http://www.zlib.net/zlib_license.html

If a package has components covered by different licenses
(for example, GPL2 and the LGPL), use the <license> subdirectory
for the more restrictive license.

If a package allows the choice of a license to use, we'll
generally use the less restrictive license.

If in doubt about where a package should be located, please
contact <core@NetBSD.org> for advice.


Migration Strategy:


Eventually src/dist (and associated framework in other base source
directories) and src/gnu will be migrated to this hierarchy.


Maintenance Strategy:

The sources under src/external/<license>/<package>/dist/ are
generally a combination of a published distribution plus changes
that we submit to the maintainers and that are not yet published
by them.

Make sure all changes made to the external sources are submitted
to the appropriate maintainer, but only after coordinating with
the NetBSD maintainers.