From 86ed0465f88f5961f0a68d8f9a75bbc58cac48e8 Mon Sep 17 00:00:00 2001 From: "C. Scott Ananian" Date: Thu, 22 Dec 2016 14:19:23 -0500 Subject: [PATCH] Further "custom format" spec tweaks. Change how newlines are handled in the EndFormat production. Change-Id: Iae5181e65c7afe25810406a39f387f0c1f3cb1b3 --- Specification.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Specification.md b/Specification.md index 57aea755..f0c38218 100644 --- a/Specification.md +++ b/Specification.md @@ -296,9 +296,9 @@ To format a template invocation according to the format string, first split it i Begin with `StartFormat`, and replace the `Hole` with the name of the template to create the "output string". If `StartFormat` begins with a newline and template is already at the start of a line (the character preceding this template invocation is a newline or the template is at the start of the output), delete the initial newline from the output string. -For each parameter, append the `ParameterFormat` to the output string after replacing the first `Hole` with the name of the parameter and the second `Hole` with the value of the parameter. +For each parameter, if `ParameterFormat` begins with a newline and the last character in the output string is a newline, then delete the last character in the output string. Then append `ParameterFormat` to the output string after replacing the first `Hole` with the name of the parameter and the second `Hole` with the value of the parameter. -Finally, append the `EndFormat` to the output string. +Finally, if `EndFormat` begins with a newline and the last character in the output string is a newline, then delete the last character in the output string. Append the `EndFormat` to the output string. Some example format strings: