xterm-03.patch.txt

xterm - 1996/1/7 - patch #3 - T.Dickey
 
This is my third (and final cleanup) patch for xterm.  It gets rid of the
unused stuff, and converts several functions to static (thereby reducing their
scope).
 
At this point, the only compile warnings I've got (on Linux) are those about
the select arguments (int vs fd_set type), and a missing declaration for
waitpid.  Those both are hard to get right without autoconfigure.
 
The next patches will address the functional changes...
 
        Tekproc.c:
                + changed several functions to 'static' that aren't used
                  outside this module -- changes object
 
        charproc.c:
                + changed several functions to 'static' that aren't used
                  outside this module -- changes object
 
                + deleted unused function unparsefputs -- changes object.
 
        main.c:
                + changed several functions to 'static' that aren't used
                  outside this module -- changes object
 
                + ifdef'd out unused function 'consolepr()' -- changes object
 
                + removed unused variable 'dummy_tio' -- changes object
 
                + moved variable 'discipline' to quiet unused-warning -- changes
                  object
 
        main.h:
                + deleted unused definition of DEFBORDERWIDTH - n/c
 
        misc.c:
                + changed several functions to 'static' that aren't used
                  outside this module -- changes object
 
                + provide dummy return statements for xerror and xioerror to
                  quiet compiler warnings -- changes object
 
        ptyx.h:
                + change sbuf_address and abuf_address to 'Char *' - n/c
 
        resize.c:
                + changed several functions to 'static' that aren't used
                  outside this module -- changes object
 
        screen.c:
                + remove unnecessary 'Char **' casts - n/c
 
        util.c:
                + changed several functions to 'static' that aren't used
                  outside this module -- changes object
 
--------------------------------------------------------------------------------
 Tekproc.c  |   36 ++++++++++++++++-----------------
 charproc.c |   58 +++++++++++++++++++++--------------------------------
 main.c     |   64 +++++++++++++++++++++++++++--------------------------------
 main.h     |    1 
 misc.c     |   26 ++++++++++++-----------
 ptyx.h     |    4 +--
 resize.c   |   30 ++++++++++++++++-----------
 screen.c   |    4 +--
 util.c     |    8 +++----
 xterm.h    |    5 ----
 10 files changed, 111 insertions, 125 deletions
--------------------------------------------------------------------------------
Index: Tekproc.c
--- xterm-original/Tekproc.c    Sun Jan  7 11:04:36 1996
+++ xterm-patched/Tekproc.c     Sun Jan  7 13:15:02 1996
@@ -291,22 +291,21 @@
        XtRString, GIN_TERM_NONE_STR},
 };
 
-extern void TCursorBack PROTO((void));
-extern void TCursorDown PROTO((void));
-extern void TCursorForward PROTO((void));
-extern void TCursorUp PROTO((void));
-extern void TekBackground PROTO((TScreen *screen));
-extern void TekDraw PROTO((int x, int y));
-extern void TekExpose PROTO((Widget w, XEvent *event, Region region));
-extern void TekFlush PROTO((void));
-extern void TekPage PROTO((void));
 static TekWidget CreateTekWidget PROTO((void));
 static int Tinput PROTO((void));
 static int getpoint PROTO((void));
 static void AddToDraw PROTO((int x1, int y1, int x2, int y2));
+static void TCursorBack PROTO((void));
+static void TCursorDown PROTO((void));
+static void TCursorForward PROTO((void));
+static void TCursorUp PROTO((void));
+static void TekBackground PROTO((TScreen *screen));
 static void TekConfigure PROTO((Widget w));
+static void TekDraw PROTO((int x, int y));
 static void TekEnq PROTO((int status, int x, int y));
+static void TekFlush PROTO((void));
 static void TekInitialize PROTO((Widget request, Widget new, ArgList args, Cardinal *num_args));
+static void TekPage PROTO((void));
 static void TekRealize PROTO((Widget gw, XtValueMask *valuemaskp, XSetWindowAttributes *values));
 static void Tekparse PROTO((void));
 
@@ -848,7 +847,8 @@
 }
 
 /*ARGSUSED*/
-void TekExpose(w, event, region)
+void
+TekExpose(w, event, region)
     Widget w;
     XEvent *event;
     Region region;
@@ -898,7 +898,7 @@
         (screen->TekGIN && GINcursor) ? GINcursor : screen->arrow);
 }
 
-void
+static void
 TekPage()
 {
        register TScreen *screen = &term->screen;
@@ -982,7 +982,7 @@
        }
 }
 
-void
+static void
 TCursorBack()
 {
        register TScreen *screen = &term->screen;
@@ -1005,7 +1005,7 @@
        }
 }
 
-void
+static void
 TCursorForward()
 {
        register TScreen *screen = &term->screen;
@@ -1025,7 +1025,7 @@
        }
 }
 
-void
+static void
 TCursorUp()
 {
        register TScreen *screen = &term->screen;
@@ -1045,7 +1045,7 @@
        screen->cur_Y = l * t->vsize;
 }
 
-void
+static void
 TCursorDown()
 {
        register TScreen *screen = &term->screen;
@@ -1085,7 +1085,7 @@
        nplot++;
 }
 
-void
+static void
 TekDraw (x, y)
     int x, y;
 {
@@ -1105,7 +1105,7 @@
        T_lasty = screen->cur_Y = y;
 }
 
-void
+static void
 TekFlush ()
 {
        register TScreen *screen = &term->screen;
@@ -1631,7 +1631,7 @@
        TekBackground(screen);
 }
 
-void
+static void
 TekBackground(screen)
 register TScreen *screen;
 {
Index: charproc.c
--- xterm-original/charproc.c   Sun Jan  7 10:55:38 1996
+++ xterm-patched/charproc.c    Sun Jan  7 13:27:46 1996
@@ -117,18 +117,10 @@
 extern Widget toplevel;
 extern char *ProgramName;
 
-extern int LoadNewFont PROTO((TScreen *screen, char *nfontname, char *bfontname, Bool doresize, int fontnum));
-extern int in_put PROTO((void));
-extern int set_character_class PROTO((char *s));
-extern void ansi_modes PROTO((XtermWidget termw, void (*func)(unsigned *p, int mask)));
-extern void dpmodes PROTO((XtermWidget termw, void (*func)(unsigned *p, int mask)));
-extern void restoremodes PROTO((XtermWidget termw));
-extern void savemodes PROTO((XtermWidget termw));
-extern void set_vt_box PROTO((TScreen *screen));
-extern void unparsefputs PROTO((char *s, int fd));
-extern void unparseputn PROTO((unsigned int n, int fd));
-
+static int LoadNewFont PROTO((TScreen *screen, char *nfontname, char *bfontname, Bool doresize, int fontnum));
 static int finput PROTO((void));
+static int in_put PROTO((void));
+static int set_character_class PROTO((char *s));
 static void DoSetSelectedFont PROTO_XT_SEL_CB_ARGS;
 static void FromAlternate PROTO((TScreen *screen));
 static void SwitchBufs PROTO((TScreen *screen));
@@ -138,9 +130,15 @@
 static void VTallocbuf PROTO((void));
 static void VTparse PROTO((void));
 static void WriteText PROTO(( TScreen *screen, char *str, int len, unsigned flags, unsigned fg, unsigned bg));
+static void ansi_modes PROTO((XtermWidget termw, void (*func)(unsigned *p, int mask)));
 static void bitclr PROTO((unsigned *p, int mask));
 static void bitset PROTO((unsigned *p, int mask));
 static void dotext PROTO((TScreen *screen, unsigned flags, int charset, char *buf, char *ptr, unsigned fg, unsigned bg));
+static void dpmodes PROTO((XtermWidget termw, void (*func)(unsigned *p, int mask)));
+static void restoremodes PROTO((XtermWidget termw));
+static void savemodes PROTO((XtermWidget termw));
+static void set_vt_box PROTO((TScreen *screen));
+static void unparseputn PROTO((unsigned int n, int fd));
 static void update_font_info PROTO((TScreen *screen, Bool doresize));
     
 #define        DEFAULT         -1
@@ -285,10 +283,10 @@
 extern int scstable[];
 
 /* event handlers */
-extern void HandleSetFont PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
 static void HandleBell PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
 static void HandleIgnore PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
 static void HandleKeymapChange PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
+static void HandleSetFont PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
 static void HandleVisualBell PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
 
 /*
@@ -300,7 +298,6 @@
 /* Defaults */
 static  Boolean        defaultFALSE       = FALSE;
 static  Boolean        defaultTRUE        = TRUE;
-static  int    defaultBorderWidth = DEFBORDERWIDTH;
 static  int    defaultIntBorder   = DEFBORDER;
 static  int    defaultSaveLines   = SAVELINES;
 static int     defaultScrollLines = SCROLLLINES;
@@ -1523,7 +1520,7 @@
 static int write_mask;
 static int pty_read_bytes;
 
-int
+static int
 in_put()
 {
     register TScreen *screen = &term->screen;
@@ -1813,7 +1810,7 @@
 /*
  * process ANSI modes set, reset
  */
-void
+static void
 ansi_modes(termw, func)
     XtermWidget        termw;
     void (*func) PROTO((unsigned *p, int mask));
@@ -1837,7 +1834,7 @@
 /*
  * process DEC private modes set, reset
  */
-void
+static void
 dpmodes(termw, func)
     XtermWidget        termw;
     void (*func) PROTO((unsigned *p, int mask));
@@ -2001,7 +1998,7 @@
 /*
  * process xterm private modes save
  */
-void
+static void
 savemodes(termw)
     XtermWidget termw;
 {
@@ -2068,7 +2065,7 @@
 /*
  * process xterm private modes restore
  */
-void
+static void
 restoremodes(termw)
     XtermWidget termw;
 {
@@ -2251,7 +2248,7 @@
        }
 }
 
-void
+static void
 unparseputn(n, fd)
 unsigned int   n;
 int fd;
@@ -2282,16 +2279,6 @@
        v_write(fd, buf, i);
 }
 
-void
-unparsefputs (s, fd)
-    register char *s;
-    int fd;
-{
-    if (s) {
-       while (*s) unparseputc (*s++, fd);
-    }
-}
-
 static void
 ToAlternate(screen)
     register TScreen *screen;
@@ -3238,8 +3225,8 @@
  * 
  * and sets the indicated ranges to the indicated values.
  */
-
-int set_character_class (s)
+static int
+set_character_class (s)
     register char *s;
 {
     register int i;                    /* iterator, index into s */
@@ -3468,7 +3455,8 @@
 
 
 /* ARGSUSED */
-void HandleSetFont(w, event, params, param_count)
+static void
+HandleSetFont(w, event, params, param_count)
     Widget w;
     XEvent *event;             /* unused */
     String *params;            /* unused */
@@ -3545,8 +3533,8 @@
     return;
 }
 
-
-int LoadNewFont (screen, nfontname, bfontname, doresize, fontnum)
+static int
+LoadNewFont (screen, nfontname, bfontname, doresize, fontnum)
     TScreen *screen;
     char *nfontname, *bfontname;
     Bool doresize;
@@ -3694,7 +3682,7 @@
     set_vt_box (screen);
 }
 
-void
+static void
 set_vt_box (screen)
        TScreen *screen;
 {
Index: main.c
--- xterm-original/main.c       Sun Jan  7 11:39:35 1996
+++ xterm-patched/main.c        Sun Jan  7 13:13:07 1996
@@ -458,27 +458,19 @@
 
 int switchfb[] = {0, 2, 1, 3};
 
-extern char *base_name PROTO((char *name));
-extern int TekInit PROTO((void));
-extern int VTInit PROTO((void));
-extern int pty_search PROTO((int *pty));
-extern int remove_termcap_entry PROTO((char *buf, char *str));
-extern int spawn PROTO((void));
 extern int tgetent PROTO((char *ptr, char *name));
-extern void Cleanup PROTO((int code));
-extern void DeleteWindow PROTO_XT_ACTIONS_ARGS;
-extern void HsSysError PROTO((int pf, int error));
-extern void KeyboardMapping PROTO_XT_ACTIONS_ARGS;
-extern void Setenv PROTO((char *var, char *value));
-extern void SysError PROTO((int i));
-extern void TekRun PROTO((void));
-extern void VTRun PROTO((void));
-extern void get_terminal PROTO((void));
-extern void hide_tek_window PROTO((void));
-extern void hide_vt_window PROTO((void));
-extern void resize PROTO((TScreen *s, char *n, char *oldtc, char *newtc));
+
+static char *base_name PROTO((char *name));
+static int pty_search PROTO((int *pty));
+static int remove_termcap_entry PROTO((char *buf, char *str));
+static int spawn PROTO((void));
+static void DeleteWindow PROTO_XT_ACTIONS_ARGS;
 static void Help PROTO((void));
+static void HsSysError PROTO((int pf, int error));
+static void KeyboardMapping PROTO_XT_ACTIONS_ARGS;
 static void Syntax PROTO((char *badOption));
+static void get_terminal PROTO((void));
+static void resize PROTO((TScreen *s, char *n, char *oldtc, char *newtc));
 
 static SIGNAL_T reapchild PROTO((int n));
 
@@ -657,8 +649,8 @@
 static char passedPty[2];      /* name if pty if slave */
 
 #ifndef AMOEBA
-extern int get_pty PROTO((int *pty));
-extern SIGNAL_T hungtty PROTO((int i));
+static int get_pty PROTO((int *pty));
+static SIGNAL_T hungtty PROTO((int i));
 #endif
 
 #if defined(TIOCCONS) || defined(SRIOCSREDIR)
@@ -994,7 +986,7 @@
  * DeleteWindow(): Action proc to implement ICCCM delete_window.
  */
 /* ARGSUSED */
-void
+static void
 DeleteWindow(w, event, params, num_params)
     Widget w;
     XEvent *event;
@@ -1014,7 +1006,7 @@
 }
 
 /* ARGSUSED */
-void
+static void
 KeyboardMapping(w, event, params, num_params)
     Widget w;
     XEvent *event;
@@ -1624,7 +1616,8 @@
        }
 }
 
-char *base_name(name)
+static char *
+base_name(name)
 char *name;
 {
        register char *cp;
@@ -1641,7 +1634,7 @@
  * has problems, we can re-enter this function and get another one.
  */
 
-int
+static int
 get_pty (pty)
     int *pty;
 {
@@ -1752,7 +1745,8 @@
  * a functional interface for allocating a pty.
  * Returns 0 if found a pty, 1 if fails.
  */
-int pty_search(pty)
+static int
+pty_search(pty)
     int *pty;
 {
     static int devindex, letter = 0;
@@ -1807,7 +1801,7 @@
 }
 #endif /* AMOEBA */
 
-void
+static void
 get_terminal ()
 /* 
  * sets up X and initializes the terminal structure except for term.buf.fildes.
@@ -1863,7 +1857,7 @@
 };
 
 /* ARGSUSED */
-SIGNAL_T hungtty(i)
+static SIGNAL_T hungtty(i)
        int i;
 {
        longjmp(env, 1);
@@ -1906,7 +1900,7 @@
  * user can see it.
  */
 
-void
+static void
 HsSysError(pf, error)
 int pf;
 int error;
@@ -1957,7 +1951,7 @@
 #ifndef AMOEBA
 extern char **environ;
 
-int
+static int
 spawn ()
 /* 
  *  Inits pty and tty and forks a login process.
@@ -1973,11 +1967,9 @@
        int fds[2];
 #endif
        int tty = -1;
-       int discipline;
        int done;
 #ifdef USE_SYSV_TERMIO
        struct termio tio;
-       struct termio dummy_tio;
 #ifdef TIOCLSET
        unsigned lmode;
 #endif /* TIOCLSET */
@@ -1986,6 +1978,7 @@
 #endif /* TIOCSLTC */
 #else  /* else not USE_SYSV_TERMIO */
        int ldisc = 0;
+       int discipline;
        unsigned lmode;
        struct tchars tc;
        struct ltchars ltc;
@@ -3346,7 +3339,7 @@
 /*
  * Spawn off tty threads and fork the login process.
  */
-spawn()
+static int spawn()
 {
     register TScreen *screen = &term->screen;
     char *TermName = NULL;
@@ -3576,6 +3569,7 @@
     signal(SIGQUIT, SIG_IGN);
     signal(SIGTERM, SIG_IGN);
     signal(SIGPIPE, Exit);
+    return 0;
 }
 
 /*
@@ -3732,7 +3726,7 @@
 }
 
 /* ARGSUSED */
-void
+static void
 resize(screen, TermName, oldtc, newtc)
 TScreen *screen;
 char *TermName;
@@ -3828,6 +3822,7 @@
     SIGNAL_RETURN;
 }
 
+#if 0  /* this isn't used, but could be useful in debugging */
 /* VARARGS1 */
 void
 consolepr(fmt,x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)
@@ -3857,8 +3852,9 @@
        }
 #endif /* TIOCNOTTY */
 }
+#endif
 
-int
+static int
 remove_termcap_entry (buf, str)
     char *buf;
     char *str;
Index: main.h
--- xterm-original/main.h       Wed Apr 27 03:12:30 1994
+++ xterm-patched/main.h        Sun Jan  7 12:50:12 1996
@@ -28,4 +28,3 @@
 #define        DEFFONT                 "fixed"
 #define        DEFBOLDFONT             NULL    /* no bold font uses overstriking */
 #define        DEFBORDER               2
-#define        DEFBORDERWIDTH          2
Index: misc.c
--- xterm-original/misc.c       Sun Jan  7 11:28:52 1996
+++ xterm-patched/misc.c        Sun Jan  7 13:15:20 1996
@@ -70,15 +70,15 @@
 extern XtermWidget term;
 extern Widget toplevel;                /* used in 'ChangeGroup()' */
 
-extern Boolean AllocateColor PROTO((XtermWidget pTerm, ScrnColors *pNew, int ndx, char *name));
-extern Boolean ChangeColorsRequest PROTO((XtermWidget pTerm, int start, char *names));
-extern Boolean GetOldColors PROTO(( XtermWidget pTerm));
-extern Boolean UpdateOldColors PROTO((XtermWidget pTerm, ScrnColors *pNew));
-extern void selectwindow PROTO((TScreen *screen, int flag));
-extern void unselectwindow PROTO((TScreen *screen, int flag));
+static Boolean AllocateColor PROTO((XtermWidget pTerm, ScrnColors *pNew, int ndx, char *name));
+static Boolean ChangeColorsRequest PROTO((XtermWidget pTerm, int start, char *names));
+static Boolean GetOldColors PROTO(( XtermWidget pTerm));
+static Boolean UpdateOldColors PROTO((XtermWidget pTerm, ScrnColors *pNew));
 static void ChangeGroup PROTO((String attribute, XtArgVal value));
 static void DoSpecialEnterNotify PROTO((XEnterWindowEvent *ev));
 static void DoSpecialLeaveNotify PROTO((XEnterWindowEvent *ev));
+static void selectwindow PROTO((TScreen *screen, int flag));
+static void unselectwindow PROTO((TScreen *screen, int flag));
 static void withdraw_window PROTO((Display *dpy, Window w, int scr));
 
 void
@@ -285,7 +285,7 @@
 }
 
 
-void
+static void
 selectwindow(screen, flag)
 register TScreen *screen;
 register int flag;
@@ -313,7 +313,7 @@
        }
 }
 
-void
+static void
 unselectwindow(screen, flag)
 register TScreen *screen;
 register int flag;
@@ -792,7 +792,7 @@
 
 ScrnColors     *pOldColors= NULL;
 
-Boolean
+static Boolean
 GetOldColors(pTerm)
 XtermWidget    pTerm;
 {
@@ -813,7 +813,7 @@
     return(TRUE);
 }
 
-Boolean
+static Boolean
 UpdateOldColors(pTerm,pNew)
 XtermWidget    pTerm;
 ScrnColors     *pNew;
@@ -893,7 +893,7 @@
     return;
 }
 
-Boolean
+static Boolean
 AllocateColor(pTerm,pNew,ndx,name)
 XtermWidget     pTerm;
 ScrnColors     *pNew;
@@ -918,7 +918,7 @@
     return(FALSE);
 }
 
-Boolean
+static Boolean
 ChangeColorsRequest(pTerm,start,names)
 XtermWidget    pTerm;
 int            start;
@@ -1104,6 +1104,7 @@
     fprintf (stderr, "%s:  warning, error event receieved:\n", xterm_name);
     (void) XmuPrintDefaultErrorMessage (d, ev, stderr);
     Exit (ERROR_XERROR);
+    return 0;  /* appease the compiler */
 }
 
 /*ARGSUSED*/
@@ -1117,6 +1118,7 @@
                    DisplayString (dpy));
 
     Exit(ERROR_XIOERROR);
+    return 0;  /* appease the compiler */
 }
 
 extern char *ProgramName;
Index: ptyx.h
--- xterm-original/ptyx.h       Sat Jan  6 17:01:24 1996
+++ xterm-patched/ptyx.h        Sun Jan  7 13:42:17 1996
@@ -348,9 +348,9 @@
        ScrnBuf         buf;            /* ptr to visible screen buf (main) */
        ScrnBuf         allbuf;         /* screen buffer (may include
                                           lines scrolled off top)      */
-       char            *sbuf_address;  /* main screen memory address   */
+       Char            *sbuf_address;  /* main screen memory address   */
        ScrnBuf         altbuf;         /* alternate screen buffer      */
-       char            *abuf_address;  /* alternate screen memory address */
+       Char            *abuf_address;  /* alternate screen memory address */
        Boolean         alternate;      /* true if using alternate buf  */
        unsigned short  do_wrap;        /* true if cursor in last column
                                            and character just output    */
Index: resize.c
--- xterm-original/resize.c     Sun Jan  7 11:29:32 1996
+++ xterm-patched/resize.c      Sun Jan  7 13:18:46 1996
@@ -203,12 +203,15 @@
 
 extern int main PROTO((int argc, char **argv));
 
-extern SIGNAL_T onintr PROTO((int sig));
-extern SIGNAL_T timeout PROTO((int sig));
-extern char *strindex PROTO((char *s1, char *s2));
-extern int checkdigits PROTO((char *str));
-extern void Usage PROTO((void));
-extern void readstring PROTO((FILE *fp, char *buf, char *str));
+static SIGNAL_T onintr PROTO((int sig));
+static SIGNAL_T timeout PROTO((int sig));
+static int checkdigits PROTO((char *str));
+static void Usage PROTO((void));
+static void readstring PROTO((FILE *fp, char *buf, char *str));
+
+#ifdef USE_TERMCAP
+static char *strindex PROTO((char *s1, char *s2));
+#endif
 
 /*
    resets termcap string to reflect current screen size
@@ -479,7 +482,9 @@
        exit(0);
 }
 
-char *strindex (s1, s2)
+#ifdef USE_TERMCAP
+static char *
+strindex (s1, s2)
 /*
    returns a pointer to the first occurrence of s2 in s1, or NULL if there are
    none.
@@ -496,8 +501,9 @@
        }
        return (NULL);
 }
+#endif
 
-int
+static int
 checkdigits(str)
 register char *str;
 {
@@ -509,7 +515,7 @@
        return(1);
 }
 
-void
+static void
 readstring(fp, buf, str)
     register FILE *fp;
     register char *buf;
@@ -550,7 +556,7 @@
        *buf = 0;
 }
 
-void
+static void
 Usage()
 {
        fprintf(stderr, strcmp(myname, sunname) == 0 ?
@@ -559,7 +565,7 @@
        exit(1);
 }
 
-SIGNAL_T
+static SIGNAL_T
 timeout(sig)
     int sig;
 {
@@ -568,7 +574,7 @@
 }
 
 /* ARGSUSED */
-SIGNAL_T
+static SIGNAL_T
 onintr(sig)
     int sig;
 {
Index: screen.c
--- xterm-original/screen.c     Sun Jan  7 11:33:54 1996
+++ xterm-patched/screen.c      Sun Jan  7 13:42:22 1996
@@ -618,10 +618,10 @@
                    /* swap buffer pointers back to make all this hair work */
                    SwitchBufPtrs(screen);
                if (screen->altbuf) 
-                   (void) Reallocate(&screen->altbuf, (Char **)&screen->abuf_address,
+                   (void) Reallocate(&screen->altbuf, &screen->abuf_address,
                         rows, cols, screen->max_row + 1, screen->max_col + 1);
                move_down_by = Reallocate(&screen->allbuf,
-                                         (Char **)&screen->sbuf_address,
+                                         &screen->sbuf_address,
                                          rows + savelines, cols,
                                          screen->max_row + 1 + savelines,
                                          screen->max_col + 1);
Index: util.c
--- xterm-original/util.c       Sun Jan  7 12:22:30 1996
+++ xterm-patched/util.c        Sun Jan  7 13:09:38 1996
@@ -39,8 +39,8 @@
 
 extern Bool waiting_for_initial_map;
 
-extern int handle_translated_exposure PROTO((TScreen *screen, int rect_x, int rect_y, unsigned int rect_width, unsigned int rect_height));
-extern void CopyWait PROTO((TScreen *screen));
+static int handle_translated_exposure PROTO((TScreen *screen, int rect_x, int rect_y, unsigned int rect_width, unsigned int rect_height));
+static void CopyWait PROTO((TScreen *screen));
 static void copy_area PROTO((TScreen *screen, int src_x, int src_y, unsigned int width, unsigned int height, int dest_x, int dest_y));
 static void horizontal_copy_area PROTO((TScreen *screen, int firstchar, int nchars, int amount));
 static void vertical_copy_area PROTO((TScreen *screen, int firstline, int nlines, int amount));
@@ -737,7 +737,7 @@
        ClearBufRows (screen, 0, screen->max_row);
 }
 
-void
+static void
 CopyWait(screen)
 register TScreen *screen;
 {
@@ -910,7 +910,7 @@
  * have been translated to allow for any CopyArea in progress.
  * The rectangle passed in is pixel coordinates.
  */
-int
+static int
 handle_translated_exposure (screen, rect_x, rect_y, rect_width, rect_height)
     register TScreen *screen;
     register int rect_x, rect_y;
Index: xterm.h
--- xterm-original/xterm.h      Sun Jan  7 12:04:56 1996
+++ xterm-patched/xterm.h       Sun Jan  7 13:12:43 1996
@@ -79,11 +79,6 @@
 extern int kill_process_group PROTO((int pid, int sig));
 extern int nonblocking_wait PROTO((void));
 extern void first_map_occurred PROTO((void));
-extern void get_terminal PROTO((void));
-
-#ifndef AMOEBA
-extern int spawn PROTO((void));
-#endif
 
 #ifdef SIGNAL_T
 extern SIGNAL_T Exit PROTO((int n));