Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/bsd/tmux/dist CHANGES FROM 3.0 to 3.0a
details: https://anonhg.NetBSD.org/src/rev/0df2928585fe
branches: trunk
changeset: 968209:0df2928585fe
user: christos <christos%NetBSD.org@localhost>
date: Mon Jan 06 20:40:36 2020 +0000
description:
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).
diffstat:
external/bsd/tmux/dist/CHANGES | 139 +
external/bsd/tmux/dist/COPYING | 7 +-
external/bsd/tmux/dist/Makefile.am | 11 +-
external/bsd/tmux/dist/Makefile.in | 113 +-
external/bsd/tmux/dist/README | 78 +-
external/bsd/tmux/dist/arguments.c | 192 +-
external/bsd/tmux/dist/attributes.c | 8 +-
external/bsd/tmux/dist/cfg.c | 238 +--
external/bsd/tmux/dist/cmd-bind-key.c | 36 +-
external/bsd/tmux/dist/cmd-break-pane.c | 2 +
external/bsd/tmux/dist/cmd-command-prompt.c | 43 +-
external/bsd/tmux/dist/cmd-confirm-before.c | 44 +-
external/bsd/tmux/dist/cmd-copy-mode.c | 8 +-
external/bsd/tmux/dist/cmd-display-menu.c | 178 ++
external/bsd/tmux/dist/cmd-display-panes.c | 293 ++-
external/bsd/tmux/dist/cmd-find-window.c | 81 +-
external/bsd/tmux/dist/cmd-find.c | 81 +-
external/bsd/tmux/dist/cmd-join-pane.c | 12 +-
external/bsd/tmux/dist/cmd-kill-session.c | 4 +-
external/bsd/tmux/dist/cmd-list-keys.c | 46 +-
external/bsd/tmux/dist/cmd-parse.c | 2056 +++++++++++++++++++++++++++
external/bsd/tmux/dist/cmd-parse.y | 1548 ++++++++++++++++++++
external/bsd/tmux/dist/cmd-refresh-client.c | 62 +-
external/bsd/tmux/dist/cmd-resize-pane.c | 12 +-
external/bsd/tmux/dist/cmd-respawn-pane.c | 88 +-
external/bsd/tmux/dist/cmd-respawn-window.c | 80 +-
external/bsd/tmux/dist/cmd-rotate-window.c | 4 +-
external/bsd/tmux/dist/cmd-run-shell.c | 2 +-
external/bsd/tmux/dist/cmd-save-buffer.c | 2 +-
external/bsd/tmux/dist/cmd-select-pane.c | 26 +-
external/bsd/tmux/dist/cmd-select-window.c | 4 +-
external/bsd/tmux/dist/cmd-set-option.c | 107 +-
external/bsd/tmux/dist/cmd-source-file.c | 69 +-
external/bsd/tmux/dist/cmd-swap-pane.c | 14 +-
external/bsd/tmux/dist/cmd-swap-window.c | 2 +-
external/bsd/tmux/dist/cmd-switch-client.c | 4 +-
external/bsd/tmux/dist/cmd.c | 331 ++-
external/bsd/tmux/dist/compat.h | 5 +-
external/bsd/tmux/dist/configure | 144 +-
external/bsd/tmux/dist/configure.ac | 11 +-
external/bsd/tmux/dist/control-notify.c | 8 +-
external/bsd/tmux/dist/control.c | 26 +-
external/bsd/tmux/dist/etc/ylwrap | 247 +++
external/bsd/tmux/dist/example_tmux.conf | 2 +-
external/bsd/tmux/dist/format-draw.c | 30 +-
external/bsd/tmux/dist/key-string.c | 6 +
external/bsd/tmux/dist/layout-custom.c | 81 +-
external/bsd/tmux/dist/layout-set.c | 50 +-
external/bsd/tmux/dist/layout.c | 163 +-
external/bsd/tmux/dist/menu.c | 323 ++++
external/bsd/tmux/dist/options-table.c | 104 +-
external/bsd/tmux/dist/osdep-darwin.c | 3 +
external/bsd/tmux/dist/osdep-netbsd.c | 17 +-
external/bsd/tmux/dist/regsub.c | 115 +
external/bsd/tmux/dist/resize.c | 5 +-
external/bsd/tmux/dist/screen-redraw.c | 212 +--
external/bsd/tmux/dist/server.c | 24 +-
external/bsd/tmux/dist/spawn.c | 444 +++++
external/bsd/tmux/dist/xmalloc.c | 2 +-
59 files changed, 6677 insertions(+), 1370 deletions(-)
diffs (truncated from 10345 to 300 lines):
diff -r ae58692af3e9 -r 0df2928585fe external/bsd/tmux/dist/CHANGES
--- a/external/bsd/tmux/dist/CHANGES Mon Jan 06 20:35:11 2020 +0000
+++ b/external/bsd/tmux/dist/CHANGES Mon Jan 06 20:40:36 2020 +0000
@@ -1,3 +1,142 @@
+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).
+
CHANGES FROM 2.9 to 2.9a
* Fix bugs in select-pane and the main-horizontal and main-vertical layouts.
diff -r ae58692af3e9 -r 0df2928585fe external/bsd/tmux/dist/COPYING
--- a/external/bsd/tmux/dist/COPYING Mon Jan 06 20:35:11 2020 +0000
+++ b/external/bsd/tmux/dist/COPYING Mon Jan 06 20:40:36 2020 +0000
@@ -1,10 +1,7 @@
THIS IS FOR INFORMATION ONLY, CODE IS UNDER THE LICENCE AT THE TOP OF ITS FILE.
-The README, CHANGES, FAQ and TODO files are licensed under the ISC
-license. Files under examples/ remain copyright their authors unless otherwise
-stated in the file but permission has been received to distribute them with
-tmux. All other files have a license and copyright notice at their start,
-typically:
+The README, CHANGES, FAQ and TODO files are licensed under the ISC license. All
+other files have a license and copyright notice at their start, typically:
Copyright (c) <author>
diff -r ae58692af3e9 -r 0df2928585fe external/bsd/tmux/dist/Makefile.am
--- a/external/bsd/tmux/dist/Makefile.am Mon Jan 06 20:35:11 2020 +0000
+++ b/external/bsd/tmux/dist/Makefile.am Mon Jan 06 20:40:36 2020 +0000
@@ -2,7 +2,7 @@
# Obvious program stuff.
bin_PROGRAMS = tmux
-CLEANFILES = tmux.1.mdoc tmux.1.man
+CLEANFILES = tmux.1.mdoc tmux.1.man cmd-parse.c
# Distribution tarball options.
EXTRA_DIST = \
@@ -71,6 +71,7 @@
cmd-confirm-before.c \
cmd-copy-mode.c \
cmd-detach-client.c \
+ cmd-display-menu.c \
cmd-display-message.c \
cmd-display-panes.c \
cmd-find-window.c \
@@ -87,12 +88,12 @@
cmd-list-panes.c \
cmd-list-sessions.c \
cmd-list-windows.c \
- cmd-list.c \
cmd-load-buffer.c \
cmd-lock-server.c \
cmd-move-window.c \
cmd-new-session.c \
cmd-new-window.c \
+ cmd-parse.y \
cmd-paste-buffer.c \
cmd-pipe-pane.c \
cmd-queue.c \
@@ -112,14 +113,12 @@
cmd-send-keys.c \
cmd-set-buffer.c \
cmd-set-environment.c \
- cmd-set-hook.c \
cmd-set-option.c \
cmd-show-environment.c \
cmd-show-messages.c \
cmd-show-options.c \
cmd-source-file.c \
cmd-split-window.c \
- cmd-string.c \
cmd-swap-pane.c \
cmd-swap-window.c \
cmd-switch-client.c \
@@ -135,7 +134,6 @@
format-draw.c \
grid-view.c \
grid.c \
- hooks.c \
input-keys.c \
input.c \
job.c \
@@ -145,6 +143,7 @@
layout-set.c \
layout.c \
log.c \
+ menu.c \
mode-tree.c \
names.c \
notify.c \
@@ -152,6 +151,7 @@
options.c \
paste.c \
proc.c \
+ regsub.c \
resize.c \
screen-redraw.c \
screen-write.c \
@@ -160,6 +160,7 @@
server-fn.c \
server.c \
session.c \
+ spawn.c \
status.c \
style.c \
tmux.c \
diff -r ae58692af3e9 -r 0df2928585fe external/bsd/tmux/dist/Makefile.in
--- a/external/bsd/tmux/dist/Makefile.in Mon Jan 06 20:35:11 2020 +0000
+++ b/external/bsd/tmux/dist/Makefile.in Mon Jan 06 20:40:36 2020 +0000
@@ -147,49 +147,49 @@
cmd-break-pane.$(OBJEXT) cmd-capture-pane.$(OBJEXT) \
cmd-choose-tree.$(OBJEXT) cmd-command-prompt.$(OBJEXT) \
cmd-confirm-before.$(OBJEXT) cmd-copy-mode.$(OBJEXT) \
- cmd-detach-client.$(OBJEXT) cmd-display-message.$(OBJEXT) \
- cmd-display-panes.$(OBJEXT) cmd-find-window.$(OBJEXT) \
- cmd-find.$(OBJEXT) cmd-if-shell.$(OBJEXT) \
- cmd-join-pane.$(OBJEXT) cmd-kill-pane.$(OBJEXT) \
- cmd-kill-server.$(OBJEXT) cmd-kill-session.$(OBJEXT) \
- cmd-kill-window.$(OBJEXT) cmd-list-buffers.$(OBJEXT) \
- cmd-list-clients.$(OBJEXT) cmd-list-keys.$(OBJEXT) \
- cmd-list-panes.$(OBJEXT) cmd-list-sessions.$(OBJEXT) \
- cmd-list-windows.$(OBJEXT) cmd-list.$(OBJEXT) \
+ cmd-detach-client.$(OBJEXT) cmd-display-menu.$(OBJEXT) \
+ cmd-display-message.$(OBJEXT) cmd-display-panes.$(OBJEXT) \
+ cmd-find-window.$(OBJEXT) cmd-find.$(OBJEXT) \
+ cmd-if-shell.$(OBJEXT) cmd-join-pane.$(OBJEXT) \
+ cmd-kill-pane.$(OBJEXT) cmd-kill-server.$(OBJEXT) \
+ cmd-kill-session.$(OBJEXT) cmd-kill-window.$(OBJEXT) \
+ cmd-list-buffers.$(OBJEXT) cmd-list-clients.$(OBJEXT) \
+ cmd-list-keys.$(OBJEXT) cmd-list-panes.$(OBJEXT) \
+ cmd-list-sessions.$(OBJEXT) cmd-list-windows.$(OBJEXT) \
cmd-load-buffer.$(OBJEXT) cmd-lock-server.$(OBJEXT) \
cmd-move-window.$(OBJEXT) cmd-new-session.$(OBJEXT) \
- cmd-new-window.$(OBJEXT) cmd-paste-buffer.$(OBJEXT) \
- cmd-pipe-pane.$(OBJEXT) cmd-queue.$(OBJEXT) \
- cmd-refresh-client.$(OBJEXT) cmd-rename-session.$(OBJEXT) \
- cmd-rename-window.$(OBJEXT) cmd-resize-pane.$(OBJEXT) \
- cmd-resize-window.$(OBJEXT) cmd-respawn-pane.$(OBJEXT) \
- cmd-respawn-window.$(OBJEXT) cmd-rotate-window.$(OBJEXT) \
- cmd-run-shell.$(OBJEXT) cmd-save-buffer.$(OBJEXT) \
- cmd-select-layout.$(OBJEXT) cmd-select-pane.$(OBJEXT) \
- cmd-select-window.$(OBJEXT) cmd-send-keys.$(OBJEXT) \
- cmd-set-buffer.$(OBJEXT) cmd-set-environment.$(OBJEXT) \
- cmd-set-hook.$(OBJEXT) cmd-set-option.$(OBJEXT) \
+ cmd-new-window.$(OBJEXT) cmd-parse.$(OBJEXT) \
+ cmd-paste-buffer.$(OBJEXT) cmd-pipe-pane.$(OBJEXT) \
+ cmd-queue.$(OBJEXT) cmd-refresh-client.$(OBJEXT) \
+ cmd-rename-session.$(OBJEXT) cmd-rename-window.$(OBJEXT) \
+ cmd-resize-pane.$(OBJEXT) cmd-resize-window.$(OBJEXT) \
+ cmd-respawn-pane.$(OBJEXT) cmd-respawn-window.$(OBJEXT) \
+ cmd-rotate-window.$(OBJEXT) cmd-run-shell.$(OBJEXT) \
+ cmd-save-buffer.$(OBJEXT) cmd-select-layout.$(OBJEXT) \
+ cmd-select-pane.$(OBJEXT) cmd-select-window.$(OBJEXT) \
+ cmd-send-keys.$(OBJEXT) cmd-set-buffer.$(OBJEXT) \
+ cmd-set-environment.$(OBJEXT) cmd-set-option.$(OBJEXT) \
cmd-show-environment.$(OBJEXT) cmd-show-messages.$(OBJEXT) \
cmd-show-options.$(OBJEXT) cmd-source-file.$(OBJEXT) \
- cmd-split-window.$(OBJEXT) cmd-string.$(OBJEXT) \
- cmd-swap-pane.$(OBJEXT) cmd-swap-window.$(OBJEXT) \
- cmd-switch-client.$(OBJEXT) cmd-unbind-key.$(OBJEXT) \
- cmd-wait-for.$(OBJEXT) cmd.$(OBJEXT) colour.$(OBJEXT) \
- control-notify.$(OBJEXT) control.$(OBJEXT) environ.$(OBJEXT) \
- format.$(OBJEXT) format-draw.$(OBJEXT) grid-view.$(OBJEXT) \
Home |
Main Index |
Thread Index |
Old Index