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 2.3 to 2.4 20 April 2017



details:   https://anonhg.NetBSD.org/src/rev/0df80dc75268
branches:  trunk
changeset: 823443:0df80dc75268
user:      christos <christos%NetBSD.org@localhost>
date:      Sun Apr 23 00:21:37 2017 +0000

description:
CHANGES FROM 2.3 to 2.4 20 April 2017

Incompatible Changes
====================

* Key tables have undergone major changes. Mode key tables are no longer
  separate from the main key tables. All mode key tables have been removed,
  together with the -t flag to bind-key and unbind-key.

  The emacs-edit, vi-edit, emacs-choose and vi-choose tables have been replaced
  by fixed key bindings in the command prompt and choose modes. The mode-keys
  and status-keys options remain.

  The emacs-copy and vi-copy tables have been replaced by the copy-mode and
  copy-mode-vi tables. Commands are sent using the -X and -N flags to
  send-keys. So the following:

    bind -temacs-copy C-Up scroll-up
    bind -temacs-copy -R5 WheelUpPane scroll-up

  Becomes:

    bind -Tcopy-mode C-Up send -X scroll-up
    bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up

  This changes allows the full command parser (including command sequences) and
  command set to be used - for example, the normal command prompt with editing
  and history is now used for searching, jumping, and so on instead of a custom
  one. The default C-r binding is now:

    bind -Tcopy-mode C-r command-prompt -p'search up' "send -X search-backward '%%'"

  There are also some new commmands available with send -X, such as
  copy-pipe-and-cancel.
* set-remain-on-exit has gone -- can be achieved with hooks instead.
* Hooks: before hooks have been removed and only a selection of commands now
  have after hooks (they are no longer automatic). Additional hooks have been
  added.
* The xterm-keys option now defaults to on.

Normal Changes
==============

* Support for mouse double and triple clicks.
* BCE (Background Colour Erase) is now supported.
* All occurrences of a search string in copy mode are now highlighted;
  additionally, the number of search results is displayed. The highlighting
  updates interactively with the default emacs key bindings (incremental
  search).
* source-file now understands glob patterns.
* Formats now have simple comparisons:

    #{==:a,b}
    #{!=:a,b}

* There are the following new formats:

  - #{version} -- the tmux server version;
  - #{client_termtype} -- the terminal type of the client;
  - #{client_name} -- the name of a client;
  - #{client_written} -- the number of bytes written to the client.

* The configuration file now accepts %if/%endif conditional blocks which are
  processed when it is parsed; the argument is a format string (useful with the
  new format comparison options).
* detach-client now has -E to execute a command replacing the client instead of
  exiting.
* Add support for custom command aliases, this is an array option which
  contains items of the form "alias=command". This is consulted when an
  unknown command is parsed.
* break-pane now has -n to specify the new window name.
* OSC 52 support has been added for programs inside tmux to set a tmux buffer.
* The mouse "all event" mode (1003) is now supported.
* Palette setting is now possible (OSC 4 and 104).
* Strikethrough support (a recent terminfo is required).
* Grouped sessions can now be named (new -t).
* terminal-overrides and update-environment are now array options (the previous
  set -ag syntax should work without change).
* There have been substantial performance improvements.

CHANGES FROM 2.2 to 2.3 29 September 2016

Incompatible Changes
====================

None.

Normal Changes
==============

* New option 'pane-border-status' to add text in the pane borders.
* Support for hooks on commands: 'after' and 'before' hooks.
* 'source-file' understands '-q' to suppress errors for nonexistent files.
* Lots of UTF8 improvements, especially on MacOS.
* 'window-status-separator' understands #[] expansions.
* 'split-window' understands '-f' for performing a full-width split.
* Allow report count to be specified when using 'bind-key -R'.
* 'set -a' for appending to user options (@foo) is now supported.
* 'display-panes' can now accept a command to run, rather than always
  selecting the pane.

diffstat:

 external/bsd/tmux/dist/CHANGES                 |  2144 ++++++
 external/bsd/tmux/dist/COPYING                 |    21 +
 external/bsd/tmux/dist/FAQ                     |   462 +
 external/bsd/tmux/dist/Makefile.am             |   203 +
 external/bsd/tmux/dist/Makefile.in             |  1194 +++
 external/bsd/tmux/dist/README                  |    73 +
 external/bsd/tmux/dist/TODO                    |   122 +
 external/bsd/tmux/dist/aclocal.m4              |  1352 +++
 external/bsd/tmux/dist/alerts.c                |   300 +-
 external/bsd/tmux/dist/arguments.c             |    65 +-
 external/bsd/tmux/dist/attributes.c            |    23 +-
 external/bsd/tmux/dist/cfg.c                   |   148 +-
 external/bsd/tmux/dist/cmd-bind-key.c          |   103 +-
 external/bsd/tmux/dist/cmd-break-pane.c        |    54 +-
 external/bsd/tmux/dist/cmd-choose-buffer.c     |    13 +-
 external/bsd/tmux/dist/cmd-choose-client.c     |    25 +-
 external/bsd/tmux/dist/cmd-choose-tree.c       |    14 +-
 external/bsd/tmux/dist/cmd-command-prompt.c    |    91 +-
 external/bsd/tmux/dist/cmd-confirm-before.c    |    49 +-
 external/bsd/tmux/dist/cmd-copy-mode.c         |    20 +-
 external/bsd/tmux/dist/cmd-detach-client.c     |    38 +-
 external/bsd/tmux/dist/cmd-display-panes.c     |    79 +-
 external/bsd/tmux/dist/cmd-find-window.c       |    30 +-
 external/bsd/tmux/dist/cmd-find.c              |   282 +-
 external/bsd/tmux/dist/cmd-join-pane.c         |    54 +-
 external/bsd/tmux/dist/cmd-kill-pane.c         |    27 +-
 external/bsd/tmux/dist/cmd-kill-server.c       |     6 +-
 external/bsd/tmux/dist/cmd-kill-session.c      |     8 +-
 external/bsd/tmux/dist/cmd-kill-window.c       |    12 +-
 external/bsd/tmux/dist/cmd-list-buffers.c      |    12 +-
 external/bsd/tmux/dist/cmd-list-clients.c      |    16 +-
 external/bsd/tmux/dist/cmd-list-keys.c         |   119 +-
 external/bsd/tmux/dist/cmd-list-panes.c        |    50 +-
 external/bsd/tmux/dist/cmd-list-sessions.c     |    13 +-
 external/bsd/tmux/dist/cmd-list-windows.c      |    32 +-
 external/bsd/tmux/dist/cmd-lock-server.c       |    16 +-
 external/bsd/tmux/dist/cmd-move-window.c       |    19 +-
 external/bsd/tmux/dist/cmd-pipe-pane.c         |    26 +-
 external/bsd/tmux/dist/cmd-queue.c             |   521 +-
 external/bsd/tmux/dist/cmd-refresh-client.c    |    19 +-
 external/bsd/tmux/dist/cmd-rename-session.c    |    21 +-
 external/bsd/tmux/dist/cmd-rename-window.c     |    11 +-
 external/bsd/tmux/dist/cmd-resize-pane.c       |    49 +-
 external/bsd/tmux/dist/cmd-respawn-pane.c      |    29 +-
 external/bsd/tmux/dist/cmd-respawn-window.c    |    27 +-
 external/bsd/tmux/dist/cmd-rotate-window.c     |    11 +-
 external/bsd/tmux/dist/cmd-run-shell.c         |    91 +-
 external/bsd/tmux/dist/cmd-save-buffer.c       |    54 +-
 external/bsd/tmux/dist/cmd-select-layout.c     |    17 +-
 external/bsd/tmux/dist/cmd-select-pane.c       |    21 +-
 external/bsd/tmux/dist/cmd-select-window.c     |    19 +-
 external/bsd/tmux/dist/cmd-set-buffer.c        |    20 +-
 external/bsd/tmux/dist/cmd-set-environment.c   |    27 +-
 external/bsd/tmux/dist/cmd-set-hook.c          |    40 +-
 external/bsd/tmux/dist/cmd-set-option.c        |   621 +-
 external/bsd/tmux/dist/cmd-show-environment.c  |    47 +-
 external/bsd/tmux/dist/cmd-show-options.c      |   206 +-
 external/bsd/tmux/dist/cmd-source-file.c       |   100 +-
 external/bsd/tmux/dist/cmd-swap-pane.c         |    14 +-
 external/bsd/tmux/dist/cmd-swap-window.c       |    34 +-
 external/bsd/tmux/dist/cmd-switch-client.c     |    32 +-
 external/bsd/tmux/dist/cmd-unbind-key.c        |    59 +-
 external/bsd/tmux/dist/cmd.c                   |   185 +-
 external/bsd/tmux/dist/compat.h                |   103 +-
 external/bsd/tmux/dist/compat/base64.c         |   315 +
 external/bsd/tmux/dist/compat/cfmakeraw.c      |     7 +-
 external/bsd/tmux/dist/compat/err.c            |    93 +
 external/bsd/tmux/dist/compat/explicit_bzero.c |    15 +
 external/bsd/tmux/dist/compat/fparseln.c       |     2 +-
 external/bsd/tmux/dist/compat/freezero.c       |    31 +
 external/bsd/tmux/dist/compat/getdtablecount.c |    55 +
 external/bsd/tmux/dist/compat/getprogname.c    |    43 +
 external/bsd/tmux/dist/compat/imsg.h           |    29 +-
 external/bsd/tmux/dist/compat/reallocarray.c   |     2 +-
 external/bsd/tmux/dist/compat/recallocarray.c  |    82 +
 external/bsd/tmux/dist/compat/setproctitle.c   |    52 +
 external/bsd/tmux/dist/compat/strndup.c        |    41 +
 external/bsd/tmux/dist/compat/strnlen.c        |    34 +
 external/bsd/tmux/dist/compat/utf8proc.c       |    66 +
 external/bsd/tmux/dist/configure               |  8428 ++++++++++++++++++++++++
 external/bsd/tmux/dist/configure.ac            |   625 +
 external/bsd/tmux/dist/control-notify.c        |    16 +-
 external/bsd/tmux/dist/control.c               |    38 +-
 external/bsd/tmux/dist/etc/compile             |   347 +
 external/bsd/tmux/dist/etc/config.guess        |  1421 ++++
 external/bsd/tmux/dist/etc/config.sub          |  1807 +++++
 external/bsd/tmux/dist/etc/depcomp             |   791 ++
 external/bsd/tmux/dist/etc/install-sh          |   501 +
 external/bsd/tmux/dist/etc/missing             |   215 +
 external/bsd/tmux/dist/example_tmux.conf       |    27 +-
 external/bsd/tmux/dist/grid-view.c             |    73 +-
 external/bsd/tmux/dist/key-string.c            |    40 +-
 external/bsd/tmux/dist/layout-custom.c         |    29 +-
 external/bsd/tmux/dist/layout-set.c            |    44 +-
 external/bsd/tmux/dist/layout.c                |   434 +-
 external/bsd/tmux/dist/names.c                 |    26 +-
 external/bsd/tmux/dist/notify.c                |   241 +-
 external/bsd/tmux/dist/options-table.c         |   159 +-
 external/bsd/tmux/dist/osdep-darwin.c          |    30 +-
 external/bsd/tmux/dist/osdep-netbsd.c          |    16 +-
 external/bsd/tmux/dist/osdep-openbsd.c         |    10 +-
 external/bsd/tmux/dist/osdep-sunos.c           |     4 +-
 external/bsd/tmux/dist/pty.c                   |    88 +
 external/bsd/tmux/dist/resize.c                |    12 +-
 external/bsd/tmux/dist/screen-redraw.c         |   257 +-
 external/bsd/tmux/dist/server.c                |    56 +-
 external/bsd/tmux/dist/signal.c                |    12 +-
 external/bsd/tmux/dist/style.c                 |   148 +-
 external/bsd/tmux/dist/tty.c                   |  1265 ++-
 external/bsd/tmux/dist/window-choose.c         |   473 +-
 external/bsd/tmux/dist/window-clock.c          |    42 +-
 external/bsd/tmux/dist/xmalloc.c               |    10 +
 external/bsd/tmux/dist/xterm-keys.c            |    13 +-
 113 files changed, 24861 insertions(+), 3397 deletions(-)

diffs (truncated from 34433 to 300 lines):

diff -r 9dcf4303086d -r 0df80dc75268 external/bsd/tmux/dist/CHANGES
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/tmux/dist/CHANGES    Sun Apr 23 00:21:37 2017 +0000
@@ -0,0 +1,2144 @@
+CHANGES FROM 2.3 to 2.4 20 April 2017
+
+Incompatible Changes
+====================
+
+* Key tables have undergone major changes. Mode key tables are no longer
+  separate from the main key tables. All mode key tables have been removed,
+  together with the -t flag to bind-key and unbind-key.
+
+  The emacs-edit, vi-edit, emacs-choose and vi-choose tables have been replaced
+  by fixed key bindings in the command prompt and choose modes. The mode-keys
+  and status-keys options remain.
+
+  The emacs-copy and vi-copy tables have been replaced by the copy-mode and
+  copy-mode-vi tables. Commands are sent using the -X and -N flags to
+  send-keys. So the following:
+
+    bind -temacs-copy C-Up scroll-up
+    bind -temacs-copy -R5 WheelUpPane scroll-up
+
+  Becomes:
+
+    bind -Tcopy-mode C-Up send -X scroll-up
+    bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up
+
+  This changes allows the full command parser (including command sequences) and
+  command set to be used - for example, the normal command prompt with editing
+  and history is now used for searching, jumping, and so on instead of a custom
+  one. The default C-r binding is now:
+
+    bind -Tcopy-mode C-r command-prompt -p'search up' "send -X search-backward '%%'"
+
+  There are also some new commmands available with send -X, such as
+  copy-pipe-and-cancel.
+* set-remain-on-exit has gone -- can be achieved with hooks instead.
+* Hooks: before hooks have been removed and only a selection of commands now
+  have after hooks (they are no longer automatic). Additional hooks have been
+  added.
+* The xterm-keys option now defaults to on.
+
+Normal Changes
+==============
+
+* Support for mouse double and triple clicks.
+* BCE (Background Colour Erase) is now supported.
+* All occurrences of a search string in copy mode are now highlighted;
+  additionally, the number of search results is displayed. The highlighting
+  updates interactively with the default emacs key bindings (incremental
+  search).
+* source-file now understands glob patterns.
+* Formats now have simple comparisons:
+
+    #{==:a,b}
+    #{!=:a,b}
+
+* There are the following new formats:
+
+  - #{version} -- the tmux server version;
+  - #{client_termtype} -- the terminal type of the client;
+  - #{client_name} -- the name of a client;
+  - #{client_written} -- the number of bytes written to the client.
+
+* The configuration file now accepts %if/%endif conditional blocks which are
+  processed when it is parsed; the argument is a format string (useful with the
+  new format comparison options).
+* detach-client now has -E to execute a command replacing the client instead of
+  exiting.
+* Add support for custom command aliases, this is an array option which
+  contains items of the form "alias=command". This is consulted when an
+  unknown command is parsed.
+* break-pane now has -n to specify the new window name.
+* OSC 52 support has been added for programs inside tmux to set a tmux buffer.
+* The mouse "all event" mode (1003) is now supported.
+* Palette setting is now possible (OSC 4 and 104).
+* Strikethrough support (a recent terminfo is required).
+* Grouped sessions can now be named (new -t).
+* terminal-overrides and update-environment are now array options (the previous
+  set -ag syntax should work without change).
+* There have been substantial performance improvements.
+
+CHANGES FROM 2.2 to 2.3 29 September 2016
+
+Incompatible Changes
+====================
+
+None.
+
+Normal Changes
+==============
+
+* New option 'pane-border-status' to add text in the pane borders.
+* Support for hooks on commands: 'after' and 'before' hooks.
+* 'source-file' understands '-q' to suppress errors for nonexistent files.
+* Lots of UTF8 improvements, especially on MacOS.
+* 'window-status-separator' understands #[] expansions.
+* 'split-window' understands '-f' for performing a full-width split.
+* Allow report count to be specified when using 'bind-key -R'.
+* 'set -a' for appending to user options (@foo) is now supported.
+* 'display-panes' can now accept a command to run, rather than always
+  selecting the pane.
+
+CHANGES FROM 2.1 to 2.2 10 April 2016
+
+Incompatible Changes
+====================
+
+* The format strings which referenced time have been removed.  Instead:
+
+  #{t:window_activity}
+
+can be used.
+
+* Support for TMPDIR has been removed.  Use TMUX_TMPDIR instead.
+* UTF8 detection now happens automatically if the client supports it, hence
+  the:
+
+  mouse-utf8
+  utf8
+
+  options has been removed.
+* The:
+
+  mouse_utf8_flag
+
+  format string has been removed.
+* The -I option to show-messages has been removed.  See:
+
+  #{t:start_time}
+
+  format option instead.
+
+Normal Changes
+==============
+
+* Panes are unzoomed with selectp -LRUD
+* New formats added:
+
+  #{scroll_position}
+  #{socket_path}
+  #{=10:...} -- limit to N characters (from the start)
+  #{=-10:...} -- limit to N characters (from the end)
+  #{t:...} -- used to format time-based formats
+  #{b:...} -- used to ascertain basename from string
+  #{d:...} -- used to ascertain dirname from string
+  #{s:...} -- used to perform substitutions on a string
+
+* Job output is run via the format system, so formats work again
+* If display-time is set to 0, then the indicators wait for a key to be
+  pressed.
+* list-keys and list-commands can be run without starting the tmux server.
+* kill-session learns -C to clear all alerts in all windows of the session.
+* Support for hooks (internal for now), but hooks for the following have been
+  implemented:
+
+  alert-bell
+  alert-silence
+  alert-activity
+  client-attached
+  client-detached
+  client-resized
+  pane-died
+  pane-exited
+
+* RGB (24bit) colour support.  The 'Tc' flag must be set in the external TERM
+  entry (using terminal-overrides or a custom terminfo entry).
+
+
+CHANGES FROM 2.0 to 2.1 18 October 2015
+
+Incompatible Changes
+====================
+
+* Mouse-mode has been rewritten.  There's now no longer options for:
+       - mouse-resize-pane
+       - mouse-select-pane
+       - mouse-select-window
+       - mode-mouse
+
+  Instead there is just one option:  'mouse' which turns on mouse support
+  entirely.
+* 'default-terminal' is now a session option.  Furthermore, if this is set
+  to 'screen-*' then emulate what screen does.  If italics are wanted, this
+  can be set to 'tmux' but this is still new and not necessarily supported
+  on all platforms with older ncurses installs.
+* The c0-* options for rate-limiting have been removed.  Instead, a backoff
+  approach is used.
+
+Normal Changes
+==============
+
+* New formats:
+       - session_activity
+       - window_linked
+       - window_activity_format
+       - session_alerts
+       - session_last_attached
+       - client_pid
+       - pid
+* 'copy-selection', 'append-selection', 'start-named-buffer' now understand
+  an '-x' flag to prevent it exiting copying mode.
+* 'select-pane' now understands '-P' to set window/pane background colours.
+* 'renumber-windows' now understands windows which are unlinked.
+* 'bind' now understands multiple key tables.  Allows for key-chaining.
+* 'select-layout' understands '-o' to undo the last layout change.
+* The environment is updated when switching sessions as well as attaching.
+* 'select-pane' now understands '-M' for marking a pane.  This marked pane
+  can then be used with commands which understand src-pane specifiers
+  automatically.
+* If a session/window target is prefixed with '=' then only an exact match
+  is considered.
+* 'move-window' understands '-a'.
+* 'update-environment' understands '-E' when attach-session is used on an
+  already attached client.
+* 'show-environment' understands '-s' to output Bourne-compatible commands.
+* New option: 'history-file' to save/restore command prompt history.
+* Copy mode is exited if the history is cleared whilst in copy-mode.
+* 'copy-mode' learned '-e' to exit copy-mode when scrolling to end.
+
+CHANGES FROM 1.9a to 2.0 6 March 2015
+
+Incompatible Changes
+====================
+
+* The choose-list command has been removed.
+* 'terminal-overrides' is now a server option, not a session option.
+* 'message-limit' is now a server option, not a session option.
+* 'monitor-content' option has been removed.
+* 'pane_start_path' option has been removed.
+* The "info" mechanism which used to (for some commands) provide feedback
+  has been removed, and like other commands, they now produce nothing on
+  success.
+
+Normal Changes
+==============
+
+* tmux can now write an entry to utmp if the library 'utempter' is present
+  at compile time.
+* set-buffer learned append mode (-a), and a corresponding
+  'append-selection' command has been added to copy-mode.
+* choose-mode now has the following commands which can be bound:
+       - start-of-list
+       - end-of-list
+       - top-line
+       - bottom-line
+
+* choose-buffer now understands UTF-8.
+* Pane navigation has changed:
+       - The old way of always using the top or left if the choice is ambiguous.
+       - The new way of remembering the last used pane is annoying if the
+         layout is balanced and the leftmost is obvious to the user (because
+         clearly if we go right from the top-left in a tiled set of four we want
+         to end up in top-right, even if we were last using the bottom-right).
+
+      So instead, use a combination of both: if there is only one possible
+      pane alongside the current pane, move to it, otherwise choose the most
+      recently used of the choice.
+* 'set-buffer' can now be told to give names to buffers.
+* The 'new-session', 'new-window', 'split-window', and 'respawn-pane' commands
+  now understand multiple arguments and handle quoting problems correctly.
+* 'capture-pane' understands '-S-' to mean the start of the pane, and '-E-' to
+  mean the end of the pane.
+* Support for function keys beyond F12 has changed.  The following explains:
+       - F13-F24 are S-F1 to S-F12
+       - F25-F36 are C-F1 to C-F12
+       - F37-F48 are C-S-F1 to C-S-F12
+       - F49-F60 are M-F1 to M-F12
+       - F61-F63 are M-S-F1 to M-S-F3
+
+ Therefore, F13 becomes a binding of S-F1, etc.
+* Support using pane id as part of session or window specifier (so % means
+  session-of-%1 or window-of-%1) and window id as part of session
+  (so @1 means session-of-@1).
+* 'copy-pipe' command now understands formats via -F
+* 'if-shell'  command now understands formats via -F
+* 'split-window' and 'join-window' understand -b to create the pane to the left
+  or above the target pane.
+
+CHANGES FROM 1.9 to 1.9a 22 February 2014
+
+NOTE:  This is a bug-fix release to address some important bugs which just
+missed the 1.9 deadline, but were found afterwards.
+
+Normal Changes
+==============
+
+* Fix crash due to uninitialized lastwp member of layout_cell
+* Fix -fg/-bg/-style with 256 colour terminals.  
+
+CHANGES FROM 1.8 to 1.9, 20 February 2014
+
+NOTE:  This release has bumped the tmux protocol version.  It is therefore
+advised that the prior tmux server is restarted when this version of tmux is
+installed, to avoid protocol mismatch errors for newer clients trying to
+talk to an older running tmux server.
+
+Incompatible Changes



Home | Main Index | Thread Index | Old Index