 				
 				(?:
 					# One-character built-in comparison name
-					([note])         # 4: constant.language.comparison-name.builtin.$4.roff
+					([note])         # 4: constant.language.builtin-comparison.$4.roff
+					
+					|
+					
+					# GNU extensions
+					([cdfmrs])       # 5: constant.language.builtin-comparison.$5.gnu.roff
+					
+					# Name being validated
+					[ \t]*
+					((?:[^ \\t\\\\]|\\\\(?!["#]).)+) # 6: Include “#escapes”
 					
 					|
 					
 					# Arithmetic
-					(                # 5: meta.equation.roff
+					(                # 7: meta.equation.roff
 						
 						# Starts with a bracket
-						(\\()        # 6: punctuation.definition.begin.roff
-						(.*?)        # 7: Include “#arithmetic”
-						(\\))        # 8: punctuation.definition.end.roff
+						(\\()        # 8:  punctuation.definition.begin.roff
+						(.*?)        # 9:  Include “#arithmetic”
+						(\\))        # 10: punctuation.definition.end.roff
 						
 						# Anything else affixed to it
-						(            # 9: Include “#arithmetic”
+						(            # 11: Include “#arithmetic”
 							(?:
 								[^\\s\\(] | # Operators/numbers
 								\\(.*?\\)   # More brackets

						# Doesn’t start with a bracket
						(?:
							# Starts with a long-form string/register
							(\\\\+[n*]\\(\\S{2}) # 10: Include “#escapes”
							|
							# Starts with a digit or backslash
							(?=\\d|\\\\)
						)
						([^\\s\\(]*) # 11: Sandwiched mathematical junk
						
						(?: # Possible embedded brackets
							(\\()    # 12: punctuation.definition.begin.roff
							(.*?)    # 13: Include “#arithmetic”
							(\\))    # 14: punctuation.definition.end.roff
						)?
						(?: # Possible trailing digits/operators
							[^\\s\\(]*?

					|
					
					# String/variable comparison
					([^\\d\\s\\\\])  # 17: punctuation.definition.string.begin.roff
					(                # 18: variable.parameter.operand.left.roff
						(.*?)        # 19: Include “#escapes”
					)
					(\\17)           # 20: punctuation.definition.string.roff
					(                # 21: variable.parameter.operand.right.roff
						(.*?)        # 22: Include “#escapes”
					)
					(\\17)           # 23: punctuation.definition.string.end.roff
					
					|
					
					# Anything not recognised
					(\\S)            # 24: meta.operand.single.roff
				)?
				
				(.*)                 # 25: Include “#conditional-innards”
			"""
			end: "$"
			beginCaptures:
