Skip to content

Commit

Permalink
40702: new KEYS_QUEUED_COUNT ZLE variable
Browse files Browse the repository at this point in the history
  • Loading branch information
Peter Stephenson committed Mar 3, 2017
1 parent 0697c45 commit 67c5d83
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 1 deletion.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
2017-03-03 Peter Stephenson <p.stephenson@samsung.com>

* 40702: Doc/Zsh/zle.yo, Src/Zle/zle_params.c: add
KEYS_QUEUED_COUNT variable to ZLE parameters.

2017-03-02 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>

* 40681: Src/Modules/datetime.c: strftime builtin should
Expand Down
9 changes: 8 additions & 1 deletion Doc/Zsh/zle.yo
Original file line number Diff line number Diff line change
Expand Up @@ -864,6 +864,12 @@ vindex(KEYS)
item(tt(KEYS) (scalar))(
The keys typed to invoke this widget, as a literal string; read-only.
)
vindex(KEYS_QUEUED_COUNT)
item(tt(KEYS_QUEUED_COUNT) (integer))(
The number of bytes pushed back to the input queue and therefore
available for reading immediately before any I/O is done; read-only.
See also tt(PENDING); the two values are distinct.
)
vindex(killring)
item(tt(killring) (array))(
The array of previously killed items, with the most recently killed first.
Expand Down Expand Up @@ -919,7 +925,8 @@ item(tt(PENDING) (integer))(
The number of bytes pending for input, i.e. the number of bytes which have
already been typed and can immediately be read. On systems where the shell
is not able to get this information, this parameter will always have a
value of zero. Read-only.
value of zero. Read-only. See also tt(KEYS_QUEUED_COUNT); the two
values are distinct.
)
vindex(PREBUFFER)
item(tt(PREBUFFER) (scalar))(
Expand Down
11 changes: 11 additions & 0 deletions Src/Zle/zle_params.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ static const struct gsu_integer cursor_gsu =
{ get_cursor, set_cursor, zleunsetfn };
static const struct gsu_integer histno_gsu =
{ get_histno, set_histno, zleunsetfn };
static const struct gsu_integer keys_queued_count_gsu =
{ get_keys_queued_count, NULL, zleunsetfn };
static const struct gsu_integer mark_gsu =
{ get_mark, set_mark, zleunsetfn };
static const struct gsu_integer numeric_gsu =
Expand Down Expand Up @@ -146,6 +148,8 @@ static struct zleparam {
{ "HISTNO", PM_INTEGER, GSU(histno_gsu), NULL },
{ "KEYMAP", PM_SCALAR | PM_READONLY, GSU(keymap_gsu), NULL },
{ "KEYS", PM_SCALAR | PM_READONLY, GSU(keys_gsu), NULL },
{ "KEYS_QUEUED_COUNT", PM_INTEGER | PM_READONLY, GSU(keys_queued_count_gsu),
NULL},
{ "killring", PM_ARRAY, GSU(killring_gsu), NULL },
{ "LASTABORTEDSEARCH", PM_SCALAR | PM_READONLY, GSU(lastabortedsearch_gsu),
NULL },
Expand Down Expand Up @@ -457,6 +461,13 @@ get_keys(UNUSED(Param pm))
return keybuf;
}

/**/
static zlong
get_keys_queued_count(UNUSED(Param pm))
{
return kungetct;
}

/**/
static void
set_numeric(UNUSED(Param pm), zlong x)
Expand Down

0 comments on commit 67c5d83

Please sign in to comment.