bug-make
[Top][All Lists]
Advanced

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

Re: Some useful primitives: escape (and quoting variables), lastwords (f


From: Garreau\, Alexandre
Subject: Re: Some useful primitives: escape (and quoting variables), lastwords (for recursivity)… and files with spaces in them?
Date: Mon, 21 May 2018 18:13:13 +0200
User-agent: Gnus (5.13), GNU Emacs 25.1.1 (x86_64-pc-linux-gnu)

On 2018-05-21 at 11:16, Paul Smith wrote:
> On Mon, 2018-05-21 at 08:12 +0200, Garreau, Alexandre wrote:
>> Also I was wondering… would there be some possible mechanism so that
>> a filename with spaces in it might be appropriatedly treated by
>> implicit rules? or is it intrinsic to, say, automatic variables
>> splitting with spaces?
>
> There was a long discussion here a few years ago about a new
> capability for handling special characters in filenames possible, and
> I have a partial implementation that was not completed, of a possible
> way to do this.

Really? What possible way? IFS like shell? hardcoded list data structure
on which primitives would operate?

> Until something drastic changes in GNU make it's simply not feasible to
> work with whitespace-containing pathnames.  It's best to simply avoid
> them, rather than spending huge amounts of effort to try to make them
> work.

Mmmh, is it so radical? I mean, okay I’d see how, for instance, NUL
couldn’t be used if it’s like bash and still used as a string terminator
instead of some length attribute, and I understand you can’t splice
properly automatic variables values that contain several files, or
wildcards make functions, etc… but can’t you manage to use the shell to
quote the file names you get, and quote individual file names as I
proposed with my functions?

Also what I’d like in a standard escape function is that, being shared,
it would be more tested, and could be improved in case it’s incorrect so
that to fulfill the needed usecase (I only did try all the
non-alphabetical ascii characters to see if they were doing errors when
unescaped), and being that tested, and giving the impression it is
tested or going to be, maybe users would feel more confident of using
it, and quoting their variables: the problem here is not only of
filenames with spaces, but also of void filenames, for better error
detection.

Also I noticed recursivity isn’t that natural with make, not without
something such as car and cdr: my lastwords function play this role but
maybe I’m missing something and most people do it differently…  Would
you think something like it or that would allow the same things more
naturally could go inside make as a new text function?



reply via email to

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