In article <20160220065832.ga9...@netbsd.org>, David Holland <dholland-sourcechan...@netbsd.org> wrote: >On Sat, Feb 20, 2016 at 01:19:03AM +0000, Simon J. Gerraty wrote: > > Modified Files: > > src/usr.bin/make: [lots of very random stuff] > >Was any of this discussed anywhere?
Yes, we discussed it privately. The short explanation is: The previous fix to avoid eating $'s in := assignments broken some uses that were legitimate: 1. export environment changes .export-literal: Previously there was no way to export variables into the environment without having their values expanded. It is useful for sub-makes to be able to pass such variables unexpanded and have the sub-make expand them. 2. SAVE_DOLLARS: There were some complex use cases that took advantage of the previous $$ -> $ behavior of := that broke. Although it is unclear if there is a better way to do this, the expedient method was to provide a knob to enable or disable the behavior. We are going to revisit this. As for the variable name, we discussed better names, but we both thought that SAVE_DOLLARS was funny so we kept it. christos