Minutes of the 25th July 2022 Teleconference Austin-1242 Page 1 of 1 Submitted by Andrew Josey, The Open Group. 26th July 2022 Attendees: Don Cragun, IEEE PASC OR Nick Stoughton, Logitech/USENIX, ISO/IEC JTC 1/SC 22 OR Geoff Clare, The Open Group Eric Blake, Red Hat, The Open Group OR (partial) Mark Ziegast, SHware Systems Dev. Eric Ackermann, HPI, University of Potsdam Apologies Andrew Josey, The Open Group * General news This was a call dedicated to general bugs. * Current Business Bug 1122: POSIX should include gettext() and friends OPEN and https://posix.rhansen.org/p/gettext_draft Also https://austingroupbugs.net/file_download.php?file_id=64&type=bug Geoff's addition to XRAT appendix E was noted. A new PDF will be needed, but we will wait for more comments first. To be discussed again when more comments are raised. Bug 1560: clarify wording of command substitution https://austingroupbugs.net/view.php?id=1560 Leave this and related bugs 1561 and 1564 open awaiting reviews/discussion. Bug 1273: glob()'s GLOB_ERR/errfunc and non-directory files OPEN https://austingroupbugs.net/view.php?id=1273 We will leave this open awaiting feedback. BUG 1037: The grammar for here documents misses the data body and the final EOF condition Rejected https://austingroupbugs.net/view.php?id=1037 The absence of the here-document body (and end marker) from the grammar is intentional. See XRAT C.2.10: "Note that the body of here-documents are handled by token recognition (see XCU Section 2.3, on page 2347) and do not appear in the grammar directly. (However, the here-document I/O redirection operator is handled as part of the grammar.)" BUG 1026: The shell should support access to all 32 bit from the exit code Rejected https://austingroupbugs.net/view.php?id=1026 This feature is not implemented in most conforming shells. Therefore, this bug is rejected. If other shells do implement this feature, please resubmit this bug for inclusion in a future revision of the standard. Bug 1025: set description contains counterproductive claims Rejected https://austingroupbugs.net/view.php?id=1025 This feature is not implemented in most conforming shells. Therefore, this bug is rejected. If other shells do implement this feature, please resubmit this bug for inclusion in a future revision of the standard. If this does happen, we suggest something like adding a -F option to type. Bug 1007: iconv function not allowed to fail to convert valid sequences Accepted as Marked https://austingroupbugs.net/view.php?id=1007 This item is tagged with an Issue 8 tag Change: If a sequence of input bytes does not form a valid character in the specified codeset, conversion shall stop after the previous successfully converted character. to: If a sequence of input bytes does not form a valid character or shift sequence in the input codeset: If the //IGNORE indicator suffix was specified when the conversion descriptor cd was opened and the byte sequence is immediately followed by a valid character or shift sequence, the sequence of bytes shall be discarded and conversion shall continue from the immediately following valid character or shift sequence. This shall not be treated as an error. If the //IGNORE indicator suffix was not specified when the conversion descriptor cd was opened, conversion shall stop after the previous successfully converted character or shift sequence. On page 1109 line 37323 section iconv() Change: If iconv() encounters a character in the input buffer that is valid, but for which an identical character does not exist in the target codeset, iconv() shall perform an implementation-defined conversion on this character. to: If iconv() encounters a character in the input buffer that is valid, but for which an identical character does not exist in the output codeset: If either the //IGNORE or the //NON_IDENTICAL_DISCARD indicator suffix was specified when the conversion descriptor cd was opened, the character shall be discarded but shall still be counted in the return value of the iconv() call. If the //TRANSLIT indicator suffix was specified when the conversion descriptor cd was opened, an implementation-defined transliteration shall be performed, if possible, to convert the character into one or more characters of the output codeset that best resemble the input character. The character shall be counted as one character in the return value of the iconv() call, regardless of the number of output characters. If no indicator suffix was specified when the conversion descriptor cd was opened, or the //TRANSLIT indicator suffix was specified but no transliteration of the character is possible, iconv() shall perform an implementation-defined conversion on the character and it shall be counted in the return value of the iconv() call. On page 1109 line 37327 section iconv() Change: The iconv() function shall update the variables pointed to by the arguments to reflect the extent of the conversion and return the number of non-identical conversions performed. If the entire string in the input buffer is converted, the value pointed to by inbytesleft shall be 0. to: The iconv() function shall update the variables pointed to by the arguments to reflect the extent of the conversion and shall return the number of input characters that could not be converted to an identical output character. If the entire string in the input buffer is converted, except for any byte sequences discarded as a result of the //IGNORE indicator suffix, the value pointed to by inbytesleft shall be 0. On page 1110 line 37364 section iconv() Add a new paragraph to APPLICATION USAGE: When the //IGNORE indicator suffix was used to open the conversion descriptor, iconv() does not provide any indication of whether any invalid input byte sequences were discarded. Applications which need to detect the discarding of invalid input byte sequences can open the conversion descriptor without using //IGNORE and then call iconv() in a loop such that if it returns an EILSEQ error, the application increments the variable pointed to by inbuf and decrements the variable pointed to by inbytesleft before the next call. This technique can also be used by applications which need to use //TRANSLIT but also discard invalid input byte sequences. On page 1113 line 37421 section iconv_open() Change: Settings of fromcode and tocode and their permitted combinations are implementation-defined. to: The codeset names that can be specified in fromcode and tocode and their permitted combinations are implementation-defined. Any one of the following indicator suffixes can be appended to the codeset name in tocode: //NON_IDENTICAL_DISCARD Discard input characters for which an identical character does not exist in the output codeset. //IGNORE Discard input bytes that do not form a valid character or shift sequence, and discard input characters for which an identical character does not exist in the output codeset. //TRANSLIT Transliterate input characters for which an identical character does not exist in the output codeset into one or more characters of the output codeset that best resemble the input character. See the description of iconv() for details of how these indicator suffixes alter the conversion performed by iconv(). Additional implementation-defined indicator suffixes may be supported. On page 1113 line 37434 section iconv_open() Change the EINVAL description from: The conversion specified by fromcode and tocode is not supported by the implementation. to: Conversion from the codeset specified in fromcode to the codeset specified in tocode is not supported by the implementation, or the codeset name in tocode is followed by an indicator suffix that is unrecognized or not supported. On page 1113 line 37445 section iconv_open() Add a new paragraph to APPLICATION USAGE: Some implementations of iconv_open() allow appending multiple indicator suffixes to the codeset name in tocode, and some allow appending an indicator suffix (or suffixes) in both fromcode and tocode. Portable applications should append at most one indicator suffix, and append it only in tocode. Bug 883: Provide Robust pthread_rwlock_t modifiers Rejected https://austingroupbugs.net/view.php?id=883 Since there has been no activity since the procedures in SD6 were provided, this bug is rejected. Bug 864: Insufficient specification of storage requirements for synchronization objects OPEN ://austingroupbugs.net/view.php?id=864 This was discussed in the July 25, 2022 teleconference. We believe that items 1 and 4 may have already been addressed by the addition of XSH 2.9.9 in TC2. Items 2 and 3 could perhaps be dealt with by adding more text to that section, but we need proposed wording. Bug 851: pthread_atfork orphans handlers in unloaded shared libraries OPEN https://austingroupbugs.net/view.php?id=851 We will pick up on this item next time. Next Steps ---------- The next calls are on: Thu 2022-07-28 (general bugs) Mon 2022-08-01 (general bugs) gettext is complete, but may be discussed again if comments are added The calls are for 90 minutes Calls are anchored on US time. (8am Pacific) 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)