Skip to content

ANSI mouse "hot spots" are now somewhat broken

Here's an example, clicking 'J' on the default shell menu, in ANSI_Terminal::parse_input_sequence():

-		ansi	{ansi_sequence="\x1b[<0;30;8M" ansi_params="<0;30;8" ansi_ibs="" ...}	ANSI_Parser
+		ansi_sequence	"\x1b[<0;30;8M"	std::string
+		ansi_params	"<0;30;8"	std::string
+		ansi_ibs	""	std::string
		ansi_final_byte	77 'M'	char
		ansi_was_cc	false	bool
		ansi_was_string	false	bool
		ansi_was_private	true	bool
		state	ansiState_final (4)	ansiState

Ends up calling ANSI_Terminal::handle_SGR_mouse_sequence() where all the if () conditions evaluate to false, so it just returns false.

This was working before the terminal abstraction branch merge.