[Issue 8 drafts 0001471]: Add an orthogonal interface for immediate macro expansion definitions to make
A NOTE has been added to this issue. == https://www.austingroupbugs.net/view.php?id=1471 == Reported By:joerg Assigned To: == Project:Issue 8 drafts Issue ID: 1471 Category: Shell and Utilities Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:make Page Number:2888- Line Number:97001- Final Accepted Text: == Date Submitted: 2021-05-16 12:15 UTC Last Modified: 2021-07-23 17:27 UTC == Summary:Add an orthogonal interface for immediate macro expansion definitions to make == -- (0005415) joerg (reporter) - 2021-07-23 17:27 https://www.austingroupbugs.net/view.php?id=1471#c5415 -- The bmake Changelog mentions a modification that $$ was preserved when using := starting from 2016-02-17 and the comment does not include a hint that this was related to gmake. Two days later, .MAKE.SAVE_DOLLARS was introduced and the default was set to false to achieve compatibility with older versions. Given that := did exist in smake and bmake since a longer time without that $$ exception, it is obvious that not expanding $$ is only needed in very rare corner cases. The oldest version of bsd make in the netbsd version control is from 1993 and already supports the := assignment. Smake started to support := 10 years later. Issue History Date ModifiedUsername FieldChange == 2021-05-16 12:15 joerg New Issue 2021-05-16 12:15 joerg Name => Jörg Schilling 2021-05-16 12:15 joerg Section => make 2021-05-16 12:15 joerg Page Number => 2888- 2021-05-16 12:15 joerg Line Number => 97001- 2021-05-16 14:35 shware_systems Note Added: 0005356 2021-05-16 17:18 psmith Note Added: 0005357 2021-05-16 19:02 shware_systems Note Added: 0005358 2021-05-16 19:12 kreNote Added: 0005359 2021-05-16 19:49 shware_systems Note Added: 0005360 2021-05-16 21:26 joerg Note Added: 0005361 2021-05-16 21:27 joerg Note Edited: 0005361 2021-05-22 19:02 psmith Note Added: 0005363 2021-07-08 16:43 geoffclare Note Added: 0005393 2021-07-08 16:57 hvdNote Added: 0005394 2021-07-08 19:30 steffenNote Added: 0005395 2021-07-08 19:32 steffenNote Added: 0005396 2021-07-08 20:01 kreNote Added: 0005397 2021-07-08 20:21 steffenNote Added: 0005398 2021-07-08 20:34 steffenNote Added: 0005399 2021-07-08 21:15 kreNote Added: 0005400 2021-07-08 22:33 steffenNote Added: 0005401 2021-07-08 22:33 steffenNote Added: 0005402 2021-07-10 12:30 joerg Note Added: 0005403 2021-07-10 18:03 psmith Note Added: 0005404 2021-07-10 21:26 mirabilos Note Added: 0005405 2021-07-15 14:51 joerg Note Added: 0005406 2021-07-15 14:52 joerg Note Edited: 0005406 2021-07-17 10:35 joerg Note Added: 0005407 2021-07-18 03:22 psmith Note Added: 0005408 2021-07-19 08:43 geoffclare Note Added: 0005409 2021-07-19 12:30 steffenNote Added: 0005410 2021-07-19 13:41 joerg Note Added: 0005411 2021-07-19 13:55 steffenNote Added: 0005412
[Issue 8 drafts 0001471]: Add an orthogonal interface for immediate macro expansion definitions to make
A NOTE has been added to this issue. == https://austingroupbugs.net/view.php?id=1471 == Reported By:joerg Assigned To: == Project:Issue 8 drafts Issue ID: 1471 Category: Shell and Utilities Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section:make Page Number:2888- Line Number:97001- Final Accepted Text: == Date Submitted: 2021-05-16 12:15 UTC Last Modified: 2021-07-23 09:45 UTC == Summary:Add an orthogonal interface for immediate macro expansion definitions to make == -- (0005414) geoffclare (manager) - 2021-07-23 09:45 https://austingroupbugs.net/view.php?id=1471#c5414 -- In yesterday's call we discussed whether, if we standardise BSD/bmake := as :::=, we would do so with or without $$ being preserved. Previously I had thought that if we went with the non-preserving behaviour, we could add some APPLICATION USAGE advising users to put in values assigned with :::= in order to yield a single $ when expanded at use time. However, I now see that this only works for the simple case where a macro is used directly in a rule. If there are any intervening := assignments, they each add another level of re-evaluation:$ printf 'A := \nB := $(A)\nall:\n\techo $(B)\n' | bmake -f - echo $ $ $ printf 'A := \nB := $(A)\nC := $(B)\nall:\n\techo $(C)\n' | bmake -f - echo $ $ Worse still, if there are two rules that end up using the macro via different numbers of intervening := assignments, it is impossible to put a string of $'s in the original value that will end up as a single $ in both rules (unless a single $ in the original value wouldn't have been expanded anyway). This problem is presumably why .MAKE.SAVE_DOLLARS was added. The behaviour with it true seems greatly preferable to me, and I think the standard should require it for :::= (if we add it), although without specifying .MAKE.SAVE_DOLLARS. This would leave BSD/bmake implementors with two choices in order to conform: 1. Have :::= not be identical to :=, in that it is not affected by .MAKE.SAVE_DOLLARS but instead always preserves $$. 2. Have :::= be identical to :=, with .MAKE.SAVE_DOLLARS=true as the default (at least for makefiles that contain a .POSIX target). I would like to hear what BSD/bmake implementors and users think about this. Issue History Date ModifiedUsername FieldChange == 2021-05-16 12:15 joerg New Issue 2021-05-16 12:15 joerg Name => Jörg Schilling 2021-05-16 12:15 joerg Section => make 2021-05-16 12:15 joerg Page Number => 2888- 2021-05-16 12:15 joerg Line Number => 97001- 2021-05-16 14:35 shware_systems Note Added: 0005356 2021-05-16 17:18 psmith Note Added: 0005357 2021-05-16 19:02 shware_systems Note Added: 0005358 2021-05-16 19:12 kreNote Added: 0005359 2021-05-16 19:49 shware_systems Note Added: 0005360 2021-05-16 21:26 joerg Note Added: 0005361 2021-05-16 21:27 joerg Note Edited: 0005361 2021-05-22 19:02 psmith Note Added: 0005363 2021-07-08 16:43 geoffclare Note Added: 0005393 2021-07-08 16:57 hvdNote Added: 0005394 2021-07-08 19:30 steffenNote Added: 0005395 2021-07-08 19:32 steffenNote Added: 0005396 2021-07-08 20:01 kreNote Added: 0005397 2021-07-08 20:21 steffenNote Added: 0005398 2021-07-08 20:34 steffenNote Added: 0005399 2021-07-08 21:15 kreNote Added:
Minutes of the 22nd July 2021 Teleconference
All Enclosed the minutes from yesterday’s meeting. Also note that three status reports have been added to the document register, http://www.opengroup.org/austin/docreg.html Austin/1148 TXT Andrew JoseyAustin Group Status/1003.1 Status Report July 2021 Austin/1147 TXT Andrew JoseyAustin Group Organizational Representative Report July 2021 Austin/1146 TXT Andrew Josey9945 Project Editor Status Report July 2021 regards Andrew -- Minutes of the 22nd July 2021 Teleconference Austin-1149 Page 1 of 1 Submitted by Andrew Josey, The Open Group. 23rd July 2021 Attendees: John Long, Logitech Joerg Schilling Don Cragun, IEEE PASC OR Andrew Josey, The Open Group Geoff Clare, The Open Group Tom Thompson, IEEE Mark Ziegast, SHware Systems Dev. Richard Hansen Apologies: Nick Stoughton, USENIX, ISO/IEC JTC 1/SC 22 OR Eric Ackermann, HPI, University of Potsdam Eric Blake, Red Hat, The Open Group OR * General news This was a call dedicated to Issue 8 D2 bugs. * Outstanding actions (Please note that this section has been flushed to shorten the minutes - to locate the previous set of outstanding actions, look to the minutes from 13th June 2019 and earlier) Bug 1254: "asynchronous list" description uses "command" instead of "AND-OR list" OPEN https://austingroupbugs.net/view.php?id=1254 Action: Joerg to investigate how his shell behaves. Bug 713 - Nick to raise with the C committee. This item raised in Austin/1129 and submitted to the C committee in May 2021. * Current Business Bug 1471: Add an orthogonal interface for immediate macro expansion definitions to make OPEN https://www.austingroupbugs.net/view.php?id=1471 We continued this item, with notes in the etherpad. We will continue on the next Thursday call The next call will be a gettext call. The gettext draft in the etherpad is at https://posix.rhansen.org/p/gettext_draft https://posix.rhansen.org/p/gettext_split The next D2 bugs call will be July 29th Next Steps -- The next calls are on: Mon 2021-07-26 Gettext This call will be for 90 minutes. Thu 2020-07-29 (D2 & general bugs) This call will be for 90 minutes. Mon 2021-08-02 Gettext This call will be for 90 minutes. Calls are anchored on US time. (8am Pacific) Apologies in advance: Nick Stoughton, 2021-07-26 and 2021-07-29 Geoff Clare, 2021-07-26 Andrew Josey, 2021-07-29, 2021-08-02 Please check the calendar invites for dial in details. Bugs are at: https://austingroupbugs.net An etherpad is usually up for the meeting, with a URL using the date format as below: https://posix.rhansen.org/p/20xx-mm-dd (For write access this uses The Open Group single sign on, for those individuals with gitlab.opengroup.org accounts. Please contact Andrew if you need to be setup) Andrew JoseyThe Open Group Austin Group Chair Email: a.jo...@opengroup.org Apex Plaza, Forbury Road,Reading,Berks.RG1 1AX,England To learn how we maintain your privacy, please review The Open Group Privacy Statement at http://www.opengroup.org/privacy. To unsubscribe/opt-out from this mailing list login to The Open Group collaboration portal at https://collaboration.opengroup.org/operational/portal.php?action=unsub=2481