WG15 Defect Report Ref: 9945-2-70
Topic: message format of POSIX.2 utilities in C locale

This is an approved interpretation of 9945-2:1993.


Last update: 1997-05-20



	Topic:			message format of POSIX.2 utilities in C locale
	Relevant Sections:	various

Defect Report:

	From: andrew@novell.co.uk (Andrew Josey)
	Date: Tue, 26 Jul 1994 11:16:35 +0100

Dear Standards Board,

	I would like to an request official, binding interpretation
	from the WG15 concerning the following point in ISO/IEC
	9945-2:1993 (POSIX.2).

	ISO/IEC 9945-2:1993  states particular message formats
	for utility output on standard output and standard error
	for the POSIX locale. This matter is of particular interest
	since it will effect how this section of POSIX.2 is tested.

	An  example follows; section utility cmp states "... the
	following diagnostic message shall be written in the POSIX

	"cmp: EOF on %s%s\n", <name of shorter file>, <additional info>"

	This would seem to preclude implementations that 

	(a) Choose their default POSIX locale to be that other 
	than American English


	(b) Choose to use an enhanced error message format that
	gives additional information including the above message;
	for example:

	UX:cmp: INFO: EOF on example1.txt  

	Are implementations that take approaches (a) and/or (b) conformant?
	I'd like to propose that they are. This ruling would also apply
	to other similar wording within POSIX.2.
Thank you for your attention to this matter.

WG15 response for 9945-2:1993 

The POSIX locale requires particular message formats for some of the
standard utilities.  When those standard utilities are invoked in an
environment in which the LC_MESSAGES category is "C" or "POSIX", the
required messages for the POSIX locale must be used.  Therefore,
implementations that take approach (a) or (b), where the messages are not
formatted as required for the POSIX locale, are not conformant.

When the invocation environment for the LC_MESSAGES category is other
than the POSIX locale, and in particular, when none of the LANG, LC_ALL,
or LC_MESSAGES environment variables is set to a valid locale name,
implementations may choose to use a default error message format that
gives additional (or otherwise differently formatted) information.
Therefore, implementations that take approach (b) under those
circumstances could be conformant.

The standard clearly states the behaviour for message formats and conforming
implementations must conform to this.

Rationale for Interpretation:

Forwarded to Interpretations group: 26 Jul 94

Proposed resolution sent for review: 19th Nov 94
Resolved: 10th Dec 94