commit 12073001c22eb6fde36159d8e992893472e27de5
parent 4c20135749401e936fbd5515d510fa033dd7724c
Author: Benno Schulenberg <bensberg@telfort.nl>
Date: Tue, 26 Dec 2017 22:09:00 +0100
tweaks: condense, reword, and rewrap a bunch of comments
Diffstat:
M | src/winio.c | | | 53 | +++++++++++++++++++++-------------------------------- |
1 file changed, 21 insertions(+), 32 deletions(-)
diff --git a/src/winio.c b/src/winio.c
@@ -125,16 +125,14 @@ void run_macro(void)
* - Ctrl-8 (Ctrl-?) is Delete under ASCII, ANSI, VT100, and VT220,
* but is Backspace under VT320.
*
- * Note: VT220 and VT320 also generate Esc [ 3 ~ for Delete. By
- * default, xterm assumes it's running on a VT320 and generates Ctrl-8
- * (Ctrl-?) for Backspace and Esc [ 3 ~ for Delete. This causes
- * problems for VT100-derived terminals such as the FreeBSD console,
- * which expect Ctrl-H for Backspace and Ctrl-8 (Ctrl-?) for Delete, and
- * on which the VT320 sequences are translated by the keypad to KEY_DC
- * and [nothing]. We work around this conflict via the REBIND_DELETE
- * flag: if it's not set, we assume VT320 compatibility, and if it is,
- * we assume VT100 compatibility. Thanks to Lee Nelson and Wouter van
- * Hemel for helping work this conflict out.
+ * Note: VT220 and VT320 also generate Esc [ 3 ~ for Delete. By default,
+ * xterm assumes it's running on a VT320 and generates Ctrl-8 (Ctrl-?)
+ * for Backspace and Esc [ 3 ~ for Delete. This causes problems for
+ * VT100-derived terminals such as the FreeBSD console, which expect
+ * Ctrl-H for Backspace and Ctrl-8 (Ctrl-?) for Delete, and on which the
+ * VT320 sequences are translated by the keypad to KEY_DC and [nothing].
+ * We work around this conflict via the REBIND_DELETE flag: if it's not set,
+ * we assume VT320 compatibility, and if it is, we assume VT100 compatibility.
*
* Escape sequence compatibility:
*
@@ -169,9 +167,8 @@ void run_macro(void)
* - F16 on FreeBSD console == Shift-Down on rxvt/Eterm; the former is
* omitted. (Same as above.) */
-/* Read in a sequence of keystrokes from win and save them in the
- * keystroke buffer. This should only be called when the keystroke
- * buffer is empty. */
+/* Read in a sequence of keystrokes from the given window and save them
+ * in the keystroke buffer. */
void get_key_buffer(WINDOW *win)
{
int input = ERR;
@@ -181,8 +178,7 @@ void get_key_buffer(WINDOW *win)
if (key_buffer != NULL)
return;
- /* Just before reading in the first character, display any pending
- * screen updates. */
+ /* Before reading the first keycode, display any pending screen updates. */
doupdate();
if (reveal_cursor) {
@@ -192,7 +188,7 @@ void get_key_buffer(WINDOW *win)
#endif
}
- /* Read in the first keystroke using whatever mode we're in. */
+ /* Read in the first keycode using whatever mode we're in. */
while (input == ERR) {
input = wgetch(win);
@@ -207,7 +203,7 @@ void get_key_buffer(WINDOW *win)
return;
}
- /* If we've failed to get a character MAX_BUF_SIZE times in a row,
+ /* If we've failed to get a keycode MAX_BUF_SIZE times in a row,
* assume our input source is gone and die gracefully. We could
* check if errno is set to EIO ("Input/output error") and die in
* that case, but it's not always set properly. Argh. */
@@ -217,15 +213,13 @@ void get_key_buffer(WINDOW *win)
curs_set(0);
- /* Increment the length of the keystroke buffer, and save the value
- * of the keystroke at the end of it. */
+ /* Initiate the keystroke buffer, and save the keycode in it. */
key_buffer_len++;
key_buffer = (int *)nmalloc(sizeof(int));
key_buffer[0] = input;
#ifndef NANO_TINY
- /* If we got SIGWINCH, get out immediately since the win argument is
- * no longer valid. */
+ /* If we got a SIGWINCH, get out as the win argument is no longer valid. */
if (input == KEY_WINCH)
return;
#endif
@@ -244,8 +238,7 @@ void get_key_buffer(WINDOW *win)
if (input == ERR)
break;
- /* Otherwise, increment the length of the keystroke buffer, and
- * save the value of the keystroke at the end of it. */
+ /* Extend the keystroke buffer, and save the keycode at its end. */
key_buffer_len++;
key_buffer = (int *)nrealloc(key_buffer, key_buffer_len * sizeof(int));
key_buffer[key_buffer_len - 1] = input;
@@ -269,25 +262,21 @@ size_t get_key_buffer_len(void)
return key_buffer_len;
}
-/* Add the keystrokes in input to the keystroke buffer. */
+/* Add the keycodes in input to the keystroke buffer. */
void unget_input(int *input, size_t input_len)
{
/* If input is empty, get out. */
if (input_len == 0)
return;
- /* If adding input would put the keystroke buffer beyond maximum
- * capacity, only add enough of input to put it at maximum
- * capacity. */
+ /* If adding input would put the keystroke buffer beyond maximum capacity,
+ * only add enough of input to put it at maximum capacity. */
if (key_buffer_len + input_len < key_buffer_len)
input_len = (size_t)-1 - key_buffer_len;
- /* Add the length of input to the length of the keystroke buffer,
- * and reallocate the keystroke buffer so that it has enough room
- * for input. */
+ /* Extend the keystroke buffer to make room for the extra keycodes. */
key_buffer_len += input_len;
- key_buffer = (int *)nrealloc(key_buffer, key_buffer_len *
- sizeof(int));
+ key_buffer = (int *)nrealloc(key_buffer, key_buffer_len * sizeof(int));
/* If the keystroke buffer wasn't empty before, move its beginning
* forward far enough so that we can add input to its beginning. */