Up to [cvs.NetBSD.org] / src / external / bsd / tmux / dist
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
tmux: reduce diffs to upstream even more
merge tmux 3.3a
Import original sources for tmux 3.3a.
Pull up the following, requested by christos in ticket #1619: external/bsd/tmux/dist/compat/daemon-darwin.c up to 1.1.1.1 external/bsd/tmux/dist/compat/fdforkpty.c up to 1.1.1.1 external/bsd/tmux/dist/compat/memmem.c up to 1.1.1.1 external/bsd/tmux/dist/menu.c up to 1.2 external/bsd/tmux/dist/window-tree.c up to 1.7 external/bsd/tmux/dist/mode-tree.c up to 1.6 external/bsd/tmux/dist/etc/ylwrap up to 1.1.1.1 external/bsd/tmux/dist/cmd-resize-window.c up to 1.2 external/bsd/tmux/dist/regsub.c up to 1.3 external/bsd/tmux/dist/cmd-parse.y up to 1.3 external/bsd/tmux/dist/window-buffer.c up to 1.6 external/bsd/tmux/dist/spawn.c up to 1.3 external/bsd/tmux/dist/README.ja up to 1.1.1.1 external/bsd/tmux/dist/window-client.c up to 1.6 external/bsd/tmux/dist/file.c up to 1.1.1.1 external/bsd/tmux/dist/format-draw.c up to 1.1.1.3 external/bsd/tmux/dist/cmd-display-menu.c up to 1.1.1.1 external/bsd/tmux/dist/compat/fparseln.c delete external/bsd/tmux/dist/FAQ delete external/bsd/tmux/dist/TODO delete external/bsd/tmux/dist/cmd-choose-buffer.c delete external/bsd/tmux/dist/cmd-choose-client.c delete external/bsd/tmux/dist/cmd-list.c delete external/bsd/tmux/dist/cmd-set-hook.c delete external/bsd/tmux/dist/cmd-string.c delete external/bsd/tmux/dist/hooks.c delete external/bsd/tmux/dist/pty.c delete external/bsd/tmux/dist/signal.c delete external/bsd/tmux/dist/window-choose.c delete external/bsd/tmux/dist/CHANGES up to 1.1.1.6 external/bsd/tmux/dist/COPYING up to 1.1.1.2 external/bsd/tmux/dist/Makefile.am up to 1.1.1.6 external/bsd/tmux/dist/Makefile.in up to 1.1.1.6 external/bsd/tmux/dist/README up to 1.1.1.4 external/bsd/tmux/dist/aclocal.m4 up to 1.1.1.4 external/bsd/tmux/dist/alerts.c up to 1.1.1.5 external/bsd/tmux/dist/arguments.c up to 1.1.1.9 external/bsd/tmux/dist/attributes.c up to 1.1.1.9 external/bsd/tmux/dist/cfg.c up to 1.1.1.12 external/bsd/tmux/dist/client.c up to 1.10 external/bsd/tmux/dist/cmd-attach-session.c up to 1.8 external/bsd/tmux/dist/cmd-bind-key.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-break-pane.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-capture-pane.c up to 1.8 external/bsd/tmux/dist/cmd-choose-tree.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-command-prompt.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-confirm-before.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-copy-mode.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-detach-client.c up to 1.1.1.8 external/bsd/tmux/dist/cmd-display-message.c up to 1.10 external/bsd/tmux/dist/cmd-display-panes.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-find-window.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-find.c up to 1.1.1.7 external/bsd/tmux/dist/cmd-if-shell.c up to 1.10 external/bsd/tmux/dist/cmd-join-pane.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-kill-pane.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-kill-session.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-kill-window.c up to 1.1.1.8 external/bsd/tmux/dist/cmd-list-buffers.c up to 1.1.1.8 external/bsd/tmux/dist/cmd-list-clients.c up to 1.1.1.8 external/bsd/tmux/dist/cmd-list-keys.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-list-panes.c up to 1.1.1.8 external/bsd/tmux/dist/cmd-list-sessions.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-list-windows.c up to 1.1.1.8 external/bsd/tmux/dist/cmd-load-buffer.c up to 1.9 external/bsd/tmux/dist/cmd-lock-server.c up to 1.1.1.8 external/bsd/tmux/dist/cmd-move-window.c up to 1.1.1.8 external/bsd/tmux/dist/cmd-new-session.c up to 1.8 external/bsd/tmux/dist/cmd-new-window.c up to 1.8 external/bsd/tmux/dist/cmd-paste-buffer.c up to 1.8 external/bsd/tmux/dist/cmd-pipe-pane.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-queue.c up to 1.6 external/bsd/tmux/dist/cmd-refresh-client.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-rename-session.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-rename-window.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-resize-pane.c up to 1.1.1.12 external/bsd/tmux/dist/cmd-respawn-pane.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-respawn-window.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-rotate-window.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-run-shell.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-save-buffer.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-select-layout.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-select-pane.c up to 1.1.1.12 external/bsd/tmux/dist/cmd-select-window.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-send-keys.c up to 1.10 external/bsd/tmux/dist/cmd-set-environment.c up to 1.1.1.8 external/bsd/tmux/dist/cmd-set-option.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-show-environment.c up to 1.1.1.8 external/bsd/tmux/dist/cmd-show-messages.c up to 1.7 external/bsd/tmux/dist/cmd-show-options.c up to 1.3 external/bsd/tmux/dist/cmd-source-file.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-split-window.c up to 1.9 external/bsd/tmux/dist/cmd-swap-pane.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-swap-window.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-switch-client.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-wait-for.c up to 1.7 external/bsd/tmux/dist/cmd.c up to 1.1.1.12 external/bsd/tmux/dist/colour.c up to 1.9 external/bsd/tmux/dist/compat.h up to 1.2 external/bsd/tmux/dist/configure up to 1.1.1.6 external/bsd/tmux/dist/configure.ac up to 1.1.1.6 external/bsd/tmux/dist/control-notify.c up to 1.1.1.8 external/bsd/tmux/dist/control.c up to 1.1.1.7 external/bsd/tmux/dist/environ.c up to 1.10 external/bsd/tmux/dist/example_tmux.conf up to 1.1.1.4 external/bsd/tmux/dist/format.c up to 1.11 external/bsd/tmux/dist/grid-view.c up to 1.1.1.9 external/bsd/tmux/dist/grid.c up to 1.10 external/bsd/tmux/dist/input-keys.c up to 1.10 external/bsd/tmux/dist/input.c up to 1.14 external/bsd/tmux/dist/job.c up to 1.11 external/bsd/tmux/dist/key-bindings.c up to 1.9 external/bsd/tmux/dist/key-string.c up to 1.1.1.12 external/bsd/tmux/dist/layout-custom.c up to 1.1.1.10 external/bsd/tmux/dist/layout-set.c up to 1.1.1.12 external/bsd/tmux/dist/layout.c up to 1.1.1.10 external/bsd/tmux/dist/log.c up to 1.14 external/bsd/tmux/dist/mdoc2man.awk up to 1.1.1.3 external/bsd/tmux/dist/names.c up to 1.1.1.8 external/bsd/tmux/dist/notify.c up to 1.6 external/bsd/tmux/dist/options-table.c up to 1.1.1.11 external/bsd/tmux/dist/options.c up to 1.11 external/bsd/tmux/dist/osdep-darwin.c up to 1.1.1.9 external/bsd/tmux/dist/osdep-freebsd.c up to 1.1.1.8 external/bsd/tmux/dist/osdep-linux.c up to 1.1.1.7 external/bsd/tmux/dist/osdep-netbsd.c up to 1.1.1.9 external/bsd/tmux/dist/paste.c up to 1.5 external/bsd/tmux/dist/proc.c up to 1.5 external/bsd/tmux/dist/resize.c up to 1.2 external/bsd/tmux/dist/screen-redraw.c up to 1.1.1.11 external/bsd/tmux/dist/screen-write.c up to 1.12 external/bsd/tmux/dist/screen.c up to 1.11 external/bsd/tmux/dist/server-client.c up to 1.8 external/bsd/tmux/dist/server-fn.c up to 1.12 external/bsd/tmux/dist/server.c up to 1.1.1.11 external/bsd/tmux/dist/session.c up to 1.12 external/bsd/tmux/dist/status.c up to 1.10 external/bsd/tmux/dist/style.c up to 1.4 external/bsd/tmux/dist/tmux.1 up to 1.13 external/bsd/tmux/dist/tmux.c up to 1.11 external/bsd/tmux/dist/tmux.h up to 1.16 external/bsd/tmux/dist/tty-acs.c up to 1.9 external/bsd/tmux/dist/tty-keys.c up to 1.14 external/bsd/tmux/dist/tty-term.c up to 1.13 external/bsd/tmux/dist/tty.c up to 1.7 external/bsd/tmux/dist/utf8.c up to 1.7 external/bsd/tmux/dist/window-clock.c up to 1.1.1.9 external/bsd/tmux/dist/window-copy.c up to 1.12 external/bsd/tmux/dist/window.c up to 1.13 external/bsd/tmux/dist/xmalloc.c up to 1.1.1.9 external/bsd/tmux/dist/xmalloc.h up to 1.5 external/bsd/tmux/dist/xterm-keys.c up to 1.1.1.8 external/bsd/tmux/dist/compat/getdtablecount.c up to 1.1.1.2 external/bsd/tmux/dist/compat/imsg-buffer.c up to 1.9 external/bsd/tmux/dist/compat/imsg.c up to 1.9 external/bsd/tmux/dist/etc/compile up to 1.1.1.2 external/bsd/tmux/dist/etc/config.guess up to 1.1.1.3 external/bsd/tmux/dist/etc/config.sub up to 1.1.1.3 external/bsd/tmux/dist/etc/depcomp up to 1.1.1.2 external/bsd/tmux/dist/etc/install-sh up to 1.1.1.3 external/bsd/tmux/dist/etc/missing up to 1.1.1.2 external/bsd/tmux/usr.bin/tmux/Makefile up to 1.25 doc/3RDPARTY (manually modified) Update tmux to 3.1c
Pull up the following external/bsd/tmux/dist/menu.c up to 1.2 external/bsd/tmux/dist/etc/ylwrap up to 1.1.1.1 external/bsd/tmux/dist/cmd-resize-window.c up to 1.2 external/bsd/tmux/dist/regsub.c up to 1.3 external/bsd/tmux/dist/cmd-parse.y up to 1.3 external/bsd/tmux/dist/spawn.c up to 1.3 external/bsd/tmux/dist/file.c up to 1.1.1.1 external/bsd/tmux/dist/format-draw.c up to 1.1.1.3 external/bsd/tmux/dist/cmd-display-menu.c up to 1.1.1.1 external/bsd/tmux/dist/compat/fparseln.c delete external/bsd/tmux/dist/TODO delete external/bsd/tmux/dist/cmd-list.c delete external/bsd/tmux/dist/cmd-set-hook.c delete external/bsd/tmux/dist/cmd-string.c delete external/bsd/tmux/dist/hooks.c delete external/bsd/tmux/dist/CHANGES up to 1.1.1.6 external/bsd/tmux/dist/COPYING up to 1.1.1.2 external/bsd/tmux/dist/Makefile.am up to 1.1.1.6 external/bsd/tmux/dist/Makefile.in up to 1.1.1.6 external/bsd/tmux/dist/README up to 1.1.1.4 external/bsd/tmux/dist/aclocal.m4 up to 1.1.1.4 external/bsd/tmux/dist/arguments.c up to 1.1.1.9 external/bsd/tmux/dist/attributes.c up to 1.1.1.9 external/bsd/tmux/dist/cfg.c up to 1.1.1.12 external/bsd/tmux/dist/client.c up to 1.10 external/bsd/tmux/dist/cmd-attach-session.c up to 1.8 external/bsd/tmux/dist/cmd-bind-key.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-break-pane.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-capture-pane.c up to 1.8 external/bsd/tmux/dist/cmd-choose-tree.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-command-prompt.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-confirm-before.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-copy-mode.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-display-message.c up to 1.10 external/bsd/tmux/dist/cmd-display-panes.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-find-window.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-find.c up to 1.1.1.7 external/bsd/tmux/dist/cmd-if-shell.c up to 1.10 external/bsd/tmux/dist/cmd-join-pane.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-kill-pane.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-kill-session.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-list-keys.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-list-sessions.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-load-buffer.c up to 1.9 external/bsd/tmux/dist/cmd-new-session.c up to 1.8 external/bsd/tmux/dist/cmd-new-window.c up to 1.8 external/bsd/tmux/dist/cmd-pipe-pane.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-queue.c up to 1.6 external/bsd/tmux/dist/cmd-refresh-client.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-resize-pane.c up to 1.1.1.12 external/bsd/tmux/dist/cmd-respawn-pane.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-respawn-window.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-rotate-window.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-run-shell.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-save-buffer.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-select-layout.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-select-pane.c up to 1.1.1.12 external/bsd/tmux/dist/cmd-select-window.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-send-keys.c up to 1.10 external/bsd/tmux/dist/cmd-set-option.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-show-messages.c up to 1.7 external/bsd/tmux/dist/cmd-show-options.c up to 1.3 external/bsd/tmux/dist/cmd-source-file.c up to 1.1.1.10 external/bsd/tmux/dist/cmd-split-window.c up to 1.9 external/bsd/tmux/dist/cmd-swap-pane.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-swap-window.c up to 1.1.1.9 external/bsd/tmux/dist/cmd-switch-client.c up to 1.1.1.11 external/bsd/tmux/dist/cmd-wait-for.c up to 1.7 external/bsd/tmux/dist/cmd.c up to 1.1.1.12 external/bsd/tmux/dist/colour.c up to 1.9 external/bsd/tmux/dist/compat.h up to 1.2 external/bsd/tmux/dist/configure up to 1.1.1.6 external/bsd/tmux/dist/configure.ac up to 1.1.1.6 external/bsd/tmux/dist/control-notify.c up to 1.1.1.8 external/bsd/tmux/dist/control.c up to 1.1.1.7 external/bsd/tmux/dist/environ.c up to 1.10 external/bsd/tmux/dist/example_tmux.conf up to 1.1.1.4 external/bsd/tmux/dist/format.c up to 1.11 external/bsd/tmux/dist/grid.c up to 1.10 external/bsd/tmux/dist/input-keys.c up to 1.10 external/bsd/tmux/dist/input.c up to 1.14 external/bsd/tmux/dist/job.c up to 1.11 external/bsd/tmux/dist/key-bindings.c up to 1.9 external/bsd/tmux/dist/key-string.c up to 1.1.1.12 external/bsd/tmux/dist/layout-custom.c up to 1.1.1.10 external/bsd/tmux/dist/layout-set.c up to 1.1.1.12 external/bsd/tmux/dist/layout.c up to 1.1.1.10 external/bsd/tmux/dist/log.c up to 1.14 external/bsd/tmux/dist/mdoc2man.awk up to 1.1.1.3 external/bsd/tmux/dist/mode-tree.c up to 1.6 external/bsd/tmux/dist/notify.c up to 1.6 external/bsd/tmux/dist/options-table.c up to 1.1.1.11 external/bsd/tmux/dist/options.c up to 1.11 external/bsd/tmux/dist/osdep-darwin.c up to 1.1.1.9 external/bsd/tmux/dist/osdep-freebsd.c up to 1.1.1.8 external/bsd/tmux/dist/osdep-netbsd.c up to 1.1.1.9 external/bsd/tmux/dist/paste.c up to 1.5 external/bsd/tmux/dist/proc.c up to 1.5 external/bsd/tmux/dist/resize.c up to 1.2 external/bsd/tmux/dist/screen-redraw.c up to 1.1.1.11 external/bsd/tmux/dist/screen-write.c up to 1.12 external/bsd/tmux/dist/screen.c up to 1.11 external/bsd/tmux/dist/server-client.c up to 1.8 external/bsd/tmux/dist/server-fn.c up to 1.12 external/bsd/tmux/dist/server.c up to 1.1.1.11 external/bsd/tmux/dist/session.c up to 1.12 external/bsd/tmux/dist/status.c up to 1.10 external/bsd/tmux/dist/style.c up to 1.4 external/bsd/tmux/dist/tmux.1 up to 1.13 external/bsd/tmux/dist/tmux.c up to 1.11 external/bsd/tmux/dist/tmux.h up to 1.16 external/bsd/tmux/dist/tty-acs.c up to 1.9 external/bsd/tmux/dist/tty-keys.c up to 1.14 external/bsd/tmux/dist/tty-term.c up to 1.13 external/bsd/tmux/dist/tty.c up to 1.7 external/bsd/tmux/dist/utf8.c up to 1.7 external/bsd/tmux/dist/window-buffer.c up to 1.6 external/bsd/tmux/dist/window-client.c up to 1.6 external/bsd/tmux/dist/window-clock.c up to 1.1.1.9 external/bsd/tmux/dist/window-copy.c up to 1.12 external/bsd/tmux/dist/window-tree.c up to 1.7 external/bsd/tmux/dist/window.c up to 1.13 external/bsd/tmux/dist/xmalloc.c up to 1.1.1.9 external/bsd/tmux/dist/xmalloc.h up to 1.5 external/bsd/tmux/usr.bin/tmux/Makefile up to 1.25 doc/3RDPARTY (manually adjusted) Update tmux to 3.1c
merge conflicts
CHANGED FROM 3.1b TO 3.1c * Do not write after the end of the array and overwrite the stack when colon-separated SGR sequences contain empty arguments. CHANGES FROM 3.1a TO 3.1b * Fix build on systems without sys/queue.h. * Fix crash when allow-rename is on and an empty name is set. CHANGES FROM 3.1 TO 3.1a * Do not close stdout prematurely in control mode since it is needed to print exit messages. Prevents hanging when detaching with iTerm2. CHANGES FROM 3.0a TO 3.1 * Only search the visible part of the history when marking (highlighting) search terms. This is much faster than searching the whole history and solves problems with large histories. The count of matches shown is now the visible matches rather than all matches. * Search using regular expressions in copy mode. search-forward and search-backward use regular expressions by default; the incremental versions do not. * Turn off mouse mode 1003 as well as the rest when exiting. * Add selection_active format for when the selection is present but not moving with the cursor. * Fix dragging with modifier keys, so binding keys such as C-MouseDrag1Pane and C-MouseDragEnd1Pane now work. * Add -a to list-keys to also list keys without notes with -N. * Do not jump to next word end if already on a word end when selecting a word; fixes select-word with single character words and vi(1) keys. * Fix top and bottom pane calculation with pane border status enabled. * Add support for adding a note to a key binding (with bind-key -N) and use this to add descriptions to the default key bindings. A new -N flag to list-keys shows key bindings with notes. Change the default ? binding to use this to show a readable summary of keys. Also extend command-prompt to return the name of the key pressed and add a default binding (/) to show the note for the next key pressed. * Add support for the iTerm2 DSR 1337 sequence to get the terminal version. * Treat plausible but invalid keys (like C-BSpace) as literal like any other unrecognised string passed to send-keys. * Detect iTerm2 and enable use of DECSLRM (much faster with horizontally split windows). * Add -Z to default switch-client command in tree mode. * Add ~ to quoted characters for %%%. * Document client exit messages in the manual page. * Do not let read-only clients limit the size, unless all clients are read-only. * Add a number of new formats to inspect what sessions and clients a window is present or active in. * Change file reading and writing to go through the client if necessary. This fixes commands like "tmux loadb /dev/fd/X". Also modify source-file to support "-" for standard input, like load-buffer and save-buffer. * Add ~/.config/tmux/tmux.conf to the default search path for configuration files. * Bump the escape sequence timeout to five seconds to allow for longer legitimate sequences. * Make a best effort to set xpixel and ypixel for each pane and add formats for them. * Add push-default to status-left and status-right in status-format[0]. * Do not clear search marks on cursor movement with vi(1) keys. * Add p format modifier for padding to width and allow multiple substitutions in a single format. * Add -f for full size to join-pane (like split-window). * Do not use bright when emulating 256 colours on an 8 colour terminal because it is also bold on some terminals. * Make select-pane -P set window-active-style also to match previous behaviour. * Do not truncate list-keys output. * Turn automatic-rename back on if the \033k rename escape sequence is used with an empty name. * Add support for percentage sizes for resize-pane ("-x 10%"). Also change split-window and join-pane -l to accept similar percentages and deprecate the -p flag. * Add -F flag to send-keys to expand formats in search-backward and forward copy mode commands and copy_cursor_word and copy_cursor_line formats for word and line at cursor in copy mode. Use for default # and * binding with vi(1) keys. * Add formats for word and line at cursor position in copy mode. * Add formats for cursor and selection position in copy mode. * Support all the forms of RGB colour strings in OSC sequences rather than requiring two digits. * Limit lazy resize to panes in attached sessions only. * Add an option to set the key sent by backspace for those whose system uses ^H rather than ^?. * Change new-session -A without a session name (that is, no -s option also) to attach to the best existing session like attach-session rather than a new one. * Add a "latest" window-size option which tries to size windows based on the most recently used client. This is now the default. * Add simple support for OSC 7 (result is available in the pane_path format). * Add push-default and pop-default for styles which change the colours and attributes used for #[default]. These are used in status-format to restore the behaviour of window-status-style being the default for window-status-format. * Add window_marked_flag. * Add cursor-down-and-cancel in copy mode. * Default to previous search string for search-forward and search-backward. * Add -Z flag to rotate-window, select-pane, swap-pane, switch-client to preserve zoomed state. * Add -N to capture-pane to preserve trailing spaces. * Add reverse sorting in tree, client and buffer modes.
Mostly merge changes from HEAD upto 20200411
merge conflicts
Sync with HEAD
merge conflicts XXX: Does not work; core-dumps!
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.
Sync with HEAD
file xmalloc.h was added on branch pgoyette-localcount on 2016-09-14 03:04:06 +0000
sprinkle __attribute__((__format__(printf..
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 how 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).
Initial revision