Index: dln.c
===================================================================
RCS file: /cvs/ruby/src/ruby/dln.c,v
retrieving revision 1.61
diff -u -2 -p -d -r1.61 dln.c
--- dln.c	2 Feb 2004 10:01:57 -0000	1.61
+++ dln.c	2 Mar 2004 10:22:38 -0000
@@ -1674,4 +1674,7 @@ dln_find_1(fname, path, exe_flag)
     const char* mac_fullpath;
 #endif
+#ifdef DOSISH
+    int need_ext;
+#endif
 
     if (!fname) return fname;
@@ -1688,4 +1691,5 @@ dln_find_1(fname, path, exe_flag)
       return fname;
     if (exe_flag && strchr(fname, '\\')) return fname;
+    need_ext = exe_flag && !strchr(fname, '.');
 #endif
 
@@ -1756,5 +1760,9 @@ dln_find_1(fname, path, exe_flag)
 
 #ifndef __MACOS__
-	if (stat(fbuf, &st) == 0) {
+	if (
+#ifdef DOSISH
+	    !need_ext &&
+#endif
+	    stat(fbuf, &st) == 0) {
 	    if (exe_flag == 0) return fbuf;
 	    /* looking for executable */
