aboutsummaryrefslogtreecommitdiff
path: root/lib/libedit/vi.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libedit/vi.c')
-rw-r--r--lib/libedit/vi.c127
1 files changed, 61 insertions, 66 deletions
diff --git a/lib/libedit/vi.c b/lib/libedit/vi.c
index be35a8ef0cbd4..0a426fd999d6e 100644
--- a/lib/libedit/vi.c
+++ b/lib/libedit/vi.c
@@ -1,4 +1,4 @@
-/* $NetBSD: vi.c,v 1.54 2016/02/17 19:47:49 christos Exp $ */
+/* $NetBSD: vi.c,v 1.47 2015/10/21 21:45:30 christos Exp $ */
/*-
* Copyright (c) 1992, 1993
@@ -33,11 +33,16 @@
*/
#include "config.h"
+#include <stdlib.h>
+#include <unistd.h>
+#include <limits.h>
+#include <sys/wait.h>
+
#if !defined(lint) && !defined(SCCSID)
#if 0
static char sccsid[] = "@(#)vi.c 8.1 (Berkeley) 6/4/93";
#else
-__RCSID("$NetBSD: vi.c,v 1.54 2016/02/17 19:47:49 christos Exp $");
+__RCSID("$NetBSD: vi.c,v 1.47 2015/10/21 21:45:30 christos Exp $");
#endif
#endif /* not lint && not SCCSID */
#include <sys/cdefs.h>
@@ -46,31 +51,21 @@ __FBSDID("$FreeBSD$");
/*
* vi.c: Vi mode commands.
*/
-#include <sys/wait.h>
-#include <ctype.h>
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
#include "el.h"
-#include "common.h"
-#include "emacs.h"
-#include "vi.h"
-private el_action_t cv_action(EditLine *, wint_t);
-private el_action_t cv_paste(EditLine *, wint_t);
+private el_action_t cv_action(EditLine *, Int);
+private el_action_t cv_paste(EditLine *, Int);
/* cv_action():
* Handle vi actions.
*/
private el_action_t
-cv_action(EditLine *el, wint_t c)
+cv_action(EditLine *el, Int c)
{
if (el->el_chared.c_vcmd.action != NOP) {
/* 'cc', 'dd' and (possibly) friends */
- if (c != (wint_t)el->el_chared.c_vcmd.action)
+ if (c != (Int)el->el_chared.c_vcmd.action)
return CC_ERROR;
if (!(c & YANK))
@@ -97,7 +92,7 @@ cv_action(EditLine *el, wint_t c)
* Paste previous deletion before or after the cursor
*/
private el_action_t
-cv_paste(EditLine *el, wint_t c)
+cv_paste(EditLine *el, Int c)
{
c_kill_t *k = &el->el_chared.c_kill;
size_t len = (size_t)(k->last - k->buf);
@@ -129,7 +124,7 @@ cv_paste(EditLine *el, wint_t c)
*/
protected el_action_t
/*ARGSUSED*/
-vi_paste_next(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_paste_next(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_paste(el, 0);
@@ -142,7 +137,7 @@ vi_paste_next(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_paste_prev(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_paste_prev(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_paste(el, 1);
@@ -155,7 +150,7 @@ vi_paste_prev(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_prev_big_word(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_prev_big_word(EditLine *el, Int c __attribute__((__unused__)))
{
if (el->el_line.cursor == el->el_line.buffer)
@@ -180,7 +175,7 @@ vi_prev_big_word(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_prev_word(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_prev_word(EditLine *el, Int c __attribute__((__unused__)))
{
if (el->el_line.cursor == el->el_line.buffer)
@@ -205,7 +200,7 @@ vi_prev_word(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_next_big_word(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_next_big_word(EditLine *el, Int c __attribute__((__unused__)))
{
if (el->el_line.cursor >= el->el_line.lastchar - 1)
@@ -229,7 +224,7 @@ vi_next_big_word(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_next_word(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_next_word(EditLine *el, Int c __attribute__((__unused__)))
{
if (el->el_line.cursor >= el->el_line.lastchar - 1)
@@ -252,7 +247,7 @@ vi_next_word(EditLine *el, wint_t c __attribute__((__unused__)))
* [~]
*/
protected el_action_t
-vi_change_case(EditLine *el, wint_t c)
+vi_change_case(EditLine *el, Int c)
{
int i;
@@ -284,7 +279,7 @@ vi_change_case(EditLine *el, wint_t c)
*/
protected el_action_t
/*ARGSUSED*/
-vi_change_meta(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_change_meta(EditLine *el, Int c __attribute__((__unused__)))
{
/*
@@ -301,7 +296,7 @@ vi_change_meta(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_insert_at_bol(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_insert_at_bol(EditLine *el, Int c __attribute__((__unused__)))
{
el->el_line.cursor = el->el_line.buffer;
@@ -317,7 +312,7 @@ vi_insert_at_bol(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_replace_char(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_replace_char(EditLine *el, Int c __attribute__((__unused__)))
{
if (el->el_line.cursor >= el->el_line.lastchar)
@@ -336,7 +331,7 @@ vi_replace_char(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_replace_mode(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_replace_mode(EditLine *el, Int c __attribute__((__unused__)))
{
el->el_map.current = el->el_map.key;
@@ -352,7 +347,7 @@ vi_replace_mode(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_substitute_char(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_substitute_char(EditLine *el, Int c __attribute__((__unused__)))
{
c_delafter(el, el->el_state.argument);
@@ -367,7 +362,7 @@ vi_substitute_char(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_substitute_line(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_substitute_line(EditLine *el, Int c __attribute__((__unused__)))
{
cv_undo(el);
@@ -385,7 +380,7 @@ vi_substitute_line(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_change_to_eol(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_change_to_eol(EditLine *el, Int c __attribute__((__unused__)))
{
cv_undo(el);
@@ -403,7 +398,7 @@ vi_change_to_eol(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_insert(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_insert(EditLine *el, Int c __attribute__((__unused__)))
{
el->el_map.current = el->el_map.key;
@@ -418,7 +413,7 @@ vi_insert(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_add(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_add(EditLine *el, Int c __attribute__((__unused__)))
{
int ret;
@@ -443,7 +438,7 @@ vi_add(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_add_at_eol(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_add_at_eol(EditLine *el, Int c __attribute__((__unused__)))
{
el->el_map.current = el->el_map.key;
@@ -459,7 +454,7 @@ vi_add_at_eol(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_delete_meta(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_delete_meta(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_action(el, DELETE);
@@ -472,7 +467,7 @@ vi_delete_meta(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_end_big_word(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_end_big_word(EditLine *el, Int c __attribute__((__unused__)))
{
if (el->el_line.cursor == el->el_line.lastchar)
@@ -496,7 +491,7 @@ vi_end_big_word(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_end_word(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_end_word(EditLine *el, Int c __attribute__((__unused__)))
{
if (el->el_line.cursor == el->el_line.lastchar)
@@ -520,7 +515,7 @@ vi_end_word(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_undo(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_undo(EditLine *el, Int c __attribute__((__unused__)))
{
c_undo_t un = el->el_chared.c_undo;
@@ -547,7 +542,7 @@ vi_undo(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_command_mode(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_command_mode(EditLine *el, Int c __attribute__((__unused__)))
{
/* [Esc] cancels pending action */
@@ -571,7 +566,7 @@ vi_command_mode(EditLine *el, wint_t c __attribute__((__unused__)))
* [0]
*/
protected el_action_t
-vi_zero(EditLine *el, wint_t c)
+vi_zero(EditLine *el, Int c)
{
if (el->el_state.doingarg)
@@ -587,12 +582,12 @@ vi_zero(EditLine *el, wint_t c)
/* vi_delete_prev_char():
- * Vi move to previous character (backspace)
+ * Vi move to previous character (backspace)
* [^H] in insert mode only
*/
protected el_action_t
/*ARGSUSED*/
-vi_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_delete_prev_char(EditLine *el, Int c __attribute__((__unused__)))
{
if (el->el_line.cursor <= el->el_line.buffer)
@@ -610,7 +605,7 @@ vi_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_list_or_eof(EditLine *el, wint_t c)
+vi_list_or_eof(EditLine *el, Int c)
{
if (el->el_line.cursor == el->el_line.lastchar) {
@@ -647,7 +642,7 @@ vi_list_or_eof(EditLine *el, wint_t c)
*/
protected el_action_t
/*ARGSUSED*/
-vi_kill_line_prev(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_kill_line_prev(EditLine *el, Int c __attribute__((__unused__)))
{
Char *kp, *cp;
@@ -668,7 +663,7 @@ vi_kill_line_prev(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_search_prev(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_search_prev(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_search(el, ED_SEARCH_PREV_HISTORY);
@@ -681,7 +676,7 @@ vi_search_prev(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_search_next(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_search_next(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_search(el, ED_SEARCH_NEXT_HISTORY);
@@ -694,7 +689,7 @@ vi_search_next(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_repeat_search_next(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_repeat_search_next(EditLine *el, Int c __attribute__((__unused__)))
{
if (el->el_search.patlen == 0)
@@ -710,7 +705,7 @@ vi_repeat_search_next(EditLine *el, wint_t c __attribute__((__unused__)))
*/
/*ARGSUSED*/
protected el_action_t
-vi_repeat_search_prev(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_repeat_search_prev(EditLine *el, Int c __attribute__((__unused__)))
{
if (el->el_search.patlen == 0)
@@ -728,7 +723,7 @@ vi_repeat_search_prev(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_next_char(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_next_char(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_csearch(el, CHAR_FWD, -1, el->el_state.argument, 0);
}
@@ -740,7 +735,7 @@ vi_next_char(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_prev_char(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_prev_char(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_csearch(el, CHAR_BACK, -1, el->el_state.argument, 0);
}
@@ -752,7 +747,7 @@ vi_prev_char(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_to_next_char(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_to_next_char(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_csearch(el, CHAR_FWD, -1, el->el_state.argument, 1);
}
@@ -764,7 +759,7 @@ vi_to_next_char(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_to_prev_char(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_to_prev_char(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_csearch(el, CHAR_BACK, -1, el->el_state.argument, 1);
}
@@ -776,7 +771,7 @@ vi_to_prev_char(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_repeat_next_char(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_repeat_next_char(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_csearch(el, el->el_search.chadir, el->el_search.chacha,
@@ -790,7 +785,7 @@ vi_repeat_next_char(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_repeat_prev_char(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_repeat_prev_char(EditLine *el, Int c __attribute__((__unused__)))
{
el_action_t r;
int dir = el->el_search.chadir;
@@ -808,7 +803,7 @@ vi_repeat_prev_char(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_match(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_match(EditLine *el, Int c __attribute__((__unused__)))
{
const Char match_chars[] = STR("()[]{}");
Char *cp;
@@ -855,7 +850,7 @@ vi_match(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_undo_line(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_undo_line(EditLine *el, Int c __attribute__((__unused__)))
{
cv_undo(el);
@@ -869,7 +864,7 @@ vi_undo_line(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_to_column(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_to_column(EditLine *el, Int c __attribute__((__unused__)))
{
el->el_line.cursor = el->el_line.buffer;
@@ -883,7 +878,7 @@ vi_to_column(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_yank_end(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_yank_end(EditLine *el, Int c __attribute__((__unused__)))
{
cv_yank(el, el->el_line.cursor,
@@ -897,7 +892,7 @@ vi_yank_end(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_yank(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_yank(EditLine *el, Int c __attribute__((__unused__)))
{
return cv_action(el, YANK);
@@ -909,7 +904,7 @@ vi_yank(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_comment_out(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_comment_out(EditLine *el, Int c __attribute__((__unused__)))
{
el->el_line.cursor = el->el_line.buffer;
@@ -927,7 +922,7 @@ vi_comment_out(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_alias(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_alias(EditLine *el, Int c __attribute__((__unused__)))
{
char alias_name[3];
const char *alias_text;
@@ -953,7 +948,7 @@ vi_alias(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_to_history_line(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_to_history_line(EditLine *el, Int c __attribute__((__unused__)))
{
int sv_event_no = el->el_history.eventno;
el_action_t rval;
@@ -979,7 +974,7 @@ vi_to_history_line(EditLine *el, wint_t c __attribute__((__unused__)))
el->el_history.eventno = 1;
if (hist_get(el) == CC_ERROR)
return CC_ERROR;
- el->el_history.eventno = 1 + el->el_history.ev.num
+ el->el_history.eventno = 1 + el->el_history.ev.num
- el->el_state.argument;
if (el->el_history.eventno < 0) {
el->el_history.eventno = sv_event_no;
@@ -998,7 +993,7 @@ vi_to_history_line(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_histedit(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_histedit(EditLine *el, Int c __attribute__((__unused__)))
{
int fd;
pid_t pid;
@@ -1082,7 +1077,7 @@ error:
*/
protected el_action_t
/*ARGSUSED*/
-vi_history_word(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_history_word(EditLine *el, Int c __attribute__((__unused__)))
{
const Char *wp = HIST_FIRST(el);
const Char *wep, *wsp;
@@ -1132,7 +1127,7 @@ vi_history_word(EditLine *el, wint_t c __attribute__((__unused__)))
*/
protected el_action_t
/*ARGSUSED*/
-vi_redo(EditLine *el, wint_t c __attribute__((__unused__)))
+vi_redo(EditLine *el, Int c __attribute__((__unused__)))
{
c_redo_t *r = &el->el_chared.c_redo;