bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

basename function in 4.3 cygwin


From: Ronald Hoogenboom
Subject: basename function in 4.3 cygwin
Date: Fri, 21 May 2021 08:31:13 +0000

Hi,

 

I have noticed a nasty difference in behavior between 4.3 and 3.81 versions of gnu-make in cygwin.

I have checked and confirmed that this doesn’t occur in the gnu-linux version of make.

 

The difference happens when a suffix contains one or more backslashes. This is sometimes needed to escape special behavior of meta characters in the shell. The basename function in 3.81 would return everything up to the last period like documented in the info file, but the basename function in 4.3 apparently considers the backslash in the suffix as a path separator (I guess...).

 

I did find a workaround to emulate the old behavior:

  $(foreach x,$(INPUT),$(firstword $(subst ., ,$x)))

returns what

  $(basename $(INPUT))

used to return.

 

I’m not sure if this qualifies as a bug per-se, but it is a nasty difference in behavior anyway. At least this should be documented in the info file.

 

Ronald.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]