Module Name: src Committed By: rillig Date: Sat Dec 19 12:48:59 UTC 2020
Modified Files: src/usr.bin/make: parse.c Log Message: make(1): document enum GetLineMode To generate a diff of this commit: cvs rdiff -u -r1.494 -r1.495 src/usr.bin/make/parse.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/make/parse.c diff -u src/usr.bin/make/parse.c:1.494 src/usr.bin/make/parse.c:1.495 --- src/usr.bin/make/parse.c:1.494 Sat Dec 19 12:24:46 2020 +++ src/usr.bin/make/parse.c Sat Dec 19 12:48:59 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.494 2020/12/19 12:24:46 rillig Exp $ */ +/* $NetBSD: parse.c,v 1.495 2020/12/19 12:48:59 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -117,7 +117,7 @@ #include "pathnames.h" /* "@(#)parse.c 8.3 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: parse.c,v 1.494 2020/12/19 12:24:46 rillig Exp $"); +MAKE_RCSID("$NetBSD: parse.c,v 1.495 2020/12/19 12:48:59 rillig Exp $"); /* types and constants */ @@ -2790,8 +2790,30 @@ UnescapeBackslash(char *const line, char } typedef enum GetLineMode { + /* + * Return the next logical line that is neither empty nor a comment. + * Backslash line continuations are folded into a single space. + * A trailing comment, if any, is discarded. + */ PARSE_NORMAL, + + /* + * Return the next physical line, even if it ends with a backslash. + * Comments and empty lines are preserved. + * + * Used in .for loops to collect the body of the loop while waiting + * for the corresponding .endfor. + */ PARSE_RAW, + + /* + * Return the next logical line that is a directive. + * Backslash line continuations are folded into a single space. + * A trailing comment, if any, is discarded. + * + * Used in .if directives to skip over irrelevant branches while + * waiting for the corresponding .endif. + */ PARSE_SKIP } GetLineMode;