From 0b2833eaf2f21f0d70cee07eea39e139fd5ce1ef Mon Sep 17 00:00:00 2001 From: Robert Collins Date: Thu, 6 Aug 2015 21:08:44 +1200 Subject: [PATCH] Issue #24531: Document that encoding lines cannot follow non-comment lines. Patch from Terry Reedy --- Doc/reference/lexical_analysis.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Doc/reference/lexical_analysis.rst b/Doc/reference/lexical_analysis.rst index 373be166753..a1265cfad1e 100644 --- a/Doc/reference/lexical_analysis.rst +++ b/Doc/reference/lexical_analysis.rst @@ -81,7 +81,9 @@ Encoding declarations If a comment in the first or second line of the Python script matches the regular expression ``coding[=:]\s*([-\w.]+)``, this comment is processed as an encoding declaration; the first group of this expression names the encoding of -the source code file. The recommended forms of this expression are :: +the source code file. The encoding declaration must appear on a line of its +own. If it is the second line, the first line must also be a comment-only line. +The recommended forms of an encoding expression are :: # -*- coding: -*- @@ -98,7 +100,7 @@ among others, by Microsoft's :program:`notepad`). If an encoding is declared, the encoding name must be recognized by Python. The encoding is used for all lexical analysis, including string literals, comments -and identifiers. The encoding declaration must appear on a line of its own. +and identifiers. .. XXX there should be a list of supported encodings.