diff --git a/configure.in b/configure.in
index 42ef92659022a39e2e1877e32511ab9591ba1d8b..f78399a9606a4264af83ea727104317799e9e02a 100644
--- a/configure.in
+++ b/configure.in
@@ -1874,6 +1874,22 @@ else
 fi
 AC_SUBST(TERMCAP_LIB)
 
+# for libedit 2.6.7
+case "${host}" in
+  *-*-solaris2*)
+	AC_DEFINE(SUNOS)
+	;;
+esac
+
+LIBEDIT_LOBJECTS=""
+AC_CHECK_FUNC(strunvis, ,[LIBEDIT_LOBJECTS="$LIBEDIT_LOBJECTS unvis.o"])
+AC_CHECK_FUNC(strvis,   ,[LIBEDIT_LOBJECTS="$LIBEDIT_LOBJECTS vis.o"])
+AC_CHECK_FUNC(strlcpy,  ,[LIBEDIT_LOBJECTS="$LIBEDIT_LOBJECTS strlcpy.o"])
+AC_CHECK_FUNC(strlcat,  ,[LIBEDIT_LOBJECTS="$LIBEDIT_LOBJECTS strlcat.o"])
+AC_CHECK_FUNC(fgetln,   ,[LIBEDIT_LOBJECTS="$LIBEDIT_LOBJECTS fgetln.o"])
+AC_SUBST(LIBEDIT_LOBJECTS)
+enable_readline="yes"
+
 # End of readline/libedit stuff
 #########################################################################