From 5b7da5c261d1af1a5d6a275e1090b07de3654033 Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Tue, 8 Oct 2024 20:25:18 +0900 Subject: [PATCH] Doc: add check to detect non-breaking spaces in the docs. There were multiple instances where accidentally adding non-breaking space (nbsp, U+00A0, 0xc2a0 in UTF-8) to sgml files. This commit adds additional checking to detect nbsp. You can check the nbsp by: make -C doc/src/sgml check or make -C doc/src/sgml check-nbsp Authors: Yugo Nagata, Daniel Gustafsson Reviewed-by: Tatsuo Ishii, Daniel Gustafsson Discussion: https://postgr.es/m/20240930.153404.202479334310259810.ishii%40postgresql.org --- doc/src/sgml/Makefile | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/Makefile b/doc/src/sgml/Makefile index 9c9bbfe375..65ed32cd0a 100644 --- a/doc/src/sgml/Makefile +++ b/doc/src/sgml/Makefile @@ -194,7 +194,7 @@ MAKEINFO = makeinfo ## # Quick syntax check without style processing -check: postgres.sgml $(ALLSGML) check-tabs +check: postgres.sgml $(ALLSGML) check-tabs check-nbsp $(XMLLINT) $(XMLINCLUDE) --noout --valid $< @@ -257,7 +257,15 @@ endif # sqlmansectnum != 7 # tabs are harmless, but it is best to avoid them in SGML files check-tabs: - @( ! grep ' ' $(wildcard $(srcdir)/*.sgml $(srcdir)/ref/*.sgml $(srcdir)/*.xsl) ) || (echo "Tabs appear in SGML/XML files" 1>&2; exit 1) + @( ! grep ' ' $(wildcard $(srcdir)/*.sgml $(srcdir)/ref/*.sgml $(srcdir)/*.xsl) ) || \ + (echo "Tabs appear in SGML/XML files" 1>&2; exit 1) + +# Non-breaking spaces are harmless, but it is best to avoid them in SGML files. +# Use perl command because non-GNU grep or sed could not have hex escape sequence. +check-nbsp: + @ ( $(PERL) -ne '/\xC2\xA0/ and print("$$ARGV:$$_"),$$n++; END {exit($$n>0)}' \ + $(wildcard $(srcdir)/*.sgml $(srcdir)/ref/*.sgml $(srcdir)/*.xsl) ) || \ + (echo "Non-breaking spaces appear in SGML/XML files" 1>&2; exit 1) ## ## Clean