Austin Group Defect Tracker

Aardvark Mark IV


Viewing Issue Simple Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Type Date Submitted Last Update
0000505 [1003.1(2008)/Issue 7] Shell and Utilities Objection Omission 2011-11-10 17:35 2019-06-10 08:55
Reporter geoffclare View Status public  
Assigned To ajosey
Priority normal Resolution Accepted As Marked  
Status Closed  
Name Geoff Clare
Organization The Open Group
User Reference
Section make
Page Number 2911
Line Number 95639
Interp Status Approved
Final Accepted Text See Note: 0001210
Summary 0000505: Blank and empty lines in makefiles
Description The EXTENDED DESCRIPTION of the make utility omits any mention
of how blank lines are handled, except to say that they may begin
a new target entry. Much the same is true for empty lines (there
is an additional mention on line 95656).
Desired Action After:

    A makefile can contain rules, macro definitions (see Macros, on
    page 2914), include lines, and comments.

add a new sentence:

    Empty lines and blank lines shall be ignored, except where
    specified otherwise.

On line 95656 change "empty lines" to "empty or blank lines".
Tags tc2-2008
Attached Files

- Relationships
related to 0000509Closedajosey make's INPUT FILES section not updated when include lines were added 

-  Notes
(0001007)
Don Cragun (manager)
2011-11-11 00:35

The desired action for this still bug leaves several holes in what would be
expected to be valid makefiles. As currently defined, input files (i.e.
makefiles) have never been allowed to contain empty lines or blank lines.
See also bug 0000509.

Furthermore, I would expect that comment lines starting with # at the
start of a makefile should be allowed to have an empty line or a blank
line before the special target .POSIX is given.

I think we would be better off just redefining the "comment" to include blank
lines and empty lines.

I will add another note later with an alternative set of changes.
(0001208)
Don Cragun (manager)
2012-04-17 22:37
edited on: 2012-04-17 22:38

Here is my proposal to resolve this issue. It completely replaces the Desired Action proposed by the submitter.

Change the last sentence on P2911, L95644-95645 from:
comment
        Comments start with a <number-sign> (’#’) and continue until an
        unescaped <newline> is reached.
to:
        There are three kinds of comments: blank lines, empty lines, and
        a <number-sign> ('#') and all following characters up to the
        first unescaped <newline> character.  Blank lines, empty lines, 
        and lines with <number-sign> ('#') as the first character on the
        line are also known as comment lines.

Change "empty lines, and comments" on P2911, L95656 to "and comments".

Change:
        The trailing <newline> and any comment shall be discarded.
on P2912, L95671 to:
        The trailing <newline>, any <blank> characters immediately
        preceeding a comment, and any comment shall be discarded.

Change:
        An empty or blank line, or a line beginning with ’#’, may begin 
        a new entry.
on P2913, L95722 to:
        Any comment line may begin a new entry.

Change:
        The algorithm for determining a new entry for target rules is
        partially unspecified. Some historical makes allow blank, empty, 
        or comment lines within the collection of commands marked by
        leading <tab> characters.  A conforming makefile must ensure
        that each command starts with a <tab>, but implementations are
        free to ignore blank, empty, and comment lines without 
        triggering the start of a new entry. 
on P2926, L96289-96293 to:
        The algorithm for determining a new entry for target rules is
        partially unspecified. Some historical makes allow comment lines
        (including blank and empty lines)  within the collection of
        commands marked by leading <tab> characters.  A conforming
        makefile must ensure that each command starts with a <tab>, but
        implementations are free to ignore comments without triggering
        the start of a new entry.

Add a new paragraph to RATIONALE after P2928, L96368:
        Earlier versions of this standard defined comment lines only as
        lines with '#' as the first character.  Many places then talked
        about comments, blank lines, and empty lines; but some places
        inadvertently only mentioned comments when blank lines and empty
        lines had also been accepted in all known implementations.  The
        standard now defines comment lines to be blank lines, empty
        lines, and lines starting with a '#' character and explictily
        lists cases where blank lines and empty lines are not
        acceptable.


(0001210)
Don Cragun (manager)
2012-04-19 15:44

Interpretation response
------------------------
The standard is unclear on this issue, and no conformance distinction can be made between alternative implementations based on this. This is being referred to the sponsor.

Rationale:
-------------
The standard as currently written doesn't allow blank lines and empty lines in places where all known implementations have allowed them to appear. These changes more accurately reflect existing practice.

Notes to the Editor (not part of this interpretation):
Make the changes specified in Note: 0001208
(0001294)
ajosey (manager)
2012-06-29 16:17

Interpretation proposed 29 June 2012 for final 45 day review
(0001357)
ajosey (manager)
2012-08-30 09:16

Interpretation approved 30 Aug 2012

- Issue History
Date Modified Username Field Change
2011-11-10 17:35 geoffclare New Issue
2011-11-10 17:35 geoffclare Status New => Under Review
2011-11-10 17:35 geoffclare Assigned To => ajosey
2011-11-10 17:35 geoffclare Name => Geoff Clare
2011-11-10 17:35 geoffclare Organization => The Open Group
2011-11-10 17:35 geoffclare Section => make
2011-11-10 17:35 geoffclare Page Number => 2911
2011-11-10 17:35 geoffclare Line Number => 95639
2011-11-10 17:35 geoffclare Interp Status => ---
2011-11-11 00:12 Don Cragun Relationship added related to 0000509
2011-11-11 00:35 Don Cragun Note Added: 0001007
2011-12-07 23:24 dwheeler Issue Monitored: dwheeler
2012-04-17 22:37 Don Cragun Note Added: 0001208
2012-04-17 22:38 Don Cragun Note Edited: 0001208
2012-04-19 15:44 Don Cragun Note Added: 0001210
2012-04-19 15:44 Don Cragun Status Under Review => Interpretation Required
2012-04-19 15:44 Don Cragun Resolution Open => Accepted As Marked
2012-04-19 15:44 Don Cragun Final Accepted Text => See Note: 0001210
2012-04-19 15:45 Don Cragun Interp Status --- => Pending
2012-04-19 15:46 Don Cragun Tag Attached: tc2-2008
2012-06-29 16:17 ajosey Interp Status Pending => Proposed
2012-06-29 16:17 ajosey Note Added: 0001294
2012-08-30 09:16 ajosey Interp Status Proposed => Approved
2012-08-30 09:16 ajosey Note Added: 0001357
2019-06-10 08:55 agadmin Status Interpretation Required => Closed


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker