Hi tech@ --

The diff below removes unused defines and functions in mg.
I went through everything in def.h one by one, so hopefully this
removes everything unused.

OK?

~Brian

Index: def.h
===================================================================
RCS file: /cvs/src/usr.bin/mg/def.h,v
retrieving revision 1.146
diff -u -p -r1.146 def.h
--- def.h       8 May 2015 12:35:08 -0000       1.146
+++ def.h       3 Jun 2015 02:57:05 -0000
@@ -21,13 +21,13 @@ typedef int (*PF)(int, int);        /* generall
 #define NBUFN  NFILEN          /* Length, buffer name.          */
 #define NLINE  256             /* Length, line.                 */
 #define PBMODES 4              /* modes per buffer              */
-#define NKBDM  256             /* Length, keyboard macro.       */
 #define NPAT   80              /* Length, pattern.              */
 #define HUGE   1000            /* A rather large number.        */
 #define NSRCH  128             /* Undoable search commands.     */
 #define NXNAME 64              /* Length, extended command.     */
 #define NKNAME 20              /* Length, key names.            */
 #define NTIME  50              /* Length, timestamp string.     */
+
 /*
  * Universal.
  */
@@ -61,13 +61,6 @@ typedef int  (*PF)(int, int);        /* generall
 #define FIODIR 5               /* File is a directory           */
 
 /*
- * Directory I/O.
- */
-#define DIOSUC 0               /* Success.                      */
-#define DIOEOF 1               /* End of file.                  */
-#define DIOERR 2               /* Error.                        */
-
-/*
  * Display colors.
  */
 #define CNONE  0               /* Unknown color.                */
@@ -388,7 +381,6 @@ struct line *lalloc(int);
 int             lrealloc(struct line *, int);
 void            lfree(struct line *);
 void            lchange(int);
-int             linsert_str(const char *, int);
 int             linsert(int, int);
 int             lnewline_at(struct line *, int);
 int             lnewline(void);
@@ -408,7 +400,6 @@ int          yank(int, int);
 
 /* window.c X */
 struct mgwin   *new_window(struct buffer *);
-void            free_window(struct mgwin *);
 int             reposition(int, int);
 int             redraw(int, int);
 int             do_redraw(int, int, int);
@@ -654,7 +645,6 @@ int          executemacro(int, int);
 /* modes.c X */
 int             indentmode(int, int);
 int             fillmode(int, int);
-int             blinkparen(int, int);
 #ifdef NOTAB
 int             notabmode(int, int);
 #endif /* NOTAB */
Index: line.c
===================================================================
RCS file: /cvs/src/usr.bin/mg/line.c,v
retrieving revision 1.55
diff -u -p -r1.55 line.c
--- line.c      19 Mar 2015 21:22:15 -0000      1.55
+++ line.c      3 Jun 2015 02:57:05 -0000
@@ -131,100 +131,6 @@ lchange(int flag)
 }
 
 /*
- * Insert "n" bytes from "s" at the current location of dot.
- * In the easy case all that happens is the text is stored in the line.
- * In the hard case, the line has to be reallocated.  When the window list
- * is updated, take special care; I screwed it up once.  You always update
- * dot in the current window.  You update mark and a dot in another window
- * if it is greater than the place where you did the insert. Return TRUE
- * if all is well, and FALSE on errors.
- */
-int
-linsert_str(const char *s, int n)
-{
-       struct line     *lp1;
-       struct mgwin    *wp;
-       RSIZE    i;
-       int      doto, k;
-
-       if ((k = checkdirty(curbp)) != TRUE)
-               return (k);
-
-       if (curbp->b_flag & BFREADONLY) {
-               dobeep();
-               ewprintf("Buffer is read only");
-               return (FALSE);
-       }
-
-       if (!n)
-               return (TRUE);
-
-       lchange(WFFULL);
-
-       /* current line */
-       lp1 = curwp->w_dotp;
-
-       /* special case for the end */
-       if (lp1 == curbp->b_headp) {
-               struct line *lp2, *lp3;
-
-               /* now should only happen in empty buffer */
-               if (curwp->w_doto != 0)
-                       panic("bug: linsert_str");
-               /* allocate a new line */
-               if ((lp2 = lalloc(n)) == NULL)
-                       return (FALSE);
-               /* previous line */
-               lp3 = lp1->l_bp;
-               /* link in */
-               lp3->l_fp = lp2;
-               lp2->l_fp = lp1;
-               lp1->l_bp = lp2;
-               lp2->l_bp = lp3;
-               for (i = 0; i < n; ++i)
-                       lp2->l_text[i] = s[i];
-               for (wp = wheadp; wp != NULL; wp = wp->w_wndp) {
-                       if (wp->w_linep == lp1)
-                               wp->w_linep = lp2;
-                       if (wp->w_dotp == lp1)
-                               wp->w_dotp = lp2;
-                       if (wp->w_markp == lp1)
-                               wp->w_markp = lp2;
-               }
-               undo_add_insert(lp2, 0, n);
-               curwp->w_doto = n;
-               return (TRUE);
-       }
-       /* save for later */
-       doto = curwp->w_doto;
-
-       if ((lp1->l_used + n) > lp1->l_size) {
-               if (lrealloc(lp1, lp1->l_used + n) == FALSE)
-                       return (FALSE);
-       }
-       lp1->l_used += n;
-       if (lp1->l_used != n)
-               memmove(&lp1->l_text[doto + n], &lp1->l_text[doto],
-                   lp1->l_used - n - doto);
-
-       /* Add the characters */
-       for (i = 0; i < n; ++i)
-               lp1->l_text[doto + i] = s[i];
-       for (wp = wheadp; wp != NULL; wp = wp->w_wndp) {
-               if (wp->w_dotp == lp1) {
-                       if (wp == curwp || wp->w_doto > doto)
-                               wp->w_doto += n;
-               }
-               if (wp->w_markp == lp1) {
-                       if (wp->w_marko > doto)
-                               wp->w_marko += n;
-               }
-       }
-       undo_add_insert(curwp->w_dotp, doto, n);
-       return (TRUE);
-}
-
-/*
  * Insert "n" copies of the character "c" at the current location of dot.
  * In the easy case all that happens is the text is stored in the line.
  * In the hard case, the line has to be reallocated.  When the window list
Index: match.c
===================================================================
RCS file: /cvs/src/usr.bin/mg/match.c,v
retrieving revision 1.18
diff -u -p -r1.18 match.c
--- match.c     19 Mar 2015 21:22:15 -0000      1.18
+++ match.c     3 Jun 2015 02:57:05 -0000
@@ -81,8 +81,7 @@ balance(void)
 
        /*
         * Move behind the inserted character.  We are always guaranteed
-        * that there is at least one character on the line, since one was
-        * just self-inserted by blinkparen.
+        * that there is at least one character on the line.
         */
        clp = curwp->w_dotp;
        cbo = curwp->w_doto - 1;

Reply via email to