--- a/sh.decls.h
+++ b/sh.decls.h
@@ -52,6 +52,8 @@ extern	void		  done		(int) __attribute__((__noreturn__));
 extern	void		  xexit		(int) __attribute__((__noreturn__));
 #endif
 extern	int		  grabpgrp	(int, pid_t);
+extern	void		  st_save	(struct saved_state *, int, int, Char **, Char **);
+extern	void		  st_restore	(void *);
 
 /*
  * sh.dir.c
@@ -150,6 +152,7 @@ extern	void		  doend		(Char **, struct command *);
 extern	void		  doeval	(Char **, struct command *);
 extern	void		  doexit	(Char **, struct command *);
 extern	void		  doforeach	(Char **, struct command *);
+extern	void		  dofunction	(Char **, struct command *);
 extern	void		  doglob	(Char **, struct command *);
 extern	void		  dogoto	(Char **, struct command *);
 extern	void		  doif		(Char **, struct command *);
@@ -164,6 +167,7 @@ extern	void		  dohup		(Char **, struct command *);
 extern	void		  doonintr	(Char **, struct command *);
 extern	void		  doprintenv	(Char **, struct command *);
 extern	void		  dorepeat	(Char **, struct command *);
+extern	void		  doreturn	(Char **, struct command *);
 extern	void		  dofiletest	(Char **, struct command *);
 extern	void		  dosetenv	(Char **, struct command *);
 extern	void		  dosuspend	(Char **, struct command *);
