make-alpha
[Top][All Lists]
Advanced

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

Re: New escape method proposal (was: Re: Possible solution for special c


From: Eli Zaretskii
Subject: Re: New escape method proposal (was: Re: Possible solution for special characters in makefile paths)
Date: Mon, 10 Mar 2014 19:15:15 +0200

> From: Paul Smith <address@hidden>
> Date: Sun, 09 Mar 2014 20:10:15 -0400
> 
> In addition, the following would automatically be encoded by make:
>       * The results of the $(wildcard ...) function
>       * Any goal targets provided on the make command line

"Encoded" or "quoted"?  It sounds like you use these two
interchangeably, which is slightly confusing, since the former refers
to internal storage (a subject which you suggested to leave aside).

> Environment variables which are special to make (MAKEFLAGS) could be
> treated as pre-encoded, and when generated for sub-make invocation they
> could be left encoded when placed into the environment, so that the
> quoting can be preserved (this might need a bit of experimentation).

This would require Make to be able to handle both encoded and
un-encoded strings in environment variables, something I find to be a
disadvantage.  More importantly, it opens a Pandora box whereby
internal representation leaks into the outside world, which I think we
should avoid at all costs.

> Encoded characters would not be considered to match the un-encoded
> characters for the purposes of $(subst ...) etc.  So for example, given
> this makefile:
> 
>    FOO = $[foo::bar]::baz
> 
>    X := $(subst   :,  -, $(FOO))
>    Y := $(subst $[:], -, $(FOO))
> 
> $X will give "foo::bar--baz", and $Y will give "foo--bar::baz".

Can you explain why this is needed?  It sounds complicated and
confusing.

>      C. Will require some extra functions created for the C and Guile
>         APIs so they can interact with encoded strings and decode them
>         appropriately.

Aren't those the same (as yet undisclosed) functions we will need for
outputting the strings?



reply via email to

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