sync with OpenBSD -current
This commit is contained in:
parent
51a5102224
commit
0a783d275f
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: frontend.c,v 1.38 2024/08/26 06:06:04 florian Exp $ */
|
||||
/* $OpenBSD: frontend.c,v 1.39 2024/09/16 07:34:49 florian Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2017, 2021 Florian Obser <florian@openbsd.org>
|
||||
@ -310,7 +310,7 @@ frontend_dispatch_main(int fd, short event, void *bula)
|
||||
fatalx("%s: invalid %s", __func__, i2s(type));
|
||||
|
||||
if ((iface = get_iface_by_id(if_index)) == NULL) {
|
||||
close(fd);
|
||||
close(udpsock);
|
||||
break;
|
||||
}
|
||||
if (iface->udpsock != -1)
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" $OpenBSD: rc.shutdown.8,v 1.16 2020/05/16 16:58:12 jmc Exp $
|
||||
.\" $OpenBSD: rc.shutdown.8,v 1.17 2024/09/15 19:39:26 kn Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1999 Aaron Campbell
|
||||
.\" All rights reserved.
|
||||
@ -24,7 +24,7 @@
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd $Mdocdate: May 16 2020 $
|
||||
.Dd $Mdocdate: September 15 2024 $
|
||||
.Dt RC.SHUTDOWN 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -54,6 +54,9 @@ defined in the
|
||||
.Va pkg_scripts
|
||||
variable in
|
||||
.Xr rc.conf.local 8 ,
|
||||
as well as
|
||||
.Xr vmd 8 ,
|
||||
in that order,
|
||||
by passing them the
|
||||
.Cm stop
|
||||
argument.
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: exec_elf.c,v 1.190 2024/08/21 03:16:25 deraadt Exp $ */
|
||||
/* $OpenBSD: exec_elf.c,v 1.191 2024/09/15 23:13:19 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1996 Per Fogelstrom
|
||||
@ -311,8 +311,10 @@ elf_read_pintable(struct proc *p, struct vnode *vp, Elf_Phdr *pp,
|
||||
for (i = 0; i < nsyscalls; i++) {
|
||||
if (syscalls[i].sysno <= 0 ||
|
||||
syscalls[i].sysno >= SYS_MAXSYSCALL ||
|
||||
syscalls[i].offset > len)
|
||||
syscalls[i].offset > len) {
|
||||
npins = 0;
|
||||
goto bad;
|
||||
}
|
||||
npins = MAX(npins, syscalls[i].sysno);
|
||||
}
|
||||
if (is_ldso)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: sntrup761.c,v 1.7 2024/09/15 02:20:51 djm Exp $ */
|
||||
/* $OpenBSD: sntrup761.c,v 1.8 2024/09/16 05:37:05 djm Exp $ */
|
||||
|
||||
/*
|
||||
* Public Domain, Authors:
|
||||
@ -912,8 +912,8 @@ crypto_int32 crypto_int32_min(crypto_int32 crypto_int32_x,crypto_int32 crypto_in
|
||||
__asm__ ("cmp %w0,%w1\n csel %w0,%w0,%w1,lt" : "+r"(crypto_int32_x) : "r"(crypto_int32_y) : "cc");
|
||||
return crypto_int32_x;
|
||||
#else
|
||||
crypto_int32 crypto_int32_r = crypto_int32_y ^ crypto_int32_x;
|
||||
crypto_int32 crypto_int32_z = crypto_int32_y - crypto_int32_x;
|
||||
crypto_int64 crypto_int32_r = (crypto_int64)crypto_int32_y ^ (crypto_int64)crypto_int32_x;
|
||||
crypto_int64 crypto_int32_z = (crypto_int64)crypto_int32_y - (crypto_int64)crypto_int32_x;
|
||||
crypto_int32_z ^= crypto_int32_r & (crypto_int32_z ^ crypto_int32_y);
|
||||
crypto_int32_z = crypto_int32_negative_mask(crypto_int32_z);
|
||||
crypto_int32_z &= crypto_int32_r;
|
||||
@ -931,8 +931,8 @@ crypto_int32 crypto_int32_max(crypto_int32 crypto_int32_x,crypto_int32 crypto_in
|
||||
__asm__ ("cmp %w0,%w1\n csel %w0,%w1,%w0,lt" : "+r"(crypto_int32_x) : "r"(crypto_int32_y) : "cc");
|
||||
return crypto_int32_x;
|
||||
#else
|
||||
crypto_int32 crypto_int32_r = crypto_int32_y ^ crypto_int32_x;
|
||||
crypto_int32 crypto_int32_z = crypto_int32_y - crypto_int32_x;
|
||||
crypto_int64 crypto_int32_r = (crypto_int64)crypto_int32_y ^ (crypto_int64)crypto_int32_x;
|
||||
crypto_int64 crypto_int32_z = (crypto_int64)crypto_int32_y - (crypto_int64)crypto_int32_x;
|
||||
crypto_int32_z ^= crypto_int32_r & (crypto_int32_z ^ crypto_int32_y);
|
||||
crypto_int32_z = crypto_int32_negative_mask(crypto_int32_z);
|
||||
crypto_int32_z &= crypto_int32_r;
|
||||
@ -956,8 +956,8 @@ void crypto_int32_minmax(crypto_int32 *crypto_int32_p,crypto_int32 *crypto_int32
|
||||
*crypto_int32_p = crypto_int32_r;
|
||||
*crypto_int32_q = crypto_int32_s;
|
||||
#else
|
||||
crypto_int32 crypto_int32_r = crypto_int32_y ^ crypto_int32_x;
|
||||
crypto_int32 crypto_int32_z = crypto_int32_y - crypto_int32_x;
|
||||
crypto_int64 crypto_int32_r = (crypto_int64)crypto_int32_y ^ (crypto_int64)crypto_int32_x;
|
||||
crypto_int64 crypto_int32_z = (crypto_int64)crypto_int32_y - (crypto_int64)crypto_int32_x;
|
||||
crypto_int32_z ^= crypto_int32_r & (crypto_int32_z ^ crypto_int32_y);
|
||||
crypto_int32_z = crypto_int32_negative_mask(crypto_int32_z);
|
||||
crypto_int32_z &= crypto_int32_r;
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
# $OpenBSD: sntrup761.sh,v 1.8 2024/09/15 02:20:51 djm Exp $
|
||||
# $OpenBSD: sntrup761.sh,v 1.9 2024/09/16 05:37:05 djm Exp $
|
||||
# Placed in the Public Domain.
|
||||
#
|
||||
AUTHOR="supercop-20240808/crypto_kem/sntrup761/ref/implementors"
|
||||
@ -63,8 +63,13 @@ for i in $FILES; do
|
||||
-e "s/static void crypto_int16_minmax/void crypto_int16_minmax/"
|
||||
;;
|
||||
*/cryptoint/crypto_int32.h)
|
||||
# Use int64_t for intermediate values in crypto_int32_minmax to
|
||||
# prevent signed 32-bit integer overflow when called by
|
||||
# crypto_sort_int32. Original code depends on -fwrapv (we set -ftrapv)
|
||||
sed -e "s/static void crypto_int32_store/void crypto_int32_store/" \
|
||||
-e "s/^[#]define crypto_int32_optblocker.*//" \
|
||||
-e "s/crypto_int32 crypto_int32_r = crypto_int32_y ^ crypto_int32_x;/crypto_int64 crypto_int32_r = (crypto_int64)crypto_int32_y ^ (crypto_int64)crypto_int32_x;/" \
|
||||
-e "s/crypto_int32 crypto_int32_z = crypto_int32_y - crypto_int32_x;/crypto_int64 crypto_int32_z = (crypto_int64)crypto_int32_y - (crypto_int64)crypto_int32_x;/" \
|
||||
-e "s/static void crypto_int32_minmax/void crypto_int32_minmax/"
|
||||
;;
|
||||
*/cryptoint/crypto_int64.h)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: input.c,v 1.228 2024/08/21 04:37:42 nicm Exp $ */
|
||||
/* $OpenBSD: input.c,v 1.229 2024/09/16 20:38:48 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@ -1349,7 +1349,7 @@ input_csi_dispatch(struct input_ctx *ictx)
|
||||
struct screen_write_ctx *sctx = &ictx->ctx;
|
||||
struct screen *s = sctx->s;
|
||||
struct input_table_entry *entry;
|
||||
int i, n, m;
|
||||
int i, n, m, ek;
|
||||
u_int cx, bg = ictx->cell.cell.bg;
|
||||
|
||||
if (ictx->flags & INPUT_DISCARD)
|
||||
@ -1407,30 +1407,36 @@ input_csi_dispatch(struct input_ctx *ictx)
|
||||
break;
|
||||
case INPUT_CSI_MODSET:
|
||||
n = input_get(ictx, 0, 0, 0);
|
||||
m = input_get(ictx, 1, 0, 0);
|
||||
/*
|
||||
* Set the extended key reporting mode as per the client request,
|
||||
* unless "extended-keys always" forces us into mode 1.
|
||||
*/
|
||||
if (options_get_number(global_options, "extended-keys") != 1)
|
||||
if (n != 4)
|
||||
break;
|
||||
screen_write_mode_clear(sctx,
|
||||
MODE_KEYS_EXTENDED|MODE_KEYS_EXTENDED_2);
|
||||
if (n == 4 && m == 1)
|
||||
screen_write_mode_set(sctx, MODE_KEYS_EXTENDED);
|
||||
if (n == 4 && m == 2)
|
||||
m = input_get(ictx, 1, 0, 0);
|
||||
|
||||
/*
|
||||
* Set the extended key reporting mode as per the client
|
||||
* request, unless "extended-keys" is set to "off".
|
||||
*/
|
||||
ek = options_get_number(global_options, "extended-keys");
|
||||
if (ek == 0)
|
||||
break;
|
||||
screen_write_mode_clear(sctx, EXTENDED_KEY_MODES);
|
||||
if (m == 2)
|
||||
screen_write_mode_set(sctx, MODE_KEYS_EXTENDED_2);
|
||||
else if (m == 1 || ek == 2)
|
||||
screen_write_mode_set(sctx, MODE_KEYS_EXTENDED);
|
||||
break;
|
||||
case INPUT_CSI_MODOFF:
|
||||
n = input_get(ictx, 0, 0, 0);
|
||||
if (n != 4)
|
||||
break;
|
||||
|
||||
/*
|
||||
* Clear the extended key reporting mode as per the client request,
|
||||
* unless "extended-keys always" forces us into mode 1.
|
||||
* Clear the extended key reporting mode as per the client
|
||||
* request, unless "extended-keys always" forces into mode 1.
|
||||
*/
|
||||
if (n == 4) {
|
||||
screen_write_mode_clear(sctx,
|
||||
MODE_KEYS_EXTENDED|MODE_KEYS_EXTENDED_2);
|
||||
}
|
||||
screen_write_mode_clear(sctx,
|
||||
MODE_KEYS_EXTENDED|MODE_KEYS_EXTENDED_2);
|
||||
if (options_get_number(global_options, "extended-keys") == 2)
|
||||
screen_write_mode_set(sctx, MODE_KEYS_EXTENDED);
|
||||
break;
|
||||
case INPUT_CSI_WINOPS:
|
||||
input_csi_dispatch_winops(ictx);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: options-table.c,v 1.177 2024/08/21 04:37:42 nicm Exp $ */
|
||||
/* $OpenBSD: options-table.c,v 1.178 2024/09/16 20:28:22 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@ -386,6 +386,17 @@ const struct options_table_entry options_table[] = {
|
||||
.text = "Maximum number of server messages to keep."
|
||||
},
|
||||
|
||||
{ .name = "prefix-timeout",
|
||||
.type = OPTIONS_TABLE_NUMBER,
|
||||
.scope = OPTIONS_TABLE_SERVER,
|
||||
.minimum = 0,
|
||||
.maximum = INT_MAX,
|
||||
.default_num = 0,
|
||||
.unit = "milliseconds",
|
||||
.text = "The timeout for the prefix key if no subsequent key is "
|
||||
"pressed. Zero means disabled."
|
||||
},
|
||||
|
||||
{ .name = "prompt-history-limit",
|
||||
.type = OPTIONS_TABLE_NUMBER,
|
||||
.scope = OPTIONS_TABLE_SERVER,
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: server-client.c,v 1.408 2024/09/11 19:12:33 nicm Exp $ */
|
||||
/* $OpenBSD: server-client.c,v 1.409 2024/09/16 20:28:22 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@ -226,6 +226,17 @@ server_client_set_key_table(struct client *c, const char *name)
|
||||
key_bindings_unref_table(c->keytable);
|
||||
c->keytable = key_bindings_get_table(name, 1);
|
||||
c->keytable->references++;
|
||||
if (gettimeofday(&c->keytable->activity_time, NULL) != 0)
|
||||
fatal("gettimeofday failed");
|
||||
}
|
||||
|
||||
static uint64_t
|
||||
server_client_key_table_activity_diff(struct client *c)
|
||||
{
|
||||
struct timeval diff;
|
||||
|
||||
timersub(&c->activity_time, &c->keytable->activity_time, &diff);
|
||||
return ((diff.tv_sec * 1000ULL) + (diff.tv_usec / 1000ULL));
|
||||
}
|
||||
|
||||
/* Get default key table. */
|
||||
@ -1870,7 +1881,7 @@ server_client_key_callback(struct cmdq_item *item, void *data)
|
||||
struct key_table *table, *first;
|
||||
struct key_binding *bd;
|
||||
int xtimeout;
|
||||
uint64_t flags;
|
||||
uint64_t flags, prefix_delay;
|
||||
struct cmd_find_state fs;
|
||||
key_code key0, prefix, prefix2;
|
||||
|
||||
@ -1965,8 +1976,34 @@ try_again:
|
||||
if (c->flags & CLIENT_REPEAT)
|
||||
log_debug("currently repeating");
|
||||
|
||||
/* Try to see if there is a key binding in the current table. */
|
||||
bd = key_bindings_get(table, key0);
|
||||
|
||||
/*
|
||||
* If prefix-timeout is enabled and we're in the prefix table, see if
|
||||
* the timeout has been exceeded. Revert to the root table if so.
|
||||
*/
|
||||
prefix_delay = options_get_number(global_options, "prefix-timeout");
|
||||
if (prefix_delay > 0 &&
|
||||
strcmp(table->name, "prefix") == 0 &&
|
||||
server_client_key_table_activity_diff(c) > prefix_delay) {
|
||||
/*
|
||||
* If repeating is active and this is a repeating binding,
|
||||
* ignore the timeout.
|
||||
*/
|
||||
if (bd != NULL &&
|
||||
(c->flags & CLIENT_REPEAT) &&
|
||||
(bd->flags & KEY_BINDING_REPEAT)) {
|
||||
log_debug("prefix timeout ignored, repeat is active");
|
||||
} else {
|
||||
log_debug("prefix timeout exceeded");
|
||||
server_client_set_key_table(c, NULL);
|
||||
first = table = c->keytable;
|
||||
server_status_client(c);
|
||||
goto table_changed;
|
||||
}
|
||||
}
|
||||
|
||||
/* Try to see if there is a key binding in the current table. */
|
||||
if (bd != NULL) {
|
||||
/*
|
||||
* Key was matched in this table. If currently repeating but a
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" $OpenBSD: tmux.1,v 1.954 2024/08/27 07:49:07 nicm Exp $
|
||||
.\" $OpenBSD: tmux.1,v 1.957 2024/09/16 20:46:58 nicm Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
.\"
|
||||
@ -14,7 +14,7 @@
|
||||
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
||||
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
.\"
|
||||
.Dd $Mdocdate: August 27 2024 $
|
||||
.Dd $Mdocdate: September 16 2024 $
|
||||
.Dt TMUX 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -1812,6 +1812,23 @@ is used to name the new paste buffer.
|
||||
.Xc
|
||||
Copy from the cursor position and exit copy mode.
|
||||
.It Xo
|
||||
.Ic copy-pipe-end-of-line
|
||||
.Op Ar command
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
Copy from the cursor position to the end of the line and pipe the text to
|
||||
.Ar command .
|
||||
.Ar prefix
|
||||
is used to name the new paste buffer.
|
||||
.It Xo
|
||||
.Ic copy-pipe-end-of-line-and-cancel
|
||||
.Op Ar command
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
Same as
|
||||
.Ic copy-pipe-end-of-line
|
||||
but also exit copy mode.
|
||||
.It Xo
|
||||
.Ic copy-line
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
@ -1822,11 +1839,60 @@ Copy the entire line.
|
||||
.Xc
|
||||
Copy the entire line and exit copy mode.
|
||||
.It Xo
|
||||
.Ic copy-pipe-line
|
||||
.Op Ar command
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
Copy the entire line and pipe the text to
|
||||
.Ar command .
|
||||
.Ar prefix
|
||||
is used to name the new paste buffer.
|
||||
.It Xo
|
||||
.Ic copy-pipe-line-and-cancel
|
||||
.Op Ar command
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
Same as
|
||||
.Ic copy-pipe-line
|
||||
but also exit copy mode.
|
||||
.It Xo
|
||||
.Ic copy-pipe
|
||||
.Op Ar command
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
Copy the selection, clear it and pipe its text to
|
||||
.Ar command .
|
||||
.Ar prefix
|
||||
is used to name the new paste buffer.
|
||||
.It Xo
|
||||
.Ic copy-pipe-no-clear
|
||||
.Op Ar command
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
Same as
|
||||
.Ic copy-pipe
|
||||
but do not clear the selection.
|
||||
.It Xo
|
||||
.Ic copy-pipe-and-cancel
|
||||
.Op Ar command
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
Same as
|
||||
.Ic copy-pipe
|
||||
but also exit copy mode.
|
||||
.It Xo
|
||||
.Ic copy-selection
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
Copies the current selection.
|
||||
.It Xo
|
||||
.Ic copy-selection-no-clear
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
Same as
|
||||
.Ic copy-selection
|
||||
but do not clear the selection.
|
||||
.It Xo
|
||||
.Ic copy-selection-and-cancel
|
||||
.Op Ar prefix
|
||||
(vi: Enter)
|
||||
@ -1840,6 +1906,12 @@ Copy the current selection and exit copy mode.
|
||||
.Xc
|
||||
Move the cursor down.
|
||||
.It Xo
|
||||
.Ic cursor-down-and-cancel
|
||||
.Xc
|
||||
Same as
|
||||
.Ic cursor-down
|
||||
but also exit copy mode if reaching the bottom.
|
||||
.It Xo
|
||||
.Ic cursor-left
|
||||
(vi: h)
|
||||
(emacs: Left)
|
||||
@ -1871,6 +1943,24 @@ Move the cursor to the end of the line.
|
||||
.Xc
|
||||
Move the cursor to a specific line.
|
||||
.It Xo
|
||||
.Ic halfpage-down
|
||||
(vi: C-d)
|
||||
(emacs: M-Down)
|
||||
.Xc
|
||||
Scroll down by half a page.
|
||||
.It Xo
|
||||
.Ic halfpage-down-and-cancel
|
||||
.Xc
|
||||
Same as
|
||||
.Ic halfpage-down
|
||||
but also exit copy mode if reaching the bottom.
|
||||
.It Xo
|
||||
.Ic halfpage-up
|
||||
(vi: C-u)
|
||||
(emacs: M-Up)
|
||||
.Xc
|
||||
Scroll up by half a page.
|
||||
.It Xo
|
||||
.Ic history-bottom
|
||||
(vi: G)
|
||||
(emacs: M->)
|
||||
@ -1903,6 +1993,27 @@ Jump backwards to the specified text.
|
||||
.Xc
|
||||
Jump forward to the specified text.
|
||||
.It Xo
|
||||
.Ic jump-reverse
|
||||
(vi: ,)
|
||||
(emacs: ,)
|
||||
.Xc
|
||||
Repeat the last jump in the reverse direction (forward becomes backward and
|
||||
backward becomes forward).
|
||||
.It Xo
|
||||
.Ic jump-to-backward
|
||||
.Ar to
|
||||
(vi: T)
|
||||
.Xc
|
||||
Jump backwards, but one character less, placing the cursor on the character
|
||||
after the target.
|
||||
.It Xo
|
||||
.Ic jump-to-forward
|
||||
.Ar to
|
||||
(vi: t)
|
||||
.Xc
|
||||
Jump forward, but one character less, placing the cursor on the character
|
||||
before the target.
|
||||
.It Xo
|
||||
.Ic jump-to-mark
|
||||
(vi: M-x)
|
||||
(emacs: M-x)
|
||||
@ -1937,18 +2048,71 @@ Move to the next prompt.
|
||||
.Xc
|
||||
Move to the next word.
|
||||
.It Xo
|
||||
.Ic next-word-end
|
||||
(vi: e)
|
||||
(emacs: M-f)
|
||||
.Xc
|
||||
Move to the end of the next word.
|
||||
.It Xo
|
||||
.Ic next-space
|
||||
(vi: W)
|
||||
.Xc
|
||||
Same as
|
||||
.Ic next-word
|
||||
but use a space alone as the word separator.
|
||||
.It Xo
|
||||
.Ic next-space-end
|
||||
(vi: E)
|
||||
.Xc
|
||||
Same as
|
||||
.Ic next-word-end
|
||||
but use a space alone as the word separator.
|
||||
.It Xo
|
||||
.Ic other-end
|
||||
(vi: o)
|
||||
.Xc
|
||||
Switch at which end of the selection the cursor sits.
|
||||
.It Xo
|
||||
.Ic page-down
|
||||
(vi: C-f)
|
||||
(emacs: PageDown)
|
||||
.Xc
|
||||
Scroll down by one page.
|
||||
.It Xo
|
||||
.Ic page-down-and-cancel
|
||||
.Xc
|
||||
Same as
|
||||
.Ic page-down
|
||||
but also exit copy mode if reaching the bottom.
|
||||
.It Xo
|
||||
.Ic page-up
|
||||
(vi: C-b)
|
||||
(emacs: PageUp)
|
||||
.Xc
|
||||
Scroll up by one page.
|
||||
.It Xo
|
||||
.Ic pipe
|
||||
.Op Ar command
|
||||
.Xc
|
||||
Pipe the selected text to
|
||||
.Ar command
|
||||
and clear the selection.
|
||||
.It Xo
|
||||
.Ic pipe-no-clear
|
||||
.Op Ar command
|
||||
.Xc
|
||||
Same as
|
||||
.Ic pipe
|
||||
but do not clear the selection.
|
||||
.It Xo
|
||||
.Ic pipe-and-cancel
|
||||
.Op Ar command
|
||||
.Op Ar prefix
|
||||
.Xc
|
||||
Same as
|
||||
.Ic pipe
|
||||
but also exit copy mode.
|
||||
.It Xo
|
||||
.Ic previous-matching-bracket
|
||||
(emacs: M-C-b)
|
||||
.Xc
|
||||
@ -1971,6 +2135,21 @@ Move to the previous prompt.
|
||||
.Xc
|
||||
Move to the previous word.
|
||||
.It Xo
|
||||
.Ic previous-space
|
||||
(vi: B)
|
||||
.Xc
|
||||
Same as
|
||||
.Ic previous-word
|
||||
but use a space alone as the word separator.
|
||||
.It Xo
|
||||
.Ic rectangle-on
|
||||
.Xc
|
||||
Turn on rectangle selection mode.
|
||||
.It Xo
|
||||
.Ic rectangle-off
|
||||
.Xc
|
||||
Turn off rectangle selection mode.
|
||||
.It Xo
|
||||
.Ic rectangle-toggle
|
||||
(vi: v)
|
||||
(emacs: R)
|
||||
@ -1983,6 +2162,40 @@ Toggle rectangle selection mode.
|
||||
.Xc
|
||||
Refresh the content from the pane.
|
||||
.It Xo
|
||||
.Ic scroll-bottom
|
||||
.Xc
|
||||
Scroll up until the current line is at the bottom while keeping the cursor on
|
||||
that line.
|
||||
.It Xo
|
||||
.Ic scroll-down
|
||||
(vi: C-e)
|
||||
(emacs: C-Down)
|
||||
.Xc
|
||||
Scroll down.
|
||||
.It Xo
|
||||
.Ic scroll-down-and-cancel
|
||||
.Xc
|
||||
Same as
|
||||
.Ic scroll-down
|
||||
but also exit copy mode if the cursor reaches the bottom.
|
||||
.It Xo
|
||||
.Ic scroll-middle
|
||||
(vi: z)
|
||||
.Xc
|
||||
Scroll so that the current line becomes the middle one while keeping the
|
||||
cursor on that line.
|
||||
.It Xo
|
||||
.Ic scroll-top
|
||||
.Xc
|
||||
Scroll down until the current line is at the top while keeping the cursor on
|
||||
that line.
|
||||
.It Xo
|
||||
.Ic scroll-up
|
||||
(vi: C-y)
|
||||
(emacs: C-Up)
|
||||
.Xc
|
||||
Scroll up.
|
||||
.It Xo
|
||||
.Ic search-again
|
||||
(vi: n)
|
||||
(emacs: n)
|
||||
@ -1995,12 +2208,51 @@ Repeat the last search.
|
||||
.Xc
|
||||
Search backwards for the specified text.
|
||||
.It Xo
|
||||
.Ic search-backward-incremental
|
||||
.Ar text
|
||||
(emacs: C-r)
|
||||
.Xc
|
||||
Search backwards incrementally for the specified text.
|
||||
Is expected to be used with the
|
||||
.Fl i
|
||||
flag to the
|
||||
.Ic command-prompt
|
||||
command.
|
||||
.It Xo
|
||||
.Ic search-backward-text
|
||||
.Ar text
|
||||
.Xc
|
||||
Search backwards for the specified plain text.
|
||||
.It Xo
|
||||
.Ic search-forward
|
||||
.Ar text
|
||||
(vi: /)
|
||||
.Xc
|
||||
Search forward for the specified text.
|
||||
.It Xo
|
||||
.Ic search-forward-incremental
|
||||
.Ar text
|
||||
(emacs: C-s)
|
||||
.Xc
|
||||
Search forward incrementally for the specified text.
|
||||
Is expected to be used with the
|
||||
.Fl i
|
||||
flag to the
|
||||
.Ic command-prompt
|
||||
command.
|
||||
.It Xo
|
||||
.Ic search-forward-text
|
||||
.Ar text
|
||||
.Xc
|
||||
Search forward for the specified plain text.
|
||||
.It Xo
|
||||
.Ic search-reverse
|
||||
(vi: N)
|
||||
(emacs: N)
|
||||
.Xc
|
||||
Repeat the last search in the reverse direction (forward becomes backward and
|
||||
backward becomes forward).
|
||||
.It Xo
|
||||
.Ic select-line
|
||||
(vi: V)
|
||||
.Xc
|
||||
@ -2010,12 +2262,28 @@ Select the current line.
|
||||
.Xc
|
||||
Select the current word.
|
||||
.It Xo
|
||||
.Ic set-mark
|
||||
(vi: X)
|
||||
(emacs: X)
|
||||
.Xc
|
||||
Mark the current line.
|
||||
.It Xo
|
||||
.Ic start-of-line
|
||||
(vi: 0)
|
||||
(emacs: C-a)
|
||||
.Xc
|
||||
Move the cursor to the start of the line.
|
||||
.It Xo
|
||||
.Ic stop-selection
|
||||
.Xc
|
||||
Stop selecting without clearing the current selection.
|
||||
.It Xo
|
||||
.Ic toggle-position
|
||||
(vi: P)
|
||||
(emacs: P)
|
||||
.Xc
|
||||
Toggle the visibility of the position indicator in the top right.
|
||||
.It Xo
|
||||
.Ic top-line
|
||||
(vi: H)
|
||||
(emacs: M-R)
|
||||
@ -3795,7 +4063,8 @@ the sequence for only keys which lack an existing well-known representation; or
|
||||
mode 2 which changes the sequence for all keys.
|
||||
When set to
|
||||
.Ic always ,
|
||||
mode 1 output is forced and the program cannot change it.
|
||||
modes 1 and 2 can still be requested by applications, but mode 1 will be forced
|
||||
instead of the standard mode.
|
||||
When set to
|
||||
.Ic off ,
|
||||
this feature is disabled and only standard keys are reported.
|
||||
@ -4091,10 +4360,12 @@ If
|
||||
(the default), leave the session orphaned.
|
||||
If
|
||||
.Ic keep-last ,
|
||||
destroy the session only if it is in a group and has other sessions in that group.
|
||||
destroy the session only if it is in a group and has other sessions in that
|
||||
group.
|
||||
If
|
||||
.Ic keep-group ,
|
||||
destroy the session unless it is in a group and is the only session in that group.
|
||||
destroy the session unless it is in a group and is the only session in that
|
||||
group.
|
||||
.It Xo Ic detach-on-destroy
|
||||
.Op Ic off | on | no-detached | previous | next
|
||||
.Xc
|
||||
@ -4228,6 +4499,13 @@ Like
|
||||
.Ic prefix2
|
||||
can be set to
|
||||
.Ql None .
|
||||
.It Ic prefix-timeout Ar time
|
||||
Set the time in milliseconds for which
|
||||
.Nm
|
||||
waits after
|
||||
.Ic prefix
|
||||
is input before dismissing it.
|
||||
Can be set to zero to disable any timeout.
|
||||
.It Xo Ic renumber-windows
|
||||
.Op Ic on | off
|
||||
.Xc
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: tmux.h,v 1.1226 2024/08/27 07:49:07 nicm Exp $ */
|
||||
/* $OpenBSD: tmux.h,v 1.1227 2024/09/16 20:28:22 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@ -1982,6 +1982,7 @@ RB_HEAD(key_bindings, key_binding);
|
||||
|
||||
struct key_table {
|
||||
const char *name;
|
||||
struct timeval activity_time;
|
||||
struct key_bindings key_bindings;
|
||||
struct key_bindings default_key_bindings;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user