diff --git a/src/buffer.c b/src/buffer.c
index 4f68882..184f09f 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -220,6 +220,9 @@
 # ifdef S_ISSOCK
 		      || S_ISSOCK(perm)
 # endif
+# ifdef OPEN_CHR_FILES
+		      || (S_ISCHR(perm) && is_dev_fd_file(curbuf->b_ffname))
+# endif
 		    ))
 		read_fifo = TRUE;
 	if (read_fifo)
diff --git a/src/fileio.c b/src/fileio.c
index 3c3d548..5e53fee 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -27,10 +27,6 @@
 /* Is there any system that doesn't have access()? */
 #define USE_MCH_ACCESS
 
-#if (defined(sun) || defined(__FreeBSD__)) && defined(S_ISCHR)
-# define OPEN_CHR_FILES
-static int is_dev_fd_file(char_u *fname);
-#endif
 #ifdef FEAT_MBYTE
 static char_u *next_fenc(char_u **pp);
 # ifdef FEAT_EVAL
@@ -2718,14 +2714,14 @@
     return OK;
 }
 
-#ifdef OPEN_CHR_FILES
+#if defined(OPEN_CHR_FILES) || defined(PROTO)
 /*
  * Returns TRUE if the file name argument is of the form "/dev/fd/\d\+",
  * which is the name of files used for process substitution output by
  * some shells on some operating systems, e.g., bash on SunOS.
  * Do not accept "/dev/fd/[012]", opening these may hang Vim.
  */
-    static int
+    int
 is_dev_fd_file(char_u *fname)
 {
     return (STRNCMP(fname, "/dev/fd/", 8) == 0
diff --git a/src/proto/fileio.pro b/src/proto/fileio.pro
index 748bf4c..30582d4 100644
--- a/src/proto/fileio.pro
+++ b/src/proto/fileio.pro
@@ -1,6 +1,7 @@
 /* fileio.c */
 void filemess(buf_T *buf, char_u *name, char_u *s, int attr);
 int readfile(char_u *fname, char_u *sfname, linenr_T from, linenr_T lines_to_skip, linenr_T lines_to_read, exarg_T *eap, int flags);
+int is_dev_fd_file(char_u *fname);
 int prep_exarg(exarg_T *eap, buf_T *buf);
 void set_file_options(int set_options, exarg_T *eap);
 void set_forced_fenc(exarg_T *eap);
diff --git a/src/version.c b/src/version.c
index 6486e6a..2f83270 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2229,
+/**/
     2228,
 /**/
     2227,
diff --git a/src/vim.h b/src/vim.h
index 88d4850..898ebb6 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -2485,4 +2485,8 @@
 #define FNE_INCL_BR	1	/* include [] in name */
 #define FNE_CHECK_START	2	/* check name starts with valid character */
 
+#if (defined(sun) || defined(__FreeBSD__)) && defined(S_ISCHR)
+# define OPEN_CHR_FILES
+#endif
+
 #endif /* VIM__H */
