diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index cf95f79..919bd41 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -1,40 +1,30 @@
 /* screen.c */
-void redraw_later(int type);
-void redraw_win_later(win_T *wp, int type);
-void redraw_later_clear(void);
-void redraw_all_later(int type);
-void redraw_curbuf_later(int type);
-void redraw_buf_later(buf_T *buf, int type);
-void redraw_buf_line_later(buf_T *buf, linenr_T lnum);
-void redraw_buf_and_status_later(buf_T *buf, int type);
-int redraw_asap(int type);
-void redraw_after_callback(int call_update_screen);
-void redrawWinline(win_T *wp, linenr_T lnum);
-void after_updating_screen(int may_resize_shell);
-void update_curbuf(int type);
-int update_screen(int type_arg);
 int conceal_cursor_line(win_T *wp);
 void conceal_check_cursor_line(void);
-void update_debug_sign(buf_T *buf, linenr_T lnum);
 int get_wcr_attr(win_T *wp);
-void updateWindow(win_T *wp);
+void win_draw_end(win_T *wp, int c1, int c2, int draw_margin, int row, int endrow, hlf_T hl);
+int compute_foldcolumn(win_T *wp, int col);
+void fill_foldcolumn(char_u *p, win_T *wp, int closed, linenr_T lnum);
 int screen_get_current_line_off(void);
+void reset_screen_attr(void);
 void screen_line(int row, int coloff, int endcol, int clear_width, int flags);
 void rl_mirror(char_u *str);
-void status_redraw_all(void);
-void status_redraw_curbuf(void);
-void redraw_statuslines(void);
-void win_redraw_last_status(frame_T *frp);
+void draw_vsep_win(win_T *wp, int row);
 void win_redr_status_matches(expand_T *xp, int num_matches, char_u **matches, int match, int showtail);
 int stl_connected(win_T *wp);
 int get_keymap_str(win_T *wp, char_u *fmt, char_u *buf, int len);
+void win_redr_custom(win_T *wp, int draw_ruler);
 void screen_putchar(int c, int row, int col, int attr);
 void screen_getbytes(int row, int col, char_u *bytes, int *attrp);
 void screen_puts(char_u *text, int row, int col, int attr);
 void screen_puts_len(char_u *text, int textlen, int row, int col, int attr);
+void start_search_hl(void);
+void end_search_hl(void);
 void screen_stop_highlight(void);
 void reset_cterm_colors(void);
+void screen_char(unsigned off, int row, int col);
 void screen_draw_rectangle(int row, int col, int height, int width, int invert);
+void space_to_screenline(int off, int attr);
 void screen_fill(int start_row, int end_row, int start_col, int end_col, int c1, int c2, int attr);
 void check_for_delay(int check_msg_scroll);
 int screen_valid(int doclear);
@@ -56,9 +46,10 @@
 void clearmode(void);
 void draw_tabline(void);
 void get_trans_bufname(buf_T *buf);
+int fillchar_status(int *attr, win_T *wp);
+int fillchar_vsep(int *attr);
 int redrawing(void);
 int messaging(void);
-void showruler(int always);
 void comp_col(void);
 int number_width(win_T *wp);
 int screen_screencol(void);
