-/* Copyright (c) 1980 Regents of the University of California */
-static char *sccsid = "@(#)ex_voper.c 4.2 %G%";
+/* Copyright (c) 1981 Regents of the University of California */
+static char *sccsid = "@(#)ex_voper.c 7.2 %G%";
#include "ex.h"
#include "ex_tty.h"
#include "ex_vis.h"
register line *addr;
line *odot;
static char lastFKND, lastFCHR;
- char d;
+ short d;
moveop = vmove, deleteop = vdelete;
wcursor = cursor;
* character.
*/
case 'r':
- vrep(cnt);
vmacchng(1);
+ vrep(cnt);
return;
default:
case '%':
vsave();
i = lmatchp((line *) 0);
+#ifdef TRACE
+ if (trace)
+ fprintf(trace, "after lmatchp in %, dot=%d, wdot=%d, dol=%d\n", lineno(dot), lineno(wdot), lineno(dol));
+#endif
getDOT();
forbid(!i);
if (opf != vmove)
case ']':
if (!vglobp)
forbid(getkey() != c);
- if (Xhadcnt)
- vsetsiz(Xcnt);
+ forbid (Xhadcnt);
vsave();
i = lbrack(c, opf);
getDOT();
forbid (c == 0);
wdot = getmark(c);
forbid (wdot == NOLINE);
- if (Xhadcnt)
- vsetsiz(Xcnt);
+ forbid (Xhadcnt);
vmoving = 0;
wcursor = d == '`' ? ncols[c - 'a'] : 0;
if (opf == vmove && (wdot != dot || (d == '`' && wcursor != cursor)))
*/
case '/':
case '?':
- if (Xhadcnt)
- vsetsiz(Xcnt);
+ forbid (Xhadcnt);
vsave();
ocurs = cursor;
odot = dot;