remove FLOCK define
[unix-history] / usr / src / usr.bin / ex / ex_voper.c
index d6f0556..8cbc780 100644 (file)
@@ -1,5 +1,13 @@
-/* Copyright (c) 1980 Regents of the University of California */
-static char *sccsid = "@(#)ex_voper.c  6.1 %G%";
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved.  The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+#ifndef lint
+static char *sccsid = "@(#)ex_voper.c  7.5 (Berkeley) %G%";
+#endif not lint
+
 #include "ex.h"
 #include "ex_tty.h"
 #include "ex_vis.h"
 #include "ex.h"
 #include "ex_tty.h"
 #include "ex_vis.h"
@@ -30,7 +38,7 @@ operate(c, cnt)
        register line *addr;
        line *odot;
        static char lastFKND, lastFCHR;
        register line *addr;
        line *odot;
        static char lastFKND, lastFCHR;
-       char d;
+       short d;
 
        moveop = vmove, deleteop = vdelete;
        wcursor = cursor;
 
        moveop = vmove, deleteop = vdelete;
        wcursor = cursor;
@@ -153,7 +161,7 @@ nocount:
        case 'W':
        case 'w':
                wdkind = c & ' ';
        case 'W':
        case 'w':
                wdkind = c & ' ';
-               forbid(lfind(2, cnt, opf, 0) < 0);
+               forbid(lfind(2, cnt, opf, (line *) 0) < 0);
                vmoving = 0;
                break;
 
                vmoving = 0;
                break;
 
@@ -170,7 +178,7 @@ nocount:
        case 'e':
                wdkind = 1;
 ein:
        case 'e':
                wdkind = 1;
 ein:
-               forbid(lfind(3, cnt - 1, opf, 0) < 0);
+               forbid(lfind(3, cnt - 1, opf, (line *) 0) < 0);
                vmoving = 0;
                break;
 
                vmoving = 0;
                break;
 
@@ -215,6 +223,10 @@ ein:
        case '%':
                vsave();
                i = lmatchp((line *) 0);
        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)
                getDOT();
                forbid(!i);
                if (opf != vmove)
@@ -703,6 +715,7 @@ slerr:
        if (vreg && wdot == 0)
                wdot = dot;
        (*opf)(c);
        if (vreg && wdot == 0)
                wdot = dot;
        (*opf)(c);
+flusho();
        wdot = NOLINE;
 }
 
        wdot = NOLINE;
 }