Minutes of the 27th November 2023 Teleconference Austin-1364 Page 1 of 1 Submitted by Andrew Josey, The Open Group. 28th November 2023 Attendees: Nick Stoughton, Logitech/USENIX, ISO/IEC JTC 1/SC 22 OR Don Cragun, IEEE PASC OR Eric Blake, Red Hat, The Open Group OR Eric Ackermann, HPI, University of Potsdam Mark Ziegast, SHware Systems Dev. Andrew Josey, The Open Group Ahmet Acar Apologies Geoff Clare, The Open Group Tom Thompson, IEEE * General news Andrew noted that the action below to issue a status report is still open. We discussed the need for a general status report to be issued, describing where we are in the draft schedule and the cutoff for content to be considered into Issue 8. AI:Andrew to draft status report. * Current Business Note for issue resolution all items are tagged for Issue 8 unless noted otherwise or disposition is reject or duplicate. Bug 1777: inaccuracy in find example 10 Accepted as Marked. https://austingroupbugs.net/view.php?id=1777 This item is tagged for TC3-2008 Change on P2924 line 97768 (find EXAMPLES): searches the file hierarchy for files of size 100 000 KiB or larger to: searches the file hierarchy for files of size larger than 100 000 KiB Change on P2924, L97770 (find EXAMPLES): find / -path /media -prune -o -size +199999 -print to: find / −path /media −prune −o −size +200000 −print Bug 1778: The read utility needs field splitting updates/corrections )and a little more) Accepted as Marked https://austingroupbugs.net/view.php?id=1778 On page 3291 line 111859 section read, change: By default, unless the -r option is specified, shall act as an escape character. An unescaped shall preserve the literal value of the following character, with the exception of ... to: If the -r option is not specified, shall act as an escape character. An unescaped shall preserve the literal value of a following and shall prevent a following byte (if any) from being used to split fields, with the exception of ... On page 3291 line 111869 section read, replace the paragraph beginning The terminating logical line delimiter and continuing down past the three bullet points to line 11878 (inclusive) with the following: The terminating logical line delimiter (if any) shall be removed from the input. Then if the shell variable IFS (see [xref XCU 2.5.3]) is set, and its value is an empty string, the resulting data shall be assigned to the variable named by the first var operand, and the variables named by other var operands (if any) shall be set to the empty string. No other processing shall be performed in this case. If IFS is unset, or is set to any non-empty value, then a modified version of the field splitting algorithm specified in [xref XCU 2.6.5] shall be applied, with the modifications as follows: The input to the algorithm shall be the logical line (minus terminating delimiter) that was read from standard input, and shall be considered as a single initial field, all of which resulted from expansions, with any escaped byte and the preceding escape character treated as if they were the result of a quoted expansion, and all other bytes treated as if they were the results of unquoted expansions. The loop over the contents of that initial field shall cease when either the input is empty or n output fields have been generated, where n is one less than the number of var operands passed to the read utility. Any remaining input in the original field being processed shall be returned to the read utility ``unsplit''; that is, unmodified except that any leading or trailing IFS white space, as defined in [xref to XCU 2.6.5], shall be removed. The specified var operands shall be processed in the order they appear on the command line, and the output fields generated by the field splitting algorithm shall be used in the order they were generated, by repeating the following checks until neither is true: If more than one var operand is yet to be processed and one or more output fields are yet to be used, the variable named by the first unprocessed var operand shall be assigned the value of the first unused output field. If exactly one var operand is yet to be processed and there was some remaining unsplit input returned from the modified field splitting algorithm, the variable named by the unprocessed var operand shall be assigned the unsplit input. If there are still one or more unprocessed var operands, each of the variables names by those operands shall be assigned an empty string. Note that in the case where just one var operand is given on the read command line, the modified field splitting algorithm ceases after producing zero output fields and simply returns the original input field, with any leading and trailing IFS white space removed, as unsplit input. This unsplit input is assigned to the variable named by the var operand. On page 3292 line 111900 section read (OPERANDS), after: The name of an existing or nonexisting shell variable. append: If a var operand names the variable IFS, the behavior is unspecified. If a var operand names one of the variables LANG, LC_CTYPE, or LC_ALL and the new value assigned to the variable would change how the bytes in IFS form characters, or which characters in IFS are considered to be IFS white space (see [xref XCU 2.6.5]), it is unspecified what effects, if any, the change has on how read performs field splitting. On page 3292 line 111902 section read (STDIN), change: If the -d delim option is not specified, or if it is specified and delim consists of one single-byte character, the standard input shall contain zero or more characters and shall not contain any null bytes. to: If the -d delim option is not specified, or if it is specified and delim is not the null string, the standard input shall contain zero or more bytes (which need not form valid characters) and shall not contain any null bytes. On page 3293 line 111959 section read (APPLICATION USAGE), change: When the current locale is not the C or POSIX locale, pathnames can contain bytes that do not form part of a valid character, and therefore portable applications need to ensure that the current locale is the C or POSIX locale when using read with arbitrary pathnames as input. (If IFS is not set to the null string this applies even when using -d "", because the field splitting performed by read is a character-based operation.) When reading a pathname it is also inadvisable ... to: When reading a pathname it is inadvisable ... After page 3293 line 111967 section read (APPLICATION USAGE), add: Since the var operands are processed in the order specified on the command line, if any variable name is specified more than once as a var operand, the last assignment made is the one that is in effect when read returns, including when an empty string is assigned because no field data was available. On page 3293, lines 111979-111980, change: Since read affects the current shell execution environment, it is generally provided as a shell |regular built-in. to: Since read affects the current shell execution environment, it is required to be intrinsic. Next Steps ---------- We will start on bug 1787 next time. The next call is on: Thu 2023-11-30 (Zoom meeting - general bugs/ballot resolution) Mon 2023-12-04 (Zoom meeting - general bugs/ballot resolution) The calls are for 90 minutes Calls are anchored on US time. (8am Pacific) Please check the calendar invites for dial in details. Apologies in advance: Andrew Josey, 2023-11-30 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)