Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!cs.utexas.edu!uunet!acd4!mjb From: mjb@acd4.UUCP ( Mike Bryan ) Newsgroups: comp.unix.ultrix Subject: Ultrix 3.0 changed basename(1) Message-ID: <1989Aug25.144051.11467@acd4.UUCP> Date: 25 Aug 89 14:40:51 GMT Reply-To: mjb@acd4.UUCP ( Mike Bryan ) Organization: Applied Computing Devices, Inc., Terre Haute, IN Lines: 25 Arrgh! I just discovered a change to basename(1) in Ultrix 3.0. My apologies if this has been posted before, but I don't recall seeing any news about this. It seems basename() now does some limited regular expression handling. Therefore, the command "basename /vmunix .x" will produce "vmun", rather than the expected "vmunix". A workaround (the new required method?) is to say "basename /vmunix \\.x". Of course this was not documented in the release notes, although the manual page does mention the blurb about RE's (but not the incompatibility!!!). The problem comes about for us because we use basename in certain Makefile entries to strip out a ".c" if it is inadvertently left on for lint checks, as in "f=`basename $f .c`.c". Of course, if $f is now something like "coproc", we're hosed. Was this done just because it would be "useful/incompatible", or was it done to match some other flavor of Unix??? Excuse me while I go change 150 million Makefiles... -- Mike Bryan, Applied Computing Devices, 100 N Campus Dr, Terre Haute IN 47802 Phone: 812/232-6051 FAX: 812/231-5280 Home: 812/232-0815 UUCP: uunet!acd4!mjb ARPA: acd4!mjb@uunet.uu.net "Did you make mankind after we made you?" --- XTC, "Dear God"