99e615846246a19fdb5d01fcea5dce49179dd2ba
braney
  Tue Sep 22 10:52:28 2026 -0700
htmlPage: parse valueless tag attributes such as SELECTED

The attribute name scanner read everything up to the next equals sign, so
<OPTION SELECTED value='any'> became a single attribute named "SELECTED
value".  A lookup for SELECTED then found nothing and the SELECT fell back
to its first option.  The same happened to CHECKED on a checkbox, and to the
src in <script async src=...>.  A name now ends at white space as well, with
a look-ahead so that spaces around the equals sign still work.

This is what put 21 soft errors in every hgNearTest robot run since v495.

refs #38413

diff --git src/lib/tests/expected/valuelessAttrs.out src/lib/tests/expected/valuelessAttrs.out
new file mode 100644
index 00000000000..5b65a9a2659
--- /dev/null
+++ src/lib/tests/expected/valuelessAttrs.out
@@ -0,0 +1,15 @@
+mainForm	GET	/cgi-bin/hgNear
+	logicFirst	SELECT	n/a	any
+		all
+		any
+	logicLast	SELECT	n/a	any
+		all
+		any
+	logicNoValue	SELECT	n/a	any
+		all
+		any
+	spaced	INPUT	TEXT	spacedValue
+	boxFirst	INPUT	CHECKBOX	on
+	boxLast	INPUT	CHECKBOX	on
+	disabledText	INPUT	TEXT	stillNamed
+	Submit	INPUT	SUBMIT	n/a