tcsh doesn't find commands that end with .exe

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Jun 14 19:03:00 GMT 2005


On Jun 13 20:12, Volker Quetschke wrote:
> >>>>tcsh doesn't find the program if the .exe extension is given.  whoami is
> >>>>only an example, this also happens to other programs.
> >>>>[...]
> And all lower case, (cygwin only). Try something like this:

Well, it seemed like a good idea way back when.  But I agree that it's
probably not quite contemporary anymore.

Try the below patch.  It removes the 'all lowercase' and it allows to enter
all tools with exe suffix.  If that's basically what you had in mind, I'll
send the patch upstream and create a new Cygwin tcsh release.


Corinna


--- sh.exec.c.ORIG	2005-06-14 11:04:07.603070900 +0200
+++ sh.exec.c	2005-06-14 11:17:34.750423000 +0200
@@ -771,10 +771,12 @@ dohash(vv, c)
 				  strcasecmp(&dp->d_name[ext], ".bat") == 0 ||
 				  strcasecmp(&dp->d_name[ext], ".com") == 0))
 		    {
-			dp->d_name[ext] = '\0';
 #if defined(__CYGWIN__)
-			strlwr((char *)item);
+			/* Also store the variation with extension. */
+			hashval = hashname(str2short(dp->d_name));
+			bis(hashval, i);
 #endif /* __CYGWIN__ */
+			dp->d_name[ext] = '\0';
 		    }
 	    }
 #endif /* _UWIN || __CYGWIN__ */
--- tw.parse.c.ORIG	2005-06-14 11:04:43.541850300 +0200
+++ tw.parse.c	2005-06-14 11:05:25.886023600 +0200
@@ -920,12 +920,7 @@ tw_collect_items(command, looking, exp_d
 		if ((ext > 0) && (strcasecmp((char *)&item[ext], ".exe") == 0 ||
 				  strcasecmp((char *)&item[ext], ".bat") == 0 ||
 				  strcasecmp((char *)&item[ext], ".com") == 0))
-		    {
-			item[ext] = '\0';
-#if defined(__CYGWIN__)
-			strlwr((char *)item);
-#endif /* __CYGWIN__ */
-		    }
+		    item[ext] = '\0';
 	    }
 #endif /* _UWIN || __CYGWIN__ */
 	    exec_check = flags & TW_EXEC_CHK;


-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          mailto:cygwin@cygwin.com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list